Hello,
I am trying to print points-to information for SSA variables as below.
for (i = 1; i < num_ssa_names; i++)
{
tree ptr = ssa_name (i);
struct ptr_info_def *pi;
if (ptr == NULL_TREE
|| SSA_NAME_IN_FREE_LIST (ptr))
continue;
pi = SSA_NAME_PTR_INFO (ptr);
if (pi)
dump_points_to_info_for (file, ptr);
}
-------------------------------------------------------------
My test program is given below :
int main()
{
int *p, i, j;
void (*fp1)();
if (i)
{
p = &i;
fp1 = fun1;
}
else
{
p = &j;
fp1 = fun2;
}
fp1();
printf ("\n%d %d\n", *p, i);
return 0;
}
-------------------------------------------------------------
I get the output as :-
p_1, points-to vars: { i j }
fp1_2, points-to vars: { }
-------------------------------------------------------------
Why is the pointees for function pointer not getting dumped?
How can I access this information?
Regards,
Swati