[tree-ssa] Maintaining/representing def-use/use-def information
Andrew MacLeod
amacleod@redhat.com
Mon Dec 15 21:31:00 GMT 2003
On Mon, 2003-12-15 at 16:11, Chris Lattner wrote:
> On 15 Dec 2003, Andrew MacLeod wrote:
> > I presume you keep information about the original defining variable in
> > the operation node,
>
> 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. I think you guys have already run into
> this in your "out-of-ssa" pass.
>
Not really. We do create new numbered version of the user's variables in
SSA->normal (ie 'A' may have an 'A.2' floating around somewhere if there
was an overlapping live range), but the debug information is correct in
a lot of places. The resulting programs still have decent debug info, as
far as optimized debug info goes.
> > Ultimately, I dont see much difference other than implementation
> > details...
>
> I really do not want to start a flamewar here or step on people's toes.
> The reason this thread started is because I think that use-def and def-use
> information are both _critical_ to SSA optimizers, and it seemed at that
> point that you were avoiding building this information due to unrelated
> memory problems elsewhere in tree-ssa. That's all!
>
Not a problem, I learned a little more about LLVM today :-) In fact, I
don't think its as different from us as I thought it was.
Andrew
More information about the Gcc
mailing list