blob: 36bd9e64991e604ff4fa7a32eed3545d8a7dc59a [file] [log] [blame]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001; This testcases makes sure that mem2reg can handle unreachable blocks.
Dan Gohman3c7d3082009-09-11 18:01:28 +00002; RUN: opt < %s -mem2reg
Dan Gohmanf17a25c2007-07-18 16:29:46 +00003
Tanya Lattner97928372008-03-19 07:28:33 +00004define i32 @test() {
5 %X = alloca i32 ; <i32*> [#uses=2]
6 store i32 6, i32* %X
Dan Gohmanf17a25c2007-07-18 16:29:46 +00007 br label %Loop
Tanya Lattner97928372008-03-19 07:28:33 +00008Loop: ; preds = %EndOfLoop, %0
9 store i32 5, i32* %X
Dan Gohmanf17a25c2007-07-18 16:29:46 +000010 br label %EndOfLoop
Tanya Lattner97928372008-03-19 07:28:33 +000011Unreachable: ; No predecessors!
Dan Gohmanf17a25c2007-07-18 16:29:46 +000012 br label %EndOfLoop
Tanya Lattner97928372008-03-19 07:28:33 +000013EndOfLoop: ; preds = %Unreachable, %Loop
Dan Gohmanf17a25c2007-07-18 16:29:46 +000014 br label %Loop
15}
Tanya Lattner97928372008-03-19 07:28:33 +000016