Related articles |
---|
[3 earlier articles] |
SSA without phi inderaj@gmail.com (Inderaj Bains) (2007-04-23) |
Re: SSA without phi cfc@shell01.TheWorld.com (Chris F Clark) (2007-04-23) |
Re: SSA without phi find@my.address.elsewhere (Matthias Blume) (2007-04-26) |
Re: SSA without phi Nicolas.Capens@gmail.com (2007-04-29) |
Re: SSA without phi tommy.thorn@gmail.com (Tommy Thorn) (2007-05-04) |
Re: SSA without phi jle@forest.owlnet.rice.edu (2007-05-04) |
Re: SSA without phi inderaj@gmail.com (Inderaj Bains) (2007-05-07) |
Re: SSA without phi tommy.thorn@gmail.com (Tommy Thorn) (2007-05-08) |
Re: SSA without phi Nicolas.Capens@gmail.com (2007-05-22) |
From: | "Inderaj Bains" <inderaj@gmail.com> |
Newsgroups: | comp.compilers |
Date: | Mon, 7 May 2007 13:44:46 -0700 |
Organization: | Compilers Central |
References: | 07-04-075 07-04-152 07-05-004 |
Keywords: | SSA, analysis |
Posted-Date: | 08 May 2007 01:20:01 EDT |
>> Anyway, maybe I'm just not using the simplest approach and I need to
>> get more familiar with SSA. I rename every variable by giving them a
>> completely new name (actually just a number), and keeping their old
>> name in a table. But a lot of tutorials on SSA give the variables an
>> index, and after optimization just drop the index and remove phi-
>> functions. Does that make the implementation more elegant?
>AFAICT, that is likely to be incorrect in the face of any non-trivial
>optimizations. Leaving SSA requires a real register allocation either
>way.
>With a graph based representation you don't get too attached to names;
>they are just pointers to nodes. If a full graph IR is too scary, you
>can always just use them inter-basic block. I guarantee that it will
>simplify your code.
>Tommy
That is incorrect. Leaving SSA does not require register allocation,
renaming plus color-out can guarantee dropping remaining names is
correct. Also retaining some names can be very useful for a production
compiler for debugging purposes
--
~Inderaj
Return to the
comp.compilers page.
Search the
comp.compilers archives again.