similar to: [LLVMdev] ModulePass that requires FunctionPass

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] ModulePass that requires FunctionPass"

2007 Apr 25
2
[LLVMdev] ModulePass that requires FunctionPass
Hi Devang, You recently mentioned that the pass manager now allows a ModulePass to require a FunctionPass. I just tried it but ran into errors. Could you please take a look to see if I did anything wrong? Thanks! Basically I changed the HelloWorld sample pass to be a ModulePass and tried to use the LoopInfo pass inside the runOnModule routine. See below for the source code and error messages.
2009 Aug 11
1
[LLVMdev] How to use a FunctionPass in a ModulePass?
Hi, Devang. Thank you for your reply. But in my case, my ModulePass requires another FunctionPass (e.g. MemoryDependenceAnalysis) rather than the opposite direction. Is it also limited? - gauss Devang Patel-2 wrote: > > On Mon, Aug 10, 2009 at 3:35 AM, gauss<gausszhch at gmail.com> wrote: >> Hi, all: >> >> I wanted to use a FunctionPass (e.g.
2009 Aug 10
0
[LLVMdev] How to use a FunctionPass in a ModulePass?
On Mon, Aug 10, 2009 at 3:35 AM, gauss<gausszhch at gmail.com> wrote: > Hi, all: > > I wanted to use a FunctionPass (e.g. MemoryDependenceAnalysis) in a > ModulePass, and then I used the method > "getAnalysis<MemoryDependenceAnalysis>(llvm::Function *)"  described at > http://llvm.org/docs/WritingAnLLVMPass.html#ModulePass to get the > FunctionPass. But ,
2007 Apr 26
0
[LLVMdev] ModulePass that requires FunctionPass
On Apr 25, 2007, at 4:53 PM, Zhiru Zhang wrote: > Hi Devang, > > You recently mentioned that the pass manager now allows a ModulePass > to require a FunctionPass. I just tried it but ran into errors. Could > you please take a look to see if I did anything wrong? Thanks! I can reproduce this crash. Please file bugzilla PR and I'll fix this soon. - Devang
2009 Aug 10
2
[LLVMdev] How to use a FunctionPass in a ModulePass?
Hi, all: I wanted to use a FunctionPass (e.g. *MemoryDependenceAnalysis*) in a ModulePass, and then I used the method "getAnalysis<* MemoryDependenceAnalysis*>(llvm::Function *)" described at http://llvm.org/docs/WritingAnLLVMPass.html#ModulePass to get the FunctionPass. But , it still crashed when I invoked this pass in tool 'opt'. However, if I change my pass to
2008 Oct 28
1
[LLVMdev] Requiring a ModulePass to be run from a FunctionPass
Hi, I have a FunctionPass that requires a ModulePass using addRequiredById(). When I start opt it infloops somewhere in PMDataManager::findAnalysisPass. Should I open a bug, or is this a known issue (i.e. I am doing something wrong)? Is there a workaround? My modulepass just assigns unique numbers to basicblocks (like StableBasicBlockNumbering, but unique per Module) I could do that with a
2011 Sep 12
1
[LLVMdev] IVUsers (LoopPass) analysis in a ModulePass?
Hi Tim, > From: Tim Creech <tcreech at umd.edu> > Subject: [LLVMdev] IVUsers (LoopPass) analysis in a ModulePass? > Date: September 1, 2011 11:46:28 AM PDT > To: llvmdev at cs.uiuc.edu > > Hi all, > I have a loadable ModulePass which does transformations, and I would like to > use IVUsers analysis within it. I noticed when I try to do this (via > the usual
2009 Sep 16
1
[LLVMdev] FunctionPass Analysis is not saved after ModulePasses run?
Hi, I have a problem with the following scenario: I use the ProfileEstimatorPass to get ProfileInfo and verifiy this info with the ProfileVerifierPass. (Please bear with me, its not about the profiling but about the Pass interaction.) Then the LowerSetJumpPass is executed and I want to verify that the esimtated ProfileInfo survives this pass by calling again the ProfileVerifierPass. This is what
2009 Apr 09
3
[LLVMdev] Pass Manager Restriction?
Having a ModulePass that requires a FunctionPass that in turn requires another ModulePass results in an assertion being fired. Is this expected behavior (that seems to be undocumented), or a bug? Specifically, the following code will emit the assertion: [VMCore/PassManager.cpp:1597: virtual void llvm::ModulePass::assignPassManager(llvm::PMStack&, llvm::PassManagerType): Assertion
2006 May 01
3
[LLVMdev] ModulePasses requiring FunctionPasses
I am trying to write a ModulePass which requires PostDominator sets for every function in the module. Now finding post dominators is a function pass. The link on the llvm.org website says that : "Currently it is illegal for a ModulePass<http://llvm.org/docs/WritingAnLLVMPass.html#ModulePass>to require a FunctionPass <http://llvm.org/docs/WritingAnLLVMPass.html#FunctionPass>.
2009 Apr 10
0
[LLVMdev] Pass Manager Restriction?
"A module pass can use function 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
2011 May 30
1
[LLVMdev] about writing a functionpass requiring a modulepass
---------- Forwarded message ---------- From: Qingan Li <ww345ww at gmail.com> Date: 2011/5/30 Subject: To: llvmdev at cs.uiuc.edu Hi, I wrote an analysis pass, myPass, inherited from both ModulePass and ProfileInfo, and this pass requires the CallGraph, i.e., * class myPass : public ModulePass, public ProfileInfo { ...};* * void myPass::getAnalysisUsage(AnalysisUsage &AU) const
2006 Oct 08
1
[LLVMdev] modulepass requiring a functionpass
I have a ModulePass, which we'll call MP, that generates a dependency graph for an entire program. I want MP to require the UnifyFunctionExitNodes pass, which is a FunctionPass. Since its not possible to make a ModulePass depend on a FunctionPass, is my only choice to make MP a FunctionPass in which the runOnFunction() routine does nothing, and the doFinalization routine does all the
2009 Apr 10
2
[LLVMdev] Pass Manager Restriction?
Good to know. I was referencing a local copy of 2.3 docs which didn't include the "does not require any module passes" statement. It appears the docs were changed two days before 2.4 was released in November. I suppose I should update my docs more often. Are there any plans to change this restriction, or any best practices to get similar behavior? Since immutable pass is a subclass
2010 Apr 13
2
[LLVMdev] The "scope" of passes
Devang Patel wrote: > On Mon, Apr 12, 2010 at 6:41 PM, ether zhhb <etherzhhb at gmail.com> wrote: > > >> that's because FunctionPass implement the "addLowerLevelRequiredPass" >> function, but others not. >> >> so, is there any special reason that only "addLowerLevelRequiredPass" is >> allow? >> >> > >
2010 Nov 30
2
[LLVMdev] LLVM Inliner
On Nov 29, 2010, at 5:15 PM, Chris Lattner wrote: > > On Nov 29, 2010, at 5:01 PM, Devang Patel wrote: > >> >> On Nov 29, 2010, at 1:17 AM, Duncan Sands wrote: >> >>> Hi David, >>> >>>> Interesting -- LLVM does perform on the fly cleanups during inlining >>>> transformation -- this will make summary update precise. One
2009 Oct 29
1
[LLVMdev] Using LoopInfo in a ModulePass
I'm writing a ModulePass that does work on a subset of the functions in a module. I would like to get the LoopInfo for the functions that it works with. Is there some way to do this? As I understand, only a FunctionPass can register LoopInfo as a required analysis. Hans
2009 Mar 20
0
[LLVMdev] Pass Manager Question
On Mar 19, 2009, at 11:43 AM, John Criswell wrote: > Dear All, > > If I have a ModulePass that requires a FunctionPass, and I include a > line like the following: > > <variable> = &getAnalysis<TheFunctionPass>(*Function); > > ... will the PassManager blindly re-run the FunctionPass each time the > ModulePass requests it, or does it use the Pass
2010 Apr 17
0
[LLVMdev] The "scope" of passes
hi John, sorry for reply so late. On Tue, Apr 13, 2010 at 10:38 PM, John Criswell <criswell at uiuc.edu> wrote: > Devang Patel wrote: > >> On Mon, Apr 12, 2010 at 6:41 PM, ether zhhb <etherzhhb at gmail.com> wrote: >> >> >> >>> that's because FunctionPass implement the "addLowerLevelRequiredPass" >>> function, but others
2009 Mar 19
3
[LLVMdev] Pass Manager Question
Dear All, If I have a ModulePass that requires a FunctionPass, and I include a line like the following: <variable> = &getAnalysis<TheFunctionPass>(*Function); ... will the PassManager blindly re-run the FunctionPass each time the ModulePass requests it, or does it use the Pass dependency information to re-run the FunctionPass only when necessary. -- John T.