Displaying 2 results from an estimated 2 matches for "setrequir".
Did you mean:
setrequires
2012 Mar 02
2
[LLVMdev] Interactions between module and loop passes
...dd(new LoopPass);
pm.add(new ModPass2);
pm.run(m);
}
class ModPass1 : public ModulePass{
virtual void getAnalysisUsage(AnalysisUsage&AU) const{
AU.setPreservesAll();
}
};
class LoopPass : public LoopPass{
virtual void getAnalysisUsage(AnalysisUsage&AU) const{
AU.setRequires<ModPass1>();
AU.setPreservesAll();
}
};
class ModPass2 : public ModulePass{
virtual void getAnalysisUsage(AnalysisUsage&AU) const{
AU.setRequires<LoopPass>();
AU.setPreservesAll();
}
};
If I remove any of the passes (updating the usage information), it's OK....
2012 Mar 02
0
[LLVMdev] Interactions between module and loop passes
...;
> class ModPass1 : public ModulePass{
>
> virtual void getAnalysisUsage(AnalysisUsage&AU) const{
> AU.setPreservesAll();
> }
> };
>
> class LoopPass : public LoopPass{
>
> virtual void getAnalysisUsage(AnalysisUsage&AU) const{
> AU.setRequires<ModPass1>();
I'm pretty sure a LoopPass cannot require a ModulePass.
Ciao, Duncan.
> AU.setPreservesAll();
> }
> };
>
> class ModPass2 : public ModulePass{
>
> virtual void getAnalysisUsage(AnalysisUsage&AU) const{
>
> AU.setRequires<LoopP...