[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


           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
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

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