Experimental post-reload life analysis
Jeffrey A Law
law@cygnus.com
Wed Oct 7 02:03:00 GMT 1998
In message <Pine.SOL.3.90.981002152846.14944K-100000@jennifer.informatik.rwth
-aachen.de>you write:
> The patch below adds a small pass after reload_cse_regs that computes
> life information on hard regs and re-creates REG_DEAD and REG_UNUSED
> notes.
> This makes it possible to delete the following pieces of code:
> - everything dealing with PRESERVE_DEATH_INFO_REGNO_P
> - reload_cse_no_longer_dead and its friends
> - code in sched.c to deal with incorrect REG_DEAD notes
> - the reference to used_spill_regs in reorg.c (correct death notes
> are now available to achieve the same effect).
>
> The patch is somewhat tested (c-torture runs on i586-linux and
> sparc-sun-solaris2.6), but could use a bit more testing. Also, it
> absolutely depends on correct basic block boundaries: it will abort
> mercilessly if it finds insns between basic blocks. Please see my
> previous mail with the patch to caller-save.c before trying this one.
I'll send some (mostly positive) comments on this tomorrow (it's about 3am
right now, and I need to sleep :-)
One note though, with this patch installed, I got a successful bootstrap on
my i686-pc-linux-gnu box, but I get an abrot in reload_life_analysis
when compiling serial.c from the linux2.1.124 kernel.
I'll put together a testcase sometime tomorrow if you haven't already beat
me to it.
jeff
More information about the Gcc-patches
mailing list