This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]