[LLVMdev] Chaining analyses from an analysis group
Nick Johnson
npjohnso at cs.princeton.edu
Wed May 13 17:29:13 PDT 2009
Hello,
Two questions regarding analysis groups that ``chain'' their results,
like AliasAnalysis.
(1) I have an analysis group, let's call it Provider. I also have two
implementations of it: ProviderA and ProviderB.
The "writing a pass" document suggests using:
au.addRequiredTransitive< Provider >();
Within the getAnalysisUsage() method of both ProviderA and ProviderB.
But... I'm doing something wrong, and I get an infinite recursion.
(2) ALSO, I'm confused. Should I get the previous results using:
Provider &previous = getAnalysis< Provider >();
But that returns a reference, so how could the last pass in the chain
call it if it doesn't exist? Or, am I supposed to implement a
terminal pass, similar to NoAA?
--
Nick Johnson
More information about the llvm-dev
mailing list