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: query regarding adding a pass to undo final value replacement.


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


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