------- Comment #1 from drow at gcc dot gnu dot org  2009-07-07 15:03 -------
It looks, roughly speaking, like the two nearby addresses are initially
commonized.  In the process, the use after the loop ends up sharing a REG with
the use in the loop.  Then the use in the loop is changed to use a new copy,
and the initialization in the loop feeds the out-of-loop copy.  And the use in
the loop gets materialized above the loop as it should.

In a quick look I didn't work out which RTL pass is at fault.


-- 

drow at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |drow at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40672

Reply via email to