On Fri, Oct 12, 2012 at 11:46 AM, Uday P. Khedker <u...@cse.iitb.ac.in> wrote:
>
>
> Richard Biener wrote, On Friday 12 October 2012 02:51 PM:
>
>>
>> we _always_ see
>>
>>    ssa_name_1 = a;
>>    use (ssa_name_1);
>>
>> so you have a place to associate your flow-sensitive and context-sensitive
>> points-to-info with (the SSA name).  My point is that for _using_ the
>> points-to info flow-sensitivity provided by SSA form is enough.  For
>> computing
>> it you of course need to flow-sensitively process assignments to 'a'.
>
>
> This is VERY interesting! I had not thought about the difference between
> computing
> and using values. Now that you point it out, I think all we need to do is to
> map
> flow-sensitively computed values to ssa names.
>
> What about variables that do not have ssa names? Or are you saying that all
> such
> variables would be copied into an artificial variables that have ssa names?
> I seem
> to observe this in the dumps but I don't know if it holds in general.

Yes, that's what I say.  Any pointer that is dereferenced is first copied to
an SSA name.  Basically everything residing in memory first has to be
loaded to an SSA name before it can be dereferenced.  That load is explicit
in the IL so you should already compute points-to sets for the SSA name
destination of the load.

Richard.


> Uday.

Reply via email to