similar to: [LLVMdev] Multi-scan passes under LLVM (2.7)

Displaying 20 results from an estimated 9000 matches similar to: "[LLVMdev] Multi-scan passes under LLVM (2.7)"

2010 Jul 22
0
[LLVMdev] Multi-scan passes under LLVM (2.7)
Chuck Zhao wrote: > For current FunctionPass passes, each function in the current module > will be visited _once_ under some order. > > If I have an algorithm that needs to visit each function more than once > in order to generate the final result, how could it be arranged under > the current LLVM Pass framework? > > Could somebody point me a pass that currently doing
2010 Jul 22
2
[LLVMdev] Controlling the order of a FunctionPass
Hi, I would like my FunctionPasses to be invoked in reverse call graph order (callees before callers). However, "Writing an LLVM Pass" notes that "FunctionPass's do not require that they are executed in a particular order." Is there any way at all to specify an ordering? If this is not possible, I'm thinking of a workaround in which my runOnFunction method
2010 Jun 30
2
[LLVMdev] Warnings when using opt for read-only (preserving) passes
Hi, I've written a FunctionPass that happens to be read-only (preserving): It doesn't modify the code in any way; it just does some analysis and dumps out the results for each function by overriding FunctionPass::print. I now need to make some changes to the pass, and these changes will mean that the results cannot be known until all functions have been visited. So there's
2006 Sep 22
2
[LLVMdev] llvm passes
In the instructions for writing LLVM passes, it says "[c]urrently it is illegal for a ModulePass to require a FunctionPass. This is because there is only one instance of the FunctionPass object ever created, thus nowhere to store information for all of the functions in the program at the same time." I'm a little confused by that. It was my understanding that if pass X required
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 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 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
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 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.
2014 Apr 04
3
[LLVMdev] Add a new information and preserve it in LLVM
Hello, I am trying to add some thing into LLVM, while I encountered some problems. So my situation is that I have some information W, some transform passes may change it, after these passes, I need the new W. What I did is to create an analysis pass similar to scalar-evolution or loopinfo, I can get the information by using getAnalysis<W>(); and preserve this information W by using
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 ,
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 Sep 25
0
[LLVMdev] llvm passes
On Fri, 22 Sep 2006, Ryan M. Lefever wrote: > In the instructions for writing LLVM passes, it says "[c]urrently it is > illegal for a ModulePass to require a FunctionPass. This is because > there is only one instance of the FunctionPass object ever created, thus > nowhere to store information for all of the functions in the program at > the same time." Right. >
2010 Apr 10
3
[LLVMdev] The "scope" of passes
hi all, i have some thing not so sure about "scope" of llvm passes: suppose i have a function pass PassF and a BasicBlock analysis pass PassB. if i want to use the analysis result of PassB for a BasicBlock in PassF, i think i can create PassB in runOnFunction of PassF, and call runOnBasicBlock manually to get the result: PassB pb; //create a PassB //we also need consider the analysis
2010 Apr 27
5
[LLVMdev] PTX target for LLVM!
Hey everybody, good news for everyone interested in the PTX backend: We decided to release the current source code under the GPL - you can find the latest tarball here: http://www.prog.uni-saarland.de/projects/anysl You will find the README in the attachment, which should hopefully answer a lot of questions concerning the implementation and the current status. If you have further questions,
2006 Sep 25
1
[LLVMdev] llvm passes
So, am I correct that the implication of what you're saying is that if pass X requires pass Y, then pass Y does not necessarily run to completion on every component of a program, before pass X runs. Furthermore, if those passes X and Y are both function passes, then when pass X runs on function F, the last function Y will have run on is function F. Chris Lattner wrote: > On Fri, 22
2014 Aug 29
2
[LLVMdev] The problem of densemap and loop
Dear John, First thing, the 3 loops in Densemap are all " Loop at depth 1 containing: %1<header><exiting>,%3,%5<latch> " in the 3 functions. The dense map is in a ImmutablePass. I got it in FunctionPass and tried insert the information in this FunctionPass. So to turn the FunctionPass to ModulePass may be a better idea? Another interesting thing: if just before
2010 Apr 09
7
[LLVMdev] whether these transformations are doable and how?
Hi folk, I'm a newbie to llvm, please first forgive my naive questions. I want to instrument llvm code to do some run-time monitoring work. After reading some of the llvm documentation, it begins clear to me that I can do the instrumentation in a transformation pass. There are several things I want to do in the transformation pass, but I'm not sure whether they are doable and how to do
2018 Aug 11
3
ScalarEvolution in a ModulePass
Hey LLVMDev, I'm working on a ModulePass that uses ScalarEvolution along with several other analyses. After some debugging, it looks to me like ScalarEvolutionWrapperPass does not handle memory correctly for this case. Here's my current understanding of the problem. ScalarEvolutionWrapperPass maintains a unique_ptr to a ScalarEvolution. Calling getSE() dereferences this pointer.
2010 Apr 13
2
[LLVMdev] The "scope" of passes
hi again :) On Tue, Apr 13, 2010 at 8:57 AM, ether zhhb <etherzhhb at gmail.com> wrote: > hi john, > > thanks very much, i will try it out. > > --best regards > ether > > > On Mon, Apr 12, 2010 at 10:03 PM, John Criswell <criswell at uiuc.edu> wrote: > >> ether zhhb wrote: >> >>> hi all, >>> >>> i have some thing