-parloop._loopfn.0 (.paral_data_param)
-{
- ...
-
-<L28>:;
- .paral_data_param_52 = .paral_data_param_75;
- .paral_data_load.48_48 = (struct .paral_data.46 *) .paral_data_param_52;
- D.2289_46 = .paral_data_load.48_48->D.2261;
- reduction.43_45 = .paral_data_load.48_48->reduction.38;
- x.45_47 = .paral_data_load.48_48->x.40;
- # SUCC: 23 [100.0%] (fallthru)
-
- # BLOCK 23
- # PRED: 21 [100.0%] (fallthru)
-<L30>:;
- D.2292_60 = __builtin_omp_get_num_threads ();
- D.2293_61 = (unsigned int) D.2292_60;
- D.2294_62 = __builtin_omp_get_thread_num ();
- D.2295_63 = (unsigned int) D.2294_62;
- D.2296_64 = D.2289_46 / D.2293_61;
- D.2297_65 = D.2293_61 * D.2296_64;
- D.2298_66 = D.2297_65 != D.2289_46;
- D.2299_67 = D.2296_64 + D.2298_66;
- D.2300_68 = D.2299_67 * D.2295_63;
- D.2301_69 = D.2299_67 + D.2300_68;
- D.2302_70 = MIN_EXPR <D.2301_69, D.2289_46>;
- ivtmp.41_54 = D.2300_68;
- if (D.2300_68 >= D.2302_70) goto <L31>; else goto <L32>;
- # SUCC: 26 [100.0%] (false) 24 (true)
-
- # BLOCK 26
- # PRED: 23 [100.0%] (false)
-<L32>:;
- # SUCC: 4 [100.0%] (fallthru)
-
- # BLOCK 4
- # PRED: 5 [100.0%] (true) 26 [100.0%] (fallthru)
- # ivtmp.41_31 = PHI <ivtmp.41_30(5), ivtmp.41_54(26)>;
- # sum.42_32 = PHI <sum.42_14(5), reduction.43_45(26)>;
-<L0>:;
- # SUCC: 19 [100.0%] (fallthru)
-
- # BLOCK 19
- # PRED: 4 [100.0%] (fallthru)
- # sum.42_24 = PHI <sum.42_32(4)>;
- # ivtmp.41_17 = PHI <ivtmp.41_31(4)>;
- i.44_21 = (int) ivtmp.41_17;
- D.2310_10 = i.44_21 + 3;
- (*x.45_47)[i.44_21] = D.2310_10;
- sum.42_14 = D.2310_10 + sum.42_24;
- i.44_15 = i.44_21 + 1;
- # SUCC: 5 [100.0%] (fallthru)
-
- # BLOCK 5
- # PRED: 19 [100.0%] (fallthru)
-<L17>:;
- ivtmp.41_30 = ivtmp.41_31 + 1;
- if (ivtmp.41_30 < D.2302_70) goto <L0>; else goto <L31>;
- # SUCC: 4 [100.0%] (true) 24 (false)
-
- # Adding this reduction phi is done at
- create_phi_for_local_result() #
-
- # BLOCK 24
- # PRED: 5 (false) 23 (true)
- # reduction.38_56 = PHI <sum.42_14(5), 0(23)>;
- <L31>:;
- __builtin_GOMP_barrier ();
- # SUCC: 25 [100.0%] (fallthru)
-
- # Creating the atomic operation is
- done at create_call_for_reduction_1() #
-
- # BLOCK 25
- # PRED: 24 [100.0%] (fallthru)
- D.2306_57 = &.paral_data_load.48_48->reduction.38;
- D.2307_58 = (unsigned int) reduction.38_56;
- D.2308_59 = __sync_fetch_and_add_4 (D.2306_57, D.2307_58);
- # SUCC: 22 [100.0%] (fallthru)
-
- # BLOCK 22
- # PRED: 25 [100.0%] (fallthru)
- <L29>:;
- return;
- # SUCC: EXIT