jiaqi zhang
2012-Mar-21 02:10 UTC
[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 llvm::PMTopLevelManager::setLastUser (this=0x8c10934, AnalysisPasses=..., P=0xb121c18) at PassManager.cpp:512 #2 0x0877ee0f in llvm::MPPassManager::addLowerLevelRequiredPass (this=0x8c102d8, P=0xb121c18, RequiredPass=0xb15b988) at PassManager.cpp:162\ 5 #3 0x0877ca44 in llvm::PMDataManager::add (this=0x8c102e8, P=0xb121c18, ProcessAnalysis=true) at PassManager.cpp:1014 #4 0x0877f549 in llvm::ModulePass::assignPassManager (this=0xb121c18, PMS=..., PreferredType=llvm::PMT_ModulePassManager) at PassManager.cpp\ :1782 #5 0x0877b339 in llvm::PMTopLevelManager::schedulePass (this=0x99ce80c, P=0xb121c18) at PassManager.cpp:655 #6 0x08780ab6 in llvm::PassManagerImpl::add (this=0x99ce738, P=0xb121c18) at PassManager.cpp:387 #7 0x0877f0bf in llvm::PassManager::add (this=0xbfffefc8, P=0xb121c18) at PassManager.cpp:1680 #8 0x082c6ad7 in addPass (PM=..., P=0xb121c18) at opt.cpp:397 #9 0x082c79c1 in main (argc=5, argv=0xbffff0f4) at opt.cpp:636 I am using the llvm just checked out from svn. It is configured with Debug and Asserts enabled. I tried to use setPrevervesAll() and the seg fault still exists. I also tried to require other passes such as DominatorTree and it also crashes. I found a similar bug at http://llvm.org/bugs/show_bug.cgi?id=9550. However since I just checked out from svn, I believe the patch is already there. Could any one help on this issue? Any instructions or walk around is greatly appreciated. Thanks very much. -- Best regards JiaQi Zhang -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120320/97085a0f/attachment.html>
Possibly Parallel Threads
- [LLVMdev] addRequired vs addRequiredTransitive
- [LLVMdev] AnalysisUsage: addRequired vs. addRequiredTransitive
- [LLVMdev] AnalysisUsage: addRequired vs. addRequiredTransitive
- [LLVMdev] AnalysisUsage: addRequired vs. addRequiredTransitive
- [LLVMdev] AnalysisUsage: addRequired vs. addRequiredTransitive