------- Comment #10 from vmakarov at redhat dot com  2008-08-27 16:33 -------
IRA degradation on rethrow6.C.

This test fails when compiled with -O0.  The wrong code looks like

bb:
p93<-ax
p96<-dx

where p93 got dx and p96 got ax.  The reason for this is that ax and dx are not
live regs at the start of basic block when -O0 is used and as a consequence p93
does not conflict with dx as it should be.

There are 2 solutions:
  first one is to generate the info for -O0 too
  second one is to prevent assigning hard registers to global pseudos as the
old register allocator does.

The second one is more simple.  It does not increase compiler speed. In fact, I
found the second solution makes compiler 0.5% faster on all_cp2k_fortran.f90
(although such improvement is an error margin).

I'll send the patch for solving rethrow6.C degradation soon.


-- 


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

Reply via email to