Chris Lattner | 9a8e2f2 | 2009-09-11 17:02:12 +0000 | [diff] [blame] | 1 | ; RUN: opt < %s -sccp -dce -simplifycfg -S | not grep br |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 2 | |
Tanya Lattner | ba93e2d | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 3 | define i32 @test(i32 %param) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 4 | entry: |
Tanya Lattner | ba93e2d | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 5 | %tmp.1 = icmp ne i32 %param, 0 ; <i1> [#uses=1] |
| 6 | br i1 %tmp.1, label %endif.0, label %else |
| 7 | else: ; preds = %entry |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 8 | br label %endif.0 |
Tanya Lattner | ba93e2d | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 9 | endif.0: ; preds = %else, %entry |
| 10 | %a.0 = phi i32 [ 2, %else ], [ 3, %entry ] ; <i32> [#uses=1] |
| 11 | %b.0 = phi i32 [ 3, %else ], [ 2, %entry ] ; <i32> [#uses=1] |
| 12 | %tmp.5 = add i32 %a.0, %b.0 ; <i32> [#uses=1] |
| 13 | %tmp.7 = icmp ne i32 %tmp.5, 5 ; <i1> [#uses=1] |
| 14 | br i1 %tmp.7, label %UnifiedReturnBlock, label %endif.1 |
| 15 | endif.1: ; preds = %endif.0 |
| 16 | ret i32 0 |
| 17 | UnifiedReturnBlock: ; preds = %endif.0 |
| 18 | ret i32 2 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 19 | } |
Tanya Lattner | ba93e2d | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 20 | |