Redundant logical operations left after early splitting

Andy H hutchinsonandy@aim.com
Fri Feb 22 05:54:00 GMT 2008


Paolo,

As you suggested, I moved the extra fwprop nearer combine, just after 
split - but it failed to propagate anything.

The reason is that immediately post split the data flow is reflecting 
cross dependencies between Word and subreg U/D.  So the USE of  just 1 
QImode subreg of SImode register islinked to  4 QImode DEFs - and fwprop 
gives up.

Putting fwprop after subreg pass removes this problem  - as the subreg 
have then been converted to QImode psuedo regs and we get single DEF.

Andy


Paolo Bonzini wrote:
>
>> This  would indicate that simplify-rtx inside fwprop is removing OR Rx,0
>> but not picking up the the additionally revealed forward propagation 
>> oppertunities
>> This would seem to be an avoidable limitation.
>
> Yes, can you send me your MD patch and a simple testcase?  fwprop is 
> supposed to be "cascading", and some bugs in cascading were already 
> revealed by the AVR port.
>
> It might be even more worthwhile to try *moving* fwprop2 after 
> combine, then.
>
> Paolo



More information about the Gcc mailing list