On Tue, Feb 26, 2008 at 04:44, Fran Baena <[EMAIL PROTECTED]> wrote:
> if ()
> t_1 = & a_1; t_1 points-to { a_1 }
> else
> if ()
> t2_ = & b_1; t_2 points-to { b_1 }
> else
> t_3 = & c_1; t_3 points-to { c_1 }
>
> # t_4 = PHI <t_1, t_2, t_3>
> p_1 = t_4; p_1 and t_4 points-to { a_1, b_1, c_1 }
Not quite, points-to sets always have symbols, not SSA names. Use
-fdump-tree-salias-all-vops to see how things are renamed.
Symbols with their address taken are only renamed when they appear as
virtual operands. So, if you have:
p_3 = (i_5 > 10) ? &a : &b
a = 4
notice that 'a' is never renamed in the LHS of the assignment. It's
renamed as a virtual operand:
p_3 = (i_5 > 10) ? &a : &b
# a_9 = VDEF <a_8>
a = 4
Diego.