1551 lines · plain
1; RUN: opt -aa-pipeline=basic-aa -passes=print-alias-sets -S -o - < %s 2>&1 | FileCheck %s2declare 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, Ref8; 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 113 %b = alloca i8, align 114 %0 = load i8, ptr %a15 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]16 %1 = load i8, ptr %b17 ret void18}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, Ref24; 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 129 %b = alloca i8, align 130 %0 = load i8, ptr %a31 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]32 store i8 1, ptr %b33 ret void34}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, Ref40; 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 145 %b = alloca i8, align 146 store i8 0, ptr %a47 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]48 %0 = load i8, ptr %b49 ret void50}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, Ref56; 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 161 %b = alloca i8, align 162 store i8 0, ptr %a63 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]64 store i8 1, ptr %b65 ret void66}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, Ref71; 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 177 %b = alloca i8, align 178 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]79 %0 = load i8, ptr %a80 %1 = load i8, ptr %b81 ret void82}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, Ref87; 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 193 %b = alloca i8, align 194 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]95 %0 = load i8, ptr %a96 store i8 1, ptr %b97 ret void98}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, Ref103; 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 1109 %b = alloca i8, align 1110 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]111 store i8 0, ptr %a112 %0 = load i8, ptr %b113 ret void114}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, Ref119; 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 1125 %b = alloca i8, align 1126 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]127 store i8 0, ptr %a128 store i8 1, ptr %b129 ret void130}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, Ref135; 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 1141 %b = alloca i8, align 1142 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]143 %0 = load i8, ptr %a144 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]145 %1 = load i8, ptr %b146 ret void147}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, Ref152; 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 1158 %b = alloca i8, align 1159 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]160 %0 = load i8, ptr %a161 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]162 store i8 1, ptr %b163 ret void164}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, Ref169; 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 1175 %b = alloca i8, align 1176 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]177 store i8 0, ptr %a178 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]179 %0 = load i8, ptr %b180 ret void181}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, Ref186; 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 1192 %b = alloca i8, align 1193 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]194 store i8 0, ptr %a195 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]196 store i8 1, ptr %b197 ret void198}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 1208 %0 = load i8, ptr %a209 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]210 %1 = load i8, ptr %b211 ret void212}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 1222 %0 = load i8, ptr %a223 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]224 store i8 1, ptr %b225 ret void226}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 1236 store i8 0, ptr %a237 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]238 %0 = load i8, ptr %b239 ret void240}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 1250 store i8 0, ptr %a251 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]252 store i8 1, ptr %b253 ret void254}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 1264 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]265 %0 = load i8, ptr %a266 %1 = load i8, ptr %b267 ret void268}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 1278 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]279 %0 = load i8, ptr %a280 store i8 1, ptr %b281 ret void282}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 1292 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]293 store i8 0, ptr %a294 %0 = load i8, ptr %b295 ret void296}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 1306 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]307 store i8 0, ptr %a308 store i8 1, ptr %b309 ret void310}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 1320 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]321 %0 = load i8, ptr %a322 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]323 %1 = load i8, ptr %b324 ret void325}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 1335 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]336 %0 = load i8, ptr %a337 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]338 store i8 1, ptr %b339 ret void340}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 1350 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]351 store i8 0, ptr %a352 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]353 %0 = load i8, ptr %b354 ret void355}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 1365 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]366 store i8 0, ptr %a367 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]368 store i8 1, ptr %b369 ret void370}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 1380 %b = load ptr, ptr %ptr_b381 %0 = load i8, ptr %a382 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]383 %1 = load i8, ptr %b384 ret void385}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 1395 %b = load ptr, ptr %ptr_b396 %0 = load i8, ptr %a397 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]398 store i8 1, ptr %b399 ret void400}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 1410 %b = load ptr, ptr %ptr_b411 store i8 0, ptr %a412 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]413 %0 = load i8, ptr %b414 ret void415}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 1425 %b = load ptr, ptr %ptr_b426 store i8 0, ptr %a427 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]428 store i8 1, ptr %b429 ret void430}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 1440 %b = load ptr, ptr %ptr_b441 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]442 %0 = load i8, ptr %a443 %1 = load i8, ptr %b444 ret void445}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 1455 %b = load ptr, ptr %ptr_b456 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]457 %0 = load i8, ptr %a458 store i8 1, ptr %b459 ret void460}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 1470 %b = load ptr, ptr %ptr_b471 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]472 store i8 0, ptr %a473 %0 = load i8, ptr %b474 ret void475}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 1485 %b = load ptr, ptr %ptr_b486 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]487 store i8 0, ptr %a488 store i8 1, ptr %b489 ret void490}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 1500 %b = load ptr, ptr %ptr_b501 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]502 %0 = load i8, ptr %a503 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]504 %1 = load i8, ptr %b505 ret void506}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 1516 %b = load ptr, ptr %ptr_b517 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]518 %0 = load i8, ptr %a519 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]520 store i8 1, ptr %b521 ret void522}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 1532 %b = load ptr, ptr %ptr_b533 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]534 store i8 0, ptr %a535 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]536 %0 = load i8, ptr %b537 ret void538}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 1548 %b = load ptr, ptr %ptr_b549 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]550 store i8 0, ptr %a551 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]552 store i8 1, ptr %b553 ret void554}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 1564 %0 = load i8, ptr %a565 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]566 %1 = load i8, ptr %b567 ret void568}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 1578 %0 = load i8, ptr %a579 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]580 store i8 1, ptr %b581 ret void582}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 1592 store i8 0, ptr %a593 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]594 %0 = load i8, ptr %b595 ret void596}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 1606 store i8 0, ptr %a607 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]608 store i8 1, ptr %b609 ret void610}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 1620 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]621 %0 = load i8, ptr %a622 %1 = load i8, ptr %b623 ret void624}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 1634 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]635 %0 = load i8, ptr %a636 store i8 1, ptr %b637 ret void638}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 1648 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]649 store i8 0, ptr %a650 %0 = load i8, ptr %b651 ret void652}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 1662 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]663 store i8 0, ptr %a664 store i8 1, ptr %b665 ret void666}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 1676 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]677 %0 = load i8, ptr %a678 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]679 %1 = load i8, ptr %b680 ret void681}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 1691 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]692 %0 = load i8, ptr %a693 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]694 store i8 1, ptr %b695 ret void696}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 1706 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]707 store i8 0, ptr %a708 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]709 %0 = load i8, ptr %b710 ret void711}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 1721 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]722 store i8 0, ptr %a723 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]724 store i8 1, ptr %b725 ret void726}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 %a735 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]736 %1 = load i8, ptr %b737 ret void738}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 %a747 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]748 store i8 1, ptr %b749 ret void750}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 %a759 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]760 %0 = load i8, ptr %b761 ret void762}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 %a771 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]772 store i8 1, ptr %b773 ret void774}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 %a784 %1 = load i8, ptr %b785 ret void786}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 %a796 store i8 1, ptr %b797 ret void798}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 %a808 %0 = load i8, ptr %b809 ret void810}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 %a820 store i8 1, ptr %b821 ret void822}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 %a832 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]833 %1 = load i8, ptr %b834 ret void835}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 %a845 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]846 store i8 1, ptr %b847 ret void848}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 %a858 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]859 %0 = load i8, ptr %b860 ret void861}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 %a871 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]872 store i8 1, ptr %b873 ret void874}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_b883 %0 = load i8, ptr %a884 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]885 %1 = load i8, ptr %b886 ret void887}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_b896 %0 = load i8, ptr %a897 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]898 store i8 1, ptr %b899 ret void900}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_b909 store i8 0, ptr %a910 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]911 %0 = load i8, ptr %b912 ret void913}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_b922 store i8 0, ptr %a923 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]924 store i8 1, ptr %b925 ret void926}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_b935 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]936 %0 = load i8, ptr %a937 %1 = load i8, ptr %b938 ret void939}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_b948 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]949 %0 = load i8, ptr %a950 store i8 1, ptr %b951 ret void952}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_b961 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]962 store i8 0, ptr %a963 %0 = load i8, ptr %b964 ret void965}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_b974 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]975 store i8 0, ptr %a976 store i8 1, ptr %b977 ret void978}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_b987 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]988 %0 = load i8, ptr %a989 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]990 %1 = load i8, ptr %b991 ret void992}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_b1001 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1002 %0 = load i8, ptr %a1003 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1004 store i8 1, ptr %b1005 ret void1006}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_b1015 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1016 store i8 0, ptr %a1017 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1018 %0 = load i8, ptr %b1019 ret void1020}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_b1029 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1030 store i8 0, ptr %a1031 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1032 store i8 1, ptr %b1033 ret void1034}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_a1044 %b = alloca i8, align 11045 %0 = load i8, ptr %a1046 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1047 %1 = load i8, ptr %b1048 ret void1049}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_a1059 %b = alloca i8, align 11060 %0 = load i8, ptr %a1061 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1062 store i8 1, ptr %b1063 ret void1064}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_a1074 %b = alloca i8, align 11075 store i8 0, ptr %a1076 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1077 %0 = load i8, ptr %b1078 ret void1079}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_a1089 %b = alloca i8, align 11090 store i8 0, ptr %a1091 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1092 store i8 1, ptr %b1093 ret void1094}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_a1104 %b = alloca i8, align 11105 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1106 %0 = load i8, ptr %a1107 %1 = load i8, ptr %b1108 ret void1109}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_a1119 %b = alloca i8, align 11120 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1121 %0 = load i8, ptr %a1122 store i8 1, ptr %b1123 ret void1124}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_a1134 %b = alloca i8, align 11135 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1136 store i8 0, ptr %a1137 %0 = load i8, ptr %b1138 ret void1139}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_a1149 %b = alloca i8, align 11150 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1151 store i8 0, ptr %a1152 store i8 1, ptr %b1153 ret void1154}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_a1164 %b = alloca i8, align 11165 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1166 %0 = load i8, ptr %a1167 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1168 %1 = load i8, ptr %b1169 ret void1170}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_a1180 %b = alloca i8, align 11181 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1182 %0 = load i8, ptr %a1183 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1184 store i8 1, ptr %b1185 ret void1186}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_a1196 %b = alloca i8, align 11197 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1198 store i8 0, ptr %a1199 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1200 %0 = load i8, ptr %b1201 ret void1202}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_a1212 %b = alloca i8, align 11213 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1214 store i8 0, ptr %a1215 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1216 store i8 1, ptr %b1217 ret void1218}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_a1227 %0 = load i8, ptr %a1228 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1229 %1 = load i8, ptr %b1230 ret void1231}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_a1240 %0 = load i8, ptr %a1241 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1242 store i8 1, ptr %b1243 ret void1244}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_a1253 store i8 0, ptr %a1254 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1255 %0 = load i8, ptr %b1256 ret void1257}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_a1266 store i8 0, ptr %a1267 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1268 store i8 1, ptr %b1269 ret void1270}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_a1279 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1280 %0 = load i8, ptr %a1281 %1 = load i8, ptr %b1282 ret void1283}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_a1292 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1293 %0 = load i8, ptr %a1294 store i8 1, ptr %b1295 ret void1296}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_a1305 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1306 store i8 0, ptr %a1307 %0 = load i8, ptr %b1308 ret void1309}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_a1318 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1319 store i8 0, ptr %a1320 store i8 1, ptr %b1321 ret void1322}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_a1331 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1332 %0 = load i8, ptr %a1333 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1334 %1 = load i8, ptr %b1335 ret void1336}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_a1345 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1346 %0 = load i8, ptr %a1347 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1348 store i8 1, ptr %b1349 ret void1350}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_a1359 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1360 store i8 0, ptr %a1361 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1362 %0 = load i8, ptr %b1363 ret void1364}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_a1373 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1374 store i8 0, ptr %a1375 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1376 store i8 1, ptr %b1377 ret void1378}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_a1387 %b = load ptr, ptr %ptr_b1388 %0 = load i8, ptr %a1389 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1390 %1 = load i8, ptr %b1391 ret void1392}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_a1401 %b = load ptr, ptr %ptr_b1402 %0 = load i8, ptr %a1403 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1404 store i8 1, ptr %b1405 ret void1406}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_a1415 %b = load ptr, ptr %ptr_b1416 store i8 0, ptr %a1417 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1418 %0 = load i8, ptr %b1419 ret void1420}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_a1429 %b = load ptr, ptr %ptr_b1430 store i8 0, ptr %a1431 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1432 store i8 1, ptr %b1433 ret void1434}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_a1443 %b = load ptr, ptr %ptr_b1444 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1445 %0 = load i8, ptr %a1446 %1 = load i8, ptr %b1447 ret void1448}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_a1457 %b = load ptr, ptr %ptr_b1458 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1459 %0 = load i8, ptr %a1460 store i8 1, ptr %b1461 ret void1462}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_a1471 %b = load ptr, ptr %ptr_b1472 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1473 store i8 0, ptr %a1474 %0 = load i8, ptr %b1475 ret void1476}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_a1485 %b = load ptr, ptr %ptr_b1486 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1487 store i8 0, ptr %a1488 store i8 1, ptr %b1489 ret void1490}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_a1499 %b = load ptr, ptr %ptr_b1500 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1501 %0 = load i8, ptr %a1502 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1503 %1 = load i8, ptr %b1504 ret void1505}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_a1514 %b = load ptr, ptr %ptr_b1515 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1516 %0 = load i8, ptr %a1517 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1518 store i8 1, ptr %b1519 ret void1520}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_a1529 %b = load ptr, ptr %ptr_b1530 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1531 store i8 0, ptr %a1532 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1533 %0 = load i8, ptr %b1534 ret void1535}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_a1544 %b = load ptr, ptr %ptr_b1545 call void (i1, ...) @llvm.experimental.guard(i1 %cond_a) [ "deopt"() ]1546 store i8 0, ptr %a1547 call void (i1, ...) @llvm.experimental.guard(i1 %cond_b) [ "deopt"() ]1548 store i8 1, ptr %b1549 ret void1550}1551