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