This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
2008/2/21, Diego Novillo <dnovillo@google.com>:No. None of these SSA names are dereferenced so no name tag is created for them. The only SSA name with a name tag will be the one produced by the PHI.On 2/19/08 2:27 PM, Fran Baena wrote: > Hi everybody, > > i am studing how gcc carries out Alias Representation and some questions appear. > > For instance, given this code portion: > > if ( ... ) > p = &a; > else > if ( ... ) > p = &b; > else > p = &c; > > a = 5; > b = 3; > d = *p4; > > My questions are: > > - both p like *p need a Name Memory Tag structure? It is enough with only one?
Pointer dereferences do not receive NMTs, only the pointers. So a name tag will be associated with the SSA name resulting from the PHI node created at the end of that if() tree.
And this name tag is versioned too, like this: if ( ... ) p = &a; (NMTv1 associated to p) else if ( ... ) p = &b; (NMTv2 associated to p) else p = &c; (NMTv3 associated to p)
To organize temporarily the passes. Firstly alias analysis is computed, it is followed by ssa form, and after that the memory ssa web, aren't they?
Where could i find all the passes applied and their order?
What is register SSA form? Is it the standard SSA form explained in "Efficiently computing static single assignment form and the control dependence graph (cytron91)"?
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |