1 ; RUN: opt -aa-pipeline=basic-aa -passes=print-alias-sets -S -o - < %s 2>&1 | FileCheck %s
2 declare void @llvm.experimental.guard(i1, ...)
4 ; CHECK: Alias sets for function 'test0':
5 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
6 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
7 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
8 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
9 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
10 define void @test0(i1 %cond_b) {
12 %a = alloca i8, align 1
13 %b = alloca i8, align 1
15 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
20 ; CHECK: Alias sets for function 'test1':
21 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
22 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
23 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
24 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
25 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
26 define void @test1(i1 %cond_b) {
28 %a = alloca i8, align 1
29 %b = alloca i8, align 1
31 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
36 ; CHECK: Alias sets for function 'test2':
37 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
38 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
39 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
40 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
41 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
42 define void @test2(i1 %cond_b) {
44 %a = alloca i8, align 1
45 %b = alloca i8, align 1
47 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
52 ; CHECK: Alias sets for function 'test3':
53 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
54 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
55 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
56 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
57 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
58 define void @test3(i1 %cond_b) {
60 %a = alloca i8, align 1
61 %b = alloca i8, align 1
63 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
68 ; CHECK: Alias sets for function 'test4':
69 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
70 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
71 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
72 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
73 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
74 define void @test4(i1 %cond_a) {
76 %a = alloca i8, align 1
77 %b = alloca i8, align 1
78 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
84 ; CHECK: Alias sets for function 'test5':
85 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
86 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
87 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
88 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
89 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
90 define void @test5(i1 %cond_a) {
92 %a = alloca i8, align 1
93 %b = alloca i8, align 1
94 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
100 ; CHECK: Alias sets for function 'test6':
101 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
102 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
103 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
104 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
105 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
106 define void @test6(i1 %cond_a) {
108 %a = alloca i8, align 1
109 %b = alloca i8, align 1
110 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
116 ; CHECK: Alias sets for function 'test7':
117 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
118 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
119 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
120 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
121 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
122 define void @test7(i1 %cond_a) {
124 %a = alloca i8, align 1
125 %b = alloca i8, align 1
126 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
132 ; CHECK: Alias sets for function 'test8':
133 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
134 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
135 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
136 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
137 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
138 define void @test8(i1 %cond_a, i1 %cond_b) {
140 %a = alloca i8, align 1
141 %b = alloca i8, align 1
142 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
144 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
149 ; CHECK: Alias sets for function 'test9':
150 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
151 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
152 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
153 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
154 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
155 define void @test9(i1 %cond_a, i1 %cond_b) {
157 %a = alloca i8, align 1
158 %b = alloca i8, align 1
159 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
161 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
166 ; CHECK: Alias sets for function 'test10':
167 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
168 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
169 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
170 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
171 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
172 define void @test10(i1 %cond_a, i1 %cond_b) {
174 %a = alloca i8, align 1
175 %b = alloca i8, align 1
176 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
178 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
183 ; CHECK: Alias sets for function 'test11':
184 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
185 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
186 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
187 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
188 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
189 define void @test11(i1 %cond_a, i1 %cond_b) {
191 %a = alloca i8, align 1
192 %b = alloca i8, align 1
193 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
195 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
200 ; CHECK: Alias sets for function 'test12':
201 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
202 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
203 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
204 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
205 define void @test12(ptr %b, i1 %cond_b) {
207 %a = alloca i8, align 1
209 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
214 ; CHECK: Alias sets for function 'test13':
215 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
216 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
217 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Memory locations: (ptr %b, LocationSize::precise(1))
218 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
219 define void @test13(ptr %b, i1 %cond_b) {
221 %a = alloca i8, align 1
223 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
228 ; CHECK: Alias sets for function 'test14':
229 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
230 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
231 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
232 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
233 define void @test14(ptr %b, i1 %cond_b) {
235 %a = alloca i8, align 1
237 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
242 ; CHECK: Alias sets for function 'test15':
243 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
244 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
245 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Memory locations: (ptr %b, LocationSize::precise(1))
246 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
247 define void @test15(ptr %b, i1 %cond_b) {
249 %a = alloca i8, align 1
251 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
256 ; CHECK: Alias sets for function 'test16':
257 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
258 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
259 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
260 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
261 define void @test16(i1 %cond_a, ptr %b) {
263 %a = alloca i8, align 1
264 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
270 ; CHECK: Alias sets for function 'test17':
271 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
272 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Memory locations: (ptr %b, LocationSize::precise(1))
273 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
274 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
275 define void @test17(i1 %cond_a, ptr %b) {
277 %a = alloca i8, align 1
278 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
284 ; CHECK: Alias sets for function 'test18':
285 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
286 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
287 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
288 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
289 define void @test18(i1 %cond_a, ptr %b) {
291 %a = alloca i8, align 1
292 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
298 ; CHECK: Alias sets for function 'test19':
299 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
300 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Memory locations: (ptr %b, LocationSize::precise(1))
301 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
302 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
303 define void @test19(i1 %cond_a, ptr %b) {
305 %a = alloca i8, align 1
306 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
312 ; CHECK: Alias sets for function 'test20':
313 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
314 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
315 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
316 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
317 define void @test20(i1 %cond_a, ptr %b, i1 %cond_b) {
319 %a = alloca i8, align 1
320 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
322 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
327 ; CHECK: Alias sets for function 'test21':
328 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
329 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Memory locations: (ptr %b, LocationSize::precise(1))
330 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
331 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
332 define void @test21(i1 %cond_a, ptr %b, i1 %cond_b) {
334 %a = alloca i8, align 1
335 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
337 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
342 ; CHECK: Alias sets for function 'test22':
343 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
344 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
345 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
346 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
347 define void @test22(i1 %cond_a, ptr %b, i1 %cond_b) {
349 %a = alloca i8, align 1
350 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
352 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
357 ; CHECK: Alias sets for function 'test23':
358 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
359 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Memory locations: (ptr %b, LocationSize::precise(1))
360 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
361 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
362 define void @test23(i1 %cond_a, ptr %b, i1 %cond_b) {
364 %a = alloca i8, align 1
365 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
367 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
372 ; CHECK: Alias sets for function 'test24':
373 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
374 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %b, LocationSize::precise(1))
375 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
376 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
377 define void @test24(ptr %ptr_b, i1 %cond_b) {
379 %a = alloca i8, align 1
380 %b = load ptr, ptr %ptr_b
382 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
387 ; CHECK: Alias sets for function 'test25':
388 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
389 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %b, LocationSize::precise(1))
390 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
391 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
392 define void @test25(ptr %ptr_b, i1 %cond_b) {
394 %a = alloca i8, align 1
395 %b = load ptr, ptr %ptr_b
397 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
402 ; CHECK: Alias sets for function 'test26':
403 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
404 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %b, LocationSize::precise(1))
405 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
406 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
407 define void @test26(ptr %ptr_b, i1 %cond_b) {
409 %a = alloca i8, align 1
410 %b = load ptr, ptr %ptr_b
412 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
417 ; CHECK: Alias sets for function 'test27':
418 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
419 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %b, LocationSize::precise(1))
420 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
421 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
422 define void @test27(ptr %ptr_b, i1 %cond_b) {
424 %a = alloca i8, align 1
425 %b = load ptr, ptr %ptr_b
427 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
432 ; CHECK: Alias sets for function 'test28':
433 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
434 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %b, LocationSize::precise(1))
435 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
436 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
437 define void @test28(i1 %cond_a, ptr %ptr_b) {
439 %a = alloca i8, align 1
440 %b = load ptr, ptr %ptr_b
441 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
447 ; CHECK: Alias sets for function 'test29':
448 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
449 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %b, LocationSize::precise(1))
450 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
451 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
452 define void @test29(i1 %cond_a, ptr %ptr_b) {
454 %a = alloca i8, align 1
455 %b = load ptr, ptr %ptr_b
456 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
462 ; CHECK: Alias sets for function 'test30':
463 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
464 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %b, LocationSize::precise(1))
465 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
466 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
467 define void @test30(i1 %cond_a, ptr %ptr_b) {
469 %a = alloca i8, align 1
470 %b = load ptr, ptr %ptr_b
471 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
477 ; CHECK: Alias sets for function 'test31':
478 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
479 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %b, LocationSize::precise(1))
480 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
481 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
482 define void @test31(i1 %cond_a, ptr %ptr_b) {
484 %a = alloca i8, align 1
485 %b = load ptr, ptr %ptr_b
486 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
492 ; CHECK: Alias sets for function 'test32':
493 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
494 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %b, LocationSize::precise(1))
495 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
496 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
497 define void @test32(i1 %cond_a, ptr %ptr_b, i1 %cond_b) {
499 %a = alloca i8, align 1
500 %b = load ptr, ptr %ptr_b
501 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
503 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
508 ; CHECK: Alias sets for function 'test33':
509 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
510 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %b, LocationSize::precise(1))
511 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
512 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
513 define void @test33(i1 %cond_a, ptr %ptr_b, i1 %cond_b) {
515 %a = alloca i8, align 1
516 %b = load ptr, ptr %ptr_b
517 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
519 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
524 ; CHECK: Alias sets for function 'test34':
525 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
526 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %b, LocationSize::precise(1))
527 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
528 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
529 define void @test34(i1 %cond_a, ptr %ptr_b, i1 %cond_b) {
531 %a = alloca i8, align 1
532 %b = load ptr, ptr %ptr_b
533 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
535 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
540 ; CHECK: Alias sets for function 'test35':
541 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
542 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %b, LocationSize::precise(1))
543 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
544 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %a, LocationSize::precise(1))
545 define void @test35(i1 %cond_a, ptr %ptr_b, i1 %cond_b) {
547 %a = alloca i8, align 1
548 %b = load ptr, ptr %ptr_b
549 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
551 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
556 ; CHECK: Alias sets for function 'test36':
557 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
558 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
559 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
560 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
561 define void @test36(ptr %a, i1 %cond_b) {
563 %b = alloca i8, align 1
565 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
570 ; CHECK: Alias sets for function 'test37':
571 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
572 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
573 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
574 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
575 define void @test37(ptr %a, i1 %cond_b) {
577 %b = alloca i8, align 1
579 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
584 ; CHECK: Alias sets for function 'test38':
585 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
586 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Memory locations: (ptr %a, LocationSize::precise(1))
587 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
588 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
589 define void @test38(ptr %a, i1 %cond_b) {
591 %b = alloca i8, align 1
593 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
598 ; CHECK: Alias sets for function 'test39':
599 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
600 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Memory locations: (ptr %a, LocationSize::precise(1))
601 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
602 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
603 define void @test39(ptr %a, i1 %cond_b) {
605 %b = alloca i8, align 1
607 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
612 ; CHECK: Alias sets for function 'test40':
613 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
614 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
615 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
616 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
617 define void @test40(ptr %a, i1 %cond_a) {
619 %b = alloca i8, align 1
620 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
626 ; CHECK: Alias sets for function 'test41':
627 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
628 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
629 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
630 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
631 define void @test41(ptr %a, i1 %cond_a) {
633 %b = alloca i8, align 1
634 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
640 ; CHECK: Alias sets for function 'test42':
641 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
642 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Memory locations: (ptr %a, LocationSize::precise(1))
643 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
644 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
645 define void @test42(ptr %a, i1 %cond_a) {
647 %b = alloca i8, align 1
648 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
654 ; CHECK: Alias sets for function 'test43':
655 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
656 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Memory locations: (ptr %a, LocationSize::precise(1))
657 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
658 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
659 define void @test43(ptr %a, i1 %cond_a) {
661 %b = alloca i8, align 1
662 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
668 ; CHECK: Alias sets for function 'test44':
669 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
670 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
671 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
672 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
673 define void @test44(ptr %a, i1 %cond_a, i1 %cond_b) {
675 %b = alloca i8, align 1
676 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
678 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
683 ; CHECK: Alias sets for function 'test45':
684 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
685 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Memory locations: (ptr %a, LocationSize::precise(1))
686 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
687 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
688 define void @test45(ptr %a, i1 %cond_a, i1 %cond_b) {
690 %b = alloca i8, align 1
691 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
693 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
698 ; CHECK: Alias sets for function 'test46':
699 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
700 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Memory locations: (ptr %a, LocationSize::precise(1))
701 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
702 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
703 define void @test46(ptr %a, i1 %cond_a, i1 %cond_b) {
705 %b = alloca i8, align 1
706 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
708 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
713 ; CHECK: Alias sets for function 'test47':
714 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
715 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Memory locations: (ptr %a, LocationSize::precise(1))
716 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
717 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
718 define void @test47(ptr %a, i1 %cond_a, i1 %cond_b) {
720 %b = alloca i8, align 1
721 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
723 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
728 ; CHECK: Alias sets for function 'test48':
729 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
730 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Memory locations: (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
731 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
732 define void @test48(ptr %a, ptr %b, i1 %cond_b) {
735 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
740 ; CHECK: Alias sets for function 'test49':
741 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
742 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
743 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
744 define void @test49(ptr %a, ptr %b, i1 %cond_b) {
747 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
752 ; CHECK: Alias sets for function 'test50':
753 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
754 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
755 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
756 define void @test50(ptr %a, ptr %b, i1 %cond_b) {
759 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
764 ; CHECK: Alias sets for function 'test51':
765 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
766 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
767 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
768 define void @test51(ptr %a, ptr %b, i1 %cond_b) {
771 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
776 ; CHECK: Alias sets for function 'test52':
777 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
778 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Memory locations: (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
779 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
780 define void @test52(ptr %a, i1 %cond_a, ptr %b) {
782 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
788 ; CHECK: Alias sets for function 'test53':
789 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
790 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
791 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
792 define void @test53(ptr %a, i1 %cond_a, ptr %b) {
794 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
800 ; CHECK: Alias sets for function 'test54':
801 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
802 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
803 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
804 define void @test54(ptr %a, i1 %cond_a, ptr %b) {
806 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
812 ; CHECK: Alias sets for function 'test55':
813 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
814 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
815 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
816 define void @test55(ptr %a, i1 %cond_a, ptr %b) {
818 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
824 ; CHECK: Alias sets for function 'test56':
825 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
826 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Memory locations: (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
827 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
828 define void @test56(ptr %a, i1 %cond_a, ptr %b, i1 %cond_b) {
830 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
832 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
837 ; CHECK: Alias sets for function 'test57':
838 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
839 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
840 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
841 define void @test57(ptr %a, i1 %cond_a, ptr %b, i1 %cond_b) {
843 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
845 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
850 ; CHECK: Alias sets for function 'test58':
851 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
852 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
853 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
854 define void @test58(ptr %a, i1 %cond_a, ptr %b, i1 %cond_b) {
856 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
858 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
863 ; CHECK: Alias sets for function 'test59':
864 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
865 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
866 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
867 define void @test59(ptr %a, i1 %cond_a, ptr %b, i1 %cond_b) {
869 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
871 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
876 ; CHECK: Alias sets for function 'test60':
877 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
878 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
879 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
880 define void @test60(ptr %a, ptr %ptr_b, i1 %cond_b) {
882 %b = load ptr, ptr %ptr_b
884 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
889 ; CHECK: Alias sets for function 'test61':
890 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
891 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
892 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
893 define void @test61(ptr %a, ptr %ptr_b, i1 %cond_b) {
895 %b = load ptr, ptr %ptr_b
897 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
902 ; CHECK: Alias sets for function 'test62':
903 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
904 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
905 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
906 define void @test62(ptr %a, ptr %ptr_b, i1 %cond_b) {
908 %b = load ptr, ptr %ptr_b
910 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
915 ; CHECK: Alias sets for function 'test63':
916 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
917 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
918 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
919 define void @test63(ptr %a, ptr %ptr_b, i1 %cond_b) {
921 %b = load ptr, ptr %ptr_b
923 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
928 ; CHECK: Alias sets for function 'test64':
929 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
930 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
931 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
932 define void @test64(ptr %a, i1 %cond_a, ptr %ptr_b) {
934 %b = load ptr, ptr %ptr_b
935 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
941 ; CHECK: Alias sets for function 'test65':
942 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
943 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
944 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
945 define void @test65(ptr %a, i1 %cond_a, ptr %ptr_b) {
947 %b = load ptr, ptr %ptr_b
948 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
954 ; CHECK: Alias sets for function 'test66':
955 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
956 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
957 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
958 define void @test66(ptr %a, i1 %cond_a, ptr %ptr_b) {
960 %b = load ptr, ptr %ptr_b
961 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
967 ; CHECK: Alias sets for function 'test67':
968 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
969 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
970 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
971 define void @test67(ptr %a, i1 %cond_a, ptr %ptr_b) {
973 %b = load ptr, ptr %ptr_b
974 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
980 ; CHECK: Alias sets for function 'test68':
981 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
982 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
983 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
984 define void @test68(ptr %a, i1 %cond_a, ptr %ptr_b, i1 %cond_b) {
986 %b = load ptr, ptr %ptr_b
987 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
989 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
994 ; CHECK: Alias sets for function 'test69':
995 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
996 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
997 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
998 define void @test69(ptr %a, i1 %cond_a, ptr %ptr_b, i1 %cond_b) {
1000 %b = load ptr, ptr %ptr_b
1001 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1002 %0 = load i8, ptr %a
1003 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1008 ; CHECK: Alias sets for function 'test70':
1009 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1010 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1011 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1012 define void @test70(ptr %a, i1 %cond_a, ptr %ptr_b, i1 %cond_b) {
1014 %b = load ptr, ptr %ptr_b
1015 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1017 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1018 %0 = load i8, ptr %b
1022 ; CHECK: Alias sets for function 'test71':
1023 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1024 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1025 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1026 define void @test71(ptr %a, i1 %cond_a, ptr %ptr_b, i1 %cond_b) {
1028 %b = load ptr, ptr %ptr_b
1029 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1031 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1036 ; CHECK: Alias sets for function 'test72':
1037 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1038 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1))
1039 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1040 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
1041 define void @test72(ptr %ptr_a, i1 %cond_b) {
1043 %a = load ptr, ptr %ptr_a
1044 %b = alloca i8, align 1
1045 %0 = load i8, ptr %a
1046 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1047 %1 = load i8, ptr %b
1051 ; CHECK: Alias sets for function 'test73':
1052 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1053 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1))
1054 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1055 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
1056 define void @test73(ptr %ptr_a, i1 %cond_b) {
1058 %a = load ptr, ptr %ptr_a
1059 %b = alloca i8, align 1
1060 %0 = load i8, ptr %a
1061 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1066 ; CHECK: Alias sets for function 'test74':
1067 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1068 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1))
1069 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1070 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
1071 define void @test74(ptr %ptr_a, i1 %cond_b) {
1073 %a = load ptr, ptr %ptr_a
1074 %b = alloca i8, align 1
1076 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1077 %0 = load i8, ptr %b
1081 ; CHECK: Alias sets for function 'test75':
1082 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1083 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1))
1084 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1085 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
1086 define void @test75(ptr %ptr_a, i1 %cond_b) {
1088 %a = load ptr, ptr %ptr_a
1089 %b = alloca i8, align 1
1091 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1096 ; CHECK: Alias sets for function 'test76':
1097 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1098 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1))
1099 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1100 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
1101 define void @test76(ptr %ptr_a, i1 %cond_a) {
1103 %a = load ptr, ptr %ptr_a
1104 %b = alloca i8, align 1
1105 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1106 %0 = load i8, ptr %a
1107 %1 = load i8, ptr %b
1111 ; CHECK: Alias sets for function 'test77':
1112 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1113 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1))
1114 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1115 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
1116 define void @test77(ptr %ptr_a, i1 %cond_a) {
1118 %a = load ptr, ptr %ptr_a
1119 %b = alloca i8, align 1
1120 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1121 %0 = load i8, ptr %a
1126 ; CHECK: Alias sets for function 'test78':
1127 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1128 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1))
1129 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1130 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
1131 define void @test78(ptr %ptr_a, i1 %cond_a) {
1133 %a = load ptr, ptr %ptr_a
1134 %b = alloca i8, align 1
1135 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1137 %0 = load i8, ptr %b
1141 ; CHECK: Alias sets for function 'test79':
1142 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1143 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1))
1144 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1145 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
1146 define void @test79(ptr %ptr_a, i1 %cond_a) {
1148 %a = load ptr, ptr %ptr_a
1149 %b = alloca i8, align 1
1150 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1156 ; CHECK: Alias sets for function 'test80':
1157 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1158 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1))
1159 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1160 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
1161 define void @test80(ptr %ptr_a, i1 %cond_a, i1 %cond_b) {
1163 %a = load ptr, ptr %ptr_a
1164 %b = alloca i8, align 1
1165 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1166 %0 = load i8, ptr %a
1167 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1168 %1 = load i8, ptr %b
1172 ; CHECK: Alias sets for function 'test81':
1173 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1174 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1))
1175 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1176 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
1177 define void @test81(ptr %ptr_a, i1 %cond_a, i1 %cond_b) {
1179 %a = load ptr, ptr %ptr_a
1180 %b = alloca i8, align 1
1181 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1182 %0 = load i8, ptr %a
1183 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1188 ; CHECK: Alias sets for function 'test82':
1189 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1190 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1))
1191 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1192 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Memory locations: (ptr %b, LocationSize::precise(1))
1193 define void @test82(ptr %ptr_a, i1 %cond_a, i1 %cond_b) {
1195 %a = load ptr, ptr %ptr_a
1196 %b = alloca i8, align 1
1197 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1199 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1200 %0 = load i8, ptr %b
1204 ; CHECK: Alias sets for function 'test83':
1205 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1206 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1))
1207 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1208 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Memory locations: (ptr %b, LocationSize::precise(1))
1209 define void @test83(ptr %ptr_a, i1 %cond_a, i1 %cond_b) {
1211 %a = load ptr, ptr %ptr_a
1212 %b = alloca i8, align 1
1213 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1215 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1220 ; CHECK: Alias sets for function 'test84':
1221 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1222 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1223 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1224 define void @test84(ptr %ptr_a, ptr %b, i1 %cond_b) {
1226 %a = load ptr, ptr %ptr_a
1227 %0 = load i8, ptr %a
1228 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1229 %1 = load i8, ptr %b
1233 ; CHECK: Alias sets for function 'test85':
1234 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1235 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1236 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1237 define void @test85(ptr %ptr_a, ptr %b, i1 %cond_b) {
1239 %a = load ptr, ptr %ptr_a
1240 %0 = load i8, ptr %a
1241 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1246 ; CHECK: Alias sets for function 'test86':
1247 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1248 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1249 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1250 define void @test86(ptr %ptr_a, ptr %b, i1 %cond_b) {
1252 %a = load ptr, ptr %ptr_a
1254 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1255 %0 = load i8, ptr %b
1259 ; CHECK: Alias sets for function 'test87':
1260 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1261 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1262 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1263 define void @test87(ptr %ptr_a, ptr %b, i1 %cond_b) {
1265 %a = load ptr, ptr %ptr_a
1267 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1272 ; CHECK: Alias sets for function 'test88':
1273 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1274 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1275 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1276 define void @test88(ptr %ptr_a, i1 %cond_a, ptr %b) {
1278 %a = load ptr, ptr %ptr_a
1279 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1280 %0 = load i8, ptr %a
1281 %1 = load i8, ptr %b
1285 ; CHECK: Alias sets for function 'test89':
1286 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1287 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1288 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1289 define void @test89(ptr %ptr_a, i1 %cond_a, ptr %b) {
1291 %a = load ptr, ptr %ptr_a
1292 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1293 %0 = load i8, ptr %a
1298 ; CHECK: Alias sets for function 'test90':
1299 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1300 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1301 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1302 define void @test90(ptr %ptr_a, i1 %cond_a, ptr %b) {
1304 %a = load ptr, ptr %ptr_a
1305 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1307 %0 = load i8, ptr %b
1311 ; CHECK: Alias sets for function 'test91':
1312 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1313 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1314 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1315 define void @test91(ptr %ptr_a, i1 %cond_a, ptr %b) {
1317 %a = load ptr, ptr %ptr_a
1318 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1324 ; CHECK: Alias sets for function 'test92':
1325 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1326 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1327 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1328 define void @test92(ptr %ptr_a, i1 %cond_a, ptr %b, i1 %cond_b) {
1330 %a = load ptr, ptr %ptr_a
1331 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1332 %0 = load i8, ptr %a
1333 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1334 %1 = load i8, ptr %b
1338 ; CHECK: Alias sets for function 'test93':
1339 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1340 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1341 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1342 define void @test93(ptr %ptr_a, i1 %cond_a, ptr %b, i1 %cond_b) {
1344 %a = load ptr, ptr %ptr_a
1345 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1346 %0 = load i8, ptr %a
1347 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1352 ; CHECK: Alias sets for function 'test94':
1353 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1354 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1355 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1356 define void @test94(ptr %ptr_a, i1 %cond_a, ptr %b, i1 %cond_b) {
1358 %a = load ptr, ptr %ptr_a
1359 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1361 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1362 %0 = load i8, ptr %b
1366 ; CHECK: Alias sets for function 'test95':
1367 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1368 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1369 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1370 define void @test95(ptr %ptr_a, i1 %cond_a, ptr %b, i1 %cond_b) {
1372 %a = load ptr, ptr %ptr_a
1373 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1375 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1380 ; CHECK: Alias sets for function 'test96':
1381 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1382 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1383 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1384 define void @test96(ptr %ptr_a, ptr %ptr_b, i1 %cond_b) {
1386 %a = load ptr, ptr %ptr_a
1387 %b = load ptr, ptr %ptr_b
1388 %0 = load i8, ptr %a
1389 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1390 %1 = load i8, ptr %b
1394 ; CHECK: Alias sets for function 'test97':
1395 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1396 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1397 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1398 define void @test97(ptr %ptr_a, ptr %ptr_b, i1 %cond_b) {
1400 %a = load ptr, ptr %ptr_a
1401 %b = load ptr, ptr %ptr_b
1402 %0 = load i8, ptr %a
1403 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1408 ; CHECK: Alias sets for function 'test98':
1409 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1410 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1411 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1412 define void @test98(ptr %ptr_a, ptr %ptr_b, i1 %cond_b) {
1414 %a = load ptr, ptr %ptr_a
1415 %b = load ptr, ptr %ptr_b
1417 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1418 %0 = load i8, ptr %b
1422 ; CHECK: Alias sets for function 'test99':
1423 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1424 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1425 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1426 define void @test99(ptr %ptr_a, ptr %ptr_b, i1 %cond_b) {
1428 %a = load ptr, ptr %ptr_a
1429 %b = load ptr, ptr %ptr_b
1431 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1436 ; CHECK: Alias sets for function 'test100':
1437 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1438 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1439 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1440 define void @test100(ptr %ptr_a, i1 %cond_a, ptr %ptr_b) {
1442 %a = load ptr, ptr %ptr_a
1443 %b = load ptr, ptr %ptr_b
1444 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1445 %0 = load i8, ptr %a
1446 %1 = load i8, ptr %b
1450 ; CHECK: Alias sets for function 'test101':
1451 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1452 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1453 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1454 define void @test101(ptr %ptr_a, i1 %cond_a, ptr %ptr_b) {
1456 %a = load ptr, ptr %ptr_a
1457 %b = load ptr, ptr %ptr_b
1458 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1459 %0 = load i8, ptr %a
1464 ; CHECK: Alias sets for function 'test102':
1465 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1466 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1467 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1468 define void @test102(ptr %ptr_a, i1 %cond_a, ptr %ptr_b) {
1470 %a = load ptr, ptr %ptr_a
1471 %b = load ptr, ptr %ptr_b
1472 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1474 %0 = load i8, ptr %b
1478 ; CHECK: Alias sets for function 'test103':
1479 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1480 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1481 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1482 define void @test103(ptr %ptr_a, i1 %cond_a, ptr %ptr_b) {
1484 %a = load ptr, ptr %ptr_a
1485 %b = load ptr, ptr %ptr_b
1486 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1492 ; CHECK: Alias sets for function 'test104':
1493 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1494 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1495 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1496 define void @test104(ptr %ptr_a, i1 %cond_a, ptr %ptr_b, i1 %cond_b) {
1498 %a = load ptr, ptr %ptr_a
1499 %b = load ptr, ptr %ptr_b
1500 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1501 %0 = load i8, ptr %a
1502 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1503 %1 = load i8, ptr %b
1507 ; CHECK: Alias sets for function 'test105':
1508 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1509 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1510 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1511 define void @test105(ptr %ptr_a, i1 %cond_a, ptr %ptr_b, i1 %cond_b) {
1513 %a = load ptr, ptr %ptr_a
1514 %b = load ptr, ptr %ptr_b
1515 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1516 %0 = load i8, ptr %a
1517 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1522 ; CHECK: Alias sets for function 'test106':
1523 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1524 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1525 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1526 define void @test106(ptr %ptr_a, i1 %cond_a, ptr %ptr_b, i1 %cond_b) {
1528 %a = load ptr, ptr %ptr_a
1529 %b = load ptr, ptr %ptr_b
1530 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1532 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1533 %0 = load i8, ptr %b
1537 ; CHECK: Alias sets for function 'test107':
1538 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1539 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Memory locations: (ptr %ptr_a, LocationSize::precise(8)), (ptr %ptr_b, LocationSize::precise(8)), (ptr %a, LocationSize::precise(1)), (ptr %b, LocationSize::precise(1))
1540 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1541 define void @test107(ptr %ptr_a, i1 %cond_a, ptr %ptr_b, i1 %cond_b) {
1543 %a = load ptr, ptr %ptr_a
1544 %b = load ptr, ptr %ptr_b
1545 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1547 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]