Tobias Grosser | f96b006 | 2010-07-22 07:46:31 +0000 | [diff] [blame] | 1 | ; RUN: opt -regions -analyze < %s | FileCheck %s |
Chandler Carruth | 49589f0 | 2012-07-02 18:37:59 +0000 | [diff] [blame] | 2 | ; RUN: opt -regions -stats < %s 2>&1 | FileCheck -check-prefix=STAT %s |
| 3 | ; RUN: opt -regions -print-region-style=bb -analyze < %s 2>&1 | FileCheck -check-prefix=BBIT %s |
| 4 | ; RUN: opt -regions -print-region-style=rn -analyze < %s 2>&1 | FileCheck -check-prefix=RNIT %s |
Tobias Grosser | f96b006 | 2010-07-22 07:46:31 +0000 | [diff] [blame] | 5 | |
| 6 | define void @a_linear_impl_fig_1() nounwind { |
| 7 | 0: |
| 8 | br label %"1" |
| 9 | 1: |
| 10 | br label %"2" |
| 11 | 2: |
| 12 | br label %"3" |
| 13 | 3: |
| 14 | br i1 1, label %"13", label %"4" |
| 15 | 4: |
| 16 | br i1 1, label %"5", label %"1" |
| 17 | 5: |
| 18 | br i1 1, label %"8", label %"6" |
| 19 | 6: |
| 20 | br i1 1, label %"7", label %"4" |
| 21 | 7: |
| 22 | ret void |
| 23 | 8: |
| 24 | br i1 1, label %"9", label %"1" |
| 25 | 9: |
| 26 | br label %"10" |
| 27 | 10: |
| 28 | br i1 1, label %"12", label %"11" |
| 29 | 11: |
| 30 | br i1 1, label %"9", label %"8" |
| 31 | 13: |
| 32 | br i1 1, label %"2", label %"1" |
| 33 | 12: |
| 34 | switch i32 0, label %"1" [ i32 0, label %"9" |
| 35 | i32 1, label %"8"] |
| 36 | } |
| 37 | |
| 38 | ; CHECK-NOT: => |
| 39 | ; CHECK: [0] 0 => <Function Return> |
| 40 | ; CHECK-NEXT: [1] 1 => 7 |
| 41 | ; CHECK-NEXT: [2] 1 => 4 |
| 42 | ; CHECK-NEXT: [2] 8 => 1 |
| 43 | |
| 44 | ; STAT: 4 region - The # of regions |
| 45 | ; STAT: 1 region - The # of simple regions |
| 46 | |
| 47 | ; BBIT: 0, 1, 2, 3, 13, 4, 5, 8, 9, 10, 12, 11, 6, 7, |
| 48 | ; BBIT: 1, 2, 3, 13, 4, 5, 8, 9, 10, 12, 11, 6, |
| 49 | ; BBIT: 1, 2, 3, 13, |
| 50 | ; BBIT: 8, 9, 10, 12, 11, |
| 51 | |
| 52 | ; RNIT: 0, 1 => 7, 7, |
| 53 | ; RNIT: 1 => 4, 4, 5, 8 => 1, 6, |
| 54 | ; RNIT: 1, 2, 3, 13, |
| 55 | ; RNIT: 8, 9, 10, 12, 11, |