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