https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89594

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Mine.  The CFG cleanup causes the .LOOP_VECTORIZED_CALL to vanish as well
because
if-conversion made us discover the dominating loops exit is never taken...

Before if-conversion we have

# _8 = PHI <zr_26(3), 0(14)>
zr_15 = 0;
if (zr_15 <= 0)
  goto <bb 13>; [87.64%]
else
  goto <bb 15>; [12.36%]

the preceeding copyprop figures that out.  Before copyprop:

<bb 5> [local count: 118111601]:
# _8 = PHI <zr_26(4), 0(14)>
h3_lsm.11_4 = 0;
h3.2_19 = h3_lsm.11_4;
zr_15 = (long int) h3.2_19;
if (zr_15 <= 0)
  goto <bb 13>; [87.64%]
else
  goto <bb 15>; [12.36%]

and copyprop doesn't propagate through conversions but substitute-and-fold
will elide that.  And if-conversion then performs value-numbering on
the if-converted loop.

Reply via email to