Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 1 | ; Test CFG simplify removal of branch instructions... |
| 2 | ; |
Chris Lattner | 9a8e2f2 | 2009-09-11 17:02:12 +0000 | [diff] [blame] | 3 | ; RUN: opt < %s -simplifycfg -S | not grep br |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 4 | |
Tanya Lattner | b46665e | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 5 | define void @test1() { |
| 6 | br label %BB1 |
| 7 | BB1: ; preds = %0 |
| 8 | ret void |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 9 | } |
| 10 | |
Tanya Lattner | b46665e | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 11 | define void @test2() { |
| 12 | ret void |
| 13 | BB1: ; No predecessors! |
| 14 | ret void |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 15 | } |
| 16 | |
Tanya Lattner | b46665e | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 17 | define void @test3(i1 %T) { |
| 18 | br i1 %T, label %BB1, label %BB1 |
| 19 | BB1: ; preds = %0, %0 |
| 20 | ret void |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 21 | } |
| 22 | |
| 23 | |
Chris Lattner | ec080e7 | 2009-10-30 22:39:36 +0000 | [diff] [blame] | 24 | define void @test4() { |
| 25 | entry: |
| 26 | br label %return |
| 27 | return: |
| 28 | ret void |
| 29 | } |
| 30 | @test4g = global i8* blockaddress(@test4, %return) |