[Bug target/115934] [15 Regression] nvptx vs. ivopts: replace constant_multiple_of with aff_combination_constant_multiple_p [PR114932]

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Jul 15 13:39:37 GMT 2024


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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
   Target Milestone|---                         |15.0

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Yup, one IV instead of two and

    +  _17 = (unsigned int) left_4(D);
    +  _2 = (unsigned int) rite_5(D);
    +  _1 = _2 + _17;
    +  _13 = (unsigned int) rite_15;
    +  _11 = -_13;
    +  _12 = _1 + _11;
    +  left_14 = (int) _12;

failing to identify and hoist the invariant part of left_4(D) + rite_5(D) -
rite_15.  I guess IVOPTs is only able to hoist fully invariants, not
invariant parts when rewriting a use.


More information about the Gcc-bugs mailing list