This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: query regarding adding a pass to undo final value replacement.
- From: Zdenek Dvorak <rakdver at kam dot mff dot cuni dot cz>
- To: Ramana Radhakrishnan <ramana dot r at gmail dot com>
- Cc: GCC <gcc at gcc dot gnu dot org>
- Date: Wed, 1 Oct 2008 18:19:15 +0200
- Subject: Re: query regarding adding a pass to undo final value replacement.
- References: <67ea2eb0810010622g647345epdb404d4889294ed8@mail.gmail.com>
Hi,
> b) If any PHI node has count zero it can be inserted back and its
> corresponding computations removed, iff the argument of the PHI node
> still exists as an SSA variable. This means that we can insert
> a_1 = PHI <D.10_1> if D.10_1 still exists and hasnt been removed by
> any of the passes between the scalar evolution pass and the
> loopdone pass.
this does not work:
-- we reuse ssa names, so it can happen that the argument of the PHI node
is eliminated, then reused for a different purpose
-- in case more complex loop transformations were performed
(e.g., loop reversal), the final value of the ssa name might have
changed.
Zdenek