[Bug rtl-optimization/16796] PowerPC - Unnecessary Floating Point Register Copy

nathan at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Nov 10 11:01:00 GMT 2004


------- Additional Comments From nathan at gcc dot gnu dot org  2004-11-10 11:01 -------
The fault is not the register allocator, is is a problem introduced by flow2 and
the existance of conditional returns on PPC.  During register allocation
there is one exit block.  The returns are 'x, x, x+x & x', thus the global
allocator sets the exit block to copy 'x' to the return register.  flow2
replaces some of those branches to the exit block with conditional returns,
because 'x' resides in both DF:33 and DF:32.  The remaining use of the exit
is the load from the union into DF:32, the location of 'x' during the function.



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16796



More information about the Gcc-bugs mailing list