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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|useless NON_LVALUE not      |match causes an extra
                   |fully elided by genmatch    |assignment sometimes
                   |generated code              |
           Keywords|                            |compile-time-hog
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=120206
             Blocks|120206                      |
           Severity|normal                      |enhancement

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So it is not due to NON_LVALUE.
The problem is we start with:
`MIN_EXPR <maxlen_2(D), 264> > 16`
gets simplified into:
`_t = maxlen_2(D) > 16
 _t & ~0
`

and then ~0 is removed.

There is nothing to undo the removal of _t.

So this is less important than I thought, I will leave it for another day.
It has a small compile time performance issue though.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120206
[Bug 120206] Removal of
forward_propagate_into_gimple_cond/forward_propagate_into_comparison

Reply via email to