[LLVMdev] pass utilizing MemoryDependenceAnalysis?
ret val
retval386 at gmail.com
Thu Oct 13 10:43:00 PDT 2011
I wrote a pass(that is to be loaded by opt) that I would like to use
in conjunction with MemoryDependenceAnalysis. I have tried using by
including its header and adding this to my pass:
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
errs() << "addRequired called\n";
AU.addRequired<MemoryDependenceAnalysis>();
}
And in my runOnFunction() method I have:
MD = &getAnalysis<MemoryDependenceAnalysis>();
The results in:
addRequired called
Assertion failed: (ResultPass && "getAnalysis*() called on an
analysis that was not " "'required' by pass!"), function getAnalysisID
I do not know why. I noticed the DeadStoreElimination pass also uses
this, but it does not use RegisterPass (like mine and the docs show).
Instead it has lines like:
INITIALIZE_PASS_DEPENDENCY(MemoryDependenceAnalysis)
This gives me:
error: C++ requires a type specifier for all declarations
What is the correct way todo this?
More information about the llvm-dev
mailing list