This is the mail archive of the gcc-patches@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]

Re: Experimental post-reload life analysis



  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



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