Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 1 | ; This test checks to make sure that 'br X, Dest, Dest' is folded into |
| 2 | ; 'br Dest' |
| 3 | |
Tanya Lattner | 003eae5 | 2008-03-10 07:21:50 +0000 | [diff] [blame] | 4 | ; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | \ |
Dan Gohman | 3c25077 | 2008-05-01 23:50:07 +0000 | [diff] [blame] | 5 | ; RUN: not grep {br i1 %c2} |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 6 | |
Tanya Lattner | 003eae5 | 2008-03-10 07:21:50 +0000 | [diff] [blame] | 7 | declare void @noop() |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 8 | |
Tanya Lattner | 003eae5 | 2008-03-10 07:21:50 +0000 | [diff] [blame] | 9 | define i32 @test(i1 %c1, i1 %c2) { |
| 10 | call void @noop( ) |
| 11 | br i1 %c1, label %A, label %Y |
| 12 | A: ; preds = %0 |
| 13 | call void @noop( ) |
| 14 | br i1 %c2, label %X, label %X |
| 15 | X: ; preds = %Y, %A, %A |
| 16 | call void @noop( ) |
| 17 | ret i32 0 |
| 18 | Y: ; preds = %0 |
| 19 | call void @noop( ) |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 20 | br label %X |
| 21 | } |
Tanya Lattner | 003eae5 | 2008-03-10 07:21:50 +0000 | [diff] [blame] | 22 | |