[LLVMdev] llvm seg fault when specifying addRequiredTransitive in module pass
jiaqi zhang
zation99 at gmail.com
Tue Mar 20 19:10:33 PDT 2012
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>
More information about the llvm-dev
mailing list