[LLVMdev] [GSoc] Liveness Based Flow Sensitive Pointer Analysis for GSoc 2015
cs12b1010 at iith.ac.in
Tue Mar 10 01:40:11 PDT 2015
I'm a 3rd year CSE B.Tech student and have been studying LLVM since the past year. I have written a pass for doing register allocation as part of my course project and have also been studying LLVM code sections related to SSA construction, dominance frontiers,etc. I also made some contributions to the Polly project.
Currently I am interested in improving the existing alias analysis infrastructure as part of my GSoC-15 project. The current pointer analyses in LLVM (basicaa, cflaa etc.) compute imprecise information as none of them are flow-sensitive. The aim of my project is to implement a pass that computes more precise points-to pairs that is both flow-sensitive as well as context-sensitive. This method has been described in Liveness-Based Pointer Analysis [http://www.cse.iitb.ac.in/grc/software/livepta.pdf]  and has already been implemented in the GCC compiler [http://www.cse.iitb.ac.in/grc/index.php?page=l-fcpa].
Most of the information in traditional context-sensitive algorithms is useless because it involves variables that are dead. The paper however relies on liveness information at the construction time of points-to-sets to prune the useless information. This method makes it comparable to a context-insensitive algorithm in cost.
This would be an inter-procedural pass and would be implemented in the existing AliasAnalysis infrastructure by implementing all the methods of AliasAnalysis class similar to the existing alias analysis passes in LLVM like basicaa and CFL-AA. I am looking for feedback and on directions on how to proceed with this.
 Uday P. Khedker, Alan Mycroft, and Prashant Singh Rawat. 2012. “Liveness-Based pointer analysis”. In Proceedings of the 19th international conference on Static Analysis (SAS'12), Antoine Miné and David Schmidt (Eds.). Springer-Verlag, Berlin, Heidelberg, 265-282.
Bachelors of Technology, 3rd Year
Computer Science and Engineering
+91 961 905 6833
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev