519 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -S --passes=slp-vectorizer -mtriple=x86_64-unknown-linux-gnu -slp-threshold=-99999 < %s | FileCheck %s3 4define i32 @test(ptr addrspace(1) %arg) {5; CHECK-LABEL: define i32 @test(6; CHECK-SAME: ptr addrspace(1) [[ARG:%.*]]) {7; CHECK-NEXT: [[BB:.*:]]8; CHECK-NEXT: br label %[[BB1:.*]]9; CHECK: [[BB1]]:10; CHECK-NEXT: [[TMP0:%.*]] = insertelement <2 x ptr addrspace(1)> poison, ptr addrspace(1) [[ARG]], i32 011; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <2 x ptr addrspace(1)> [[TMP0]], <2 x ptr addrspace(1)> poison, <2 x i32> zeroinitializer12; CHECK-NEXT: [[TMP2:%.*]] = getelementptr i8, <2 x ptr addrspace(1)> [[TMP1]], <2 x i64> <i64 21, i64 22>13; CHECK-NEXT: [[TMP3:%.*]] = getelementptr i8, <2 x ptr addrspace(1)> [[TMP1]], <2 x i64> <i64 20, i64 21>14; CHECK-NEXT: [[GETELEMENTPTR3:%.*]] = getelementptr i8, ptr addrspace(1) [[ARG]], i64 2215; CHECK-NEXT: br i1 false, label %[[BB73:.*]], label %[[BB150:.*]]16; CHECK: [[BB4:.*:]]17; CHECK-NEXT: br i1 false, label %[[BB68:.*]], label %[[BB70:.*]]18; CHECK: [[BB5:.*:]]19; CHECK-NEXT: br i1 false, label %[[BB64:.*]], label %[[BB66:.*]]20; CHECK: [[BB6:.*:]]21; CHECK-NEXT: br i1 false, label %[[BB60:.*]], label %[[BB62:.*]]22; CHECK: [[BB7:.*:]]23; CHECK-NEXT: br i1 false, label %[[BB8:.*]], label %[[BB58:.*]]24; CHECK: [[BB8]]:25; CHECK-NEXT: br i1 false, label %[[BB54:.*]], label %[[BB56:.*]]26; CHECK: [[BB9:.*:]]27; CHECK-NEXT: br i1 false, label %[[BB50:.*]], label %[[BB52:.*]]28; CHECK: [[BB10:.*:]]29; CHECK-NEXT: br i1 false, label %[[BB46:.*]], label %[[BB48:.*]]30; CHECK: [[BB11:.*:]]31; CHECK-NEXT: br i1 false, label %[[BB42:.*]], label %[[BB44:.*]]32; CHECK: [[BB12:.*:]]33; CHECK-NEXT: br i1 false, label %[[BB38:.*]], label %[[BB40:.*]]34; CHECK: [[BB13:.*:]]35; CHECK-NEXT: br i1 false, label %[[BB36:.*]], label %[[BB122:.*]]36; CHECK: [[BB14:.*:]]37; CHECK-NEXT: br i1 false, label %[[BB32:.*]], label %[[BB34:.*]]38; CHECK: [[BB15:.*:]]39; CHECK-NEXT: br i1 false, label %[[BB28:.*]], label %[[BB30:.*]]40; CHECK: [[BB16:.*:]]41; CHECK-NEXT: br i1 false, label %[[BB17:.*]], label %[[BB26:.*]]42; CHECK: [[BB17]]:43; CHECK-NEXT: br i1 false, label %[[BB22:.*]], label %[[BB24:.*]]44; CHECK: [[BB18:.*:]]45; CHECK-NEXT: br i1 false, label %[[BB19:.*]], label %[[BB20:.*]]46; CHECK: [[BB19]]:47; CHECK-NEXT: [[LOAD:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 148; CHECK-NEXT: ret i32 049; CHECK: [[BB20]]:50; CHECK-NEXT: [[LOAD21:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 151; CHECK-NEXT: ret i32 052; CHECK: [[BB22]]:53; CHECK-NEXT: [[LOAD23:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 154; CHECK-NEXT: ret i32 055; CHECK: [[BB24]]:56; CHECK-NEXT: [[LOAD25:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 157; CHECK-NEXT: ret i32 058; CHECK: [[BB26]]:59; CHECK-NEXT: [[LOAD27:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 160; CHECK-NEXT: ret i32 061; CHECK: [[BB28]]:62; CHECK-NEXT: [[LOAD29:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 163; CHECK-NEXT: ret i32 064; CHECK: [[BB30]]:65; CHECK-NEXT: [[LOAD31:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 166; CHECK-NEXT: ret i32 067; CHECK: [[BB32]]:68; CHECK-NEXT: [[LOAD33:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 169; CHECK-NEXT: ret i32 070; CHECK: [[BB34]]:71; CHECK-NEXT: [[LOAD35:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 172; CHECK-NEXT: ret i32 073; CHECK: [[BB36]]:74; CHECK-NEXT: [[LOAD37:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 175; CHECK-NEXT: ret i32 076; CHECK: [[BB38]]:77; CHECK-NEXT: [[LOAD39:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 178; CHECK-NEXT: ret i32 079; CHECK: [[BB40]]:80; CHECK-NEXT: [[LOAD41:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 181; CHECK-NEXT: ret i32 082; CHECK: [[BB42]]:83; CHECK-NEXT: [[LOAD43:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 184; CHECK-NEXT: ret i32 085; CHECK: [[BB44]]:86; CHECK-NEXT: [[LOAD45:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 187; CHECK-NEXT: ret i32 088; CHECK: [[BB46]]:89; CHECK-NEXT: [[LOAD47:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 190; CHECK-NEXT: ret i32 091; CHECK: [[BB48]]:92; CHECK-NEXT: [[LOAD49:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 193; CHECK-NEXT: ret i32 094; CHECK: [[BB50]]:95; CHECK-NEXT: [[LOAD51:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 196; CHECK-NEXT: ret i32 097; CHECK: [[BB52]]:98; CHECK-NEXT: [[LOAD53:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 199; CHECK-NEXT: ret i32 0100; CHECK: [[BB54]]:101; CHECK-NEXT: [[LOAD55:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1102; CHECK-NEXT: ret i32 0103; CHECK: [[BB56]]:104; CHECK-NEXT: [[LOAD57:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1105; CHECK-NEXT: ret i32 0106; CHECK: [[BB58]]:107; CHECK-NEXT: [[LOAD59:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1108; CHECK-NEXT: ret i32 0109; CHECK: [[BB60]]:110; CHECK-NEXT: [[LOAD61:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1111; CHECK-NEXT: ret i32 0112; CHECK: [[BB62]]:113; CHECK-NEXT: [[LOAD63:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1114; CHECK-NEXT: ret i32 0115; CHECK: [[BB64]]:116; CHECK-NEXT: [[LOAD65:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1117; CHECK-NEXT: ret i32 0118; CHECK: [[BB66]]:119; CHECK-NEXT: [[LOAD67:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1120; CHECK-NEXT: ret i32 0121; CHECK: [[BB68]]:122; CHECK-NEXT: [[LOAD69:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1123; CHECK-NEXT: ret i32 0124; CHECK: [[BB70]]:125; CHECK-NEXT: [[LOAD71:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1126; CHECK-NEXT: ret i32 0127; CHECK: [[BB72:.*]]:128; CHECK-NEXT: br i1 false, label %[[BB142:.*]], label %[[BB79:.*]]129; CHECK: [[BB73]]:130; CHECK-NEXT: [[TMP4:%.*]] = insertelement <2 x ptr addrspace(1)> <ptr addrspace(1) poison, ptr addrspace(1) null>, ptr addrspace(1) [[GETELEMENTPTR3]], i32 0131; CHECK-NEXT: br i1 false, label %[[BB146:.*]], label %[[BB74:.*]]132; CHECK: [[BB74]]:133; CHECK-NEXT: br i1 false, label %[[BB75:.*]], label %[[BB76:.*]]134; CHECK: [[BB75]]:135; CHECK-NEXT: br label %[[BB150]]136; CHECK: [[BB76]]:137; CHECK-NEXT: br i1 false, label %[[BB153:.*]], label %[[BB77:.*]]138; CHECK: [[BB77]]:139; CHECK-NEXT: [[LOAD78:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1140; CHECK-NEXT: ret i32 0141; CHECK: [[BB79]]:142; CHECK-NEXT: br i1 false, label %[[BB146]], label %[[BB81:.*]]143; CHECK: [[BB80:.*]]:144; CHECK-NEXT: br label %[[BB150]]145; CHECK: [[BB81]]:146; CHECK-NEXT: [[LOAD82:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1147; CHECK-NEXT: ret i32 0148; CHECK: [[BB83:.*]]:149; CHECK-NEXT: br label %[[BB138:.*]]150; CHECK: [[BB84:.*]]:151; CHECK-NEXT: br i1 false, label %[[BB142]], label %[[BB85:.*]]152; CHECK: [[BB85]]:153; CHECK-NEXT: br i1 false, label %[[BB146]], label %[[BB86:.*]]154; CHECK: [[BB86]]:155; CHECK-NEXT: [[LOAD87:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1156; CHECK-NEXT: ret i32 0157; CHECK: [[BB88:.*]]:158; CHECK-NEXT: br label %[[BB134:.*]]159; CHECK: [[BB89:.*]]:160; CHECK-NEXT: br i1 false, label %[[BB138]], label %[[BB90:.*]]161; CHECK: [[BB90]]:162; CHECK-NEXT: br i1 false, label %[[BB142]], label %[[BB91:.*]]163; CHECK: [[BB91]]:164; CHECK-NEXT: [[LOAD92:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1165; CHECK-NEXT: ret i32 0166; CHECK: [[BB93:.*]]:167; CHECK-NEXT: br label %[[BB130:.*]]168; CHECK: [[BB94:.*]]:169; CHECK-NEXT: br i1 false, label %[[BB134]], label %[[BB95:.*]]170; CHECK: [[BB95]]:171; CHECK-NEXT: br i1 false, label %[[BB138]], label %[[BB96:.*]]172; CHECK: [[BB96]]:173; CHECK-NEXT: [[LOAD97:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1174; CHECK-NEXT: ret i32 0175; CHECK: [[BB98:.*]]:176; CHECK-NEXT: br label %[[BB126:.*]]177; CHECK: [[BB99:.*]]:178; CHECK-NEXT: br i1 false, label %[[BB130]], label %[[BB100:.*]]179; CHECK: [[BB100]]:180; CHECK-NEXT: br i1 false, label %[[BB134]], label %[[BB101:.*]]181; CHECK: [[BB101]]:182; CHECK-NEXT: [[LOAD102:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1183; CHECK-NEXT: ret i32 0184; CHECK: [[BB103:.*]]:185; CHECK-NEXT: br label %[[BB124:.*]]186; CHECK: [[BB104:.*]]:187; CHECK-NEXT: br i1 false, label %[[BB126]], label %[[BB105:.*]]188; CHECK: [[BB105]]:189; CHECK-NEXT: br i1 false, label %[[BB130]], label %[[BB106:.*]]190; CHECK: [[BB106]]:191; CHECK-NEXT: [[LOAD107:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1192; CHECK-NEXT: ret i32 0193; CHECK: [[BB108:.*]]:194; CHECK-NEXT: br label %[[BB124]]195; CHECK: [[BB109:.*]]:196; CHECK-NEXT: br i1 false, label %[[BB126]], label %[[BB110:.*]]197; CHECK: [[BB110]]:198; CHECK-NEXT: [[LOAD111:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1199; CHECK-NEXT: ret i32 0200; CHECK: [[BB112:.*]]:201; CHECK-NEXT: [[LOAD113:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1202; CHECK-NEXT: br label %[[BB124]]203; CHECK: [[BB114:.*:]]204; CHECK-NEXT: [[LOAD115:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1205; CHECK-NEXT: ret i32 0206; CHECK: [[BB116:.*:]]207; CHECK-NEXT: [[LOAD117:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1208; CHECK-NEXT: ret i32 0209; CHECK: [[BB118:.*:]]210; CHECK-NEXT: [[LOAD119:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1211; CHECK-NEXT: ret i32 0212; CHECK: [[BB120:.*:]]213; CHECK-NEXT: [[LOAD121:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1214; CHECK-NEXT: ret i32 0215; CHECK: [[BB122]]:216; CHECK-NEXT: [[LOAD123:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1217; CHECK-NEXT: ret i32 0218; CHECK: [[BB124]]:219; CHECK-NEXT: [[PHI:%.*]] = phi ptr addrspace(1) [ null, %[[BB112]] ], [ [[GETELEMENTPTR3]], %[[BB108]] ], [ null, %[[BB103]] ]220; CHECK-NEXT: [[PHI125:%.*]] = phi ptr addrspace(1) [ null, %[[BB112]] ], [ null, %[[BB108]] ], [ [[GETELEMENTPTR3]], %[[BB103]] ]221; CHECK-NEXT: br label %[[BB126]]222; CHECK: [[BB126]]:223; CHECK-NEXT: [[PHI127:%.*]] = phi ptr addrspace(1) [ null, %[[BB124]] ], [ null, %[[BB98]] ], [ null, %[[BB104]] ], [ [[GETELEMENTPTR3]], %[[BB109]] ]224; CHECK-NEXT: [[PHI128:%.*]] = phi ptr addrspace(1) [ null, %[[BB124]] ], [ null, %[[BB98]] ], [ [[GETELEMENTPTR3]], %[[BB104]] ], [ null, %[[BB109]] ]225; CHECK-NEXT: [[PHI129:%.*]] = phi ptr addrspace(1) [ null, %[[BB124]] ], [ [[GETELEMENTPTR3]], %[[BB98]] ], [ null, %[[BB104]] ], [ null, %[[BB109]] ]226; CHECK-NEXT: br label %[[BB130]]227; CHECK: [[BB130]]:228; CHECK-NEXT: [[PHI131:%.*]] = phi ptr addrspace(1) [ null, %[[BB126]] ], [ null, %[[BB93]] ], [ null, %[[BB99]] ], [ [[GETELEMENTPTR3]], %[[BB105]] ]229; CHECK-NEXT: [[PHI132:%.*]] = phi ptr addrspace(1) [ null, %[[BB126]] ], [ null, %[[BB93]] ], [ [[GETELEMENTPTR3]], %[[BB99]] ], [ null, %[[BB105]] ]230; CHECK-NEXT: [[PHI133:%.*]] = phi ptr addrspace(1) [ null, %[[BB126]] ], [ [[GETELEMENTPTR3]], %[[BB93]] ], [ null, %[[BB99]] ], [ null, %[[BB105]] ]231; CHECK-NEXT: br label %[[BB134]]232; CHECK: [[BB134]]:233; CHECK-NEXT: [[PHI135:%.*]] = phi ptr addrspace(1) [ null, %[[BB130]] ], [ null, %[[BB88]] ], [ null, %[[BB94]] ], [ [[GETELEMENTPTR3]], %[[BB100]] ]234; CHECK-NEXT: [[PHI136:%.*]] = phi ptr addrspace(1) [ null, %[[BB130]] ], [ null, %[[BB88]] ], [ [[GETELEMENTPTR3]], %[[BB94]] ], [ null, %[[BB100]] ]235; CHECK-NEXT: [[PHI137:%.*]] = phi ptr addrspace(1) [ null, %[[BB130]] ], [ [[GETELEMENTPTR3]], %[[BB88]] ], [ null, %[[BB94]] ], [ null, %[[BB100]] ]236; CHECK-NEXT: br label %[[BB138]]237; CHECK: [[BB138]]:238; CHECK-NEXT: [[PHI139:%.*]] = phi ptr addrspace(1) [ null, %[[BB134]] ], [ null, %[[BB83]] ], [ null, %[[BB89]] ], [ [[GETELEMENTPTR3]], %[[BB95]] ]239; CHECK-NEXT: [[PHI140:%.*]] = phi ptr addrspace(1) [ null, %[[BB134]] ], [ null, %[[BB83]] ], [ [[GETELEMENTPTR3]], %[[BB89]] ], [ null, %[[BB95]] ]240; CHECK-NEXT: [[PHI141:%.*]] = phi ptr addrspace(1) [ null, %[[BB134]] ], [ [[GETELEMENTPTR3]], %[[BB83]] ], [ null, %[[BB89]] ], [ null, %[[BB95]] ]241; CHECK-NEXT: br label %[[BB142]]242; CHECK: [[BB142]]:243; CHECK-NEXT: [[PHI143:%.*]] = phi ptr addrspace(1) [ null, %[[BB138]] ], [ null, %[[BB72]] ], [ null, %[[BB84]] ], [ [[GETELEMENTPTR3]], %[[BB90]] ]244; CHECK-NEXT: [[PHI144:%.*]] = phi ptr addrspace(1) [ null, %[[BB138]] ], [ null, %[[BB72]] ], [ [[GETELEMENTPTR3]], %[[BB84]] ], [ null, %[[BB90]] ]245; CHECK-NEXT: [[PHI145:%.*]] = phi ptr addrspace(1) [ null, %[[BB138]] ], [ [[GETELEMENTPTR3]], %[[BB72]] ], [ null, %[[BB84]] ], [ null, %[[BB90]] ]246; CHECK-NEXT: br label %[[BB146]]247; CHECK: [[BB146]]:248; CHECK-NEXT: [[PHI147:%.*]] = phi ptr addrspace(1) [ null, %[[BB142]] ], [ null, %[[BB73]] ], [ null, %[[BB79]] ], [ [[GETELEMENTPTR3]], %[[BB85]] ]249; CHECK-NEXT: [[TMP5:%.*]] = phi <2 x ptr addrspace(1)> [ poison, %[[BB142]] ], [ [[TMP4]], %[[BB73]] ], [ poison, %[[BB79]] ], [ poison, %[[BB85]] ]250; CHECK-NEXT: br label %[[BB150]]251; CHECK: [[BB150]]:252; CHECK-NEXT: [[TMP6:%.*]] = phi <2 x ptr addrspace(1)> [ [[TMP2]], %[[BB75]] ], [ poison, %[[BB80]] ], [ zeroinitializer, %[[BB146]] ], [ [[TMP3]], %[[BB1]] ]253; CHECK-NEXT: br label %[[BB153]]254; CHECK: [[BB153]]:255; CHECK-NEXT: [[PHI154:%.*]] = phi ptr addrspace(1) [ null, %[[BB150]] ], [ [[GETELEMENTPTR3]], %[[BB76]] ]256; CHECK-NEXT: ret i32 0257;258bb:259 br label %bb1260 261bb1: ; preds = %bb262 %getelementptr = getelementptr i8, ptr addrspace(1) %arg, i64 20263 %getelementptr2 = getelementptr i8, ptr addrspace(1) %arg, i64 21264 %getelementptr3 = getelementptr i8, ptr addrspace(1) %arg, i64 22265 br i1 false, label %bb73, label %bb150266bb4: ; No predecessors!267 br i1 false, label %bb68, label %bb70268bb5: ; No predecessors!269 br i1 false, label %bb64, label %bb66270bb6: ; No predecessors!271 br i1 false, label %bb60, label %bb62272bb7: ; No predecessors!273 br i1 false, label %bb8, label %bb58274bb8: ; preds = %bb7275 br i1 false, label %bb54, label %bb56276bb9: ; No predecessors!277 br i1 false, label %bb50, label %bb52278bb10: ; No predecessors!279 br i1 false, label %bb46, label %bb48280bb11: ; No predecessors!281 br i1 false, label %bb42, label %bb44282bb12: ; No predecessors!283 br i1 false, label %bb38, label %bb40284bb13: ; No predecessors!285 br i1 false, label %bb36, label %bb122286bb14: ; No predecessors!287 br i1 false, label %bb32, label %bb34288bb15: ; No predecessors!289 br i1 false, label %bb28, label %bb30290bb16: ; No predecessors!291 br i1 false, label %bb17, label %bb26292bb17: ; preds = %bb16293 br i1 false, label %bb22, label %bb24294bb18: ; No predecessors!295 br i1 false, label %bb19, label %bb20296bb19: ; preds = %bb18297 %load = load i8, ptr addrspace(1) %getelementptr3, align 1298 ret i32 0299bb20: ; preds = %bb18300 %load21 = load i8, ptr addrspace(1) %getelementptr3, align 1301 ret i32 0302bb22: ; preds = %bb17303 %load23 = load i8, ptr addrspace(1) %getelementptr3, align 1304 ret i32 0305bb24: ; preds = %bb17306 %load25 = load i8, ptr addrspace(1) %getelementptr3, align 1307 ret i32 0308bb26: ; preds = %bb16309 %load27 = load i8, ptr addrspace(1) %getelementptr3, align 1310 ret i32 0311bb28: ; preds = %bb15312 %load29 = load i8, ptr addrspace(1) %getelementptr3, align 1313 ret i32 0314bb30: ; preds = %bb15315 %load31 = load i8, ptr addrspace(1) %getelementptr3, align 1316 ret i32 0317bb32: ; preds = %bb14318 %load33 = load i8, ptr addrspace(1) %getelementptr3, align 1319 ret i32 0320bb34: ; preds = %bb14321 %load35 = load i8, ptr addrspace(1) %getelementptr3, align 1322 ret i32 0323bb36: ; preds = %bb13324 %load37 = load i8, ptr addrspace(1) %getelementptr3, align 1325 ret i32 0326bb38: ; preds = %bb12327 %load39 = load i8, ptr addrspace(1) %getelementptr3, align 1328 ret i32 0329bb40: ; preds = %bb12330 %load41 = load i8, ptr addrspace(1) %getelementptr3, align 1331 ret i32 0332bb42: ; preds = %bb11333 %load43 = load i8, ptr addrspace(1) %getelementptr3, align 1334 ret i32 0335bb44: ; preds = %bb11336 %load45 = load i8, ptr addrspace(1) %getelementptr3, align 1337 ret i32 0338bb46: ; preds = %bb10339 %load47 = load i8, ptr addrspace(1) %getelementptr3, align 1340 ret i32 0341bb48: ; preds = %bb10342 %load49 = load i8, ptr addrspace(1) %getelementptr3, align 1343 ret i32 0344bb50: ; preds = %bb9345 %load51 = load i8, ptr addrspace(1) %getelementptr3, align 1346 ret i32 0347bb52: ; preds = %bb9348 %load53 = load i8, ptr addrspace(1) %getelementptr3, align 1349 ret i32 0350bb54: ; preds = %bb8351 %load55 = load i8, ptr addrspace(1) %getelementptr3, align 1352 ret i32 0353bb56: ; preds = %bb8354 %load57 = load i8, ptr addrspace(1) %getelementptr3, align 1355 ret i32 0356bb58: ; preds = %bb7357 %load59 = load i8, ptr addrspace(1) %getelementptr3, align 1358 ret i32 0359bb60: ; preds = %bb6360 %load61 = load i8, ptr addrspace(1) %getelementptr3, align 1361 ret i32 0362bb62: ; preds = %bb6363 %load63 = load i8, ptr addrspace(1) %getelementptr3, align 1364 ret i32 0365bb64: ; preds = %bb5366 %load65 = load i8, ptr addrspace(1) %getelementptr3, align 1367 ret i32 0368bb66: ; preds = %bb5369 %load67 = load i8, ptr addrspace(1) %getelementptr3, align 1370 ret i32 0371bb68: ; preds = %bb4372 %load69 = load i8, ptr addrspace(1) %getelementptr3, align 1373 ret i32 0374bb70: ; preds = %bb4375 %load71 = load i8, ptr addrspace(1) %getelementptr3, align 1376 ret i32 0377bb72: ; No predecessors!378 br i1 false, label %bb142, label %bb79379bb73: ; preds = %bb1380 br i1 false, label %bb146, label %bb74381bb74: ; preds = %bb73382 br i1 false, label %bb75, label %bb76383bb75: ; preds = %bb74384 br label %bb150385bb76: ; preds = %bb74386 br i1 false, label %bb153, label %bb77387bb77: ; preds = %bb76388 %load78 = load i8, ptr addrspace(1) %getelementptr3, align 1389 ret i32 0390bb79: ; preds = %bb72391 br i1 false, label %bb146, label %bb81392bb80: ; No predecessors!393 br label %bb150394bb81: ; preds = %bb79395 %load82 = load i8, ptr addrspace(1) %getelementptr3, align 1396 ret i32 0397bb83: ; No predecessors!398 br label %bb138399bb84: ; No predecessors!400 br i1 false, label %bb142, label %bb85401bb85: ; preds = %bb84402 br i1 false, label %bb146, label %bb86403bb86: ; preds = %bb85404 %load87 = load i8, ptr addrspace(1) %getelementptr3, align 1405 ret i32 0406bb88: ; No predecessors!407 br label %bb134408bb89: ; No predecessors!409 br i1 false, label %bb138, label %bb90410bb90: ; preds = %bb89411 br i1 false, label %bb142, label %bb91412bb91: ; preds = %bb90413 %load92 = load i8, ptr addrspace(1) %getelementptr3, align 1414 ret i32 0415bb93: ; No predecessors!416 br label %bb130417bb94: ; No predecessors!418 br i1 false, label %bb134, label %bb95419bb95: ; preds = %bb94420 br i1 false, label %bb138, label %bb96421bb96: ; preds = %bb95422 %load97 = load i8, ptr addrspace(1) %getelementptr3, align 1423 ret i32 0424bb98: ; No predecessors!425 br label %bb126426bb99: ; No predecessors!427 br i1 false, label %bb130, label %bb100428bb100: ; preds = %bb99429 br i1 false, label %bb134, label %bb101430bb101: ; preds = %bb100431 %load102 = load i8, ptr addrspace(1) %getelementptr3, align 1432 ret i32 0433bb103: ; No predecessors!434 br label %bb124435bb104: ; No predecessors!436 br i1 false, label %bb126, label %bb105437bb105: ; preds = %bb104438 br i1 false, label %bb130, label %bb106439bb106: ; preds = %bb105440 %load107 = load i8, ptr addrspace(1) %getelementptr3, align 1441 ret i32 0442bb108: ; No predecessors!443 br label %bb124444bb109: ; No predecessors!445 br i1 false, label %bb126, label %bb110446bb110: ; preds = %bb109447 %load111 = load i8, ptr addrspace(1) %getelementptr3, align 1448 ret i32 0449bb112: ; No predecessors!450 %load113 = load i8, ptr addrspace(1) %getelementptr3, align 1451 br label %bb124452bb114: ; No predecessors!453 %load115 = load i8, ptr addrspace(1) %getelementptr3, align 1454 ret i32 0455bb116: ; No predecessors!456 %load117 = load i8, ptr addrspace(1) %getelementptr3, align 1457 ret i32 0458bb118: ; No predecessors!459 %load119 = load i8, ptr addrspace(1) %getelementptr3, align 1460 ret i32 0461bb120: ; No predecessors!462 %load121 = load i8, ptr addrspace(1) %getelementptr3, align 1463 ret i32 0464bb122: ; preds = %bb13465 %load123 = load i8, ptr addrspace(1) %getelementptr3, align 1466 ret i32 0467 468bb124: ; preds = %bb112, %bb108, %bb103469 %phi = phi ptr addrspace(1) [ null, %bb112 ], [ %getelementptr3, %bb108 ], [ null, %bb103 ]470 %phi125 = phi ptr addrspace(1) [ null, %bb112 ], [ null, %bb108 ], [ %getelementptr3, %bb103 ]471 br label %bb126472 473bb126: ; preds = %bb124, %bb109, %bb104, %bb98474 %phi127 = phi ptr addrspace(1) [ null, %bb124 ], [ null, %bb98 ], [ null, %bb104 ], [ %getelementptr3, %bb109 ]475 %phi128 = phi ptr addrspace(1) [ null, %bb124 ], [ null, %bb98 ], [ %getelementptr3, %bb104 ], [ null, %bb109 ]476 %phi129 = phi ptr addrspace(1) [ null, %bb124 ], [ %getelementptr3, %bb98 ], [ null, %bb104 ], [ null, %bb109 ]477 br label %bb130478 479bb130: ; preds = %bb126, %bb105, %bb99, %bb93480 %phi131 = phi ptr addrspace(1) [ null, %bb126 ], [ null, %bb93 ], [ null, %bb99 ], [ %getelementptr3, %bb105 ]481 %phi132 = phi ptr addrspace(1) [ null, %bb126 ], [ null, %bb93 ], [ %getelementptr3, %bb99 ], [ null, %bb105 ]482 %phi133 = phi ptr addrspace(1) [ null, %bb126 ], [ %getelementptr3, %bb93 ], [ null, %bb99 ], [ null, %bb105 ]483 br label %bb134484 485bb134: ; preds = %bb130, %bb100, %bb94, %bb88486 %phi135 = phi ptr addrspace(1) [ null, %bb130 ], [ null, %bb88 ], [ null, %bb94 ], [ %getelementptr3, %bb100 ]487 %phi136 = phi ptr addrspace(1) [ null, %bb130 ], [ null, %bb88 ], [ %getelementptr3, %bb94 ], [ null, %bb100 ]488 %phi137 = phi ptr addrspace(1) [ null, %bb130 ], [ %getelementptr3, %bb88 ], [ null, %bb94 ], [ null, %bb100 ]489 br label %bb138490 491bb138: ; preds = %bb134, %bb95, %bb89, %bb83492 %phi139 = phi ptr addrspace(1) [ null, %bb134 ], [ null, %bb83 ], [ null, %bb89 ], [ %getelementptr3, %bb95 ]493 %phi140 = phi ptr addrspace(1) [ null, %bb134 ], [ null, %bb83 ], [ %getelementptr3, %bb89 ], [ null, %bb95 ]494 %phi141 = phi ptr addrspace(1) [ null, %bb134 ], [ %getelementptr3, %bb83 ], [ null, %bb89 ], [ null, %bb95 ]495 br label %bb142496 497bb142: ; preds = %bb138, %bb90, %bb84, %bb72498 %phi143 = phi ptr addrspace(1) [ null, %bb138 ], [ null, %bb72 ], [ null, %bb84 ], [ %getelementptr3, %bb90 ]499 %phi144 = phi ptr addrspace(1) [ null, %bb138 ], [ null, %bb72 ], [ %getelementptr3, %bb84 ], [ null, %bb90 ]500 %phi145 = phi ptr addrspace(1) [ null, %bb138 ], [ %getelementptr3, %bb72 ], [ null, %bb84 ], [ null, %bb90 ]501 br label %bb146502 503bb146: ; preds = %bb142, %bb85, %bb79, %bb73504 %phi147 = phi ptr addrspace(1) [ null, %bb142 ], [ null, %bb73 ], [ null, %bb79 ], [ %getelementptr3, %bb85 ]505 %phi148 = phi ptr addrspace(1) [ null, %bb142 ], [ null, %bb73 ], [ %getelementptr3, %bb79 ], [ null, %bb85 ]506 %phi149 = phi ptr addrspace(1) [ null, %bb142 ], [ %getelementptr3, %bb73 ], [ null, %bb79 ], [ null, %bb85 ]507 br label %bb150508 509bb150: ; preds = %bb146, %bb80, %bb75, %bb1510 %phi151 = phi ptr addrspace(1) [ %getelementptr2, %bb75 ], [ %getelementptr3, %bb80 ], [ null, %bb146 ], [ %getelementptr, %bb1 ]511 %phi152 = phi ptr addrspace(1) [ %getelementptr3, %bb75 ], [ null, %bb80 ], [ null, %bb146 ], [ %getelementptr2, %bb1 ]512 br label %bb153513 514bb153: ; preds = %bb150, %bb76515 %phi154 = phi ptr addrspace(1) [ null, %bb150 ], [ %getelementptr3, %bb76 ]516 ret i32 0517}518 519