This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: alias and pointers analysis
On 10/25/07, Fran Baena <franbaena@gmail.com> 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).