Christian Convey
2015-May-19 16:42 UTC
[LLVMdev] API for flow/context -sensitive alias analysis?
I'm starting to play around with flow- and context- sensitive AA implementations. I thought it would be interesting to try fitting one into LLVM's AA framework. Should I assume that to support flow-/context-sensitive AA queries, I'll need to define my own AA API, rather than supporting "llvm::AliasAnalysis"? The AA doc ( http://llvm.org/docs/AliasAnalysis.html ) seems to indicate that the API (or its implementations?) don't support flow-sensitive analysis. I also don't see any obvious way for the API to let clients ask context-sensitive questions. I also looked at the poolalloc docs (Section 4 of those doc's Latex DSA manual), and my impression is that they too ended up providing their own API rather than implementing "llvm::AliasAnalysis". Thanks, Christian -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150519/7b45178b/attachment.html>
Daniel Berlin
2015-May-19 17:06 UTC
[LLVMdev] API for flow/context -sensitive alias analysis?
On Tue, May 19, 2015 at 9:42 AM, Christian Convey <christian.convey at gmail.com> wrote:> I'm starting to play around with flow- and context- sensitive AA > implementations. I thought it would be interesting to try fitting one into > LLVM's AA framework.George, cc'd, is starting to explore this stuff for CFL.> > Should I assume that to support flow-/context-sensitive AA queries, I'll > need to define my own AA API, rather than supporting "llvm::AliasAnalysis"?Yes. It would be interesting to see what you come up with.> > The AA doc ( http://llvm.org/docs/AliasAnalysis.html ) seems to indicate > that the API (or its implementations?) don't support flow-sensitive > analysis. I also don't see any obvious way for the API to let clients ask > context-sensitive questions.You cannot :)> > I also looked at the poolalloc docs (Section 4 of those doc's Latex DSA > manual), and my impression is that they too ended up providing their own API > rather than implementing "llvm::AliasAnalysis".It's hard to design a generally useful compiler API without clients/providers. :)