This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fully flow and context sensitive points-to analysis in GCC 4.6.0


Excellent! Thanks.

Uday.

Richard Biener wrote, On Friday 12 October 2012 03:20 PM:
On Fri, Oct 12, 2012 at 11:46 AM, Uday P. Khedker <uday@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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]