; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 ; RUN: opt -S --passes=slp-vectorizer -mtriple=x86_64-unknown-linux-gnu -slp-threshold=-99999 < %s | FileCheck %s define i32 @test(ptr addrspace(1) %arg) { ; CHECK-LABEL: define i32 @test( ; CHECK-SAME: ptr addrspace(1) [[ARG:%.*]]) { ; CHECK-NEXT: [[BB:.*:]] ; CHECK-NEXT: br label %[[BB1:.*]] ; CHECK: [[BB1]]: ; CHECK-NEXT: [[TMP0:%.*]] = insertelement <2 x ptr addrspace(1)> poison, ptr addrspace(1) [[ARG]], i32 0 ; CHECK-NEXT: [[TMP1:%.*]] = shufflevector <2 x ptr addrspace(1)> [[TMP0]], <2 x ptr addrspace(1)> poison, <2 x i32> zeroinitializer ; CHECK-NEXT: [[TMP2:%.*]] = getelementptr i8, <2 x ptr addrspace(1)> [[TMP1]], <2 x i64> ; CHECK-NEXT: [[TMP3:%.*]] = getelementptr i8, <2 x ptr addrspace(1)> [[TMP1]], <2 x i64> ; CHECK-NEXT: [[GETELEMENTPTR3:%.*]] = getelementptr i8, ptr addrspace(1) [[ARG]], i64 22 ; CHECK-NEXT: br i1 false, label %[[BB73:.*]], label %[[BB150:.*]] ; CHECK: [[BB4:.*:]] ; CHECK-NEXT: br i1 false, label %[[BB68:.*]], label %[[BB70:.*]] ; CHECK: [[BB5:.*:]] ; CHECK-NEXT: br i1 false, label %[[BB64:.*]], label %[[BB66:.*]] ; CHECK: [[BB6:.*:]] ; CHECK-NEXT: br i1 false, label %[[BB60:.*]], label %[[BB62:.*]] ; CHECK: [[BB7:.*:]] ; CHECK-NEXT: br i1 false, label %[[BB8:.*]], label %[[BB58:.*]] ; CHECK: [[BB8]]: ; CHECK-NEXT: br i1 false, label %[[BB54:.*]], label %[[BB56:.*]] ; CHECK: [[BB9:.*:]] ; CHECK-NEXT: br i1 false, label %[[BB50:.*]], label %[[BB52:.*]] ; CHECK: [[BB10:.*:]] ; CHECK-NEXT: br i1 false, label %[[BB46:.*]], label %[[BB48:.*]] ; CHECK: [[BB11:.*:]] ; CHECK-NEXT: br i1 false, label %[[BB42:.*]], label %[[BB44:.*]] ; CHECK: [[BB12:.*:]] ; CHECK-NEXT: br i1 false, label %[[BB38:.*]], label %[[BB40:.*]] ; CHECK: [[BB13:.*:]] ; CHECK-NEXT: br i1 false, label %[[BB36:.*]], label %[[BB122:.*]] ; CHECK: [[BB14:.*:]] ; CHECK-NEXT: br i1 false, label %[[BB32:.*]], label %[[BB34:.*]] ; CHECK: [[BB15:.*:]] ; CHECK-NEXT: br i1 false, label %[[BB28:.*]], label %[[BB30:.*]] ; CHECK: [[BB16:.*:]] ; CHECK-NEXT: br i1 false, label %[[BB17:.*]], label %[[BB26:.*]] ; CHECK: [[BB17]]: ; CHECK-NEXT: br i1 false, label %[[BB22:.*]], label %[[BB24:.*]] ; CHECK: [[BB18:.*:]] ; CHECK-NEXT: br i1 false, label %[[BB19:.*]], label %[[BB20:.*]] ; CHECK: [[BB19]]: ; CHECK-NEXT: [[LOAD:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB20]]: ; CHECK-NEXT: [[LOAD21:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB22]]: ; CHECK-NEXT: [[LOAD23:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB24]]: ; CHECK-NEXT: [[LOAD25:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB26]]: ; CHECK-NEXT: [[LOAD27:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB28]]: ; CHECK-NEXT: [[LOAD29:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB30]]: ; CHECK-NEXT: [[LOAD31:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB32]]: ; CHECK-NEXT: [[LOAD33:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB34]]: ; CHECK-NEXT: [[LOAD35:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB36]]: ; CHECK-NEXT: [[LOAD37:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB38]]: ; CHECK-NEXT: [[LOAD39:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB40]]: ; CHECK-NEXT: [[LOAD41:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB42]]: ; CHECK-NEXT: [[LOAD43:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB44]]: ; CHECK-NEXT: [[LOAD45:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB46]]: ; CHECK-NEXT: [[LOAD47:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB48]]: ; CHECK-NEXT: [[LOAD49:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB50]]: ; CHECK-NEXT: [[LOAD51:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB52]]: ; CHECK-NEXT: [[LOAD53:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB54]]: ; CHECK-NEXT: [[LOAD55:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB56]]: ; CHECK-NEXT: [[LOAD57:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB58]]: ; CHECK-NEXT: [[LOAD59:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB60]]: ; CHECK-NEXT: [[LOAD61:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB62]]: ; CHECK-NEXT: [[LOAD63:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB64]]: ; CHECK-NEXT: [[LOAD65:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB66]]: ; CHECK-NEXT: [[LOAD67:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB68]]: ; CHECK-NEXT: [[LOAD69:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB70]]: ; CHECK-NEXT: [[LOAD71:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB72:.*]]: ; CHECK-NEXT: br i1 false, label %[[BB142:.*]], label %[[BB79:.*]] ; CHECK: [[BB73]]: ; CHECK-NEXT: [[TMP4:%.*]] = insertelement <2 x ptr addrspace(1)> , ptr addrspace(1) [[GETELEMENTPTR3]], i32 0 ; CHECK-NEXT: br i1 false, label %[[BB146:.*]], label %[[BB74:.*]] ; CHECK: [[BB74]]: ; CHECK-NEXT: br i1 false, label %[[BB75:.*]], label %[[BB76:.*]] ; CHECK: [[BB75]]: ; CHECK-NEXT: br label %[[BB150]] ; CHECK: [[BB76]]: ; CHECK-NEXT: br i1 false, label %[[BB153:.*]], label %[[BB77:.*]] ; CHECK: [[BB77]]: ; CHECK-NEXT: [[LOAD78:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB79]]: ; CHECK-NEXT: br i1 false, label %[[BB146]], label %[[BB81:.*]] ; CHECK: [[BB80:.*]]: ; CHECK-NEXT: br label %[[BB150]] ; CHECK: [[BB81]]: ; CHECK-NEXT: [[LOAD82:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB83:.*]]: ; CHECK-NEXT: br label %[[BB138:.*]] ; CHECK: [[BB84:.*]]: ; CHECK-NEXT: br i1 false, label %[[BB142]], label %[[BB85:.*]] ; CHECK: [[BB85]]: ; CHECK-NEXT: br i1 false, label %[[BB146]], label %[[BB86:.*]] ; CHECK: [[BB86]]: ; CHECK-NEXT: [[LOAD87:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB88:.*]]: ; CHECK-NEXT: br label %[[BB134:.*]] ; CHECK: [[BB89:.*]]: ; CHECK-NEXT: br i1 false, label %[[BB138]], label %[[BB90:.*]] ; CHECK: [[BB90]]: ; CHECK-NEXT: br i1 false, label %[[BB142]], label %[[BB91:.*]] ; CHECK: [[BB91]]: ; CHECK-NEXT: [[LOAD92:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB93:.*]]: ; CHECK-NEXT: br label %[[BB130:.*]] ; CHECK: [[BB94:.*]]: ; CHECK-NEXT: br i1 false, label %[[BB134]], label %[[BB95:.*]] ; CHECK: [[BB95]]: ; CHECK-NEXT: br i1 false, label %[[BB138]], label %[[BB96:.*]] ; CHECK: [[BB96]]: ; CHECK-NEXT: [[LOAD97:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB98:.*]]: ; CHECK-NEXT: br label %[[BB126:.*]] ; CHECK: [[BB99:.*]]: ; CHECK-NEXT: br i1 false, label %[[BB130]], label %[[BB100:.*]] ; CHECK: [[BB100]]: ; CHECK-NEXT: br i1 false, label %[[BB134]], label %[[BB101:.*]] ; CHECK: [[BB101]]: ; CHECK-NEXT: [[LOAD102:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB103:.*]]: ; CHECK-NEXT: br label %[[BB124:.*]] ; CHECK: [[BB104:.*]]: ; CHECK-NEXT: br i1 false, label %[[BB126]], label %[[BB105:.*]] ; CHECK: [[BB105]]: ; CHECK-NEXT: br i1 false, label %[[BB130]], label %[[BB106:.*]] ; CHECK: [[BB106]]: ; CHECK-NEXT: [[LOAD107:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB108:.*]]: ; CHECK-NEXT: br label %[[BB124]] ; CHECK: [[BB109:.*]]: ; CHECK-NEXT: br i1 false, label %[[BB126]], label %[[BB110:.*]] ; CHECK: [[BB110]]: ; CHECK-NEXT: [[LOAD111:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB112:.*]]: ; CHECK-NEXT: [[LOAD113:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: br label %[[BB124]] ; CHECK: [[BB114:.*:]] ; CHECK-NEXT: [[LOAD115:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB116:.*:]] ; CHECK-NEXT: [[LOAD117:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB118:.*:]] ; CHECK-NEXT: [[LOAD119:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB120:.*:]] ; CHECK-NEXT: [[LOAD121:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB122]]: ; CHECK-NEXT: [[LOAD123:%.*]] = load i8, ptr addrspace(1) [[GETELEMENTPTR3]], align 1 ; CHECK-NEXT: ret i32 0 ; CHECK: [[BB124]]: ; CHECK-NEXT: [[PHI:%.*]] = phi ptr addrspace(1) [ null, %[[BB112]] ], [ [[GETELEMENTPTR3]], %[[BB108]] ], [ null, %[[BB103]] ] ; CHECK-NEXT: [[PHI125:%.*]] = phi ptr addrspace(1) [ null, %[[BB112]] ], [ null, %[[BB108]] ], [ [[GETELEMENTPTR3]], %[[BB103]] ] ; CHECK-NEXT: br label %[[BB126]] ; CHECK: [[BB126]]: ; CHECK-NEXT: [[PHI127:%.*]] = phi ptr addrspace(1) [ null, %[[BB124]] ], [ null, %[[BB98]] ], [ null, %[[BB104]] ], [ [[GETELEMENTPTR3]], %[[BB109]] ] ; CHECK-NEXT: [[PHI128:%.*]] = phi ptr addrspace(1) [ null, %[[BB124]] ], [ null, %[[BB98]] ], [ [[GETELEMENTPTR3]], %[[BB104]] ], [ null, %[[BB109]] ] ; CHECK-NEXT: [[PHI129:%.*]] = phi ptr addrspace(1) [ null, %[[BB124]] ], [ [[GETELEMENTPTR3]], %[[BB98]] ], [ null, %[[BB104]] ], [ null, %[[BB109]] ] ; CHECK-NEXT: br label %[[BB130]] ; CHECK: [[BB130]]: ; CHECK-NEXT: [[PHI131:%.*]] = phi ptr addrspace(1) [ null, %[[BB126]] ], [ null, %[[BB93]] ], [ null, %[[BB99]] ], [ [[GETELEMENTPTR3]], %[[BB105]] ] ; CHECK-NEXT: [[PHI132:%.*]] = phi ptr addrspace(1) [ null, %[[BB126]] ], [ null, %[[BB93]] ], [ [[GETELEMENTPTR3]], %[[BB99]] ], [ null, %[[BB105]] ] ; CHECK-NEXT: [[PHI133:%.*]] = phi ptr addrspace(1) [ null, %[[BB126]] ], [ [[GETELEMENTPTR3]], %[[BB93]] ], [ null, %[[BB99]] ], [ null, %[[BB105]] ] ; CHECK-NEXT: br label %[[BB134]] ; CHECK: [[BB134]]: ; CHECK-NEXT: [[PHI135:%.*]] = phi ptr addrspace(1) [ null, %[[BB130]] ], [ null, %[[BB88]] ], [ null, %[[BB94]] ], [ [[GETELEMENTPTR3]], %[[BB100]] ] ; CHECK-NEXT: [[PHI136:%.*]] = phi ptr addrspace(1) [ null, %[[BB130]] ], [ null, %[[BB88]] ], [ [[GETELEMENTPTR3]], %[[BB94]] ], [ null, %[[BB100]] ] ; CHECK-NEXT: [[PHI137:%.*]] = phi ptr addrspace(1) [ null, %[[BB130]] ], [ [[GETELEMENTPTR3]], %[[BB88]] ], [ null, %[[BB94]] ], [ null, %[[BB100]] ] ; CHECK-NEXT: br label %[[BB138]] ; CHECK: [[BB138]]: ; CHECK-NEXT: [[PHI139:%.*]] = phi ptr addrspace(1) [ null, %[[BB134]] ], [ null, %[[BB83]] ], [ null, %[[BB89]] ], [ [[GETELEMENTPTR3]], %[[BB95]] ] ; CHECK-NEXT: [[PHI140:%.*]] = phi ptr addrspace(1) [ null, %[[BB134]] ], [ null, %[[BB83]] ], [ [[GETELEMENTPTR3]], %[[BB89]] ], [ null, %[[BB95]] ] ; CHECK-NEXT: [[PHI141:%.*]] = phi ptr addrspace(1) [ null, %[[BB134]] ], [ [[GETELEMENTPTR3]], %[[BB83]] ], [ null, %[[BB89]] ], [ null, %[[BB95]] ] ; CHECK-NEXT: br label %[[BB142]] ; CHECK: [[BB142]]: ; CHECK-NEXT: [[PHI143:%.*]] = phi ptr addrspace(1) [ null, %[[BB138]] ], [ null, %[[BB72]] ], [ null, %[[BB84]] ], [ [[GETELEMENTPTR3]], %[[BB90]] ] ; CHECK-NEXT: [[PHI144:%.*]] = phi ptr addrspace(1) [ null, %[[BB138]] ], [ null, %[[BB72]] ], [ [[GETELEMENTPTR3]], %[[BB84]] ], [ null, %[[BB90]] ] ; CHECK-NEXT: [[PHI145:%.*]] = phi ptr addrspace(1) [ null, %[[BB138]] ], [ [[GETELEMENTPTR3]], %[[BB72]] ], [ null, %[[BB84]] ], [ null, %[[BB90]] ] ; CHECK-NEXT: br label %[[BB146]] ; CHECK: [[BB146]]: ; CHECK-NEXT: [[PHI147:%.*]] = phi ptr addrspace(1) [ null, %[[BB142]] ], [ null, %[[BB73]] ], [ null, %[[BB79]] ], [ [[GETELEMENTPTR3]], %[[BB85]] ] ; CHECK-NEXT: [[TMP5:%.*]] = phi <2 x ptr addrspace(1)> [ poison, %[[BB142]] ], [ [[TMP4]], %[[BB73]] ], [ poison, %[[BB79]] ], [ poison, %[[BB85]] ] ; CHECK-NEXT: br label %[[BB150]] ; CHECK: [[BB150]]: ; CHECK-NEXT: [[TMP6:%.*]] = phi <2 x ptr addrspace(1)> [ [[TMP2]], %[[BB75]] ], [ poison, %[[BB80]] ], [ zeroinitializer, %[[BB146]] ], [ [[TMP3]], %[[BB1]] ] ; CHECK-NEXT: br label %[[BB153]] ; CHECK: [[BB153]]: ; CHECK-NEXT: [[PHI154:%.*]] = phi ptr addrspace(1) [ null, %[[BB150]] ], [ [[GETELEMENTPTR3]], %[[BB76]] ] ; CHECK-NEXT: ret i32 0 ; bb: br label %bb1 bb1: ; preds = %bb %getelementptr = getelementptr i8, ptr addrspace(1) %arg, i64 20 %getelementptr2 = getelementptr i8, ptr addrspace(1) %arg, i64 21 %getelementptr3 = getelementptr i8, ptr addrspace(1) %arg, i64 22 br i1 false, label %bb73, label %bb150 bb4: ; No predecessors! br i1 false, label %bb68, label %bb70 bb5: ; No predecessors! br i1 false, label %bb64, label %bb66 bb6: ; No predecessors! br i1 false, label %bb60, label %bb62 bb7: ; No predecessors! br i1 false, label %bb8, label %bb58 bb8: ; preds = %bb7 br i1 false, label %bb54, label %bb56 bb9: ; No predecessors! br i1 false, label %bb50, label %bb52 bb10: ; No predecessors! br i1 false, label %bb46, label %bb48 bb11: ; No predecessors! br i1 false, label %bb42, label %bb44 bb12: ; No predecessors! br i1 false, label %bb38, label %bb40 bb13: ; No predecessors! br i1 false, label %bb36, label %bb122 bb14: ; No predecessors! br i1 false, label %bb32, label %bb34 bb15: ; No predecessors! br i1 false, label %bb28, label %bb30 bb16: ; No predecessors! br i1 false, label %bb17, label %bb26 bb17: ; preds = %bb16 br i1 false, label %bb22, label %bb24 bb18: ; No predecessors! br i1 false, label %bb19, label %bb20 bb19: ; preds = %bb18 %load = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb20: ; preds = %bb18 %load21 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb22: ; preds = %bb17 %load23 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb24: ; preds = %bb17 %load25 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb26: ; preds = %bb16 %load27 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb28: ; preds = %bb15 %load29 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb30: ; preds = %bb15 %load31 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb32: ; preds = %bb14 %load33 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb34: ; preds = %bb14 %load35 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb36: ; preds = %bb13 %load37 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb38: ; preds = %bb12 %load39 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb40: ; preds = %bb12 %load41 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb42: ; preds = %bb11 %load43 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb44: ; preds = %bb11 %load45 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb46: ; preds = %bb10 %load47 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb48: ; preds = %bb10 %load49 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb50: ; preds = %bb9 %load51 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb52: ; preds = %bb9 %load53 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb54: ; preds = %bb8 %load55 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb56: ; preds = %bb8 %load57 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb58: ; preds = %bb7 %load59 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb60: ; preds = %bb6 %load61 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb62: ; preds = %bb6 %load63 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb64: ; preds = %bb5 %load65 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb66: ; preds = %bb5 %load67 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb68: ; preds = %bb4 %load69 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb70: ; preds = %bb4 %load71 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb72: ; No predecessors! br i1 false, label %bb142, label %bb79 bb73: ; preds = %bb1 br i1 false, label %bb146, label %bb74 bb74: ; preds = %bb73 br i1 false, label %bb75, label %bb76 bb75: ; preds = %bb74 br label %bb150 bb76: ; preds = %bb74 br i1 false, label %bb153, label %bb77 bb77: ; preds = %bb76 %load78 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb79: ; preds = %bb72 br i1 false, label %bb146, label %bb81 bb80: ; No predecessors! br label %bb150 bb81: ; preds = %bb79 %load82 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb83: ; No predecessors! br label %bb138 bb84: ; No predecessors! br i1 false, label %bb142, label %bb85 bb85: ; preds = %bb84 br i1 false, label %bb146, label %bb86 bb86: ; preds = %bb85 %load87 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb88: ; No predecessors! br label %bb134 bb89: ; No predecessors! br i1 false, label %bb138, label %bb90 bb90: ; preds = %bb89 br i1 false, label %bb142, label %bb91 bb91: ; preds = %bb90 %load92 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb93: ; No predecessors! br label %bb130 bb94: ; No predecessors! br i1 false, label %bb134, label %bb95 bb95: ; preds = %bb94 br i1 false, label %bb138, label %bb96 bb96: ; preds = %bb95 %load97 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb98: ; No predecessors! br label %bb126 bb99: ; No predecessors! br i1 false, label %bb130, label %bb100 bb100: ; preds = %bb99 br i1 false, label %bb134, label %bb101 bb101: ; preds = %bb100 %load102 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb103: ; No predecessors! br label %bb124 bb104: ; No predecessors! br i1 false, label %bb126, label %bb105 bb105: ; preds = %bb104 br i1 false, label %bb130, label %bb106 bb106: ; preds = %bb105 %load107 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb108: ; No predecessors! br label %bb124 bb109: ; No predecessors! br i1 false, label %bb126, label %bb110 bb110: ; preds = %bb109 %load111 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb112: ; No predecessors! %load113 = load i8, ptr addrspace(1) %getelementptr3, align 1 br label %bb124 bb114: ; No predecessors! %load115 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb116: ; No predecessors! %load117 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb118: ; No predecessors! %load119 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb120: ; No predecessors! %load121 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb122: ; preds = %bb13 %load123 = load i8, ptr addrspace(1) %getelementptr3, align 1 ret i32 0 bb124: ; preds = %bb112, %bb108, %bb103 %phi = phi ptr addrspace(1) [ null, %bb112 ], [ %getelementptr3, %bb108 ], [ null, %bb103 ] %phi125 = phi ptr addrspace(1) [ null, %bb112 ], [ null, %bb108 ], [ %getelementptr3, %bb103 ] br label %bb126 bb126: ; preds = %bb124, %bb109, %bb104, %bb98 %phi127 = phi ptr addrspace(1) [ null, %bb124 ], [ null, %bb98 ], [ null, %bb104 ], [ %getelementptr3, %bb109 ] %phi128 = phi ptr addrspace(1) [ null, %bb124 ], [ null, %bb98 ], [ %getelementptr3, %bb104 ], [ null, %bb109 ] %phi129 = phi ptr addrspace(1) [ null, %bb124 ], [ %getelementptr3, %bb98 ], [ null, %bb104 ], [ null, %bb109 ] br label %bb130 bb130: ; preds = %bb126, %bb105, %bb99, %bb93 %phi131 = phi ptr addrspace(1) [ null, %bb126 ], [ null, %bb93 ], [ null, %bb99 ], [ %getelementptr3, %bb105 ] %phi132 = phi ptr addrspace(1) [ null, %bb126 ], [ null, %bb93 ], [ %getelementptr3, %bb99 ], [ null, %bb105 ] %phi133 = phi ptr addrspace(1) [ null, %bb126 ], [ %getelementptr3, %bb93 ], [ null, %bb99 ], [ null, %bb105 ] br label %bb134 bb134: ; preds = %bb130, %bb100, %bb94, %bb88 %phi135 = phi ptr addrspace(1) [ null, %bb130 ], [ null, %bb88 ], [ null, %bb94 ], [ %getelementptr3, %bb100 ] %phi136 = phi ptr addrspace(1) [ null, %bb130 ], [ null, %bb88 ], [ %getelementptr3, %bb94 ], [ null, %bb100 ] %phi137 = phi ptr addrspace(1) [ null, %bb130 ], [ %getelementptr3, %bb88 ], [ null, %bb94 ], [ null, %bb100 ] br label %bb138 bb138: ; preds = %bb134, %bb95, %bb89, %bb83 %phi139 = phi ptr addrspace(1) [ null, %bb134 ], [ null, %bb83 ], [ null, %bb89 ], [ %getelementptr3, %bb95 ] %phi140 = phi ptr addrspace(1) [ null, %bb134 ], [ null, %bb83 ], [ %getelementptr3, %bb89 ], [ null, %bb95 ] %phi141 = phi ptr addrspace(1) [ null, %bb134 ], [ %getelementptr3, %bb83 ], [ null, %bb89 ], [ null, %bb95 ] br label %bb142 bb142: ; preds = %bb138, %bb90, %bb84, %bb72 %phi143 = phi ptr addrspace(1) [ null, %bb138 ], [ null, %bb72 ], [ null, %bb84 ], [ %getelementptr3, %bb90 ] %phi144 = phi ptr addrspace(1) [ null, %bb138 ], [ null, %bb72 ], [ %getelementptr3, %bb84 ], [ null, %bb90 ] %phi145 = phi ptr addrspace(1) [ null, %bb138 ], [ %getelementptr3, %bb72 ], [ null, %bb84 ], [ null, %bb90 ] br label %bb146 bb146: ; preds = %bb142, %bb85, %bb79, %bb73 %phi147 = phi ptr addrspace(1) [ null, %bb142 ], [ null, %bb73 ], [ null, %bb79 ], [ %getelementptr3, %bb85 ] %phi148 = phi ptr addrspace(1) [ null, %bb142 ], [ null, %bb73 ], [ %getelementptr3, %bb79 ], [ null, %bb85 ] %phi149 = phi ptr addrspace(1) [ null, %bb142 ], [ %getelementptr3, %bb73 ], [ null, %bb79 ], [ null, %bb85 ] br label %bb150 bb150: ; preds = %bb146, %bb80, %bb75, %bb1 %phi151 = phi ptr addrspace(1) [ %getelementptr2, %bb75 ], [ %getelementptr3, %bb80 ], [ null, %bb146 ], [ %getelementptr, %bb1 ] %phi152 = phi ptr addrspace(1) [ %getelementptr3, %bb75 ], [ null, %bb80 ], [ null, %bb146 ], [ %getelementptr2, %bb1 ] br label %bb153 bb153: ; preds = %bb150, %bb76 %phi154 = phi ptr addrspace(1) [ null, %bb150 ], [ %getelementptr3, %bb76 ] ret i32 0 }