Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 1 | ; This is a basic sanity check for constant propogation. The add instruction |
| 2 | ; should be eliminated. |
| 3 | |
Tanya Lattner | ba93e2d | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 4 | ; RUN: llvm-as < %s | opt -sccp | llvm-dis | not grep add |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 5 | |
Tanya Lattner | ba93e2d | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 6 | define i32 @test(i1 %B) { |
| 7 | br i1 %B, label %BB1, label %BB2 |
| 8 | BB1: ; preds = %0 |
| 9 | %Val = add i32 0, 0 ; <i32> [#uses=1] |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 10 | br label %BB3 |
Tanya Lattner | ba93e2d | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 11 | BB2: ; preds = %0 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 12 | br label %BB3 |
Tanya Lattner | ba93e2d | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 13 | BB3: ; preds = %BB2, %BB1 |
| 14 | %Ret = phi i32 [ %Val, %BB1 ], [ 1, %BB2 ] ; <i32> [#uses=1] |
| 15 | ret i32 %Ret |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 16 | } |
Tanya Lattner | ba93e2d | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 17 | |