This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Question re: SSA Aggressive Dead Code Elimination
- To: Daniel Berlin <dan at www dot cgsoftware dot com>
- Subject: Re: Question re: SSA Aggressive Dead Code Elimination
- From: law at redhat dot com
- Date: Wed, 27 Jun 2001 12:25:56 -0700
- cc: Michael Matz <matzmich at cs dot tu-berlin dot de>, gcc at gcc dot gnu dot org
- Reply-To: law at redhat dot com
In message <Pine.LNX.4.33.0106271412090.1968-100000@www.cgsoftware.com>you wr
ite:
> > We follow the source regs in PHI nodes and mark their definition sites as
> > important. But that's insufficient in this case as the definition sites
> > are both in block 0 due to the copy propagation.
>
> Ahh, here's the kicker. You need to mark the control transfer instructions
> from the source blocks in our phi nodes as important too. Or so the
> comments in all three compilers say.
Agreed.
> The example pass code i pasted claims to be doing it using the
> reverse dominance frontier to figure out which nodes it's really control
> dependent on, and marking any of the control transfer instructions in
> those nodes as important.
> Since we already have the edge pointers, i don't think we need the RDF to
> do this, we should just be able to mark the edges based on the alternative
> in the phi node.
Yup. It's pretty trivial to fix now that we're sure what the right fix is :-)
Thanks again,
jeff