Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Side by Side Diff: tests_lit/reader_tests/forwardref.ll

Issue 576853002: Add forward instruction declaration to Subzero bitcode reader. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix nits in patch set 3. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests_lit/lit.cfg ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 ; Test use forward type references in function blocks.
2
3 ; RUN: llvm-as < %s | pnacl-freeze -allow-local-symbol-tables \
4 ; RUN: | %llvm2ice -notranslate -verbose=inst -build-on-read \
5 ; RUN: -allow-pnacl-reader-error-recovery \
6 ; RUN: -allow-local-symbol-tables \
7 ; RUN: | FileCheck %s
8
9 ; RUN: llvm-as < %s | pnacl-freeze | pnacl-bcdis -no-records \
10 ; RUN: | FileCheck --check-prefix=DUMP %s
11
12 define void @LoopCarriedDep() {
13 b0:
14 %v0 = add i32 1, 2
15 br label %b1
16 b1:
17 %v1 = phi i32 [%v0, %b0], [%v2, %b1]
18 %v2 = add i32 %v1, 1
19 br label %b1
20 }
21
22 ; CHECK: define void @LoopCarriedDep() {
23 ; CHECK-NEXT: b0:
24 ; CHECK-NEXT: %v0 = add i32 1, 2
25 ; CHECK-NEXT: br label %b1
26 ; CHECK-NEXT: b1:
27 ; CHECK-NEXT: %v1 = phi i32 [ %v0, %b0 ], [ %v2, %b1 ]
28 ; CHECK-NEXT: %v2 = add i32 %v1, 1
29 ; CHECK-NEXT: br label %b1
30 ; CHECK-NEXT: }
31
32 ; Snippet of bitcode objdump with forward type reference (see "declare").
33 ; DUMP: function void @f0() { // BlockID = 12
34 ; DUMP-NEXT: blocks 2;
35 ; DUMP-NEXT: constants { // BlockID = 11
36 ; DUMP-NEXT: i32: <@a0>
37 ; DUMP-NEXT: %c0 = i32 1; <@a1>
38 ; DUMP-NEXT: %c1 = i32 2; <@a1>
39 ; DUMP-NEXT: }
40 ; DUMP-NEXT: %b0:
41 ; DUMP-NEXT: %v0 = add i32 %c0, %c1; <@a1>
42 ; DUMP-NEXT: br label %b1;
43 ; DUMP-NEXT: %b1:
44 ; DUMP-NEXT: declare i32 %v2; <@a6>
45 ; DUMP-NEXT: %v1 = phi i32 [%v0, %b0], [%v2, %b1];
46 ; DUMP-NEXT: %v2 = add i32 %v1, %c0; <@a1>
47 ; DUMP-NEXT: br label %b1;
48 ; DUMP-NEXT: }
49
50 define void @BackBranch(i32 %p0) {
51 b0:
52 br label %b4
53 b1:
54 %v0 = add i32 %p0, %v3
55 br label %b6
56 b2:
57 %v1 = add i32 %p0, %v4
58 br label %b6
59 b3:
60 %v2 = add i32 %p0, %v3 ; No forward declare, already done!
61 br label %b6
62 b4:
63 %v3 = add i32 %p0, %p0
64 br i1 1, label %b1, label %b5
65 b5:
66 %v4 = add i32 %v3, %p0
67 br i1 1, label %b2, label %b3
68 b6:
69 ret void
70 }
71
72 ; CHECK: define void @BackBranch(i32 %p0) {
73 ; CHECK-NEXT: b0:
74 ; CHECK-NEXT: br label %b4
75 ; CHECK-NEXT: b1:
76 ; CHECK-NEXT: %v0 = add i32 %p0, %v3
77 ; CHECK-NEXT: br label %b6
78 ; CHECK-NEXT: b2:
79 ; CHECK-NEXT: %v1 = add i32 %p0, %v4
80 ; CHECK-NEXT: br label %b6
81 ; CHECK-NEXT: b3:
82 ; CHECK-NEXT: %v2 = add i32 %p0, %v3
83 ; CHECK-NEXT: br label %b6
84 ; CHECK-NEXT: b4:
85 ; CHECK-NEXT: %v3 = add i32 %p0, %p0
86 ; CHECK-NEXT: br i1 true, label %b1, label %b5
87 ; CHECK-NEXT: b5:
88 ; CHECK-NEXT: %v4 = add i32 %v3, %p0
89 ; CHECK-NEXT: br i1 true, label %b2, label %b3
90 ; CHECK-NEXT: b6:
91 ; CHECK-NEXT: ret void
92 ; CHECK-NEXT: }
93
94 ; Snippet of bitcode objdump with forward type references (see "declare").
95 ; DUMP: function void @f1(i32 %p0) { // BlockID = 12
96 ; DUMP-NEXT: blocks 7;
97 ; DUMP-NEXT: constants { // BlockID = 11
98 ; DUMP-NEXT: i1: <@a0>
99 ; DUMP-NEXT: %c0 = i1 1; <@a1>
100 ; DUMP-NEXT: }
101 ; DUMP-NEXT: %b0:
102 ; DUMP-NEXT: br label %b4;
103 ; DUMP-NEXT: %b1:
104 ; DUMP-NEXT: declare i32 %v3; <@a6>
105 ; DUMP-NEXT: %v0 = add i32 %p0, %v3; <@a1>
106 ; DUMP-NEXT: br label %b6;
107 ; DUMP-NEXT: %b2:
108 ; DUMP-NEXT: declare i32 %v4; <@a6>
109 ; DUMP-NEXT: %v1 = add i32 %p0, %v4; <@a1>
110 ; DUMP-NEXT: br label %b6;
111 ; DUMP-NEXT: %b3:
112 ; DUMP-NEXT: %v2 = add i32 %p0, %v3; <@a1>
113 ; DUMP-NEXT: br label %b6;
114 ; DUMP-NEXT: %b4:
115 ; DUMP-NEXT: %v3 = add i32 %p0, %p0; <@a1>
116 ; DUMP-NEXT: br i1 %c0, label %b1, label %b5;
117 ; DUMP-NEXT: %b5:
118 ; DUMP-NEXT: %v4 = add i32 %v3, %p0; <@a1>
119 ; DUMP-NEXT: br i1 %c0, label %b2, label %b3;
120 ; DUMP-NEXT: %b6:
121 ; DUMP-NEXT: ret void; <@a3>
122 ; DUMP-NEXT: }
OLDNEW
« no previous file with comments | « tests_lit/lit.cfg ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698