Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 1 | ; The PHI cannot be eliminated from this testcase, SCCP is mishandling invoke's! |
Dan Gohman | 3c7d308 | 2009-09-11 18:01:28 +0000 | [diff] [blame] | 2 | ; RUN: opt < %s -sccp -S | grep phi |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 3 | |
Tanya Lattner | ba93e2d | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 4 | declare void @foo() |
| 5 | |
| 6 | define i32 @test(i1 %cond) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 7 | Entry: |
Tanya Lattner | ba93e2d | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 8 | br i1 %cond, label %Inv, label %Cont |
| 9 | Inv: ; preds = %Entry |
| 10 | invoke void @foo( ) |
| 11 | to label %Ok unwind label %Cont |
| 12 | Ok: ; preds = %Inv |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 13 | br label %Cont |
Tanya Lattner | ba93e2d | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 14 | Cont: ; preds = %Ok, %Inv, %Entry |
| 15 | %X = phi i32 [ 0, %Entry ], [ 1, %Ok ], [ 0, %Inv ] ; <i32> [#uses=1] |
| 16 | ret i32 %X |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 17 | } |
Tanya Lattner | ba93e2d | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 18 | |