similar to: [LLVMdev] Assertion in MPPassManager::addLowerLevelRequiredPass

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Assertion in MPPassManager::addLowerLevelRequiredPass"

2009 Mar 09
1
[LLVMdev] Patch: PassManager should call add() instead of addLowerLevelRequiredPass()
Hello, LLVM asserts in the following scenario. Say there are three passes: A, B, C. C requires A and B; B requires A; and B does not preserve A. A valid pass ordering would be A B A C. However, opt gives the following assertion: $ opt -load libPassTest.so foo.bc -f -o /dev/null -c -debug-pass=Structure opt: /u/loc/kevin/llvm/llvm/lib/VMCore/PassManager.cpp:1424: virtual void
2009 Jan 21
1
[LLVMdev] poolallocation error
Dear Prakash, I believe I've fixed the problem you were having with ds-aa. Please update your poolalloc tree, recompile, and let me know if it works. -- John T. Criswell, John T wrote: > [snip] > > ________________________________________ > From: llvmdev-bounces at cs.uiuc.edu [llvmdev-bounces at cs.uiuc.edu] On Behalf Of Prakash Prabhu [prakash.prabhu at gmail.com] > Sent:
2009 Jan 19
0
[LLVMdev] poolallocation error
Dear Prakash, Yes, DSA is still in active use, although nobody else uses the -ds-aa pass as far as I know. I tried the below sample (although ds-aa should be in libLLVMDataStructure.so and not libpoolalloc.so), and I get the same error. I've seen similar problems with other passes in our work here. My guess is that -ds-aa is requiring two passes that claim to invalidate each other; this
2009 Jan 16
1
[LLVMdev] poolallocation error
Hi all, I too am getting this error for x86_64 when I am trying to use the Data Structure Analysis ...I svn upped both the llvm main branch and the poolalloc today in the morning and recompiled everything from scratch : $ opt -load /home/pprabhu/llvm/llvm-install-x86-64/lib/libpoolalloc.so -ds-aa < o.bc opt: /home/pprabhu/llvm/llvm/lib/VMCore/PassManager.cpp:1418: virtual void
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() :
2008 Oct 24
1
[LLVMdev] Using DSA alias analysis
Dear all, I am trying to use the DSA-based alias analysis. I want to do something like this: opt -ds-aa -print-alias-sets -disable-output hello.bc I downloaded and installed llvm-gcc 2.3 and added to PATH, then svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm cd llvm/projects svn co http://llvm.org/svn/llvm-project/poolalloc/trunk/ poolalloc and built without enabling optimizations, on
2008 Nov 19
2
[LLVMdev] poolallocation error
Hi, I am trying to use the poolallocator. More specific, I am trying to play around with the pointer compression pass. Though, I get assertion failures for the pass dependencies. This is when it in PointerCompress::getAnalysisUsage tries to register the the BU pass as required. I.e. when AU.addRequired<CompleteBUDataStructures>(); is called. $ opt -f -load
2012 Mar 21
0
[LLVMdev] llvm seg fault when specifying addRequiredTransitive in module pass
Hi all, I am using llvm to perform some static analysis with a module pass. In getAnalysisUsage(), I specified some required passes by: addRequiredTransitive<LoopInfo>(); When I run my pass using opt, it crashes with segmentation fault with callstack: #0 0x0877aebd in llvm::PMTopLevelManager::findAnalysisUsage (this=0x8c10934, P=0xb15b988) at PassManager.cpp:573 #1 0x0877aa9b in
2011 May 04
0
[LLVMdev] 2.9 segfault when requesting for both LoopInfo and DominatorTree analyses.
Hi Michael, > When migrating my project to 2.9, I've encountered a strange segfault > where if a ModulePass's getAnalysisUsage adds LoopInfo and > DominatorTree, then llvm::PMTopLevelManager::findAnalysisUsage will > segfault. I suggest you build LLVM with assertions enabled - then you should get a helpful error message rather than a segfault. I think you are not allowed to
2011 May 17
0
[LLVMdev] 2.9 segfault when requesting for both LoopInfo and DominatorTree analyses.
Hi, I am running into the same issue with a module pass, that calls LoopInfo.(does not call DominatorTree) I am using RegisterPass, since it is a dynamically loaded module(as per lib/Transforms/Hello) It does seem possible from the discussion, to use LoopInfo inside a ModulePass. I am wondering what the fix to this problem was. Also, the code works in 2.7.(I did not try 2.8) Thanks, Arushi
2011 May 03
4
[LLVMdev] 2.9 segfault when requesting for both LoopInfo and DominatorTree analyses.
When migrating my project to 2.9, I've encountered a strange segfault where if a ModulePass's getAnalysisUsage adds LoopInfo and DominatorTree, then llvm::PMTopLevelManager::findAnalysisUsage will segfault. What's odd is that if I rearrange this (add required for DominatorTree before LoopInfo), it does not segfault. I realize that LoopInfo requires and preserves DominatorTree, but this
2011 May 04
0
[LLVMdev] 2.9 segfault when requesting for both LoopInfo and DominatorTree analyses.
Hi Michael, hi Duncan, yesterday I stumbled over something that might be related. At least I could also just be doing some initialization wrong or something in this direction... In my case, I hit a segfault in PassInfo::isAnalysisGroup() after PassManager.add(myModulePass) is called. My setup seems fairly simple, the attached code should reproduce the error. Compile with g++ test.cpp
2011 May 04
2
[LLVMdev] 2.9 segfault when requesting for both LoopInfo and DominatorTree analyses.
Thanks for the response. I do have assertions enabled, and none of them are getting hit. I did do a search of the mailing list for the past year (approximately) before writing my email, and what I found was that you should be allowed to use LoopInfo and other analysis function passes from a module pass, with the only difference being that getAnalysis is passed the function. The example code I
2011 May 04
1
[LLVMdev] 2.9 segfault when requesting for both LoopInfo and DominatorTree analyses.
Your constructor is not calling initializeTestMPPass(), and you're using RegisterPass which I think was deprecated in favor of INITIALIZE_PASS. You can look at, for example, lib/Transforms/Scalar/IndVarSimplify.cpp for examples of how to initialize, e.g. having "INITIALIZE_PASS_DEPENDENCY(LoopInfo)" sandwiched between BEGIN and END. Note that you'll want a forward declaration of
2007 Jul 25
0
[LLVMdev] PassManager Error
On Jul 25, 2007, at 3:15 PM, David A. Greene wrote: > Can anyone explain what this means? > > llvm/include/llvm/PassManagers.h:232: virtual void > llvm::PMDataManager::addLowerLevelRequiredPass(llvm::Pass*, > llvm::Pass*): > Assertion `0 && "Unable to handle Pass that requires lower level > Analysis > pass"' failed. In simple words, pass manager
2016 Mar 21
2
[Inliner] Loop info in the inliner
Hi,It seems inliner does not take into account if a call is inside a loop. I'm trying to figure out if loop-info can be made available to the inliner. When I try to add LoopInfoWrapperPass to Inliner.cpp, diff --git a/llvm/lib/Transforms/IPO/Inliner.cpp b/llvm/lib/Transforms/IPO/Inliner.cppindex 568707d..cb51ea8 100644--- a/llvm/lib/Transforms/IPO/Inliner.cpp+++
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
2016 Mar 22
0
[Inliner] Loop info in the inliner
FYI - There is currently an architectural issue which prevents the SCC pass manager (which runs the inliner) from relying on Function or Loop analysis passes. This is the primary motivation of the pass manager rewrite that Chandler Carruth has been working on for the last two years. He's getting relatively close to that project being done, but until then you are going to be effectively
2007 Jul 25
2
[LLVMdev] PassManager Error
Can anyone explain what this means? llvm/include/llvm/PassManagers.h:232: virtual void llvm::PMDataManager::addLowerLevelRequiredPass(llvm::Pass*, llvm::Pass*): Assertion `0 && "Unable to handle Pass that requires lower level Analysis pass"' failed. -Dave
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