| OLD | NEW |
| 1 ; Test use forward type references in function blocks. | 1 ; Test use forward type references in function blocks. |
| 2 | 2 |
| 3 ; RUN: %p2i -i %s --insts | FileCheck %s | 3 ; RUN: %p2i -i %s --insts | FileCheck %s |
| 4 ; RUN: llvm-as < %s | pnacl-freeze | pnacl-bcdis -no-records \ | 4 ; RUN: llvm-as < %s | pnacl-freeze | pnacl-bcdis -no-records \ |
| 5 ; RUN: | FileCheck --check-prefix=DUMP %s | 5 ; RUN: | FileCheck --check-prefix=DUMP %s |
| 6 ; RUN: %p2i -i %s --args -notranslate -timing | \ | 6 ; RUN: %p2i -i %s --args -notranslate -timing | \ |
| 7 ; RUN: FileCheck --check-prefix=NOIR %s | 7 ; RUN: FileCheck --check-prefix=NOIR %s |
| 8 | 8 |
| 9 define internal void @LoopCarriedDep() { | 9 define internal void @LoopCarriedDep() { |
| 10 b0: | 10 b0: |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 b6: | 65 b6: |
| 66 ret void | 66 ret void |
| 67 } | 67 } |
| 68 | 68 |
| 69 ; CHECK: define internal void @BackBranch(i32 %p0) { | 69 ; CHECK: define internal void @BackBranch(i32 %p0) { |
| 70 ; CHECK-NEXT: b0: | 70 ; CHECK-NEXT: b0: |
| 71 ; CHECK-NEXT: br label %b4 | 71 ; CHECK-NEXT: br label %b4 |
| 72 ; CHECK-NEXT: b1: | 72 ; CHECK-NEXT: b1: |
| 73 ; CHECK-NEXT: %v0 = add i32 %p0, %v3 | 73 ; CHECK-NEXT: %v0 = add i32 %p0, %v3 |
| 74 ; CHECK-NEXT: br label %b6 | 74 ; CHECK-NEXT: br label %b6 |
| 75 ; CHECK-NEXT: b2: | |
| 76 ; CHECK-NEXT: %v1 = add i32 %p0, %v4 | |
| 77 ; CHECK-NEXT: br label %b6 | |
| 78 ; CHECK-NEXT: b3: | |
| 79 ; CHECK-NEXT: %v2 = add i32 %p0, %v3 | |
| 80 ; CHECK-NEXT: br label %b6 | |
| 81 ; CHECK-NEXT: b4: | 75 ; CHECK-NEXT: b4: |
| 82 ; CHECK-NEXT: %v3 = add i32 %p0, %p0 | 76 ; CHECK-NEXT: %v3 = add i32 %p0, %p0 |
| 83 ; CHECK-NEXT: br i1 true, label %b1, label %b5 | 77 ; CHECK-NEXT: br label %b1 |
| 84 ; CHECK-NEXT: b5: | |
| 85 ; CHECK-NEXT: %v4 = add i32 %v3, %p0 | |
| 86 ; CHECK-NEXT: br i1 true, label %b2, label %b3 | |
| 87 ; CHECK-NEXT: b6: | 78 ; CHECK-NEXT: b6: |
| 88 ; CHECK-NEXT: ret void | 79 ; CHECK-NEXT: ret void |
| 89 ; CHECK-NEXT: } | 80 ; CHECK-NEXT: } |
| 90 | 81 |
| 91 ; Snippet of bitcode objdump with forward type references (see "declare"). | 82 ; Snippet of bitcode objdump with forward type references (see "declare"). |
| 92 ; DUMP: function void @f1(i32 %p0) { // BlockID = 12 | 83 ; DUMP: function void @f1(i32 %p0) { // BlockID = 12 |
| 93 ; DUMP-NEXT: blocks 7; | 84 ; DUMP-NEXT: blocks 7; |
| 94 ; DUMP-NEXT: constants { // BlockID = 11 | 85 ; DUMP-NEXT: constants { // BlockID = 11 |
| 95 ; DUMP-NEXT: i1: <@a0> | 86 ; DUMP-NEXT: i1: <@a0> |
| 96 ; DUMP-NEXT: %c0 = i1 1; <@a1> | 87 ; DUMP-NEXT: %c0 = i1 1; <@a1> |
| (...skipping 15 matching lines...) Expand all Loading... |
| 112 ; DUMP-NEXT: %v3 = add i32 %p0, %p0; <@a1> | 103 ; DUMP-NEXT: %v3 = add i32 %p0, %p0; <@a1> |
| 113 ; DUMP-NEXT: br i1 %c0, label %b1, label %b5; | 104 ; DUMP-NEXT: br i1 %c0, label %b1, label %b5; |
| 114 ; DUMP-NEXT: %b5: | 105 ; DUMP-NEXT: %b5: |
| 115 ; DUMP-NEXT: %v4 = add i32 %v3, %p0; <@a1> | 106 ; DUMP-NEXT: %v4 = add i32 %v3, %p0; <@a1> |
| 116 ; DUMP-NEXT: br i1 %c0, label %b2, label %b3; | 107 ; DUMP-NEXT: br i1 %c0, label %b2, label %b3; |
| 117 ; DUMP-NEXT: %b6: | 108 ; DUMP-NEXT: %b6: |
| 118 ; DUMP-NEXT: ret void; <@a3> | 109 ; DUMP-NEXT: ret void; <@a3> |
| 119 ; DUMP-NEXT: } | 110 ; DUMP-NEXT: } |
| 120 | 111 |
| 121 ; NOIR: Total across all functions | 112 ; NOIR: Total across all functions |
| OLD | NEW |