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