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

Re: [RFC] third liveness pass


In message <20020526191956.B2011@redhat.com>, Richard Henderson writes:
 > On Sun, May 26, 2002 at 02:21:47PM +0200, Jan Hubicka wrote:
 > > +       cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP);
 > > +       life_analysis (insns, rtl_dump_file, PROP_DEATH_NOTES
 > > + 		     | PROP_KILL_DEAD_CODE | PROP_SCAN_DEAD_CODE
 > > + 		     | PROP_EQUAL_NOTES);
 > > +       cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_UPDATE_LIFE | CLEANUP_PRE
 > _LOOP
 > > + 		   | (flag_thread_jumps ? CLEANUP_THREADING : 0));
 > > +       if (flag_if_conversion)
 > > + 	if_convert (1);
 > > +       count_or_remove_death_notes (NULL, 1);
 > > +       reg_scan (insns, max_reg_num (), 1);
 > > +       close_dump_file (DFI_lifeearly, print_rtl_with_bb, insns);
 > > +     }
 > > + 
 > >     /* Perform global cse.  */
 > 
 > Hum.  Except for the call to if_convert, this might be exactly
 > what Roger needs for his gcse jump threading pass.  Not sure if
 > there are any transformations in gcse that would invalidate this
 > information...
Well, gcse is going to create new registers and may change the lifetimes of
existing registers (on a global basis).  gcse can also remove basic blocks
as well.

jeff


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