1 ; RUN: opt -basic-aa -print-alias-sets -S -o - < %s 2>&1 | FileCheck %s
2 ; RUN: opt -aa-pipeline=basic-aa -passes=print-alias-sets -S -o - < %s 2>&1 | FileCheck %s
3 declare void @llvm.experimental.guard(i1, ...)
5 ; CHECK: Alias sets for function 'test0':
6 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
7 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
8 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
9 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
10 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
11 define void @test0(i1 %cond_b) {
13 %a = alloca i8, align 1
14 %b = alloca i8, align 1
16 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
21 ; CHECK: Alias sets for function 'test1':
22 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
23 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
24 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
25 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
26 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
27 define void @test1(i1 %cond_b) {
29 %a = alloca i8, align 1
30 %b = alloca i8, align 1
32 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
37 ; CHECK: Alias sets for function 'test2':
38 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
39 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
40 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
41 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
42 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
43 define void @test2(i1 %cond_b) {
45 %a = alloca i8, align 1
46 %b = alloca i8, align 1
48 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
53 ; CHECK: Alias sets for function 'test3':
54 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
55 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
56 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
57 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
58 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
59 define void @test3(i1 %cond_b) {
61 %a = alloca i8, align 1
62 %b = alloca i8, align 1
64 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
69 ; CHECK: Alias sets for function 'test4':
70 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
71 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
72 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
73 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
74 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
75 define void @test4(i1 %cond_a) {
77 %a = alloca i8, align 1
78 %b = alloca i8, align 1
79 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
85 ; CHECK: Alias sets for function 'test5':
86 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
87 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
88 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
89 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
90 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
91 define void @test5(i1 %cond_a) {
93 %a = alloca i8, align 1
94 %b = alloca i8, align 1
95 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
101 ; CHECK: Alias sets for function 'test6':
102 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
103 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
104 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
105 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
106 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
107 define void @test6(i1 %cond_a) {
109 %a = alloca i8, align 1
110 %b = alloca i8, align 1
111 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
117 ; CHECK: Alias sets for function 'test7':
118 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
119 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
120 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
121 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
122 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
123 define void @test7(i1 %cond_a) {
125 %a = alloca i8, align 1
126 %b = alloca i8, align 1
127 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
133 ; CHECK: Alias sets for function 'test8':
134 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
135 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
136 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
137 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
138 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
139 define void @test8(i1 %cond_a, i1 %cond_b) {
141 %a = alloca i8, align 1
142 %b = alloca i8, align 1
143 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
145 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
150 ; CHECK: Alias sets for function 'test9':
151 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
152 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
153 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
154 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
155 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
156 define void @test9(i1 %cond_a, i1 %cond_b) {
158 %a = alloca i8, align 1
159 %b = alloca i8, align 1
160 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
162 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
167 ; CHECK: Alias sets for function 'test10':
168 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
169 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
170 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
171 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
172 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
173 define void @test10(i1 %cond_a, i1 %cond_b) {
175 %a = alloca i8, align 1
176 %b = alloca i8, align 1
177 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
179 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
184 ; CHECK: Alias sets for function 'test11':
185 ; CHECK: Alias Set Tracker: 3 alias sets for 2 pointer values.
186 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] may alias, Ref
187 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
188 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
189 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
190 define void @test11(i1 %cond_a, i1 %cond_b) {
192 %a = alloca i8, align 1
193 %b = alloca i8, align 1
194 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
196 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
201 ; CHECK: Alias sets for function 'test12':
202 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
203 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
204 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
205 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
206 define void @test12(i8* %b, i1 %cond_b) {
208 %a = alloca i8, align 1
210 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
215 ; CHECK: Alias sets for function 'test13':
216 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
217 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
218 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Pointers: (i8* %b, LocationSize::precise(1))
219 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
220 define void @test13(i8* %b, i1 %cond_b) {
222 %a = alloca i8, align 1
224 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
229 ; CHECK: Alias sets for function 'test14':
230 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
231 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
232 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
233 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
234 define void @test14(i8* %b, i1 %cond_b) {
236 %a = alloca i8, align 1
238 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
243 ; CHECK: Alias sets for function 'test15':
244 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
245 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
246 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Pointers: (i8* %b, LocationSize::precise(1))
247 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
248 define void @test15(i8* %b, i1 %cond_b) {
250 %a = alloca i8, align 1
252 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
257 ; CHECK: Alias sets for function 'test16':
258 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
259 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
260 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
261 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
262 define void @test16(i1 %cond_a, i8* %b) {
264 %a = alloca i8, align 1
265 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
271 ; CHECK: Alias sets for function 'test17':
272 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
273 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Pointers: (i8* %b, LocationSize::precise(1))
274 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
275 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
276 define void @test17(i1 %cond_a, i8* %b) {
278 %a = alloca i8, align 1
279 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
285 ; CHECK: Alias sets for function 'test18':
286 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
287 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
288 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
289 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
290 define void @test18(i1 %cond_a, i8* %b) {
292 %a = alloca i8, align 1
293 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
299 ; CHECK: Alias sets for function 'test19':
300 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
301 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Pointers: (i8* %b, LocationSize::precise(1))
302 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
303 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
304 define void @test19(i1 %cond_a, i8* %b) {
306 %a = alloca i8, align 1
307 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
313 ; CHECK: Alias sets for function 'test20':
314 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
315 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
316 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
317 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
318 define void @test20(i1 %cond_a, i8* %b, i1 %cond_b) {
320 %a = alloca i8, align 1
321 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
323 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
328 ; CHECK: Alias sets for function 'test21':
329 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
330 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Pointers: (i8* %b, LocationSize::precise(1))
331 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
332 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
333 define void @test21(i1 %cond_a, i8* %b, i1 %cond_b) {
335 %a = alloca i8, align 1
336 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
338 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
343 ; CHECK: Alias sets for function 'test22':
344 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
345 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
346 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
347 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
348 define void @test22(i1 %cond_a, i8* %b, i1 %cond_b) {
350 %a = alloca i8, align 1
351 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
353 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
358 ; CHECK: Alias sets for function 'test23':
359 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
360 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Pointers: (i8* %b, LocationSize::precise(1))
361 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
362 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
363 define void @test23(i1 %cond_a, i8* %b, i1 %cond_b) {
365 %a = alloca i8, align 1
366 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
368 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
373 ; CHECK: Alias sets for function 'test24':
374 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
375 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %b, LocationSize::precise(1))
376 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
377 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
378 define void @test24(i8** %ptr_b, i1 %cond_b) {
380 %a = alloca i8, align 1
381 %b = load i8*, i8** %ptr_b
383 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
388 ; CHECK: Alias sets for function 'test25':
389 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
390 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %b, LocationSize::precise(1))
391 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
392 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
393 define void @test25(i8** %ptr_b, i1 %cond_b) {
395 %a = alloca i8, align 1
396 %b = load i8*, i8** %ptr_b
398 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
403 ; CHECK: Alias sets for function 'test26':
404 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
405 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %b, LocationSize::precise(1))
406 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
407 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
408 define void @test26(i8** %ptr_b, i1 %cond_b) {
410 %a = alloca i8, align 1
411 %b = load i8*, i8** %ptr_b
413 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
418 ; CHECK: Alias sets for function 'test27':
419 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
420 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %b, LocationSize::precise(1))
421 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
422 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
423 define void @test27(i8** %ptr_b, i1 %cond_b) {
425 %a = alloca i8, align 1
426 %b = load i8*, i8** %ptr_b
428 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
433 ; CHECK: Alias sets for function 'test28':
434 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
435 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %b, LocationSize::precise(1))
436 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
437 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
438 define void @test28(i1 %cond_a, i8** %ptr_b) {
440 %a = alloca i8, align 1
441 %b = load i8*, i8** %ptr_b
442 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
448 ; CHECK: Alias sets for function 'test29':
449 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
450 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %b, LocationSize::precise(1))
451 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
452 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
453 define void @test29(i1 %cond_a, i8** %ptr_b) {
455 %a = alloca i8, align 1
456 %b = load i8*, i8** %ptr_b
457 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
463 ; CHECK: Alias sets for function 'test30':
464 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
465 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %b, LocationSize::precise(1))
466 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
467 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
468 define void @test30(i1 %cond_a, i8** %ptr_b) {
470 %a = alloca i8, align 1
471 %b = load i8*, i8** %ptr_b
472 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
478 ; CHECK: Alias sets for function 'test31':
479 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
480 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %b, LocationSize::precise(1))
481 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
482 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
483 define void @test31(i1 %cond_a, i8** %ptr_b) {
485 %a = alloca i8, align 1
486 %b = load i8*, i8** %ptr_b
487 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
493 ; CHECK: Alias sets for function 'test32':
494 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
495 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %b, LocationSize::precise(1))
496 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
497 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
498 define void @test32(i1 %cond_a, i8** %ptr_b, i1 %cond_b) {
500 %a = alloca i8, align 1
501 %b = load i8*, i8** %ptr_b
502 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
504 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
509 ; CHECK: Alias sets for function 'test33':
510 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
511 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %b, LocationSize::precise(1))
512 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
513 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
514 define void @test33(i1 %cond_a, i8** %ptr_b, i1 %cond_b) {
516 %a = alloca i8, align 1
517 %b = load i8*, i8** %ptr_b
518 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
520 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
525 ; CHECK: Alias sets for function 'test34':
526 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
527 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %b, LocationSize::precise(1))
528 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
529 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
530 define void @test34(i1 %cond_a, i8** %ptr_b, i1 %cond_b) {
532 %a = alloca i8, align 1
533 %b = load i8*, i8** %ptr_b
534 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
536 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
541 ; CHECK: Alias sets for function 'test35':
542 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
543 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %b, LocationSize::precise(1))
544 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
545 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %a, LocationSize::precise(1))
546 define void @test35(i1 %cond_a, i8** %ptr_b, i1 %cond_b) {
548 %a = alloca i8, align 1
549 %b = load i8*, i8** %ptr_b
550 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
552 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
557 ; CHECK: Alias sets for function 'test36':
558 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
559 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
560 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
561 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
562 define void @test36(i8* %a, i1 %cond_b) {
564 %b = alloca i8, align 1
566 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
571 ; CHECK: Alias sets for function 'test37':
572 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
573 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
574 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
575 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
576 define void @test37(i8* %a, i1 %cond_b) {
578 %b = alloca i8, align 1
580 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
585 ; CHECK: Alias sets for function 'test38':
586 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
587 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Pointers: (i8* %a, LocationSize::precise(1))
588 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
589 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
590 define void @test38(i8* %a, i1 %cond_b) {
592 %b = alloca i8, align 1
594 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
599 ; CHECK: Alias sets for function 'test39':
600 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
601 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Pointers: (i8* %a, LocationSize::precise(1))
602 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
603 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
604 define void @test39(i8* %a, i1 %cond_b) {
606 %b = alloca i8, align 1
608 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
613 ; CHECK: Alias sets for function 'test40':
614 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
615 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
616 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
617 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
618 define void @test40(i8* %a, i1 %cond_a) {
620 %b = alloca i8, align 1
621 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
627 ; CHECK: Alias sets for function 'test41':
628 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
629 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
630 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
631 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
632 define void @test41(i8* %a, i1 %cond_a) {
634 %b = alloca i8, align 1
635 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
641 ; CHECK: Alias sets for function 'test42':
642 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
643 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Pointers: (i8* %a, LocationSize::precise(1))
644 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
645 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
646 define void @test42(i8* %a, i1 %cond_a) {
648 %b = alloca i8, align 1
649 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
655 ; CHECK: Alias sets for function 'test43':
656 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
657 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Pointers: (i8* %a, LocationSize::precise(1))
658 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
659 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
660 define void @test43(i8* %a, i1 %cond_a) {
662 %b = alloca i8, align 1
663 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
669 ; CHECK: Alias sets for function 'test44':
670 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
671 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
672 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
673 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
674 define void @test44(i8* %a, i1 %cond_a, i1 %cond_b) {
676 %b = alloca i8, align 1
677 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
679 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
684 ; CHECK: Alias sets for function 'test45':
685 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
686 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Ref Pointers: (i8* %a, LocationSize::precise(1))
687 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
688 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
689 define void @test45(i8* %a, i1 %cond_a, i1 %cond_b) {
691 %b = alloca i8, align 1
692 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
694 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
699 ; CHECK: Alias sets for function 'test46':
700 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
701 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Pointers: (i8* %a, LocationSize::precise(1))
702 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
703 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
704 define void @test46(i8* %a, i1 %cond_a, i1 %cond_b) {
706 %b = alloca i8, align 1
707 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
709 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
714 ; CHECK: Alias sets for function 'test47':
715 ; CHECK: Alias Set Tracker: 2 alias sets for 2 pointer values.
716 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 2] may alias, Mod/Ref Pointers: (i8* %a, LocationSize::precise(1))
717 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
718 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
719 define void @test47(i8* %a, i1 %cond_a, i1 %cond_b) {
721 %b = alloca i8, align 1
722 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
724 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
729 ; CHECK: Alias sets for function 'test48':
730 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
731 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Pointers: (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
732 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
733 define void @test48(i8* %a, i8* %b, i1 %cond_b) {
736 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
741 ; CHECK: Alias sets for function 'test49':
742 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
743 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
744 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
745 define void @test49(i8* %a, i8* %b, i1 %cond_b) {
748 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
753 ; CHECK: Alias sets for function 'test50':
754 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
755 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
756 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
757 define void @test50(i8* %a, i8* %b, i1 %cond_b) {
760 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
765 ; CHECK: Alias sets for function 'test51':
766 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
767 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
768 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
769 define void @test51(i8* %a, i8* %b, i1 %cond_b) {
772 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
777 ; CHECK: Alias sets for function 'test52':
778 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
779 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Pointers: (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
780 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
781 define void @test52(i8* %a, i1 %cond_a, i8* %b) {
783 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
789 ; CHECK: Alias sets for function 'test53':
790 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
791 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
792 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
793 define void @test53(i8* %a, i1 %cond_a, i8* %b) {
795 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
801 ; CHECK: Alias sets for function 'test54':
802 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
803 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
804 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
805 define void @test54(i8* %a, i1 %cond_a, i8* %b) {
807 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
813 ; CHECK: Alias sets for function 'test55':
814 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
815 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
816 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
817 define void @test55(i8* %a, i1 %cond_a, i8* %b) {
819 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
825 ; CHECK: Alias sets for function 'test56':
826 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
827 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Pointers: (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
828 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
829 define void @test56(i8* %a, i1 %cond_a, i8* %b, i1 %cond_b) {
831 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
833 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
838 ; CHECK: Alias sets for function 'test57':
839 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
840 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
841 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
842 define void @test57(i8* %a, i1 %cond_a, i8* %b, i1 %cond_b) {
844 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
846 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
851 ; CHECK: Alias sets for function 'test58':
852 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
853 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
854 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
855 define void @test58(i8* %a, i1 %cond_a, i8* %b, i1 %cond_b) {
857 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
859 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
864 ; CHECK: Alias sets for function 'test59':
865 ; CHECK: Alias Set Tracker: 1 alias sets for 2 pointer values.
866 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
867 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
868 define void @test59(i8* %a, i1 %cond_a, i8* %b, i1 %cond_b) {
870 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
872 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
877 ; CHECK: Alias sets for function 'test60':
878 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
879 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
880 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
881 define void @test60(i8* %a, i8** %ptr_b, i1 %cond_b) {
883 %b = load i8*, i8** %ptr_b
885 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
890 ; CHECK: Alias sets for function 'test61':
891 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
892 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
893 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
894 define void @test61(i8* %a, i8** %ptr_b, i1 %cond_b) {
896 %b = load i8*, i8** %ptr_b
898 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
903 ; CHECK: Alias sets for function 'test62':
904 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
905 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
906 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
907 define void @test62(i8* %a, i8** %ptr_b, i1 %cond_b) {
909 %b = load i8*, i8** %ptr_b
911 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
916 ; CHECK: Alias sets for function 'test63':
917 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
918 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
919 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
920 define void @test63(i8* %a, i8** %ptr_b, i1 %cond_b) {
922 %b = load i8*, i8** %ptr_b
924 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
929 ; CHECK: Alias sets for function 'test64':
930 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
931 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
932 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
933 define void @test64(i8* %a, i1 %cond_a, i8** %ptr_b) {
935 %b = load i8*, i8** %ptr_b
936 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
942 ; CHECK: Alias sets for function 'test65':
943 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
944 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
945 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
946 define void @test65(i8* %a, i1 %cond_a, i8** %ptr_b) {
948 %b = load i8*, i8** %ptr_b
949 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
955 ; CHECK: Alias sets for function 'test66':
956 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
957 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
958 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
959 define void @test66(i8* %a, i1 %cond_a, i8** %ptr_b) {
961 %b = load i8*, i8** %ptr_b
962 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
968 ; CHECK: Alias sets for function 'test67':
969 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
970 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
971 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
972 define void @test67(i8* %a, i1 %cond_a, i8** %ptr_b) {
974 %b = load i8*, i8** %ptr_b
975 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
981 ; CHECK: Alias sets for function 'test68':
982 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
983 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
984 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
985 define void @test68(i8* %a, i1 %cond_a, i8** %ptr_b, i1 %cond_b) {
987 %b = load i8*, i8** %ptr_b
988 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
990 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
995 ; CHECK: Alias sets for function 'test69':
996 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
997 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
998 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
999 define void @test69(i8* %a, i1 %cond_a, i8** %ptr_b, i1 %cond_b) {
1001 %b = load i8*, i8** %ptr_b
1002 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1003 %0 = load i8, i8* %a
1004 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1009 ; CHECK: Alias sets for function 'test70':
1010 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1011 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1012 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1013 define void @test70(i8* %a, i1 %cond_a, i8** %ptr_b, i1 %cond_b) {
1015 %b = load i8*, i8** %ptr_b
1016 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1018 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1019 %0 = load i8, i8* %b
1023 ; CHECK: Alias sets for function 'test71':
1024 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1025 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1026 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1027 define void @test71(i8* %a, i1 %cond_a, i8** %ptr_b, i1 %cond_b) {
1029 %b = load i8*, i8** %ptr_b
1030 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1032 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1037 ; CHECK: Alias sets for function 'test72':
1038 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1039 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1))
1040 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1041 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
1042 define void @test72(i8** %ptr_a, i1 %cond_b) {
1044 %a = load i8*, i8** %ptr_a
1045 %b = alloca i8, align 1
1046 %0 = load i8, i8* %a
1047 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1048 %1 = load i8, i8* %b
1052 ; CHECK: Alias sets for function 'test73':
1053 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1054 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1))
1055 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1056 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
1057 define void @test73(i8** %ptr_a, i1 %cond_b) {
1059 %a = load i8*, i8** %ptr_a
1060 %b = alloca i8, align 1
1061 %0 = load i8, i8* %a
1062 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1067 ; CHECK: Alias sets for function 'test74':
1068 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1069 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1))
1070 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1071 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
1072 define void @test74(i8** %ptr_a, i1 %cond_b) {
1074 %a = load i8*, i8** %ptr_a
1075 %b = alloca i8, align 1
1077 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1078 %0 = load i8, i8* %b
1082 ; CHECK: Alias sets for function 'test75':
1083 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1084 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1))
1085 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1086 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
1087 define void @test75(i8** %ptr_a, i1 %cond_b) {
1089 %a = load i8*, i8** %ptr_a
1090 %b = alloca i8, align 1
1092 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1097 ; CHECK: Alias sets for function 'test76':
1098 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1099 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1))
1100 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1101 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
1102 define void @test76(i8** %ptr_a, i1 %cond_a) {
1104 %a = load i8*, i8** %ptr_a
1105 %b = alloca i8, align 1
1106 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1107 %0 = load i8, i8* %a
1108 %1 = load i8, i8* %b
1112 ; CHECK: Alias sets for function 'test77':
1113 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1114 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1))
1115 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1116 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
1117 define void @test77(i8** %ptr_a, i1 %cond_a) {
1119 %a = load i8*, i8** %ptr_a
1120 %b = alloca i8, align 1
1121 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1122 %0 = load i8, i8* %a
1127 ; CHECK: Alias sets for function 'test78':
1128 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1129 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1))
1130 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1131 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
1132 define void @test78(i8** %ptr_a, i1 %cond_a) {
1134 %a = load i8*, i8** %ptr_a
1135 %b = alloca i8, align 1
1136 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1138 %0 = load i8, i8* %b
1142 ; CHECK: Alias sets for function 'test79':
1143 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1144 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1))
1145 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1146 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
1147 define void @test79(i8** %ptr_a, i1 %cond_a) {
1149 %a = load i8*, i8** %ptr_a
1150 %b = alloca i8, align 1
1151 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1157 ; CHECK: Alias sets for function 'test80':
1158 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1159 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1))
1160 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1161 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
1162 define void @test80(i8** %ptr_a, i1 %cond_a, i1 %cond_b) {
1164 %a = load i8*, i8** %ptr_a
1165 %b = alloca i8, align 1
1166 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1167 %0 = load i8, i8* %a
1168 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1169 %1 = load i8, i8* %b
1173 ; CHECK: Alias sets for function 'test81':
1174 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1175 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1))
1176 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1177 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
1178 define void @test81(i8** %ptr_a, i1 %cond_a, i1 %cond_b) {
1180 %a = load i8*, i8** %ptr_a
1181 %b = alloca i8, align 1
1182 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1183 %0 = load i8, i8* %a
1184 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1189 ; CHECK: Alias sets for function 'test82':
1190 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1191 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1))
1192 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1193 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Ref Pointers: (i8* %b, LocationSize::precise(1))
1194 define void @test82(i8** %ptr_a, i1 %cond_a, i1 %cond_b) {
1196 %a = load i8*, i8** %ptr_a
1197 %b = alloca i8, align 1
1198 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1200 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1201 %0 = load i8, i8* %b
1205 ; CHECK: Alias sets for function 'test83':
1206 ; CHECK: Alias Set Tracker: 2 alias sets for 3 pointer values.
1207 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 3] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1))
1208 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1209 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 1] must alias, Mod Pointers: (i8* %b, LocationSize::precise(1))
1210 define void @test83(i8** %ptr_a, i1 %cond_a, i1 %cond_b) {
1212 %a = load i8*, i8** %ptr_a
1213 %b = alloca i8, align 1
1214 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1216 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1221 ; CHECK: Alias sets for function 'test84':
1222 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1223 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1224 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1225 define void @test84(i8** %ptr_a, i8* %b, i1 %cond_b) {
1227 %a = load i8*, i8** %ptr_a
1228 %0 = load i8, i8* %a
1229 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1230 %1 = load i8, i8* %b
1234 ; CHECK: Alias sets for function 'test85':
1235 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1236 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1237 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1238 define void @test85(i8** %ptr_a, i8* %b, i1 %cond_b) {
1240 %a = load i8*, i8** %ptr_a
1241 %0 = load i8, i8* %a
1242 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1247 ; CHECK: Alias sets for function 'test86':
1248 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1249 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1250 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1251 define void @test86(i8** %ptr_a, i8* %b, i1 %cond_b) {
1253 %a = load i8*, i8** %ptr_a
1255 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1256 %0 = load i8, i8* %b
1260 ; CHECK: Alias sets for function 'test87':
1261 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1262 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1263 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1264 define void @test87(i8** %ptr_a, i8* %b, i1 %cond_b) {
1266 %a = load i8*, i8** %ptr_a
1268 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1273 ; CHECK: Alias sets for function 'test88':
1274 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1275 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1276 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1277 define void @test88(i8** %ptr_a, i1 %cond_a, i8* %b) {
1279 %a = load i8*, i8** %ptr_a
1280 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1281 %0 = load i8, i8* %a
1282 %1 = load i8, i8* %b
1286 ; CHECK: Alias sets for function 'test89':
1287 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1288 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1289 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1290 define void @test89(i8** %ptr_a, i1 %cond_a, i8* %b) {
1292 %a = load i8*, i8** %ptr_a
1293 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1294 %0 = load i8, i8* %a
1299 ; CHECK: Alias sets for function 'test90':
1300 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1301 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1302 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1303 define void @test90(i8** %ptr_a, i1 %cond_a, i8* %b) {
1305 %a = load i8*, i8** %ptr_a
1306 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1308 %0 = load i8, i8* %b
1312 ; CHECK: Alias sets for function 'test91':
1313 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1314 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1315 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1316 define void @test91(i8** %ptr_a, i1 %cond_a, i8* %b) {
1318 %a = load i8*, i8** %ptr_a
1319 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1325 ; CHECK: Alias sets for function 'test92':
1326 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1327 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1328 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1329 define void @test92(i8** %ptr_a, i1 %cond_a, i8* %b, i1 %cond_b) {
1331 %a = load i8*, i8** %ptr_a
1332 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1333 %0 = load i8, i8* %a
1334 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1335 %1 = load i8, i8* %b
1339 ; CHECK: Alias sets for function 'test93':
1340 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1341 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1342 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1343 define void @test93(i8** %ptr_a, i1 %cond_a, i8* %b, i1 %cond_b) {
1345 %a = load i8*, i8** %ptr_a
1346 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1347 %0 = load i8, i8* %a
1348 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1353 ; CHECK: Alias sets for function 'test94':
1354 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1355 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1356 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1357 define void @test94(i8** %ptr_a, i1 %cond_a, i8* %b, i1 %cond_b) {
1359 %a = load i8*, i8** %ptr_a
1360 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1362 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1363 %0 = load i8, i8* %b
1367 ; CHECK: Alias sets for function 'test95':
1368 ; CHECK: Alias Set Tracker: 1 alias sets for 3 pointer values.
1369 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 4] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1370 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1371 define void @test95(i8** %ptr_a, i1 %cond_a, i8* %b, i1 %cond_b) {
1373 %a = load i8*, i8** %ptr_a
1374 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1376 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1381 ; CHECK: Alias sets for function 'test96':
1382 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1383 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1384 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1385 define void @test96(i8** %ptr_a, i8** %ptr_b, i1 %cond_b) {
1387 %a = load i8*, i8** %ptr_a
1388 %b = load i8*, i8** %ptr_b
1389 %0 = load i8, i8* %a
1390 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1391 %1 = load i8, i8* %b
1395 ; CHECK: Alias sets for function 'test97':
1396 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1397 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1398 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1399 define void @test97(i8** %ptr_a, i8** %ptr_b, i1 %cond_b) {
1401 %a = load i8*, i8** %ptr_a
1402 %b = load i8*, i8** %ptr_b
1403 %0 = load i8, i8* %a
1404 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1409 ; CHECK: Alias sets for function 'test98':
1410 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1411 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1412 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1413 define void @test98(i8** %ptr_a, i8** %ptr_b, i1 %cond_b) {
1415 %a = load i8*, i8** %ptr_a
1416 %b = load i8*, i8** %ptr_b
1418 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1419 %0 = load i8, i8* %b
1423 ; CHECK: Alias sets for function 'test99':
1424 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1425 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1426 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1427 define void @test99(i8** %ptr_a, i8** %ptr_b, i1 %cond_b) {
1429 %a = load i8*, i8** %ptr_a
1430 %b = load i8*, i8** %ptr_b
1432 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1437 ; CHECK: Alias sets for function 'test100':
1438 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1439 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1440 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1441 define void @test100(i8** %ptr_a, i1 %cond_a, i8** %ptr_b) {
1443 %a = load i8*, i8** %ptr_a
1444 %b = load i8*, i8** %ptr_b
1445 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1446 %0 = load i8, i8* %a
1447 %1 = load i8, i8* %b
1451 ; CHECK: Alias sets for function 'test101':
1452 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1453 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1454 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1455 define void @test101(i8** %ptr_a, i1 %cond_a, i8** %ptr_b) {
1457 %a = load i8*, i8** %ptr_a
1458 %b = load i8*, i8** %ptr_b
1459 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1460 %0 = load i8, i8* %a
1465 ; CHECK: Alias sets for function 'test102':
1466 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1467 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1468 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1469 define void @test102(i8** %ptr_a, i1 %cond_a, i8** %ptr_b) {
1471 %a = load i8*, i8** %ptr_a
1472 %b = load i8*, i8** %ptr_b
1473 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1475 %0 = load i8, i8* %b
1479 ; CHECK: Alias sets for function 'test103':
1480 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1481 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1482 ; CHECK: 1 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1483 define void @test103(i8** %ptr_a, i1 %cond_a, i8** %ptr_b) {
1485 %a = load i8*, i8** %ptr_a
1486 %b = load i8*, i8** %ptr_b
1487 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1493 ; CHECK: Alias sets for function 'test104':
1494 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1495 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1496 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1497 define void @test104(i8** %ptr_a, i1 %cond_a, i8** %ptr_b, i1 %cond_b) {
1499 %a = load i8*, i8** %ptr_a
1500 %b = load i8*, i8** %ptr_b
1501 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1502 %0 = load i8, i8* %a
1503 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1504 %1 = load i8, i8* %b
1508 ; CHECK: Alias sets for function 'test105':
1509 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1510 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1511 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1512 define void @test105(i8** %ptr_a, i1 %cond_a, i8** %ptr_b, i1 %cond_b) {
1514 %a = load i8*, i8** %ptr_a
1515 %b = load i8*, i8** %ptr_b
1516 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1517 %0 = load i8, i8* %a
1518 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1523 ; CHECK: Alias sets for function 'test106':
1524 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1525 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1526 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1527 define void @test106(i8** %ptr_a, i1 %cond_a, i8** %ptr_b, i1 %cond_b) {
1529 %a = load i8*, i8** %ptr_a
1530 %b = load i8*, i8** %ptr_b
1531 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1533 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1534 %0 = load i8, i8* %b
1538 ; CHECK: Alias sets for function 'test107':
1539 ; CHECK: Alias Set Tracker: 1 alias sets for 4 pointer values.
1540 ; CHECK: AliasSet[0x{{[0-9a-f]+}}, 5] may alias, Mod/Ref Pointers: (i8** %ptr_a, LocationSize::precise(8)), (i8** %ptr_b, LocationSize::precise(8)), (i8* %a, LocationSize::precise(1)), (i8* %b, LocationSize::precise(1))
1541 ; CHECK: 2 Unknown instructions: call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ], call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]
1542 define void @test107(i8** %ptr_a, i1 %cond_a, i8** %ptr_b, i1 %cond_b) {
1544 %a = load i8*, i8** %ptr_a
1545 %b = load i8*, i8** %ptr_b
1546 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]
1548 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]