2003-04-18 19:22:39 +00:00
|
|
|
; This testcases makes sure that mem2reg can handle unreachable blocks.
|
2009-09-11 18:01:28 +00:00
|
|
|
; RUN: opt < %s -mem2reg
|
2003-04-18 19:22:39 +00:00
|
|
|
|
2008-03-19 07:28:33 +00:00
|
|
|
define i32 @test() {
|
|
|
|
%X = alloca i32 ; <i32*> [#uses=2]
|
|
|
|
store i32 6, i32* %X
|
2003-04-18 19:22:39 +00:00
|
|
|
br label %Loop
|
2008-03-19 07:28:33 +00:00
|
|
|
Loop: ; preds = %EndOfLoop, %0
|
|
|
|
store i32 5, i32* %X
|
2003-04-18 19:22:39 +00:00
|
|
|
br label %EndOfLoop
|
2008-03-19 07:28:33 +00:00
|
|
|
Unreachable: ; No predecessors!
|
2003-04-18 19:22:39 +00:00
|
|
|
br label %EndOfLoop
|
2008-03-19 07:28:33 +00:00
|
|
|
EndOfLoop: ; preds = %Unreachable, %Loop
|
2003-04-18 19:22:39 +00:00
|
|
|
br label %Loop
|
|
|
|
}
|
2008-03-19 07:28:33 +00:00
|
|
|
|