1; RUN: opt -aa-pipeline=basic-aa -passes=print-alias-sets -S -o - < %s 2>&1 | FileCheck %s 2declare void @llvm.experimental.guard(i1, ...) 3 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)) 10define void @test0(i1 %cond_b) { 11entry: 12 %a = alloca i8, align 1 13 %b = alloca i8, align 1 14 %0 = load i8, ptr %a 15 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 16 %1 = load i8, ptr %b 17 ret void 18} 19 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)) 26define void @test1(i1 %cond_b) { 27entry: 28 %a = alloca i8, align 1 29 %b = alloca i8, align 1 30 %0 = load i8, ptr %a 31 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 32 store i8 1, ptr %b 33 ret void 34} 35 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)) 42define void @test2(i1 %cond_b) { 43entry: 44 %a = alloca i8, align 1 45 %b = alloca i8, align 1 46 store i8 0, ptr %a 47 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 48 %0 = load i8, ptr %b 49 ret void 50} 51 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)) 58define void @test3(i1 %cond_b) { 59entry: 60 %a = alloca i8, align 1 61 %b = alloca i8, align 1 62 store i8 0, ptr %a 63 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 64 store i8 1, ptr %b 65 ret void 66} 67 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)) 74define void @test4(i1 %cond_a) { 75entry: 76 %a = alloca i8, align 1 77 %b = alloca i8, align 1 78 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 79 %0 = load i8, ptr %a 80 %1 = load i8, ptr %b 81 ret void 82} 83 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)) 90define void @test5(i1 %cond_a) { 91entry: 92 %a = alloca i8, align 1 93 %b = alloca i8, align 1 94 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 95 %0 = load i8, ptr %a 96 store i8 1, ptr %b 97 ret void 98} 99 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)) 106define void @test6(i1 %cond_a) { 107entry: 108 %a = alloca i8, align 1 109 %b = alloca i8, align 1 110 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 111 store i8 0, ptr %a 112 %0 = load i8, ptr %b 113 ret void 114} 115 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)) 122define void @test7(i1 %cond_a) { 123entry: 124 %a = alloca i8, align 1 125 %b = alloca i8, align 1 126 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 127 store i8 0, ptr %a 128 store i8 1, ptr %b 129 ret void 130} 131 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)) 138define void @test8(i1 %cond_a, i1 %cond_b) { 139entry: 140 %a = alloca i8, align 1 141 %b = alloca i8, align 1 142 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 143 %0 = load i8, ptr %a 144 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 145 %1 = load i8, ptr %b 146 ret void 147} 148 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)) 155define void @test9(i1 %cond_a, i1 %cond_b) { 156entry: 157 %a = alloca i8, align 1 158 %b = alloca i8, align 1 159 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 160 %0 = load i8, ptr %a 161 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 162 store i8 1, ptr %b 163 ret void 164} 165 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)) 172define void @test10(i1 %cond_a, i1 %cond_b) { 173entry: 174 %a = alloca i8, align 1 175 %b = alloca i8, align 1 176 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 177 store i8 0, ptr %a 178 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 179 %0 = load i8, ptr %b 180 ret void 181} 182 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)) 189define void @test11(i1 %cond_a, i1 %cond_b) { 190entry: 191 %a = alloca i8, align 1 192 %b = alloca i8, align 1 193 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 194 store i8 0, ptr %a 195 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 196 store i8 1, ptr %b 197 ret void 198} 199 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"() ] 205define void @test12(ptr %b, i1 %cond_b) { 206entry: 207 %a = alloca i8, align 1 208 %0 = load i8, ptr %a 209 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 210 %1 = load i8, ptr %b 211 ret void 212} 213 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"() ] 219define void @test13(ptr %b, i1 %cond_b) { 220entry: 221 %a = alloca i8, align 1 222 %0 = load i8, ptr %a 223 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 224 store i8 1, ptr %b 225 ret void 226} 227 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"() ] 233define void @test14(ptr %b, i1 %cond_b) { 234entry: 235 %a = alloca i8, align 1 236 store i8 0, ptr %a 237 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 238 %0 = load i8, ptr %b 239 ret void 240} 241 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"() ] 247define void @test15(ptr %b, i1 %cond_b) { 248entry: 249 %a = alloca i8, align 1 250 store i8 0, ptr %a 251 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 252 store i8 1, ptr %b 253 ret void 254} 255 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)) 261define void @test16(i1 %cond_a, ptr %b) { 262entry: 263 %a = alloca i8, align 1 264 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 265 %0 = load i8, ptr %a 266 %1 = load i8, ptr %b 267 ret void 268} 269 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)) 275define void @test17(i1 %cond_a, ptr %b) { 276entry: 277 %a = alloca i8, align 1 278 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 279 %0 = load i8, ptr %a 280 store i8 1, ptr %b 281 ret void 282} 283 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)) 289define void @test18(i1 %cond_a, ptr %b) { 290entry: 291 %a = alloca i8, align 1 292 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 293 store i8 0, ptr %a 294 %0 = load i8, ptr %b 295 ret void 296} 297 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)) 303define void @test19(i1 %cond_a, ptr %b) { 304entry: 305 %a = alloca i8, align 1 306 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 307 store i8 0, ptr %a 308 store i8 1, ptr %b 309 ret void 310} 311 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)) 317define void @test20(i1 %cond_a, ptr %b, i1 %cond_b) { 318entry: 319 %a = alloca i8, align 1 320 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 321 %0 = load i8, ptr %a 322 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 323 %1 = load i8, ptr %b 324 ret void 325} 326 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)) 332define void @test21(i1 %cond_a, ptr %b, i1 %cond_b) { 333entry: 334 %a = alloca i8, align 1 335 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 336 %0 = load i8, ptr %a 337 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 338 store i8 1, ptr %b 339 ret void 340} 341 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)) 347define void @test22(i1 %cond_a, ptr %b, i1 %cond_b) { 348entry: 349 %a = alloca i8, align 1 350 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 351 store i8 0, ptr %a 352 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 353 %0 = load i8, ptr %b 354 ret void 355} 356 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)) 362define void @test23(i1 %cond_a, ptr %b, i1 %cond_b) { 363entry: 364 %a = alloca i8, align 1 365 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 366 store i8 0, ptr %a 367 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 368 store i8 1, ptr %b 369 ret void 370} 371 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)) 377define void @test24(ptr %ptr_b, i1 %cond_b) { 378entry: 379 %a = alloca i8, align 1 380 %b = load ptr, ptr %ptr_b 381 %0 = load i8, ptr %a 382 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 383 %1 = load i8, ptr %b 384 ret void 385} 386 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)) 392define void @test25(ptr %ptr_b, i1 %cond_b) { 393entry: 394 %a = alloca i8, align 1 395 %b = load ptr, ptr %ptr_b 396 %0 = load i8, ptr %a 397 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 398 store i8 1, ptr %b 399 ret void 400} 401 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)) 407define void @test26(ptr %ptr_b, i1 %cond_b) { 408entry: 409 %a = alloca i8, align 1 410 %b = load ptr, ptr %ptr_b 411 store i8 0, ptr %a 412 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 413 %0 = load i8, ptr %b 414 ret void 415} 416 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)) 422define void @test27(ptr %ptr_b, i1 %cond_b) { 423entry: 424 %a = alloca i8, align 1 425 %b = load ptr, ptr %ptr_b 426 store i8 0, ptr %a 427 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 428 store i8 1, ptr %b 429 ret void 430} 431 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)) 437define void @test28(i1 %cond_a, ptr %ptr_b) { 438entry: 439 %a = alloca i8, align 1 440 %b = load ptr, ptr %ptr_b 441 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 442 %0 = load i8, ptr %a 443 %1 = load i8, ptr %b 444 ret void 445} 446 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)) 452define void @test29(i1 %cond_a, ptr %ptr_b) { 453entry: 454 %a = alloca i8, align 1 455 %b = load ptr, ptr %ptr_b 456 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 457 %0 = load i8, ptr %a 458 store i8 1, ptr %b 459 ret void 460} 461 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)) 467define void @test30(i1 %cond_a, ptr %ptr_b) { 468entry: 469 %a = alloca i8, align 1 470 %b = load ptr, ptr %ptr_b 471 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 472 store i8 0, ptr %a 473 %0 = load i8, ptr %b 474 ret void 475} 476 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)) 482define void @test31(i1 %cond_a, ptr %ptr_b) { 483entry: 484 %a = alloca i8, align 1 485 %b = load ptr, ptr %ptr_b 486 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 487 store i8 0, ptr %a 488 store i8 1, ptr %b 489 ret void 490} 491 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)) 497define void @test32(i1 %cond_a, ptr %ptr_b, i1 %cond_b) { 498entry: 499 %a = alloca i8, align 1 500 %b = load ptr, ptr %ptr_b 501 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 502 %0 = load i8, ptr %a 503 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 504 %1 = load i8, ptr %b 505 ret void 506} 507 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)) 513define void @test33(i1 %cond_a, ptr %ptr_b, i1 %cond_b) { 514entry: 515 %a = alloca i8, align 1 516 %b = load ptr, ptr %ptr_b 517 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 518 %0 = load i8, ptr %a 519 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 520 store i8 1, ptr %b 521 ret void 522} 523 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)) 529define void @test34(i1 %cond_a, ptr %ptr_b, i1 %cond_b) { 530entry: 531 %a = alloca i8, align 1 532 %b = load ptr, ptr %ptr_b 533 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 534 store i8 0, ptr %a 535 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 536 %0 = load i8, ptr %b 537 ret void 538} 539 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)) 545define void @test35(i1 %cond_a, ptr %ptr_b, i1 %cond_b) { 546entry: 547 %a = alloca i8, align 1 548 %b = load ptr, ptr %ptr_b 549 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 550 store i8 0, ptr %a 551 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 552 store i8 1, ptr %b 553 ret void 554} 555 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)) 561define void @test36(ptr %a, i1 %cond_b) { 562entry: 563 %b = alloca i8, align 1 564 %0 = load i8, ptr %a 565 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 566 %1 = load i8, ptr %b 567 ret void 568} 569 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)) 575define void @test37(ptr %a, i1 %cond_b) { 576entry: 577 %b = alloca i8, align 1 578 %0 = load i8, ptr %a 579 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 580 store i8 1, ptr %b 581 ret void 582} 583 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)) 589define void @test38(ptr %a, i1 %cond_b) { 590entry: 591 %b = alloca i8, align 1 592 store i8 0, ptr %a 593 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 594 %0 = load i8, ptr %b 595 ret void 596} 597 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)) 603define void @test39(ptr %a, i1 %cond_b) { 604entry: 605 %b = alloca i8, align 1 606 store i8 0, ptr %a 607 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 608 store i8 1, ptr %b 609 ret void 610} 611 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)) 617define void @test40(ptr %a, i1 %cond_a) { 618entry: 619 %b = alloca i8, align 1 620 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 621 %0 = load i8, ptr %a 622 %1 = load i8, ptr %b 623 ret void 624} 625 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)) 631define void @test41(ptr %a, i1 %cond_a) { 632entry: 633 %b = alloca i8, align 1 634 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 635 %0 = load i8, ptr %a 636 store i8 1, ptr %b 637 ret void 638} 639 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)) 645define void @test42(ptr %a, i1 %cond_a) { 646entry: 647 %b = alloca i8, align 1 648 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 649 store i8 0, ptr %a 650 %0 = load i8, ptr %b 651 ret void 652} 653 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)) 659define void @test43(ptr %a, i1 %cond_a) { 660entry: 661 %b = alloca i8, align 1 662 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 663 store i8 0, ptr %a 664 store i8 1, ptr %b 665 ret void 666} 667 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)) 673define void @test44(ptr %a, i1 %cond_a, i1 %cond_b) { 674entry: 675 %b = alloca i8, align 1 676 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 677 %0 = load i8, ptr %a 678 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 679 %1 = load i8, ptr %b 680 ret void 681} 682 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)) 688define void @test45(ptr %a, i1 %cond_a, i1 %cond_b) { 689entry: 690 %b = alloca i8, align 1 691 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 692 %0 = load i8, ptr %a 693 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 694 store i8 1, ptr %b 695 ret void 696} 697 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)) 703define void @test46(ptr %a, i1 %cond_a, i1 %cond_b) { 704entry: 705 %b = alloca i8, align 1 706 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 707 store i8 0, ptr %a 708 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 709 %0 = load i8, ptr %b 710 ret void 711} 712 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)) 718define void @test47(ptr %a, i1 %cond_a, i1 %cond_b) { 719entry: 720 %b = alloca i8, align 1 721 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 722 store i8 0, ptr %a 723 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 724 store i8 1, ptr %b 725 ret void 726} 727 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"() ] 732define void @test48(ptr %a, ptr %b, i1 %cond_b) { 733entry: 734 %0 = load i8, ptr %a 735 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 736 %1 = load i8, ptr %b 737 ret void 738} 739 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"() ] 744define void @test49(ptr %a, ptr %b, i1 %cond_b) { 745entry: 746 %0 = load i8, ptr %a 747 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 748 store i8 1, ptr %b 749 ret void 750} 751 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"() ] 756define void @test50(ptr %a, ptr %b, i1 %cond_b) { 757entry: 758 store i8 0, ptr %a 759 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 760 %0 = load i8, ptr %b 761 ret void 762} 763 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"() ] 768define void @test51(ptr %a, ptr %b, i1 %cond_b) { 769entry: 770 store i8 0, ptr %a 771 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 772 store i8 1, ptr %b 773 ret void 774} 775 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"() ] 780define void @test52(ptr %a, i1 %cond_a, ptr %b) { 781entry: 782 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 783 %0 = load i8, ptr %a 784 %1 = load i8, ptr %b 785 ret void 786} 787 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"() ] 792define void @test53(ptr %a, i1 %cond_a, ptr %b) { 793entry: 794 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 795 %0 = load i8, ptr %a 796 store i8 1, ptr %b 797 ret void 798} 799 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"() ] 804define void @test54(ptr %a, i1 %cond_a, ptr %b) { 805entry: 806 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 807 store i8 0, ptr %a 808 %0 = load i8, ptr %b 809 ret void 810} 811 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"() ] 816define void @test55(ptr %a, i1 %cond_a, ptr %b) { 817entry: 818 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 819 store i8 0, ptr %a 820 store i8 1, ptr %b 821 ret void 822} 823 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"() ] 828define void @test56(ptr %a, i1 %cond_a, ptr %b, i1 %cond_b) { 829entry: 830 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 831 %0 = load i8, ptr %a 832 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 833 %1 = load i8, ptr %b 834 ret void 835} 836 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"() ] 841define void @test57(ptr %a, i1 %cond_a, ptr %b, i1 %cond_b) { 842entry: 843 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 844 %0 = load i8, ptr %a 845 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 846 store i8 1, ptr %b 847 ret void 848} 849 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"() ] 854define void @test58(ptr %a, i1 %cond_a, ptr %b, i1 %cond_b) { 855entry: 856 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 857 store i8 0, ptr %a 858 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 859 %0 = load i8, ptr %b 860 ret void 861} 862 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"() ] 867define void @test59(ptr %a, i1 %cond_a, ptr %b, i1 %cond_b) { 868entry: 869 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 870 store i8 0, ptr %a 871 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 872 store i8 1, ptr %b 873 ret void 874} 875 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"() ] 880define void @test60(ptr %a, ptr %ptr_b, i1 %cond_b) { 881entry: 882 %b = load ptr, ptr %ptr_b 883 %0 = load i8, ptr %a 884 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 885 %1 = load i8, ptr %b 886 ret void 887} 888 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"() ] 893define void @test61(ptr %a, ptr %ptr_b, i1 %cond_b) { 894entry: 895 %b = load ptr, ptr %ptr_b 896 %0 = load i8, ptr %a 897 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 898 store i8 1, ptr %b 899 ret void 900} 901 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"() ] 906define void @test62(ptr %a, ptr %ptr_b, i1 %cond_b) { 907entry: 908 %b = load ptr, ptr %ptr_b 909 store i8 0, ptr %a 910 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 911 %0 = load i8, ptr %b 912 ret void 913} 914 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"() ] 919define void @test63(ptr %a, ptr %ptr_b, i1 %cond_b) { 920entry: 921 %b = load ptr, ptr %ptr_b 922 store i8 0, ptr %a 923 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 924 store i8 1, ptr %b 925 ret void 926} 927 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"() ] 932define void @test64(ptr %a, i1 %cond_a, ptr %ptr_b) { 933entry: 934 %b = load ptr, ptr %ptr_b 935 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 936 %0 = load i8, ptr %a 937 %1 = load i8, ptr %b 938 ret void 939} 940 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"() ] 945define void @test65(ptr %a, i1 %cond_a, ptr %ptr_b) { 946entry: 947 %b = load ptr, ptr %ptr_b 948 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 949 %0 = load i8, ptr %a 950 store i8 1, ptr %b 951 ret void 952} 953 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"() ] 958define void @test66(ptr %a, i1 %cond_a, ptr %ptr_b) { 959entry: 960 %b = load ptr, ptr %ptr_b 961 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 962 store i8 0, ptr %a 963 %0 = load i8, ptr %b 964 ret void 965} 966 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"() ] 971define void @test67(ptr %a, i1 %cond_a, ptr %ptr_b) { 972entry: 973 %b = load ptr, ptr %ptr_b 974 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 975 store i8 0, ptr %a 976 store i8 1, ptr %b 977 ret void 978} 979 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"() ] 984define void @test68(ptr %a, i1 %cond_a, ptr %ptr_b, i1 %cond_b) { 985entry: 986 %b = load ptr, ptr %ptr_b 987 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 988 %0 = load i8, ptr %a 989 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 990 %1 = load i8, ptr %b 991 ret void 992} 993 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"() ] 998define void @test69(ptr %a, i1 %cond_a, ptr %ptr_b, i1 %cond_b) { 999entry: 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"() ] 1004 store i8 1, ptr %b 1005 ret void 1006} 1007 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"() ] 1012define void @test70(ptr %a, i1 %cond_a, ptr %ptr_b, i1 %cond_b) { 1013entry: 1014 %b = load ptr, ptr %ptr_b 1015 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 1016 store i8 0, ptr %a 1017 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 1018 %0 = load i8, ptr %b 1019 ret void 1020} 1021 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"() ] 1026define void @test71(ptr %a, i1 %cond_a, ptr %ptr_b, i1 %cond_b) { 1027entry: 1028 %b = load ptr, ptr %ptr_b 1029 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 1030 store i8 0, ptr %a 1031 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 1032 store i8 1, ptr %b 1033 ret void 1034} 1035 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)) 1041define void @test72(ptr %ptr_a, i1 %cond_b) { 1042entry: 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 1048 ret void 1049} 1050 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)) 1056define void @test73(ptr %ptr_a, i1 %cond_b) { 1057entry: 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"() ] 1062 store i8 1, ptr %b 1063 ret void 1064} 1065 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)) 1071define void @test74(ptr %ptr_a, i1 %cond_b) { 1072entry: 1073 %a = load ptr, ptr %ptr_a 1074 %b = alloca i8, align 1 1075 store i8 0, ptr %a 1076 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 1077 %0 = load i8, ptr %b 1078 ret void 1079} 1080 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)) 1086define void @test75(ptr %ptr_a, i1 %cond_b) { 1087entry: 1088 %a = load ptr, ptr %ptr_a 1089 %b = alloca i8, align 1 1090 store i8 0, ptr %a 1091 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 1092 store i8 1, ptr %b 1093 ret void 1094} 1095 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)) 1101define void @test76(ptr %ptr_a, i1 %cond_a) { 1102entry: 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 1108 ret void 1109} 1110 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)) 1116define void @test77(ptr %ptr_a, i1 %cond_a) { 1117entry: 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 1122 store i8 1, ptr %b 1123 ret void 1124} 1125 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)) 1131define void @test78(ptr %ptr_a, i1 %cond_a) { 1132entry: 1133 %a = load ptr, ptr %ptr_a 1134 %b = alloca i8, align 1 1135 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 1136 store i8 0, ptr %a 1137 %0 = load i8, ptr %b 1138 ret void 1139} 1140 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)) 1146define void @test79(ptr %ptr_a, i1 %cond_a) { 1147entry: 1148 %a = load ptr, ptr %ptr_a 1149 %b = alloca i8, align 1 1150 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 1151 store i8 0, ptr %a 1152 store i8 1, ptr %b 1153 ret void 1154} 1155 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)) 1161define void @test80(ptr %ptr_a, i1 %cond_a, i1 %cond_b) { 1162entry: 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 1169 ret void 1170} 1171 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)) 1177define void @test81(ptr %ptr_a, i1 %cond_a, i1 %cond_b) { 1178entry: 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"() ] 1184 store i8 1, ptr %b 1185 ret void 1186} 1187 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)) 1193define void @test82(ptr %ptr_a, i1 %cond_a, i1 %cond_b) { 1194entry: 1195 %a = load ptr, ptr %ptr_a 1196 %b = alloca i8, align 1 1197 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 1198 store i8 0, ptr %a 1199 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 1200 %0 = load i8, ptr %b 1201 ret void 1202} 1203 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)) 1209define void @test83(ptr %ptr_a, i1 %cond_a, i1 %cond_b) { 1210entry: 1211 %a = load ptr, ptr %ptr_a 1212 %b = alloca i8, align 1 1213 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 1214 store i8 0, ptr %a 1215 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 1216 store i8 1, ptr %b 1217 ret void 1218} 1219 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"() ] 1224define void @test84(ptr %ptr_a, ptr %b, i1 %cond_b) { 1225entry: 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 1230 ret void 1231} 1232 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"() ] 1237define void @test85(ptr %ptr_a, ptr %b, i1 %cond_b) { 1238entry: 1239 %a = load ptr, ptr %ptr_a 1240 %0 = load i8, ptr %a 1241 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 1242 store i8 1, ptr %b 1243 ret void 1244} 1245 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"() ] 1250define void @test86(ptr %ptr_a, ptr %b, i1 %cond_b) { 1251entry: 1252 %a = load ptr, ptr %ptr_a 1253 store i8 0, ptr %a 1254 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 1255 %0 = load i8, ptr %b 1256 ret void 1257} 1258 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"() ] 1263define void @test87(ptr %ptr_a, ptr %b, i1 %cond_b) { 1264entry: 1265 %a = load ptr, ptr %ptr_a 1266 store i8 0, ptr %a 1267 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 1268 store i8 1, ptr %b 1269 ret void 1270} 1271 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"() ] 1276define void @test88(ptr %ptr_a, i1 %cond_a, ptr %b) { 1277entry: 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 1282 ret void 1283} 1284 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"() ] 1289define void @test89(ptr %ptr_a, i1 %cond_a, ptr %b) { 1290entry: 1291 %a = load ptr, ptr %ptr_a 1292 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 1293 %0 = load i8, ptr %a 1294 store i8 1, ptr %b 1295 ret void 1296} 1297 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"() ] 1302define void @test90(ptr %ptr_a, i1 %cond_a, ptr %b) { 1303entry: 1304 %a = load ptr, ptr %ptr_a 1305 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 1306 store i8 0, ptr %a 1307 %0 = load i8, ptr %b 1308 ret void 1309} 1310 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"() ] 1315define void @test91(ptr %ptr_a, i1 %cond_a, ptr %b) { 1316entry: 1317 %a = load ptr, ptr %ptr_a 1318 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 1319 store i8 0, ptr %a 1320 store i8 1, ptr %b 1321 ret void 1322} 1323 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"() ] 1328define void @test92(ptr %ptr_a, i1 %cond_a, ptr %b, i1 %cond_b) { 1329entry: 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 1335 ret void 1336} 1337 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"() ] 1342define void @test93(ptr %ptr_a, i1 %cond_a, ptr %b, i1 %cond_b) { 1343entry: 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"() ] 1348 store i8 1, ptr %b 1349 ret void 1350} 1351 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"() ] 1356define void @test94(ptr %ptr_a, i1 %cond_a, ptr %b, i1 %cond_b) { 1357entry: 1358 %a = load ptr, ptr %ptr_a 1359 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 1360 store i8 0, ptr %a 1361 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 1362 %0 = load i8, ptr %b 1363 ret void 1364} 1365 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"() ] 1370define void @test95(ptr %ptr_a, i1 %cond_a, ptr %b, i1 %cond_b) { 1371entry: 1372 %a = load ptr, ptr %ptr_a 1373 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ] 1374 store i8 0, ptr %a 1375 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 1376 store i8 1, ptr %b 1377 ret void 1378} 1379 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"() ] 1384define void @test96(ptr %ptr_a, ptr %ptr_b, i1 %cond_b) { 1385entry: 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 1391 ret void 1392} 1393 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"() ] 1398define void @test97(ptr %ptr_a, ptr %ptr_b, i1 %cond_b) { 1399entry: 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"() ] 1404 store i8 1, ptr %b 1405 ret void 1406} 1407 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"() ] 1412define void @test98(ptr %ptr_a, ptr %ptr_b, i1 %cond_b) { 1413entry: 1414 %a = load ptr, ptr %ptr_a 1415 %b = load ptr, ptr %ptr_b 1416 store i8 0, ptr %a 1417 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 1418 %0 = load i8, ptr %b 1419 ret void 1420} 1421 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"() ] 1426define void @test99(ptr %ptr_a, ptr %ptr_b, i1 %cond_b) { 1427entry: 1428 %a = load ptr, ptr %ptr_a 1429 %b = load ptr, ptr %ptr_b 1430 store i8 0, ptr %a 1431 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 1432 store i8 1, ptr %b 1433 ret void 1434} 1435 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"() ] 1440define void @test100(ptr %ptr_a, i1 %cond_a, ptr %ptr_b) { 1441entry: 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 1447 ret void 1448} 1449 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"() ] 1454define void @test101(ptr %ptr_a, i1 %cond_a, ptr %ptr_b) { 1455entry: 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 1460 store i8 1, ptr %b 1461 ret void 1462} 1463 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"() ] 1468define void @test102(ptr %ptr_a, i1 %cond_a, ptr %ptr_b) { 1469entry: 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"() ] 1473 store i8 0, ptr %a 1474 %0 = load i8, ptr %b 1475 ret void 1476} 1477 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"() ] 1482define void @test103(ptr %ptr_a, i1 %cond_a, ptr %ptr_b) { 1483entry: 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"() ] 1487 store i8 0, ptr %a 1488 store i8 1, ptr %b 1489 ret void 1490} 1491 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"() ] 1496define void @test104(ptr %ptr_a, i1 %cond_a, ptr %ptr_b, i1 %cond_b) { 1497entry: 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 1504 ret void 1505} 1506 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"() ] 1511define void @test105(ptr %ptr_a, i1 %cond_a, ptr %ptr_b, i1 %cond_b) { 1512entry: 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"() ] 1518 store i8 1, ptr %b 1519 ret void 1520} 1521 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"() ] 1526define void @test106(ptr %ptr_a, i1 %cond_a, ptr %ptr_b, i1 %cond_b) { 1527entry: 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"() ] 1531 store i8 0, ptr %a 1532 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 1533 %0 = load i8, ptr %b 1534 ret void 1535} 1536 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"() ] 1541define void @test107(ptr %ptr_a, i1 %cond_a, ptr %ptr_b, i1 %cond_b) { 1542entry: 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"() ] 1546 store i8 0, ptr %a 1547 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ] 1548 store i8 1, ptr %b 1549 ret void 1550} 1551