SSA names

Diego Novillo dnovillo@google.com
Sun Aug 5 15:42:00 GMT 2007


On 8/5/07 9:58 AM, ranjith kumar wrote:

>    The  SSA names are represented as i.xyz_abc... 
> For example D.2204_50
> What is the singnificanse of 2204 and 50?

The symbol D.2204 is a temporary created by the compiler.  The number
2204 is just the unique ID given to the symbol.

> What information can we get from that variable name?

Nothing other than it's a compiler temporary.

> Also let b[50] be an int array declared in a .c
> program.
> In PHI nodes it is referred as b_6.

Yes, because 'b' is a memory variable and so, it's not put into the
regular SSA form.  For memory symbols (array, pointers, global
variables) GCC uses a form known as Virtual SSA form.  Essentially,
references to any member of array 'b' is considered a reference to all
of 'b'.  You will see those if you dump the IL using the '-vops' suffix
to -fdump-tree-....  (e.g., -fdump-tree-all-vops).

> Where can I found more information about gcc's SSA
> repesentaion??

There are various presentations, papers and tutorials describing the
internal workings of GCC.  Check the Getting Started section of the GCC
wiki: http://gcc.gnu.org/wiki/GettingStarted



More information about the Gcc-help mailing list