[LLVMbugs] [Bug 1110] NEW: crash in domtree after break-crit-edges

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sun Jan 14 06:32:33 PST 2007


http://llvm.org/bugs/show_bug.cgi?id=1110

           Summary: crash in domtree after break-crit-edges
           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: nicholas at mxc.ca


Steps to reproduce:

$ llvm/Debug/bin/opt -etforest -break-crit-edges -domtree x.bc -disable-output
Segmentation fault

The backtrace shows an infinite loop
#123147 0x085b20b7 in llvm::DominatorTree::getNodeForBlock (this=0x87191f8, 
    BB=0x0) at Dominators.cpp:380

but before that, it  seems that llvm::DominatorTree::calculate's "ImmDom", which
is gets from ImmediateDominator is out of date:

#174577 0x085b225f in llvm::DominatorTree::calculate (this=0x87191f8, 
    ID=@0x871a1a8) at Dominators.cpp:399
399             Node *IDomNode = getNodeForBlock(ImmDom);
(gdb) p ImmDom
$2 = (class llvm::BasicBlock *) 0x8719838
(gdb) p ImmDom->getName()
Cannot access memory at address 0xff75effc
(gdb) down
#174576 0x085b20b7 in llvm::DominatorTree::getNodeForBlock (this=0x87191f8, 
    BB=0x8719838) at Dominators.cpp:380
380       Node *IDomNode = getNodeForBlock(IDom);
(gdb) p IDom
$3 = (class llvm::BasicBlock *) 0x0

and that's the start of the infinite loop.



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the llvm-bugs mailing list