https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84955
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |openacc, wrong-code Priority|P3 |P2 Status|UNCONFIRMED |NEW Last reconfirmed| |2018-03-20 Component|fortran |middle-end Target Milestone|--- |7.4 Ever confirmed|0 |1 --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. ;; basic block 11, loop depth 0 ;; pred: 22 ;; 23 .offset.14 = (unsigned int) .offset.12; .iter.1 = 0 + .offset.14; D.3838 = .iter.1 / 10; D.3839 = .iter.1 % 10; D.3840 = (integer(kind=4)) D.3839; ... .e_range.15 = MIN_EXPR <D.3844, D.3845>; .e_offset.17 = GOACC_LOOP (OFFSET, 1, .e_range.15, .element_s.9, 0, -1, 0); .e_bound.16 = GOACC_LOOP (BOUND, 1, .e_range.15, .element_s.9, 0, -1, .e_offset.17); .e_step.18 = GOACC_LOOP (STEP, 1, .e_range.15, .element_s.9, 0, -1); if (.e_offset.17 < .e_bound.16) ;; succ: 23 notice we only have a single successor after a GIMPLE_COND. Looks like this already after ompexp.