-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 03/23/11 08:55, Bernd Schmidt wrote: > The first basic block contains insns to move incoming argument registers > to pseudos. When these pseudos live across calls, they get allocated to > call-saved registers. This in turns disables shrink-wrapping, since the > move instruction requires the prologue (saving the call-saved reg) to > occur before it. > > This patch addresses the problem by moving such moves downwards through > the CFG until we find a place where the destination is used or the > incoming argument is clobbered. FWIW, downward motion of the moves out of arg registers (or loads from arg slots) is definitely a good thing. This was a regular source of unnecessary register pressure leading to spills in codes I've looked at.
I hope your sinking code works better than the quick and dirty one I wrote but never contributed. jeff -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJNigvCAAoJEBRtltQi2kC7/DcH/0OPNnWZD9qoqRwrpm/Zc5qN zaCsSc9VYFuQa5Kh6dTd0md6ORfqSWFt6v0ygOXueYt7/bni4YsEA33N52dp3VVY xg6R0m1XEmfg8Pcn0SzyBGGmAnprgn7XpRnbOLycAT11CjfNFN9jjdeXFYbSHiNu NkvdtiKzz2HeucmvTBEZByN1mhP3/9DeQ3R6MM7uZ9xZFuA4rBfx8wfijxTYEg2d 3T52kiDzqcTBsD6Q5apAtNcFU6X7o1KS/eZsbno+nnMcc4z7lQ+6EQVfnBPfs9m2 GLb4ZNNzYCesczNHM+DyuJfQQVAkECKx0DcAGL8AivffUr9o05l4nGsS5D4Kip8= =gALv -----END PGP SIGNATURE-----