https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126332
Drea Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Depends on| |125945
--- Comment #7 from Drea Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Drea Pinski from comment #6)
> (In reply to Richard Biener from comment #5)
> > That said, why's the load commoning not done earlier in phiopt3? (not
> > that it would help)
>
> Currently it is limited to non-loops for phiopt2/3 as doing it in phiopt2/3
> for some loops will make some loops unvectorizable. (an example is eembc's
> viterb00; see https://github.com/llvm/llvm-project/issues/219918 where GCC
> currently can vectorize the loop at -O3 but LLVM fails due to load
> commoning). Maybe a better heurstics is needed for loops and vectorization.
>
> Maybe we can see if the pointer has a well defined scev and reject it then.
> Let me try this coming week.
Note that is PR 125945.
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125945
[Bug 125945] factor_out_conditional_load could use better heurstic for
pre-vectorization