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

Richard Earnshaw <rearnsha at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
             Target|                            |arm
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-01-25
          Component|rtl-optimization            |target
     Ever confirmed|0                           |1

--- Comment #3 from Richard Earnshaw <rearnsha at gcc dot gnu.org> ---
Confirmed.  This is a costing issue in the thumb1 code generation path.  I
think it's done this way to try to avoid creating long-lived expressions which
can harm register allocation.  In this case it means that the post-register
allocation pass fails to spot the simplifying address expressions.

One possible way of addressing this might be to reflect the true costs of
expressions once register allocation has completed.  By then we know we can't
create any new register allocation issues.

Reply via email to