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