[LLVMbugs] [Bug 532] NEW: loop unroll/simplify crashes
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Tue Mar 1 19:42:00 PST 2005
http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=532
Summary: loop unroll/simplify crashes
Product: libraries
Version: trunk
Platform: All
OS/Version: All
Status: NEW
Severity: major
Priority: P2
Component: Scalar Optimizations
AssignedTo: unassignedbugs at nondot.org
ReportedBy: jeffc at jolt-lang.org
Bugpoint claims it's caused by the combination of loop unroll and simplify, and
the actual crash is in loop simplify. Reduced bytecode attached. The crash is at:
opt.exe!llvm::iplist<llvm::Instruction,llvm::ilist_traits<llvm::Instruction>
>::empty() Line 331 + 0x29 C++
opt.exe!llvm::BasicBlock::getTerminator() Line 118 + 0xb C++
opt.exe!llvm::succ_begin(llvm::BasicBlock * BB=0x00000000) Line 138 + 0x8
C++
opt.exe!llvm::Loop::getLoopPreheader() Line 372 + 0xf C++
opt.exe!`anonymous namespace'::LoopSimplify::ProcessLoop(llvm::Loop *
L=0x00f160d8) Line 144 + 0x8 C++
opt.exe!`anonymous namespace'::LoopSimplify::runOnFunction(llvm::Function &
F={...}) Line 101 + 0x17 C++
opt.exe!llvm::PassManagerTraits<llvm::Function>::runPass(llvm::FunctionPass
* P=0x00f12ea0, llvm::Function * F=0x0032c048) Line 706 + 0x11 C++
opt.exe!llvm::PassManagerT<llvm::Function>::runOnUnit(llvm::Function *
M=0x0032c048) Line 256 + 0x10 C++
opt.exe!llvm::PassManagerTraits<llvm::Function>::runOnFunction(llvm::Function &
F={...}) Line 810 + 0x11 C++
opt.exe!llvm::FunctionPass::runOnModule(llvm::Module & M={...}) Line 250 +
0x1a C++
opt.exe!llvm::PassManagerTraits<llvm::Module>::runPass(llvm::ModulePass *
P=0x0032e880, llvm::Module * M=0x00f137b0) Line 746 + 0x2f C++
opt.exe!llvm::PassManagerT<llvm::Module>::runOnUnit(llvm::Module *
M=0x00f137b0) Line 256 + 0x10 C++
opt.exe!llvm::PassManagerTraits<llvm::Module>::runOnModule(llvm::Module &
M={...}) Line 755 + 0x11 C++
opt.exe!llvm::PassManager::run(llvm::Module & M={...}) Line 86 + 0x38 C++
opt.exe!main(int argc=0x00000008, char * * argv=0x00325b50) Line 169 C++
opt.exe!mainCRTStartup() Line 398 + 0x11 C
kernel32.dll!7c816d4f() ntdll.dll!7c915b4f()
kernel32.dll!7c8399f3()
The disassembled code :
void %print_board() {
entry:
br label %no_exit.1
no_exit.1: ; preds = %cond_false.2, %entry
br label %no_exit.2
no_exit.2: ; preds = %no_exit.2, %no_exit.1
%indvar1 = phi uint [ 0, %no_exit.1 ], [ %indvar.next2, %no_exit.2 ]
; <uint> [#uses=1]
%indvar.next2 = add uint %indvar1, 1 ; <uint> [#uses=2]
%exitcond3 = setne uint %indvar.next2, 7 ; <bool> [#uses=1]
br bool %exitcond3, label %no_exit.2, label %loopexit.2
loopexit.2: ; preds = %no_exit.2
br bool false, label %cond_true.2, label %cond_false.2
cond_true.2: ; preds = %loopexit.2
ret void
cond_false.2: ; preds = %loopexit.2
br bool false, label %no_exit.1, label %loopexit.1
loopexit.1: ; preds = %cond_false.2
ret void
}
------- 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