flow sensitive context sensitive pointer analysis

I was wondering, is there any code available on LLVM for flow sensitive context sensitive (fscs) pointer analysis?


There is not such an analysis either in LLVM or in any of its “official” subprojects as far as I know. The closest is DSA, which is field sensitive, context sensitive but unification-based and flow insensitive (although SSA form buys you some limited flow sensitivity). DSA should work (with varying quality of its results) with LLVM 2.7 and the upcoming LLVM 3.0.

You might try the analyses written by Ben Hardekopf at . He’s written some flow sensitive pointer analyses for LLVM, and it looks like he’s made some of that code publicly available now. I don’t know with what version of LLVM that code works. – John T.