This is the mail archive of the 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

Hi David,

This is great progress.

If I understand the experiments, your implementtion has very small
cost to perform the analysis, at least for the SPEC benchmarks you are
testing.  Have you connected the analysis to any optimizations?  Is
there any improvement in performance on SPEC CPU or other

Unfortunately we could not do this as it requires changing the way the pointer information is made available to other passes. Right now, it is encoded in the TREE nodes of variables which make is same at all program points. In other words, GCC, by definition assumes flow insensitive information. Supporting flow sensitivity implies being able to provide different information for the same pointer at different program points.

We are investigating how this can be done and this is one of the most important future
works on which we seek collaboration. Unless we are able to do this, we will not be able
to take advantage of the analysis.

You ask for collaboration, but it's not clear what state the infrastructure is in, how complete it is, and what more needs to be done.

The infrastructure is in a reasonably complete state except that
(a) It is not directly useful to other analyses and optimizations for the
reasons described above.
(b) It uses rather naive and inefficient data structures in which sets are
stored as linked lists and set operations are implemented using linear
(c) Some corner cases related identifying pointers need to be fixed.
(d) It handles heap locations rather conservatively.

We seek collaborations on (a) and (b). We have designed APIs to hide the data structures
and now these are good student projects. Some details can be found at

We are carrying out research on (d) and have some ideas on what needs to be done but it will
be some time before the infrastructure is enhanced to include it. We are committed to doing it.

Thanks and regards,


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