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