On 10/25/07, Fran Baena <[EMAIL PROTECTED]> wrote: > * Why alias analysis? I mean, the pointers could be versioned like the > others vars. (I'm not saying it's not usefull, i mean i don't > understand the alias analisys goals)
SSA names of pointers are also pointers, when points-to sets are computed for SSA names, what you get is all the symbols that the particular SSA name has been found to point to. Eg, if (...) p_1 = &a; else p_2 = &b; endif p_3 = phi (p_1, p_2) points-to (p_1) = { a } points-to (p_2) = { b } points-to (p_3) = { a b } > * What is the significance of Use-Def chains? How are they construct? > Are related to VDEF/DEF and VUSE/USE? On GIMPLE they are built with the VDEF/VUSE operators. The argument of a VUSE/VDEF operator links to the VDEF operator that created the argument. In RTL, the chains are maintained using the DF data structures. > Note: i'm beginning i'd need something basic, conceptual docs. I suggest the tutorials and presentations in the Getting Started section of the wiki (http://gcc.gnu.org/wiki/GettingStarted). Also, some compiler books that may help are listed in that section as well (IIRC).