[PATCH] fix pr30841 part 1, fwprop oversight

Paolo Bonzini paolo.bonzini@lu.unisi.ch
Thu Feb 22 14:42:00 GMT 2007


At last a 4.3 regression due to fwprop. ;-)

In this regression, fwprop must perform proper addressing mode 
selection, or a read/modify/write instruction takes 4 insns and combine 
cannot synthesize it.  For two unrelated reasons, however, this fails to 
happen.

This first part is simpler and is actually an oversight.  fwprop 
dismisses transformations that do not match the original operand's mode; 
however it is necessary to make an exception for CONST_INTs since these 
have VOIDmode.

This improves the situation a bit, but it only propagates the address 
into the "read" and not into the write.  The reason for this is a bug in 
df, which fails to properly support the incremental df updates performed 
by fwprop.  The patch for this will not be needed on dataflow branch, 
hence I'm submitting it separately.

Bootstrapped/regtested i686-pc-linux-gnu, ok for mainline?

Paolo
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pr30841-fwprop.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20070222/80c2d288/attachment.ksh>


More information about the Gcc-patches mailing list