search for: passfunctionpass

Displaying 6 results from an estimated 6 matches for "passfunctionpass".

2004 Sep 14
1
[LLVMdev] How to get the PostDominanceFr
...are >> called by "fn"? > > Unfortunately, there is no way to do this currently. The problem is that > Pass instances cannot "require" FunctionPass instances. This is a long-standing deficiency (e.g., see: > http://llvm.cs.uiuc.edu/docs/WritingAnLLVMPass.html#PassFunctionPass, and > http://llvm.cs.uiuc.edu/PR36), and has been annoying in many different > cases. However, until it bothers someone enough to fix it, it probably > won't be addressed. > > -Chris ______________________________________ ע������30��������䣨 http://mail.sina.com.cn/chooseMode...
2004 Aug 06
0
[LLVMdev] How to get LoopInfo within Pass subclass?
...PassManager will have to instantiate one FunctionPass for each function in the module. This is clearly something that we want to do, but unfortunately we can't do it yet. This is actually mentioned here, though I'm not suprised you missed it: :) http://llvm.org/docs/WritingAnLLVMPass.html#PassFunctionPass As a work-around you can make your "Pass" object work as a FunctionPass. I don't know what this will do to the logic in the pass, but if this is an option, it would be the best way to go. You're right that FunctionPass's are not supposed to have state (something that many pe...
2004 Aug 05
2
[LLVMdev] How to get LoopInfo within Pass subclass?
Hi, I have a hopefully quick question. I'm writing a Pass that needs to see a whole module at a time and keep some state, so I subclassed Pass. However, I want to be able to see the Loops in each Function. Roughly, here's what I want: virtual bool run(Module &M){ // do stuff... for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I){ if(! I->isExternal())
2004 Sep 09
1
[LLVMdev] How to get the PostDominanceFrontier?
When analysing a function "fn", my FunctionPass needs some PostDominanceFrontier information of functions which are called by function "fn". getAnalysis<PostDominanceFrontier>() cannot give the information, because it only gives the PostDominanceFrontier information of "fn", not the PostDominanceFrontier information of functions called by "fn".
2006 May 03
2
[LLVMdev] Conflicting passes?
Hi all, Why are these two passes conflicting: UnifyFunctionExitNodes and LowerSwitch? AU.addRequired(LowerSwitchID) works, so does AU.addRequired<unifyFunctionExitNodes>(), but the two together don't... opt: PassManagerT.h:387: void llvm::PassManagerT<Trait>::markPassUsed(const llvm::PassInfo*, llvm::Pass*) [with Trait = llvm::MTraits]: Assertion `getAnalysisOrNullUp(P)
2004 Aug 06
2
[LLVMdev] How to get LoopInfo within Pass subclass?
...one FunctionPass for each function in the module. > > This is clearly something that we want to do, but unfortunately we > can't > do it yet. This is actually mentioned here, though I'm not suprised > you > missed it: :) > http://llvm.org/docs/WritingAnLLVMPass.html#PassFunctionPass OK. Yeah, I stopped reading after I saw the first 'future extension'. Woops. > As a work-around you can make your "Pass" object work as a > FunctionPass. > I don't know what this will do to the logic in the pass, but if this > is an > option, it would be th...