[LLVMbugs] [Bug 2640] New: PassManager unable to schedule lcssa
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Tue Aug 5 12:48:46 PDT 2008
http://llvm.org/bugs/show_bug.cgi?id=2640
Summary: PassManager unable to schedule lcssa
Product: libraries
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Core LLVM classes
AssignedTo: unassignedbugs at nondot.org
ReportedBy: nlewycky at google.com
CC: llvmbugs at cs.uiuc.edu
The pass manager asserts when run with -loop-deletion -loop-index-split. What's
going on?
$ echo | llvm-as > empty.bc
$ opt -loop-deletion -loop-index-split empty.bc -disable-output
-debug-pass=Structure
Pass Arguments: -domtree -loops -scalar-evolution -loopsimplify -domfrontier
-scalar-evolution -lcssa -loop-deletion -domfrontier
Target Data Layout
ModulePass Manager
FunctionPass Manager
Dominator Tree Construction
Natural Loop Construction
Scalar Evolution Analysis
-- Scalar Evolution Analysis
Canonicalize natural loops
Dominance Frontier Construction
Scalar Evolution Analysis
Loop Pass Manager
Loop-Closed SSA Form Pass
Delete dead loops
-- Delete dead loops
-- Loop-Closed SSA Form Pass
-- Dominance Frontier Construction
Dominance Frontier Construction
Loop Pass Manager
-- Dominance Frontier Construction
-- Scalar Evolution Analysis
-- Dominator Tree Construction
-- Canonicalize natural loops
-- Natural Loop Construction
Unable to schedule 'Loop-Closed SSA Form Pass' required by 'Index Split Loops'
opt: PassManager.cpp:990: virtual void
llvm::PMDataManager::addLowerLevelRequiredPass(llvm::Pass*, llvm::Pass*):
Assertion `0 && "Unable to schedule pass"' failed.
#0 0xffffe410 in __kernel_vsyscall ()
#1 0x49737c51 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0x49739619 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0x49731031 in __assert_fail () from /lib/tls/i686/cmov/libc.so.6
#4 0x0863998e in llvm::PMDataManager::addLowerLevelRequiredPass (
this=0x87b77d0, P=0x87b7700, RequiredPass=0x87b7ae0) at PassManager.cpp:990
#5 0x0863cbb0 in llvm::PMDataManager::add (this=0x87b77d0, P=0x87b7700,
ProcessAnalysis=true) at PassManager.cpp:800
#6 0x08563277 in llvm::LoopPass::assignPassManager (this=0x87b7700,
PMS=@0x87b7478, PreferredType=llvm::PMT_Unknown) at LoopPass.cpp:325
#7 0x08646e6a in llvm::PassManagerImpl::addTopLevelPass (this=0x87b7408,
P=0x87b7700) at PassManager.cpp:304
#8 0x0863a2d0 in llvm::PMTopLevelManager::schedulePass (this=0x87b7474,
P=0x87b7700) at PassManager.cpp:462
#9 0x08640e09 in llvm::PassManagerImpl::add (this=0x87b7408, P=0x87b7700)
at PassManager.cpp:280
#10 0x0863a2fb in llvm::PassManager::add (this=0xffffd5a4, P=0x87b7700)
at PassManager.cpp:1413
#11 0x08375fb4 in (anonymous namespace)::addPass (PM=@0xffffd5a4, P=0x87b7700)
at opt.cpp:234
#12 0x083746c8 in main (argc=5, argv=0xffffd794) at opt.cpp:404
Note that both loop deletion and loop index splitting require and preserve
lcssa.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list