Displaying 3 results from an estimated 3 matches for "funpass1".
2009 Apr 09
3
[LLVMdev] Pass Manager Restriction?
...to find
appropriate Pass Manager"' failed]
******
struct ModPass1 : public ModulePass {
static char ID;
ModPass1() : ModulePass((intptr_t)&ID) {}
virtual bool runOnModule(Module &M) { return false; }
virtual void getAnalysisUsage(AnalysisUsage &AU) const {}
};
struct FunPass1 : public FunctionPass {
static char ID;
FunPass1() : FunctionPass((intptr_t)&ID) {}
virtual bool runOnFunction(Function &F) {return false; }
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<ModPass1>();
}
};
struct ModPass2 : public ModulePass...
2009 Apr 10
0
[LLVMdev] Pass Manager Restriction?
...ction level passes (e.g. dominators) using
getAnalysis interfacegetAnalysis<DominatorTree>(Function), if the
function pass does not require any module passes."
http://llvm.org/docs/WritingAnLLVMPass.html
In your case, A module pass (ModPass2) is trying tu use function level
pass (FunPass1) which uses module level pass (ModPass1). This is not
supported.
-
Devang
On Apr 9, 2009, at 3:13 PM, Joseph Blomstedt wrote:
> Having a ModulePass that requires a FunctionPass that in turn requires
> another ModulePass results in an assertion being fired. Is this
> expected behavior...
2009 Apr 10
2
[LLVMdev] Pass Manager Restriction?
...minators) using
> getAnalysis interfacegetAnalysis<DominatorTree>(Function), if the
> function pass does not require any module passes."
>
> http://llvm.org/docs/WritingAnLLVMPass.html
>
> In your case, A module pass (ModPass2) is trying tu use function level
> pass (FunPass1) which uses module level pass (ModPass1). This is not
> supported.
>
> -
> Devang
>
> On Apr 9, 2009, at 3:13 PM, Joseph Blomstedt wrote:
>
>> Having a ModulePass that requires a FunctionPass that in turn requires
>> another ModulePass results in an assertion being...