similar to: [LLVMdev] API Change: AnalysisUsage

Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] API Change: AnalysisUsage"

2002 Oct 20
2
[LLVMdev] PassManager and dependencies
Chris Lattner wrote: >>I don't grok this error message. Of course, -opt-a and -opt-b both work >>fine in isolation. >> >> > >You're right, this error message is terrible. As it turns out, all of >your passes invalidate all of the other passes, so C doesn't get A (which >is invalidated by B). The problem turns out to be a really trivial bug:
2002 Oct 18
2
[LLVMdev] PassManager and dependencies
I can't seem to figure out how to tell the PassManager that one Pass requires the results of two other Passes, in such a way that it will not crash itself. Attached file is the simplest possible example of Passes A, B, and C, such that C's getAnalysisUsage(AU) method calls AU.addRequired<A>() and AU.addRequired<B>(). When I try to run opt -load ... -opt-c, it tells me:
2002 Oct 20
0
[LLVMdev] PassManager and dependencies
Sorry in advance for taking so long to respond to this issue... > I can't seem to figure out how to tell the PassManager that one Pass > requires the results of two other Passes, in such a way that it will not > crash itself. Attached file is the simplest possible example of Passes > I don't grok this error message. Of course, -opt-a and -opt-b both work > fine in
2005 Apr 29
2
[LLVMdev] about AnalysisUsage
Just noticed that quite a few passes like LoopSimplify are implemented in a single .cpp file ... this makes it impossible to specify LoopSimplify using the "addRequired" method. Was there any particular reason to do it this way? I wouldn't mind doing the splitting myself, though I am not using the CVS versions right now. Also, it would be nice to have support for some sort of a
2002 Dec 01
1
[LLVMdev] PassManager error message hard to decipher
I cannot figure out a particular PassManager error for what seem to be legal dependencies. Here is the situation. We have 5 passes, RegisterAllocator, FunctionLiveVarInfo, CoalesceCopies, DominanceForest, and UnionSSAVars, with dependencies as follows: class RegisterAllocator : public FunctionPass { . . . virtual void getAnalysisUsage(AnalysisUsage &AU) const {
2005 Apr 29
0
[LLVMdev] about AnalysisUsage
On Fri, 29 Apr 2005, Sameer D. Sahasrabuddhe wrote: > Just noticed that quite a few passes like LoopSimplify are implemented > in a single .cpp file ... this makes it impossible to specify > LoopSimplify using the "addRequired" method. Was there any particular > reason to do it this way? I wouldn't mind doing the splitting myself, > though I am not using the CVS
2010 Nov 22
0
[LLVMdev] pass visibility question
Hi developers, I have some problems using a non-default alias analysis. I wrote a modulepass which needs a functionpass. The functionpass needs a type bases alias analysis instead of the basicaa. I added the command line parameter for this analysis to the opt invocation as follows: opt -tbaa -global-live-values test.bc The 'global-live-values' pass preserves all and requires a
2006 May 03
1
[LLVMdev] Patch for transform dependencies
Hi, A number of transforms are actually independent, so here's a partial fix. I updated the dependencies in a cluster of transforms: LowerSwitch, Mem2Reg, LowerSelect, LowerAllocations, UnifyFunctionExitNodes. The patch has been tested, but not extensively. PassManager doesn't complain, and the result of a test pass that requires all these (except for LowerAllocations) together works
2009 May 11
2
[LLVMdev] Pass Manager hangs with CallGraph and LoopSimplify
Hello, I have discovered a situation in which the pass manager will infinite loop. The minimal test case is below this message. The required structure of these passes is; Before requires CallGraph After requires LoopSimplify and Before I can observe this through opt: opt -load ./libBug.so -after input.bc -o output.bc I built my copy of llvm from svn revision 68820 using gcc 4.1.2 Any
2009 May 11
0
[LLVMdev] Pass Manager hangs with CallGraph and LoopSimplify
See http://llvm.org/docs/GettingStarted.html#brokengcc and then try building with something OTHER than GCC 4.1.2 . ----- Original Message ---- > From: Nick Johnson <npjohnso at cs.princeton.edu> > To: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu> > Sent: Monday, May 11, 2009 3:01:12 PM > Subject: [LLVMdev] Pass Manager hangs with CallGraph and LoopSimplify >
2006 Sep 18
3
[LLVMdev] Manipulate order of optimizations in llvm-ld
Hi, I've written a couple of passes, and I intend to use them using llvm-ld (loading works fine). However, I can't seem to figure out how to put them first, i.e. before all other optimizations (inlining, internalizing, ... should only kick in after my passes). Omitting AnalysisUsage::setPreservesAll() doesn't help and there is no AnalysisUsage::invalidateAll(). Does anybody know
2006 May 01
2
[LLVMdev] How to link the right libraries?
Hello, llvmers. Could someone explain me a little about the opt tool? I am having problems to load a MachineFunctionPass using opt. I have this pass: #include "llvm/Pass.h" #include "llvm/Function.h" #include "llvm/CodeGen/MachineFunctionPass.h" #include <iostream> using namespace llvm; namespace { struct MacFoo : public MachineFunctionPass { virtual
2005 Sep 05
2
[LLVMdev] Pass is not automatically registered
I am not sure if my problem is similar to: http://lists.cs.uiuc.edu/pipermail/llvmdev/2003-December/000715.html It seems that the constructor of the static global pass object isn't called: lib/CodeGen/DependenceAnalyzer.cpp: static RegisterAnalysis<DependenceAnalyzer> X("depana", "Dependence Analysis"); I traced into struct RegisterAnalysis ctor, but my pass
2011 May 18
0
[LLVMdev] 2.9 pass manager asserts "Unable to handle Pass that requires lower level Analysis pass"
Hi, I am trying to write an LLVM project, using LLVM 2.9. My passes are defined as follows, where the Pass2 requires Pass1. namespace llvm { class BaseClass : public ModulePass { // Name for printing const char* printname; protected: BaseClass(char id, const char* name) : ModulePass(id),printname(name){ } }; class Pass1 : public BaseClass { public: static char ID; Pass1() :
2009 Oct 05
0
[LLVMdev] [Fwd: Re: problem with multiple LLVM passes]
Rakesh Komuravelli wrote: > Hi John, > > I am having the exact same problem. Let me answer the four questions > that you have asked.. > > 1) Are both passes included in the same dynamic library? If not, are > you loading their respective libraries with multiple -load options? > > Yes. I load both the libraries with two -load options. I see both the > passes listed
2006 May 01
0
[LLVMdev] How to link the right libraries?
On Mon, 1 May 2006, Fernando Magno Quintao Pereira wrote: > Hello, llvmers. Could someone explain me a little about the opt tool? I am > having problems to load a MachineFunctionPass using opt. I have this pass: MachineFunctionPass's cannot be used as part of opt, they can only be used as part of LLC. Further, you have to explicitly modify the target you are interested in to add it
2018 May 07
0
Preservation of CallGraph (by BasicBlockPass, FunctionPass)
I'm not sure about the old pass manager, but I think the new pass manager solves this issue. See llvm::updateCGAndAnalysisManagerForFunctionPass where it updates the call graph to be in sync with edges deleted by function passes. So I suspect the right fix is to use the new pass manager. -- Sanjoy On Mon, May 7, 2018 at 7:32 AM, Björn Pettersson A via llvm-dev <llvm-dev at
2018 May 07
2
Preservation of CallGraph (by BasicBlockPass, FunctionPass)
If I run: opt -globals-aa -die -inline -debug-pass=Details foo.ll -S then I will get this pass structure: Target Library Information Target Transform Information Target Pass Configuration Assumption Cache Tracker Profile summary info ModulePass Manager CallGraph Construction Globals Alias Analysis FunctionPass Manager BasicBlockPass Manager Dead Instruction
2018 Jan 29
1
Polly Dependency Analysis in MyPass
Thank You. Actually i pass polly canonaclize IR to my new created polly pass called "mypass". Mypass should first detect scops then find depedndencies as the mechanism conventional approach. Now i know how to write llvm pass here i am writing pass as loadable module first afterwards i will integrate it with opt in the end. I tried writing following code. Could you please help me on
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