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

Side by Side Diff: tests_lit/llvm2ice_tests/loop-nest-depth.ll

Issue 1387963002: Make sure that all globals are internal, except for "start" functions. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix new tests. Created 5 years, 2 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
OLDNEW
1 ; Test the the loop nest depth is correctly calculated for basic blocks. 1 ; Test the the loop nest depth is correctly calculated for basic blocks.
2 2
3 ; REQUIRES: allow_dump 3 ; REQUIRES: allow_dump
4 4
5 ; Single threaded so that the dumps used for checking happen in order 5 ; Single threaded so that the dumps used for checking happen in order
6 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 --verbose=loop \ 6 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 --verbose=loop \
7 ; RUN: --threads=0 | FileCheck %s 7 ; RUN: --threads=0 | FileCheck %s
8 8
9 define void @test_single_loop(i32 %a32) { 9 define internal void @test_single_loop(i32 %a32) {
10 entry: 10 entry:
11 %a = trunc i32 %a32 to i1 11 %a = trunc i32 %a32 to i1
12 br label %loop0 12 br label %loop0
13 13
14 loop0: ; <-+ 14 loop0: ; <-+
15 br label %loop1 ; | 15 br label %loop1 ; |
16 loop1: ; | 16 loop1: ; |
17 br i1 %a, label %loop0, label %out ; --+ 17 br i1 %a, label %loop0, label %out ; --+
18 18
19 out: 19 out:
20 ret void 20 ret void
21 } 21 }
22 22
23 ; CHECK-LABEL: After loop nest depth analysis 23 ; CHECK-LABEL: After loop nest depth analysis
24 ; CHECK-NEXT: entry: 24 ; CHECK-NEXT: entry:
25 ; CHECK-NEXT: LoopNestDepth = 0 25 ; CHECK-NEXT: LoopNestDepth = 0
26 ; CHECK-NEXT: loop0: 26 ; CHECK-NEXT: loop0:
27 ; CHECK-NEXT: LoopNestDepth = 1 27 ; CHECK-NEXT: LoopNestDepth = 1
28 ; CHECK-NEXT: loop1: 28 ; CHECK-NEXT: loop1:
29 ; CHECK-NEXT: LoopNestDepth = 1 29 ; CHECK-NEXT: LoopNestDepth = 1
30 ; CHECK-NEXT: out: 30 ; CHECK-NEXT: out:
31 ; CHECK-NEXT: LoopNestDepth = 0 31 ; CHECK-NEXT: LoopNestDepth = 0
32 ; CHECK-LABEL: Before RMW 32 ; CHECK-LABEL: Before RMW
33 33
34 define void @test_single_loop_with_continue(i32 %a32, i32 %b32) { 34 define internal void @test_single_loop_with_continue(i32 %a32, i32 %b32) {
35 entry: 35 entry:
36 %a = trunc i32 %a32 to i1 36 %a = trunc i32 %a32 to i1
37 %b = trunc i32 %b32 to i1 37 %b = trunc i32 %b32 to i1
38 br label %loop0 38 br label %loop0
39 39
40 loop0: ; <-+ 40 loop0: ; <-+
41 br label %loop1 ; | 41 br label %loop1 ; |
42 loop1: ; | 42 loop1: ; |
43 br i1 %a, label %loop0, label %loop2 ; --+ 43 br i1 %a, label %loop0, label %loop2 ; --+
44 loop2: ; | 44 loop2: ; |
45 br i1 %b, label %loop0, label %out ; --+ 45 br i1 %b, label %loop0, label %out ; --+
46 46
47 out: 47 out:
48 ret void 48 ret void
49 } 49 }
50 50
51 ; CHECK-LABEL: After loop nest depth analysis 51 ; CHECK-LABEL: After loop nest depth analysis
52 ; CHECK-NEXT: entry: 52 ; CHECK-NEXT: entry:
53 ; CHECK-NEXT: LoopNestDepth = 0 53 ; CHECK-NEXT: LoopNestDepth = 0
54 ; CHECK-NEXT: loop0: 54 ; CHECK-NEXT: loop0:
55 ; CHECK-NEXT: LoopNestDepth = 1 55 ; CHECK-NEXT: LoopNestDepth = 1
56 ; CHECK-NEXT: loop1: 56 ; CHECK-NEXT: loop1:
57 ; CHECK-NEXT: LoopNestDepth = 1 57 ; CHECK-NEXT: LoopNestDepth = 1
58 ; CHECK-NEXT: loop2: 58 ; CHECK-NEXT: loop2:
59 ; CHECK-NEXT: LoopNestDepth = 1 59 ; CHECK-NEXT: LoopNestDepth = 1
60 ; CHECK-NEXT: out: 60 ; CHECK-NEXT: out:
61 ; CHECK-NEXT: LoopNestDepth = 0 61 ; CHECK-NEXT: LoopNestDepth = 0
62 ; CHECK-LABEL: Before RMW 62 ; CHECK-LABEL: Before RMW
63 63
64 define void @test_multiple_exits(i32 %a32, i32 %b32) { 64 define internal void @test_multiple_exits(i32 %a32, i32 %b32) {
65 entry: 65 entry:
66 %a = trunc i32 %a32 to i1 66 %a = trunc i32 %a32 to i1
67 %b = trunc i32 %b32 to i1 67 %b = trunc i32 %b32 to i1
68 br label %loop0 68 br label %loop0
69 69
70 loop0: ; <-+ 70 loop0: ; <-+
71 br label %loop1 ; | 71 br label %loop1 ; |
72 loop1: ; | 72 loop1: ; |
73 br i1 %a, label %loop2, label %out ; --+-+ 73 br i1 %a, label %loop2, label %out ; --+-+
74 loop2: ; | | 74 loop2: ; | |
75 br i1 %b, label %loop0, label %out ; --+ | 75 br i1 %b, label %loop0, label %out ; --+ |
76 ; | 76 ; |
77 out: ; <---+ 77 out: ; <---+
78 ret void 78 ret void
79 } 79 }
80 80
81 ; CHECK-LABEL: After loop nest depth analysis 81 ; CHECK-LABEL: After loop nest depth analysis
82 ; CHECK-NEXT: entry: 82 ; CHECK-NEXT: entry:
83 ; CHECK-NEXT: LoopNestDepth = 0 83 ; CHECK-NEXT: LoopNestDepth = 0
84 ; CHECK-NEXT: loop0: 84 ; CHECK-NEXT: loop0:
85 ; CHECK-NEXT: LoopNestDepth = 1 85 ; CHECK-NEXT: LoopNestDepth = 1
86 ; CHECK-NEXT: loop1: 86 ; CHECK-NEXT: loop1:
87 ; CHECK-NEXT: LoopNestDepth = 1 87 ; CHECK-NEXT: LoopNestDepth = 1
88 ; CHECK-NEXT: loop2: 88 ; CHECK-NEXT: loop2:
89 ; CHECK-NEXT: LoopNestDepth = 1 89 ; CHECK-NEXT: LoopNestDepth = 1
90 ; CHECK-NEXT: out: 90 ; CHECK-NEXT: out:
91 ; CHECK-NEXT: LoopNestDepth = 0 91 ; CHECK-NEXT: LoopNestDepth = 0
92 ; CHECK-LABEL: Before RMW 92 ; CHECK-LABEL: Before RMW
93 93
94 define void @test_two_nested_loops(i32 %a32, i32 %b32) { 94 define internal void @test_two_nested_loops(i32 %a32, i32 %b32) {
95 entry: 95 entry:
96 %a = trunc i32 %a32 to i1 96 %a = trunc i32 %a32 to i1
97 %b = trunc i32 %b32 to i1 97 %b = trunc i32 %b32 to i1
98 br label %loop0_0 98 br label %loop0_0
99 99
100 loop0_0: ; <---+ 100 loop0_0: ; <---+
101 br label %loop1_0 ; | 101 br label %loop1_0 ; |
102 loop1_0: ; <-+ | 102 loop1_0: ; <-+ |
103 br label %loop1_1 ; | | 103 br label %loop1_1 ; | |
104 loop1_1: ; | | 104 loop1_1: ; | |
(...skipping 13 matching lines...) Expand all
118 ; CHECK-NEXT: loop1_0: 118 ; CHECK-NEXT: loop1_0:
119 ; CHECK-NEXT: LoopNestDepth = 2 119 ; CHECK-NEXT: LoopNestDepth = 2
120 ; CHECK-NEXT: loop1_1: 120 ; CHECK-NEXT: loop1_1:
121 ; CHECK-NEXT: LoopNestDepth = 2 121 ; CHECK-NEXT: LoopNestDepth = 2
122 ; CHECK-NEXT: loop0_1: 122 ; CHECK-NEXT: loop0_1:
123 ; CHECK-NEXT: LoopNestDepth = 1 123 ; CHECK-NEXT: LoopNestDepth = 1
124 ; CHECK-NEXT: out: 124 ; CHECK-NEXT: out:
125 ; CHECK-NEXT: LoopNestDepth = 0 125 ; CHECK-NEXT: LoopNestDepth = 0
126 ; CHECK-LABEL: Before RMW 126 ; CHECK-LABEL: Before RMW
127 127
128 define void @test_two_nested_loops_with_continue(i32 %a32, i32 %b32, i32 %c32) { 128 define internal void @test_two_nested_loops_with_continue(i32 %a32, i32 %b32,
129 i32 %c32) {
129 entry: 130 entry:
130 %a = trunc i32 %a32 to i1 131 %a = trunc i32 %a32 to i1
131 %b = trunc i32 %b32 to i1 132 %b = trunc i32 %b32 to i1
132 %c = trunc i32 %c32 to i1 133 %c = trunc i32 %c32 to i1
133 br label %loop0_0 134 br label %loop0_0
134 135
135 loop0_0: ; <---+ 136 loop0_0: ; <---+
136 br label %loop1_0 ; | 137 br label %loop1_0 ; |
137 loop1_0: ; <-+ | 138 loop1_0: ; <-+ |
138 br label %loop1_1 ; | | 139 br label %loop1_1 ; | |
(...skipping 18 matching lines...) Expand all
157 ; CHECK-NEXT: loop1_1: 158 ; CHECK-NEXT: loop1_1:
158 ; CHECK-NEXT: LoopNestDepth = 2 159 ; CHECK-NEXT: LoopNestDepth = 2
159 ; CHECK-NEXT: loop1_2: 160 ; CHECK-NEXT: loop1_2:
160 ; CHECK-NEXT: LoopNestDepth = 2 161 ; CHECK-NEXT: LoopNestDepth = 2
161 ; CHECK-NEXT: loop0_1: 162 ; CHECK-NEXT: loop0_1:
162 ; CHECK-NEXT: LoopNestDepth = 1 163 ; CHECK-NEXT: LoopNestDepth = 1
163 ; CHECK-NEXT: out: 164 ; CHECK-NEXT: out:
164 ; CHECK-NEXT: LoopNestDepth = 0 165 ; CHECK-NEXT: LoopNestDepth = 0
165 ; CHECK-LABEL: Before RMW 166 ; CHECK-LABEL: Before RMW
166 167
167 define void @test_multiple_nested_loops(i32 %a32, i32 %b32) { 168 define internal void @test_multiple_nested_loops(i32 %a32, i32 %b32) {
168 entry: 169 entry:
169 %a = trunc i32 %a32 to i1 170 %a = trunc i32 %a32 to i1
170 %b = trunc i32 %b32 to i1 171 %b = trunc i32 %b32 to i1
171 br label %loop0_0 172 br label %loop0_0
172 173
173 loop0_0: ; <---+ 174 loop0_0: ; <---+
174 br label %loop1_0 ; | 175 br label %loop1_0 ; |
175 loop1_0: ; <-+ | 176 loop1_0: ; <-+ |
176 br label %loop1_1 ; | | 177 br label %loop1_1 ; | |
177 loop1_1: ; | | 178 loop1_1: ; | |
(...skipping 25 matching lines...) Expand all
203 ; CHECK-NEXT: loop2_0: 204 ; CHECK-NEXT: loop2_0:
204 ; CHECK-NEXT: LoopNestDepth = 2 205 ; CHECK-NEXT: LoopNestDepth = 2
205 ; CHECK-NEXT: loop2_1: 206 ; CHECK-NEXT: loop2_1:
206 ; CHECK-NEXT: LoopNestDepth = 2 207 ; CHECK-NEXT: LoopNestDepth = 2
207 ; CHECK-NEXT: loop0_2: 208 ; CHECK-NEXT: loop0_2:
208 ; CHECK-NEXT: LoopNestDepth = 1 209 ; CHECK-NEXT: LoopNestDepth = 1
209 ; CHECK-NEXT: out: 210 ; CHECK-NEXT: out:
210 ; CHECK-NEXT: LoopNestDepth = 0 211 ; CHECK-NEXT: LoopNestDepth = 0
211 ; CHECK-LABEL: Before RMW 212 ; CHECK-LABEL: Before RMW
212 213
213 define void @test_three_nested_loops(i32 %a32, i32 %b32, i32 %c32) { 214 define internal void @test_three_nested_loops(i32 %a32, i32 %b32, i32 %c32) {
214 entry: 215 entry:
215 %a = trunc i32 %a32 to i1 216 %a = trunc i32 %a32 to i1
216 %b = trunc i32 %b32 to i1 217 %b = trunc i32 %b32 to i1
217 %c = trunc i32 %c32 to i1 218 %c = trunc i32 %c32 to i1
218 br label %loop0_0 219 br label %loop0_0
219 220
220 loop0_0: ; <-----+ 221 loop0_0: ; <-----+
221 br label %loop1_0 ; | 222 br label %loop1_0 ; |
222 loop1_0: ; <---+ | 223 loop1_0: ; <---+ |
223 br label %loop2_0 ; | | 224 br label %loop2_0 ; | |
(...skipping 22 matching lines...) Expand all
246 ; CHECK-NEXT: loop2_1: 247 ; CHECK-NEXT: loop2_1:
247 ; CHECK-NEXT: LoopNestDepth = 3 248 ; CHECK-NEXT: LoopNestDepth = 3
248 ; CHECK-NEXT: loop1_1: 249 ; CHECK-NEXT: loop1_1:
249 ; CHECK-NEXT: LoopNestDepth = 2 250 ; CHECK-NEXT: LoopNestDepth = 2
250 ; CHECK-NEXT: loop0_1: 251 ; CHECK-NEXT: loop0_1:
251 ; CHECK-NEXT: LoopNestDepth = 1 252 ; CHECK-NEXT: LoopNestDepth = 1
252 ; CHECK-NEXT: out: 253 ; CHECK-NEXT: out:
253 ; CHECK-NEXT: LoopNestDepth = 0 254 ; CHECK-NEXT: LoopNestDepth = 0
254 ; CHECK-LABEL: Before RMW 255 ; CHECK-LABEL: Before RMW
255 256
256 define void @test_diamond(i32 %a32) { 257 define internal void @test_diamond(i32 %a32) {
257 entry: 258 entry:
258 %a = trunc i32 %a32 to i1 259 %a = trunc i32 %a32 to i1
259 br i1 %a, label %left, label %right 260 br i1 %a, label %left, label %right
260 261
261 left: 262 left:
262 br label %out 263 br label %out
263 264
264 right: 265 right:
265 br label %out 266 br label %out
266 267
267 out: 268 out:
268 ret void 269 ret void
269 } 270 }
270 271
271 ; CHECK-LABEL: After loop nest depth analysis 272 ; CHECK-LABEL: After loop nest depth analysis
272 ; CHECK-NEXT: entry: 273 ; CHECK-NEXT: entry:
273 ; CHECK-NEXT: LoopNestDepth = 0 274 ; CHECK-NEXT: LoopNestDepth = 0
274 ; CHECK-NEXT: left: 275 ; CHECK-NEXT: left:
275 ; CHECK-NEXT: LoopNestDepth = 0 276 ; CHECK-NEXT: LoopNestDepth = 0
276 ; CHECK-NEXT: right: 277 ; CHECK-NEXT: right:
277 ; CHECK-NEXT: LoopNestDepth = 0 278 ; CHECK-NEXT: LoopNestDepth = 0
278 ; CHECK-NEXT: out: 279 ; CHECK-NEXT: out:
279 ; CHECK-NEXT: LoopNestDepth = 0 280 ; CHECK-NEXT: LoopNestDepth = 0
280 ; CHECK-LABEL: Before RMW 281 ; CHECK-LABEL: Before RMW
OLDNEW
« no previous file with comments | « tests_lit/llvm2ice_tests/load.ll ('k') | tests_lit/llvm2ice_tests/nacl-atomic-cmpxchg-optimization.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698