This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Maintaining/representing def-use/use-def information
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Chris Lattner <sabre at nondot dot org>
- Cc: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>,Jeff Law <law at redhat dot com>,Andrew MacLeod <amacleod at redhat dot com>,gcc mailing list <gcc at gcc dot gnu dot org>
- Date: Mon, 15 Dec 2003 16:32:13 -0500
- Subject: Re: [tree-ssa] Maintaining/representing def-use/use-def information
- References: <Pine.LNX.4.44.0312151516580.27585-100000@nondot.org>
On Dec 15, 2003, at 4:18 PM, Chris Lattner wrote:
On Mon, 15 Dec 2003, Zdenek Dvorak wrote:
Hello,
No, we don't. We don't have any concept of "defining variable" or
"versions" at all. Though all SSA construction papers talk about
building
versions of source variables, once you start doing transformations,
that
idea becomes quickly meaningless.
except for ssa-pre, that requires the original variable names. I
still
consider it an indication that there is something rotten with the
optimization, but did not get the idea how to make it better so far.
Yes. SSA-PRE, as presented in the papers, only works on a program
which
just been just newly converted into SSA form (things like overlapping
lifetimes for "versions" of variables break it severely).
There are ways around this, but the SSAPRE papers have several fairly
severe bugs and ommissions in them. This information is not really
needed
for implementing PRE on SSA form.
Yes, you could do E-Path PRE, but it's harder to extend it to perform
strength reduction or load speculation.
Besides, I've been working on SSAPRE since before E-path PRE existed :P.
--Dan