Redundant logical operations left after early splitting

hutchinsonandy@aim.com hutchinsonandy@aim.com
Wed Feb 20 18:06:00 GMT 2008


I still have to try extra fwprop pass to confirm this solves the issue. 


But it does seem that the missing piece is effective constant 
propagation + simplification after splits and subregs - which is 
currently ineffective in local-alloc (or any later pass)

Adding extra pass indeed seems a poor route - BUT this would suggest no 
need for any constant propagation in local-alloc. Thus avoid 
duplication of function.


As for workaround, Nops are nothing already. I just split the 
instruction into (const_in 0) and it's gone. The split instruction 
pattern explicitely match on constant. Peephole would do the same thing 
- but latter Of course I will also have to add all the other variants 
that can be created:

AND Rx,0

AND Rx,0xff etc

Leaving only the limited constant propagation issue.

Andy
________________________________________________________________________
More new features than ever.  Check out the new AIM(R) Mail ! - 
http://webmail.aim.com



More information about the Gcc mailing list