This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] third liveness pass
- From: law at redhat dot com
- To: Richard Henderson <rth at redhat dot com>
- Cc: Jan Hubicka <jh at suse dot cz>, Roger Sayle <roger at eyesopen dot com>, gcc at gcc dot gnu dot org, gcc-pdo at atrey dot karlin dot mff dot cuni dot cz
- Date: Mon, 27 May 2002 08:10:16 -0600
- Subject: Re: [RFC] third liveness pass
- Reply-to: law at redhat dot com
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