| ; 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> <i64 21, i64 22> | |
| ; CHECK-NEXT: [[TMP3:%.*]] = getelementptr i8, <2 x ptr addrspace(1)> [[TMP1]], <2 x i64> <i64 20, i64 21> | |
| ; 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) poison, ptr addrspace(1) null>, 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]] ], [ splat (ptr addrspace(1) null), %[[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 | |
| } | |