Skip to content

condprop crash on single-entry phi #3777

@llvmbot

Description

@llvmbot
Bugzilla Link 3405
Resolution FIXED
Resolved on Jan 25, 2009 20:19
Version trunk
OS Linux
Reporter LLVM Bugzilla Contributor

Extended Description

Running opt -condprop on the attached bitcode file causes an assertion failure.

Revision is today's trunk and architecture is amd64.


$ opt -condprop bugpoint-reduced-simplified.bc
opt: CondPropagate.cpp:197: void::CondProp::RevectorBlockTo(llvm::BasicBlock*, llvm::BasicBlock*): Assertion `FromBr->isUnconditional() && "FromBB should end with uncond br!"' failed.
0 opt 0x000000000078440f
1 libc.so.6 0x00007f98a5b7ef60
2 libc.so.6 0x00007f98a5b7eed5 gsignal + 53
3 libc.so.6 0x00007f98a5b803f3 abort + 387
4 libc.so.6 0x00007f98a5b77dc9 __assert_fail + 233
5 opt 0x00000000004f3713
6 opt 0x00000000004f3bb0
7 opt 0x000000000072199b llvm::FPPassManager::runOnFunction(llvm::Function&) + 347
8 opt 0x0000000000721bd6 llvm::FPPassManager::runOnModule(llvm::Module&) + 166
9 opt 0x0000000000721577 llvm::MPPassManager::runOnModule(llvm::Module&) + 199
10 opt 0x0000000000721776 llvm::PassManagerImpl::run(llvm::Module&) + 134
11 opt 0x0000000000497166 main + 3046
12 libc.so.6 0x00007f98a5b6b1a6 __libc_start_main + 230
13 opt 0x000000000048be39 sinh + 65
Aborted

Here's the bitcode disassembled:


; ModuleID = 'bugpoint-reduced-simplified.bc'
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
target triple = "x86_64-unknown-linux-gnu"

define i32 @​main(i32 %argc, i8** %argv) nounwind {
entry:
br label %bb2

bb2: ; preds = %bb.bb2_crit_edge, %entry
br i1 false, label %bb5.thread2, label %bb

bb: ; preds = %bb2
br i1 false, label %bb3, label %bb.bb2_crit_edge

bb.bb2_crit_edge: ; preds = %bb
br label %bb2

bb3: ; preds = %bb
%.lcssa4 = phi i1 [ false, %bb ] ; [#uses=1]
br i1 %.lcssa4, label %bb5.thread, label %bb6

bb5.thread: ; preds = %bb3
br label %bb7

bb7: ; preds = %bb5.thread2, %bb5.thread
br label %UnifiedReturnBlock

bb6: ; preds = %bb3
br label %UnifiedReturnBlock

bb5.thread2: ; preds = %bb2
br label %bb7

UnifiedReturnBlock: ; preds = %bb6, %bb7
ret i32 0
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzilla

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions