diff --git a/bench/arrow/optimized/compare_internal_avx2.cc.ll b/bench/arrow/optimized/compare_internal_avx2.cc.ll index e8709e88cc1..1b6f88de15d 100644 --- a/bench/arrow/optimized/compare_internal_avx2.cc.ll +++ b/bench/arrow/optimized/compare_internal_avx2.cc.ll @@ -652,8 +652,8 @@ if.else10: ; preds = %if.else _ZN5arrow7compute15TailSkipForSIMD15FixBinaryAccessEill.exit40: ; preds = %if.else10 %sub.i.i34 = add i32 %0, -1 %div.i.i35464748 = lshr i32 %sub.i.i34, 5 - %div.i.i3546.zext = zext nneg i32 %div.i.i35464748 to i64 - %add.i.neg.i36 = xor i64 %div.i.i3546.zext, -1 + %4 = xor i32 %div.i.i35464748, -1 + %add.i.neg.i36 = sext i32 %4 to i64 %sub.i38 = add i64 %1, %add.i.neg.i36 %.sroa.speculated.i39 = tail call noundef i64 @llvm.smax.i64(i64 %sub.i38, i64 0) br label %if.end18 @@ -670,10 +670,10 @@ if.then19: ; preds = %if.end18 land.rhs.i: ; preds = %if.then19, %while.body.i %num_selected_safe.05.i = phi i32 [ %dec.i, %while.body.i ], [ %num_rows_to_compare, %if.then19 ] - %4 = zext nneg i32 %num_selected_safe.05.i to i64 - %gep.i = getelementptr i16, ptr %invariant.gep.i, i64 %4 - %5 = load i16, ptr %gep.i, align 2 - %conv.i41 = zext i16 %5 to i64 + %5 = zext nneg i32 %num_selected_safe.05.i to i64 + %gep.i = getelementptr i16, ptr %invariant.gep.i, i64 %5 + %6 = load i16, ptr %gep.i, align 2 + %conv.i41 = zext i16 %6 to i64 %cmp1.not.i = icmp sgt i64 %num_rows_safe.0, %conv.i41 br i1 %cmp1.not.i, label %if.end25, label %while.body.i diff --git a/bench/duckdb/optimized/ub_duckdb_func_date.cpp.ll b/bench/duckdb/optimized/ub_duckdb_func_date.cpp.ll index e1e30b8a25f..5605c6497c3 100644 --- a/bench/duckdb/optimized/ub_duckdb_func_date.cpp.ll +++ b/bench/duckdb/optimized/ub_duckdb_func_date.cpp.ll @@ -167943,27 +167943,27 @@ if.then.i.i.i.i: ; preds = %if.then.i.i if.else.i.i.i.i: ; preds = %if.then.i.i %yyyy.nonneg.i.i.i.i = sub i32 0, %call.i.i.i.i %div15.i4.i.i.i = udiv i32 %yyyy.nonneg.i.i.i.i, 100 - %div15.i.zext.i.i.i = zext nneg i32 %div15.i4.i.i.i to i64 - %sub2.i.i.i.i = xor i64 %div15.i.zext.i.i.i, -1 + %5 = xor i32 %div15.i4.i.i.i, -1 + %sub2.i.i.i.i = sext i32 %5 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit if.else.i.i: ; preds = %if.else - %5 = load ptr, ptr %validity.i47, align 8, !tbaa !58 - %tobool.not.i.i.i = icmp eq ptr %5, null + %6 = load ptr, ptr %validity.i47, align 8, !tbaa !58 + %tobool.not.i.i.i = icmp eq ptr %6, null br i1 %tobool.not.i.i.i, label %if.then.i.i.i, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i if.then.i.i.i: ; preds = %if.else.i.i %target_count.i.i.i = getelementptr inbounds i8, ptr %result, i64 64 - %6 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %validity.i47, i64 noundef %6) + %7 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %validity.i47, i64 noundef %7) %.pre.i.i.i = load ptr, ptr %validity.i47, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i: ; preds = %if.then.i.i.i, %if.else.i.i - %7 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %5, %if.else.i.i ] - %8 = load i64, ptr %7, align 8, !tbaa !59 - %and.i.i.i.i.i = and i64 %8, -2 - store i64 %and.i.i.i.i.i, ptr %7, align 8, !tbaa !59 + %8 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %6, %if.else.i.i ] + %9 = load i64, ptr %8, align 8, !tbaa !59 + %and.i.i.i.i.i = and i64 %9, -2 + store i64 %and.i.i.i.i.i, ptr %8, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit _ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit: ; preds = %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i, %if.else.i.i.i.i, %if.then.i.i.i.i @@ -167974,12 +167974,12 @@ _ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15Centu sw.bb6: ; preds = %entry tail call void @_ZN6duckdb6Vector13SetVectorTypeENS_10VectorTypeE(ptr noundef nonnull align 8 dereferenceable(104) %result, i8 noundef zeroext 0) %data.i.i.i = getelementptr inbounds i8, ptr %result, i64 32 - %9 = load ptr, ptr %data.i.i.i, align 8, !tbaa !57 + %10 = load ptr, ptr %data.i.i.i, align 8, !tbaa !57 %data.i.i.i49 = getelementptr inbounds i8, ptr %input, i64 32 - %10 = load ptr, ptr %data.i.i.i49, align 8, !tbaa !57 + %11 = load ptr, ptr %data.i.i.i49, align 8, !tbaa !57 %validity.i50 = getelementptr inbounds i8, ptr %input, i64 40 %validity.i51 = getelementptr inbounds i8, ptr %result, i64 40 - tail call void @_ZN6duckdb13UnaryExecutor11ExecuteFlatINS_6date_tElNS_19GenericUnaryWrapperENS_8DatePart12PartOperatorINS4_15CenturyOperatorEEEEEvPKT_PT0_mRNS_12ValidityMaskESE_Pvb(ptr noundef %10, ptr noundef %9, i64 noundef %count, ptr noundef nonnull align 8 dereferenceable(32) %validity.i50, ptr noundef nonnull align 8 dereferenceable(32) %validity.i51, ptr noundef %dataptr, i1 noundef zeroext %adds_nulls) + tail call void @_ZN6duckdb13UnaryExecutor11ExecuteFlatINS_6date_tElNS_19GenericUnaryWrapperENS_8DatePart12PartOperatorINS4_15CenturyOperatorEEEEEvPKT_PT0_mRNS_12ValidityMaskESE_Pvb(ptr noundef %11, ptr noundef %10, i64 noundef %count, ptr noundef nonnull align 8 dereferenceable(32) %validity.i50, ptr noundef nonnull align 8 dereferenceable(32) %validity.i51, ptr noundef %dataptr, i1 noundef zeroext %adds_nulls) br label %sw.epilog sw.default: ; preds = %entry @@ -167999,112 +167999,112 @@ invoke.cont: ; preds = %sw.default invoke.cont13: ; preds = %invoke.cont %data.i.i.i54 = getelementptr inbounds i8, ptr %result, i64 32 - %11 = load ptr, ptr %data.i.i.i54, align 8, !tbaa !57 + %12 = load ptr, ptr %data.i.i.i54, align 8, !tbaa !57 %data.i = getelementptr inbounds i8, ptr %vdata, i64 8 - %12 = load ptr, ptr %data.i, align 8, !tbaa !91 - %13 = load ptr, ptr %vdata, align 8, !tbaa !96 + %13 = load ptr, ptr %data.i, align 8, !tbaa !91 + %14 = load ptr, ptr %vdata, align 8, !tbaa !96 %validity.i55 = getelementptr inbounds i8, ptr %result, i64 40 - invoke void @_ZN6duckdb13UnaryExecutor11ExecuteLoopINS_6date_tElNS_19GenericUnaryWrapperENS_8DatePart12PartOperatorINS4_15CenturyOperatorEEEEEvPKT_PT0_mPKNS_15SelectionVectorERNS_12ValidityMaskESH_Pvb(ptr noundef %12, ptr noundef %11, i64 noundef %count, ptr noundef %13, ptr noundef nonnull align 8 dereferenceable(32) %validity.i52, ptr noundef nonnull align 8 dereferenceable(32) %validity.i55, ptr noundef %dataptr, i1 noundef zeroext %adds_nulls) + invoke void @_ZN6duckdb13UnaryExecutor11ExecuteLoopINS_6date_tElNS_19GenericUnaryWrapperENS_8DatePart12PartOperatorINS4_15CenturyOperatorEEEEEvPKT_PT0_mPKNS_15SelectionVectorERNS_12ValidityMaskESH_Pvb(ptr noundef %13, ptr noundef %12, i64 noundef %count, ptr noundef %14, ptr noundef nonnull align 8 dereferenceable(32) %validity.i52, ptr noundef nonnull align 8 dereferenceable(32) %validity.i55, ptr noundef %dataptr, i1 noundef zeroext %adds_nulls) to label %invoke.cont21 unwind label %lpad20 invoke.cont21: ; preds = %invoke.cont13 %_M_refcount.i.i.i = getelementptr inbounds i8, ptr %vdata, i64 64 - %14 = load ptr, ptr %_M_refcount.i.i.i, align 8, !tbaa !84 - %cmp.not.i.i.i.i = icmp eq ptr %14, null + %15 = load ptr, ptr %_M_refcount.i.i.i, align 8, !tbaa !84 + %cmp.not.i.i.i.i = icmp eq ptr %15, null br i1 %cmp.not.i.i.i.i, label %_ZN6duckdb15SelectionVectorD2Ev.exit.i, label %if.then.i.i.i.i56 if.then.i.i.i.i56: ; preds = %invoke.cont21 - %_M_use_count.i.i.i.i.i = getelementptr inbounds i8, ptr %14, i64 8 - %15 = load atomic i64, ptr %_M_use_count.i.i.i.i.i acquire, align 8 - %cmp.i.i.i.i.i = icmp eq i64 %15, 4294967297 - %16 = trunc i64 %15 to i32 + %_M_use_count.i.i.i.i.i = getelementptr inbounds i8, ptr %15, i64 8 + %16 = load atomic i64, ptr %_M_use_count.i.i.i.i.i acquire, align 8 + %cmp.i.i.i.i.i = icmp eq i64 %16, 4294967297 + %17 = trunc i64 %16 to i32 br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %if.end.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.then.i.i.i.i56 store i32 0, ptr %_M_use_count.i.i.i.i.i, align 8, !tbaa !76 - %_M_weak_count.i.i.i.i.i = getelementptr inbounds i8, ptr %14, i64 12 + %_M_weak_count.i.i.i.i.i = getelementptr inbounds i8, ptr %15, i64 12 store i32 0, ptr %_M_weak_count.i.i.i.i.i, align 4, !tbaa !78 - %vtable.i.i.i.i.i = load ptr, ptr %14, align 8, !tbaa !24 + %vtable.i.i.i.i.i = load ptr, ptr %15, align 8, !tbaa !24 %vfn.i.i.i.i.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i.i, i64 16 - %17 = load ptr, ptr %vfn.i.i.i.i.i, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(16) %14) #26 - %vtable3.i.i.i.i.i = load ptr, ptr %14, align 8, !tbaa !24 + %18 = load ptr, ptr %vfn.i.i.i.i.i, align 8 + call void %18(ptr noundef nonnull align 8 dereferenceable(16) %15) #26 + %vtable3.i.i.i.i.i = load ptr, ptr %15, align 8, !tbaa !24 %vfn4.i.i.i.i.i = getelementptr inbounds i8, ptr %vtable3.i.i.i.i.i, i64 24 - %18 = load ptr, ptr %vfn4.i.i.i.i.i, align 8 - call void %18(ptr noundef nonnull align 8 dereferenceable(16) %14) #26 + %19 = load ptr, ptr %vfn4.i.i.i.i.i, align 8 + call void %19(ptr noundef nonnull align 8 dereferenceable(16) %15) #26 br label %_ZN6duckdb15SelectionVectorD2Ev.exit.i if.end.i.i.i.i.i: ; preds = %if.then.i.i.i.i56 - %19 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !11 - %tobool.i.not.i.i.i.i.i = icmp eq i8 %19, 0 + %20 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !11 + %tobool.i.not.i.i.i.i.i = icmp eq i8 %20, 0 br i1 %tobool.i.not.i.i.i.i.i, label %if.else.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i - %add.i.i.i.i.i.i = add nsw i32 %16, -1 + %add.i.i.i.i.i.i = add nsw i32 %17, -1 store i32 %add.i.i.i.i.i.i, ptr %_M_use_count.i.i.i.i.i, align 4, !tbaa !63 br label %invoke.cont.i.i.i.i.i if.else.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i - %20 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i, i32 -1 acq_rel, align 4 + %21 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i, i32 -1 acq_rel, align 4 br label %invoke.cont.i.i.i.i.i invoke.cont.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i, %if.then.i.i.i.i.i.i - %retval.0.i.i.i.i.i.i = phi i32 [ %16, %if.then.i.i.i.i.i.i ], [ %20, %if.else.i.i.i.i.i.i ] + %retval.0.i.i.i.i.i.i = phi i32 [ %17, %if.then.i.i.i.i.i.i ], [ %21, %if.else.i.i.i.i.i.i ] %cmp6.i.i.i.i.i = icmp eq i32 %retval.0.i.i.i.i.i.i, 1 br i1 %cmp6.i.i.i.i.i, label %if.then7.i.i.i.i.i, label %_ZN6duckdb15SelectionVectorD2Ev.exit.i, !prof !85 if.then7.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i.i - call void @_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv(ptr noundef nonnull align 8 dereferenceable(16) %14) #26 + call void @_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv(ptr noundef nonnull align 8 dereferenceable(16) %15) #26 br label %_ZN6duckdb15SelectionVectorD2Ev.exit.i _ZN6duckdb15SelectionVectorD2Ev.exit.i: ; preds = %if.then7.i.i.i.i.i, %invoke.cont.i.i.i.i.i, %if.then.i.i.i.i.i, %invoke.cont21 %_M_refcount.i.i2.i = getelementptr inbounds i8, ptr %vdata, i64 32 - %21 = load ptr, ptr %_M_refcount.i.i2.i, align 8, !tbaa !84 - %cmp.not.i.i.i3.i = icmp eq ptr %21, null + %22 = load ptr, ptr %_M_refcount.i.i2.i, align 8, !tbaa !84 + %cmp.not.i.i.i3.i = icmp eq ptr %22, null br i1 %cmp.not.i.i.i3.i, label %_ZN6duckdb19UnifiedVectorFormatD2Ev.exit, label %if.then.i.i.i4.i if.then.i.i.i4.i: ; preds = %_ZN6duckdb15SelectionVectorD2Ev.exit.i - %_M_use_count.i.i.i.i5.i = getelementptr inbounds i8, ptr %21, i64 8 - %22 = load atomic i64, ptr %_M_use_count.i.i.i.i5.i acquire, align 8 - %cmp.i.i.i.i6.i = icmp eq i64 %22, 4294967297 - %23 = trunc i64 %22 to i32 + %_M_use_count.i.i.i.i5.i = getelementptr inbounds i8, ptr %22, i64 8 + %23 = load atomic i64, ptr %_M_use_count.i.i.i.i5.i acquire, align 8 + %cmp.i.i.i.i6.i = icmp eq i64 %23, 4294967297 + %24 = trunc i64 %23 to i32 br i1 %cmp.i.i.i.i6.i, label %if.then.i.i.i.i16.i, label %if.end.i.i.i.i7.i if.then.i.i.i.i16.i: ; preds = %if.then.i.i.i4.i store i32 0, ptr %_M_use_count.i.i.i.i5.i, align 8, !tbaa !76 - %_M_weak_count.i.i.i.i17.i = getelementptr inbounds i8, ptr %21, i64 12 + %_M_weak_count.i.i.i.i17.i = getelementptr inbounds i8, ptr %22, i64 12 store i32 0, ptr %_M_weak_count.i.i.i.i17.i, align 4, !tbaa !78 - %vtable.i.i.i.i18.i = load ptr, ptr %21, align 8, !tbaa !24 + %vtable.i.i.i.i18.i = load ptr, ptr %22, align 8, !tbaa !24 %vfn.i.i.i.i19.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i18.i, i64 16 - %24 = load ptr, ptr %vfn.i.i.i.i19.i, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(16) %21) #26 - %vtable3.i.i.i.i20.i = load ptr, ptr %21, align 8, !tbaa !24 + %25 = load ptr, ptr %vfn.i.i.i.i19.i, align 8 + call void %25(ptr noundef nonnull align 8 dereferenceable(16) %22) #26 + %vtable3.i.i.i.i20.i = load ptr, ptr %22, align 8, !tbaa !24 %vfn4.i.i.i.i21.i = getelementptr inbounds i8, ptr %vtable3.i.i.i.i20.i, i64 24 - %25 = load ptr, ptr %vfn4.i.i.i.i21.i, align 8 - call void %25(ptr noundef nonnull align 8 dereferenceable(16) %21) #26 + %26 = load ptr, ptr %vfn4.i.i.i.i21.i, align 8 + call void %26(ptr noundef nonnull align 8 dereferenceable(16) %22) #26 br label %_ZN6duckdb19UnifiedVectorFormatD2Ev.exit if.end.i.i.i.i7.i: ; preds = %if.then.i.i.i4.i - %26 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !11 - %tobool.i.not.i.i.i.i8.i = icmp eq i8 %26, 0 + %27 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !11 + %tobool.i.not.i.i.i.i8.i = icmp eq i8 %27, 0 br i1 %tobool.i.not.i.i.i.i8.i, label %if.else.i.i.i.i.i15.i, label %if.then.i.i.i.i.i9.i if.then.i.i.i.i.i9.i: ; preds = %if.end.i.i.i.i7.i - %add.i.i.i.i.i10.i = add nsw i32 %23, -1 + %add.i.i.i.i.i10.i = add nsw i32 %24, -1 store i32 %add.i.i.i.i.i10.i, ptr %_M_use_count.i.i.i.i5.i, align 4, !tbaa !63 br label %invoke.cont.i.i.i.i11.i if.else.i.i.i.i.i15.i: ; preds = %if.end.i.i.i.i7.i - %27 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i5.i, i32 -1 acq_rel, align 4 + %28 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i5.i, i32 -1 acq_rel, align 4 br label %invoke.cont.i.i.i.i11.i invoke.cont.i.i.i.i11.i: ; preds = %if.else.i.i.i.i.i15.i, %if.then.i.i.i.i.i9.i - %retval.0.i.i.i.i.i12.i = phi i32 [ %23, %if.then.i.i.i.i.i9.i ], [ %27, %if.else.i.i.i.i.i15.i ] + %retval.0.i.i.i.i.i12.i = phi i32 [ %24, %if.then.i.i.i.i.i9.i ], [ %28, %if.else.i.i.i.i.i15.i ] %cmp6.i.i.i.i13.i = icmp eq i32 %retval.0.i.i.i.i.i12.i, 1 br i1 %cmp6.i.i.i.i13.i, label %if.then7.i.i.i.i14.i, label %_ZN6duckdb19UnifiedVectorFormatD2Ev.exit, !prof !85 if.then7.i.i.i.i14.i: ; preds = %invoke.cont.i.i.i.i11.i - call void @_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv(ptr noundef nonnull align 8 dereferenceable(16) %21) #26 + call void @_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv(ptr noundef nonnull align 8 dereferenceable(16) %22) #26 br label %_ZN6duckdb19UnifiedVectorFormatD2Ev.exit _ZN6duckdb19UnifiedVectorFormatD2Ev.exit: ; preds = %if.then7.i.i.i.i14.i, %invoke.cont.i.i.i.i11.i, %if.then.i.i.i.i16.i, %_ZN6duckdb15SelectionVectorD2Ev.exit.i @@ -168112,17 +168112,17 @@ _ZN6duckdb19UnifiedVectorFormatD2Ev.exit: ; preds = %if.then7.i.i.i.i14. br label %sw.epilog lpad: ; preds = %invoke.cont, %sw.default - %28 = landingpad { ptr, i32 } + %29 = landingpad { ptr, i32 } cleanup br label %ehcleanup lpad20: ; preds = %invoke.cont13 - %29 = landingpad { ptr, i32 } + %30 = landingpad { ptr, i32 } cleanup br label %ehcleanup ehcleanup: ; preds = %lpad20, %lpad - %.pn = phi { ptr, i32 } [ %29, %lpad20 ], [ %28, %lpad ] + %.pn = phi { ptr, i32 } [ %30, %lpad20 ], [ %29, %lpad ] call void @_ZN6duckdb19UnifiedVectorFormatD2Ev(ptr noundef nonnull align 8 dereferenceable(72) %vdata) #26 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %vdata) #26 resume { ptr, i32 } %.pn @@ -168302,30 +168302,30 @@ if.then.i.i.i.i101: ; preds = %if.then.i.i if.else.i.i.i.i: ; preds = %if.then.i.i %yyyy.nonneg.i.i.i.i = sub i32 0, %call.i.i.i.i %div15.i4.i.i.i = udiv i32 %yyyy.nonneg.i.i.i.i, 100 - %div15.i.zext.i.i.i = zext nneg i32 %div15.i4.i.i.i to i64 - %sub2.i.i.i.i = xor i64 %div15.i.zext.i.i.i, -1 + %17 = xor i32 %div15.i4.i.i.i, -1 + %sub2.i.i.i.i = sext i32 %17 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit if.else.i.i: ; preds = %for.body10 - %17 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i = icmp eq ptr %17, null + %18 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i = icmp eq ptr %18, null br i1 %tobool.not.i.i.i, label %if.then.i.i.i, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i if.then.i.i.i: ; preds = %if.else.i.i - %18 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %18) + %19 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %19) %.pre.i.i.i = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i: ; preds = %if.then.i.i.i, %if.else.i.i - %19 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %17, %if.else.i.i ] + %20 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %18, %if.else.i.i ] %div2.i.i.i.i.i = lshr i64 %base_idx.1166, 6 %rem.i.i.i.i.i = and i64 %base_idx.1166, 63 %shl.i.i.i.i.i = shl nuw i64 1, %rem.i.i.i.i.i %not.i.i.i.i.i = xor i64 %shl.i.i.i.i.i, -1 - %arrayidx.i.i.i.i.i = getelementptr inbounds i64, ptr %19, i64 %div2.i.i.i.i.i - %20 = load i64, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 - %and.i.i.i.i.i = and i64 %20, %not.i.i.i.i.i + %arrayidx.i.i.i.i.i = getelementptr inbounds i64, ptr %20, i64 %div2.i.i.i.i.i + %21 = load i64, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 + %and.i.i.i.i.i = and i64 %21, %not.i.i.i.i.i store i64 %and.i.i.i.i.i, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit @@ -168366,30 +168366,30 @@ if.then.i.i.i.i125: ; preds = %if.then.i.i117 if.else.i.i.i.i120: ; preds = %if.then.i.i117 %yyyy.nonneg.i.i.i.i121 = sub i32 0, %call.i.i.i.i118 %div15.i4.i.i.i122 = udiv i32 %yyyy.nonneg.i.i.i.i121, 100 - %div15.i.zext.i.i.i123 = zext nneg i32 %div15.i4.i.i.i122 to i64 - %sub2.i.i.i.i124 = xor i64 %div15.i.zext.i.i.i123, -1 + %22 = xor i32 %div15.i4.i.i.i122, -1 + %sub2.i.i.i.i124 = sext i32 %22 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit130 if.else.i.i104: ; preds = %if.then21 - %21 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i105 = icmp eq ptr %21, null + %23 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i105 = icmp eq ptr %23, null br i1 %tobool.not.i.i.i105, label %if.then.i.i.i114, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i106 if.then.i.i.i114: ; preds = %if.else.i.i104 - %22 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %22) + %24 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %24) %.pre.i.i.i116 = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i106 _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i106: ; preds = %if.then.i.i.i114, %if.else.i.i104 - %23 = phi ptr [ %.pre.i.i.i116, %if.then.i.i.i114 ], [ %21, %if.else.i.i104 ] + %25 = phi ptr [ %.pre.i.i.i116, %if.then.i.i.i114 ], [ %23, %if.else.i.i104 ] %div2.i.i.i.i.i107 = lshr i64 %base_idx.2168, 6 %rem.i.i.i.i.i108 = and i64 %base_idx.2168, 63 %shl.i.i.i.i.i109 = shl nuw i64 1, %rem.i.i.i.i.i108 %not.i.i.i.i.i110 = xor i64 %shl.i.i.i.i.i109, -1 - %arrayidx.i.i.i.i.i111 = getelementptr inbounds i64, ptr %23, i64 %div2.i.i.i.i.i107 - %24 = load i64, ptr %arrayidx.i.i.i.i.i111, align 8, !tbaa !59 - %and.i.i.i.i.i112 = and i64 %24, %not.i.i.i.i.i110 + %arrayidx.i.i.i.i.i111 = getelementptr inbounds i64, ptr %25, i64 %div2.i.i.i.i.i107 + %26 = load i64, ptr %arrayidx.i.i.i.i.i111, align 8, !tbaa !59 + %and.i.i.i.i.i112 = and i64 %26, %not.i.i.i.i.i110 store i64 %and.i.i.i.i.i112, ptr %arrayidx.i.i.i.i.i111, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit130 @@ -168411,15 +168411,15 @@ cleanup: ; preds = %for.inc28, %_ZN6duc br i1 %exitcond178.not, label %if.end55, label %for.body, !llvm.loop !2610 if.else38: ; preds = %entry - %25 = load ptr, ptr %result_mask, align 8 - %tobool.not.i131 = icmp eq ptr %25, null + %27 = load ptr, ptr %result_mask, align 8 + %tobool.not.i131 = icmp eq ptr %27, null %or.cond = select i1 %adds_nulls, i1 %tobool.not.i131, i1 false br i1 %or.cond, label %if.then.i, label %if.end41 if.then.i: ; preds = %if.else38 %target_count.i.i = getelementptr inbounds i8, ptr %result_mask, i64 24 - %26 = load i64, ptr %target_count.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %26) + %28 = load i64, ptr %target_count.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %28) br label %if.end41 if.end41: ; preds = %if.then.i, %if.else38 @@ -168452,30 +168452,30 @@ if.then.i.i.i.i155: ; preds = %if.then.i.i147 if.else.i.i.i.i150: ; preds = %if.then.i.i147 %yyyy.nonneg.i.i.i.i151 = sub i32 0, %call.i.i.i.i148 %div15.i4.i.i.i152 = udiv i32 %yyyy.nonneg.i.i.i.i151, 100 - %div15.i.zext.i.i.i153 = zext nneg i32 %div15.i4.i.i.i152 to i64 - %sub2.i.i.i.i154 = xor i64 %div15.i.zext.i.i.i153, -1 + %29 = xor i32 %div15.i4.i.i.i152, -1 + %sub2.i.i.i.i154 = sext i32 %29 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit160 if.else.i.i134: ; preds = %for.body45 - %27 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i135 = icmp eq ptr %27, null + %30 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i135 = icmp eq ptr %30, null br i1 %tobool.not.i.i.i135, label %if.then.i.i.i144, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i136 if.then.i.i.i144: ; preds = %if.else.i.i134 - %28 = load i64, ptr %target_count.i.i.i145, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %28) + %31 = load i64, ptr %target_count.i.i.i145, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %31) %.pre.i.i.i146 = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i136 _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i136: ; preds = %if.then.i.i.i144, %if.else.i.i134 - %29 = phi ptr [ %.pre.i.i.i146, %if.then.i.i.i144 ], [ %27, %if.else.i.i134 ] + %32 = phi ptr [ %.pre.i.i.i146, %if.then.i.i.i144 ], [ %30, %if.else.i.i134 ] %div2.i.i.i.i.i137 = lshr i64 %i.0174, 6 %rem.i.i.i.i.i138 = and i64 %i.0174, 63 %shl.i.i.i.i.i139 = shl nuw i64 1, %rem.i.i.i.i.i138 %not.i.i.i.i.i140 = xor i64 %shl.i.i.i.i.i139, -1 - %arrayidx.i.i.i.i.i141 = getelementptr inbounds i64, ptr %29, i64 %div2.i.i.i.i.i137 - %30 = load i64, ptr %arrayidx.i.i.i.i.i141, align 8, !tbaa !59 - %and.i.i.i.i.i142 = and i64 %30, %not.i.i.i.i.i140 + %arrayidx.i.i.i.i.i141 = getelementptr inbounds i64, ptr %32, i64 %div2.i.i.i.i.i137 + %33 = load i64, ptr %arrayidx.i.i.i.i.i141, align 8, !tbaa !59 + %and.i.i.i.i.i142 = and i64 %33, %not.i.i.i.i.i140 store i64 %and.i.i.i.i.i142, ptr %arrayidx.i.i.i.i.i141, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit160 @@ -168570,30 +168570,30 @@ if.then.i.i.i.i: ; preds = %if.then.i.i if.else.i.i.i.i: ; preds = %if.then.i.i %yyyy.nonneg.i.i.i.i = sub i32 0, %call.i.i.i.i %div15.i4.i.i.i = udiv i32 %yyyy.nonneg.i.i.i.i, 100 - %div15.i.zext.i.i.i = zext nneg i32 %div15.i4.i.i.i to i64 - %sub2.i.i.i.i = xor i64 %div15.i.zext.i.i.i, -1 + %7 = xor i32 %div15.i4.i.i.i, -1 + %sub2.i.i.i.i = sext i32 %7 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit if.else.i.i: ; preds = %if.then3 - %7 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i = icmp eq ptr %7, null + %8 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i = icmp eq ptr %8, null br i1 %tobool.not.i.i.i, label %if.then.i.i.i, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i if.then.i.i.i: ; preds = %if.else.i.i - %8 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %8) + %9 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %9) %.pre.i.i.i = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i: ; preds = %if.then.i.i.i, %if.else.i.i - %9 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %7, %if.else.i.i ] + %10 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %8, %if.else.i.i ] %div2.i.i.i.i.i = lshr i64 %i.091, 6 %rem.i.i.i.i.i = and i64 %i.091, 63 %shl.i.i.i.i.i = shl nuw i64 1, %rem.i.i.i.i.i %not.i.i.i.i.i = xor i64 %shl.i.i.i.i.i, -1 - %arrayidx.i.i.i.i.i = getelementptr inbounds i64, ptr %9, i64 %div2.i.i.i.i.i - %10 = load i64, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 - %and.i.i.i.i.i = and i64 %10, %not.i.i.i.i.i + %arrayidx.i.i.i.i.i = getelementptr inbounds i64, ptr %10, i64 %div2.i.i.i.i.i + %11 = load i64, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 + %and.i.i.i.i.i = and i64 %11, %not.i.i.i.i.i store i64 %and.i.i.i.i.i, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit @@ -168604,25 +168604,25 @@ _ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15Centu br label %if.end if.else: ; preds = %_ZNK6duckdb21TemplatedValidityMaskImE16RowIsValidUnsafeEm.exit - %11 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i48 = icmp eq ptr %11, null + %12 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i48 = icmp eq ptr %12, null br i1 %tobool.not.i48, label %if.then.i50, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit if.then.i50: ; preds = %if.else - %12 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %12) + %13 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %13) %.pre.i = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit: ; preds = %if.then.i50, %if.else - %13 = phi ptr [ %.pre.i, %if.then.i50 ], [ %11, %if.else ] + %14 = phi ptr [ %.pre.i, %if.then.i50 ], [ %12, %if.else ] %div2.i.i.i = lshr i64 %i.091, 6 %rem.i.i.i = and i64 %i.091, 63 %shl.i.i.i = shl nuw i64 1, %rem.i.i.i %not.i.i.i = xor i64 %shl.i.i.i, -1 - %arrayidx.i.i.i49 = getelementptr inbounds i64, ptr %13, i64 %div2.i.i.i - %14 = load i64, ptr %arrayidx.i.i.i49, align 8, !tbaa !59 - %and.i.i.i = and i64 %14, %not.i.i.i + %arrayidx.i.i.i49 = getelementptr inbounds i64, ptr %14, i64 %div2.i.i.i + %15 = load i64, ptr %arrayidx.i.i.i49, align 8, !tbaa !59 + %and.i.i.i = and i64 %15, %not.i.i.i store i64 %and.i.i.i, ptr %arrayidx.i.i.i49, align 8, !tbaa !59 br label %if.end @@ -168637,8 +168637,8 @@ if.else6: ; preds = %entry if.then.i52: ; preds = %if.else6 %target_count.i.i53 = getelementptr inbounds i8, ptr %result_mask, i64 24 - %15 = load i64, ptr %target_count.i.i53, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %15) + %16 = load i64, ptr %target_count.i.i53, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %16) br label %if.end8 if.end8: ; preds = %if.then.i52, %if.else6 @@ -168646,8 +168646,8 @@ if.end8: ; preds = %if.then.i52, %if.el br i1 %cmp1192.not, label %if.end24, label %for.body13.lr.ph for.body13.lr.ph: ; preds = %if.end8 - %16 = load ptr, ptr %sel_vector, align 8, !tbaa !105 - %tobool.not.i55 = icmp eq ptr %16, null + %17 = load ptr, ptr %sel_vector, align 8, !tbaa !105 + %tobool.not.i55 = icmp eq ptr %17, null %target_count.i.i.i73 = getelementptr inbounds i8, ptr %result_mask, i64 24 br i1 %tobool.not.i55, label %for.body13.us, label %for.body13 @@ -168659,25 +168659,25 @@ for.body13.us: ; preds = %for.body13.lr.ph, % br i1 %call.i.i61.us, label %if.then.i.i75.us, label %if.else.i.i62.us if.else.i.i62.us: ; preds = %for.body13.us - %17 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i63.us = icmp eq ptr %17, null + %18 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i63.us = icmp eq ptr %18, null br i1 %tobool.not.i.i.i63.us, label %if.then.i.i.i72.us, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64.us if.then.i.i.i72.us: ; preds = %if.else.i.i62.us - %18 = load i64, ptr %target_count.i.i.i73, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %18) + %19 = load i64, ptr %target_count.i.i.i73, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %19) %.pre.i.i.i74.us = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64.us _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64.us: ; preds = %if.then.i.i.i72.us, %if.else.i.i62.us - %19 = phi ptr [ %.pre.i.i.i74.us, %if.then.i.i.i72.us ], [ %17, %if.else.i.i62.us ] + %20 = phi ptr [ %.pre.i.i.i74.us, %if.then.i.i.i72.us ], [ %18, %if.else.i.i62.us ] %div2.i.i.i.i.i65.us = lshr i64 %i9.093.us, 6 %rem.i.i.i.i.i66.us = and i64 %i9.093.us, 63 %shl.i.i.i.i.i67.us = shl nuw i64 1, %rem.i.i.i.i.i66.us %not.i.i.i.i.i68.us = xor i64 %shl.i.i.i.i.i67.us, -1 - %arrayidx.i.i.i.i.i69.us = getelementptr inbounds i64, ptr %19, i64 %div2.i.i.i.i.i65.us - %20 = load i64, ptr %arrayidx.i.i.i.i.i69.us, align 8, !tbaa !59 - %and.i.i.i.i.i70.us = and i64 %20, %not.i.i.i.i.i68.us + %arrayidx.i.i.i.i.i69.us = getelementptr inbounds i64, ptr %20, i64 %div2.i.i.i.i.i65.us + %21 = load i64, ptr %arrayidx.i.i.i.i.i69.us, align 8, !tbaa !59 + %and.i.i.i.i.i70.us = and i64 %21, %not.i.i.i.i.i68.us store i64 %and.i.i.i.i.i70.us, ptr %arrayidx.i.i.i.i.i69.us, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit88.us @@ -168689,8 +168689,8 @@ if.then.i.i75.us: ; preds = %for.body13.us if.else.i.i.i.i78.us: ; preds = %if.then.i.i75.us %yyyy.nonneg.i.i.i.i79.us = sub i32 0, %call.i.i.i.i76.us %div15.i4.i.i.i80.us = udiv i32 %yyyy.nonneg.i.i.i.i79.us, 100 - %div15.i.zext.i.i.i81.us = zext nneg i32 %div15.i4.i.i.i80.us to i64 - %sub2.i.i.i.i82.us = xor i64 %div15.i.zext.i.i.i81.us, -1 + %22 = xor i32 %div15.i4.i.i.i80.us, -1 + %sub2.i.i.i.i82.us = sext i32 %22 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit88.us if.then.i.i.i.i83.us: ; preds = %if.then.i.i75.us @@ -168710,9 +168710,9 @@ _ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15Centu for.body13: ; preds = %for.body13.lr.ph, %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit88 %i9.093 = phi i64 [ %inc22, %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit88 ], [ 0, %for.body13.lr.ph ] - %arrayidx.i57 = getelementptr inbounds i32, ptr %16, i64 %i9.093 - %21 = load i32, ptr %arrayidx.i57, align 4, !tbaa !63 - %conv.i58 = zext i32 %21 to i64 + %arrayidx.i57 = getelementptr inbounds i32, ptr %17, i64 %i9.093 + %23 = load i32, ptr %arrayidx.i57, align 4, !tbaa !63 + %conv.i58 = zext i32 %23 to i64 %arrayidx17 = getelementptr inbounds %"struct.duckdb::date_t", ptr %ldata, i64 %conv.i58 %agg.tmp16.sroa.0.0.copyload = load i32, ptr %arrayidx17, align 4, !tbaa.struct !242 %call.i.i61 = tail call noundef zeroext i1 @_ZN6duckdb5Value8IsFiniteINS_6date_tEEEbT_(i32 %agg.tmp16.sroa.0.0.copyload) @@ -168733,30 +168733,30 @@ if.then.i.i.i.i83: ; preds = %if.then.i.i75 if.else.i.i.i.i78: ; preds = %if.then.i.i75 %yyyy.nonneg.i.i.i.i79 = sub i32 0, %call.i.i.i.i76 %div15.i4.i.i.i80 = udiv i32 %yyyy.nonneg.i.i.i.i79, 100 - %div15.i.zext.i.i.i81 = zext nneg i32 %div15.i4.i.i.i80 to i64 - %sub2.i.i.i.i82 = xor i64 %div15.i.zext.i.i.i81, -1 + %24 = xor i32 %div15.i4.i.i.i80, -1 + %sub2.i.i.i.i82 = sext i32 %24 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit88 if.else.i.i62: ; preds = %for.body13 - %22 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i63 = icmp eq ptr %22, null + %25 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i63 = icmp eq ptr %25, null br i1 %tobool.not.i.i.i63, label %if.then.i.i.i72, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64 if.then.i.i.i72: ; preds = %if.else.i.i62 - %23 = load i64, ptr %target_count.i.i.i73, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %23) + %26 = load i64, ptr %target_count.i.i.i73, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %26) %.pre.i.i.i74 = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64 _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64: ; preds = %if.then.i.i.i72, %if.else.i.i62 - %24 = phi ptr [ %.pre.i.i.i74, %if.then.i.i.i72 ], [ %22, %if.else.i.i62 ] + %27 = phi ptr [ %.pre.i.i.i74, %if.then.i.i.i72 ], [ %25, %if.else.i.i62 ] %div2.i.i.i.i.i65 = lshr i64 %i9.093, 6 %rem.i.i.i.i.i66 = and i64 %i9.093, 63 %shl.i.i.i.i.i67 = shl nuw i64 1, %rem.i.i.i.i.i66 %not.i.i.i.i.i68 = xor i64 %shl.i.i.i.i.i67, -1 - %arrayidx.i.i.i.i.i69 = getelementptr inbounds i64, ptr %24, i64 %div2.i.i.i.i.i65 - %25 = load i64, ptr %arrayidx.i.i.i.i.i69, align 8, !tbaa !59 - %and.i.i.i.i.i70 = and i64 %25, %not.i.i.i.i.i68 + %arrayidx.i.i.i.i.i69 = getelementptr inbounds i64, ptr %27, i64 %div2.i.i.i.i.i65 + %28 = load i64, ptr %arrayidx.i.i.i.i.i69, align 8, !tbaa !59 + %and.i.i.i.i.i70 = and i64 %28, %not.i.i.i.i.i68 store i64 %and.i.i.i.i.i70, ptr %arrayidx.i.i.i.i.i69, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit88 @@ -168826,27 +168826,27 @@ if.then.i.i.i.i: ; preds = %if.then.i.i if.else.i.i.i.i: ; preds = %if.then.i.i %yyyy.nonneg.i.i.i.i = sub i32 0, %call.i.i.i.i.i %div15.i4.i.i.i = udiv i32 %yyyy.nonneg.i.i.i.i, 100 - %div15.i.zext.i.i.i = zext nneg i32 %div15.i4.i.i.i to i64 - %sub2.i.i.i.i = xor i64 %div15.i.zext.i.i.i, -1 + %5 = xor i32 %div15.i4.i.i.i, -1 + %sub2.i.i.i.i = sext i32 %5 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit if.else.i.i: ; preds = %if.else - %5 = load ptr, ptr %validity.i47, align 8, !tbaa !58 - %tobool.not.i.i.i = icmp eq ptr %5, null + %6 = load ptr, ptr %validity.i47, align 8, !tbaa !58 + %tobool.not.i.i.i = icmp eq ptr %6, null br i1 %tobool.not.i.i.i, label %if.then.i.i.i, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i if.then.i.i.i: ; preds = %if.else.i.i %target_count.i.i.i = getelementptr inbounds i8, ptr %result, i64 64 - %6 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %validity.i47, i64 noundef %6) + %7 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %validity.i47, i64 noundef %7) %.pre.i.i.i = load ptr, ptr %validity.i47, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i: ; preds = %if.then.i.i.i, %if.else.i.i - %7 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %5, %if.else.i.i ] - %8 = load i64, ptr %7, align 8, !tbaa !59 - %and.i.i.i.i.i = and i64 %8, -2 - store i64 %and.i.i.i.i.i, ptr %7, align 8, !tbaa !59 + %8 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %6, %if.else.i.i ] + %9 = load i64, ptr %8, align 8, !tbaa !59 + %and.i.i.i.i.i = and i64 %9, -2 + store i64 %and.i.i.i.i.i, ptr %8, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit _ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit: ; preds = %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i, %if.else.i.i.i.i, %if.then.i.i.i.i @@ -168857,12 +168857,12 @@ _ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15Centu sw.bb6: ; preds = %entry tail call void @_ZN6duckdb6Vector13SetVectorTypeENS_10VectorTypeE(ptr noundef nonnull align 8 dereferenceable(104) %result, i8 noundef zeroext 0) %data.i.i.i = getelementptr inbounds i8, ptr %result, i64 32 - %9 = load ptr, ptr %data.i.i.i, align 8, !tbaa !57 + %10 = load ptr, ptr %data.i.i.i, align 8, !tbaa !57 %data.i.i.i49 = getelementptr inbounds i8, ptr %input, i64 32 - %10 = load ptr, ptr %data.i.i.i49, align 8, !tbaa !57 + %11 = load ptr, ptr %data.i.i.i49, align 8, !tbaa !57 %validity.i50 = getelementptr inbounds i8, ptr %input, i64 40 %validity.i51 = getelementptr inbounds i8, ptr %result, i64 40 - tail call void @_ZN6duckdb13UnaryExecutor11ExecuteFlatINS_11timestamp_tElNS_19GenericUnaryWrapperENS_8DatePart12PartOperatorINS4_15CenturyOperatorEEEEEvPKT_PT0_mRNS_12ValidityMaskESE_Pvb(ptr noundef %10, ptr noundef %9, i64 noundef %count, ptr noundef nonnull align 8 dereferenceable(32) %validity.i50, ptr noundef nonnull align 8 dereferenceable(32) %validity.i51, ptr noundef %dataptr, i1 noundef zeroext %adds_nulls) + tail call void @_ZN6duckdb13UnaryExecutor11ExecuteFlatINS_11timestamp_tElNS_19GenericUnaryWrapperENS_8DatePart12PartOperatorINS4_15CenturyOperatorEEEEEvPKT_PT0_mRNS_12ValidityMaskESE_Pvb(ptr noundef %11, ptr noundef %10, i64 noundef %count, ptr noundef nonnull align 8 dereferenceable(32) %validity.i50, ptr noundef nonnull align 8 dereferenceable(32) %validity.i51, ptr noundef %dataptr, i1 noundef zeroext %adds_nulls) br label %sw.epilog sw.default: ; preds = %entry @@ -168882,112 +168882,112 @@ invoke.cont: ; preds = %sw.default invoke.cont13: ; preds = %invoke.cont %data.i.i.i54 = getelementptr inbounds i8, ptr %result, i64 32 - %11 = load ptr, ptr %data.i.i.i54, align 8, !tbaa !57 + %12 = load ptr, ptr %data.i.i.i54, align 8, !tbaa !57 %data.i = getelementptr inbounds i8, ptr %vdata, i64 8 - %12 = load ptr, ptr %data.i, align 8, !tbaa !91 - %13 = load ptr, ptr %vdata, align 8, !tbaa !96 + %13 = load ptr, ptr %data.i, align 8, !tbaa !91 + %14 = load ptr, ptr %vdata, align 8, !tbaa !96 %validity.i55 = getelementptr inbounds i8, ptr %result, i64 40 - invoke void @_ZN6duckdb13UnaryExecutor11ExecuteLoopINS_11timestamp_tElNS_19GenericUnaryWrapperENS_8DatePart12PartOperatorINS4_15CenturyOperatorEEEEEvPKT_PT0_mPKNS_15SelectionVectorERNS_12ValidityMaskESH_Pvb(ptr noundef %12, ptr noundef %11, i64 noundef %count, ptr noundef %13, ptr noundef nonnull align 8 dereferenceable(32) %validity.i52, ptr noundef nonnull align 8 dereferenceable(32) %validity.i55, ptr noundef %dataptr, i1 noundef zeroext %adds_nulls) + invoke void @_ZN6duckdb13UnaryExecutor11ExecuteLoopINS_11timestamp_tElNS_19GenericUnaryWrapperENS_8DatePart12PartOperatorINS4_15CenturyOperatorEEEEEvPKT_PT0_mPKNS_15SelectionVectorERNS_12ValidityMaskESH_Pvb(ptr noundef %13, ptr noundef %12, i64 noundef %count, ptr noundef %14, ptr noundef nonnull align 8 dereferenceable(32) %validity.i52, ptr noundef nonnull align 8 dereferenceable(32) %validity.i55, ptr noundef %dataptr, i1 noundef zeroext %adds_nulls) to label %invoke.cont21 unwind label %lpad20 invoke.cont21: ; preds = %invoke.cont13 %_M_refcount.i.i.i = getelementptr inbounds i8, ptr %vdata, i64 64 - %14 = load ptr, ptr %_M_refcount.i.i.i, align 8, !tbaa !84 - %cmp.not.i.i.i.i = icmp eq ptr %14, null + %15 = load ptr, ptr %_M_refcount.i.i.i, align 8, !tbaa !84 + %cmp.not.i.i.i.i = icmp eq ptr %15, null br i1 %cmp.not.i.i.i.i, label %_ZN6duckdb15SelectionVectorD2Ev.exit.i, label %if.then.i.i.i.i56 if.then.i.i.i.i56: ; preds = %invoke.cont21 - %_M_use_count.i.i.i.i.i = getelementptr inbounds i8, ptr %14, i64 8 - %15 = load atomic i64, ptr %_M_use_count.i.i.i.i.i acquire, align 8 - %cmp.i.i.i.i.i = icmp eq i64 %15, 4294967297 - %16 = trunc i64 %15 to i32 + %_M_use_count.i.i.i.i.i = getelementptr inbounds i8, ptr %15, i64 8 + %16 = load atomic i64, ptr %_M_use_count.i.i.i.i.i acquire, align 8 + %cmp.i.i.i.i.i = icmp eq i64 %16, 4294967297 + %17 = trunc i64 %16 to i32 br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %if.end.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.then.i.i.i.i56 store i32 0, ptr %_M_use_count.i.i.i.i.i, align 8, !tbaa !76 - %_M_weak_count.i.i.i.i.i = getelementptr inbounds i8, ptr %14, i64 12 + %_M_weak_count.i.i.i.i.i = getelementptr inbounds i8, ptr %15, i64 12 store i32 0, ptr %_M_weak_count.i.i.i.i.i, align 4, !tbaa !78 - %vtable.i.i.i.i.i = load ptr, ptr %14, align 8, !tbaa !24 + %vtable.i.i.i.i.i = load ptr, ptr %15, align 8, !tbaa !24 %vfn.i.i.i.i.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i.i, i64 16 - %17 = load ptr, ptr %vfn.i.i.i.i.i, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(16) %14) #26 - %vtable3.i.i.i.i.i = load ptr, ptr %14, align 8, !tbaa !24 + %18 = load ptr, ptr %vfn.i.i.i.i.i, align 8 + call void %18(ptr noundef nonnull align 8 dereferenceable(16) %15) #26 + %vtable3.i.i.i.i.i = load ptr, ptr %15, align 8, !tbaa !24 %vfn4.i.i.i.i.i = getelementptr inbounds i8, ptr %vtable3.i.i.i.i.i, i64 24 - %18 = load ptr, ptr %vfn4.i.i.i.i.i, align 8 - call void %18(ptr noundef nonnull align 8 dereferenceable(16) %14) #26 + %19 = load ptr, ptr %vfn4.i.i.i.i.i, align 8 + call void %19(ptr noundef nonnull align 8 dereferenceable(16) %15) #26 br label %_ZN6duckdb15SelectionVectorD2Ev.exit.i if.end.i.i.i.i.i: ; preds = %if.then.i.i.i.i56 - %19 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !11 - %tobool.i.not.i.i.i.i.i = icmp eq i8 %19, 0 + %20 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !11 + %tobool.i.not.i.i.i.i.i = icmp eq i8 %20, 0 br i1 %tobool.i.not.i.i.i.i.i, label %if.else.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i - %add.i.i.i.i.i.i = add nsw i32 %16, -1 + %add.i.i.i.i.i.i = add nsw i32 %17, -1 store i32 %add.i.i.i.i.i.i, ptr %_M_use_count.i.i.i.i.i, align 4, !tbaa !63 br label %invoke.cont.i.i.i.i.i if.else.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i - %20 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i, i32 -1 acq_rel, align 4 + %21 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i, i32 -1 acq_rel, align 4 br label %invoke.cont.i.i.i.i.i invoke.cont.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i, %if.then.i.i.i.i.i.i - %retval.0.i.i.i.i.i.i = phi i32 [ %16, %if.then.i.i.i.i.i.i ], [ %20, %if.else.i.i.i.i.i.i ] + %retval.0.i.i.i.i.i.i = phi i32 [ %17, %if.then.i.i.i.i.i.i ], [ %21, %if.else.i.i.i.i.i.i ] %cmp6.i.i.i.i.i = icmp eq i32 %retval.0.i.i.i.i.i.i, 1 br i1 %cmp6.i.i.i.i.i, label %if.then7.i.i.i.i.i, label %_ZN6duckdb15SelectionVectorD2Ev.exit.i, !prof !85 if.then7.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i.i - call void @_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv(ptr noundef nonnull align 8 dereferenceable(16) %14) #26 + call void @_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv(ptr noundef nonnull align 8 dereferenceable(16) %15) #26 br label %_ZN6duckdb15SelectionVectorD2Ev.exit.i _ZN6duckdb15SelectionVectorD2Ev.exit.i: ; preds = %if.then7.i.i.i.i.i, %invoke.cont.i.i.i.i.i, %if.then.i.i.i.i.i, %invoke.cont21 %_M_refcount.i.i2.i = getelementptr inbounds i8, ptr %vdata, i64 32 - %21 = load ptr, ptr %_M_refcount.i.i2.i, align 8, !tbaa !84 - %cmp.not.i.i.i3.i = icmp eq ptr %21, null + %22 = load ptr, ptr %_M_refcount.i.i2.i, align 8, !tbaa !84 + %cmp.not.i.i.i3.i = icmp eq ptr %22, null br i1 %cmp.not.i.i.i3.i, label %_ZN6duckdb19UnifiedVectorFormatD2Ev.exit, label %if.then.i.i.i4.i if.then.i.i.i4.i: ; preds = %_ZN6duckdb15SelectionVectorD2Ev.exit.i - %_M_use_count.i.i.i.i5.i = getelementptr inbounds i8, ptr %21, i64 8 - %22 = load atomic i64, ptr %_M_use_count.i.i.i.i5.i acquire, align 8 - %cmp.i.i.i.i6.i = icmp eq i64 %22, 4294967297 - %23 = trunc i64 %22 to i32 + %_M_use_count.i.i.i.i5.i = getelementptr inbounds i8, ptr %22, i64 8 + %23 = load atomic i64, ptr %_M_use_count.i.i.i.i5.i acquire, align 8 + %cmp.i.i.i.i6.i = icmp eq i64 %23, 4294967297 + %24 = trunc i64 %23 to i32 br i1 %cmp.i.i.i.i6.i, label %if.then.i.i.i.i16.i, label %if.end.i.i.i.i7.i if.then.i.i.i.i16.i: ; preds = %if.then.i.i.i4.i store i32 0, ptr %_M_use_count.i.i.i.i5.i, align 8, !tbaa !76 - %_M_weak_count.i.i.i.i17.i = getelementptr inbounds i8, ptr %21, i64 12 + %_M_weak_count.i.i.i.i17.i = getelementptr inbounds i8, ptr %22, i64 12 store i32 0, ptr %_M_weak_count.i.i.i.i17.i, align 4, !tbaa !78 - %vtable.i.i.i.i18.i = load ptr, ptr %21, align 8, !tbaa !24 + %vtable.i.i.i.i18.i = load ptr, ptr %22, align 8, !tbaa !24 %vfn.i.i.i.i19.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i18.i, i64 16 - %24 = load ptr, ptr %vfn.i.i.i.i19.i, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(16) %21) #26 - %vtable3.i.i.i.i20.i = load ptr, ptr %21, align 8, !tbaa !24 + %25 = load ptr, ptr %vfn.i.i.i.i19.i, align 8 + call void %25(ptr noundef nonnull align 8 dereferenceable(16) %22) #26 + %vtable3.i.i.i.i20.i = load ptr, ptr %22, align 8, !tbaa !24 %vfn4.i.i.i.i21.i = getelementptr inbounds i8, ptr %vtable3.i.i.i.i20.i, i64 24 - %25 = load ptr, ptr %vfn4.i.i.i.i21.i, align 8 - call void %25(ptr noundef nonnull align 8 dereferenceable(16) %21) #26 + %26 = load ptr, ptr %vfn4.i.i.i.i21.i, align 8 + call void %26(ptr noundef nonnull align 8 dereferenceable(16) %22) #26 br label %_ZN6duckdb19UnifiedVectorFormatD2Ev.exit if.end.i.i.i.i7.i: ; preds = %if.then.i.i.i4.i - %26 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !11 - %tobool.i.not.i.i.i.i8.i = icmp eq i8 %26, 0 + %27 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !11 + %tobool.i.not.i.i.i.i8.i = icmp eq i8 %27, 0 br i1 %tobool.i.not.i.i.i.i8.i, label %if.else.i.i.i.i.i15.i, label %if.then.i.i.i.i.i9.i if.then.i.i.i.i.i9.i: ; preds = %if.end.i.i.i.i7.i - %add.i.i.i.i.i10.i = add nsw i32 %23, -1 + %add.i.i.i.i.i10.i = add nsw i32 %24, -1 store i32 %add.i.i.i.i.i10.i, ptr %_M_use_count.i.i.i.i5.i, align 4, !tbaa !63 br label %invoke.cont.i.i.i.i11.i if.else.i.i.i.i.i15.i: ; preds = %if.end.i.i.i.i7.i - %27 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i5.i, i32 -1 acq_rel, align 4 + %28 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i5.i, i32 -1 acq_rel, align 4 br label %invoke.cont.i.i.i.i11.i invoke.cont.i.i.i.i11.i: ; preds = %if.else.i.i.i.i.i15.i, %if.then.i.i.i.i.i9.i - %retval.0.i.i.i.i.i12.i = phi i32 [ %23, %if.then.i.i.i.i.i9.i ], [ %27, %if.else.i.i.i.i.i15.i ] + %retval.0.i.i.i.i.i12.i = phi i32 [ %24, %if.then.i.i.i.i.i9.i ], [ %28, %if.else.i.i.i.i.i15.i ] %cmp6.i.i.i.i13.i = icmp eq i32 %retval.0.i.i.i.i.i12.i, 1 br i1 %cmp6.i.i.i.i13.i, label %if.then7.i.i.i.i14.i, label %_ZN6duckdb19UnifiedVectorFormatD2Ev.exit, !prof !85 if.then7.i.i.i.i14.i: ; preds = %invoke.cont.i.i.i.i11.i - call void @_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv(ptr noundef nonnull align 8 dereferenceable(16) %21) #26 + call void @_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv(ptr noundef nonnull align 8 dereferenceable(16) %22) #26 br label %_ZN6duckdb19UnifiedVectorFormatD2Ev.exit _ZN6duckdb19UnifiedVectorFormatD2Ev.exit: ; preds = %if.then7.i.i.i.i14.i, %invoke.cont.i.i.i.i11.i, %if.then.i.i.i.i16.i, %_ZN6duckdb15SelectionVectorD2Ev.exit.i @@ -168995,17 +168995,17 @@ _ZN6duckdb19UnifiedVectorFormatD2Ev.exit: ; preds = %if.then7.i.i.i.i14. br label %sw.epilog lpad: ; preds = %invoke.cont, %sw.default - %28 = landingpad { ptr, i32 } + %29 = landingpad { ptr, i32 } cleanup br label %ehcleanup lpad20: ; preds = %invoke.cont13 - %29 = landingpad { ptr, i32 } + %30 = landingpad { ptr, i32 } cleanup br label %ehcleanup ehcleanup: ; preds = %lpad20, %lpad - %.pn = phi { ptr, i32 } [ %29, %lpad20 ], [ %28, %lpad ] + %.pn = phi { ptr, i32 } [ %30, %lpad20 ], [ %29, %lpad ] call void @_ZN6duckdb19UnifiedVectorFormatD2Ev(ptr noundef nonnull align 8 dereferenceable(72) %vdata) #26 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %vdata) #26 resume { ptr, i32 } %.pn @@ -169186,30 +169186,30 @@ if.then.i.i.i.i101: ; preds = %if.then.i.i if.else.i.i.i.i: ; preds = %if.then.i.i %yyyy.nonneg.i.i.i.i = sub i32 0, %call.i.i.i.i.i %div15.i4.i.i.i = udiv i32 %yyyy.nonneg.i.i.i.i, 100 - %div15.i.zext.i.i.i = zext nneg i32 %div15.i4.i.i.i to i64 - %sub2.i.i.i.i = xor i64 %div15.i.zext.i.i.i, -1 + %17 = xor i32 %div15.i4.i.i.i, -1 + %sub2.i.i.i.i = sext i32 %17 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit if.else.i.i: ; preds = %for.body10 - %17 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i = icmp eq ptr %17, null + %18 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i = icmp eq ptr %18, null br i1 %tobool.not.i.i.i, label %if.then.i.i.i, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i if.then.i.i.i: ; preds = %if.else.i.i - %18 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %18) + %19 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %19) %.pre.i.i.i = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i: ; preds = %if.then.i.i.i, %if.else.i.i - %19 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %17, %if.else.i.i ] + %20 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %18, %if.else.i.i ] %div2.i.i.i.i.i = lshr i64 %base_idx.1168, 6 %rem.i.i.i.i.i = and i64 %base_idx.1168, 63 %shl.i.i.i.i.i = shl nuw i64 1, %rem.i.i.i.i.i %not.i.i.i.i.i = xor i64 %shl.i.i.i.i.i, -1 - %arrayidx.i.i.i.i.i = getelementptr inbounds i64, ptr %19, i64 %div2.i.i.i.i.i - %20 = load i64, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 - %and.i.i.i.i.i = and i64 %20, %not.i.i.i.i.i + %arrayidx.i.i.i.i.i = getelementptr inbounds i64, ptr %20, i64 %div2.i.i.i.i.i + %21 = load i64, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 + %and.i.i.i.i.i = and i64 %21, %not.i.i.i.i.i store i64 %and.i.i.i.i.i, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit @@ -169251,30 +169251,30 @@ if.then.i.i.i.i126: ; preds = %if.then.i.i117 if.else.i.i.i.i121: ; preds = %if.then.i.i117 %yyyy.nonneg.i.i.i.i122 = sub i32 0, %call.i.i.i.i.i119 %div15.i4.i.i.i123 = udiv i32 %yyyy.nonneg.i.i.i.i122, 100 - %div15.i.zext.i.i.i124 = zext nneg i32 %div15.i4.i.i.i123 to i64 - %sub2.i.i.i.i125 = xor i64 %div15.i.zext.i.i.i124, -1 + %22 = xor i32 %div15.i4.i.i.i123, -1 + %sub2.i.i.i.i125 = sext i32 %22 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit131 if.else.i.i104: ; preds = %if.then21 - %21 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i105 = icmp eq ptr %21, null + %23 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i105 = icmp eq ptr %23, null br i1 %tobool.not.i.i.i105, label %if.then.i.i.i114, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i106 if.then.i.i.i114: ; preds = %if.else.i.i104 - %22 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %22) + %24 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %24) %.pre.i.i.i116 = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i106 _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i106: ; preds = %if.then.i.i.i114, %if.else.i.i104 - %23 = phi ptr [ %.pre.i.i.i116, %if.then.i.i.i114 ], [ %21, %if.else.i.i104 ] + %25 = phi ptr [ %.pre.i.i.i116, %if.then.i.i.i114 ], [ %23, %if.else.i.i104 ] %div2.i.i.i.i.i107 = lshr i64 %base_idx.2170, 6 %rem.i.i.i.i.i108 = and i64 %base_idx.2170, 63 %shl.i.i.i.i.i109 = shl nuw i64 1, %rem.i.i.i.i.i108 %not.i.i.i.i.i110 = xor i64 %shl.i.i.i.i.i109, -1 - %arrayidx.i.i.i.i.i111 = getelementptr inbounds i64, ptr %23, i64 %div2.i.i.i.i.i107 - %24 = load i64, ptr %arrayidx.i.i.i.i.i111, align 8, !tbaa !59 - %and.i.i.i.i.i112 = and i64 %24, %not.i.i.i.i.i110 + %arrayidx.i.i.i.i.i111 = getelementptr inbounds i64, ptr %25, i64 %div2.i.i.i.i.i107 + %26 = load i64, ptr %arrayidx.i.i.i.i.i111, align 8, !tbaa !59 + %and.i.i.i.i.i112 = and i64 %26, %not.i.i.i.i.i110 store i64 %and.i.i.i.i.i112, ptr %arrayidx.i.i.i.i.i111, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit131 @@ -169296,15 +169296,15 @@ cleanup: ; preds = %for.inc28, %_ZN6duc br i1 %exitcond180.not, label %if.end55, label %for.body, !llvm.loop !2616 if.else38: ; preds = %entry - %25 = load ptr, ptr %result_mask, align 8 - %tobool.not.i132 = icmp eq ptr %25, null + %27 = load ptr, ptr %result_mask, align 8 + %tobool.not.i132 = icmp eq ptr %27, null %or.cond = select i1 %adds_nulls, i1 %tobool.not.i132, i1 false br i1 %or.cond, label %if.then.i, label %if.end41 if.then.i: ; preds = %if.else38 %target_count.i.i = getelementptr inbounds i8, ptr %result_mask, i64 24 - %26 = load i64, ptr %target_count.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %26) + %28 = load i64, ptr %target_count.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %28) br label %if.end41 if.end41: ; preds = %if.then.i, %if.else38 @@ -169338,30 +169338,30 @@ if.then.i.i.i.i157: ; preds = %if.then.i.i148 if.else.i.i.i.i152: ; preds = %if.then.i.i148 %yyyy.nonneg.i.i.i.i153 = sub i32 0, %call.i.i.i.i.i150 %div15.i4.i.i.i154 = udiv i32 %yyyy.nonneg.i.i.i.i153, 100 - %div15.i.zext.i.i.i155 = zext nneg i32 %div15.i4.i.i.i154 to i64 - %sub2.i.i.i.i156 = xor i64 %div15.i.zext.i.i.i155, -1 + %29 = xor i32 %div15.i4.i.i.i154, -1 + %sub2.i.i.i.i156 = sext i32 %29 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit162 if.else.i.i135: ; preds = %for.body45 - %27 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i136 = icmp eq ptr %27, null + %30 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i136 = icmp eq ptr %30, null br i1 %tobool.not.i.i.i136, label %if.then.i.i.i145, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i137 if.then.i.i.i145: ; preds = %if.else.i.i135 - %28 = load i64, ptr %target_count.i.i.i146, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %28) + %31 = load i64, ptr %target_count.i.i.i146, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %31) %.pre.i.i.i147 = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i137 _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i137: ; preds = %if.then.i.i.i145, %if.else.i.i135 - %29 = phi ptr [ %.pre.i.i.i147, %if.then.i.i.i145 ], [ %27, %if.else.i.i135 ] + %32 = phi ptr [ %.pre.i.i.i147, %if.then.i.i.i145 ], [ %30, %if.else.i.i135 ] %div2.i.i.i.i.i138 = lshr i64 %i.0176, 6 %rem.i.i.i.i.i139 = and i64 %i.0176, 63 %shl.i.i.i.i.i140 = shl nuw i64 1, %rem.i.i.i.i.i139 %not.i.i.i.i.i141 = xor i64 %shl.i.i.i.i.i140, -1 - %arrayidx.i.i.i.i.i142 = getelementptr inbounds i64, ptr %29, i64 %div2.i.i.i.i.i138 - %30 = load i64, ptr %arrayidx.i.i.i.i.i142, align 8, !tbaa !59 - %and.i.i.i.i.i143 = and i64 %30, %not.i.i.i.i.i141 + %arrayidx.i.i.i.i.i142 = getelementptr inbounds i64, ptr %32, i64 %div2.i.i.i.i.i138 + %33 = load i64, ptr %arrayidx.i.i.i.i.i142, align 8, !tbaa !59 + %and.i.i.i.i.i143 = and i64 %33, %not.i.i.i.i.i141 store i64 %and.i.i.i.i.i143, ptr %arrayidx.i.i.i.i.i142, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit162 @@ -169457,30 +169457,30 @@ if.then.i.i.i.i: ; preds = %if.then.i.i if.else.i.i.i.i: ; preds = %if.then.i.i %yyyy.nonneg.i.i.i.i = sub i32 0, %call.i.i.i.i.i %div15.i4.i.i.i = udiv i32 %yyyy.nonneg.i.i.i.i, 100 - %div15.i.zext.i.i.i = zext nneg i32 %div15.i4.i.i.i to i64 - %sub2.i.i.i.i = xor i64 %div15.i.zext.i.i.i, -1 + %7 = xor i32 %div15.i4.i.i.i, -1 + %sub2.i.i.i.i = sext i32 %7 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit if.else.i.i: ; preds = %if.then3 - %7 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i = icmp eq ptr %7, null + %8 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i = icmp eq ptr %8, null br i1 %tobool.not.i.i.i, label %if.then.i.i.i, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i if.then.i.i.i: ; preds = %if.else.i.i - %8 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %8) + %9 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %9) %.pre.i.i.i = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i: ; preds = %if.then.i.i.i, %if.else.i.i - %9 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %7, %if.else.i.i ] + %10 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %8, %if.else.i.i ] %div2.i.i.i.i.i = lshr i64 %i.092, 6 %rem.i.i.i.i.i = and i64 %i.092, 63 %shl.i.i.i.i.i = shl nuw i64 1, %rem.i.i.i.i.i %not.i.i.i.i.i = xor i64 %shl.i.i.i.i.i, -1 - %arrayidx.i.i.i.i.i = getelementptr inbounds i64, ptr %9, i64 %div2.i.i.i.i.i - %10 = load i64, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 - %and.i.i.i.i.i = and i64 %10, %not.i.i.i.i.i + %arrayidx.i.i.i.i.i = getelementptr inbounds i64, ptr %10, i64 %div2.i.i.i.i.i + %11 = load i64, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 + %and.i.i.i.i.i = and i64 %11, %not.i.i.i.i.i store i64 %and.i.i.i.i.i, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit @@ -169491,25 +169491,25 @@ _ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15Centu br label %if.end if.else: ; preds = %_ZNK6duckdb21TemplatedValidityMaskImE16RowIsValidUnsafeEm.exit - %11 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i48 = icmp eq ptr %11, null + %12 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i48 = icmp eq ptr %12, null br i1 %tobool.not.i48, label %if.then.i50, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit if.then.i50: ; preds = %if.else - %12 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %12) + %13 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %13) %.pre.i = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit: ; preds = %if.then.i50, %if.else - %13 = phi ptr [ %.pre.i, %if.then.i50 ], [ %11, %if.else ] + %14 = phi ptr [ %.pre.i, %if.then.i50 ], [ %12, %if.else ] %div2.i.i.i = lshr i64 %i.092, 6 %rem.i.i.i = and i64 %i.092, 63 %shl.i.i.i = shl nuw i64 1, %rem.i.i.i %not.i.i.i = xor i64 %shl.i.i.i, -1 - %arrayidx.i.i.i49 = getelementptr inbounds i64, ptr %13, i64 %div2.i.i.i - %14 = load i64, ptr %arrayidx.i.i.i49, align 8, !tbaa !59 - %and.i.i.i = and i64 %14, %not.i.i.i + %arrayidx.i.i.i49 = getelementptr inbounds i64, ptr %14, i64 %div2.i.i.i + %15 = load i64, ptr %arrayidx.i.i.i49, align 8, !tbaa !59 + %and.i.i.i = and i64 %15, %not.i.i.i store i64 %and.i.i.i, ptr %arrayidx.i.i.i49, align 8, !tbaa !59 br label %if.end @@ -169524,8 +169524,8 @@ if.else6: ; preds = %entry if.then.i52: ; preds = %if.else6 %target_count.i.i53 = getelementptr inbounds i8, ptr %result_mask, i64 24 - %15 = load i64, ptr %target_count.i.i53, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %15) + %16 = load i64, ptr %target_count.i.i53, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %16) br label %if.end8 if.end8: ; preds = %if.then.i52, %if.else6 @@ -169533,8 +169533,8 @@ if.end8: ; preds = %if.then.i52, %if.el br i1 %cmp1193.not, label %if.end24, label %for.body13.lr.ph for.body13.lr.ph: ; preds = %if.end8 - %16 = load ptr, ptr %sel_vector, align 8, !tbaa !105 - %tobool.not.i55 = icmp eq ptr %16, null + %17 = load ptr, ptr %sel_vector, align 8, !tbaa !105 + %tobool.not.i55 = icmp eq ptr %17, null %target_count.i.i.i73 = getelementptr inbounds i8, ptr %result_mask, i64 24 br i1 %tobool.not.i55, label %for.body13.us, label %for.body13 @@ -169546,25 +169546,25 @@ for.body13.us: ; preds = %for.body13.lr.ph, % br i1 %call.i.i61.us, label %if.then.i.i75.us, label %if.else.i.i62.us if.else.i.i62.us: ; preds = %for.body13.us - %17 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i63.us = icmp eq ptr %17, null + %18 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i63.us = icmp eq ptr %18, null br i1 %tobool.not.i.i.i63.us, label %if.then.i.i.i72.us, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64.us if.then.i.i.i72.us: ; preds = %if.else.i.i62.us - %18 = load i64, ptr %target_count.i.i.i73, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %18) + %19 = load i64, ptr %target_count.i.i.i73, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %19) %.pre.i.i.i74.us = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64.us _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64.us: ; preds = %if.then.i.i.i72.us, %if.else.i.i62.us - %19 = phi ptr [ %.pre.i.i.i74.us, %if.then.i.i.i72.us ], [ %17, %if.else.i.i62.us ] + %20 = phi ptr [ %.pre.i.i.i74.us, %if.then.i.i.i72.us ], [ %18, %if.else.i.i62.us ] %div2.i.i.i.i.i65.us = lshr i64 %i9.094.us, 6 %rem.i.i.i.i.i66.us = and i64 %i9.094.us, 63 %shl.i.i.i.i.i67.us = shl nuw i64 1, %rem.i.i.i.i.i66.us %not.i.i.i.i.i68.us = xor i64 %shl.i.i.i.i.i67.us, -1 - %arrayidx.i.i.i.i.i69.us = getelementptr inbounds i64, ptr %19, i64 %div2.i.i.i.i.i65.us - %20 = load i64, ptr %arrayidx.i.i.i.i.i69.us, align 8, !tbaa !59 - %and.i.i.i.i.i70.us = and i64 %20, %not.i.i.i.i.i68.us + %arrayidx.i.i.i.i.i69.us = getelementptr inbounds i64, ptr %20, i64 %div2.i.i.i.i.i65.us + %21 = load i64, ptr %arrayidx.i.i.i.i.i69.us, align 8, !tbaa !59 + %and.i.i.i.i.i70.us = and i64 %21, %not.i.i.i.i.i68.us store i64 %and.i.i.i.i.i70.us, ptr %arrayidx.i.i.i.i.i69.us, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit89.us @@ -169577,8 +169577,8 @@ if.then.i.i75.us: ; preds = %for.body13.us if.else.i.i.i.i79.us: ; preds = %if.then.i.i75.us %yyyy.nonneg.i.i.i.i80.us = sub i32 0, %call.i.i.i.i.i77.us %div15.i4.i.i.i81.us = udiv i32 %yyyy.nonneg.i.i.i.i80.us, 100 - %div15.i.zext.i.i.i82.us = zext nneg i32 %div15.i4.i.i.i81.us to i64 - %sub2.i.i.i.i83.us = xor i64 %div15.i.zext.i.i.i82.us, -1 + %22 = xor i32 %div15.i4.i.i.i81.us, -1 + %sub2.i.i.i.i83.us = sext i32 %22 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit89.us if.then.i.i.i.i84.us: ; preds = %if.then.i.i75.us @@ -169598,9 +169598,9 @@ _ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15Centu for.body13: ; preds = %for.body13.lr.ph, %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit89 %i9.094 = phi i64 [ %inc22, %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit89 ], [ 0, %for.body13.lr.ph ] - %arrayidx.i57 = getelementptr inbounds i32, ptr %16, i64 %i9.094 - %21 = load i32, ptr %arrayidx.i57, align 4, !tbaa !63 - %conv.i58 = zext i32 %21 to i64 + %arrayidx.i57 = getelementptr inbounds i32, ptr %17, i64 %i9.094 + %23 = load i32, ptr %arrayidx.i57, align 4, !tbaa !63 + %conv.i58 = zext i32 %23 to i64 %arrayidx17 = getelementptr inbounds %"struct.duckdb::timestamp_t", ptr %ldata, i64 %conv.i58 %agg.tmp16.sroa.0.0.copyload = load i64, ptr %arrayidx17, align 8, !tbaa.struct !60 %call.i.i61 = tail call noundef zeroext i1 @_ZN6duckdb5Value8IsFiniteINS_11timestamp_tEEEbT_(i64 %agg.tmp16.sroa.0.0.copyload) @@ -169622,30 +169622,30 @@ if.then.i.i.i.i84: ; preds = %if.then.i.i75 if.else.i.i.i.i79: ; preds = %if.then.i.i75 %yyyy.nonneg.i.i.i.i80 = sub i32 0, %call.i.i.i.i.i77 %div15.i4.i.i.i81 = udiv i32 %yyyy.nonneg.i.i.i.i80, 100 - %div15.i.zext.i.i.i82 = zext nneg i32 %div15.i4.i.i.i81 to i64 - %sub2.i.i.i.i83 = xor i64 %div15.i.zext.i.i.i82, -1 + %24 = xor i32 %div15.i4.i.i.i81, -1 + %sub2.i.i.i.i83 = sext i32 %24 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit89 if.else.i.i62: ; preds = %for.body13 - %22 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i63 = icmp eq ptr %22, null + %25 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i63 = icmp eq ptr %25, null br i1 %tobool.not.i.i.i63, label %if.then.i.i.i72, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64 if.then.i.i.i72: ; preds = %if.else.i.i62 - %23 = load i64, ptr %target_count.i.i.i73, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %23) + %26 = load i64, ptr %target_count.i.i.i73, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %26) %.pre.i.i.i74 = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64 _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64: ; preds = %if.then.i.i.i72, %if.else.i.i62 - %24 = phi ptr [ %.pre.i.i.i74, %if.then.i.i.i72 ], [ %22, %if.else.i.i62 ] + %27 = phi ptr [ %.pre.i.i.i74, %if.then.i.i.i72 ], [ %25, %if.else.i.i62 ] %div2.i.i.i.i.i65 = lshr i64 %i9.094, 6 %rem.i.i.i.i.i66 = and i64 %i9.094, 63 %shl.i.i.i.i.i67 = shl nuw i64 1, %rem.i.i.i.i.i66 %not.i.i.i.i.i68 = xor i64 %shl.i.i.i.i.i67, -1 - %arrayidx.i.i.i.i.i69 = getelementptr inbounds i64, ptr %24, i64 %div2.i.i.i.i.i65 - %25 = load i64, ptr %arrayidx.i.i.i.i.i69, align 8, !tbaa !59 - %and.i.i.i.i.i70 = and i64 %25, %not.i.i.i.i.i68 + %arrayidx.i.i.i.i.i69 = getelementptr inbounds i64, ptr %27, i64 %div2.i.i.i.i.i65 + %28 = load i64, ptr %arrayidx.i.i.i.i.i69, align 8, !tbaa !59 + %and.i.i.i.i.i70 = and i64 %28, %not.i.i.i.i.i68 store i64 %and.i.i.i.i.i70, ptr %arrayidx.i.i.i.i.i69, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_15CenturyOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit89 @@ -170539,8 +170539,8 @@ if.then.i.i: ; preds = %if.end14 if.else.i.i: ; preds = %if.end14 %yyyy.nonneg.i.i = sub i32 0, %call.i.i %div15.i4.i = udiv i32 %yyyy.nonneg.i.i, 100 - %div15.i.zext.i = zext nneg i32 %div15.i4.i to i64 - %sub2.i.i = xor i64 %div15.i.zext.i, -1 + %2 = xor i32 %div15.i4.i, -1 + %sub2.i.i = sext i32 %2 to i64 br label %_ZN6duckdb8DatePart15CenturyOperator9OperationINS_6date_tElEET0_T_.exit _ZN6duckdb8DatePart15CenturyOperator9OperationINS_6date_tElEET0_T_.exit: ; preds = %if.else.i.i, %if.then.i.i @@ -170559,8 +170559,8 @@ if.then.i.i68: ; preds = %_ZN6duckdb8DatePart if.else.i.i62: ; preds = %_ZN6duckdb8DatePart15CenturyOperator9OperationINS_6date_tElEET0_T_.exit %yyyy.nonneg.i.i63 = sub i32 0, %call.i.i60 %div15.i4.i64 = udiv i32 %yyyy.nonneg.i.i63, 100 - %div15.i.zext.i65 = zext nneg i32 %div15.i4.i64 to i64 - %sub2.i.i66 = xor i64 %div15.i.zext.i65, -1 + %3 = xor i32 %div15.i4.i64, -1 + %sub2.i.i66 = sext i32 %3 to i64 br label %_ZN6duckdb8DatePart15CenturyOperator9OperationINS_6date_tElEET0_T_.exit73 _ZN6duckdb8DatePart15CenturyOperator9OperationINS_6date_tElEET0_T_.exit73: ; preds = %if.else.i.i62, %if.then.i.i68 @@ -170611,55 +170611,55 @@ invoke.cont37: ; preds = %invoke.cont36 br label %cleanup45 lpad: ; preds = %_ZN6duckdb8DatePart15CenturyOperator9OperationINS_6date_tElEET0_T_.exit73 - %2 = landingpad { ptr, i32 } + %4 = landingpad { ptr, i32 } cleanup call void @_ZN6duckdb11LogicalTypeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp21) #26 br label %ehcleanup39 lpad22: ; preds = %invoke.cont - %3 = landingpad { ptr, i32 } + %5 = landingpad { ptr, i32 } cleanup br label %ehcleanup lpad24: ; preds = %invoke.cont23 - %4 = landingpad { ptr, i32 } + %6 = landingpad { ptr, i32 } cleanup call void @_ZN6duckdb5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(64) %ref.tmp) #26 br label %ehcleanup ehcleanup: ; preds = %lpad24, %lpad22 - %.pn = phi { ptr, i32 } [ %4, %lpad24 ], [ %3, %lpad22 ] + %.pn = phi { ptr, i32 } [ %6, %lpad24 ], [ %5, %lpad22 ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %ref.tmp) #26 br label %ehcleanup38 lpad27: ; preds = %invoke.cont25 - %5 = landingpad { ptr, i32 } + %7 = landingpad { ptr, i32 } cleanup br label %ehcleanup32 lpad29: ; preds = %invoke.cont28 - %6 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } cleanup call void @_ZN6duckdb5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(64) %ref.tmp26) #26 br label %ehcleanup32 ehcleanup32: ; preds = %lpad29, %lpad27 - %.pn52 = phi { ptr, i32 } [ %6, %lpad29 ], [ %5, %lpad27 ] + %.pn52 = phi { ptr, i32 } [ %8, %lpad29 ], [ %7, %lpad27 ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %ref.tmp26) #26 br label %ehcleanup38 lpad33: ; preds = %invoke.cont36, %invoke.cont34, %invoke.cont30 - %7 = landingpad { ptr, i32 } + %9 = landingpad { ptr, i32 } cleanup br label %ehcleanup38 ehcleanup38: ; preds = %lpad33, %ehcleanup32, %ehcleanup - %.pn54 = phi { ptr, i32 } [ %7, %lpad33 ], [ %.pn52, %ehcleanup32 ], [ %.pn, %ehcleanup ] + %.pn54 = phi { ptr, i32 } [ %9, %lpad33 ], [ %.pn52, %ehcleanup32 ], [ %.pn, %ehcleanup ] call void @_ZN6duckdb14BaseStatisticsD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %result) #26 br label %ehcleanup39 ehcleanup39: ; preds = %ehcleanup38, %lpad - %.pn54.pn = phi { ptr, i32 } [ %.pn54, %ehcleanup38 ], [ %2, %lpad ] + %.pn54.pn = phi { ptr, i32 } [ %.pn54, %ehcleanup38 ], [ %4, %lpad ] call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %result) #26 br label %common.resume @@ -170754,8 +170754,8 @@ if.then.i.i: ; preds = %if.end14 if.else.i.i: ; preds = %if.end14 %yyyy.nonneg.i.i = sub i32 0, %call.i.i.i %div15.i4.i = udiv i32 %yyyy.nonneg.i.i, 100 - %div15.i.zext.i = zext nneg i32 %div15.i4.i to i64 - %sub2.i.i = xor i64 %div15.i.zext.i, -1 + %2 = xor i32 %div15.i4.i, -1 + %sub2.i.i = sext i32 %2 to i64 br label %_ZN6duckdb8DatePart15CenturyOperator9OperationINS_11timestamp_tElEET0_T_.exit _ZN6duckdb8DatePart15CenturyOperator9OperationINS_11timestamp_tElEET0_T_.exit: ; preds = %if.else.i.i, %if.then.i.i @@ -170775,8 +170775,8 @@ if.then.i.i69: ; preds = %_ZN6duckdb8DatePart if.else.i.i63: ; preds = %_ZN6duckdb8DatePart15CenturyOperator9OperationINS_11timestamp_tElEET0_T_.exit %yyyy.nonneg.i.i64 = sub i32 0, %call.i.i.i61 %div15.i4.i65 = udiv i32 %yyyy.nonneg.i.i64, 100 - %div15.i.zext.i66 = zext nneg i32 %div15.i4.i65 to i64 - %sub2.i.i67 = xor i64 %div15.i.zext.i66, -1 + %3 = xor i32 %div15.i4.i65, -1 + %sub2.i.i67 = sext i32 %3 to i64 br label %_ZN6duckdb8DatePart15CenturyOperator9OperationINS_11timestamp_tElEET0_T_.exit74 _ZN6duckdb8DatePart15CenturyOperator9OperationINS_11timestamp_tElEET0_T_.exit74: ; preds = %if.else.i.i63, %if.then.i.i69 @@ -170827,55 +170827,55 @@ invoke.cont37: ; preds = %invoke.cont36 br label %cleanup45 lpad: ; preds = %_ZN6duckdb8DatePart15CenturyOperator9OperationINS_11timestamp_tElEET0_T_.exit74 - %2 = landingpad { ptr, i32 } + %4 = landingpad { ptr, i32 } cleanup call void @_ZN6duckdb11LogicalTypeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp21) #26 br label %ehcleanup39 lpad22: ; preds = %invoke.cont - %3 = landingpad { ptr, i32 } + %5 = landingpad { ptr, i32 } cleanup br label %ehcleanup lpad24: ; preds = %invoke.cont23 - %4 = landingpad { ptr, i32 } + %6 = landingpad { ptr, i32 } cleanup call void @_ZN6duckdb5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(64) %ref.tmp) #26 br label %ehcleanup ehcleanup: ; preds = %lpad24, %lpad22 - %.pn = phi { ptr, i32 } [ %4, %lpad24 ], [ %3, %lpad22 ] + %.pn = phi { ptr, i32 } [ %6, %lpad24 ], [ %5, %lpad22 ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %ref.tmp) #26 br label %ehcleanup38 lpad27: ; preds = %invoke.cont25 - %5 = landingpad { ptr, i32 } + %7 = landingpad { ptr, i32 } cleanup br label %ehcleanup32 lpad29: ; preds = %invoke.cont28 - %6 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } cleanup call void @_ZN6duckdb5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(64) %ref.tmp26) #26 br label %ehcleanup32 ehcleanup32: ; preds = %lpad29, %lpad27 - %.pn52 = phi { ptr, i32 } [ %6, %lpad29 ], [ %5, %lpad27 ] + %.pn52 = phi { ptr, i32 } [ %8, %lpad29 ], [ %7, %lpad27 ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %ref.tmp26) #26 br label %ehcleanup38 lpad33: ; preds = %invoke.cont36, %invoke.cont34, %invoke.cont30 - %7 = landingpad { ptr, i32 } + %9 = landingpad { ptr, i32 } cleanup br label %ehcleanup38 ehcleanup38: ; preds = %lpad33, %ehcleanup32, %ehcleanup - %.pn54 = phi { ptr, i32 } [ %7, %lpad33 ], [ %.pn52, %ehcleanup32 ], [ %.pn, %ehcleanup ] + %.pn54 = phi { ptr, i32 } [ %9, %lpad33 ], [ %.pn52, %ehcleanup32 ], [ %.pn, %ehcleanup ] call void @_ZN6duckdb14BaseStatisticsD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %result) #26 br label %ehcleanup39 ehcleanup39: ; preds = %ehcleanup38, %lpad - %.pn54.pn = phi { ptr, i32 } [ %.pn54, %ehcleanup38 ], [ %2, %lpad ] + %.pn54.pn = phi { ptr, i32 } [ %.pn54, %ehcleanup38 ], [ %4, %lpad ] call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %result) #26 br label %common.resume @@ -171014,27 +171014,27 @@ if.then.i.i.i.i: ; preds = %if.then.i.i if.else.i.i.i.i: ; preds = %if.then.i.i %yyyy.nonneg.i.i.i.i = sub i32 0, %call.i.i.i.i %div15.i4.i.i.i = udiv i32 %yyyy.nonneg.i.i.i.i, 1000 - %div15.i.zext.i.i.i = zext nneg i32 %div15.i4.i.i.i to i64 - %sub2.i.i.i.i = xor i64 %div15.i.zext.i.i.i, -1 + %5 = xor i32 %div15.i4.i.i.i, -1 + %sub2.i.i.i.i = sext i32 %5 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit if.else.i.i: ; preds = %if.else - %5 = load ptr, ptr %validity.i47, align 8, !tbaa !58 - %tobool.not.i.i.i = icmp eq ptr %5, null + %6 = load ptr, ptr %validity.i47, align 8, !tbaa !58 + %tobool.not.i.i.i = icmp eq ptr %6, null br i1 %tobool.not.i.i.i, label %if.then.i.i.i, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i if.then.i.i.i: ; preds = %if.else.i.i %target_count.i.i.i = getelementptr inbounds i8, ptr %result, i64 64 - %6 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %validity.i47, i64 noundef %6) + %7 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %validity.i47, i64 noundef %7) %.pre.i.i.i = load ptr, ptr %validity.i47, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i: ; preds = %if.then.i.i.i, %if.else.i.i - %7 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %5, %if.else.i.i ] - %8 = load i64, ptr %7, align 8, !tbaa !59 - %and.i.i.i.i.i = and i64 %8, -2 - store i64 %and.i.i.i.i.i, ptr %7, align 8, !tbaa !59 + %8 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %6, %if.else.i.i ] + %9 = load i64, ptr %8, align 8, !tbaa !59 + %and.i.i.i.i.i = and i64 %9, -2 + store i64 %and.i.i.i.i.i, ptr %8, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit _ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit: ; preds = %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i, %if.else.i.i.i.i, %if.then.i.i.i.i @@ -171045,12 +171045,12 @@ _ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18Mille sw.bb6: ; preds = %entry tail call void @_ZN6duckdb6Vector13SetVectorTypeENS_10VectorTypeE(ptr noundef nonnull align 8 dereferenceable(104) %result, i8 noundef zeroext 0) %data.i.i.i = getelementptr inbounds i8, ptr %result, i64 32 - %9 = load ptr, ptr %data.i.i.i, align 8, !tbaa !57 + %10 = load ptr, ptr %data.i.i.i, align 8, !tbaa !57 %data.i.i.i49 = getelementptr inbounds i8, ptr %input, i64 32 - %10 = load ptr, ptr %data.i.i.i49, align 8, !tbaa !57 + %11 = load ptr, ptr %data.i.i.i49, align 8, !tbaa !57 %validity.i50 = getelementptr inbounds i8, ptr %input, i64 40 %validity.i51 = getelementptr inbounds i8, ptr %result, i64 40 - tail call void @_ZN6duckdb13UnaryExecutor11ExecuteFlatINS_6date_tElNS_19GenericUnaryWrapperENS_8DatePart12PartOperatorINS4_18MillenniumOperatorEEEEEvPKT_PT0_mRNS_12ValidityMaskESE_Pvb(ptr noundef %10, ptr noundef %9, i64 noundef %count, ptr noundef nonnull align 8 dereferenceable(32) %validity.i50, ptr noundef nonnull align 8 dereferenceable(32) %validity.i51, ptr noundef %dataptr, i1 noundef zeroext %adds_nulls) + tail call void @_ZN6duckdb13UnaryExecutor11ExecuteFlatINS_6date_tElNS_19GenericUnaryWrapperENS_8DatePart12PartOperatorINS4_18MillenniumOperatorEEEEEvPKT_PT0_mRNS_12ValidityMaskESE_Pvb(ptr noundef %11, ptr noundef %10, i64 noundef %count, ptr noundef nonnull align 8 dereferenceable(32) %validity.i50, ptr noundef nonnull align 8 dereferenceable(32) %validity.i51, ptr noundef %dataptr, i1 noundef zeroext %adds_nulls) br label %sw.epilog sw.default: ; preds = %entry @@ -171070,112 +171070,112 @@ invoke.cont: ; preds = %sw.default invoke.cont13: ; preds = %invoke.cont %data.i.i.i54 = getelementptr inbounds i8, ptr %result, i64 32 - %11 = load ptr, ptr %data.i.i.i54, align 8, !tbaa !57 + %12 = load ptr, ptr %data.i.i.i54, align 8, !tbaa !57 %data.i = getelementptr inbounds i8, ptr %vdata, i64 8 - %12 = load ptr, ptr %data.i, align 8, !tbaa !91 - %13 = load ptr, ptr %vdata, align 8, !tbaa !96 + %13 = load ptr, ptr %data.i, align 8, !tbaa !91 + %14 = load ptr, ptr %vdata, align 8, !tbaa !96 %validity.i55 = getelementptr inbounds i8, ptr %result, i64 40 - invoke void @_ZN6duckdb13UnaryExecutor11ExecuteLoopINS_6date_tElNS_19GenericUnaryWrapperENS_8DatePart12PartOperatorINS4_18MillenniumOperatorEEEEEvPKT_PT0_mPKNS_15SelectionVectorERNS_12ValidityMaskESH_Pvb(ptr noundef %12, ptr noundef %11, i64 noundef %count, ptr noundef %13, ptr noundef nonnull align 8 dereferenceable(32) %validity.i52, ptr noundef nonnull align 8 dereferenceable(32) %validity.i55, ptr noundef %dataptr, i1 noundef zeroext %adds_nulls) + invoke void @_ZN6duckdb13UnaryExecutor11ExecuteLoopINS_6date_tElNS_19GenericUnaryWrapperENS_8DatePart12PartOperatorINS4_18MillenniumOperatorEEEEEvPKT_PT0_mPKNS_15SelectionVectorERNS_12ValidityMaskESH_Pvb(ptr noundef %13, ptr noundef %12, i64 noundef %count, ptr noundef %14, ptr noundef nonnull align 8 dereferenceable(32) %validity.i52, ptr noundef nonnull align 8 dereferenceable(32) %validity.i55, ptr noundef %dataptr, i1 noundef zeroext %adds_nulls) to label %invoke.cont21 unwind label %lpad20 invoke.cont21: ; preds = %invoke.cont13 %_M_refcount.i.i.i = getelementptr inbounds i8, ptr %vdata, i64 64 - %14 = load ptr, ptr %_M_refcount.i.i.i, align 8, !tbaa !84 - %cmp.not.i.i.i.i = icmp eq ptr %14, null + %15 = load ptr, ptr %_M_refcount.i.i.i, align 8, !tbaa !84 + %cmp.not.i.i.i.i = icmp eq ptr %15, null br i1 %cmp.not.i.i.i.i, label %_ZN6duckdb15SelectionVectorD2Ev.exit.i, label %if.then.i.i.i.i56 if.then.i.i.i.i56: ; preds = %invoke.cont21 - %_M_use_count.i.i.i.i.i = getelementptr inbounds i8, ptr %14, i64 8 - %15 = load atomic i64, ptr %_M_use_count.i.i.i.i.i acquire, align 8 - %cmp.i.i.i.i.i = icmp eq i64 %15, 4294967297 - %16 = trunc i64 %15 to i32 + %_M_use_count.i.i.i.i.i = getelementptr inbounds i8, ptr %15, i64 8 + %16 = load atomic i64, ptr %_M_use_count.i.i.i.i.i acquire, align 8 + %cmp.i.i.i.i.i = icmp eq i64 %16, 4294967297 + %17 = trunc i64 %16 to i32 br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %if.end.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.then.i.i.i.i56 store i32 0, ptr %_M_use_count.i.i.i.i.i, align 8, !tbaa !76 - %_M_weak_count.i.i.i.i.i = getelementptr inbounds i8, ptr %14, i64 12 + %_M_weak_count.i.i.i.i.i = getelementptr inbounds i8, ptr %15, i64 12 store i32 0, ptr %_M_weak_count.i.i.i.i.i, align 4, !tbaa !78 - %vtable.i.i.i.i.i = load ptr, ptr %14, align 8, !tbaa !24 + %vtable.i.i.i.i.i = load ptr, ptr %15, align 8, !tbaa !24 %vfn.i.i.i.i.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i.i, i64 16 - %17 = load ptr, ptr %vfn.i.i.i.i.i, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(16) %14) #26 - %vtable3.i.i.i.i.i = load ptr, ptr %14, align 8, !tbaa !24 + %18 = load ptr, ptr %vfn.i.i.i.i.i, align 8 + call void %18(ptr noundef nonnull align 8 dereferenceable(16) %15) #26 + %vtable3.i.i.i.i.i = load ptr, ptr %15, align 8, !tbaa !24 %vfn4.i.i.i.i.i = getelementptr inbounds i8, ptr %vtable3.i.i.i.i.i, i64 24 - %18 = load ptr, ptr %vfn4.i.i.i.i.i, align 8 - call void %18(ptr noundef nonnull align 8 dereferenceable(16) %14) #26 + %19 = load ptr, ptr %vfn4.i.i.i.i.i, align 8 + call void %19(ptr noundef nonnull align 8 dereferenceable(16) %15) #26 br label %_ZN6duckdb15SelectionVectorD2Ev.exit.i if.end.i.i.i.i.i: ; preds = %if.then.i.i.i.i56 - %19 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !11 - %tobool.i.not.i.i.i.i.i = icmp eq i8 %19, 0 + %20 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !11 + %tobool.i.not.i.i.i.i.i = icmp eq i8 %20, 0 br i1 %tobool.i.not.i.i.i.i.i, label %if.else.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i - %add.i.i.i.i.i.i = add nsw i32 %16, -1 + %add.i.i.i.i.i.i = add nsw i32 %17, -1 store i32 %add.i.i.i.i.i.i, ptr %_M_use_count.i.i.i.i.i, align 4, !tbaa !63 br label %invoke.cont.i.i.i.i.i if.else.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i - %20 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i, i32 -1 acq_rel, align 4 + %21 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i, i32 -1 acq_rel, align 4 br label %invoke.cont.i.i.i.i.i invoke.cont.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i, %if.then.i.i.i.i.i.i - %retval.0.i.i.i.i.i.i = phi i32 [ %16, %if.then.i.i.i.i.i.i ], [ %20, %if.else.i.i.i.i.i.i ] + %retval.0.i.i.i.i.i.i = phi i32 [ %17, %if.then.i.i.i.i.i.i ], [ %21, %if.else.i.i.i.i.i.i ] %cmp6.i.i.i.i.i = icmp eq i32 %retval.0.i.i.i.i.i.i, 1 br i1 %cmp6.i.i.i.i.i, label %if.then7.i.i.i.i.i, label %_ZN6duckdb15SelectionVectorD2Ev.exit.i, !prof !85 if.then7.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i.i - call void @_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv(ptr noundef nonnull align 8 dereferenceable(16) %14) #26 + call void @_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv(ptr noundef nonnull align 8 dereferenceable(16) %15) #26 br label %_ZN6duckdb15SelectionVectorD2Ev.exit.i _ZN6duckdb15SelectionVectorD2Ev.exit.i: ; preds = %if.then7.i.i.i.i.i, %invoke.cont.i.i.i.i.i, %if.then.i.i.i.i.i, %invoke.cont21 %_M_refcount.i.i2.i = getelementptr inbounds i8, ptr %vdata, i64 32 - %21 = load ptr, ptr %_M_refcount.i.i2.i, align 8, !tbaa !84 - %cmp.not.i.i.i3.i = icmp eq ptr %21, null + %22 = load ptr, ptr %_M_refcount.i.i2.i, align 8, !tbaa !84 + %cmp.not.i.i.i3.i = icmp eq ptr %22, null br i1 %cmp.not.i.i.i3.i, label %_ZN6duckdb19UnifiedVectorFormatD2Ev.exit, label %if.then.i.i.i4.i if.then.i.i.i4.i: ; preds = %_ZN6duckdb15SelectionVectorD2Ev.exit.i - %_M_use_count.i.i.i.i5.i = getelementptr inbounds i8, ptr %21, i64 8 - %22 = load atomic i64, ptr %_M_use_count.i.i.i.i5.i acquire, align 8 - %cmp.i.i.i.i6.i = icmp eq i64 %22, 4294967297 - %23 = trunc i64 %22 to i32 + %_M_use_count.i.i.i.i5.i = getelementptr inbounds i8, ptr %22, i64 8 + %23 = load atomic i64, ptr %_M_use_count.i.i.i.i5.i acquire, align 8 + %cmp.i.i.i.i6.i = icmp eq i64 %23, 4294967297 + %24 = trunc i64 %23 to i32 br i1 %cmp.i.i.i.i6.i, label %if.then.i.i.i.i16.i, label %if.end.i.i.i.i7.i if.then.i.i.i.i16.i: ; preds = %if.then.i.i.i4.i store i32 0, ptr %_M_use_count.i.i.i.i5.i, align 8, !tbaa !76 - %_M_weak_count.i.i.i.i17.i = getelementptr inbounds i8, ptr %21, i64 12 + %_M_weak_count.i.i.i.i17.i = getelementptr inbounds i8, ptr %22, i64 12 store i32 0, ptr %_M_weak_count.i.i.i.i17.i, align 4, !tbaa !78 - %vtable.i.i.i.i18.i = load ptr, ptr %21, align 8, !tbaa !24 + %vtable.i.i.i.i18.i = load ptr, ptr %22, align 8, !tbaa !24 %vfn.i.i.i.i19.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i18.i, i64 16 - %24 = load ptr, ptr %vfn.i.i.i.i19.i, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(16) %21) #26 - %vtable3.i.i.i.i20.i = load ptr, ptr %21, align 8, !tbaa !24 + %25 = load ptr, ptr %vfn.i.i.i.i19.i, align 8 + call void %25(ptr noundef nonnull align 8 dereferenceable(16) %22) #26 + %vtable3.i.i.i.i20.i = load ptr, ptr %22, align 8, !tbaa !24 %vfn4.i.i.i.i21.i = getelementptr inbounds i8, ptr %vtable3.i.i.i.i20.i, i64 24 - %25 = load ptr, ptr %vfn4.i.i.i.i21.i, align 8 - call void %25(ptr noundef nonnull align 8 dereferenceable(16) %21) #26 + %26 = load ptr, ptr %vfn4.i.i.i.i21.i, align 8 + call void %26(ptr noundef nonnull align 8 dereferenceable(16) %22) #26 br label %_ZN6duckdb19UnifiedVectorFormatD2Ev.exit if.end.i.i.i.i7.i: ; preds = %if.then.i.i.i4.i - %26 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !11 - %tobool.i.not.i.i.i.i8.i = icmp eq i8 %26, 0 + %27 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !11 + %tobool.i.not.i.i.i.i8.i = icmp eq i8 %27, 0 br i1 %tobool.i.not.i.i.i.i8.i, label %if.else.i.i.i.i.i15.i, label %if.then.i.i.i.i.i9.i if.then.i.i.i.i.i9.i: ; preds = %if.end.i.i.i.i7.i - %add.i.i.i.i.i10.i = add nsw i32 %23, -1 + %add.i.i.i.i.i10.i = add nsw i32 %24, -1 store i32 %add.i.i.i.i.i10.i, ptr %_M_use_count.i.i.i.i5.i, align 4, !tbaa !63 br label %invoke.cont.i.i.i.i11.i if.else.i.i.i.i.i15.i: ; preds = %if.end.i.i.i.i7.i - %27 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i5.i, i32 -1 acq_rel, align 4 + %28 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i5.i, i32 -1 acq_rel, align 4 br label %invoke.cont.i.i.i.i11.i invoke.cont.i.i.i.i11.i: ; preds = %if.else.i.i.i.i.i15.i, %if.then.i.i.i.i.i9.i - %retval.0.i.i.i.i.i12.i = phi i32 [ %23, %if.then.i.i.i.i.i9.i ], [ %27, %if.else.i.i.i.i.i15.i ] + %retval.0.i.i.i.i.i12.i = phi i32 [ %24, %if.then.i.i.i.i.i9.i ], [ %28, %if.else.i.i.i.i.i15.i ] %cmp6.i.i.i.i13.i = icmp eq i32 %retval.0.i.i.i.i.i12.i, 1 br i1 %cmp6.i.i.i.i13.i, label %if.then7.i.i.i.i14.i, label %_ZN6duckdb19UnifiedVectorFormatD2Ev.exit, !prof !85 if.then7.i.i.i.i14.i: ; preds = %invoke.cont.i.i.i.i11.i - call void @_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv(ptr noundef nonnull align 8 dereferenceable(16) %21) #26 + call void @_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv(ptr noundef nonnull align 8 dereferenceable(16) %22) #26 br label %_ZN6duckdb19UnifiedVectorFormatD2Ev.exit _ZN6duckdb19UnifiedVectorFormatD2Ev.exit: ; preds = %if.then7.i.i.i.i14.i, %invoke.cont.i.i.i.i11.i, %if.then.i.i.i.i16.i, %_ZN6duckdb15SelectionVectorD2Ev.exit.i @@ -171183,17 +171183,17 @@ _ZN6duckdb19UnifiedVectorFormatD2Ev.exit: ; preds = %if.then7.i.i.i.i14. br label %sw.epilog lpad: ; preds = %invoke.cont, %sw.default - %28 = landingpad { ptr, i32 } + %29 = landingpad { ptr, i32 } cleanup br label %ehcleanup lpad20: ; preds = %invoke.cont13 - %29 = landingpad { ptr, i32 } + %30 = landingpad { ptr, i32 } cleanup br label %ehcleanup ehcleanup: ; preds = %lpad20, %lpad - %.pn = phi { ptr, i32 } [ %29, %lpad20 ], [ %28, %lpad ] + %.pn = phi { ptr, i32 } [ %30, %lpad20 ], [ %29, %lpad ] call void @_ZN6duckdb19UnifiedVectorFormatD2Ev(ptr noundef nonnull align 8 dereferenceable(72) %vdata) #26 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %vdata) #26 resume { ptr, i32 } %.pn @@ -171373,30 +171373,30 @@ if.then.i.i.i.i101: ; preds = %if.then.i.i if.else.i.i.i.i: ; preds = %if.then.i.i %yyyy.nonneg.i.i.i.i = sub i32 0, %call.i.i.i.i %div15.i4.i.i.i = udiv i32 %yyyy.nonneg.i.i.i.i, 1000 - %div15.i.zext.i.i.i = zext nneg i32 %div15.i4.i.i.i to i64 - %sub2.i.i.i.i = xor i64 %div15.i.zext.i.i.i, -1 + %17 = xor i32 %div15.i4.i.i.i, -1 + %sub2.i.i.i.i = sext i32 %17 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit if.else.i.i: ; preds = %for.body10 - %17 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i = icmp eq ptr %17, null + %18 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i = icmp eq ptr %18, null br i1 %tobool.not.i.i.i, label %if.then.i.i.i, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i if.then.i.i.i: ; preds = %if.else.i.i - %18 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %18) + %19 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %19) %.pre.i.i.i = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i: ; preds = %if.then.i.i.i, %if.else.i.i - %19 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %17, %if.else.i.i ] + %20 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %18, %if.else.i.i ] %div2.i.i.i.i.i = lshr i64 %base_idx.1166, 6 %rem.i.i.i.i.i = and i64 %base_idx.1166, 63 %shl.i.i.i.i.i = shl nuw i64 1, %rem.i.i.i.i.i %not.i.i.i.i.i = xor i64 %shl.i.i.i.i.i, -1 - %arrayidx.i.i.i.i.i = getelementptr inbounds i64, ptr %19, i64 %div2.i.i.i.i.i - %20 = load i64, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 - %and.i.i.i.i.i = and i64 %20, %not.i.i.i.i.i + %arrayidx.i.i.i.i.i = getelementptr inbounds i64, ptr %20, i64 %div2.i.i.i.i.i + %21 = load i64, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 + %and.i.i.i.i.i = and i64 %21, %not.i.i.i.i.i store i64 %and.i.i.i.i.i, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit @@ -171437,30 +171437,30 @@ if.then.i.i.i.i125: ; preds = %if.then.i.i117 if.else.i.i.i.i120: ; preds = %if.then.i.i117 %yyyy.nonneg.i.i.i.i121 = sub i32 0, %call.i.i.i.i118 %div15.i4.i.i.i122 = udiv i32 %yyyy.nonneg.i.i.i.i121, 1000 - %div15.i.zext.i.i.i123 = zext nneg i32 %div15.i4.i.i.i122 to i64 - %sub2.i.i.i.i124 = xor i64 %div15.i.zext.i.i.i123, -1 + %22 = xor i32 %div15.i4.i.i.i122, -1 + %sub2.i.i.i.i124 = sext i32 %22 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit130 if.else.i.i104: ; preds = %if.then21 - %21 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i105 = icmp eq ptr %21, null + %23 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i105 = icmp eq ptr %23, null br i1 %tobool.not.i.i.i105, label %if.then.i.i.i114, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i106 if.then.i.i.i114: ; preds = %if.else.i.i104 - %22 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %22) + %24 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %24) %.pre.i.i.i116 = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i106 _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i106: ; preds = %if.then.i.i.i114, %if.else.i.i104 - %23 = phi ptr [ %.pre.i.i.i116, %if.then.i.i.i114 ], [ %21, %if.else.i.i104 ] + %25 = phi ptr [ %.pre.i.i.i116, %if.then.i.i.i114 ], [ %23, %if.else.i.i104 ] %div2.i.i.i.i.i107 = lshr i64 %base_idx.2168, 6 %rem.i.i.i.i.i108 = and i64 %base_idx.2168, 63 %shl.i.i.i.i.i109 = shl nuw i64 1, %rem.i.i.i.i.i108 %not.i.i.i.i.i110 = xor i64 %shl.i.i.i.i.i109, -1 - %arrayidx.i.i.i.i.i111 = getelementptr inbounds i64, ptr %23, i64 %div2.i.i.i.i.i107 - %24 = load i64, ptr %arrayidx.i.i.i.i.i111, align 8, !tbaa !59 - %and.i.i.i.i.i112 = and i64 %24, %not.i.i.i.i.i110 + %arrayidx.i.i.i.i.i111 = getelementptr inbounds i64, ptr %25, i64 %div2.i.i.i.i.i107 + %26 = load i64, ptr %arrayidx.i.i.i.i.i111, align 8, !tbaa !59 + %and.i.i.i.i.i112 = and i64 %26, %not.i.i.i.i.i110 store i64 %and.i.i.i.i.i112, ptr %arrayidx.i.i.i.i.i111, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit130 @@ -171482,15 +171482,15 @@ cleanup: ; preds = %for.inc28, %_ZN6duc br i1 %exitcond178.not, label %if.end55, label %for.body, !llvm.loop !2628 if.else38: ; preds = %entry - %25 = load ptr, ptr %result_mask, align 8 - %tobool.not.i131 = icmp eq ptr %25, null + %27 = load ptr, ptr %result_mask, align 8 + %tobool.not.i131 = icmp eq ptr %27, null %or.cond = select i1 %adds_nulls, i1 %tobool.not.i131, i1 false br i1 %or.cond, label %if.then.i, label %if.end41 if.then.i: ; preds = %if.else38 %target_count.i.i = getelementptr inbounds i8, ptr %result_mask, i64 24 - %26 = load i64, ptr %target_count.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %26) + %28 = load i64, ptr %target_count.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %28) br label %if.end41 if.end41: ; preds = %if.then.i, %if.else38 @@ -171523,30 +171523,30 @@ if.then.i.i.i.i155: ; preds = %if.then.i.i147 if.else.i.i.i.i150: ; preds = %if.then.i.i147 %yyyy.nonneg.i.i.i.i151 = sub i32 0, %call.i.i.i.i148 %div15.i4.i.i.i152 = udiv i32 %yyyy.nonneg.i.i.i.i151, 1000 - %div15.i.zext.i.i.i153 = zext nneg i32 %div15.i4.i.i.i152 to i64 - %sub2.i.i.i.i154 = xor i64 %div15.i.zext.i.i.i153, -1 + %29 = xor i32 %div15.i4.i.i.i152, -1 + %sub2.i.i.i.i154 = sext i32 %29 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit160 if.else.i.i134: ; preds = %for.body45 - %27 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i135 = icmp eq ptr %27, null + %30 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i135 = icmp eq ptr %30, null br i1 %tobool.not.i.i.i135, label %if.then.i.i.i144, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i136 if.then.i.i.i144: ; preds = %if.else.i.i134 - %28 = load i64, ptr %target_count.i.i.i145, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %28) + %31 = load i64, ptr %target_count.i.i.i145, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %31) %.pre.i.i.i146 = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i136 _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i136: ; preds = %if.then.i.i.i144, %if.else.i.i134 - %29 = phi ptr [ %.pre.i.i.i146, %if.then.i.i.i144 ], [ %27, %if.else.i.i134 ] + %32 = phi ptr [ %.pre.i.i.i146, %if.then.i.i.i144 ], [ %30, %if.else.i.i134 ] %div2.i.i.i.i.i137 = lshr i64 %i.0174, 6 %rem.i.i.i.i.i138 = and i64 %i.0174, 63 %shl.i.i.i.i.i139 = shl nuw i64 1, %rem.i.i.i.i.i138 %not.i.i.i.i.i140 = xor i64 %shl.i.i.i.i.i139, -1 - %arrayidx.i.i.i.i.i141 = getelementptr inbounds i64, ptr %29, i64 %div2.i.i.i.i.i137 - %30 = load i64, ptr %arrayidx.i.i.i.i.i141, align 8, !tbaa !59 - %and.i.i.i.i.i142 = and i64 %30, %not.i.i.i.i.i140 + %arrayidx.i.i.i.i.i141 = getelementptr inbounds i64, ptr %32, i64 %div2.i.i.i.i.i137 + %33 = load i64, ptr %arrayidx.i.i.i.i.i141, align 8, !tbaa !59 + %and.i.i.i.i.i142 = and i64 %33, %not.i.i.i.i.i140 store i64 %and.i.i.i.i.i142, ptr %arrayidx.i.i.i.i.i141, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit160 @@ -171641,30 +171641,30 @@ if.then.i.i.i.i: ; preds = %if.then.i.i if.else.i.i.i.i: ; preds = %if.then.i.i %yyyy.nonneg.i.i.i.i = sub i32 0, %call.i.i.i.i %div15.i4.i.i.i = udiv i32 %yyyy.nonneg.i.i.i.i, 1000 - %div15.i.zext.i.i.i = zext nneg i32 %div15.i4.i.i.i to i64 - %sub2.i.i.i.i = xor i64 %div15.i.zext.i.i.i, -1 + %7 = xor i32 %div15.i4.i.i.i, -1 + %sub2.i.i.i.i = sext i32 %7 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit if.else.i.i: ; preds = %if.then3 - %7 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i = icmp eq ptr %7, null + %8 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i = icmp eq ptr %8, null br i1 %tobool.not.i.i.i, label %if.then.i.i.i, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i if.then.i.i.i: ; preds = %if.else.i.i - %8 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %8) + %9 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %9) %.pre.i.i.i = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i: ; preds = %if.then.i.i.i, %if.else.i.i - %9 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %7, %if.else.i.i ] + %10 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %8, %if.else.i.i ] %div2.i.i.i.i.i = lshr i64 %i.091, 6 %rem.i.i.i.i.i = and i64 %i.091, 63 %shl.i.i.i.i.i = shl nuw i64 1, %rem.i.i.i.i.i %not.i.i.i.i.i = xor i64 %shl.i.i.i.i.i, -1 - %arrayidx.i.i.i.i.i = getelementptr inbounds i64, ptr %9, i64 %div2.i.i.i.i.i - %10 = load i64, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 - %and.i.i.i.i.i = and i64 %10, %not.i.i.i.i.i + %arrayidx.i.i.i.i.i = getelementptr inbounds i64, ptr %10, i64 %div2.i.i.i.i.i + %11 = load i64, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 + %and.i.i.i.i.i = and i64 %11, %not.i.i.i.i.i store i64 %and.i.i.i.i.i, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit @@ -171675,25 +171675,25 @@ _ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18Mille br label %if.end if.else: ; preds = %_ZNK6duckdb21TemplatedValidityMaskImE16RowIsValidUnsafeEm.exit - %11 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i48 = icmp eq ptr %11, null + %12 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i48 = icmp eq ptr %12, null br i1 %tobool.not.i48, label %if.then.i50, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit if.then.i50: ; preds = %if.else - %12 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %12) + %13 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %13) %.pre.i = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit: ; preds = %if.then.i50, %if.else - %13 = phi ptr [ %.pre.i, %if.then.i50 ], [ %11, %if.else ] + %14 = phi ptr [ %.pre.i, %if.then.i50 ], [ %12, %if.else ] %div2.i.i.i = lshr i64 %i.091, 6 %rem.i.i.i = and i64 %i.091, 63 %shl.i.i.i = shl nuw i64 1, %rem.i.i.i %not.i.i.i = xor i64 %shl.i.i.i, -1 - %arrayidx.i.i.i49 = getelementptr inbounds i64, ptr %13, i64 %div2.i.i.i - %14 = load i64, ptr %arrayidx.i.i.i49, align 8, !tbaa !59 - %and.i.i.i = and i64 %14, %not.i.i.i + %arrayidx.i.i.i49 = getelementptr inbounds i64, ptr %14, i64 %div2.i.i.i + %15 = load i64, ptr %arrayidx.i.i.i49, align 8, !tbaa !59 + %and.i.i.i = and i64 %15, %not.i.i.i store i64 %and.i.i.i, ptr %arrayidx.i.i.i49, align 8, !tbaa !59 br label %if.end @@ -171708,8 +171708,8 @@ if.else6: ; preds = %entry if.then.i52: ; preds = %if.else6 %target_count.i.i53 = getelementptr inbounds i8, ptr %result_mask, i64 24 - %15 = load i64, ptr %target_count.i.i53, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %15) + %16 = load i64, ptr %target_count.i.i53, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %16) br label %if.end8 if.end8: ; preds = %if.then.i52, %if.else6 @@ -171717,8 +171717,8 @@ if.end8: ; preds = %if.then.i52, %if.el br i1 %cmp1192.not, label %if.end24, label %for.body13.lr.ph for.body13.lr.ph: ; preds = %if.end8 - %16 = load ptr, ptr %sel_vector, align 8, !tbaa !105 - %tobool.not.i55 = icmp eq ptr %16, null + %17 = load ptr, ptr %sel_vector, align 8, !tbaa !105 + %tobool.not.i55 = icmp eq ptr %17, null %target_count.i.i.i73 = getelementptr inbounds i8, ptr %result_mask, i64 24 br i1 %tobool.not.i55, label %for.body13.us, label %for.body13 @@ -171730,25 +171730,25 @@ for.body13.us: ; preds = %for.body13.lr.ph, % br i1 %call.i.i61.us, label %if.then.i.i75.us, label %if.else.i.i62.us if.else.i.i62.us: ; preds = %for.body13.us - %17 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i63.us = icmp eq ptr %17, null + %18 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i63.us = icmp eq ptr %18, null br i1 %tobool.not.i.i.i63.us, label %if.then.i.i.i72.us, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64.us if.then.i.i.i72.us: ; preds = %if.else.i.i62.us - %18 = load i64, ptr %target_count.i.i.i73, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %18) + %19 = load i64, ptr %target_count.i.i.i73, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %19) %.pre.i.i.i74.us = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64.us _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64.us: ; preds = %if.then.i.i.i72.us, %if.else.i.i62.us - %19 = phi ptr [ %.pre.i.i.i74.us, %if.then.i.i.i72.us ], [ %17, %if.else.i.i62.us ] + %20 = phi ptr [ %.pre.i.i.i74.us, %if.then.i.i.i72.us ], [ %18, %if.else.i.i62.us ] %div2.i.i.i.i.i65.us = lshr i64 %i9.093.us, 6 %rem.i.i.i.i.i66.us = and i64 %i9.093.us, 63 %shl.i.i.i.i.i67.us = shl nuw i64 1, %rem.i.i.i.i.i66.us %not.i.i.i.i.i68.us = xor i64 %shl.i.i.i.i.i67.us, -1 - %arrayidx.i.i.i.i.i69.us = getelementptr inbounds i64, ptr %19, i64 %div2.i.i.i.i.i65.us - %20 = load i64, ptr %arrayidx.i.i.i.i.i69.us, align 8, !tbaa !59 - %and.i.i.i.i.i70.us = and i64 %20, %not.i.i.i.i.i68.us + %arrayidx.i.i.i.i.i69.us = getelementptr inbounds i64, ptr %20, i64 %div2.i.i.i.i.i65.us + %21 = load i64, ptr %arrayidx.i.i.i.i.i69.us, align 8, !tbaa !59 + %and.i.i.i.i.i70.us = and i64 %21, %not.i.i.i.i.i68.us store i64 %and.i.i.i.i.i70.us, ptr %arrayidx.i.i.i.i.i69.us, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit88.us @@ -171760,8 +171760,8 @@ if.then.i.i75.us: ; preds = %for.body13.us if.else.i.i.i.i78.us: ; preds = %if.then.i.i75.us %yyyy.nonneg.i.i.i.i79.us = sub i32 0, %call.i.i.i.i76.us %div15.i4.i.i.i80.us = udiv i32 %yyyy.nonneg.i.i.i.i79.us, 1000 - %div15.i.zext.i.i.i81.us = zext nneg i32 %div15.i4.i.i.i80.us to i64 - %sub2.i.i.i.i82.us = xor i64 %div15.i.zext.i.i.i81.us, -1 + %22 = xor i32 %div15.i4.i.i.i80.us, -1 + %sub2.i.i.i.i82.us = sext i32 %22 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit88.us if.then.i.i.i.i83.us: ; preds = %if.then.i.i75.us @@ -171781,9 +171781,9 @@ _ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18Mille for.body13: ; preds = %for.body13.lr.ph, %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit88 %i9.093 = phi i64 [ %inc22, %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit88 ], [ 0, %for.body13.lr.ph ] - %arrayidx.i57 = getelementptr inbounds i32, ptr %16, i64 %i9.093 - %21 = load i32, ptr %arrayidx.i57, align 4, !tbaa !63 - %conv.i58 = zext i32 %21 to i64 + %arrayidx.i57 = getelementptr inbounds i32, ptr %17, i64 %i9.093 + %23 = load i32, ptr %arrayidx.i57, align 4, !tbaa !63 + %conv.i58 = zext i32 %23 to i64 %arrayidx17 = getelementptr inbounds %"struct.duckdb::date_t", ptr %ldata, i64 %conv.i58 %agg.tmp16.sroa.0.0.copyload = load i32, ptr %arrayidx17, align 4, !tbaa.struct !242 %call.i.i61 = tail call noundef zeroext i1 @_ZN6duckdb5Value8IsFiniteINS_6date_tEEEbT_(i32 %agg.tmp16.sroa.0.0.copyload) @@ -171804,30 +171804,30 @@ if.then.i.i.i.i83: ; preds = %if.then.i.i75 if.else.i.i.i.i78: ; preds = %if.then.i.i75 %yyyy.nonneg.i.i.i.i79 = sub i32 0, %call.i.i.i.i76 %div15.i4.i.i.i80 = udiv i32 %yyyy.nonneg.i.i.i.i79, 1000 - %div15.i.zext.i.i.i81 = zext nneg i32 %div15.i4.i.i.i80 to i64 - %sub2.i.i.i.i82 = xor i64 %div15.i.zext.i.i.i81, -1 + %24 = xor i32 %div15.i4.i.i.i80, -1 + %sub2.i.i.i.i82 = sext i32 %24 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit88 if.else.i.i62: ; preds = %for.body13 - %22 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i63 = icmp eq ptr %22, null + %25 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i63 = icmp eq ptr %25, null br i1 %tobool.not.i.i.i63, label %if.then.i.i.i72, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64 if.then.i.i.i72: ; preds = %if.else.i.i62 - %23 = load i64, ptr %target_count.i.i.i73, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %23) + %26 = load i64, ptr %target_count.i.i.i73, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %26) %.pre.i.i.i74 = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64 _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64: ; preds = %if.then.i.i.i72, %if.else.i.i62 - %24 = phi ptr [ %.pre.i.i.i74, %if.then.i.i.i72 ], [ %22, %if.else.i.i62 ] + %27 = phi ptr [ %.pre.i.i.i74, %if.then.i.i.i72 ], [ %25, %if.else.i.i62 ] %div2.i.i.i.i.i65 = lshr i64 %i9.093, 6 %rem.i.i.i.i.i66 = and i64 %i9.093, 63 %shl.i.i.i.i.i67 = shl nuw i64 1, %rem.i.i.i.i.i66 %not.i.i.i.i.i68 = xor i64 %shl.i.i.i.i.i67, -1 - %arrayidx.i.i.i.i.i69 = getelementptr inbounds i64, ptr %24, i64 %div2.i.i.i.i.i65 - %25 = load i64, ptr %arrayidx.i.i.i.i.i69, align 8, !tbaa !59 - %and.i.i.i.i.i70 = and i64 %25, %not.i.i.i.i.i68 + %arrayidx.i.i.i.i.i69 = getelementptr inbounds i64, ptr %27, i64 %div2.i.i.i.i.i65 + %28 = load i64, ptr %arrayidx.i.i.i.i.i69, align 8, !tbaa !59 + %and.i.i.i.i.i70 = and i64 %28, %not.i.i.i.i.i68 store i64 %and.i.i.i.i.i70, ptr %arrayidx.i.i.i.i.i69, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_6date_tElEET1_T0_RNS_12ValidityMaskEmPv.exit88 @@ -171897,27 +171897,27 @@ if.then.i.i.i.i: ; preds = %if.then.i.i if.else.i.i.i.i: ; preds = %if.then.i.i %yyyy.nonneg.i.i.i.i = sub i32 0, %call.i.i.i.i.i %div15.i4.i.i.i = udiv i32 %yyyy.nonneg.i.i.i.i, 1000 - %div15.i.zext.i.i.i = zext nneg i32 %div15.i4.i.i.i to i64 - %sub2.i.i.i.i = xor i64 %div15.i.zext.i.i.i, -1 + %5 = xor i32 %div15.i4.i.i.i, -1 + %sub2.i.i.i.i = sext i32 %5 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit if.else.i.i: ; preds = %if.else - %5 = load ptr, ptr %validity.i47, align 8, !tbaa !58 - %tobool.not.i.i.i = icmp eq ptr %5, null + %6 = load ptr, ptr %validity.i47, align 8, !tbaa !58 + %tobool.not.i.i.i = icmp eq ptr %6, null br i1 %tobool.not.i.i.i, label %if.then.i.i.i, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i if.then.i.i.i: ; preds = %if.else.i.i %target_count.i.i.i = getelementptr inbounds i8, ptr %result, i64 64 - %6 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %validity.i47, i64 noundef %6) + %7 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %validity.i47, i64 noundef %7) %.pre.i.i.i = load ptr, ptr %validity.i47, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i: ; preds = %if.then.i.i.i, %if.else.i.i - %7 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %5, %if.else.i.i ] - %8 = load i64, ptr %7, align 8, !tbaa !59 - %and.i.i.i.i.i = and i64 %8, -2 - store i64 %and.i.i.i.i.i, ptr %7, align 8, !tbaa !59 + %8 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %6, %if.else.i.i ] + %9 = load i64, ptr %8, align 8, !tbaa !59 + %and.i.i.i.i.i = and i64 %9, -2 + store i64 %and.i.i.i.i.i, ptr %8, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit _ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit: ; preds = %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i, %if.else.i.i.i.i, %if.then.i.i.i.i @@ -171928,12 +171928,12 @@ _ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18Mille sw.bb6: ; preds = %entry tail call void @_ZN6duckdb6Vector13SetVectorTypeENS_10VectorTypeE(ptr noundef nonnull align 8 dereferenceable(104) %result, i8 noundef zeroext 0) %data.i.i.i = getelementptr inbounds i8, ptr %result, i64 32 - %9 = load ptr, ptr %data.i.i.i, align 8, !tbaa !57 + %10 = load ptr, ptr %data.i.i.i, align 8, !tbaa !57 %data.i.i.i49 = getelementptr inbounds i8, ptr %input, i64 32 - %10 = load ptr, ptr %data.i.i.i49, align 8, !tbaa !57 + %11 = load ptr, ptr %data.i.i.i49, align 8, !tbaa !57 %validity.i50 = getelementptr inbounds i8, ptr %input, i64 40 %validity.i51 = getelementptr inbounds i8, ptr %result, i64 40 - tail call void @_ZN6duckdb13UnaryExecutor11ExecuteFlatINS_11timestamp_tElNS_19GenericUnaryWrapperENS_8DatePart12PartOperatorINS4_18MillenniumOperatorEEEEEvPKT_PT0_mRNS_12ValidityMaskESE_Pvb(ptr noundef %10, ptr noundef %9, i64 noundef %count, ptr noundef nonnull align 8 dereferenceable(32) %validity.i50, ptr noundef nonnull align 8 dereferenceable(32) %validity.i51, ptr noundef %dataptr, i1 noundef zeroext %adds_nulls) + tail call void @_ZN6duckdb13UnaryExecutor11ExecuteFlatINS_11timestamp_tElNS_19GenericUnaryWrapperENS_8DatePart12PartOperatorINS4_18MillenniumOperatorEEEEEvPKT_PT0_mRNS_12ValidityMaskESE_Pvb(ptr noundef %11, ptr noundef %10, i64 noundef %count, ptr noundef nonnull align 8 dereferenceable(32) %validity.i50, ptr noundef nonnull align 8 dereferenceable(32) %validity.i51, ptr noundef %dataptr, i1 noundef zeroext %adds_nulls) br label %sw.epilog sw.default: ; preds = %entry @@ -171953,112 +171953,112 @@ invoke.cont: ; preds = %sw.default invoke.cont13: ; preds = %invoke.cont %data.i.i.i54 = getelementptr inbounds i8, ptr %result, i64 32 - %11 = load ptr, ptr %data.i.i.i54, align 8, !tbaa !57 + %12 = load ptr, ptr %data.i.i.i54, align 8, !tbaa !57 %data.i = getelementptr inbounds i8, ptr %vdata, i64 8 - %12 = load ptr, ptr %data.i, align 8, !tbaa !91 - %13 = load ptr, ptr %vdata, align 8, !tbaa !96 + %13 = load ptr, ptr %data.i, align 8, !tbaa !91 + %14 = load ptr, ptr %vdata, align 8, !tbaa !96 %validity.i55 = getelementptr inbounds i8, ptr %result, i64 40 - invoke void @_ZN6duckdb13UnaryExecutor11ExecuteLoopINS_11timestamp_tElNS_19GenericUnaryWrapperENS_8DatePart12PartOperatorINS4_18MillenniumOperatorEEEEEvPKT_PT0_mPKNS_15SelectionVectorERNS_12ValidityMaskESH_Pvb(ptr noundef %12, ptr noundef %11, i64 noundef %count, ptr noundef %13, ptr noundef nonnull align 8 dereferenceable(32) %validity.i52, ptr noundef nonnull align 8 dereferenceable(32) %validity.i55, ptr noundef %dataptr, i1 noundef zeroext %adds_nulls) + invoke void @_ZN6duckdb13UnaryExecutor11ExecuteLoopINS_11timestamp_tElNS_19GenericUnaryWrapperENS_8DatePart12PartOperatorINS4_18MillenniumOperatorEEEEEvPKT_PT0_mPKNS_15SelectionVectorERNS_12ValidityMaskESH_Pvb(ptr noundef %13, ptr noundef %12, i64 noundef %count, ptr noundef %14, ptr noundef nonnull align 8 dereferenceable(32) %validity.i52, ptr noundef nonnull align 8 dereferenceable(32) %validity.i55, ptr noundef %dataptr, i1 noundef zeroext %adds_nulls) to label %invoke.cont21 unwind label %lpad20 invoke.cont21: ; preds = %invoke.cont13 %_M_refcount.i.i.i = getelementptr inbounds i8, ptr %vdata, i64 64 - %14 = load ptr, ptr %_M_refcount.i.i.i, align 8, !tbaa !84 - %cmp.not.i.i.i.i = icmp eq ptr %14, null + %15 = load ptr, ptr %_M_refcount.i.i.i, align 8, !tbaa !84 + %cmp.not.i.i.i.i = icmp eq ptr %15, null br i1 %cmp.not.i.i.i.i, label %_ZN6duckdb15SelectionVectorD2Ev.exit.i, label %if.then.i.i.i.i56 if.then.i.i.i.i56: ; preds = %invoke.cont21 - %_M_use_count.i.i.i.i.i = getelementptr inbounds i8, ptr %14, i64 8 - %15 = load atomic i64, ptr %_M_use_count.i.i.i.i.i acquire, align 8 - %cmp.i.i.i.i.i = icmp eq i64 %15, 4294967297 - %16 = trunc i64 %15 to i32 + %_M_use_count.i.i.i.i.i = getelementptr inbounds i8, ptr %15, i64 8 + %16 = load atomic i64, ptr %_M_use_count.i.i.i.i.i acquire, align 8 + %cmp.i.i.i.i.i = icmp eq i64 %16, 4294967297 + %17 = trunc i64 %16 to i32 br i1 %cmp.i.i.i.i.i, label %if.then.i.i.i.i.i, label %if.end.i.i.i.i.i if.then.i.i.i.i.i: ; preds = %if.then.i.i.i.i56 store i32 0, ptr %_M_use_count.i.i.i.i.i, align 8, !tbaa !76 - %_M_weak_count.i.i.i.i.i = getelementptr inbounds i8, ptr %14, i64 12 + %_M_weak_count.i.i.i.i.i = getelementptr inbounds i8, ptr %15, i64 12 store i32 0, ptr %_M_weak_count.i.i.i.i.i, align 4, !tbaa !78 - %vtable.i.i.i.i.i = load ptr, ptr %14, align 8, !tbaa !24 + %vtable.i.i.i.i.i = load ptr, ptr %15, align 8, !tbaa !24 %vfn.i.i.i.i.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i.i, i64 16 - %17 = load ptr, ptr %vfn.i.i.i.i.i, align 8 - call void %17(ptr noundef nonnull align 8 dereferenceable(16) %14) #26 - %vtable3.i.i.i.i.i = load ptr, ptr %14, align 8, !tbaa !24 + %18 = load ptr, ptr %vfn.i.i.i.i.i, align 8 + call void %18(ptr noundef nonnull align 8 dereferenceable(16) %15) #26 + %vtable3.i.i.i.i.i = load ptr, ptr %15, align 8, !tbaa !24 %vfn4.i.i.i.i.i = getelementptr inbounds i8, ptr %vtable3.i.i.i.i.i, i64 24 - %18 = load ptr, ptr %vfn4.i.i.i.i.i, align 8 - call void %18(ptr noundef nonnull align 8 dereferenceable(16) %14) #26 + %19 = load ptr, ptr %vfn4.i.i.i.i.i, align 8 + call void %19(ptr noundef nonnull align 8 dereferenceable(16) %15) #26 br label %_ZN6duckdb15SelectionVectorD2Ev.exit.i if.end.i.i.i.i.i: ; preds = %if.then.i.i.i.i56 - %19 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !11 - %tobool.i.not.i.i.i.i.i = icmp eq i8 %19, 0 + %20 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !11 + %tobool.i.not.i.i.i.i.i = icmp eq i8 %20, 0 br i1 %tobool.i.not.i.i.i.i.i, label %if.else.i.i.i.i.i.i, label %if.then.i.i.i.i.i.i if.then.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i - %add.i.i.i.i.i.i = add nsw i32 %16, -1 + %add.i.i.i.i.i.i = add nsw i32 %17, -1 store i32 %add.i.i.i.i.i.i, ptr %_M_use_count.i.i.i.i.i, align 4, !tbaa !63 br label %invoke.cont.i.i.i.i.i if.else.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i - %20 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i, i32 -1 acq_rel, align 4 + %21 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i.i, i32 -1 acq_rel, align 4 br label %invoke.cont.i.i.i.i.i invoke.cont.i.i.i.i.i: ; preds = %if.else.i.i.i.i.i.i, %if.then.i.i.i.i.i.i - %retval.0.i.i.i.i.i.i = phi i32 [ %16, %if.then.i.i.i.i.i.i ], [ %20, %if.else.i.i.i.i.i.i ] + %retval.0.i.i.i.i.i.i = phi i32 [ %17, %if.then.i.i.i.i.i.i ], [ %21, %if.else.i.i.i.i.i.i ] %cmp6.i.i.i.i.i = icmp eq i32 %retval.0.i.i.i.i.i.i, 1 br i1 %cmp6.i.i.i.i.i, label %if.then7.i.i.i.i.i, label %_ZN6duckdb15SelectionVectorD2Ev.exit.i, !prof !85 if.then7.i.i.i.i.i: ; preds = %invoke.cont.i.i.i.i.i - call void @_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv(ptr noundef nonnull align 8 dereferenceable(16) %14) #26 + call void @_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv(ptr noundef nonnull align 8 dereferenceable(16) %15) #26 br label %_ZN6duckdb15SelectionVectorD2Ev.exit.i _ZN6duckdb15SelectionVectorD2Ev.exit.i: ; preds = %if.then7.i.i.i.i.i, %invoke.cont.i.i.i.i.i, %if.then.i.i.i.i.i, %invoke.cont21 %_M_refcount.i.i2.i = getelementptr inbounds i8, ptr %vdata, i64 32 - %21 = load ptr, ptr %_M_refcount.i.i2.i, align 8, !tbaa !84 - %cmp.not.i.i.i3.i = icmp eq ptr %21, null + %22 = load ptr, ptr %_M_refcount.i.i2.i, align 8, !tbaa !84 + %cmp.not.i.i.i3.i = icmp eq ptr %22, null br i1 %cmp.not.i.i.i3.i, label %_ZN6duckdb19UnifiedVectorFormatD2Ev.exit, label %if.then.i.i.i4.i if.then.i.i.i4.i: ; preds = %_ZN6duckdb15SelectionVectorD2Ev.exit.i - %_M_use_count.i.i.i.i5.i = getelementptr inbounds i8, ptr %21, i64 8 - %22 = load atomic i64, ptr %_M_use_count.i.i.i.i5.i acquire, align 8 - %cmp.i.i.i.i6.i = icmp eq i64 %22, 4294967297 - %23 = trunc i64 %22 to i32 + %_M_use_count.i.i.i.i5.i = getelementptr inbounds i8, ptr %22, i64 8 + %23 = load atomic i64, ptr %_M_use_count.i.i.i.i5.i acquire, align 8 + %cmp.i.i.i.i6.i = icmp eq i64 %23, 4294967297 + %24 = trunc i64 %23 to i32 br i1 %cmp.i.i.i.i6.i, label %if.then.i.i.i.i16.i, label %if.end.i.i.i.i7.i if.then.i.i.i.i16.i: ; preds = %if.then.i.i.i4.i store i32 0, ptr %_M_use_count.i.i.i.i5.i, align 8, !tbaa !76 - %_M_weak_count.i.i.i.i17.i = getelementptr inbounds i8, ptr %21, i64 12 + %_M_weak_count.i.i.i.i17.i = getelementptr inbounds i8, ptr %22, i64 12 store i32 0, ptr %_M_weak_count.i.i.i.i17.i, align 4, !tbaa !78 - %vtable.i.i.i.i18.i = load ptr, ptr %21, align 8, !tbaa !24 + %vtable.i.i.i.i18.i = load ptr, ptr %22, align 8, !tbaa !24 %vfn.i.i.i.i19.i = getelementptr inbounds i8, ptr %vtable.i.i.i.i18.i, i64 16 - %24 = load ptr, ptr %vfn.i.i.i.i19.i, align 8 - call void %24(ptr noundef nonnull align 8 dereferenceable(16) %21) #26 - %vtable3.i.i.i.i20.i = load ptr, ptr %21, align 8, !tbaa !24 + %25 = load ptr, ptr %vfn.i.i.i.i19.i, align 8 + call void %25(ptr noundef nonnull align 8 dereferenceable(16) %22) #26 + %vtable3.i.i.i.i20.i = load ptr, ptr %22, align 8, !tbaa !24 %vfn4.i.i.i.i21.i = getelementptr inbounds i8, ptr %vtable3.i.i.i.i20.i, i64 24 - %25 = load ptr, ptr %vfn4.i.i.i.i21.i, align 8 - call void %25(ptr noundef nonnull align 8 dereferenceable(16) %21) #26 + %26 = load ptr, ptr %vfn4.i.i.i.i21.i, align 8 + call void %26(ptr noundef nonnull align 8 dereferenceable(16) %22) #26 br label %_ZN6duckdb19UnifiedVectorFormatD2Ev.exit if.end.i.i.i.i7.i: ; preds = %if.then.i.i.i4.i - %26 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !11 - %tobool.i.not.i.i.i.i8.i = icmp eq i8 %26, 0 + %27 = load i8, ptr @__libc_single_threaded, align 1, !tbaa !11 + %tobool.i.not.i.i.i.i8.i = icmp eq i8 %27, 0 br i1 %tobool.i.not.i.i.i.i8.i, label %if.else.i.i.i.i.i15.i, label %if.then.i.i.i.i.i9.i if.then.i.i.i.i.i9.i: ; preds = %if.end.i.i.i.i7.i - %add.i.i.i.i.i10.i = add nsw i32 %23, -1 + %add.i.i.i.i.i10.i = add nsw i32 %24, -1 store i32 %add.i.i.i.i.i10.i, ptr %_M_use_count.i.i.i.i5.i, align 4, !tbaa !63 br label %invoke.cont.i.i.i.i11.i if.else.i.i.i.i.i15.i: ; preds = %if.end.i.i.i.i7.i - %27 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i5.i, i32 -1 acq_rel, align 4 + %28 = atomicrmw volatile add ptr %_M_use_count.i.i.i.i5.i, i32 -1 acq_rel, align 4 br label %invoke.cont.i.i.i.i11.i invoke.cont.i.i.i.i11.i: ; preds = %if.else.i.i.i.i.i15.i, %if.then.i.i.i.i.i9.i - %retval.0.i.i.i.i.i12.i = phi i32 [ %23, %if.then.i.i.i.i.i9.i ], [ %27, %if.else.i.i.i.i.i15.i ] + %retval.0.i.i.i.i.i12.i = phi i32 [ %24, %if.then.i.i.i.i.i9.i ], [ %28, %if.else.i.i.i.i.i15.i ] %cmp6.i.i.i.i13.i = icmp eq i32 %retval.0.i.i.i.i.i12.i, 1 br i1 %cmp6.i.i.i.i13.i, label %if.then7.i.i.i.i14.i, label %_ZN6duckdb19UnifiedVectorFormatD2Ev.exit, !prof !85 if.then7.i.i.i.i14.i: ; preds = %invoke.cont.i.i.i.i11.i - call void @_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv(ptr noundef nonnull align 8 dereferenceable(16) %21) #26 + call void @_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv(ptr noundef nonnull align 8 dereferenceable(16) %22) #26 br label %_ZN6duckdb19UnifiedVectorFormatD2Ev.exit _ZN6duckdb19UnifiedVectorFormatD2Ev.exit: ; preds = %if.then7.i.i.i.i14.i, %invoke.cont.i.i.i.i11.i, %if.then.i.i.i.i16.i, %_ZN6duckdb15SelectionVectorD2Ev.exit.i @@ -172066,17 +172066,17 @@ _ZN6duckdb19UnifiedVectorFormatD2Ev.exit: ; preds = %if.then7.i.i.i.i14. br label %sw.epilog lpad: ; preds = %invoke.cont, %sw.default - %28 = landingpad { ptr, i32 } + %29 = landingpad { ptr, i32 } cleanup br label %ehcleanup lpad20: ; preds = %invoke.cont13 - %29 = landingpad { ptr, i32 } + %30 = landingpad { ptr, i32 } cleanup br label %ehcleanup ehcleanup: ; preds = %lpad20, %lpad - %.pn = phi { ptr, i32 } [ %29, %lpad20 ], [ %28, %lpad ] + %.pn = phi { ptr, i32 } [ %30, %lpad20 ], [ %29, %lpad ] call void @_ZN6duckdb19UnifiedVectorFormatD2Ev(ptr noundef nonnull align 8 dereferenceable(72) %vdata) #26 call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %vdata) #26 resume { ptr, i32 } %.pn @@ -172257,30 +172257,30 @@ if.then.i.i.i.i101: ; preds = %if.then.i.i if.else.i.i.i.i: ; preds = %if.then.i.i %yyyy.nonneg.i.i.i.i = sub i32 0, %call.i.i.i.i.i %div15.i4.i.i.i = udiv i32 %yyyy.nonneg.i.i.i.i, 1000 - %div15.i.zext.i.i.i = zext nneg i32 %div15.i4.i.i.i to i64 - %sub2.i.i.i.i = xor i64 %div15.i.zext.i.i.i, -1 + %17 = xor i32 %div15.i4.i.i.i, -1 + %sub2.i.i.i.i = sext i32 %17 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit if.else.i.i: ; preds = %for.body10 - %17 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i = icmp eq ptr %17, null + %18 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i = icmp eq ptr %18, null br i1 %tobool.not.i.i.i, label %if.then.i.i.i, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i if.then.i.i.i: ; preds = %if.else.i.i - %18 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %18) + %19 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %19) %.pre.i.i.i = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i: ; preds = %if.then.i.i.i, %if.else.i.i - %19 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %17, %if.else.i.i ] + %20 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %18, %if.else.i.i ] %div2.i.i.i.i.i = lshr i64 %base_idx.1168, 6 %rem.i.i.i.i.i = and i64 %base_idx.1168, 63 %shl.i.i.i.i.i = shl nuw i64 1, %rem.i.i.i.i.i %not.i.i.i.i.i = xor i64 %shl.i.i.i.i.i, -1 - %arrayidx.i.i.i.i.i = getelementptr inbounds i64, ptr %19, i64 %div2.i.i.i.i.i - %20 = load i64, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 - %and.i.i.i.i.i = and i64 %20, %not.i.i.i.i.i + %arrayidx.i.i.i.i.i = getelementptr inbounds i64, ptr %20, i64 %div2.i.i.i.i.i + %21 = load i64, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 + %and.i.i.i.i.i = and i64 %21, %not.i.i.i.i.i store i64 %and.i.i.i.i.i, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit @@ -172322,30 +172322,30 @@ if.then.i.i.i.i126: ; preds = %if.then.i.i117 if.else.i.i.i.i121: ; preds = %if.then.i.i117 %yyyy.nonneg.i.i.i.i122 = sub i32 0, %call.i.i.i.i.i119 %div15.i4.i.i.i123 = udiv i32 %yyyy.nonneg.i.i.i.i122, 1000 - %div15.i.zext.i.i.i124 = zext nneg i32 %div15.i4.i.i.i123 to i64 - %sub2.i.i.i.i125 = xor i64 %div15.i.zext.i.i.i124, -1 + %22 = xor i32 %div15.i4.i.i.i123, -1 + %sub2.i.i.i.i125 = sext i32 %22 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit131 if.else.i.i104: ; preds = %if.then21 - %21 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i105 = icmp eq ptr %21, null + %23 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i105 = icmp eq ptr %23, null br i1 %tobool.not.i.i.i105, label %if.then.i.i.i114, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i106 if.then.i.i.i114: ; preds = %if.else.i.i104 - %22 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %22) + %24 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %24) %.pre.i.i.i116 = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i106 _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i106: ; preds = %if.then.i.i.i114, %if.else.i.i104 - %23 = phi ptr [ %.pre.i.i.i116, %if.then.i.i.i114 ], [ %21, %if.else.i.i104 ] + %25 = phi ptr [ %.pre.i.i.i116, %if.then.i.i.i114 ], [ %23, %if.else.i.i104 ] %div2.i.i.i.i.i107 = lshr i64 %base_idx.2170, 6 %rem.i.i.i.i.i108 = and i64 %base_idx.2170, 63 %shl.i.i.i.i.i109 = shl nuw i64 1, %rem.i.i.i.i.i108 %not.i.i.i.i.i110 = xor i64 %shl.i.i.i.i.i109, -1 - %arrayidx.i.i.i.i.i111 = getelementptr inbounds i64, ptr %23, i64 %div2.i.i.i.i.i107 - %24 = load i64, ptr %arrayidx.i.i.i.i.i111, align 8, !tbaa !59 - %and.i.i.i.i.i112 = and i64 %24, %not.i.i.i.i.i110 + %arrayidx.i.i.i.i.i111 = getelementptr inbounds i64, ptr %25, i64 %div2.i.i.i.i.i107 + %26 = load i64, ptr %arrayidx.i.i.i.i.i111, align 8, !tbaa !59 + %and.i.i.i.i.i112 = and i64 %26, %not.i.i.i.i.i110 store i64 %and.i.i.i.i.i112, ptr %arrayidx.i.i.i.i.i111, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit131 @@ -172367,15 +172367,15 @@ cleanup: ; preds = %for.inc28, %_ZN6duc br i1 %exitcond180.not, label %if.end55, label %for.body, !llvm.loop !2634 if.else38: ; preds = %entry - %25 = load ptr, ptr %result_mask, align 8 - %tobool.not.i132 = icmp eq ptr %25, null + %27 = load ptr, ptr %result_mask, align 8 + %tobool.not.i132 = icmp eq ptr %27, null %or.cond = select i1 %adds_nulls, i1 %tobool.not.i132, i1 false br i1 %or.cond, label %if.then.i, label %if.end41 if.then.i: ; preds = %if.else38 %target_count.i.i = getelementptr inbounds i8, ptr %result_mask, i64 24 - %26 = load i64, ptr %target_count.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %26) + %28 = load i64, ptr %target_count.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %28) br label %if.end41 if.end41: ; preds = %if.then.i, %if.else38 @@ -172409,30 +172409,30 @@ if.then.i.i.i.i157: ; preds = %if.then.i.i148 if.else.i.i.i.i152: ; preds = %if.then.i.i148 %yyyy.nonneg.i.i.i.i153 = sub i32 0, %call.i.i.i.i.i150 %div15.i4.i.i.i154 = udiv i32 %yyyy.nonneg.i.i.i.i153, 1000 - %div15.i.zext.i.i.i155 = zext nneg i32 %div15.i4.i.i.i154 to i64 - %sub2.i.i.i.i156 = xor i64 %div15.i.zext.i.i.i155, -1 + %29 = xor i32 %div15.i4.i.i.i154, -1 + %sub2.i.i.i.i156 = sext i32 %29 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit162 if.else.i.i135: ; preds = %for.body45 - %27 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i136 = icmp eq ptr %27, null + %30 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i136 = icmp eq ptr %30, null br i1 %tobool.not.i.i.i136, label %if.then.i.i.i145, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i137 if.then.i.i.i145: ; preds = %if.else.i.i135 - %28 = load i64, ptr %target_count.i.i.i146, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %28) + %31 = load i64, ptr %target_count.i.i.i146, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %31) %.pre.i.i.i147 = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i137 _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i137: ; preds = %if.then.i.i.i145, %if.else.i.i135 - %29 = phi ptr [ %.pre.i.i.i147, %if.then.i.i.i145 ], [ %27, %if.else.i.i135 ] + %32 = phi ptr [ %.pre.i.i.i147, %if.then.i.i.i145 ], [ %30, %if.else.i.i135 ] %div2.i.i.i.i.i138 = lshr i64 %i.0176, 6 %rem.i.i.i.i.i139 = and i64 %i.0176, 63 %shl.i.i.i.i.i140 = shl nuw i64 1, %rem.i.i.i.i.i139 %not.i.i.i.i.i141 = xor i64 %shl.i.i.i.i.i140, -1 - %arrayidx.i.i.i.i.i142 = getelementptr inbounds i64, ptr %29, i64 %div2.i.i.i.i.i138 - %30 = load i64, ptr %arrayidx.i.i.i.i.i142, align 8, !tbaa !59 - %and.i.i.i.i.i143 = and i64 %30, %not.i.i.i.i.i141 + %arrayidx.i.i.i.i.i142 = getelementptr inbounds i64, ptr %32, i64 %div2.i.i.i.i.i138 + %33 = load i64, ptr %arrayidx.i.i.i.i.i142, align 8, !tbaa !59 + %and.i.i.i.i.i143 = and i64 %33, %not.i.i.i.i.i141 store i64 %and.i.i.i.i.i143, ptr %arrayidx.i.i.i.i.i142, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit162 @@ -172528,30 +172528,30 @@ if.then.i.i.i.i: ; preds = %if.then.i.i if.else.i.i.i.i: ; preds = %if.then.i.i %yyyy.nonneg.i.i.i.i = sub i32 0, %call.i.i.i.i.i %div15.i4.i.i.i = udiv i32 %yyyy.nonneg.i.i.i.i, 1000 - %div15.i.zext.i.i.i = zext nneg i32 %div15.i4.i.i.i to i64 - %sub2.i.i.i.i = xor i64 %div15.i.zext.i.i.i, -1 + %7 = xor i32 %div15.i4.i.i.i, -1 + %sub2.i.i.i.i = sext i32 %7 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit if.else.i.i: ; preds = %if.then3 - %7 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i = icmp eq ptr %7, null + %8 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i = icmp eq ptr %8, null br i1 %tobool.not.i.i.i, label %if.then.i.i.i, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i if.then.i.i.i: ; preds = %if.else.i.i - %8 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %8) + %9 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %9) %.pre.i.i.i = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i: ; preds = %if.then.i.i.i, %if.else.i.i - %9 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %7, %if.else.i.i ] + %10 = phi ptr [ %.pre.i.i.i, %if.then.i.i.i ], [ %8, %if.else.i.i ] %div2.i.i.i.i.i = lshr i64 %i.092, 6 %rem.i.i.i.i.i = and i64 %i.092, 63 %shl.i.i.i.i.i = shl nuw i64 1, %rem.i.i.i.i.i %not.i.i.i.i.i = xor i64 %shl.i.i.i.i.i, -1 - %arrayidx.i.i.i.i.i = getelementptr inbounds i64, ptr %9, i64 %div2.i.i.i.i.i - %10 = load i64, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 - %and.i.i.i.i.i = and i64 %10, %not.i.i.i.i.i + %arrayidx.i.i.i.i.i = getelementptr inbounds i64, ptr %10, i64 %div2.i.i.i.i.i + %11 = load i64, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 + %and.i.i.i.i.i = and i64 %11, %not.i.i.i.i.i store i64 %and.i.i.i.i.i, ptr %arrayidx.i.i.i.i.i, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit @@ -172562,25 +172562,25 @@ _ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18Mille br label %if.end if.else: ; preds = %_ZNK6duckdb21TemplatedValidityMaskImE16RowIsValidUnsafeEm.exit - %11 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i48 = icmp eq ptr %11, null + %12 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i48 = icmp eq ptr %12, null br i1 %tobool.not.i48, label %if.then.i50, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit if.then.i50: ; preds = %if.else - %12 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %12) + %13 = load i64, ptr %target_count.i.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %13) %.pre.i = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit: ; preds = %if.then.i50, %if.else - %13 = phi ptr [ %.pre.i, %if.then.i50 ], [ %11, %if.else ] + %14 = phi ptr [ %.pre.i, %if.then.i50 ], [ %12, %if.else ] %div2.i.i.i = lshr i64 %i.092, 6 %rem.i.i.i = and i64 %i.092, 63 %shl.i.i.i = shl nuw i64 1, %rem.i.i.i %not.i.i.i = xor i64 %shl.i.i.i, -1 - %arrayidx.i.i.i49 = getelementptr inbounds i64, ptr %13, i64 %div2.i.i.i - %14 = load i64, ptr %arrayidx.i.i.i49, align 8, !tbaa !59 - %and.i.i.i = and i64 %14, %not.i.i.i + %arrayidx.i.i.i49 = getelementptr inbounds i64, ptr %14, i64 %div2.i.i.i + %15 = load i64, ptr %arrayidx.i.i.i49, align 8, !tbaa !59 + %and.i.i.i = and i64 %15, %not.i.i.i store i64 %and.i.i.i, ptr %arrayidx.i.i.i49, align 8, !tbaa !59 br label %if.end @@ -172595,8 +172595,8 @@ if.else6: ; preds = %entry if.then.i52: ; preds = %if.else6 %target_count.i.i53 = getelementptr inbounds i8, ptr %result_mask, i64 24 - %15 = load i64, ptr %target_count.i.i53, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %15) + %16 = load i64, ptr %target_count.i.i53, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %16) br label %if.end8 if.end8: ; preds = %if.then.i52, %if.else6 @@ -172604,8 +172604,8 @@ if.end8: ; preds = %if.then.i52, %if.el br i1 %cmp1193.not, label %if.end24, label %for.body13.lr.ph for.body13.lr.ph: ; preds = %if.end8 - %16 = load ptr, ptr %sel_vector, align 8, !tbaa !105 - %tobool.not.i55 = icmp eq ptr %16, null + %17 = load ptr, ptr %sel_vector, align 8, !tbaa !105 + %tobool.not.i55 = icmp eq ptr %17, null %target_count.i.i.i73 = getelementptr inbounds i8, ptr %result_mask, i64 24 br i1 %tobool.not.i55, label %for.body13.us, label %for.body13 @@ -172617,25 +172617,25 @@ for.body13.us: ; preds = %for.body13.lr.ph, % br i1 %call.i.i61.us, label %if.then.i.i75.us, label %if.else.i.i62.us if.else.i.i62.us: ; preds = %for.body13.us - %17 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i63.us = icmp eq ptr %17, null + %18 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i63.us = icmp eq ptr %18, null br i1 %tobool.not.i.i.i63.us, label %if.then.i.i.i72.us, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64.us if.then.i.i.i72.us: ; preds = %if.else.i.i62.us - %18 = load i64, ptr %target_count.i.i.i73, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %18) + %19 = load i64, ptr %target_count.i.i.i73, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %19) %.pre.i.i.i74.us = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64.us _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64.us: ; preds = %if.then.i.i.i72.us, %if.else.i.i62.us - %19 = phi ptr [ %.pre.i.i.i74.us, %if.then.i.i.i72.us ], [ %17, %if.else.i.i62.us ] + %20 = phi ptr [ %.pre.i.i.i74.us, %if.then.i.i.i72.us ], [ %18, %if.else.i.i62.us ] %div2.i.i.i.i.i65.us = lshr i64 %i9.094.us, 6 %rem.i.i.i.i.i66.us = and i64 %i9.094.us, 63 %shl.i.i.i.i.i67.us = shl nuw i64 1, %rem.i.i.i.i.i66.us %not.i.i.i.i.i68.us = xor i64 %shl.i.i.i.i.i67.us, -1 - %arrayidx.i.i.i.i.i69.us = getelementptr inbounds i64, ptr %19, i64 %div2.i.i.i.i.i65.us - %20 = load i64, ptr %arrayidx.i.i.i.i.i69.us, align 8, !tbaa !59 - %and.i.i.i.i.i70.us = and i64 %20, %not.i.i.i.i.i68.us + %arrayidx.i.i.i.i.i69.us = getelementptr inbounds i64, ptr %20, i64 %div2.i.i.i.i.i65.us + %21 = load i64, ptr %arrayidx.i.i.i.i.i69.us, align 8, !tbaa !59 + %and.i.i.i.i.i70.us = and i64 %21, %not.i.i.i.i.i68.us store i64 %and.i.i.i.i.i70.us, ptr %arrayidx.i.i.i.i.i69.us, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit89.us @@ -172648,8 +172648,8 @@ if.then.i.i75.us: ; preds = %for.body13.us if.else.i.i.i.i79.us: ; preds = %if.then.i.i75.us %yyyy.nonneg.i.i.i.i80.us = sub i32 0, %call.i.i.i.i.i77.us %div15.i4.i.i.i81.us = udiv i32 %yyyy.nonneg.i.i.i.i80.us, 1000 - %div15.i.zext.i.i.i82.us = zext nneg i32 %div15.i4.i.i.i81.us to i64 - %sub2.i.i.i.i83.us = xor i64 %div15.i.zext.i.i.i82.us, -1 + %22 = xor i32 %div15.i4.i.i.i81.us, -1 + %sub2.i.i.i.i83.us = sext i32 %22 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit89.us if.then.i.i.i.i84.us: ; preds = %if.then.i.i75.us @@ -172669,9 +172669,9 @@ _ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18Mille for.body13: ; preds = %for.body13.lr.ph, %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit89 %i9.094 = phi i64 [ %inc22, %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit89 ], [ 0, %for.body13.lr.ph ] - %arrayidx.i57 = getelementptr inbounds i32, ptr %16, i64 %i9.094 - %21 = load i32, ptr %arrayidx.i57, align 4, !tbaa !63 - %conv.i58 = zext i32 %21 to i64 + %arrayidx.i57 = getelementptr inbounds i32, ptr %17, i64 %i9.094 + %23 = load i32, ptr %arrayidx.i57, align 4, !tbaa !63 + %conv.i58 = zext i32 %23 to i64 %arrayidx17 = getelementptr inbounds %"struct.duckdb::timestamp_t", ptr %ldata, i64 %conv.i58 %agg.tmp16.sroa.0.0.copyload = load i64, ptr %arrayidx17, align 8, !tbaa.struct !60 %call.i.i61 = tail call noundef zeroext i1 @_ZN6duckdb5Value8IsFiniteINS_11timestamp_tEEEbT_(i64 %agg.tmp16.sroa.0.0.copyload) @@ -172693,30 +172693,30 @@ if.then.i.i.i.i84: ; preds = %if.then.i.i75 if.else.i.i.i.i79: ; preds = %if.then.i.i75 %yyyy.nonneg.i.i.i.i80 = sub i32 0, %call.i.i.i.i.i77 %div15.i4.i.i.i81 = udiv i32 %yyyy.nonneg.i.i.i.i80, 1000 - %div15.i.zext.i.i.i82 = zext nneg i32 %div15.i4.i.i.i81 to i64 - %sub2.i.i.i.i83 = xor i64 %div15.i.zext.i.i.i82, -1 + %24 = xor i32 %div15.i4.i.i.i81, -1 + %sub2.i.i.i.i83 = sext i32 %24 to i64 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit89 if.else.i.i62: ; preds = %for.body13 - %22 = load ptr, ptr %result_mask, align 8, !tbaa !58 - %tobool.not.i.i.i63 = icmp eq ptr %22, null + %25 = load ptr, ptr %result_mask, align 8, !tbaa !58 + %tobool.not.i.i.i63 = icmp eq ptr %25, null br i1 %tobool.not.i.i.i63, label %if.then.i.i.i72, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64 if.then.i.i.i72: ; preds = %if.else.i.i62 - %23 = load i64, ptr %target_count.i.i.i73, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %23) + %26 = load i64, ptr %target_count.i.i.i73, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %result_mask, i64 noundef %26) %.pre.i.i.i74 = load ptr, ptr %result_mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64 _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i.i64: ; preds = %if.then.i.i.i72, %if.else.i.i62 - %24 = phi ptr [ %.pre.i.i.i74, %if.then.i.i.i72 ], [ %22, %if.else.i.i62 ] + %27 = phi ptr [ %.pre.i.i.i74, %if.then.i.i.i72 ], [ %25, %if.else.i.i62 ] %div2.i.i.i.i.i65 = lshr i64 %i9.094, 6 %rem.i.i.i.i.i66 = and i64 %i9.094, 63 %shl.i.i.i.i.i67 = shl nuw i64 1, %rem.i.i.i.i.i66 %not.i.i.i.i.i68 = xor i64 %shl.i.i.i.i.i67, -1 - %arrayidx.i.i.i.i.i69 = getelementptr inbounds i64, ptr %24, i64 %div2.i.i.i.i.i65 - %25 = load i64, ptr %arrayidx.i.i.i.i.i69, align 8, !tbaa !59 - %and.i.i.i.i.i70 = and i64 %25, %not.i.i.i.i.i68 + %arrayidx.i.i.i.i.i69 = getelementptr inbounds i64, ptr %27, i64 %div2.i.i.i.i.i65 + %28 = load i64, ptr %arrayidx.i.i.i.i.i69, align 8, !tbaa !59 + %and.i.i.i.i.i70 = and i64 %28, %not.i.i.i.i.i68 store i64 %and.i.i.i.i.i70, ptr %arrayidx.i.i.i.i.i69, align 8, !tbaa !59 br label %_ZN6duckdb19GenericUnaryWrapper9OperationINS_8DatePart12PartOperatorINS2_18MillenniumOperatorEEENS_11timestamp_tElEET1_T0_RNS_12ValidityMaskEmPv.exit89 @@ -173610,8 +173610,8 @@ if.then.i.i: ; preds = %if.end14 if.else.i.i: ; preds = %if.end14 %yyyy.nonneg.i.i = sub i32 0, %call.i.i %div15.i4.i = udiv i32 %yyyy.nonneg.i.i, 1000 - %div15.i.zext.i = zext nneg i32 %div15.i4.i to i64 - %sub2.i.i = xor i64 %div15.i.zext.i, -1 + %2 = xor i32 %div15.i4.i, -1 + %sub2.i.i = sext i32 %2 to i64 br label %_ZN6duckdb8DatePart18MillenniumOperator9OperationINS_6date_tElEET0_T_.exit _ZN6duckdb8DatePart18MillenniumOperator9OperationINS_6date_tElEET0_T_.exit: ; preds = %if.else.i.i, %if.then.i.i @@ -173630,8 +173630,8 @@ if.then.i.i68: ; preds = %_ZN6duckdb8DatePart if.else.i.i62: ; preds = %_ZN6duckdb8DatePart18MillenniumOperator9OperationINS_6date_tElEET0_T_.exit %yyyy.nonneg.i.i63 = sub i32 0, %call.i.i60 %div15.i4.i64 = udiv i32 %yyyy.nonneg.i.i63, 1000 - %div15.i.zext.i65 = zext nneg i32 %div15.i4.i64 to i64 - %sub2.i.i66 = xor i64 %div15.i.zext.i65, -1 + %3 = xor i32 %div15.i4.i64, -1 + %sub2.i.i66 = sext i32 %3 to i64 br label %_ZN6duckdb8DatePart18MillenniumOperator9OperationINS_6date_tElEET0_T_.exit73 _ZN6duckdb8DatePart18MillenniumOperator9OperationINS_6date_tElEET0_T_.exit73: ; preds = %if.else.i.i62, %if.then.i.i68 @@ -173682,55 +173682,55 @@ invoke.cont37: ; preds = %invoke.cont36 br label %cleanup45 lpad: ; preds = %_ZN6duckdb8DatePart18MillenniumOperator9OperationINS_6date_tElEET0_T_.exit73 - %2 = landingpad { ptr, i32 } + %4 = landingpad { ptr, i32 } cleanup call void @_ZN6duckdb11LogicalTypeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp21) #26 br label %ehcleanup39 lpad22: ; preds = %invoke.cont - %3 = landingpad { ptr, i32 } + %5 = landingpad { ptr, i32 } cleanup br label %ehcleanup lpad24: ; preds = %invoke.cont23 - %4 = landingpad { ptr, i32 } + %6 = landingpad { ptr, i32 } cleanup call void @_ZN6duckdb5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(64) %ref.tmp) #26 br label %ehcleanup ehcleanup: ; preds = %lpad24, %lpad22 - %.pn = phi { ptr, i32 } [ %4, %lpad24 ], [ %3, %lpad22 ] + %.pn = phi { ptr, i32 } [ %6, %lpad24 ], [ %5, %lpad22 ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %ref.tmp) #26 br label %ehcleanup38 lpad27: ; preds = %invoke.cont25 - %5 = landingpad { ptr, i32 } + %7 = landingpad { ptr, i32 } cleanup br label %ehcleanup32 lpad29: ; preds = %invoke.cont28 - %6 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } cleanup call void @_ZN6duckdb5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(64) %ref.tmp26) #26 br label %ehcleanup32 ehcleanup32: ; preds = %lpad29, %lpad27 - %.pn52 = phi { ptr, i32 } [ %6, %lpad29 ], [ %5, %lpad27 ] + %.pn52 = phi { ptr, i32 } [ %8, %lpad29 ], [ %7, %lpad27 ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %ref.tmp26) #26 br label %ehcleanup38 lpad33: ; preds = %invoke.cont36, %invoke.cont34, %invoke.cont30 - %7 = landingpad { ptr, i32 } + %9 = landingpad { ptr, i32 } cleanup br label %ehcleanup38 ehcleanup38: ; preds = %lpad33, %ehcleanup32, %ehcleanup - %.pn54 = phi { ptr, i32 } [ %7, %lpad33 ], [ %.pn52, %ehcleanup32 ], [ %.pn, %ehcleanup ] + %.pn54 = phi { ptr, i32 } [ %9, %lpad33 ], [ %.pn52, %ehcleanup32 ], [ %.pn, %ehcleanup ] call void @_ZN6duckdb14BaseStatisticsD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %result) #26 br label %ehcleanup39 ehcleanup39: ; preds = %ehcleanup38, %lpad - %.pn54.pn = phi { ptr, i32 } [ %.pn54, %ehcleanup38 ], [ %2, %lpad ] + %.pn54.pn = phi { ptr, i32 } [ %.pn54, %ehcleanup38 ], [ %4, %lpad ] call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %result) #26 br label %common.resume @@ -173825,8 +173825,8 @@ if.then.i.i: ; preds = %if.end14 if.else.i.i: ; preds = %if.end14 %yyyy.nonneg.i.i = sub i32 0, %call.i.i.i %div15.i4.i = udiv i32 %yyyy.nonneg.i.i, 1000 - %div15.i.zext.i = zext nneg i32 %div15.i4.i to i64 - %sub2.i.i = xor i64 %div15.i.zext.i, -1 + %2 = xor i32 %div15.i4.i, -1 + %sub2.i.i = sext i32 %2 to i64 br label %_ZN6duckdb8DatePart18MillenniumOperator9OperationINS_11timestamp_tElEET0_T_.exit _ZN6duckdb8DatePart18MillenniumOperator9OperationINS_11timestamp_tElEET0_T_.exit: ; preds = %if.else.i.i, %if.then.i.i @@ -173846,8 +173846,8 @@ if.then.i.i69: ; preds = %_ZN6duckdb8DatePart if.else.i.i63: ; preds = %_ZN6duckdb8DatePart18MillenniumOperator9OperationINS_11timestamp_tElEET0_T_.exit %yyyy.nonneg.i.i64 = sub i32 0, %call.i.i.i61 %div15.i4.i65 = udiv i32 %yyyy.nonneg.i.i64, 1000 - %div15.i.zext.i66 = zext nneg i32 %div15.i4.i65 to i64 - %sub2.i.i67 = xor i64 %div15.i.zext.i66, -1 + %3 = xor i32 %div15.i4.i65, -1 + %sub2.i.i67 = sext i32 %3 to i64 br label %_ZN6duckdb8DatePart18MillenniumOperator9OperationINS_11timestamp_tElEET0_T_.exit74 _ZN6duckdb8DatePart18MillenniumOperator9OperationINS_11timestamp_tElEET0_T_.exit74: ; preds = %if.else.i.i63, %if.then.i.i69 @@ -173898,55 +173898,55 @@ invoke.cont37: ; preds = %invoke.cont36 br label %cleanup45 lpad: ; preds = %_ZN6duckdb8DatePart18MillenniumOperator9OperationINS_11timestamp_tElEET0_T_.exit74 - %2 = landingpad { ptr, i32 } + %4 = landingpad { ptr, i32 } cleanup call void @_ZN6duckdb11LogicalTypeD1Ev(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp21) #26 br label %ehcleanup39 lpad22: ; preds = %invoke.cont - %3 = landingpad { ptr, i32 } + %5 = landingpad { ptr, i32 } cleanup br label %ehcleanup lpad24: ; preds = %invoke.cont23 - %4 = landingpad { ptr, i32 } + %6 = landingpad { ptr, i32 } cleanup call void @_ZN6duckdb5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(64) %ref.tmp) #26 br label %ehcleanup ehcleanup: ; preds = %lpad24, %lpad22 - %.pn = phi { ptr, i32 } [ %4, %lpad24 ], [ %3, %lpad22 ] + %.pn = phi { ptr, i32 } [ %6, %lpad24 ], [ %5, %lpad22 ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %ref.tmp) #26 br label %ehcleanup38 lpad27: ; preds = %invoke.cont25 - %5 = landingpad { ptr, i32 } + %7 = landingpad { ptr, i32 } cleanup br label %ehcleanup32 lpad29: ; preds = %invoke.cont28 - %6 = landingpad { ptr, i32 } + %8 = landingpad { ptr, i32 } cleanup call void @_ZN6duckdb5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(64) %ref.tmp26) #26 br label %ehcleanup32 ehcleanup32: ; preds = %lpad29, %lpad27 - %.pn52 = phi { ptr, i32 } [ %6, %lpad29 ], [ %5, %lpad27 ] + %.pn52 = phi { ptr, i32 } [ %8, %lpad29 ], [ %7, %lpad27 ] call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %ref.tmp26) #26 br label %ehcleanup38 lpad33: ; preds = %invoke.cont36, %invoke.cont34, %invoke.cont30 - %7 = landingpad { ptr, i32 } + %9 = landingpad { ptr, i32 } cleanup br label %ehcleanup38 ehcleanup38: ; preds = %lpad33, %ehcleanup32, %ehcleanup - %.pn54 = phi { ptr, i32 } [ %7, %lpad33 ], [ %.pn52, %ehcleanup32 ], [ %.pn, %ehcleanup ] + %.pn54 = phi { ptr, i32 } [ %9, %lpad33 ], [ %.pn52, %ehcleanup32 ], [ %.pn, %ehcleanup ] call void @_ZN6duckdb14BaseStatisticsD1Ev(ptr noundef nonnull align 8 dereferenceable(88) %result) #26 br label %ehcleanup39 ehcleanup39: ; preds = %ehcleanup38, %lpad - %.pn54.pn = phi { ptr, i32 } [ %.pn54, %ehcleanup38 ], [ %2, %lpad ] + %.pn54.pn = phi { ptr, i32 } [ %.pn54, %ehcleanup38 ], [ %4, %lpad ] call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %result) #26 br label %common.resume @@ -228385,8 +228385,8 @@ if.then.i.i.i11.i: ; preds = %call.i.i109.i.noexc if.else.i.i.i.i: ; preds = %call.i.i109.i.noexc.i %yyyy.nonneg.i.i.i.i = sub i32 0, %call.i.i109.i17.i %div15.i4.i.i.i = udiv i32 %yyyy.nonneg.i.i.i.i, 100 - %div15.i.zext.i.i.i = zext nneg i32 %div15.i4.i.i.i to i64 - %sub2.i.i.i.i = xor i64 %div15.i.zext.i.i.i, -1 + %8 = xor i32 %div15.i4.i.i.i, -1 + %sub2.i.i.i.i = sext i32 %8 to i64 br label %invoke.cont6.i sw.bb18.i.i: ; preds = %invoke.cont.i @@ -228407,8 +228407,8 @@ if.then.i.i119.i.i: ; preds = %call.i.i111.i.noexc if.else.i.i113.i.i: ; preds = %call.i.i111.i.noexc.i %yyyy.nonneg.i.i114.i.i = sub i32 0, %call.i.i111.i18.i %div15.i4.i115.i.i = udiv i32 %yyyy.nonneg.i.i114.i.i, 1000 - %div15.i.zext.i116.i.i = zext nneg i32 %div15.i4.i115.i.i to i64 - %sub2.i.i117.i.i = xor i64 %div15.i.zext.i116.i.i, -1 + %9 = xor i32 %div15.i4.i115.i.i, -1 + %sub2.i.i117.i.i = sext i32 %9 to i64 br label %invoke.cont6.i sw.bb22.i.i: ; preds = %invoke.cont.i @@ -228470,12 +228470,12 @@ sw.bb46.i.i: ; preds = %invoke.cont.i to label %.noexc.i unwind label %lpad.i .noexc.i: ; preds = %sw.bb46.i.i - %8 = load i32, ptr %yyyy.i.i.i, align 4, !tbaa !63 - %9 = load i32, ptr %ww.i.i.i, align 4, !tbaa !63 - %mul.i.i.i.i = mul nsw i32 %8, 100 - %cmp.i.i138.i.i = icmp sgt i32 %8, 0 - %sub.i.i139.i.i = sub nsw i32 0, %9 - %cond.i.i.i.i = select i1 %cmp.i.i138.i.i, i32 %9, i32 %sub.i.i139.i.i + %10 = load i32, ptr %yyyy.i.i.i, align 4, !tbaa !63 + %11 = load i32, ptr %ww.i.i.i, align 4, !tbaa !63 + %mul.i.i.i.i = mul nsw i32 %10, 100 + %cmp.i.i138.i.i = icmp sgt i32 %10, 0 + %sub.i.i139.i.i = sub nsw i32 0, %11 + %cond.i.i.i.i = select i1 %cmp.i.i138.i.i, i32 %11, i32 %sub.i.i139.i.i %add.i.i140.i.i = add nsw i32 %cond.i.i.i.i, %mul.i.i.i.i %conv.i141.i.i = sext i32 %add.i.i140.i.i to i64 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ww.i.i.i) #26 @@ -228514,7 +228514,7 @@ invoke.cont80.i.i: ; preds = %invoke.cont.i.i to label %unreachable.i.i unwind label %lpad79.i.i ehcleanup.thread.i.i: ; preds = %sw.default.i.i - %10 = landingpad { ptr, i32 } + %12 = landingpad { ptr, i32 } cleanup call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp78.i.i) #26 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i.i) #26 @@ -228522,30 +228522,30 @@ ehcleanup.thread.i.i: ; preds = %sw.default.i.i lpad79.i.i: ; preds = %invoke.cont80.i.i, %invoke.cont.i.i %cleanup.isactive.0.i.i = phi i1 [ false, %invoke.cont80.i.i ], [ true, %invoke.cont.i.i ] - %11 = landingpad { ptr, i32 } + %13 = landingpad { ptr, i32 } cleanup - %12 = load ptr, ptr %ref.tmp.i.i, align 8, !tbaa !12 - %13 = getelementptr inbounds i8, ptr %ref.tmp.i.i, i64 16 - %cmp.i.i.i.i.i = icmp eq ptr %12, %13 + %14 = load ptr, ptr %ref.tmp.i.i, align 8, !tbaa !12 + %15 = getelementptr inbounds i8, ptr %ref.tmp.i.i, i64 16 + %cmp.i.i.i.i.i = icmp eq ptr %14, %15 br i1 %cmp.i.i.i.i.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i, label %ehcleanup.i.i _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i: ; preds = %lpad79.i.i %_M_string_length.i.i.i.i.i = getelementptr inbounds i8, ptr %ref.tmp.i.i, i64 8 - %14 = load i64, ptr %_M_string_length.i.i.i.i.i, align 8, !tbaa !8 - %cmp3.i.i.i.i.i = icmp ult i64 %14, 16 + %16 = load i64, ptr %_M_string_length.i.i.i.i.i, align 8, !tbaa !8 + %cmp3.i.i.i.i.i = icmp ult i64 %16, 16 call void @llvm.assume(i1 %cmp3.i.i.i.i.i) call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp78.i.i) #26 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i.i) #26 br i1 %cleanup.isactive.0.i.i, label %cleanup.action.i.i, label %lpad.body.i ehcleanup.i.i: ; preds = %lpad79.i.i - call void @_ZdlPv(ptr noundef %12) #25 + call void @_ZdlPv(ptr noundef %14) #25 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp78.i.i) #26 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i.i) #26 br i1 %cleanup.isactive.0.i.i, label %cleanup.action.i.i, label %lpad.body.i cleanup.action.i.i: ; preds = %ehcleanup.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i, %ehcleanup.thread.i.i - %.pn149.i.i = phi { ptr, i32 } [ %10, %ehcleanup.thread.i.i ], [ %11, %ehcleanup.i.i ], [ %11, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i ] + %.pn149.i.i = phi { ptr, i32 } [ %12, %ehcleanup.thread.i.i ], [ %13, %ehcleanup.i.i ], [ %13, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i ] call void @__cxa_free_exception(ptr %exception.i.i) #26 br label %lpad.body.i @@ -228554,18 +228554,18 @@ unreachable.i.i: ; preds = %invoke.cont80.i.i invoke.cont6.i: ; preds = %call.i142.i.noexc.i, %.noexc.i, %call.i136.i.noexc.i, %call.i134.i.noexc.i, %call.i132.i.noexc.i, %call.i130.i.noexc.i, %call.i128.i.noexc.i, %call.i124.i.noexc.i, %if.else.i.i113.i.i, %if.then.i.i119.i.i, %if.else.i.i.i.i, %if.then.i.i.i11.i, %call.i.i.i.noexc.i, %call.i107.i.noexc.i, %call.i105.i.noexc.i, %call.i.i.noexc.i, %invoke.cont.i, %invoke.cont.i, %invoke.cont.i, %invoke.cont.i, %invoke.cont.i %retval.0.i.i = phi i64 [ %conv.i144.i.i, %call.i142.i.noexc.i ], [ %conv.i141.i.i, %.noexc.i ], [ %conv.i137.i.i, %call.i136.i.noexc.i ], [ %conv.i135.i.i, %call.i134.i.noexc.i ], [ %conv.i133.i.i, %call.i132.i.noexc.i ], [ %conv.i131.i.i, %call.i130.i.noexc.i ], [ %conv.i129.i.i, %call.i128.i.noexc.i ], [ %conv.i127.i.i, %call.i124.i.noexc.i ], [ %div.i.sext.i.i.i, %call.i.i.i.noexc.i ], [ %conv.i108.i.i, %call.i107.i.noexc.i ], [ %conv.i106.i.i, %call.i105.i.noexc.i ], [ %conv.i.i12.i, %call.i.i.noexc.i ], [ %add.i.i.i.i, %if.then.i.i.i11.i ], [ %sub2.i.i.i.i, %if.else.i.i.i.i ], [ %add.i.i123.i.i, %if.then.i.i119.i.i ], [ %sub2.i.i117.i.i, %if.else.i.i113.i.i ], [ 0, %invoke.cont.i ], [ 0, %invoke.cont.i ], [ 0, %invoke.cont.i ], [ 0, %invoke.cont.i ], [ 0, %invoke.cont.i ] - %15 = load ptr, ptr %ref.tmp.i, align 8, !tbaa !12 - %cmp.i.i.i27.i = icmp eq ptr %15, %2 + %17 = load ptr, ptr %ref.tmp.i, align 8, !tbaa !12 + %cmp.i.i.i27.i = icmp eq ptr %17, %2 br i1 %cmp.i.i.i27.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i, label %if.then.i.i28.i _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i: ; preds = %invoke.cont6.i - %16 = load i64, ptr %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !8 - %cmp3.i.i.i.i = icmp ult i64 %16, 16 + %18 = load i64, ptr %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !8 + %cmp3.i.i.i.i = icmp ult i64 %18, 16 call void @llvm.assume(i1 %cmp3.i.i.i.i) br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i if.then.i.i28.i: ; preds = %invoke.cont6.i - call void @_ZdlPv(ptr noundef %15) #25 + call void @_ZdlPv(ptr noundef %17) #25 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i: ; preds = %if.then.i.i28.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i @@ -228573,24 +228573,24 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i: ; preds = %if. br label %_ZZN6duckdbL16DatePartFunctionINS_6date_tEEEvRNS_9DataChunkERNS_15ExpressionStateERNS_6VectorEENKUlNS_8string_tES1_RNS_12ValidityMaskEmE_clES8_S1_SA_m.exit lpad.i: ; preds = %sw.bb74.i.i, %sw.bb70.i.i, %sw.bb46.i.i, %sw.bb42.i.i, %sw.bb38.i.i, %sw.bb34.i.i, %sw.bb30.i.i, %sw.bb26.i.i, %sw.bb22.i.i, %sw.bb18.i.i, %sw.bb14.i.i, %sw.bb10.i.i, %sw.bb6.i.i, %sw.bb2.i.i, %sw.bb.i.i, %_ZNK6duckdb8string_t9GetStringB5cxx11Ev.exit.i - %17 = landingpad { ptr, i32 } + %19 = landingpad { ptr, i32 } cleanup br label %lpad.body.i lpad.body.i: ; preds = %lpad.i, %cleanup.action.i.i, %ehcleanup.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i - %eh.lpad-body.i = phi { ptr, i32 } [ %17, %lpad.i ], [ %11, %ehcleanup.i.i ], [ %.pn149.i.i, %cleanup.action.i.i ], [ %11, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i ] - %18 = load ptr, ptr %ref.tmp.i, align 8, !tbaa !12 - %cmp.i.i.i30.i = icmp eq ptr %18, %2 + %eh.lpad-body.i = phi { ptr, i32 } [ %19, %lpad.i ], [ %13, %ehcleanup.i.i ], [ %.pn149.i.i, %cleanup.action.i.i ], [ %13, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i ] + %20 = load ptr, ptr %ref.tmp.i, align 8, !tbaa !12 + %cmp.i.i.i30.i = icmp eq ptr %20, %2 br i1 %cmp.i.i.i30.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i33.i, label %if.then.i.i31.i _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i33.i: ; preds = %lpad.body.i - %19 = load i64, ptr %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !8 - %cmp3.i.i.i35.i = icmp ult i64 %19, 16 + %21 = load i64, ptr %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !8 + %cmp3.i.i.i35.i = icmp ult i64 %21, 16 call void @llvm.assume(i1 %cmp3.i.i.i35.i) br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit36.i if.then.i.i31.i: ; preds = %lpad.body.i - call void @_ZdlPv(ptr noundef %18) #25 + call void @_ZdlPv(ptr noundef %20) #25 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit36.i _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit36.i: ; preds = %if.then.i.i31.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i33.i @@ -228598,26 +228598,26 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit36.i: ; preds = %i resume { ptr, i32 } %eh.lpad-body.i if.else.i: ; preds = %entry - %20 = load ptr, ptr %mask, align 8, !tbaa !58 - %tobool.not.i.i = icmp eq ptr %20, null + %22 = load ptr, ptr %mask, align 8, !tbaa !58 + %tobool.not.i.i = icmp eq ptr %22, null br i1 %tobool.not.i.i, label %if.then.i.i, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i if.then.i.i: ; preds = %if.else.i %target_count.i.i = getelementptr inbounds i8, ptr %mask, i64 24 - %21 = load i64, ptr %target_count.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %mask, i64 noundef %21) + %23 = load i64, ptr %target_count.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %mask, i64 noundef %23) %.pre.i.i = load ptr, ptr %mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i: ; preds = %if.then.i.i, %if.else.i - %22 = phi ptr [ %.pre.i.i, %if.then.i.i ], [ %20, %if.else.i ] + %24 = phi ptr [ %.pre.i.i, %if.then.i.i ], [ %22, %if.else.i ] %div2.i.i.i.i = lshr i64 %idx, 6 %rem.i.i.i37.i = and i64 %idx, 63 %shl.i.i.i.i = shl nuw i64 1, %rem.i.i.i37.i %not.i.i.i.i = xor i64 %shl.i.i.i.i, -1 - %arrayidx.i.i.i.i = getelementptr inbounds i64, ptr %22, i64 %div2.i.i.i.i - %23 = load i64, ptr %arrayidx.i.i.i.i, align 8, !tbaa !59 - %and.i.i.i.i = and i64 %23, %not.i.i.i.i + %arrayidx.i.i.i.i = getelementptr inbounds i64, ptr %24, i64 %div2.i.i.i.i + %25 = load i64, ptr %arrayidx.i.i.i.i, align 8, !tbaa !59 + %and.i.i.i.i = and i64 %25, %not.i.i.i.i store i64 %and.i.i.i.i, ptr %arrayidx.i.i.i.i, align 8, !tbaa !59 br label %_ZZN6duckdbL16DatePartFunctionINS_6date_tEEEvRNS_9DataChunkERNS_15ExpressionStateERNS_6VectorEENKUlNS_8string_tES1_RNS_12ValidityMaskEmE_clES8_S1_SA_m.exit @@ -228798,8 +228798,8 @@ if.then.i.i.i11.i: ; preds = %call.i.i.i113.i.noe if.else.i.i.i.i: ; preds = %call.i.i.i113.i.noexc.i %yyyy.nonneg.i.i.i.i = sub i32 0, %call.i.i.i113.i21.i %div15.i4.i.i.i = udiv i32 %yyyy.nonneg.i.i.i.i, 100 - %div15.i.zext.i.i.i = zext nneg i32 %div15.i4.i.i.i to i64 - %sub2.i.i.i.i = xor i64 %div15.i.zext.i.i.i, -1 + %8 = xor i32 %div15.i4.i.i.i, -1 + %sub2.i.i.i.i = sext i32 %8 to i64 br label %invoke.cont6.i sw.bb18.i.i: ; preds = %invoke.cont.i @@ -228824,8 +228824,8 @@ if.then.i.i124.i.i: ; preds = %call.i.i.i116.i.noe if.else.i.i118.i.i: ; preds = %call.i.i.i116.i.noexc.i %yyyy.nonneg.i.i119.i.i = sub i32 0, %call.i.i.i116.i23.i %div15.i4.i120.i.i = udiv i32 %yyyy.nonneg.i.i119.i.i, 1000 - %div15.i.zext.i121.i.i = zext nneg i32 %div15.i4.i120.i.i to i64 - %sub2.i.i122.i.i = xor i64 %div15.i.zext.i121.i.i, -1 + %9 = xor i32 %div15.i4.i120.i.i, -1 + %sub2.i.i122.i.i = sext i32 %9 to i64 br label %invoke.cont6.i sw.bb22.i.i: ; preds = %invoke.cont.i @@ -228915,12 +228915,12 @@ call.i147.i.noexc.i: ; preds = %sw.bb46.i.i to label %.noexc.i unwind label %lpad.i .noexc.i: ; preds = %call.i147.i.noexc.i - %8 = load i32, ptr %yyyy.i.i.i.i, align 4, !tbaa !63 - %9 = load i32, ptr %ww.i.i.i.i, align 4, !tbaa !63 - %mul.i.i.i.i.i = mul nsw i32 %8, 100 - %cmp.i.i.i.i.i = icmp sgt i32 %8, 0 - %sub.i.i.i148.i.i = sub nsw i32 0, %9 - %cond.i.i.i.i.i = select i1 %cmp.i.i.i.i.i, i32 %9, i32 %sub.i.i.i148.i.i + %10 = load i32, ptr %yyyy.i.i.i.i, align 4, !tbaa !63 + %11 = load i32, ptr %ww.i.i.i.i, align 4, !tbaa !63 + %mul.i.i.i.i.i = mul nsw i32 %10, 100 + %cmp.i.i.i.i.i = icmp sgt i32 %10, 0 + %sub.i.i.i148.i.i = sub nsw i32 0, %11 + %cond.i.i.i.i.i = select i1 %cmp.i.i.i.i.i, i32 %11, i32 %sub.i.i.i148.i.i %add.i.i.i149.i.i = add nsw i32 %cond.i.i.i.i.i, %mul.i.i.i.i.i %conv.i.i150.i.i = sext i32 %add.i.i.i149.i.i to i64 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %ww.i.i.i.i) #26 @@ -229003,7 +229003,7 @@ invoke.cont80.i.i: ; preds = %invoke.cont.i.i to label %unreachable.i.i unwind label %lpad79.i.i ehcleanup.thread.i.i: ; preds = %sw.default.i.i - %10 = landingpad { ptr, i32 } + %12 = landingpad { ptr, i32 } cleanup call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp78.i.i) #26 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i.i) #26 @@ -229011,30 +229011,30 @@ ehcleanup.thread.i.i: ; preds = %sw.default.i.i lpad79.i.i: ; preds = %invoke.cont80.i.i, %invoke.cont.i.i %cleanup.isactive.0.i.i = phi i1 [ false, %invoke.cont80.i.i ], [ true, %invoke.cont.i.i ] - %11 = landingpad { ptr, i32 } + %13 = landingpad { ptr, i32 } cleanup - %12 = load ptr, ptr %ref.tmp.i.i, align 8, !tbaa !12 - %13 = getelementptr inbounds i8, ptr %ref.tmp.i.i, i64 16 - %cmp.i.i.i166.i.i = icmp eq ptr %12, %13 + %14 = load ptr, ptr %ref.tmp.i.i, align 8, !tbaa !12 + %15 = getelementptr inbounds i8, ptr %ref.tmp.i.i, i64 16 + %cmp.i.i.i166.i.i = icmp eq ptr %14, %15 br i1 %cmp.i.i.i166.i.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i, label %ehcleanup.i.i _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i: ; preds = %lpad79.i.i %_M_string_length.i.i.i.i.i = getelementptr inbounds i8, ptr %ref.tmp.i.i, i64 8 - %14 = load i64, ptr %_M_string_length.i.i.i.i.i, align 8, !tbaa !8 - %cmp3.i.i.i.i.i = icmp ult i64 %14, 16 + %16 = load i64, ptr %_M_string_length.i.i.i.i.i, align 8, !tbaa !8 + %cmp3.i.i.i.i.i = icmp ult i64 %16, 16 call void @llvm.assume(i1 %cmp3.i.i.i.i.i) call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp78.i.i) #26 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i.i) #26 br i1 %cleanup.isactive.0.i.i, label %cleanup.action.i.i, label %lpad.body.i ehcleanup.i.i: ; preds = %lpad79.i.i - call void @_ZdlPv(ptr noundef %12) #25 + call void @_ZdlPv(ptr noundef %14) #25 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp78.i.i) #26 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %ref.tmp.i.i) #26 br i1 %cleanup.isactive.0.i.i, label %cleanup.action.i.i, label %lpad.body.i cleanup.action.i.i: ; preds = %ehcleanup.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i, %ehcleanup.thread.i.i - %.pn171.i.i = phi { ptr, i32 } [ %10, %ehcleanup.thread.i.i ], [ %11, %ehcleanup.i.i ], [ %11, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i ] + %.pn171.i.i = phi { ptr, i32 } [ %12, %ehcleanup.thread.i.i ], [ %13, %ehcleanup.i.i ], [ %13, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i ] call void @__cxa_free_exception(ptr %exception.i.i) #26 br label %lpad.body.i @@ -229043,18 +229043,18 @@ unreachable.i.i: ; preds = %invoke.cont80.i.i invoke.cont6.i: ; preds = %call.i.i163.i.noexc.i, %call.i160.i.noexc.i, %call.i158.i.noexc.i, %call.i.i153.i.noexc.i, %call.i.i152.i.noexc.i, %call.i151.i.noexc.i, %.noexc.i, %call.i.i145.i.noexc.i, %call.i.i142.i.noexc.i, %call.i.i139.i.noexc.i, %call.i.i136.i.noexc.i, %call.i.i133.i.noexc.i, %call.i.i130.i.noexc.i, %if.else.i.i118.i.i, %if.then.i.i124.i.i, %if.else.i.i.i.i, %if.then.i.i.i11.i, %call.i.i.i.i.noexc.i, %call.i.i109.i.noexc.i, %call.i.i106.i.noexc.i, %call.i.i.i.noexc.i, %invoke.cont.i, %invoke.cont.i, %invoke.cont.i %retval.0.i.i = phi i64 [ %conv.i.i165.i.i, %call.i.i163.i.noexc.i ], [ %div.i161.i.i, %call.i160.i.noexc.i ], [ %div.i.i.i, %call.i158.i.noexc.i ], [ %div.sext.i157.i.i, %call.i.i153.i.noexc.i ], [ %div.sext.i.i.i, %call.i.i152.i.noexc.i ], [ %rem.i.i.i, %call.i151.i.noexc.i ], [ %conv.i.i150.i.i, %.noexc.i ], [ %conv.i.i146.i.i, %call.i.i145.i.noexc.i ], [ %conv.i.i143.i.i, %call.i.i142.i.noexc.i ], [ %conv.i.i140.i.i, %call.i.i139.i.noexc.i ], [ %conv.i.i137.i.i, %call.i.i136.i.noexc.i ], [ %conv.i.i134.i.i, %call.i.i133.i.noexc.i ], [ %conv.i.i131.i.i, %call.i.i130.i.noexc.i ], [ %div.i.sext.i.i.i, %call.i.i.i.i.noexc.i ], [ %conv.i.i110.i.i, %call.i.i109.i.noexc.i ], [ %conv.i.i107.i.i, %call.i.i106.i.noexc.i ], [ %conv.i.i.i.i, %call.i.i.i.noexc.i ], [ %add.i.i.i.i, %if.then.i.i.i11.i ], [ %sub2.i.i.i.i, %if.else.i.i.i.i ], [ %add.i.i128.i.i, %if.then.i.i124.i.i ], [ %sub2.i.i122.i.i, %if.else.i.i118.i.i ], [ 0, %invoke.cont.i ], [ 0, %invoke.cont.i ], [ 0, %invoke.cont.i ] - %15 = load ptr, ptr %ref.tmp.i, align 8, !tbaa !12 - %cmp.i.i.i44.i = icmp eq ptr %15, %2 + %17 = load ptr, ptr %ref.tmp.i, align 8, !tbaa !12 + %cmp.i.i.i44.i = icmp eq ptr %17, %2 br i1 %cmp.i.i.i44.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i, label %if.then.i.i45.i _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i: ; preds = %invoke.cont6.i - %16 = load i64, ptr %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !8 - %cmp3.i.i.i.i = icmp ult i64 %16, 16 + %18 = load i64, ptr %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !8 + %cmp3.i.i.i.i = icmp ult i64 %18, 16 call void @llvm.assume(i1 %cmp3.i.i.i.i) br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i if.then.i.i45.i: ; preds = %invoke.cont6.i - call void @_ZdlPv(ptr noundef %15) #25 + call void @_ZdlPv(ptr noundef %17) #25 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i: ; preds = %if.then.i.i45.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i @@ -229062,24 +229062,24 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.i: ; preds = %if. br label %_ZZN6duckdbL16DatePartFunctionINS_11timestamp_tEEEvRNS_9DataChunkERNS_15ExpressionStateERNS_6VectorEENKUlNS_8string_tES1_RNS_12ValidityMaskEmE_clES8_S1_SA_m.exit lpad.i: ; preds = %call.i162.i.noexc.i, %sw.bb70.i.i, %sw.bb66.i.i, %sw.bb62.i.i, %sw.bb58.i.i, %sw.bb54.i.i, %sw.bb50.i.i, %call.i147.i.noexc.i, %sw.bb46.i.i, %call.i144.i.noexc.i, %sw.bb42.i.i, %call.i141.i.noexc.i, %sw.bb38.i.i, %call.i138.i.noexc.i, %sw.bb34.i.i, %call.i135.i.noexc.i, %sw.bb30.i.i, %call.i132.i.noexc.i, %sw.bb26.i.i, %call.i129.i.noexc.i, %sw.bb22.i.i, %call.i.i115.i.noexc.i, %sw.bb18.i.i, %call.i.i112.i.noexc.i, %sw.bb14.i.i, %call.i.i111.i.noexc.i, %sw.bb10.i.i, %call.i108.i.noexc.i, %sw.bb6.i.i, %call.i105.i.noexc.i, %sw.bb2.i.i, %call.i.i.noexc.i, %sw.bb.i.i, %_ZNK6duckdb8string_t9GetStringB5cxx11Ev.exit.i - %17 = landingpad { ptr, i32 } + %19 = landingpad { ptr, i32 } cleanup br label %lpad.body.i lpad.body.i: ; preds = %lpad.i, %cleanup.action.i.i, %ehcleanup.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i - %eh.lpad-body.i = phi { ptr, i32 } [ %17, %lpad.i ], [ %11, %ehcleanup.i.i ], [ %.pn171.i.i, %cleanup.action.i.i ], [ %11, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i ] - %18 = load ptr, ptr %ref.tmp.i, align 8, !tbaa !12 - %cmp.i.i.i47.i = icmp eq ptr %18, %2 + %eh.lpad-body.i = phi { ptr, i32 } [ %19, %lpad.i ], [ %13, %ehcleanup.i.i ], [ %.pn171.i.i, %cleanup.action.i.i ], [ %13, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i ] + %20 = load ptr, ptr %ref.tmp.i, align 8, !tbaa !12 + %cmp.i.i.i47.i = icmp eq ptr %20, %2 br i1 %cmp.i.i.i47.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i50.i, label %if.then.i.i48.i _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i50.i: ; preds = %lpad.body.i - %19 = load i64, ptr %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !8 - %cmp3.i.i.i52.i = icmp ult i64 %19, 16 + %21 = load i64, ptr %_M_string_length.i.i.i.i.i.i, align 8, !tbaa !8 + %cmp3.i.i.i52.i = icmp ult i64 %21, 16 call void @llvm.assume(i1 %cmp3.i.i.i52.i) br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit53.i if.then.i.i48.i: ; preds = %lpad.body.i - call void @_ZdlPv(ptr noundef %18) #25 + call void @_ZdlPv(ptr noundef %20) #25 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit53.i _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit53.i: ; preds = %if.then.i.i48.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i50.i @@ -229087,26 +229087,26 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit53.i: ; preds = %i resume { ptr, i32 } %eh.lpad-body.i if.else.i: ; preds = %entry - %20 = load ptr, ptr %mask, align 8, !tbaa !58 - %tobool.not.i.i = icmp eq ptr %20, null + %22 = load ptr, ptr %mask, align 8, !tbaa !58 + %tobool.not.i.i = icmp eq ptr %22, null br i1 %tobool.not.i.i, label %if.then.i.i, label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i if.then.i.i: ; preds = %if.else.i %target_count.i.i = getelementptr inbounds i8, ptr %mask, i64 24 - %21 = load i64, ptr %target_count.i.i, align 8, !tbaa !61 - tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %mask, i64 noundef %21) + %23 = load i64, ptr %target_count.i.i, align 8, !tbaa !61 + tail call void @_ZN6duckdb21TemplatedValidityMaskImE10InitializeEm(ptr noundef nonnull align 8 dereferenceable(32) %mask, i64 noundef %23) %.pre.i.i = load ptr, ptr %mask, align 8, !tbaa !58 br label %_ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i _ZN6duckdb21TemplatedValidityMaskImE10SetInvalidEm.exit.i: ; preds = %if.then.i.i, %if.else.i - %22 = phi ptr [ %.pre.i.i, %if.then.i.i ], [ %20, %if.else.i ] + %24 = phi ptr [ %.pre.i.i, %if.then.i.i ], [ %22, %if.else.i ] %div2.i.i.i.i = lshr i64 %idx, 6 %rem.i.i.i54.i = and i64 %idx, 63 %shl.i.i.i.i = shl nuw i64 1, %rem.i.i.i54.i %not.i.i.i.i = xor i64 %shl.i.i.i.i, -1 - %arrayidx.i.i.i.i = getelementptr inbounds i64, ptr %22, i64 %div2.i.i.i.i - %23 = load i64, ptr %arrayidx.i.i.i.i, align 8, !tbaa !59 - %and.i.i.i.i = and i64 %23, %not.i.i.i.i + %arrayidx.i.i.i.i = getelementptr inbounds i64, ptr %24, i64 %div2.i.i.i.i + %25 = load i64, ptr %arrayidx.i.i.i.i, align 8, !tbaa !59 + %and.i.i.i.i = and i64 %25, %not.i.i.i.i store i64 %and.i.i.i.i, ptr %arrayidx.i.i.i.i, align 8, !tbaa !59 br label %_ZZN6duckdbL16DatePartFunctionINS_11timestamp_tEEEvRNS_9DataChunkERNS_15ExpressionStateERNS_6VectorEENKUlNS_8string_tES1_RNS_12ValidityMaskEmE_clES8_S1_SA_m.exit diff --git a/bench/hyperscan/optimized/fdr_compile.cpp.ll b/bench/hyperscan/optimized/fdr_compile.cpp.ll index 3a253346427..6ca9ee79572 100644 --- a/bench/hyperscan/optimized/fdr_compile.cpp.ll +++ b/bench/hyperscan/optimized/fdr_compile.cpp.ll @@ -3895,10 +3895,10 @@ invoke.cont.i.i17.i: ; preds = %call5.i.i.i.i1.i.i3 for.cond9.preheader.i.i.i: ; preds = %for.body.i.i.i store i32 0, ptr %b.i.i.i, align 4, !noalias !106 - %numBuckets.i117.i.i.i = getelementptr inbounds i8, ptr %27, i64 32 - %23 = load i32, ptr %numBuckets.i117.i.i.i, align 8 - %cmp12118.not.i.i.i = icmp eq i32 %23, 0 - br i1 %cmp12118.not.i.i.i, label %for.cond71.preheader.i.i.i, label %for.body13.lr.ph.i.i.i + %numBuckets.i115.i.i.i = getelementptr inbounds i8, ptr %27, i64 32 + %23 = load i32, ptr %numBuckets.i115.i.i.i, align 8 + %cmp12116.not.i.i.i = icmp eq i32 %23, 0 + br i1 %cmp12116.not.i.i.i, label %for.cond71.preheader.i.i.i, label %for.body13.lr.ph.i.i.i for.body13.lr.ph.i.i.i: ; preds = %for.cond9.preheader.i.i.i %bucketToLits.i.i.i = getelementptr inbounds i8, ptr %fc.i, i64 64 @@ -3941,12 +3941,12 @@ lpad5.loopexit.split-lp.i.i.i: ; preds = %invoke.cont14.i.i.i br label %ehcleanup.i.i.i for.cond71.preheader.i.i.i: ; preds = %for.inc67.i.i.i, %for.cond9.preheader.i.i.i - %29 = phi ptr [ %27, %for.cond9.preheader.i.i.i ], [ %149, %for.inc67.i.i.i ] + %29 = phi ptr [ %27, %for.cond9.preheader.i.i.i ], [ %136, %for.inc67.i.i.i ] br i1 %cmp.not.i.i.i.i.i.i16.i, label %for.end83.i.i.i, label %for.body75.i.i.i for.body13.i.i.i: ; preds = %for.inc67.i.i.i, %for.body13.lr.ph.i.i.i - %30 = phi ptr [ %27, %for.body13.lr.ph.i.i.i ], [ %149, %for.inc67.i.i.i ] - %storemerge119.i.i.i = phi i32 [ 0, %for.body13.lr.ph.i.i.i ], [ %inc68.i.i.i, %for.inc67.i.i.i ] + %30 = phi ptr [ %27, %for.body13.lr.ph.i.i.i ], [ %136, %for.inc67.i.i.i ] + %storemerge117.i.i.i = phi i32 [ 0, %for.body13.lr.ph.i.i.i ], [ %inc68.i.i.i, %for.inc67.i.i.i ] call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i.i.i.i), !noalias !106 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i.i.i.i), !noalias !106 %31 = load ptr, ptr %_M_parent.i.i.i.i.i.i.i.i, align 8, !noalias !106 @@ -3958,7 +3958,7 @@ while.body.i.i.i.i.i.i.i: ; preds = %for.body13.i.i.i, % %__y.addr.06.i.i.i.i.i.i.i = phi ptr [ %__y.addr.1.i.i.i.i.i.i.i, %while.body.i.i.i.i.i.i.i ], [ %16, %for.body13.i.i.i ] %_M_storage.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i.i.i.i, i64 32 %32 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i.i, align 4 - %cmp.i.i.i.i.i.i.i.i = icmp ult i32 %32, %storemerge119.i.i.i + %cmp.i.i.i.i.i.i.i.i = icmp ult i32 %32, %storemerge117.i.i.i %__y.addr.1.i.i.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i.i, ptr %__y.addr.06.i.i.i.i.i.i.i, ptr %__x.addr.07.i.i.i.i.i.i.i %__x.addr.1.in.v.i.i.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i.i, i64 24, i64 16 %__x.addr.1.in.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i.i.i.i, i64 %__x.addr.1.in.v.i.i.i.i.i.i.i @@ -3974,7 +3974,7 @@ lor.rhs.i.i.i.i: ; preds = %_ZNSt3mapIjSt6vecto %__y.addr.1.i.i.i.i.i.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i.i.i, ptr %__y.addr.06.i.i.i.i.i.i.i, ptr %__x.addr.07.i.i.i.i.i.i.i %__y.addr.1.i.i.i.i.i.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i.i.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 %33 = load i32, ptr %__y.addr.1.i.i.i.i.i.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel, align 4 - %cmp.i3.i.i.i.i = icmp ult i32 %storemerge119.i.i.i, %33 + %cmp.i3.i.i.i.i = icmp ult i32 %storemerge117.i.i.i, %33 br i1 %cmp.i3.i.i.i.i, label %if.then.i.i.i29.i, label %invoke.cont14.i.i.i if.then.i.i.i29.i: ; preds = %lor.rhs.i.i.i.i, %_ZNSt3mapIjSt6vectorIjSaIjEESt4lessIjESaISt4pairIKjS2_EEE11lower_boundERS6_.exit.i.i.i.i, %for.body13.i.i.i @@ -3985,11 +3985,11 @@ if.then.i.i.i29.i: ; preds = %lor.rhs.i.i.i.i, %_ if.then.i.invoke.cont14_crit_edge.i.i.i: ; preds = %if.then.i.i.i29.i %.pre.i.i.i = load ptr, ptr %fc.i, align 8, !noalias !106 - %.pre127.i.i.i = load i32, ptr %b.i.i.i, align 4, !noalias !106 + %.pre123.i.i.i = load i32, ptr %b.i.i.i, align 4, !noalias !106 br label %invoke.cont14.i.i.i invoke.cont14.i.i.i: ; preds = %if.then.i.invoke.cont14_crit_edge.i.i.i, %lor.rhs.i.i.i.i - %34 = phi i32 [ %storemerge119.i.i.i, %lor.rhs.i.i.i.i ], [ %.pre127.i.i.i, %if.then.i.invoke.cont14_crit_edge.i.i.i ] + %34 = phi i32 [ %storemerge117.i.i.i, %lor.rhs.i.i.i.i ], [ %.pre123.i.i.i, %if.then.i.invoke.cont14_crit_edge.i.i.i ] %35 = phi ptr [ %30, %lor.rhs.i.i.i.i ], [ %.pre.i.i.i, %if.then.i.invoke.cont14_crit_edge.i.i.i ] %__i.sroa.0.0.i.i.i.i = phi ptr [ %__y.addr.1.i.i.i.i.i.i.i, %lor.rhs.i.i.i.i ], [ %call12.i34.i.i.i, %if.then.i.invoke.cont14_crit_edge.i.i.i ] %second.i.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i.i.i.i, i64 40 @@ -3999,20 +3999,18 @@ invoke.cont14.i.i.i: ; preds = %if.then.i.invoke.co to label %for.cond19.preheader.i.i.i unwind label %lpad5.loopexit.split-lp.i.i.i for.cond19.preheader.i.i.i: ; preds = %invoke.cont14.i.i.i - %cmp20114.not.i.i.i = icmp eq i32 %call18.i.i.i, 0 - br i1 %cmp20114.not.i.i.i, label %for.inc67.i.i.i, label %for.body21.lr.ph.i.i.i + %cmp20112.not.i.i.i = icmp eq i32 %call18.i.i.i, 0 + br i1 %cmp20112.not.i.i.i, label %for.inc67.i.i.i, label %for.body21.lr.ph.i.i.i for.body21.lr.ph.i.i.i: ; preds = %for.cond19.preheader.i.i.i %36 = getelementptr i8, ptr %__i.sroa.0.0.i.i.i.i, i64 48 - %wide.trip.count.i.i.i = zext i32 %call18.i.i.i to i64 br label %for.body21.i.i.i for.body21.i.i.i: ; preds = %_ZNSt3mapIjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEESt4lessIjESaISt4pairIKjS6_EEED2Ev.exit.i.i.i, %for.body21.lr.ph.i.i.i - %indvars.iv.i.i.i = phi i64 [ 0, %for.body21.lr.ph.i.i.i ], [ %indvars.iv.next.i.i.i, %_ZNSt3mapIjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEESt4lessIjESaISt4pairIKjS6_EEED2Ev.exit.i.i.i ] + %pos.0113.i.i.i = phi i32 [ 0, %for.body21.lr.ph.i.i.i ], [ %inc65.i.i.i, %_ZNSt3mapIjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEESt4lessIjESaISt4pairIKjS6_EEED2Ev.exit.i.i.i ] %37 = load ptr, ptr %fc.i, align 8, !noalias !106 %38 = load i32, ptr %b.i.i.i, align 4, !noalias !106 - %39 = trunc i64 %indvars.iv.i.i.i to i32 - %call24.i.i.i = invoke noundef i32 @_ZNK3ue220FDREngineDescription12getSchemeBitEjj(ptr noundef nonnull align 8 dereferenceable(48) %37, i32 noundef %38, i32 noundef %39) + %call24.i.i.i = invoke noundef i32 @_ZNK3ue220FDREngineDescription12getSchemeBitEjj(ptr noundef nonnull align 8 dereferenceable(48) %37, i32 noundef %38, i32 noundef %pos.0113.i.i.i) to label %invoke.cont23.i.i.i unwind label %lpad5.loopexit.i.i.i invoke.cont23.i.i.i: ; preds = %for.body21.i.i.i @@ -4021,22 +4019,19 @@ invoke.cont23.i.i.i: ; preds = %for.body21.i.i.i store ptr %24, ptr %_M_left.i.i.i.i.i.i.i.i, align 8, !noalias !106 store ptr %24, ptr %_M_right.i.i.i.i.i.i.i.i, align 8, !noalias !106 store i64 0, ptr %_M_node_count.i.i.i.i.i.i.i.i, align 8, !noalias !106 - %40 = load ptr, ptr %fc.i, align 8, !noalias !106 + %39 = load ptr, ptr %fc.i, align 8, !noalias !106 %call15.val.i.i.i = load ptr, ptr %second.i.i.i.i, align 8 %call15.val31.i.i.i = load ptr, ptr %36, align 8 - %bits.i36.i.i.i = getelementptr inbounds i8, ptr %40, i64 44 + %bits.i36.i.i.i = getelementptr inbounds i8, ptr %39, i64 44 + %40 = load i32, ptr %bits.i36.i.i.i, align 4 + %cmp.i.i.i.i = icmp ugt i32 %40, 8 %cmp.i7.not.i.i.i.i = icmp eq ptr %call15.val.i.i.i, %call15.val31.i.i.i br i1 %cmp.i7.not.i.i.i.i, label %cleanup.i.i.i, label %for.body.lr.ph.i.i.i.i for.body.lr.ph.i.i.i.i: ; preds = %invoke.cont23.i.i.i - %41 = load i32, ptr %bits.i36.i.i.i, align 4 - %.fr.i.i.i = freeze i32 %41 - %cmp.i.i.i.i = icmp ugt i32 %.fr.i.i.i, 8 - %cmp2.i.i.i.i = icmp ult i32 %.fr.i.i.i, 17 + %cmp2.i.i.i.i = icmp ult i32 %40, 17 %..i.i.i.i = select i1 %cmp2.i.i.i.i, i64 2, i64 4 %sub.ptr.lhs.cast.i.i.i.i.i = ptrtoint ptr %call15.val31.i.i.i to i64 - %cmp24.i.us.i.i.i = icmp sgt i32 %39, -1 - %42 = xor i64 %indvars.iv.i.i.i, -1 br label %for.body.i.i.i.i for.body.i.i.i.i: ; preds = %call3.i.i.i.i.noexc.i.i.i, %for.body.lr.ph.i.i.i.i @@ -4049,72 +4044,26 @@ for.body.i.i.i.i: ; preds = %call3.i.i.i.i.noexc if.then11.i.i.i.i: ; preds = %for.body.i.i.i.i %add.ptr.i.i.i.i28.i = getelementptr inbounds i8, ptr %i.sroa.0.08.i.i.i.i, i64 20 - %43 = load i32, ptr %add.ptr.i.i.i.i28.i, align 4 - %conv.i.i.i.i = zext i32 %43 to i64 + %41 = load i32, ptr %add.ptr.i.i.i.i28.i, align 4 + %conv.i.i.i.i = zext i32 %41 to i64 %add.ptr.i35.i.i.i.i = getelementptr inbounds %"struct.ue2::hwlmLiteral", ptr %.pre.i.i.i.i, i64 %conv.i.i.i.i call void @llvm.prefetch.p0(ptr nonnull %add.ptr.i35.i.i.i.i, i32 0, i32 3, i32 1) br label %if.end16.i.i.i.i if.end16.i.i.i.i: ; preds = %if.then11.i.i.i.i, %for.body.i.i.i.i - %44 = load i32, ptr %i.sroa.0.08.i.i.i.i, align 4 - %conv18.i.i.i.i = zext i32 %44 to i64 + %42 = load i32, ptr %i.sroa.0.08.i.i.i.i, align 4 + %conv18.i.i.i.i = zext i32 %42 to i64 %add.ptr.i36.i.i.i.i = getelementptr inbounds %"struct.ue2::hwlmLiteral", ptr %.pre.i.i.i.i, i64 %conv18.i.i.i.i %call20.i.i.i.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i36.i.i.i.i) #19 %nocase.i.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i36.i.i.i.i, i64 36 - br i1 %cmp.i.i.i.i, label %for.body23.i.i.i.i, label %if.end16.i.split.us.i.i.i - -if.end16.i.split.us.i.i.i: ; preds = %if.end16.i.i.i.i - %cmp26.not.i.us.i.i.i = icmp ugt i64 %call20.i.i.i.i, %indvars.iv.i.i.i - %or.cond.i.us.i.i.i = and i1 %cmp24.i.us.i.i.i, %cmp26.not.i.us.i.i.i - br i1 %or.cond.i.us.i.i.i, label %if.else28.i.us.i.i.i, label %if.end57.i.us.i.i.i - -if.else28.i.us.i.i.i: ; preds = %if.end16.i.split.us.i.i.i - %sub32.i.us.i.i.i = add i64 %call20.i.i.i.i, %42 - %call33.i.us.i.i.i = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i36.i.i.i.i, i64 noundef %sub32.i.us.i.i.i) #19 - %45 = load i8, ptr %call33.i.us.i.i.i, align 1 - %46 = load i32, ptr %bits.i36.i.i.i, align 4 - %cmp36.i.us.i.i.i = icmp ult i32 %46, 8 - %notmask34.i.us.i.i.i = shl nsw i32 -1, %46 - %47 = trunc i32 %notmask34.i.us.i.i.i to i8 - %48 = xor i8 %47, -1 - %conv42.i.us.i.i.i = select i1 %cmp36.i.us.i.i.i, i8 %48, i8 -1 - %maskByte.0.i.us.i.i.i = and i8 %conv42.i.us.i.i.i, %45 - %dontCareByte.0.i.us.i.i.i = select i1 %cmp36.i.us.i.i.i, i8 %47, i8 0 - %49 = load i8, ptr %nocase.i.i.i.i, align 4 - %50 = and i8 %49, 1 - %tobool.not.i.us.i.i.i = icmp eq i8 %50, 0 - br i1 %tobool.not.i.us.i.i.i, label %if.end57.i.us.i.i.i, label %land.lhs.true.i.us.i.i.i - -land.lhs.true.i.us.i.i.i: ; preds = %if.else28.i.us.i.i.i - %51 = add i8 %45, -65 - %52 = icmp ult i8 %51, 26 - %add.i.i.us.i.i.i = or disjoint i8 %45, 32 - %retval.i.0.i.us.i.i.i = select i1 %52, i8 %add.i.i.us.i.i.i, i8 %45 - %53 = add i8 %45, -97 - %54 = icmp ult i8 %53, 26 - %narrow.i.us.i.i.i = add nsw i8 %45, -32 - %retval.i.i.0.i.us.i.i.i = select i1 %54, i8 %narrow.i.us.i.i.i, i8 %45 - %cmp.i.not.i.us.i.i.i = icmp eq i8 %retval.i.0.i.us.i.i.i, %retval.i.i.0.i.us.i.i.i - br i1 %cmp.i.not.i.us.i.i.i, label %if.end57.i.us.i.i.i, label %if.then49.i.us.i.i.i - -if.then49.i.us.i.i.i: ; preds = %land.lhs.true.i.us.i.i.i - %55 = and i8 %maskByte.0.i.us.i.i.i, -33 - %56 = or i8 %dontCareByte.0.i.us.i.i.i, 32 - br label %if.end57.i.us.i.i.i - -if.end57.i.us.i.i.i: ; preds = %if.then49.i.us.i.i.i, %land.lhs.true.i.us.i.i.i, %if.else28.i.us.i.i.i, %if.end16.i.split.us.i.i.i - %maskByte.1.i.us.i.i.i = phi i8 [ %maskByte.0.i.us.i.i.i, %if.else28.i.us.i.i.i ], [ %maskByte.0.i.us.i.i.i, %land.lhs.true.i.us.i.i.i ], [ %55, %if.then49.i.us.i.i.i ], [ 0, %if.end16.i.split.us.i.i.i ] - %dontCareByte.1.i.us.i.i.i = phi i8 [ %dontCareByte.0.i.us.i.i.i, %if.else28.i.us.i.i.i ], [ %dontCareByte.0.i.us.i.i.i, %land.lhs.true.i.us.i.i.i ], [ %56, %if.then49.i.us.i.i.i ], [ -1, %if.end16.i.split.us.i.i.i ] - %conv59.i.us.i.i.i = zext i8 %maskByte.1.i.us.i.i.i to i32 - %conv62.i.us.i.i.i = zext i8 %dontCareByte.1.i.us.i.i.i to i32 - br label %for.end.i.i.i.i - -for.body23.i.i.i.i: ; preds = %if.end16.i.i.i.i, %if.end57.i.i.i.i - %or64.i105.i.i.i = phi i32 [ %or64.i.i.i.i, %if.end57.i.i.i.i ], [ 0, %if.end16.i.i.i.i ] - %mask.i.0.i.i.i = phi i32 [ %or61.i.i.i.i, %if.end57.i.i.i.i ], [ 0, %if.end16.i.i.i.i ] - %indvars.iv.i.i.i.i = phi i64 [ %indvars.iv.next.i.i.i.i, %if.end57.i.i.i.i ], [ 0, %if.end16.i.i.i.i ] - %57 = trunc i64 %indvars.iv.i.i.i.i to i32 - %sub.i.i.i.i = sub i32 %39, %57 + br label %for.body23.i.i.i.i + +for.body23.i.i.i.i: ; preds = %if.end57.i.i.i.i, %if.end16.i.i.i.i + %or64.i105.i.i.i = phi i32 [ 0, %if.end16.i.i.i.i ], [ %or64.i.i.i.i, %if.end57.i.i.i.i ] + %mask.i.0.i.i.i = phi i32 [ 0, %if.end16.i.i.i.i ], [ %or61.i.i.i.i, %if.end57.i.i.i.i ] + %indvars.iv.i.i.i.i = phi i64 [ 0, %if.end16.i.i.i.i ], [ %indvars.iv.next.i.i.i.i, %if.end57.i.i.i.i ] + %43 = trunc i64 %indvars.iv.i.i.i.i to i32 + %sub.i.i.i.i = sub i32 %pos.0113.i.i.i, %43 %cmp24.i.i.i.i = icmp sgt i32 %sub.i.i.i.i, -1 %conv25.i.i.i.i = zext nneg i32 %sub.i.i.i.i to i64 %cmp26.not.i.i.i.i = icmp ugt i64 %call20.i.i.i.i, %conv25.i.i.i.i @@ -4122,50 +4071,51 @@ for.body23.i.i.i.i: ; preds = %if.end16.i.i.i.i, % br i1 %or.cond.i.i.i.i, label %if.else28.i.i.i.i, label %for.body23.if.end57_crit_edge.i.i.i.i for.body23.if.end57_crit_edge.i.i.i.i: ; preds = %for.body23.i.i.i.i - %.pre16.i.i.i.i = shl i32 %57, 3 + %.pre16.i.i.i.i = shl i32 %43, 3 br label %if.end57.i.i.i.i if.else28.i.i.i.i: ; preds = %for.body23.i.i.i.i - %58 = xor i64 %conv25.i.i.i.i, -1 - %sub32.i.i.i.i = add i64 %call20.i.i.i.i, %58 + %44 = xor i32 %sub.i.i.i.i, -1 + %45 = sext i32 %44 to i64 + %sub32.i.i.i.i = add i64 %call20.i.i.i.i, %45 %call33.i.i.i.i = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i36.i.i.i.i, i64 noundef %sub32.i.i.i.i) #19 - %59 = load i8, ptr %call33.i.i.i.i, align 1 - %60 = load i32, ptr %bits.i36.i.i.i, align 4 - %61 = shl i32 %57, 3 - %sub35.i.i.i.i = sub i32 %60, %61 + %46 = load i8, ptr %call33.i.i.i.i, align 1 + %47 = load i32, ptr %bits.i36.i.i.i, align 4 + %48 = shl i32 %43, 3 + %sub35.i.i.i.i = sub i32 %47, %48 %cmp36.i.i.i.i = icmp ult i32 %sub35.i.i.i.i, 8 %notmask34.i.i.i.i = shl nsw i32 -1, %sub35.i.i.i.i - %62 = trunc i32 %notmask34.i.i.i.i to i8 - %63 = xor i8 %62, -1 - %conv42.i.i.i.i = select i1 %cmp36.i.i.i.i, i8 %63, i8 -1 - %maskByte.0.i.i.i.i = and i8 %conv42.i.i.i.i, %59 - %dontCareByte.0.i.i.i.i = select i1 %cmp36.i.i.i.i, i8 %62, i8 0 - %64 = load i8, ptr %nocase.i.i.i.i, align 4 - %65 = and i8 %64, 1 - %tobool.not.i.i.i27.i = icmp eq i8 %65, 0 + %49 = trunc i32 %notmask34.i.i.i.i to i8 + %50 = xor i8 %49, -1 + %conv42.i.i.i.i = select i1 %cmp36.i.i.i.i, i8 %50, i8 -1 + %maskByte.0.i.i.i.i = and i8 %conv42.i.i.i.i, %46 + %dontCareByte.0.i.i.i.i = select i1 %cmp36.i.i.i.i, i8 %49, i8 0 + %51 = load i8, ptr %nocase.i.i.i.i, align 4 + %52 = and i8 %51, 1 + %tobool.not.i.i.i27.i = icmp eq i8 %52, 0 br i1 %tobool.not.i.i.i27.i, label %if.end57.i.i.i.i, label %land.lhs.true.i.i.i.i land.lhs.true.i.i.i.i: ; preds = %if.else28.i.i.i.i - %66 = add i8 %59, -65 - %67 = icmp ult i8 %66, 26 - %add.i.i.i.i.i = or disjoint i8 %59, 32 - %retval.i.0.i.i.i.i = select i1 %67, i8 %add.i.i.i.i.i, i8 %59 - %68 = add i8 %59, -97 - %69 = icmp ult i8 %68, 26 - %narrow.i.i.i.i = add nsw i8 %59, -32 - %retval.i.i.0.i.i.i.i = select i1 %69, i8 %narrow.i.i.i.i, i8 %59 + %53 = add i8 %46, -65 + %54 = icmp ult i8 %53, 26 + %add.i.i.i.i.i = or disjoint i8 %46, 32 + %retval.i.0.i.i.i.i = select i1 %54, i8 %add.i.i.i.i.i, i8 %46 + %55 = add i8 %46, -97 + %56 = icmp ult i8 %55, 26 + %narrow.i.i.i.i = add nsw i8 %46, -32 + %retval.i.i.0.i.i.i.i = select i1 %56, i8 %narrow.i.i.i.i, i8 %46 %cmp.i.not.i.i.i.i = icmp eq i8 %retval.i.0.i.i.i.i, %retval.i.i.0.i.i.i.i br i1 %cmp.i.not.i.i.i.i, label %if.end57.i.i.i.i, label %if.then49.i.i.i.i if.then49.i.i.i.i: ; preds = %land.lhs.true.i.i.i.i - %70 = and i8 %maskByte.0.i.i.i.i, -33 - %71 = or i8 %dontCareByte.0.i.i.i.i, 32 + %57 = and i8 %maskByte.0.i.i.i.i, -33 + %58 = or i8 %dontCareByte.0.i.i.i.i, 32 br label %if.end57.i.i.i.i if.end57.i.i.i.i: ; preds = %if.then49.i.i.i.i, %land.lhs.true.i.i.i.i, %if.else28.i.i.i.i, %for.body23.if.end57_crit_edge.i.i.i.i - %.pre-phi17.i.i.i.i = phi i32 [ %.pre16.i.i.i.i, %for.body23.if.end57_crit_edge.i.i.i.i ], [ %61, %if.else28.i.i.i.i ], [ %61, %land.lhs.true.i.i.i.i ], [ %61, %if.then49.i.i.i.i ] - %maskByte.1.i.i.i.i = phi i8 [ 0, %for.body23.if.end57_crit_edge.i.i.i.i ], [ %maskByte.0.i.i.i.i, %if.else28.i.i.i.i ], [ %maskByte.0.i.i.i.i, %land.lhs.true.i.i.i.i ], [ %70, %if.then49.i.i.i.i ] - %dontCareByte.1.i.i.i.i = phi i8 [ -1, %for.body23.if.end57_crit_edge.i.i.i.i ], [ %dontCareByte.0.i.i.i.i, %if.else28.i.i.i.i ], [ %dontCareByte.0.i.i.i.i, %land.lhs.true.i.i.i.i ], [ %71, %if.then49.i.i.i.i ] + %.pre-phi17.i.i.i.i = phi i32 [ %.pre16.i.i.i.i, %for.body23.if.end57_crit_edge.i.i.i.i ], [ %48, %if.else28.i.i.i.i ], [ %48, %land.lhs.true.i.i.i.i ], [ %48, %if.then49.i.i.i.i ] + %maskByte.1.i.i.i.i = phi i8 [ 0, %for.body23.if.end57_crit_edge.i.i.i.i ], [ %maskByte.0.i.i.i.i, %if.else28.i.i.i.i ], [ %maskByte.0.i.i.i.i, %land.lhs.true.i.i.i.i ], [ %57, %if.then49.i.i.i.i ] + %dontCareByte.1.i.i.i.i = phi i8 [ -1, %for.body23.if.end57_crit_edge.i.i.i.i ], [ %dontCareByte.0.i.i.i.i, %if.else28.i.i.i.i ], [ %dontCareByte.0.i.i.i.i, %land.lhs.true.i.i.i.i ], [ %58, %if.then49.i.i.i.i ] %conv59.i.i.i.i = zext i8 %maskByte.1.i.i.i.i to i32 %shl60.i.i.i.i = shl nuw i32 %conv59.i.i.i.i, %.pre-phi17.i.i.i.i %or61.i.i.i.i = or i32 %shl60.i.i.i.i, %mask.i.0.i.i.i @@ -4173,32 +4123,31 @@ if.end57.i.i.i.i: ; preds = %if.then49.i.i.i.i, %shl63.i.i.i.i = shl nuw i32 %conv62.i.i.i.i, %.pre-phi17.i.i.i.i %or64.i.i.i.i = or i32 %shl63.i.i.i.i, %or64.i105.i.i.i %indvars.iv.next.i.i.i.i = add nuw nsw i64 %indvars.iv.i.i.i.i, 1 - %exitcond.not.i.i.i = icmp eq i64 %indvars.iv.next.i.i.i.i, %..i.i.i.i - br i1 %exitcond.not.i.i.i, label %for.end.i.i.i.i, label %for.body23.i.i.i.i, !llvm.loop !108 - -for.end.i.i.i.i: ; preds = %if.end57.i.i.i.i, %if.end57.i.us.i.i.i - %.us-phi.i.i.i = phi i32 [ %conv62.i.us.i.i.i, %if.end57.i.us.i.i.i ], [ %or64.i.i.i.i, %if.end57.i.i.i.i ] - %.us-phi107.i.i.i = phi i32 [ %conv59.i.us.i.i.i, %if.end57.i.us.i.i.i ], [ %or61.i.i.i.i, %if.end57.i.i.i.i ] - %72 = load i32, ptr %bits.i36.i.i.i, align 4 - %notmask.i.i.i.i = shl nsw i32 -1, %72 + %cmp2211.i.i.i.i = icmp ugt i64 %..i.i.i.i, %indvars.iv.next.i.i.i.i + %cmp22.i.i.i.i = select i1 %cmp.i.i.i.i, i1 %cmp2211.i.i.i.i, i1 false + br i1 %cmp22.i.i.i.i, label %for.body23.i.i.i.i, label %for.end.i.i.i.i, !llvm.loop !108 + +for.end.i.i.i.i: ; preds = %if.end57.i.i.i.i + %59 = load i32, ptr %bits.i36.i.i.i, align 4 + %notmask.i.i.i.i = shl nsw i32 -1, %59 %sub67.i.i.i.i = xor i32 %notmask.i.i.i.i, -1 - %and68.i.i.i.i = and i32 %.us-phi107.i.i.i, %sub67.i.i.i.i - %and72.i.i.i.i = and i32 %.us-phi.i.i.i, %sub67.i.i.i.i - %73 = or i32 %notmask.i.i.i.i, %.us-phi.i.i.i - %cmp76.i.i.i.i = icmp eq i32 %73, -1 + %and68.i.i.i.i = and i32 %or61.i.i.i.i, %sub67.i.i.i.i + %and72.i.i.i.i = and i32 %or64.i.i.i.i, %sub67.i.i.i.i + %60 = or i32 %notmask.i.i.i.i, %or64.i.i.i.i + %cmp76.i.i.i.i = icmp eq i32 %60, -1 br i1 %cmp76.i.i.i.i, label %if.then.i.i26.i, label %if.end78.i.i.i.i if.end78.i.i.i.i: ; preds = %for.end.i.i.i.i - %74 = load ptr, ptr %_M_parent.i.i.i.i.i35.i.i.i, align 8, !noalias !106 - %cmp.not5.i.i.i.i.i.i.i.i = icmp eq ptr %74, null + %61 = load ptr, ptr %_M_parent.i.i.i.i.i35.i.i.i, align 8, !noalias !106 + %cmp.not5.i.i.i.i.i.i.i.i = icmp eq ptr %61, null br i1 %cmp.not5.i.i.i.i.i.i.i.i, label %if.then.i.i.i.i.i, label %while.body.i.i.i.i.i.i.i.i while.body.i.i.i.i.i.i.i.i: ; preds = %if.end78.i.i.i.i, %while.body.i.i.i.i.i.i.i.i - %__x.addr.07.i.i.i.i.i.i.i.i = phi ptr [ %__x.addr.1.i.i.i.i.i.i.i.i, %while.body.i.i.i.i.i.i.i.i ], [ %74, %if.end78.i.i.i.i ] + %__x.addr.07.i.i.i.i.i.i.i.i = phi ptr [ %__x.addr.1.i.i.i.i.i.i.i.i, %while.body.i.i.i.i.i.i.i.i ], [ %61, %if.end78.i.i.i.i ] %__y.addr.06.i.i.i.i.i.i.i.i = phi ptr [ %__y.addr.1.i.i.i.i.i.i.i.i, %while.body.i.i.i.i.i.i.i.i ], [ %24, %if.end78.i.i.i.i ] %_M_storage.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i.i.i.i.i, i64 32 - %75 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i.i.i, align 4 - %cmp.i.i.i.i.i.i.i.i19.i = icmp ult i32 %75, %and72.i.i.i.i + %62 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i.i.i, align 4 + %cmp.i.i.i.i.i.i.i.i19.i = icmp ult i32 %62, %and72.i.i.i.i %__y.addr.1.i.i.i.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i.i19.i, ptr %__y.addr.06.i.i.i.i.i.i.i.i, ptr %__x.addr.07.i.i.i.i.i.i.i.i %__x.addr.1.in.v.i.i.i.i.i.i.i.i = select i1 %cmp.i.i.i.i.i.i.i.i19.i, i64 24, i64 16 %__x.addr.1.in.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i.i.i.i.i, i64 %__x.addr.1.in.v.i.i.i.i.i.i.i.i @@ -4213,8 +4162,8 @@ _ZNSt3mapIjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEESt4lessIjESaISt4pair lor.rhs.i.i.i.i.i: ; preds = %_ZNSt3mapIjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEESt4lessIjESaISt4pairIKjS6_EEE11lower_boundERSA_.exit.i.i.i.i.i %__y.addr.1.i.i.i.i.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i.i.i19.i, ptr %__y.addr.06.i.i.i.i.i.i.i.i, ptr %__x.addr.07.i.i.i.i.i.i.i.i %__y.addr.1.i.i.i.i.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 - %76 = load i32, ptr %__y.addr.1.i.i.i.i.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel, align 4 - %cmp.i3.i.i.i.i.i = icmp ult i32 %and72.i.i.i.i, %76 + %63 = load i32, ptr %__y.addr.1.i.i.i.i.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel, align 4 + %cmp.i3.i.i.i.i.i = icmp ult i32 %and72.i.i.i.i, %63 br i1 %cmp.i3.i.i.i.i.i, label %if.then.i.i.i.i.i, label %_ZNSt3mapIjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEESt4lessIjESaISt4pairIKjS6_EEEixERSA_.exit.i.i.i.i if.then.i.i.i.i.i: ; preds = %lor.rhs.i.i.i.i.i, %_ZNSt3mapIjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEESt4lessIjESaISt4pairIKjS6_EEE11lower_boundERSA_.exit.i.i.i.i.i, %if.end78.i.i.i.i @@ -4228,15 +4177,15 @@ call5.i.i.i.i.i.i.noexc84.i.i.i: ; preds = %if.then.i.i.i.i.i %_M_storage.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i85.i.i.i, i64 32 store i32 %and72.i.i.i.i, ptr %_M_storage.i.i.i.i.i.i.i.i, align 8 %second.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i85.i.i.i, i64 40 - %77 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i85.i.i.i, i64 72 - store i64 0, ptr %77, align 8 + %64 = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i85.i.i.i, i64 72 + store i64 0, ptr %64, align 8 %_M_single_bucket.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i85.i.i.i, i64 88 store ptr %_M_single_bucket.i.i.i.i.i.i.i.i.i.i.i.i.i, ptr %second.i.i.i.i.i.i.i.i.i.i.i, align 8 %_M_bucket_count.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i85.i.i.i, i64 48 store i64 1, ptr %_M_bucket_count.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8 %_M_before_begin.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i85.i.i.i, i64 56 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %_M_before_begin.i.i.i.i.i.i.i.i.i.i.i.i.i, i8 0, i64 16, i1 false) - store float 1.000000e+00, ptr %77, align 8 + store float 1.000000e+00, ptr %64, align 8 %_M_next_resize.i.i.i.i.i.i.i.i.i.i.i.i.i.i = getelementptr inbounds i8, ptr %call5.i.i.i.i.i.i85.i.i.i, i64 80 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %_M_next_resize.i.i.i.i.i.i.i.i.i.i.i.i.i.i, i8 0, i64 16, i1 false) store ptr %call5.i.i.i.i.i.i85.i.i.i, ptr %_M_node.i.i.i.i.i, align 8, !noalias !106 @@ -4244,62 +4193,62 @@ call5.i.i.i.i.i.i.noexc84.i.i.i: ; preds = %if.then.i.i.i.i.i to label %invoke.cont7.i.i.i.i unwind label %lpad.i.i.i.i invoke.cont7.i.i.i.i: ; preds = %call5.i.i.i.i.i.i.noexc84.i.i.i - %78 = extractvalue { ptr, ptr } %call8.i.i.i.i, 0 - %79 = extractvalue { ptr, ptr } %call8.i.i.i.i, 1 - %tobool.not.i78.i.i.i = icmp eq ptr %79, null + %65 = extractvalue { ptr, ptr } %call8.i.i.i.i, 0 + %66 = extractvalue { ptr, ptr } %call8.i.i.i.i, 1 + %tobool.not.i78.i.i.i = icmp eq ptr %66, null br i1 %tobool.not.i78.i.i.i, label %if.then.i.i83.i.i.i, label %if.then.i79.i.i.i if.then.i79.i.i.i: ; preds = %invoke.cont7.i.i.i.i - %cmp.not.i.i.i80.i.i.i = icmp ne ptr %78, null - %cmp2.i.i.i.i.i.i = icmp eq ptr %24, %79 + %cmp.not.i.i.i80.i.i.i = icmp ne ptr %65, null + %cmp2.i.i.i.i.i.i = icmp eq ptr %24, %66 %or.cond.i.i.i.i.i.i = or i1 %cmp.not.i.i.i80.i.i.i, %cmp2.i.i.i.i.i.i br i1 %or.cond.i.i.i.i.i.i, label %cleanup.thread.i.i.i.i, label %lor.rhs.i.i.i.i.i.i lor.rhs.i.i.i.i.i.i: ; preds = %if.then.i79.i.i.i - %_M_storage.i.i.i.i.i.i82.i.i.i = getelementptr inbounds i8, ptr %79, i64 32 - %80 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i, align 4 - %81 = load i32, ptr %_M_storage.i.i.i.i.i.i82.i.i.i, align 4 - %cmp.i.i.i.i.i.i25.i = icmp ult i32 %80, %81 + %_M_storage.i.i.i.i.i.i82.i.i.i = getelementptr inbounds i8, ptr %66, i64 32 + %67 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i, align 4 + %68 = load i32, ptr %_M_storage.i.i.i.i.i.i82.i.i.i, align 4 + %cmp.i.i.i.i.i.i25.i = icmp ult i32 %67, %68 br label %cleanup.thread.i.i.i.i cleanup.thread.i.i.i.i: ; preds = %lor.rhs.i.i.i.i.i.i, %if.then.i79.i.i.i - %82 = phi i1 [ true, %if.then.i79.i.i.i ], [ %cmp.i.i.i.i.i.i25.i, %lor.rhs.i.i.i.i.i.i ] - call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %82, ptr noundef nonnull %call5.i.i.i.i.i.i85.i.i.i, ptr noundef nonnull %79, ptr noundef nonnull align 8 dereferenceable(32) %24) #19 - %83 = load i64, ptr %_M_node_count.i.i.i.i.i.i.i.i, align 8, !noalias !106 - %inc.i.i.i.i.i.i = add i64 %83, 1 + %69 = phi i1 [ true, %if.then.i79.i.i.i ], [ %cmp.i.i.i.i.i.i25.i, %lor.rhs.i.i.i.i.i.i ] + call void @_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_(i1 noundef zeroext %69, ptr noundef nonnull %call5.i.i.i.i.i.i85.i.i.i, ptr noundef nonnull %66, ptr noundef nonnull align 8 dereferenceable(32) %24) #19 + %70 = load i64, ptr %_M_node_count.i.i.i.i.i.i.i.i, align 8, !noalias !106 + %inc.i.i.i.i.i.i = add i64 %70, 1 store i64 %inc.i.i.i.i.i.i, ptr %_M_node_count.i.i.i.i.i.i.i.i, align 8, !noalias !106 br label %call12.i.i.noexc.i.i.i lpad.i.i.i.i: ; preds = %call5.i.i.i.i.i.i.noexc84.i.i.i - %84 = landingpad { ptr, i32 } + %71 = landingpad { ptr, i32 } cleanup call void @_ZNSt8_Rb_treeIjSt4pairIKjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEEESt10_Select1stIS9_ESt4lessIjESaIS9_EE10_Auto_nodeD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %__z.i.i.i.i) #19 br label %lpad26.body.i.i.i if.then.i.i83.i.i.i: ; preds = %invoke.cont7.i.i.i.i - %85 = load ptr, ptr %_M_before_begin.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8 - %tobool.not3.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %85, null + %72 = load ptr, ptr %_M_before_begin.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8 + %tobool.not3.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %72, null br i1 %tobool.not3.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i.i.i.i.i.i.i.i.i.i.i, label %while.body.i.i.i.i.i.i.i.i.i.i.i.i.i.i while.body.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %if.then.i.i83.i.i.i, %while.body.i.i.i.i.i.i.i.i.i.i.i.i.i.i - %__n.addr.04.i.i.i.i.i.i.i.i.i.i.i.i.i.i = phi ptr [ %86, %while.body.i.i.i.i.i.i.i.i.i.i.i.i.i.i ], [ %85, %if.then.i.i83.i.i.i ] - %86 = load ptr, ptr %__n.addr.04.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8 + %__n.addr.04.i.i.i.i.i.i.i.i.i.i.i.i.i.i = phi ptr [ %73, %while.body.i.i.i.i.i.i.i.i.i.i.i.i.i.i ], [ %72, %if.then.i.i83.i.i.i ] + %73 = load ptr, ptr %__n.addr.04.i.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8 call void @_ZdlPv(ptr noundef nonnull %__n.addr.04.i.i.i.i.i.i.i.i.i.i.i.i.i.i) #20 - %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %86, null + %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %73, null br i1 %tobool.not.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i.i.i.i.i.i.i.i.i.i.i, label %while.body.i.i.i.i.i.i.i.i.i.i.i.i.i.i, !llvm.loop !95 _ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %while.body.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %if.then.i.i83.i.i.i - %87 = load ptr, ptr %second.i.i.i.i.i.i.i.i.i.i.i, align 8 - %88 = load i64, ptr %_M_bucket_count.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8 - %mul.i.i.i.i.i.i.i.i.i.i.i.i.i = shl i64 %88, 3 - call void @llvm.memset.p0.i64(ptr align 8 %87, i8 0, i64 %mul.i.i.i.i.i.i.i.i.i.i.i.i.i, i1 false) + %74 = load ptr, ptr %second.i.i.i.i.i.i.i.i.i.i.i, align 8 + %75 = load i64, ptr %_M_bucket_count.i.i.i.i.i.i.i.i.i.i.i.i.i, align 8 + %mul.i.i.i.i.i.i.i.i.i.i.i.i.i = shl i64 %75, 3 + call void @llvm.memset.p0.i64(ptr align 8 %74, i8 0, i64 %mul.i.i.i.i.i.i.i.i.i.i.i.i.i, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %_M_before_begin.i.i.i.i.i.i.i.i.i.i.i.i.i, i8 0, i64 16, i1 false) - %89 = load ptr, ptr %second.i.i.i.i.i.i.i.i.i.i.i, align 8 - %cmp.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %_M_single_bucket.i.i.i.i.i.i.i.i.i.i.i.i.i, %89 + %76 = load ptr, ptr %second.i.i.i.i.i.i.i.i.i.i.i, align 8 + %cmp.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = icmp eq ptr %_M_single_bucket.i.i.i.i.i.i.i.i.i.i.i.i.i, %76 br i1 %cmp.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i, label %_ZNSt8_Rb_treeIjSt4pairIKjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEEESt10_Select1stIS9_ESt4lessIjESaIS9_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS9_E.exit.i.i.i.i.i, label %if.end.i.i.i.i.i.i.i.i.i.i.i.i.i.i if.end.i.i.i.i.i.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i.i.i.i.i.i.i.i.i.i.i - call void @_ZdlPv(ptr noundef %89) #20 + call void @_ZdlPv(ptr noundef %76) #20 br label %_ZNSt8_Rb_treeIjSt4pairIKjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEEESt10_Select1stIS9_ESt4lessIjESaIS9_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS9_E.exit.i.i.i.i.i _ZNSt8_Rb_treeIjSt4pairIKjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEEESt10_Select1stIS9_ESt4lessIjESaIS9_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS9_E.exit.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i.i.i.i.i.i.i.i.i.i, %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE5clearEv.exit.i.i.i.i.i.i.i.i.i.i.i.i @@ -4307,7 +4256,7 @@ _ZNSt8_Rb_treeIjSt4pairIKjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEEESt10 br label %call12.i.i.noexc.i.i.i call12.i.i.noexc.i.i.i: ; preds = %_ZNSt8_Rb_treeIjSt4pairIKjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEEESt10_Select1stIS9_ESt4lessIjESaIS9_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS9_E.exit.i.i.i.i.i, %cleanup.thread.i.i.i.i - %retval.sroa.0.08.i.i.i.i = phi ptr [ %call5.i.i.i.i.i.i85.i.i.i, %cleanup.thread.i.i.i.i ], [ %78, %_ZNSt8_Rb_treeIjSt4pairIKjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEEESt10_Select1stIS9_ESt4lessIjESaIS9_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS9_E.exit.i.i.i.i.i ] + %retval.sroa.0.08.i.i.i.i = phi ptr [ %call5.i.i.i.i.i.i85.i.i.i, %cleanup.thread.i.i.i.i ], [ %65, %_ZNSt8_Rb_treeIjSt4pairIKjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEEESt10_Select1stIS9_ESt4lessIjESaIS9_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS9_E.exit.i.i.i.i.i ] call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %__z.i.i.i.i), !noalias !106 br label %_ZNSt3mapIjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEESt4lessIjESaISt4pairIKjS6_EEEixERSA_.exit.i.i.i.i @@ -4315,19 +4264,19 @@ _ZNSt3mapIjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEESt4lessIjESaISt4pair %__i.sroa.0.0.i.i.i.i.i = phi ptr [ %retval.sroa.0.08.i.i.i.i, %call12.i.i.noexc.i.i.i ], [ %__y.addr.1.i.i.i.i.i.i.i.i, %lor.rhs.i.i.i.i.i ] %second.i.i.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i.i.i.i.i, i64 40 %_M_element_count.i.i.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i.i.i.i.i, i64 64 - %90 = load i64, ptr %_M_element_count.i.i.i.i.i, align 8 - %cmp.not.not.i.i.i.i = icmp eq i64 %90, 0 + %77 = load i64, ptr %_M_element_count.i.i.i.i.i, align 8 + %cmp.not.not.i.i.i.i = icmp eq i64 %77, 0 br i1 %cmp.not.not.i.i.i.i, label %if.then.i71.i.i.i, label %if.end13.thread.i.i.i.i if.end13.thread.i.i.i.i: ; preds = %_ZNSt3mapIjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEESt4lessIjESaISt4pairIKjS6_EEEixERSA_.exit.i.i.i.i %conv.i.i20.i.i.i.i = zext nneg i32 %and68.i.i.i.i to i64 %_M_bucket_count.i21.i.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i.i.i.i.i, i64 48 - %91 = load i64, ptr %_M_bucket_count.i21.i.i.i.i, align 8 - %rem.i.i.i22.i.i.i.i = urem i64 %conv.i.i20.i.i.i.i, %91 - %92 = load ptr, ptr %second.i.i.i.i.i, align 8 - %arrayidx.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %92, i64 %rem.i.i.i22.i.i.i.i - %93 = load ptr, ptr %arrayidx.i.i.i.i.i.i, align 8 - %tobool.not.i.i.i68.i.i.i = icmp eq ptr %93, null + %78 = load i64, ptr %_M_bucket_count.i21.i.i.i.i, align 8 + %rem.i.i.i22.i.i.i.i = urem i64 %conv.i.i20.i.i.i.i, %78 + %79 = load ptr, ptr %second.i.i.i.i.i, align 8 + %arrayidx.i.i.i.i.i.i = getelementptr inbounds ptr, ptr %79, i64 %rem.i.i.i22.i.i.i.i + %80 = load ptr, ptr %arrayidx.i.i.i.i.i.i, align 8 + %tobool.not.i.i.i68.i.i.i = icmp eq ptr %80, null br i1 %tobool.not.i.i.i68.i.i.i, label %if.end25.i.i.i.i, label %if.end.i.i.i.i.i.i if.then.i71.i.i.i: ; preds = %_ZNSt3mapIjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEESt4lessIjESaISt4pairIKjS6_EEEixERSA_.exit.i.i.i.i @@ -4342,39 +4291,39 @@ for.cond.i.i.i.i: ; preds = %for.body.i74.i.i.i, for.body.i74.i.i.i: ; preds = %for.cond.i.i.i.i %add.ptr.i75.i.i.i = getelementptr inbounds i8, ptr %__it.sroa.0.0.i.i.i.i, i64 8 - %94 = load i32, ptr %add.ptr.i75.i.i.i, align 4 - %cmp.i.i.i76.i.i.i = icmp eq i32 %and68.i.i.i.i, %94 + %81 = load i32, ptr %add.ptr.i75.i.i.i, align 4 + %cmp.i.i.i76.i.i.i = icmp eq i32 %and68.i.i.i.i, %81 br i1 %cmp.i.i.i76.i.i.i, label %call3.i.i.i.i.noexc.i.i.i, label %for.cond.i.i.i.i, !llvm.loop !88 if.end13.i.i.i.i: ; preds = %for.cond.i.i.i.i %conv.i.i.i.i.i.i = zext nneg i32 %and68.i.i.i.i to i64 %_M_bucket_count.i.i.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i.i.i.i.i, i64 48 - %95 = load i64, ptr %_M_bucket_count.i.i.i.i.i, align 8 - %rem.i.i.i.i.i.i.i = urem i64 %conv.i.i.i.i.i.i, %95 + %82 = load i64, ptr %_M_bucket_count.i.i.i.i.i, align 8 + %rem.i.i.i.i.i.i.i = urem i64 %conv.i.i.i.i.i.i, %82 br label %if.end25.i.i.i.i if.end.i.i.i.i.i.i: ; preds = %if.end13.thread.i.i.i.i - %96 = load ptr, ptr %93, align 8 - %add.ptr8.i.i.i.i.i.i = getelementptr inbounds i8, ptr %96, i64 8 - %97 = load i32, ptr %add.ptr8.i.i.i.i.i.i, align 4 - %cmp.i.i.i9.i.i.i.i.i.i = icmp eq i32 %and68.i.i.i.i, %97 + %83 = load ptr, ptr %80, align 8 + %add.ptr8.i.i.i.i.i.i = getelementptr inbounds i8, ptr %83, i64 8 + %84 = load i32, ptr %add.ptr8.i.i.i.i.i.i, align 4 + %cmp.i.i.i9.i.i.i.i.i.i = icmp eq i32 %and68.i.i.i.i, %84 br i1 %cmp.i.i.i9.i.i.i.i.i.i, label %call3.i.i.i.i.noexc.i.i.i, label %if.end3.i.i.i.i.i.i for.cond.i.i.i.i.i.i: ; preds = %lor.lhs.false.i.i.i.i.i.i - %cmp.i.i.i.i.i.i70.i.i.i = icmp eq i32 %and68.i.i.i.i, %99 + %cmp.i.i.i.i.i.i70.i.i.i = icmp eq i32 %and68.i.i.i.i, %86 br i1 %cmp.i.i.i.i.i.i70.i.i.i, label %call3.i.i.i.i.noexc.i.i.i, label %if.end3.i.i.i.i.i.i, !llvm.loop !89 if.end3.i.i.i.i.i.i: ; preds = %if.end.i.i.i.i.i.i, %for.cond.i.i.i.i.i.i - %__p.010.i.i.i.i.i.i = phi ptr [ %98, %for.cond.i.i.i.i.i.i ], [ %96, %if.end.i.i.i.i.i.i ] - %98 = load ptr, ptr %__p.010.i.i.i.i.i.i, align 8 - %tobool5.not.i.i.i.i.i.i = icmp eq ptr %98, null + %__p.010.i.i.i.i.i.i = phi ptr [ %85, %for.cond.i.i.i.i.i.i ], [ %83, %if.end.i.i.i.i.i.i ] + %85 = load ptr, ptr %__p.010.i.i.i.i.i.i, align 8 + %tobool5.not.i.i.i.i.i.i = icmp eq ptr %85, null br i1 %tobool5.not.i.i.i.i.i.i, label %if.end25.i.i.i.i, label %lor.lhs.false.i.i.i.i.i.i lor.lhs.false.i.i.i.i.i.i: ; preds = %if.end3.i.i.i.i.i.i - %add.ptr7.i.i.i.i.i.i = getelementptr inbounds i8, ptr %98, i64 8 - %99 = load i32, ptr %add.ptr7.i.i.i.i.i.i, align 4 - %conv.i.i.i.i.i.i.i.i.i.i = zext i32 %99 to i64 - %rem.i.i.i.i.i.i.i.i.i = urem i64 %conv.i.i.i.i.i.i.i.i.i.i, %91 + %add.ptr7.i.i.i.i.i.i = getelementptr inbounds i8, ptr %85, i64 8 + %86 = load i32, ptr %add.ptr7.i.i.i.i.i.i, align 4 + %conv.i.i.i.i.i.i.i.i.i.i = zext i32 %86 to i64 + %rem.i.i.i.i.i.i.i.i.i = urem i64 %conv.i.i.i.i.i.i.i.i.i.i, %78 %cmp.not.i.i.i.i.i20.i = icmp eq i64 %rem.i.i.i.i.i.i.i.i.i, %rem.i.i.i22.i.i.i.i br i1 %cmp.not.i.i.i.i.i20.i, label %for.cond.i.i.i.i.i.i, label %if.end25.i.i.i.i, !llvm.loop !89 @@ -4390,17 +4339,17 @@ call5.i.i.i.i.i.i.noexc.i.i.i: ; preds = %if.end25.i.i.i.i store i32 %and68.i.i.i.i, ptr %add.ptr.i.i.i.i69.i.i.i, align 4 %_M_rehash_policy.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i.i.i.i.i, i64 72 %_M_next_resize.i.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i.i.i.i.i, i64 80 - %100 = load i64, ptr %_M_next_resize.i.i.i.i, align 8 + %87 = load i64, ptr %_M_next_resize.i.i.i.i, align 8 %_M_bucket_count.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i.i.i.i.i, i64 48 - %101 = load i64, ptr %_M_bucket_count.i.i.i, align 8 - %102 = load i64, ptr %_M_element_count.i.i.i.i.i, align 8 - %call3.i50.i.i = invoke { i8, i64 } @_ZNKSt8__detail20_Prime_rehash_policy14_M_need_rehashEmmm(ptr noundef nonnull align 8 dereferenceable(16) %_M_rehash_policy.i.i.i, i64 noundef %101, i64 noundef %102, i64 noundef 1) + %88 = load i64, ptr %_M_bucket_count.i.i.i, align 8 + %89 = load i64, ptr %_M_element_count.i.i.i.i.i, align 8 + %call3.i50.i.i = invoke { i8, i64 } @_ZNKSt8__detail20_Prime_rehash_policy14_M_need_rehashEmmm(ptr noundef nonnull align 8 dereferenceable(16) %_M_rehash_policy.i.i.i, i64 noundef %88, i64 noundef %89, i64 noundef 1) to label %call3.i.noexc.i.i unwind label %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE12_Scoped_nodeD2Ev.exit15.i.i.i.i call3.i.noexc.i.i: ; preds = %call5.i.i.i.i.i.i.noexc.i.i.i - %103 = extractvalue { i8, i64 } %call3.i50.i.i, 0 - %104 = and i8 %103, 1 - %tobool.not.i.i.i = icmp eq i8 %104, 0 + %90 = extractvalue { i8, i64 } %call3.i50.i.i, 0 + %91 = and i8 %90, 1 + %tobool.not.i.i.i = icmp eq i8 %91, 0 br i1 %tobool.not.i.i.i, label %call3.i.noexc.if.end.i43_crit_edge.i.i, label %if.then.i41.i.i call3.i.noexc.if.end.i43_crit_edge.i.i: ; preds = %call3.i.noexc.i.i @@ -4408,8 +4357,8 @@ call3.i.noexc.if.end.i43_crit_edge.i.i: ; preds = %call3.i.noexc.i.i br label %if.end.i43.i.i if.then.i41.i.i: ; preds = %call3.i.noexc.i.i - %105 = extractvalue { i8, i64 } %call3.i50.i.i, 1 - %cmp.i.i51.i.i = icmp eq i64 %105, 1 + %92 = extractvalue { i8, i64 } %call3.i50.i.i, 1 + %cmp.i.i51.i.i = icmp eq i64 %92, 1 br i1 %cmp.i.i51.i.i, label %if.then.i.i62.i.i, label %if.end.i.i52.i.i if.then.i.i62.i.i: ; preds = %if.then.i41.i.i @@ -4418,11 +4367,11 @@ if.then.i.i62.i.i: ; preds = %if.then.i41.i.i br label %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE19_M_allocate_bucketsEm.exit.i.i.i if.end.i.i52.i.i: ; preds = %if.then.i41.i.i - %cmp.i.i.i.i.i53.i.i = icmp ugt i64 %105, 1152921504606846975 + %cmp.i.i.i.i.i53.i.i = icmp ugt i64 %92, 1152921504606846975 br i1 %cmp.i.i.i.i.i53.i.i, label %if.then.i.i.i.i.i.i24.i, label %_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeIjLb0EEEEE19_M_allocate_bucketsEm.exit.i.i.i.i if.then.i.i.i.i.i.i24.i: ; preds = %if.end.i.i52.i.i - %cmp2.i.i.i.i.i.i.i = icmp ugt i64 %105, 2305843009213693951 + %cmp2.i.i.i.i.i.i.i = icmp ugt i64 %92, 2305843009213693951 br i1 %cmp2.i.i.i.i.i.i.i, label %if.then3.i.i.i.i.i.i.i, label %if.end.i.i.i.i.i.i.i if.then3.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i24.i @@ -4440,7 +4389,7 @@ if.end.i.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i.i.i unreachable _ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeIjLb0EEEEE19_M_allocate_bucketsEm.exit.i.i.i.i: ; preds = %if.end.i.i52.i.i - %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %105, 3 + %mul.i.i.i.i.i.i.i = shl nuw nsw i64 %92, 3 %call5.i.i4.i.i.i64.i.i = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %mul.i.i.i.i.i.i.i) #21 to label %call5.i.i4.i.i.i.noexc.i.i unwind label %lpad.i.i42.loopexit.i.i @@ -4451,31 +4400,31 @@ call5.i.i4.i.i.i.noexc.i.i: ; preds = %_ZNSt8__detail16_Ha _ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE19_M_allocate_bucketsEm.exit.i.i.i: ; preds = %call5.i.i4.i.i.i.noexc.i.i, %if.then.i.i62.i.i %retval.0.i.i.i.i = phi ptr [ %_M_single_bucket.i.i.i.i, %if.then.i.i62.i.i ], [ %call5.i.i4.i.i.i64.i.i, %call5.i.i4.i.i.i.noexc.i.i ] %_M_before_begin.i.i54.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i.i.i.i.i, i64 56 - %106 = load ptr, ptr %_M_before_begin.i.i54.i.i, align 8 + %93 = load ptr, ptr %_M_before_begin.i.i54.i.i, align 8 store ptr null, ptr %_M_before_begin.i.i54.i.i, align 8 - %tobool.not20.i.i.i = icmp eq ptr %106, null + %tobool.not20.i.i.i = icmp eq ptr %93, null br i1 %tobool.not20.i.i.i, label %while.end.i.i.i, label %while.body.i.i.i while.body.i.i.i: ; preds = %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE19_M_allocate_bucketsEm.exit.i.i.i, %if.end22.i.i.i - %__p.022.i.i.i = phi ptr [ %107, %if.end22.i.i.i ], [ %106, %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE19_M_allocate_bucketsEm.exit.i.i.i ] + %__p.022.i.i.i = phi ptr [ %94, %if.end22.i.i.i ], [ %93, %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE19_M_allocate_bucketsEm.exit.i.i.i ] %__bbegin_bkt.021.i.i.i = phi i64 [ %__bbegin_bkt.1.i.i.i, %if.end22.i.i.i ], [ 0, %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE19_M_allocate_bucketsEm.exit.i.i.i ] - %107 = load ptr, ptr %__p.022.i.i.i, align 8 + %94 = load ptr, ptr %__p.022.i.i.i, align 8 %add.ptr.i55.i.i = getelementptr inbounds i8, ptr %__p.022.i.i.i, i64 8 - %108 = load i32, ptr %add.ptr.i55.i.i, align 4 - %conv.i.i.i.i56.i.i = zext i32 %108 to i64 - %rem.i.i.i57.i.i = urem i64 %conv.i.i.i.i56.i.i, %105 + %95 = load i32, ptr %add.ptr.i55.i.i, align 4 + %conv.i.i.i.i56.i.i = zext i32 %95 to i64 + %rem.i.i.i57.i.i = urem i64 %conv.i.i.i.i56.i.i, %92 %arrayidx.i.i.i = getelementptr inbounds ptr, ptr %retval.0.i.i.i.i, i64 %rem.i.i.i57.i.i - %109 = load ptr, ptr %arrayidx.i.i.i, align 8 - %tobool5.not.i.i.i = icmp eq ptr %109, null + %96 = load ptr, ptr %arrayidx.i.i.i, align 8 + %tobool5.not.i.i.i = icmp eq ptr %96, null br i1 %tobool5.not.i.i.i, label %if.then.i61.i.i, label %if.else.i.i.i if.then.i61.i.i: ; preds = %while.body.i.i.i - %110 = load ptr, ptr %_M_before_begin.i.i54.i.i, align 8 - store ptr %110, ptr %__p.022.i.i.i, align 8 + %97 = load ptr, ptr %_M_before_begin.i.i54.i.i, align 8 + store ptr %97, ptr %__p.022.i.i.i, align 8 store ptr %__p.022.i.i.i, ptr %_M_before_begin.i.i54.i.i, align 8 store ptr %_M_before_begin.i.i54.i.i, ptr %arrayidx.i.i.i, align 8 - %111 = load ptr, ptr %__p.022.i.i.i, align 8 - %tobool14.not.i.i.i = icmp eq ptr %111, null + %98 = load ptr, ptr %__p.022.i.i.i, align 8 + %tobool14.not.i.i.i = icmp eq ptr %98, null br i1 %tobool14.not.i.i.i, label %if.end22.i.i.i, label %if.then15.i.i.i if.then15.i.i.i: ; preds = %if.then.i61.i.i @@ -4483,30 +4432,30 @@ if.then15.i.i.i: ; preds = %if.then.i61.i.i br label %if.end22.sink.split.i.i.i if.else.i.i.i: ; preds = %while.body.i.i.i - %112 = load ptr, ptr %109, align 8 - store ptr %112, ptr %__p.022.i.i.i, align 8 - %113 = load ptr, ptr %arrayidx.i.i.i, align 8 + %99 = load ptr, ptr %96, align 8 + store ptr %99, ptr %__p.022.i.i.i, align 8 + %100 = load ptr, ptr %arrayidx.i.i.i, align 8 br label %if.end22.sink.split.i.i.i if.end22.sink.split.i.i.i: ; preds = %if.else.i.i.i, %if.then15.i.i.i - %arrayidx16.sink.i.i.i = phi ptr [ %arrayidx16.i.i.i, %if.then15.i.i.i ], [ %113, %if.else.i.i.i ] + %arrayidx16.sink.i.i.i = phi ptr [ %arrayidx16.i.i.i, %if.then15.i.i.i ], [ %100, %if.else.i.i.i ] %__bbegin_bkt.1.ph.i.i.i = phi i64 [ %rem.i.i.i57.i.i, %if.then15.i.i.i ], [ %__bbegin_bkt.021.i.i.i, %if.else.i.i.i ] store ptr %__p.022.i.i.i, ptr %arrayidx16.sink.i.i.i, align 8 br label %if.end22.i.i.i if.end22.i.i.i: ; preds = %if.end22.sink.split.i.i.i, %if.then.i61.i.i %__bbegin_bkt.1.i.i.i = phi i64 [ %rem.i.i.i57.i.i, %if.then.i61.i.i ], [ %__bbegin_bkt.1.ph.i.i.i, %if.end22.sink.split.i.i.i ] - %tobool.not.i58.i.i = icmp eq ptr %107, null + %tobool.not.i58.i.i = icmp eq ptr %94, null br i1 %tobool.not.i58.i.i, label %while.end.i.i.i, label %while.body.i.i.i, !llvm.loop !90 while.end.i.i.i: ; preds = %if.end22.i.i.i, %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE19_M_allocate_bucketsEm.exit.i.i.i - %114 = load ptr, ptr %second.i.i.i.i.i, align 8 + %101 = load ptr, ptr %second.i.i.i.i.i, align 8 %_M_single_bucket.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i.i.i.i.i, i64 88 - %cmp.i.i.i.i59.i.i = icmp eq ptr %_M_single_bucket.i.i.i.i.i.i, %114 + %cmp.i.i.i.i59.i.i = icmp eq ptr %_M_single_bucket.i.i.i.i.i.i, %101 br i1 %cmp.i.i.i.i59.i.i, label %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE9_M_rehashEmRKm.exit.i.i.i, label %if.end.i.i.i.i.i if.end.i.i.i.i.i: ; preds = %while.end.i.i.i - call void @_ZdlPv(ptr noundef %114) #20 + call void @_ZdlPv(ptr noundef %101) #20 br label %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE9_M_rehashEmRKm.exit.i.i.i lpad.i.i42.loopexit.i.i: ; preds = %_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeIjLb0EEEEE19_M_allocate_bucketsEm.exit.i.i.i.i @@ -4522,90 +4471,90 @@ lpad.i.i42.loopexit.split-lp.i.i: ; preds = %if.end.i.i.i.i.i.i. lpad.i.i42.i.i: ; preds = %lpad.i.i42.loopexit.split-lp.i.i, %lpad.i.i42.loopexit.i.i %lpad.phi.i.i = phi { ptr, i32 } [ %lpad.loopexit.i.i, %lpad.i.i42.loopexit.i.i ], [ %lpad.loopexit.split-lp.i.i, %lpad.i.i42.loopexit.split-lp.i.i ] %_M_next_resize.i.i.i.i46 = getelementptr inbounds i8, ptr %__i.sroa.0.0.i.i.i.i.i, i64 80 - %115 = extractvalue { ptr, i32 } %lpad.phi.i.i, 0 - %116 = call ptr @__cxa_begin_catch(ptr %115) #19 - store i64 %100, ptr %_M_next_resize.i.i.i.i46, align 8 + %102 = extractvalue { ptr, i32 } %lpad.phi.i.i, 0 + %103 = call ptr @__cxa_begin_catch(ptr %102) #19 + store i64 %87, ptr %_M_next_resize.i.i.i.i46, align 8 invoke void @__cxa_rethrow() #22 to label %unreachable.i.i.i.i unwind label %lpad2.i.i.i.i lpad2.i.i.i.i: ; preds = %lpad.i.i42.i.i - %117 = landingpad { ptr, i32 } + %104 = landingpad { ptr, i32 } cleanup invoke void @__cxa_end_catch() to label %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE12_Scoped_nodeD2Ev.exit15.i.i.body.i.i unwind label %terminate.lpad.i.i.i.i terminate.lpad.i.i.i.i: ; preds = %lpad2.i.i.i.i - %118 = landingpad { ptr, i32 } + %105 = landingpad { ptr, i32 } catch ptr null - %119 = extractvalue { ptr, i32 } %118, 0 - call void @__clang_call_terminate(ptr %119) #23 + %106 = extractvalue { ptr, i32 } %105, 0 + call void @__clang_call_terminate(ptr %106) #23 unreachable unreachable.i.i.i.i: ; preds = %lpad.i.i42.i.i unreachable _ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE9_M_rehashEmRKm.exit.i.i.i: ; preds = %if.end.i.i.i.i.i, %while.end.i.i.i - store i64 %105, ptr %_M_bucket_count.i.i.i, align 8 + store i64 %92, ptr %_M_bucket_count.i.i.i, align 8 store ptr %retval.0.i.i.i.i, ptr %second.i.i.i.i.i, align 8 - %rem.i.i.i.i.i.i = urem i64 %conv.i.i23.i.i.i.i, %105 + %rem.i.i.i.i.i.i = urem i64 %conv.i.i23.i.i.i.i, %92 br label %if.end.i43.i.i if.end.i43.i.i: ; preds = %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE9_M_rehashEmRKm.exit.i.i.i, %call3.i.noexc.if.end.i43_crit_edge.i.i - %120 = phi ptr [ %retval.0.i.i.i.i, %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE9_M_rehashEmRKm.exit.i.i.i ], [ %.pre.i.i, %call3.i.noexc.if.end.i43_crit_edge.i.i ] + %107 = phi ptr [ %retval.0.i.i.i.i, %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE9_M_rehashEmRKm.exit.i.i.i ], [ %.pre.i.i, %call3.i.noexc.if.end.i43_crit_edge.i.i ] %__bkt.addr.0.i.i.i = phi i64 [ %rem.i.i.i.i.i.i, %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE9_M_rehashEmRKm.exit.i.i.i ], [ %rem.i.i.i25.i.i.i.i, %call3.i.noexc.if.end.i43_crit_edge.i.i ] - %arrayidx.i.i44.i.i = getelementptr inbounds ptr, ptr %120, i64 %__bkt.addr.0.i.i.i - %121 = load ptr, ptr %arrayidx.i.i44.i.i, align 8 - %tobool.not.i.i45.i.i = icmp eq ptr %121, null + %arrayidx.i.i44.i.i = getelementptr inbounds ptr, ptr %107, i64 %__bkt.addr.0.i.i.i + %108 = load ptr, ptr %arrayidx.i.i44.i.i, align 8 + %tobool.not.i.i45.i.i = icmp eq ptr %108, null br i1 %tobool.not.i.i45.i.i, label %if.else.i.i.i.i, label %if.then.i.i46.i.i if.then.i.i46.i.i: ; preds = %if.end.i43.i.i - %122 = load ptr, ptr %121, align 8 - store ptr %122, ptr %call5.i.i.i.i.i.i77.i.i.i, align 8 - %123 = load ptr, ptr %second.i.i.i.i.i, align 8 - %arrayidx6.i.i.i.i = getelementptr inbounds ptr, ptr %123, i64 %__bkt.addr.0.i.i.i - %124 = load ptr, ptr %arrayidx6.i.i.i.i, align 8 - store ptr %call5.i.i.i.i.i.i77.i.i.i, ptr %124, align 8 + %109 = load ptr, ptr %108, align 8 + store ptr %109, ptr %call5.i.i.i.i.i.i77.i.i.i, align 8 + %110 = load ptr, ptr %second.i.i.i.i.i, align 8 + %arrayidx6.i.i.i.i = getelementptr inbounds ptr, ptr %110, i64 %__bkt.addr.0.i.i.i + %111 = load ptr, ptr %arrayidx6.i.i.i.i, align 8 + store ptr %call5.i.i.i.i.i.i77.i.i.i, ptr %111, align 8 br label %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE21_M_insert_unique_nodeEmmPNS1_10_Hash_nodeIjLb0EEEm.exit.i.i if.else.i.i.i.i: ; preds = %if.end.i43.i.i %_M_before_begin.i.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i.i.i.i.i, i64 56 - %125 = load ptr, ptr %_M_before_begin.i.i.i.i, align 8 - store ptr %125, ptr %call5.i.i.i.i.i.i77.i.i.i, align 8 + %112 = load ptr, ptr %_M_before_begin.i.i.i.i, align 8 + store ptr %112, ptr %call5.i.i.i.i.i.i77.i.i.i, align 8 store ptr %call5.i.i.i.i.i.i77.i.i.i, ptr %_M_before_begin.i.i.i.i, align 8 - %126 = load ptr, ptr %call5.i.i.i.i.i.i77.i.i.i, align 8 - %tobool13.not.i.i.i.i = icmp eq ptr %126, null + %113 = load ptr, ptr %call5.i.i.i.i.i.i77.i.i.i, align 8 + %tobool13.not.i.i.i.i = icmp eq ptr %113, null br i1 %tobool13.not.i.i.i.i, label %if.end.i.i.i.i, label %if.then14.i.i.i.i if.then14.i.i.i.i: ; preds = %if.else.i.i.i.i - %127 = load ptr, ptr %second.i.i.i.i.i, align 8 - %add.ptr.i.i48.i.i = getelementptr inbounds i8, ptr %126, i64 8 - %128 = load i64, ptr %_M_bucket_count.i.i.i, align 8 - %129 = load i32, ptr %add.ptr.i.i48.i.i, align 4 - %conv.i.i.i.i.i.i.i.i = zext i32 %129 to i64 - %rem.i.i.i.i.i49.i.i = urem i64 %conv.i.i.i.i.i.i.i.i, %128 - %arrayidx17.i.i.i.i = getelementptr inbounds ptr, ptr %127, i64 %rem.i.i.i.i.i49.i.i + %114 = load ptr, ptr %second.i.i.i.i.i, align 8 + %add.ptr.i.i48.i.i = getelementptr inbounds i8, ptr %113, i64 8 + %115 = load i64, ptr %_M_bucket_count.i.i.i, align 8 + %116 = load i32, ptr %add.ptr.i.i48.i.i, align 4 + %conv.i.i.i.i.i.i.i.i = zext i32 %116 to i64 + %rem.i.i.i.i.i49.i.i = urem i64 %conv.i.i.i.i.i.i.i.i, %115 + %arrayidx17.i.i.i.i = getelementptr inbounds ptr, ptr %114, i64 %rem.i.i.i.i.i49.i.i store ptr %call5.i.i.i.i.i.i77.i.i.i, ptr %arrayidx17.i.i.i.i, align 8 br label %if.end.i.i.i.i if.end.i.i.i.i: ; preds = %if.then14.i.i.i.i, %if.else.i.i.i.i - %130 = load ptr, ptr %second.i.i.i.i.i, align 8 - %arrayidx20.i.i.i.i = getelementptr inbounds ptr, ptr %130, i64 %__bkt.addr.0.i.i.i + %117 = load ptr, ptr %second.i.i.i.i.i, align 8 + %arrayidx20.i.i.i.i = getelementptr inbounds ptr, ptr %117, i64 %__bkt.addr.0.i.i.i store ptr %_M_before_begin.i.i.i.i, ptr %arrayidx20.i.i.i.i, align 8 br label %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE21_M_insert_unique_nodeEmmPNS1_10_Hash_nodeIjLb0EEEm.exit.i.i _ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE21_M_insert_unique_nodeEmmPNS1_10_Hash_nodeIjLb0EEEm.exit.i.i: ; preds = %if.end.i.i.i.i, %if.then.i.i46.i.i - %131 = load i64, ptr %_M_element_count.i.i.i.i.i, align 8 - %inc.i47.i.i = add i64 %131, 1 + %118 = load i64, ptr %_M_element_count.i.i.i.i.i, align 8 + %inc.i47.i.i = add i64 %118, 1 store i64 %inc.i47.i.i, ptr %_M_element_count.i.i.i.i.i, align 8 br label %call3.i.i.i.i.noexc.i.i.i _ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE12_Scoped_nodeD2Ev.exit15.i.i.i.i: ; preds = %call5.i.i.i.i.i.i.noexc.i.i.i - %132 = landingpad { ptr, i32 } + %119 = landingpad { ptr, i32 } cleanup br label %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE12_Scoped_nodeD2Ev.exit15.i.i.body.i.i _ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE12_Scoped_nodeD2Ev.exit15.i.i.body.i.i: ; preds = %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE12_Scoped_nodeD2Ev.exit15.i.i.i.i, %lpad2.i.i.i.i - %eh.lpad-body.i.i = phi { ptr, i32 } [ %132, %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE12_Scoped_nodeD2Ev.exit15.i.i.i.i ], [ %117, %lpad2.i.i.i.i ] + %eh.lpad-body.i.i = phi { ptr, i32 } [ %119, %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE12_Scoped_nodeD2Ev.exit15.i.i.i.i ], [ %104, %lpad2.i.i.i.i ] call void @_ZdlPv(ptr noundef nonnull %call5.i.i.i.i.i.i77.i.i.i) #20 br label %lpad26.body.i.i.i @@ -4620,79 +4569,79 @@ if.then.i.i26.i: ; preds = %for.end.i.i.i.i %div2.i.i.i.i = lshr i32 %call24.i.i.i, 3 %idxprom.i.i.i.i = zext nneg i32 %div2.i.i.i.i to i64 %arrayidx.i.i.i.i = getelementptr inbounds i8, ptr %defaultMask.sroa.0.0.i.i.i, i64 %idxprom.i.i.i.i - %133 = load i8, ptr %arrayidx.i.i.i.i, align 1 - %134 = trunc i32 %shl.i39.i.i.i to i8 - %135 = xor i8 %134, -1 - %conv1.i.i.i.i = and i8 %133, %135 + %120 = load i8, ptr %arrayidx.i.i.i.i, align 1 + %121 = trunc i32 %shl.i39.i.i.i to i8 + %122 = xor i8 %121, -1 + %conv1.i.i.i.i = and i8 %120, %122 store i8 %conv1.i.i.i.i, ptr %arrayidx.i.i.i.i, align 1 br label %cleanup.i.i.i lpad26.i.i.i: ; preds = %if.end25.i.i.i.i, %if.then.i.i.i.i.i - %136 = landingpad { ptr, i32 } + %123 = landingpad { ptr, i32 } cleanup br label %lpad26.body.i.i.i lpad26.body.i.i.i: ; preds = %lpad26.i.i.i, %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE12_Scoped_nodeD2Ev.exit15.i.i.body.i.i, %lpad.i.i.i.i - %eh.lpad-body.i.i.i = phi { ptr, i32 } [ %eh.lpad-body.i.i, %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE12_Scoped_nodeD2Ev.exit15.i.i.body.i.i ], [ %136, %lpad26.i.i.i ], [ %84, %lpad.i.i.i.i ] + %eh.lpad-body.i.i.i = phi { ptr, i32 } [ %eh.lpad-body.i.i, %_ZNSt10_HashtableIjjSaIjENSt8__detail9_IdentityESt8equal_toIjESt4hashIjENS1_18_Mod_range_hashingENS1_20_Default_ranged_hashENS1_20_Prime_rehash_policyENS1_17_Hashtable_traitsILb0ELb1ELb1EEEE12_Scoped_nodeD2Ev.exit15.i.i.body.i.i ], [ %123, %lpad26.i.i.i ], [ %71, %lpad.i.i.i.i ] call void @_ZNSt3mapIjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEESt4lessIjESaISt4pairIKjS6_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %m2.i.i.i) #19 br label %ehcleanup.i.i.i if.end.i.i.i: ; preds = %call3.i.i.i.i.noexc.i.i.i - %.pre128.i.i.i = load ptr, ptr %_M_left.i.i.i.i.i.i.i.i, align 8, !noalias !106 - %cmp.i41.not112.i.i.i = icmp eq ptr %.pre128.i.i.i, %24 - br i1 %cmp.i41.not112.i.i.i, label %cleanup.i.i.i, label %for.body36.lr.ph.i.i.i + %.pre124.i.i.i = load ptr, ptr %_M_left.i.i.i.i.i.i.i.i, align 8, !noalias !106 + %cmp.i41.not110.i.i.i = icmp eq ptr %.pre124.i.i.i, %24 + br i1 %cmp.i41.not110.i.i.i, label %cleanup.i.i.i, label %for.body36.lr.ph.i.i.i for.body36.lr.ph.i.i.i: ; preds = %if.end.i.i.i %rem.i48.i.i.i = and i32 %call24.i.i.i, 7 %shl.i49.i.i.i = shl nuw nsw i32 1, %rem.i48.i.i.i %div2.i50.i.i.i = lshr i32 %call24.i.i.i, 3 %idxprom.i51.i.i.i = zext nneg i32 %div2.i50.i.i.i to i64 - %137 = trunc i32 %shl.i49.i.i.i to i8 - %138 = xor i8 %137, -1 + %124 = trunc i32 %shl.i49.i.i.i to i8 + %125 = xor i8 %124, -1 br label %for.body36.i.i.i for.body36.i.i.i: ; preds = %for.inc61.i.i.i, %for.body36.lr.ph.i.i.i - %__begin4.sroa.0.0113.i.i.i = phi ptr [ %.pre128.i.i.i, %for.body36.lr.ph.i.i.i ], [ %call.i.i.i.i, %for.inc61.i.i.i ] - %_M_storage.i.i.i.i.i = getelementptr inbounds i8, ptr %__begin4.sroa.0.0113.i.i.i, i64 32 - %139 = load i32, ptr %_M_storage.i.i.i.i.i, align 8 - %not.i.i.i = xor i32 %139, -1 - %sub.i.i.i = sub i32 0, %139 - %and56.i.i.i = and i32 %139, %sub.i.i.i - %_M_before_begin.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__begin4.sroa.0.0113.i.i.i, i64 56 - %140 = load ptr, ptr %_M_before_begin.i.i.i.i.i.i, align 8 - %141 = icmp eq ptr %140, null - br i1 %141, label %for.inc61.i.i.i, label %do.body.i.i.i + %__begin4.sroa.0.0111.i.i.i = phi ptr [ %.pre124.i.i.i, %for.body36.lr.ph.i.i.i ], [ %call.i.i.i.i, %for.inc61.i.i.i ] + %_M_storage.i.i.i.i.i = getelementptr inbounds i8, ptr %__begin4.sroa.0.0111.i.i.i, i64 32 + %126 = load i32, ptr %_M_storage.i.i.i.i.i, align 8 + %not.i.i.i = xor i32 %126, -1 + %sub.i.i.i = sub i32 0, %126 + %and56.i.i.i = and i32 %126, %sub.i.i.i + %_M_before_begin.i.i.i.i.i.i = getelementptr inbounds i8, ptr %__begin4.sroa.0.0111.i.i.i, i64 56 + %127 = load ptr, ptr %_M_before_begin.i.i.i.i.i.i, align 8 + %128 = icmp eq ptr %127, null + br i1 %128, label %for.inc61.i.i.i, label %do.body.i.i.i do.bodythread-pre-split.i.i.i: ; preds = %for.end55.i.i.i - %__begin6.sroa.0.0109.pr.i.i.i = load ptr, ptr %_M_before_begin.i.i.i.i.i.i, align 8 + %__begin6.sroa.0.0107.pr.i.i.i = load ptr, ptr %_M_before_begin.i.i.i.i.i.i, align 8 br label %do.body.i.i.i do.body.i.i.i: ; preds = %for.body36.i.i.i, %do.bodythread-pre-split.i.i.i - %__begin6.sroa.0.0109.i.i.i = phi ptr [ %__begin6.sroa.0.0109.pr.i.i.i, %do.bodythread-pre-split.i.i.i ], [ %140, %for.body36.i.i.i ] + %__begin6.sroa.0.0107.i.i.i = phi ptr [ %__begin6.sroa.0.0107.pr.i.i.i, %do.bodythread-pre-split.i.i.i ], [ %127, %for.body36.i.i.i ] %v.0.i.i.i = phi i32 [ %or58.i.i.i, %do.bodythread-pre-split.i.i.i ], [ %not.i.i.i, %for.body36.i.i.i ] - %and.i.i.i = and i32 %v.0.i.i.i, %139 - %cmp.i42.not110.i.i.i = icmp eq ptr %__begin6.sroa.0.0109.i.i.i, null - br i1 %cmp.i42.not110.i.i.i, label %for.end55.i.i.i, label %for.body46.i.i.i + %and.i.i.i = and i32 %v.0.i.i.i, %126 + %cmp.i42.not108.i.i.i = icmp eq ptr %__begin6.sroa.0.0107.i.i.i, null + br i1 %cmp.i42.not108.i.i.i, label %for.end55.i.i.i, label %for.body46.i.i.i for.body46.i.i.i: ; preds = %do.body.i.i.i, %for.body46.i.i.i - %__begin6.sroa.0.0111.i.i.i = phi ptr [ %__begin6.sroa.0.0.i.i.i, %for.body46.i.i.i ], [ %__begin6.sroa.0.0109.i.i.i, %do.body.i.i.i ] - %add.ptr.i43.i.i.i = getelementptr inbounds i8, ptr %__begin6.sroa.0.0111.i.i.i, i64 8 - %142 = load i32, ptr %add.ptr.i43.i.i.i, align 4 - %and49.i.i.i = and i32 %142, %not.i.i.i + %__begin6.sroa.0.0109.i.i.i = phi ptr [ %__begin6.sroa.0.0.i.i.i, %for.body46.i.i.i ], [ %__begin6.sroa.0.0107.i.i.i, %do.body.i.i.i ] + %add.ptr.i43.i.i.i = getelementptr inbounds i8, ptr %__begin6.sroa.0.0109.i.i.i, i64 8 + %129 = load i32, ptr %add.ptr.i43.i.i.i, align 4 + %and49.i.i.i = and i32 %129, %not.i.i.i %or.i.i.i = or i32 %and49.i.i.i, %and.i.i.i %this.val27.i.i.i = load ptr, ptr %fc.i, align 8, !noalias !106 %this.val28.i.i.i = load ptr, ptr %tab.i.i, align 8, !noalias !106 - %143 = getelementptr i8, ptr %this.val27.i.i.i, i64 36 - %this.val27.val.i.i.i = load i32, ptr %143, align 4 + %130 = getelementptr i8, ptr %this.val27.i.i.i, i64 36 + %this.val27.val.i.i.i = load i32, ptr %130, align 4 %div1.i44.i.i.i = lshr i32 %this.val27.val.i.i.i, 3 %mul.i45.i.i.i = mul i32 %div1.i44.i.i.i, %or.i.i.i %idx.ext.i46.i.i.i = zext i32 %mul.i45.i.i.i to i64 %add.ptr.i47.i.i.i = getelementptr inbounds i8, ptr %this.val28.i.i.i, i64 %idx.ext.i46.i.i.i %arrayidx.i52.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i47.i.i.i, i64 %idxprom.i51.i.i.i - %144 = load i8, ptr %arrayidx.i52.i.i.i, align 1 - %conv1.i53.i.i.i = and i8 %144, %138 + %131 = load i8, ptr %arrayidx.i52.i.i.i, align 1 + %conv1.i53.i.i.i = and i8 %131, %125 store i8 %conv1.i53.i.i.i, ptr %arrayidx.i52.i.i.i, align 1 - %__begin6.sroa.0.0.i.i.i = load ptr, ptr %__begin6.sroa.0.0111.i.i.i, align 8 + %__begin6.sroa.0.0.i.i.i = load ptr, ptr %__begin6.sroa.0.0109.i.i.i, align 8 %cmp.i42.not.i.i.i = icmp eq ptr %__begin6.sroa.0.0.i.i.i, null br i1 %cmp.i42.not.i.i.i, label %for.end55.i.i.i, label %for.body46.i.i.i @@ -4703,45 +4652,45 @@ for.end55.i.i.i: ; preds = %for.body46.i.i.i, % br i1 %cmp60.not.i.i.i, label %for.inc61.i.i.i, label %do.bodythread-pre-split.i.i.i, !llvm.loop !111 for.inc61.i.i.i: ; preds = %for.end55.i.i.i, %for.body36.i.i.i - %call.i.i.i.i = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %__begin4.sroa.0.0113.i.i.i) #24 + %call.i.i.i.i = call noundef ptr @_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base(ptr noundef %__begin4.sroa.0.0111.i.i.i) #24 %cmp.i41.not.i.i.i = icmp eq ptr %call.i.i.i.i, %24 br i1 %cmp.i41.not.i.i.i, label %cleanup.i.i.i, label %for.body36.i.i.i cleanup.i.i.i: ; preds = %for.inc61.i.i.i, %if.end.i.i.i, %if.then.i.i26.i, %invoke.cont23.i.i.i - %145 = load ptr, ptr %_M_parent.i.i.i.i.i35.i.i.i, align 8, !noalias !106 - invoke void @_ZNSt8_Rb_treeIjSt4pairIKjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEEESt10_Select1stIS9_ESt4lessIjESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %m2.i.i.i, ptr noundef %145) + %132 = load ptr, ptr %_M_parent.i.i.i.i.i35.i.i.i, align 8, !noalias !106 + invoke void @_ZNSt8_Rb_treeIjSt4pairIKjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEEESt10_Select1stIS9_ESt4lessIjESaIS9_EE8_M_eraseEPSt13_Rb_tree_nodeIS9_E(ptr noundef nonnull align 8 dereferenceable(48) %m2.i.i.i, ptr noundef %132) to label %_ZNSt3mapIjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEESt4lessIjESaISt4pairIKjS6_EEED2Ev.exit.i.i.i unwind label %terminate.lpad.i.i.i.i.i terminate.lpad.i.i.i.i.i: ; preds = %cleanup.i.i.i - %146 = landingpad { ptr, i32 } + %133 = landingpad { ptr, i32 } catch ptr null - %147 = extractvalue { ptr, i32 } %146, 0 - call void @__clang_call_terminate(ptr %147) #23 + %134 = extractvalue { ptr, i32 } %133, 0 + call void @__clang_call_terminate(ptr %134) #23 unreachable _ZNSt3mapIjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEESt4lessIjESaISt4pairIKjS6_EEED2Ev.exit.i.i.i: ; preds = %cleanup.i.i.i - %indvars.iv.next.i.i.i = add nuw nsw i64 %indvars.iv.i.i.i, 1 - %exitcond126.not.i.i.i = icmp eq i64 %indvars.iv.next.i.i.i, %wide.trip.count.i.i.i - br i1 %exitcond126.not.i.i.i, label %for.inc67.i.i.i, label %for.body21.i.i.i, !llvm.loop !112 + %inc65.i.i.i = add nuw i32 %pos.0113.i.i.i, 1 + %exitcond.not.i.i.i = icmp eq i32 %inc65.i.i.i, %call18.i.i.i + br i1 %exitcond.not.i.i.i, label %for.inc67.i.i.i, label %for.body21.i.i.i, !llvm.loop !112 for.inc67.i.i.i: ; preds = %_ZNSt3mapIjSt13unordered_setIjSt4hashIjESt8equal_toIjESaIjEESt4lessIjESaISt4pairIKjS6_EEED2Ev.exit.i.i.i, %for.cond19.preheader.i.i.i - %148 = load i32, ptr %b.i.i.i, align 4, !noalias !106 - %inc68.i.i.i = add i32 %148, 1 + %135 = load i32, ptr %b.i.i.i, align 4, !noalias !106 + %inc68.i.i.i = add i32 %135, 1 store i32 %inc68.i.i.i, ptr %b.i.i.i, align 4, !noalias !106 - %149 = load ptr, ptr %fc.i, align 8, !noalias !106 - %numBuckets.i.i.i.i = getelementptr inbounds i8, ptr %149, i64 32 - %150 = load i32, ptr %numBuckets.i.i.i.i, align 8 - %cmp12.i.i.i = icmp ult i32 %inc68.i.i.i, %150 + %136 = load ptr, ptr %fc.i, align 8, !noalias !106 + %numBuckets.i.i.i.i = getelementptr inbounds i8, ptr %136, i64 32 + %137 = load i32, ptr %numBuckets.i.i.i.i, align 8 + %cmp12.i.i.i = icmp ult i32 %inc68.i.i.i, %137 br i1 %cmp12.i.i.i, label %for.body13.i.i.i, label %for.cond71.preheader.i.i.i, !llvm.loop !113 for.body75.i.i.i: ; preds = %for.cond71.preheader.i.i.i, %_ZN3ue212_GLOBAL__N_17andMaskEPhPKhS3_j.exit.loopexit.i.i.i - %151 = phi ptr [ %155, %_ZN3ue212_GLOBAL__N_17andMaskEPhPKhS3_j.exit.loopexit.i.i.i ], [ %29, %for.cond71.preheader.i.i.i ] - %i70.0121.i.i.i = phi i32 [ %inc82.i.i.i, %_ZN3ue212_GLOBAL__N_17andMaskEPhPKhS3_j.exit.loopexit.i.i.i ], [ 0, %for.cond71.preheader.i.i.i ] + %138 = phi ptr [ %142, %_ZN3ue212_GLOBAL__N_17andMaskEPhPKhS3_j.exit.loopexit.i.i.i ], [ %29, %for.cond71.preheader.i.i.i ] + %i70.0119.i.i.i = phi i32 [ %inc82.i.i.i, %_ZN3ue212_GLOBAL__N_17andMaskEPhPKhS3_j.exit.loopexit.i.i.i ], [ 0, %for.cond71.preheader.i.i.i ] %this.val30.i.i.i = load ptr, ptr %tab.i.i, align 8, !noalias !106 - %152 = getelementptr i8, ptr %151, i64 36 - %this.val29.val.i.i.i = load i32, ptr %152, align 4 + %139 = getelementptr i8, ptr %138, i64 36 + %this.val29.val.i.i.i = load i32, ptr %139, align 4 %div1.i56.i.i.i = lshr i32 %this.val29.val.i.i.i, 3 - %mul.i57.i.i.i = mul i32 %div1.i56.i.i.i, %i70.0121.i.i.i + %mul.i57.i.i.i = mul i32 %div1.i56.i.i.i, %i70.0119.i.i.i %idx.ext.i58.i.i.i = zext i32 %mul.i57.i.i.i to i64 %add.ptr.i59.i.i.i = getelementptr inbounds i8, ptr %this.val30.i.i.i, i64 %idx.ext.i58.i.i.i br label %for.body.i60.i.i.i @@ -4749,21 +4698,21 @@ for.body75.i.i.i: ; preds = %for.cond71.preheade for.body.i60.i.i.i: ; preds = %for.body.i60.i.i.i, %for.body75.i.i.i %indvars.iv.i61.i.i.i = phi i64 [ %indvars.iv.next.i63.i.i.i, %for.body.i60.i.i.i ], [ 0, %for.body75.i.i.i ] %arrayidx.i62.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i59.i.i.i, i64 %indvars.iv.i61.i.i.i - %153 = load i8, ptr %arrayidx.i62.i.i.i, align 1 + %140 = load i8, ptr %arrayidx.i62.i.i.i, align 1 %arrayidx2.i.i.i.i = getelementptr inbounds i8, ptr %defaultMask.sroa.0.0.i.i.i, i64 %indvars.iv.i61.i.i.i - %154 = load i8, ptr %arrayidx2.i.i.i.i, align 1 - %and5.i.i.i.i = and i8 %154, %153 + %141 = load i8, ptr %arrayidx2.i.i.i.i, align 1 + %and5.i.i.i.i = and i8 %141, %140 store i8 %and5.i.i.i.i, ptr %arrayidx.i62.i.i.i, align 1 %indvars.iv.next.i63.i.i.i = add nuw nsw i64 %indvars.iv.i61.i.i.i, 1 %exitcond.not.i.i.i.i = icmp eq i64 %indvars.iv.next.i63.i.i.i, %conv.i.i.i br i1 %exitcond.not.i.i.i.i, label %_ZN3ue212_GLOBAL__N_17andMaskEPhPKhS3_j.exit.loopexit.i.i.i, label %for.body.i60.i.i.i, !llvm.loop !114 _ZN3ue212_GLOBAL__N_17andMaskEPhPKhS3_j.exit.loopexit.i.i.i: ; preds = %for.body.i60.i.i.i - %inc82.i.i.i = add i32 %i70.0121.i.i.i, 1 - %155 = load ptr, ptr %fc.i, align 8, !noalias !106 - %bits.i54.i.i.i = getelementptr inbounds i8, ptr %155, i64 44 - %156 = load i32, ptr %bits.i54.i.i.i, align 4 - %i70.0.highbits.i.i.i = lshr i32 %inc82.i.i.i, %156 + %inc82.i.i.i = add i32 %i70.0119.i.i.i, 1 + %142 = load ptr, ptr %fc.i, align 8, !noalias !106 + %bits.i54.i.i.i = getelementptr inbounds i8, ptr %142, i64 44 + %143 = load i32, ptr %bits.i54.i.i.i, align 4 + %i70.0.highbits.i.i.i = lshr i32 %inc82.i.i.i, %143 %cmp74.i.i.i = icmp eq i32 %i70.0.highbits.i.i.i, 0 br i1 %cmp74.i.i.i, label %for.body75.i.i.i, label %if.then.i.i.i.i.i22.i, !llvm.loop !115 @@ -4786,60 +4735,60 @@ if.then.i.i.i66.i.i.i: ; preds = %ehcleanup.i.i.i br label %lpad5.body.i _ZN3ue212_GLOBAL__N_111FDRCompiler8setupTabEv.exit.i.i: ; preds = %if.then.i.i.i.i.i22.i, %for.end83.i.i.i - %157 = phi ptr [ %29, %for.end83.i.i.i ], [ %.pre94.i.i, %if.then.i.i.i.i.i22.i ] + %144 = phi ptr [ %29, %for.end83.i.i.i ], [ %.pre94.i.i, %if.then.i.i.i.i.i22.i ] call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %b.i.i.i), !noalias !106 call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %m2.i.i.i), !noalias !106 call void @llvm.experimental.noalias.scope.decl(metadata !119) call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %floodTable.i.i.i), !noalias !106 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %confirmTable.i.i.i), !noalias !106 - %158 = load ptr, ptr %grey.i.i, align 8, !noalias !116 - invoke void @_ZN3ue220setupFDRFloodControlERKSt6vectorINS_11hwlmLiteralESaIS1_EERKNS_17EngineDescriptionERKNS_4GreyE(ptr nonnull sret(%"class.ue2::bytecode_ptr.209") align 8 %floodTable.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %lits.i.i, ptr noundef nonnull align 8 dereferenceable(36) %157, ptr noundef nonnull align 8 dereferenceable(292) %158) + %145 = load ptr, ptr %grey.i.i, align 8, !noalias !116 + invoke void @_ZN3ue220setupFDRFloodControlERKSt6vectorINS_11hwlmLiteralESaIS1_EERKNS_17EngineDescriptionERKNS_4GreyE(ptr nonnull sret(%"class.ue2::bytecode_ptr.209") align 8 %floodTable.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %lits.i.i, ptr noundef nonnull align 8 dereferenceable(36) %144, ptr noundef nonnull align 8 dereferenceable(292) %145) to label %.noexc.i unwind label %lpad5.i .noexc.i: ; preds = %_ZN3ue212_GLOBAL__N_111FDRCompiler8setupTabEv.exit.i.i - %159 = load ptr, ptr %fc.i, align 8, !noalias !116 + %146 = load ptr, ptr %fc.i, align 8, !noalias !116 %bucketToLits.i2.i.i = getelementptr inbounds i8, ptr %fc.i, i64 64 - %160 = load i8, ptr %make_small.i.i3336, align 8, !noalias !116 - %161 = and i8 %160, 1 - %tobool.i.i.i = icmp ne i8 %161, 0 - invoke void @_ZN3ue214setupFullConfsERKSt6vectorINS_11hwlmLiteralESaIS1_EERKNS_17EngineDescriptionERKSt3mapIjS0_IjSaIjEESt4lessIjESaISt4pairIKjSB_EEEb(ptr nonnull sret(%"class.ue2::bytecode_ptr.209") align 8 %confirmTable.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %lits.i.i, ptr noundef nonnull align 8 dereferenceable(36) %159, ptr noundef nonnull align 8 dereferenceable(48) %bucketToLits.i2.i.i, i1 noundef zeroext %tobool.i.i.i) + %147 = load i8, ptr %make_small.i.i3336, align 8, !noalias !116 + %148 = and i8 %147, 1 + %tobool.i.i.i = icmp ne i8 %148, 0 + invoke void @_ZN3ue214setupFullConfsERKSt6vectorINS_11hwlmLiteralESaIS1_EERKNS_17EngineDescriptionERKSt3mapIjS0_IjSaIjEESt4lessIjESaISt4pairIKjSB_EEEb(ptr nonnull sret(%"class.ue2::bytecode_ptr.209") align 8 %confirmTable.i.i.i, ptr noundef nonnull align 8 dereferenceable(24) %lits.i.i, ptr noundef nonnull align 8 dereferenceable(36) %146, ptr noundef nonnull align 8 dereferenceable(48) %bucketToLits.i2.i.i, i1 noundef zeroext %tobool.i.i.i) to label %invoke.cont6.i.i.i unwind label %lpad.i.i.i, !noalias !119 invoke.cont6.i.i.i: ; preds = %.noexc.i - %162 = load ptr, ptr %fc.i, align 8, !noalias !116 - %schemeWidth.i.i3.i.i = getelementptr inbounds i8, ptr %162, i64 36 - %163 = load i32, ptr %schemeWidth.i.i3.i.i, align 4 - %div1.i.i4.i.i = lshr i32 %163, 3 - %bits.i.i.i.i.i = getelementptr inbounds i8, ptr %162, i64 44 - %164 = load i32, ptr %bits.i.i.i.i.i, align 4 - %mul2.i.i.i.i = shl i32 %div1.i.i4.i.i, %164 + %149 = load ptr, ptr %fc.i, align 8, !noalias !116 + %schemeWidth.i.i3.i.i = getelementptr inbounds i8, ptr %149, i64 36 + %150 = load i32, ptr %schemeWidth.i.i3.i.i, align 4 + %div1.i.i4.i.i = lshr i32 %150, 3 + %bits.i.i.i.i.i = getelementptr inbounds i8, ptr %149, i64 44 + %151 = load i32, ptr %bits.i.i.i.i.i, align 4 + %mul2.i.i.i.i = shl i32 %div1.i.i4.i.i, %151 %conv.i5.i.i = zext i32 %mul2.i.i.i.i to i64 %add7.i.i.i = add nuw nsw i64 %conv.i5.i.i, 63 %and8.i.i.i = and i64 %add7.i.i.i, 8589934528 %bytes.i.i.i.i = getelementptr inbounds i8, ptr %confirmTable.i.i.i, i64 8 - %165 = load i64, ptr %bytes.i.i.i.i, align 8, !noalias !116 - %add12.i.i.i = add i64 %165, 63 + %152 = load i64, ptr %bytes.i.i.i.i, align 8, !noalias !116 + %add12.i.i.i = add i64 %152, 63 %and13.i.i.i = and i64 %add12.i.i.i, -64 %bytes.i15.i.i.i = getelementptr inbounds i8, ptr %floodTable.i.i.i, i64 8 - %166 = load i64, ptr %bytes.i15.i.i.i, align 8, !noalias !116 - %add9.i.i.i = add i64 %166, 64 + %153 = load i64, ptr %bytes.i15.i.i.i, align 8, !noalias !116 + %add9.i.i.i = add i64 %153, 64 %add14.i.i.i = add i64 %add9.i.i.i, %and13.i.i.i %add17.i.i.i = add i64 %add14.i.i.i, %and8.i.i.i invoke void @_ZN3ue212bytecode_ptrI3FDREC2Emm(ptr noundef nonnull align 8 dereferenceable(24) %agg.result, i64 noundef %add17.i.i.i, i64 noundef 64) to label %invoke.cont18.i.i.i unwind label %lpad5.i.i.i invoke.cont18.i.i.i: ; preds = %invoke.cont6.i.i.i - %167 = load ptr, ptr %agg.result, align 8, !alias.scope !120 - call void @llvm.memset.p0.i64(ptr align 16 %167, i8 0, i64 %add17.i.i.i, i1 false) - %168 = load ptr, ptr %agg.result, align 8, !alias.scope !116 + %154 = load ptr, ptr %agg.result, align 8, !alias.scope !120 + call void @llvm.memset.p0.i64(ptr align 16 %154, i8 0, i64 %add17.i.i.i, i1 false) + %155 = load ptr, ptr %agg.result, align 8, !alias.scope !116 %conv22.i.i.i = trunc i64 %add17.i.i.i to i32 - %size25.i.i.i = getelementptr inbounds i8, ptr %168, i64 4 + %size25.i.i.i = getelementptr inbounds i8, ptr %155, i64 4 store i32 %conv22.i.i.i, ptr %size25.i.i.i, align 4 - %169 = load ptr, ptr %fc.i, align 8, !noalias !116 - %id.i.i.i.i = getelementptr inbounds i8, ptr %169, i64 8 - %170 = load i32, ptr %id.i.i.i.i, align 8 - %171 = load ptr, ptr %agg.result, align 8, !alias.scope !116 - store i32 %170, ptr %171, align 16 + %156 = load ptr, ptr %fc.i, align 8, !noalias !116 + %id.i.i.i.i = getelementptr inbounds i8, ptr %156, i64 8 + %157 = load i32, ptr %id.i.i.i.i, align 8 + %158 = load ptr, ptr %agg.result, align 8, !alias.scope !116 + store i32 %157, ptr %158, align 16 %call33.i.i.i = invoke noundef i64 @_ZN3ue26maxLenERKSt6vectorINS_11hwlmLiteralESaIS1_EE(ptr noundef nonnull align 8 dereferenceable(24) %lits.i.i) to label %invoke.cont32.i.i.i unwind label %lpad19.loopexit.split-lp.loopexit.split-lp.i.i.i @@ -4853,20 +4802,20 @@ if.then.i.i.i9.i.i: ; preds = %invoke.cont32.i.i.i to label %invoke.cont.i.i51.invoke.i.i.i unwind label %lpad.i.i.i.i.i lpad.i.i.i.i.i: ; preds = %if.then.i.i.i9.i.i - %172 = landingpad { ptr, i32 } + %159 = landingpad { ptr, i32 } cleanup call void @__cxa_free_exception(ptr %exception.i.i.i.i.i) #19 br label %lpad19.body.i.i.i invoke.cont34.i.i.i: ; preds = %invoke.cont32.i.i.i %conv.i.i.i.i.i = trunc i64 %call33.i.i.i to i32 - %173 = load ptr, ptr %agg.result, align 8, !alias.scope !116 - %maxStringLen.i.i.i = getelementptr inbounds i8, ptr %173, i64 8 + %160 = load ptr, ptr %agg.result, align 8, !alias.scope !116 + %maxStringLen.i.i.i = getelementptr inbounds i8, ptr %160, i64 8 store i32 %conv.i.i.i.i.i, ptr %maxStringLen.i.i.i, align 8 - %174 = load ptr, ptr %_M_finish.i.i.i.i.i.i, align 8, !noalias !116 - %175 = load ptr, ptr %lits.i.i, align 8, !noalias !116 - %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %174 to i64 - %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %175 to i64 + %161 = load ptr, ptr %_M_finish.i.i.i.i.i.i, align 8, !noalias !116 + %162 = load ptr, ptr %lits.i.i, align 8, !noalias !116 + %sub.ptr.lhs.cast.i.i.i.i = ptrtoint ptr %161 to i64 + %sub.ptr.rhs.cast.i.i.i.i = ptrtoint ptr %162 to i64 %sub.ptr.sub.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i %sub.ptr.div.i.i.i.i = sdiv exact i64 %sub.ptr.sub.i.i.i.i, 104 %cmp.not.i.i16.i.i.i = icmp ult i64 %sub.ptr.div.i.i.i.i, 4294967296 @@ -4878,46 +4827,46 @@ if.then.i.i17.i.i.i: ; preds = %invoke.cont34.i.i.i to label %invoke.cont.i.i51.invoke.i.i.i unwind label %lpad.i.i19.i.i.i lpad.i.i19.i.i.i: ; preds = %if.then.i.i17.i.i.i - %176 = landingpad { ptr, i32 } + %163 = landingpad { ptr, i32 } cleanup call void @__cxa_free_exception(ptr %exception.i.i18.i.i.i) #19 br label %lpad19.body.i.i.i invoke.cont40.i.i.i: ; preds = %invoke.cont34.i.i.i %conv.i.i21.i.i.i = trunc i64 %sub.ptr.div.i.i.i.i to i32 - %177 = load ptr, ptr %agg.result, align 8, !alias.scope !116 - %numStrings.i.i.i = getelementptr inbounds i8, ptr %177, i64 12 + %164 = load ptr, ptr %agg.result, align 8, !alias.scope !116 + %numStrings.i.i.i = getelementptr inbounds i8, ptr %164, i64 12 store i32 %conv.i.i21.i.i.i, ptr %numStrings.i.i.i, align 4 - %178 = load ptr, ptr %fc.i, align 8, !noalias !116 - %bits.i.i.i = getelementptr inbounds i8, ptr %178, i64 44 - %179 = load i32, ptr %bits.i.i.i, align 4 - %conv45.i.i.i = trunc i32 %179 to i8 - %180 = load ptr, ptr %agg.result, align 8, !alias.scope !116 - %domain.i.i.i = getelementptr inbounds i8, ptr %180, i64 25 + %165 = load ptr, ptr %fc.i, align 8, !noalias !116 + %bits.i.i.i = getelementptr inbounds i8, ptr %165, i64 44 + %166 = load i32, ptr %bits.i.i.i, align 4 + %conv45.i.i.i = trunc i32 %166 to i8 + %167 = load ptr, ptr %agg.result, align 8, !alias.scope !116 + %domain.i.i.i = getelementptr inbounds i8, ptr %167, i64 25 store i8 %conv45.i.i.i, ptr %domain.i.i.i, align 1 - %181 = load i32, ptr %bits.i.i.i, align 4 - %notmask.i.i.i = shl nsw i32 -1, %181 - %182 = trunc i32 %notmask.i.i.i to i16 - %conv50.i.i.i = xor i16 %182, -1 - %183 = load ptr, ptr %agg.result, align 8, !alias.scope !116 - %domainMask.i.i.i = getelementptr inbounds i8, ptr %183, i64 26 + %168 = load i32, ptr %bits.i.i.i, align 4 + %notmask.i.i.i = shl nsw i32 -1, %168 + %169 = trunc i32 %notmask.i.i.i to i16 + %conv50.i.i.i = xor i16 %169, -1 + %170 = load ptr, ptr %agg.result, align 8, !alias.scope !116 + %domainMask.i.i.i = getelementptr inbounds i8, ptr %170, i64 26 store i16 %conv50.i.i.i, ptr %domainMask.i.i.i, align 2 - %184 = load ptr, ptr %agg.result, align 8, !alias.scope !116 - %tabSize56.i.i.i = getelementptr inbounds i8, ptr %184, i64 28 + %171 = load ptr, ptr %agg.result, align 8, !alias.scope !116 + %tabSize56.i.i.i = getelementptr inbounds i8, ptr %171, i64 28 store i32 %mul2.i.i.i.i, ptr %tabSize56.i.i.i, align 4 - %stride.i.i.i = getelementptr inbounds i8, ptr %178, i64 40 - %185 = load i32, ptr %stride.i.i.i, align 8 - %conv58.i.i.i = trunc i32 %185 to i8 - %186 = load ptr, ptr %agg.result, align 8, !alias.scope !116 - %stride61.i.i.i = getelementptr inbounds i8, ptr %186, i64 24 + %stride.i.i.i = getelementptr inbounds i8, ptr %165, i64 40 + %172 = load i32, ptr %stride.i.i.i, align 8 + %conv58.i.i.i = trunc i32 %172 to i8 + %173 = load ptr, ptr %agg.result, align 8, !alias.scope !116 + %stride61.i.i.i = getelementptr inbounds i8, ptr %173, i64 24 store i8 %conv58.i.i.i, ptr %stride61.i.i.i, align 8 - %187 = load ptr, ptr %agg.result, align 8, !alias.scope !116 + %174 = load ptr, ptr %agg.result, align 8, !alias.scope !116 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %b.i.i.i.i), !noalias !116 - %start2.i.i.i.i = getelementptr inbounds i8, ptr %187, i64 32 + %start2.i.i.i.i = getelementptr inbounds i8, ptr %174, i64 32 store i32 0, ptr %b.i.i.i.i, align 4, !noalias !116 - %numBuckets.i18.i.i.i.i = getelementptr inbounds i8, ptr %178, i64 32 - %188 = load i32, ptr %numBuckets.i18.i.i.i.i, align 8 - %cmp20.not.i.i.i.i = icmp eq i32 %188, 0 + %numBuckets.i18.i.i.i.i = getelementptr inbounds i8, ptr %165, i64 32 + %175 = load i32, ptr %numBuckets.i18.i.i.i.i, align 8 + %cmp20.not.i.i.i.i = icmp eq i32 %175, 0 br i1 %cmp20.not.i.i.i.i, label %invoke.cont64.i.i.i, label %for.body.lr.ph.i.i10.i.i for.body.lr.ph.i.i10.i.i: ; preds = %invoke.cont40.i.i.i @@ -4928,16 +4877,16 @@ for.body.i.i11.i.i: ; preds = %for.inc26.i.i.i.i, %storemerge21.i.i.i.i = phi i32 [ 0, %for.body.lr.ph.i.i10.i.i ], [ %inc27.i.i.i.i, %for.inc26.i.i.i.i ] call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %ref.tmp9.i.i.i.i.i), !noalias !116 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %ref.tmp10.i.i.i.i.i), !noalias !116 - %189 = load ptr, ptr %_M_parent.i.i.i.i.i.i.i.i.i, align 8, !noalias !116 - %cmp.not5.i.i.i.i.i.i12.i.i = icmp eq ptr %189, null + %176 = load ptr, ptr %_M_parent.i.i.i.i.i.i.i.i.i, align 8, !noalias !116 + %cmp.not5.i.i.i.i.i.i12.i.i = icmp eq ptr %176, null br i1 %cmp.not5.i.i.i.i.i.i12.i.i, label %if.then.i.i26.i.i.i, label %while.body.i.i.i.i.i.i13.i.i while.body.i.i.i.i.i.i13.i.i: ; preds = %for.body.i.i11.i.i, %while.body.i.i.i.i.i.i13.i.i - %__x.addr.07.i.i.i.i.i.i14.i.i = phi ptr [ %__x.addr.1.i.i.i.i.i.i21.i.i, %while.body.i.i.i.i.i.i13.i.i ], [ %189, %for.body.i.i11.i.i ] + %__x.addr.07.i.i.i.i.i.i14.i.i = phi ptr [ %__x.addr.1.i.i.i.i.i.i21.i.i, %while.body.i.i.i.i.i.i13.i.i ], [ %176, %for.body.i.i11.i.i ] %__y.addr.06.i.i.i.i.i.i15.i.i = phi ptr [ %__y.addr.1.i.i.i.i.i.i18.i.i, %while.body.i.i.i.i.i.i13.i.i ], [ %16, %for.body.i.i11.i.i ] %_M_storage.i.i.i.i.i.i.i.i16.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i.i.i14.i.i, i64 32 - %190 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i16.i.i, align 4 - %cmp.i.i.i.i.i.i.i17.i.i = icmp ult i32 %190, %storemerge21.i.i.i.i + %177 = load i32, ptr %_M_storage.i.i.i.i.i.i.i.i16.i.i, align 4 + %cmp.i.i.i.i.i.i.i17.i.i = icmp ult i32 %177, %storemerge21.i.i.i.i %__y.addr.1.i.i.i.i.i.i18.i.i = select i1 %cmp.i.i.i.i.i.i.i17.i.i, ptr %__y.addr.06.i.i.i.i.i.i15.i.i, ptr %__x.addr.07.i.i.i.i.i.i14.i.i %__x.addr.1.in.v.i.i.i.i.i.i19.i.i = select i1 %cmp.i.i.i.i.i.i.i17.i.i, i64 24, i64 16 %__x.addr.1.in.i.i.i.i.i.i20.i.i = getelementptr inbounds i8, ptr %__x.addr.07.i.i.i.i.i.i14.i.i, i64 %__x.addr.1.in.v.i.i.i.i.i.i19.i.i @@ -4952,8 +4901,8 @@ _ZNSt3mapIjSt6vectorIjSaIjEESt4lessIjESaISt4pairIKjS2_EEE11lower_boundERS6_.exit lor.rhs.i.i.i24.i.i: ; preds = %_ZNSt3mapIjSt6vectorIjSaIjEESt4lessIjESaISt4pairIKjS2_EEE11lower_boundERS6_.exit.i.i.i.i.i %__y.addr.1.i.i.i.i.i.i18.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel.v = select i1 %cmp.i.i.i.i.i.i.i17.i.i, ptr %__y.addr.06.i.i.i.i.i.i15.i.i, ptr %__x.addr.07.i.i.i.i.i.i14.i.i %__y.addr.1.i.i.i.i.i.i18.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel = getelementptr inbounds i8, ptr %__y.addr.1.i.i.i.i.i.i18.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel.v, i64 32 - %191 = load i32, ptr %__y.addr.1.i.i.i.i.i.i18.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel, align 4 - %cmp.i3.i.i.i25.i.i = icmp ult i32 %storemerge21.i.i.i.i, %191 + %178 = load i32, ptr %__y.addr.1.i.i.i.i.i.i18.i.sroa.sel.v.sroa.sel.v.i.sroa.sel.v.sroa.sel.v.sroa.sel, align 4 + %cmp.i3.i.i.i25.i.i = icmp ult i32 %storemerge21.i.i.i.i, %178 br i1 %cmp.i3.i.i.i25.i.i, label %if.then.i.i26.i.i.i, label %_ZNSt3mapIjSt6vectorIjSaIjEESt4lessIjESaISt4pairIKjS2_EEEixERS6_.exit.i.i.i.i if.then.i.i26.i.i.i: ; preds = %lor.rhs.i.i.i24.i.i, %_ZNSt3mapIjSt6vectorIjSaIjEESt4lessIjESaISt4pairIKjS2_EEE11lower_boundERS6_.exit.i.i.i.i.i, %for.body.i.i11.i.i @@ -4967,17 +4916,17 @@ _ZNSt3mapIjSt6vectorIjSaIjEESt4lessIjESaISt4pairIKjS2_EEEixERS6_.exit.i.i.i.i: ; %second.i.i.i27.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i.i.i26.i.i, i64 40 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %ref.tmp9.i.i.i.i.i), !noalias !116 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %ref.tmp10.i.i.i.i.i), !noalias !116 - %192 = load ptr, ptr %second.i.i.i27.i.i, align 8 + %179 = load ptr, ptr %second.i.i.i27.i.i, align 8 %_M_finish.i.i.i.i.i = getelementptr inbounds i8, ptr %__i.sroa.0.0.i.i.i26.i.i, i64 48 - %193 = load ptr, ptr %_M_finish.i.i.i.i.i, align 8 - %cmp.i.not12.i.i.i.i = icmp eq ptr %192, %193 + %180 = load ptr, ptr %_M_finish.i.i.i.i.i, align 8 + %cmp.i.not12.i.i.i.i = icmp eq ptr %179, %180 br i1 %cmp.i.not12.i.i.i.i, label %for.cond16.preheader.i.i.i.i, label %for.body9.i.i.i.i for.cond16.preheader.i.i.i.i: ; preds = %_ZN3ue210verify_u32ImEEjT_.exit.i.i.i.i, %_ZNSt3mapIjSt6vectorIjSaIjEESt4lessIjESaISt4pairIKjS2_EEEixERS6_.exit.i.i.i.i %min_len.0.lcssa.i.i.i.i = phi i32 [ -1, %_ZNSt3mapIjSt6vectorIjSaIjEESt4lessIjESaISt4pairIKjS2_EEEixERS6_.exit.i.i.i.i ], [ %.sroa.speculated.i.i.i.i, %_ZN3ue210verify_u32ImEEjT_.exit.i.i.i.i ] - %194 = load ptr, ptr %fc.i, align 8, !noalias !116 - %195 = load i32, ptr %b.i.i.i.i, align 4, !noalias !116 - %call1815.i28.i.i.i = invoke noundef i32 @_ZNK3ue220FDREngineDescription14getBucketWidthEj(ptr noundef nonnull align 8 dereferenceable(48) %194, i32 noundef %195) + %181 = load ptr, ptr %fc.i, align 8, !noalias !116 + %182 = load i32, ptr %b.i.i.i.i, align 4, !noalias !116 + %call1815.i28.i.i.i = invoke noundef i32 @_ZNK3ue220FDREngineDescription14getBucketWidthEj(ptr noundef nonnull align 8 dereferenceable(48) %181, i32 noundef %182) to label %call1815.i.noexc.i.i.i unwind label %lpad19.loopexit.split-lp.loopexit.i.i.i call1815.i.noexc.i.i.i: ; preds = %for.cond16.preheader.i.i.i.i @@ -4990,11 +4939,11 @@ for.body20.lr.ph.i.i.i.i: ; preds = %call1815.i.noexc.i. for.body9.i.i.i.i: ; preds = %_ZNSt3mapIjSt6vectorIjSaIjEESt4lessIjESaISt4pairIKjS2_EEEixERS6_.exit.i.i.i.i, %_ZN3ue210verify_u32ImEEjT_.exit.i.i.i.i %min_len.014.i.i.i.i = phi i32 [ %.sroa.speculated.i.i.i.i, %_ZN3ue210verify_u32ImEEjT_.exit.i.i.i.i ], [ -1, %_ZNSt3mapIjSt6vectorIjSaIjEESt4lessIjESaISt4pairIKjS2_EEEixERS6_.exit.i.i.i.i ] - %__begin3.sroa.0.013.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i33.i.i, %_ZN3ue210verify_u32ImEEjT_.exit.i.i.i.i ], [ %192, %_ZNSt3mapIjSt6vectorIjSaIjEESt4lessIjESaISt4pairIKjS2_EEEixERS6_.exit.i.i.i.i ] - %196 = load i32, ptr %__begin3.sroa.0.013.i.i.i.i, align 4 - %conv.i.i28.i.i = zext i32 %196 to i64 - %197 = load ptr, ptr %lits.i.i, align 8, !noalias !116 - %add.ptr.i.i.i29.i.i = getelementptr inbounds %"struct.ue2::hwlmLiteral", ptr %197, i64 %conv.i.i28.i.i + %__begin3.sroa.0.013.i.i.i.i = phi ptr [ %incdec.ptr.i.i.i33.i.i, %_ZN3ue210verify_u32ImEEjT_.exit.i.i.i.i ], [ %179, %_ZNSt3mapIjSt6vectorIjSaIjEESt4lessIjESaISt4pairIKjS2_EEEixERS6_.exit.i.i.i.i ] + %183 = load i32, ptr %__begin3.sroa.0.013.i.i.i.i, align 4 + %conv.i.i28.i.i = zext i32 %183 to i64 + %184 = load ptr, ptr %lits.i.i, align 8, !noalias !116 + %add.ptr.i.i.i29.i.i = getelementptr inbounds %"struct.ue2::hwlmLiteral", ptr %184, i64 %conv.i.i28.i.i %call12.i.i.i.i = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %add.ptr.i.i.i29.i.i) #19 %cmp.not.i.i.i.i30.i.i = icmp ult i64 %call12.i.i.i.i, 4294967296 br i1 %cmp.not.i.i.i.i30.i.i, label %_ZN3ue210verify_u32ImEEjT_.exit.i.i.i.i, label %if.then.i.i.i.i31.i.i @@ -5005,7 +4954,7 @@ if.then.i.i.i.i31.i.i: ; preds = %for.body9.i.i.i.i to label %invoke.cont.i.i51.invoke.i.i.i unwind label %lpad.i.i.i.i.i.i lpad.i.i.i.i.i.i: ; preds = %if.then.i.i.i.i31.i.i - %198 = landingpad { ptr, i32 } + %185 = landingpad { ptr, i32 } cleanup call void @__cxa_free_exception(ptr %exception.i.i.i.i.i.i) #19 br label %lpad19.body.i.i.i @@ -5014,7 +4963,7 @@ _ZN3ue210verify_u32ImEEjT_.exit.i.i.i.i: ; preds = %for.body9.i.i.i.i %conv.i.i.i.i32.i.i = trunc i64 %call12.i.i.i.i to i32 %.sroa.speculated.i.i.i.i = call i32 @llvm.umin.i32(i32 %min_len.014.i.i.i.i, i32 %conv.i.i.i.i32.i.i) %incdec.ptr.i.i.i33.i.i = getelementptr inbounds i8, ptr %__begin3.sroa.0.013.i.i.i.i, i64 4 - %cmp.i.not.i.i34.i.i = icmp eq ptr %incdec.ptr.i.i.i33.i.i, %193 + %cmp.i.not.i.i34.i.i = icmp eq ptr %incdec.ptr.i.i.i33.i.i, %180 br i1 %cmp.i.not.i.i34.i.i, label %for.cond16.preheader.i.i.i.i, label %for.body9.i.i.i.i for.body20.i.i.i.i: ; preds = %call18.i.noexc.i.i.i, %for.body20.lr.ph.i.i.i.i @@ -5023,9 +4972,9 @@ for.body20.i.i.i.i: ; preds = %call18.i.noexc.i.i. br i1 %cmp21.i.i.i.i, label %if.then.i.i39.i.i, label %for.inc24.i.i.i.i if.then.i.i39.i.i: ; preds = %for.body20.i.i.i.i - %199 = load ptr, ptr %fc.i, align 8, !noalias !116 - %200 = load i32, ptr %b.i.i.i.i, align 4, !noalias !116 - %call23.i32.i.i.i = invoke noundef i32 @_ZNK3ue220FDREngineDescription12getSchemeBitEjj(ptr noundef nonnull align 8 dereferenceable(48) %199, i32 noundef %200, i32 noundef %i.017.i.i.i.i) + %186 = load ptr, ptr %fc.i, align 8, !noalias !116 + %187 = load i32, ptr %b.i.i.i.i, align 4, !noalias !116 + %call23.i32.i.i.i = invoke noundef i32 @_ZNK3ue220FDREngineDescription12getSchemeBitEjj(ptr noundef nonnull align 8 dereferenceable(48) %186, i32 noundef %187, i32 noundef %i.017.i.i.i.i) to label %call23.i.noexc.i.i.i unwind label %lpad19.loopexit.i.i.i call23.i.noexc.i.i.i: ; preds = %if.then.i.i39.i.i @@ -5034,16 +4983,16 @@ call23.i.noexc.i.i.i: ; preds = %if.then.i.i39.i.i %div2.i.i.i.i.i = lshr i32 %call23.i32.i.i.i, 3 %idxprom.i.i.i.i.i = zext nneg i32 %div2.i.i.i.i.i to i64 %arrayidx.i.i.i.i.i = getelementptr inbounds i8, ptr %start2.i.i.i.i, i64 %idxprom.i.i.i.i.i - %201 = load i8, ptr %arrayidx.i.i.i.i.i, align 1 - %202 = trunc i32 %shl.i.i.i.i.i to i8 - %conv1.i.i.i.i.i = or i8 %201, %202 + %188 = load i8, ptr %arrayidx.i.i.i.i.i, align 1 + %189 = trunc i32 %shl.i.i.i.i.i to i8 + %conv1.i.i.i.i.i = or i8 %188, %189 store i8 %conv1.i.i.i.i.i, ptr %arrayidx.i.i.i.i.i, align 1 br label %for.inc24.i.i.i.i for.inc24.i.i.i.i: ; preds = %call23.i.noexc.i.i.i, %for.body20.i.i.i.i - %203 = load ptr, ptr %fc.i, align 8, !noalias !116 - %204 = load i32, ptr %b.i.i.i.i, align 4, !noalias !116 - %call18.i33.i.i.i = invoke noundef i32 @_ZNK3ue220FDREngineDescription14getBucketWidthEj(ptr noundef nonnull align 8 dereferenceable(48) %203, i32 noundef %204) + %190 = load ptr, ptr %fc.i, align 8, !noalias !116 + %191 = load i32, ptr %b.i.i.i.i, align 4, !noalias !116 + %call18.i33.i.i.i = invoke noundef i32 @_ZNK3ue220FDREngineDescription14getBucketWidthEj(ptr noundef nonnull align 8 dereferenceable(48) %190, i32 noundef %191) to label %call18.i.noexc.i.i.i unwind label %lpad19.loopexit.i.i.i call18.i.noexc.i.i.i: ; preds = %for.inc24.i.i.i.i @@ -5052,34 +5001,34 @@ call18.i.noexc.i.i.i: ; preds = %for.inc24.i.i.i.i br i1 %cmp19.i.i.i.i, label %for.body20.i.i.i.i, label %for.inc26.i.i.i.i, !llvm.loop !123 for.inc26.i.i.i.i: ; preds = %call18.i.noexc.i.i.i, %call1815.i.noexc.i.i.i - %205 = load i32, ptr %b.i.i.i.i, align 4, !noalias !116 - %inc27.i.i.i.i = add i32 %205, 1 + %192 = load i32, ptr %b.i.i.i.i, align 4, !noalias !116 + %inc27.i.i.i.i = add i32 %192, 1 store i32 %inc27.i.i.i.i, ptr %b.i.i.i.i, align 4, !noalias !116 - %206 = load ptr, ptr %fc.i, align 8, !noalias !116 - %numBuckets.i.i.i.i.i = getelementptr inbounds i8, ptr %206, i64 32 - %207 = load i32, ptr %numBuckets.i.i.i.i.i, align 8 - %cmp.i.i37.i.i = icmp ult i32 %inc27.i.i.i.i, %207 + %193 = load ptr, ptr %fc.i, align 8, !noalias !116 + %numBuckets.i.i.i.i.i = getelementptr inbounds i8, ptr %193, i64 32 + %194 = load i32, ptr %numBuckets.i.i.i.i.i, align 8 + %cmp.i.i37.i.i = icmp ult i32 %inc27.i.i.i.i, %194 br i1 %cmp.i.i37.i.i, label %for.body.i.i11.i.i, label %invoke.cont64.i.i.i, !llvm.loop !124 invoke.cont64.i.i.i: ; preds = %for.inc26.i.i.i.i, %invoke.cont40.i.i.i call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %b.i.i.i.i), !noalias !116 - %add.ptr.i.i.i = getelementptr inbounds i8, ptr %168, i64 64 - %208 = load ptr, ptr %tab.i.i, align 8, !noalias !116 - %209 = load ptr, ptr %_M_finish.i.i7.i.i.i, align 8, !noalias !116 - %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %209, %208 + %add.ptr.i.i.i = getelementptr inbounds i8, ptr %155, i64 64 + %195 = load ptr, ptr %tab.i.i, align 8, !noalias !116 + %196 = load ptr, ptr %_M_finish.i.i7.i.i.i, align 8, !noalias !116 + %tobool.not.i.i.i.i.i.i.i.i = icmp eq ptr %196, %195 br i1 %tobool.not.i.i.i.i.i.i.i.i, label %invoke.cont72.i.i.i, label %if.then.i.i.i.i.i.i.i.i if.then.i.i.i.i.i.i.i.i: ; preds = %invoke.cont64.i.i.i - %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %209 to i64 - %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %208 to i64 + %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %196 to i64 + %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i = ptrtoint ptr %195 to i64 %sub.ptr.sub.i.i.i.i.i.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i.i.i.i.i.i, %sub.ptr.rhs.cast.i.i.i.i.i.i.i.i - call void @llvm.memmove.p0.p0.i64(ptr nonnull align 1 %add.ptr.i.i.i, ptr align 1 %208, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) + call void @llvm.memmove.p0.p0.i64(ptr nonnull align 1 %add.ptr.i.i.i, ptr align 1 %195, i64 %sub.ptr.sub.i.i.i.i.i.i.i.i, i1 false) br label %invoke.cont72.i.i.i invoke.cont72.i.i.i: ; preds = %if.then.i.i.i.i.i.i.i.i, %invoke.cont64.i.i.i %add.ptr76.i.i.i = getelementptr inbounds i8, ptr %add.ptr.i.i.i, i64 %and8.i.i.i %sub.ptr.lhs.cast.i.i.i = ptrtoint ptr %add.ptr76.i.i.i to i64 - %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %168 to i64 + %sub.ptr.rhs.cast.i.i.i = ptrtoint ptr %155 to i64 %sub.ptr.sub.i.i.i = sub i64 %sub.ptr.lhs.cast.i.i.i, %sub.ptr.rhs.cast.i.i.i %cmp.not.i.i36.i.i.i = icmp ult i64 %sub.ptr.sub.i.i.i, 4294967296 br i1 %cmp.not.i.i36.i.i.i, label %invoke.cont77.i.i.i, label %if.then.i.i37.i.i.i @@ -5090,21 +5039,21 @@ if.then.i.i37.i.i.i: ; preds = %invoke.cont72.i.i.i to label %invoke.cont.i.i51.invoke.i.i.i unwind label %lpad.i.i39.i.i.i lpad.i.i39.i.i.i: ; preds = %if.then.i.i37.i.i.i - %210 = landingpad { ptr, i32 } + %197 = landingpad { ptr, i32 } cleanup call void @__cxa_free_exception(ptr %exception.i.i38.i.i.i) #19 br label %lpad19.body.i.i.i invoke.cont77.i.i.i: ; preds = %invoke.cont72.i.i.i %conv.i.i41.i.i.i = trunc i64 %sub.ptr.sub.i.i.i to i32 - %211 = load ptr, ptr %agg.result, align 8, !alias.scope !116 - %confOffset.i.i.i = getelementptr inbounds i8, ptr %211, i64 16 + %198 = load ptr, ptr %agg.result, align 8, !alias.scope !116 + %confOffset.i.i.i = getelementptr inbounds i8, ptr %198, i64 16 store i32 %conv.i.i41.i.i.i, ptr %confOffset.i.i.i, align 16 - %212 = load ptr, ptr %confirmTable.i.i.i, align 8, !noalias !116 - %213 = load i64, ptr %bytes.i.i.i.i, align 8, !noalias !116 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %add.ptr76.i.i.i, ptr align 1 %212, i64 %213, i1 false) - %214 = load i64, ptr %bytes.i.i.i.i, align 8, !noalias !116 - %add87.i.i.i = add i64 %214, 63 + %199 = load ptr, ptr %confirmTable.i.i.i, align 8, !noalias !116 + %200 = load i64, ptr %bytes.i.i.i.i, align 8, !noalias !116 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %add.ptr76.i.i.i, ptr align 1 %199, i64 %200, i1 false) + %201 = load i64, ptr %bytes.i.i.i.i, align 8, !noalias !116 + %add87.i.i.i = add i64 %201, 63 %and88.i.i.i = and i64 %add87.i.i.i, -64 %add.ptr89.i.i.i = getelementptr inbounds i8, ptr %add.ptr76.i.i.i, i64 %and88.i.i.i %sub.ptr.lhs.cast90.i.i.i = ptrtoint ptr %add.ptr89.i.i.i to i64 @@ -5118,66 +5067,66 @@ if.then.i.i48.i.i.i: ; preds = %invoke.cont77.i.i.i to label %invoke.cont.i.i51.invoke.i.i.i unwind label %lpad.i.i50.i.i.i invoke.cont.i.i51.invoke.i.i.i: ; preds = %if.then.i.i48.i.i.i, %if.then.i.i37.i.i.i, %if.then.i.i.i.i31.i.i, %if.then.i.i17.i.i.i, %if.then.i.i.i9.i.i - %215 = phi ptr [ %exception.i.i.i.i.i, %if.then.i.i.i9.i.i ], [ %exception.i.i18.i.i.i, %if.then.i.i17.i.i.i ], [ %exception.i.i.i.i.i.i, %if.then.i.i.i.i31.i.i ], [ %exception.i.i38.i.i.i, %if.then.i.i37.i.i.i ], [ %exception.i.i49.i.i.i, %if.then.i.i48.i.i.i ] - invoke void @__cxa_throw(ptr nonnull %215, ptr nonnull @_ZTIN3ue218ResourceLimitErrorE, ptr nonnull @_ZN3ue218ResourceLimitErrorD1Ev) #22 + %202 = phi ptr [ %exception.i.i.i.i.i, %if.then.i.i.i9.i.i ], [ %exception.i.i18.i.i.i, %if.then.i.i17.i.i.i ], [ %exception.i.i.i.i.i.i, %if.then.i.i.i.i31.i.i ], [ %exception.i.i38.i.i.i, %if.then.i.i37.i.i.i ], [ %exception.i.i49.i.i.i, %if.then.i.i48.i.i.i ] + invoke void @__cxa_throw(ptr nonnull %202, ptr nonnull @_ZTIN3ue218ResourceLimitErrorE, ptr nonnull @_ZN3ue218ResourceLimitErrorD1Ev) #22 to label %invoke.cont.i.i51.cont.i.i.i unwind label %lpad19.loopexit.split-lp.loopexit.split-lp.i.i.i invoke.cont.i.i51.cont.i.i.i: ; preds = %invoke.cont.i.i51.invoke.i.i.i unreachable lpad.i.i50.i.i.i: ; preds = %if.then.i.i48.i.i.i - %216 = landingpad { ptr, i32 } + %203 = landingpad { ptr, i32 } cleanup call void @__cxa_free_exception(ptr %exception.i.i49.i.i.i) #19 br label %lpad19.body.i.i.i invoke.cont93.i.i.i: ; preds = %invoke.cont77.i.i.i %conv.i.i52.i.i.i = trunc i64 %sub.ptr.sub92.i.i.i to i32 - %217 = load ptr, ptr %agg.result, align 8, !alias.scope !116 - %floodOffset.i.i.i = getelementptr inbounds i8, ptr %217, i64 20 + %204 = load ptr, ptr %agg.result, align 8, !alias.scope !116 + %floodOffset.i.i.i = getelementptr inbounds i8, ptr %204, i64 20 store i32 %conv.i.i52.i.i.i, ptr %floodOffset.i.i.i, align 4 - %218 = load ptr, ptr %floodTable.i.i.i, align 8, !noalias !116 - %219 = load i64, ptr %bytes.i15.i.i.i, align 8, !noalias !116 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %add.ptr89.i.i.i, ptr align 1 %218, i64 %219, i1 false) - %220 = load ptr, ptr %confirmTable.i.i.i, align 8, !noalias !116 - %cmp.not.i.i59.i.i.i = icmp eq ptr %220, null + %205 = load ptr, ptr %floodTable.i.i.i, align 8, !noalias !116 + %206 = load i64, ptr %bytes.i15.i.i.i, align 8, !noalias !116 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %add.ptr89.i.i.i, ptr align 1 %205, i64 %206, i1 false) + %207 = load ptr, ptr %confirmTable.i.i.i, align 8, !noalias !116 + %cmp.not.i.i59.i.i.i = icmp eq ptr %207, null br i1 %cmp.not.i.i59.i.i.i, label %_ZN3ue212bytecode_ptrIhED2Ev.exit.i.i.i, label %if.then.i.i60.i.i.i if.then.i.i60.i.i.i: ; preds = %invoke.cont93.i.i.i - invoke void @_ZN3ue221aligned_free_internalEPv(ptr noundef nonnull %220) + invoke void @_ZN3ue221aligned_free_internalEPv(ptr noundef nonnull %207) to label %_ZN3ue212bytecode_ptrIhED2Ev.exit.i.i.i unwind label %terminate.lpad.i.i.i38.i.i terminate.lpad.i.i.i38.i.i: ; preds = %if.then.i.i60.i.i.i - %221 = landingpad { ptr, i32 } + %208 = landingpad { ptr, i32 } catch ptr null - %222 = extractvalue { ptr, i32 } %221, 0 - call void @__clang_call_terminate(ptr %222) #23 + %209 = extractvalue { ptr, i32 } %208, 0 + call void @__clang_call_terminate(ptr %209) #23 unreachable _ZN3ue212bytecode_ptrIhED2Ev.exit.i.i.i: ; preds = %if.then.i.i60.i.i.i, %invoke.cont93.i.i.i store ptr null, ptr %confirmTable.i.i.i, align 8, !noalias !116 - %223 = load ptr, ptr %floodTable.i.i.i, align 8, !noalias !116 - %cmp.not.i.i61.i.i.i = icmp eq ptr %223, null + %210 = load ptr, ptr %floodTable.i.i.i, align 8, !noalias !116 + %cmp.not.i.i61.i.i.i = icmp eq ptr %210, null br i1 %cmp.not.i.i61.i.i.i, label %invoke.cont6.i, label %if.then.i.i62.i.i.i if.then.i.i62.i.i.i: ; preds = %_ZN3ue212bytecode_ptrIhED2Ev.exit.i.i.i - invoke void @_ZN3ue221aligned_free_internalEPv(ptr noundef nonnull %223) + invoke void @_ZN3ue221aligned_free_internalEPv(ptr noundef nonnull %210) to label %invoke.cont6.i unwind label %terminate.lpad.i.i63.i.i.i terminate.lpad.i.i63.i.i.i: ; preds = %if.then.i.i62.i.i.i - %224 = landingpad { ptr, i32 } + %211 = landingpad { ptr, i32 } catch ptr null - %225 = extractvalue { ptr, i32 } %224, 0 - call void @__clang_call_terminate(ptr %225) #23 + %212 = extractvalue { ptr, i32 } %211, 0 + call void @__clang_call_terminate(ptr %212) #23 unreachable lpad.i.i.i: ; preds = %.noexc.i - %226 = landingpad { ptr, i32 } + %213 = landingpad { ptr, i32 } cleanup br label %ehcleanup104.i.i.i lpad5.i.i.i: ; preds = %invoke.cont6.i.i.i - %227 = landingpad { ptr, i32 } + %214 = landingpad { ptr, i32 } cleanup br label %ehcleanup.i6.i.i @@ -5197,17 +5146,17 @@ lpad19.loopexit.split-lp.loopexit.split-lp.i.i.i: ; preds = %invoke.cont.i.i51.i br label %lpad19.body.i.i.i lpad19.body.i.i.i: ; preds = %lpad19.loopexit.split-lp.loopexit.split-lp.i.i.i, %lpad19.loopexit.split-lp.loopexit.i.i.i, %lpad19.loopexit.i.i.i, %lpad.i.i50.i.i.i, %lpad.i.i39.i.i.i, %lpad.i.i.i.i.i.i, %lpad.i.i19.i.i.i, %lpad.i.i.i.i.i - %eh.lpad-body.i8.i.i = phi { ptr, i32 } [ %172, %lpad.i.i.i.i.i ], [ %176, %lpad.i.i19.i.i.i ], [ %198, %lpad.i.i.i.i.i.i ], [ %210, %lpad.i.i39.i.i.i ], [ %216, %lpad.i.i50.i.i.i ], [ %lpad.loopexit.i36.i.i, %lpad19.loopexit.i.i.i ], [ %lpad.loopexit65.i.i.i, %lpad19.loopexit.split-lp.loopexit.i.i.i ], [ %lpad.loopexit.split-lp66.i.i.i, %lpad19.loopexit.split-lp.loopexit.split-lp.i.i.i ] + %eh.lpad-body.i8.i.i = phi { ptr, i32 } [ %159, %lpad.i.i.i.i.i ], [ %163, %lpad.i.i19.i.i.i ], [ %185, %lpad.i.i.i.i.i.i ], [ %197, %lpad.i.i39.i.i.i ], [ %203, %lpad.i.i50.i.i.i ], [ %lpad.loopexit.i36.i.i, %lpad19.loopexit.i.i.i ], [ %lpad.loopexit65.i.i.i, %lpad19.loopexit.split-lp.loopexit.i.i.i ], [ %lpad.loopexit.split-lp66.i.i.i, %lpad19.loopexit.split-lp.loopexit.split-lp.i.i.i ] call void @_ZN3ue212bytecode_ptrI3FDRED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %agg.result) #19 br label %ehcleanup.i6.i.i ehcleanup.i6.i.i: ; preds = %lpad19.body.i.i.i, %lpad5.i.i.i - %.pn.i7.i.i = phi { ptr, i32 } [ %eh.lpad-body.i8.i.i, %lpad19.body.i.i.i ], [ %227, %lpad5.i.i.i ] + %.pn.i7.i.i = phi { ptr, i32 } [ %eh.lpad-body.i8.i.i, %lpad19.body.i.i.i ], [ %214, %lpad5.i.i.i ] call void @_ZN3ue212bytecode_ptrIhED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %confirmTable.i.i.i) #19 br label %ehcleanup104.i.i.i ehcleanup104.i.i.i: ; preds = %ehcleanup.i6.i.i, %lpad.i.i.i - %.pn.pn.i.i.i = phi { ptr, i32 } [ %.pn.i7.i.i, %ehcleanup.i6.i.i ], [ %226, %lpad.i.i.i ] + %.pn.pn.i.i.i = phi { ptr, i32 } [ %.pn.i7.i.i, %ehcleanup.i6.i.i ], [ %213, %lpad.i.i.i ] call void @_ZN3ue212bytecode_ptrIhED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %floodTable.i.i.i) #19 br label %lpad5.body.i @@ -5218,28 +5167,28 @@ invoke.cont6.i: ; preds = %if.then.i.i62.i.i.i br label %_ZN3ue2L21fdrBuildTableInternalERKNS_9HWLMProtoERKNS_4GreyE.exit lpad.i: ; preds = %if.then.i.i.i - %228 = landingpad { ptr, i32 } + %215 = landingpad { ptr, i32 } cleanup br label %ehcleanup.i lpad3.i: ; preds = %if.then.i.i.i.i.i.i.i - %229 = landingpad { ptr, i32 } + %216 = landingpad { ptr, i32 } cleanup call void @_ZNSt3mapIjSt6vectorIjSaIjEESt4lessIjESaISt4pairIKjS2_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %agg.tmp1.i) #19 br label %ehcleanup.i ehcleanup.i: ; preds = %lpad3.i, %lpad.i - %.pn.i = phi { ptr, i32 } [ %229, %lpad3.i ], [ %228, %lpad.i ] + %.pn.i = phi { ptr, i32 } [ %216, %lpad3.i ], [ %215, %lpad.i ] call void @_ZNSt6vectorIN3ue211hwlmLiteralESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %agg.tmp.i) #19 br label %eh.resume.i lpad5.i: ; preds = %_ZN3ue212_GLOBAL__N_111FDRCompiler8setupTabEv.exit.i.i, %if.then.i.i.i.i.i.i.i.i.i.i.i.i - %230 = landingpad { ptr, i32 } + %217 = landingpad { ptr, i32 } cleanup br label %lpad5.body.i lpad5.body.i: ; preds = %lpad5.i, %ehcleanup104.i.i.i, %if.then.i.i.i66.i.i.i, %ehcleanup.i.i.i - %eh.lpad-body.i = phi { ptr, i32 } [ %230, %lpad5.i ], [ %.pn.pn.i.i.i, %ehcleanup104.i.i.i ], [ %.pn.i.i.i, %if.then.i.i.i66.i.i.i ], [ %.pn.i.i.i, %ehcleanup.i.i.i ] + %eh.lpad-body.i = phi { ptr, i32 } [ %217, %lpad5.i ], [ %.pn.pn.i.i.i, %ehcleanup104.i.i.i ], [ %.pn.i.i.i, %if.then.i.i.i66.i.i.i ], [ %.pn.i.i.i, %ehcleanup.i.i.i ] call fastcc void @_ZN3ue212_GLOBAL__N_111FDRCompilerD2Ev(ptr noundef nonnull align 8 dereferenceable(113) %fc.i) #19 br label %eh.resume.i diff --git a/bench/icu/optimized/decNumber.ll b/bench/icu/optimized/decNumber.ll index 1c8a7280a10..0686fa68172 100644 --- a/bench/icu/optimized/decNumber.ll +++ b/bench/icu/optimized/decNumber.ll @@ -4835,19 +4835,18 @@ _ZL15decShiftToLeastPhii.exit: ; preds = %if.end56.i, %for.in br i1 %cmp339453, label %for.body340.preheader, label %if.end356 for.body340.preheader: ; preds = %_ZL15decShiftToLeastPhii.exit - %70 = add nsw i32 %cut.0, -1 - %71 = zext nneg i32 %70 to i64 - %72 = xor i64 %71, -1 - %73 = add nsw i64 %72, %idx.ext - %scevgep483 = getelementptr i8, ptr %var1.0, i64 %73 - %74 = zext nneg i32 %cut.0 to i64 - call void @llvm.memset.p0.i64(ptr align 1 %scevgep483, i8 0, i64 %74, i1 false) + %70 = sub nsw i32 0, %cut.0 + %71 = sext i32 %70 to i64 + %72 = add nsw i64 %71, %idx.ext + %scevgep483 = getelementptr i8, ptr %var1.0, i64 %72 + %73 = zext nneg i32 %cut.0 to i64 + call void @llvm.memset.p0.i64(ptr align 1 %scevgep483, i8 0, i64 %73, i1 false) br label %if.end356 if.else345: ; preds = %for.end308 - %75 = load i32, ptr %exponent139, align 4 - %76 = load i32, ptr %exponent142, align 4 - %sub348 = sub nsw i32 %75, %76 + %74 = load i32, ptr %exponent139, align 4 + %75 = load i32, ptr %exponent142, align 4 + %sub348 = sub nsw i32 %74, %75 %cmp351 = icmp ult i8 %55, %53 br i1 %cmp351, label %if.then352, label %if.end356 @@ -4865,56 +4864,56 @@ if.end356: ; preds = %_ZL15decShiftToLeas %add.ptr359 = getelementptr inbounds i8, ptr %add.ptr358, i64 -1 %and463 = and i32 %conv148, 80 %tobool464.not = icmp eq i32 %and463, 0 - %77 = sext i32 %var2ulen.0 to i64 - %78 = zext nneg i32 %cond271 to i64 + %76 = sext i32 %var2ulen.0 to i64 + %77 = zext nneg i32 %cond271 to i64 br label %for.cond360 for.cond360: ; preds = %if.end481, %if.end356 - %indvars.iv = phi i64 [ %indvars.iv.next, %if.end481 ], [ %77, %if.end356 ] + %indvars.iv = phi i64 [ %indvars.iv.next, %if.end481 ], [ %76, %if.end356 ] %var1units.1 = phi i32 [ %var1units.4, %if.end481 ], [ %spec.select358, %if.end356 ] %exponent.3 = phi i32 [ %sub483, %if.end481 ], [ %exponent.2, %if.end356 ] %msu1.0 = phi ptr [ %msu1.2.lcssa, %if.end481 ], [ %add.ptr228, %if.end356 ] %accdigits.0 = phi i32 [ %accdigits.3, %if.end481 ], [ 0, %if.end356 ] %accunits.0 = phi i32 [ %accunits.1, %if.end481 ], [ 0, %if.end356 ] %accnext.0 = phi ptr [ %accnext.1, %if.end481 ], [ %add.ptr359, %if.end356 ] - %79 = sub nsw i64 %indvars.iv, %78 - %arrayidx425 = getelementptr inbounds i8, ptr %var1.0, i64 %79 - %80 = trunc i64 %indvars.iv to i32 - %81 = trunc i64 %79 to i32 + %78 = sub nsw i64 %indvars.iv, %77 + %arrayidx425 = getelementptr inbounds i8, ptr %var1.0, i64 %78 + %79 = trunc i64 %indvars.iv to i32 + %80 = trunc i64 %78 to i32 br label %for.cond361 for.cond361: ; preds = %if.end416, %for.cond360 %var1units.2 = phi i32 [ %var1units.1, %for.cond360 ], [ %var1units.3.lcssa, %if.end416 ] %thisunit.0 = phi i8 [ 0, %for.cond360 ], [ %conv422, %if.end416 ] %msu1.1 = phi ptr [ %msu1.0, %for.cond360 ], [ %msu1.2.lcssa, %if.end416 ] - %82 = load i8, ptr %msu1.1, align 1 - %cmp364457 = icmp eq i8 %82, 0 + %81 = load i8, ptr %msu1.1, align 1 + %cmp364457 = icmp eq i8 %81, 0 %cmp365458 = icmp ugt ptr %msu1.1, %var1.0 - %83 = and i1 %cmp365458, %cmp364457 - br i1 %83, label %for.body366, label %for.end370 + %82 = and i1 %cmp365458, %cmp364457 + br i1 %82, label %for.body366, label %for.end370 for.body366: ; preds = %for.cond361, %for.body366 %msu1.2460 = phi ptr [ %incdec.ptr369, %for.body366 ], [ %msu1.1, %for.cond361 ] %var1units.3459 = phi i32 [ %dec367, %for.body366 ], [ %var1units.2, %for.cond361 ] %dec367 = add nsw i32 %var1units.3459, -1 %incdec.ptr369 = getelementptr inbounds i8, ptr %msu1.2460, i64 -1 - %84 = load i8, ptr %incdec.ptr369, align 1 - %cmp364 = icmp eq i8 %84, 0 + %83 = load i8, ptr %incdec.ptr369, align 1 + %cmp364 = icmp eq i8 %83, 0 %cmp365 = icmp ugt ptr %incdec.ptr369, %var1.0 - %85 = and i1 %cmp365, %cmp364 - br i1 %85, label %for.body366, label %for.end370, !llvm.loop !39 + %84 = and i1 %cmp365, %cmp364 + br i1 %84, label %for.body366, label %for.end370, !llvm.loop !39 for.end370: ; preds = %for.body366, %for.cond361 - %.lcssa456 = phi i8 [ %82, %for.cond361 ], [ %84, %for.body366 ] + %.lcssa456 = phi i8 [ %81, %for.cond361 ], [ %83, %for.body366 ] %var1units.3.lcssa = phi i32 [ %var1units.2, %for.cond361 ], [ %dec367, %for.body366 ] %msu1.2.lcssa = phi ptr [ %msu1.1, %for.cond361 ], [ %incdec.ptr369, %for.body366 ] %conv363.le = zext i8 %.lcssa456 to i32 - %86 = sext i32 %var1units.3.lcssa to i64 - %cmp371 = icmp sgt i64 %indvars.iv, %86 + %85 = sext i32 %var1units.3.lcssa to i64 + %cmp371 = icmp sgt i64 %indvars.iv, %85 br i1 %cmp371, label %for.end431, label %if.end373 if.end373: ; preds = %for.end370 - %cmp374 = icmp eq i32 %var1units.3.lcssa, %80 + %cmp374 = icmp eq i32 %var1units.3.lcssa, %79 br i1 %cmp374, label %for.cond376, label %if.end416 for.cond376: ; preds = %if.end373, %for.inc388 @@ -4925,13 +4924,13 @@ for.cond376: ; preds = %if.end373, %for.inc if.then378: ; preds = %for.cond376 %pv2.0.ptr = getelementptr inbounds i8, ptr %rhs, i64 %pv2.0.idx - %87 = load i8, ptr %pv2.0.ptr, align 1 + %86 = load i8, ptr %pv2.0.ptr, align 1 br label %if.end379 if.end379: ; preds = %if.then378, %for.cond376 - %v2.0 = phi i8 [ %87, %if.then378 ], [ 0, %for.cond376 ] - %88 = load i8, ptr %pv1.0, align 1 - %cmp382.not = icmp ne i8 %88, %v2.0 + %v2.0 = phi i8 [ %86, %if.then378 ], [ 0, %for.cond376 ] + %87 = load i8, ptr %pv1.0, align 1 + %cmp382.not = icmp ne i8 %87, %v2.0 %cmp385 = icmp eq ptr %pv1.0, %var1.0 %or.cond361 = select i1 %cmp382.not, i1 true, i1 %cmp385 br i1 %or.cond361, label %for.end391, label %for.inc388 @@ -4942,11 +4941,11 @@ for.inc388: ; preds = %if.end379 br label %for.cond376, !llvm.loop !40 for.end391: ; preds = %if.end379 - %cmp394 = icmp ult i8 %88, %v2.0 + %cmp394 = icmp ult i8 %87, %v2.0 br i1 %cmp394, label %for.end431, label %if.end396 if.end396: ; preds = %for.end391 - %cmp399 = icmp eq i8 %88, %v2.0 + %cmp399 = icmp eq i8 %87, %v2.0 br i1 %cmp399, label %if.then400, label %if.end416 if.then400: ; preds = %if.end396 @@ -4958,14 +4957,14 @@ if.end416: ; preds = %if.end373, %if.end3 %spec.select359.sink = phi i32 [ %msu2pair.0, %if.end396 ], [ %spec.select359, %if.end373 ] %mul411 = mul nuw nsw i32 %conv363.le, 10 %add.ptr412 = getelementptr inbounds i8, ptr %msu1.2.lcssa, i64 -1 - %89 = load i8, ptr %add.ptr412, align 1 - %conv413 = zext i8 %89 to i32 + %88 = load i8, ptr %add.ptr412, align 1 + %conv413 = zext i8 %88 to i32 %add414 = add nuw nsw i32 %mul411, %conv413 %div415 = udiv i32 %add414, %spec.select359.sink %spec.store.select = call i32 @llvm.umax.i32(i32 %div415, i32 1) - %90 = trunc i32 %spec.store.select to i8 - %conv422 = add i8 %thisunit.0, %90 - %sub426 = sub nsw i32 %var1units.3.lcssa, %81 + %89 = trunc i32 %spec.store.select to i8 + %conv422 = add i8 %thisunit.0, %89 + %sub426 = sub nsw i32 %var1units.3.lcssa, %80 %sub429 = sub nsw i32 0, %spec.store.select %call430 = call fastcc noundef i32 @_ZL13decUnitAddSubPKhiS0_iiPhi(ptr noundef nonnull %arrayidx425, i32 noundef %sub426, ptr noundef nonnull %lsu.ptr, i32 noundef %cond271, i32 noundef 0, ptr noundef nonnull %arrayidx425, i32 noundef %sub429) br label %for.cond361, !llvm.loop !41 @@ -4988,8 +4987,8 @@ for.cond440: ; preds = %if.then436, %for.co %pow.2 = phi ptr [ %incdec.ptr446, %for.cond440 ], [ getelementptr inbounds ([10 x i32], ptr @_ZL9DECPOWERS, i64 0, i64 1), %if.then436 ] %accdigits.1.in = phi i32 [ %accdigits.1, %for.cond440 ], [ %accdigits.0, %if.then436 ] %accdigits.1 = add nsw i32 %accdigits.1.in, 1 - %91 = load i32, ptr %pow.2, align 4 - %cmp442.not = icmp ugt i32 %91, %conv434 + %90 = load i32, ptr %pow.2, align 4 + %cmp442.not = icmp ugt i32 %90, %conv434 %incdec.ptr446 = getelementptr inbounds i8, ptr %pow.2, i64 4 br i1 %cmp442.not, label %if.end450, label %for.cond440, !llvm.loop !42 @@ -5008,8 +5007,8 @@ if.end456: ; preds = %if.end450, %for.end %accdigits.3 = phi i32 [ %accdigits.2, %if.end450 ], [ %accdigits.0, %for.end431 ] %accunits.1 = phi i32 [ %inc451, %if.end450 ], [ 0, %for.end431 ] %accnext.1 = phi ptr [ %incdec.ptr452, %if.end450 ], [ %accnext.0, %for.end431 ] - %92 = load i8, ptr %var1.0, align 1 - %cmp458 = icmp eq i8 %92, 0 + %91 = load i8, ptr %var1.0, align 1 + %cmp458 = icmp eq i8 %91, 0 %cmp460 = icmp eq i32 %var1units.4, 1 %or.cond3 = and i1 %cmp458, %cmp460 br i1 %or.cond3, label %if.then461, label %if.end474 @@ -5030,7 +5029,7 @@ if.end474: ; preds = %if.end456 br i1 %brmerge.not.old, label %for.end484, label %if.end481 if.end481: ; preds = %if.then461, %if.end474 - %indvars.iv.next = add i64 %indvars.iv, -1 + %indvars.iv.next = add nsw i64 %indvars.iv, -1 %sub483 = add nsw i32 %exponent.3, -1 br label %for.cond360, !llvm.loop !43 @@ -5057,8 +5056,8 @@ if.end489: ; preds = %if.else487, %if.the br i1 %tobool211.not, label %if.else501, label %if.then493 if.then493: ; preds = %if.end489 - %93 = load i8, ptr %var1.0, align 1 - %cmp495 = icmp ne i8 %93, 0 + %92 = load i8, ptr %var1.0, align 1 + %cmp495 = icmp ne i8 %92, 0 %cmp497 = icmp sgt i32 %var1units.4, 1 %or.cond4 = or i1 %cmp495, %cmp497 br i1 %or.cond4, label %if.then498, label %if.end687 @@ -5073,8 +5072,8 @@ if.else501: ; preds = %if.end489 br i1 %cmp503, label %if.then504, label %if.end506 if.then504: ; preds = %if.else501 - %94 = load i32, ptr %status, align 4 - %or505 = or i32 %94, 4 + %93 = load i32, ptr %status, align 4 + %or505 = or i32 %93, 4 store i32 %or505, ptr %status, align 4 br label %do.end @@ -5082,50 +5081,50 @@ if.end506: ; preds = %if.else501 br i1 %tobool464.not, label %if.end687, label %if.then510 if.then510: ; preds = %if.end506 - %95 = load i8, ptr %bits2, align 4 - %96 = load i8, ptr %var1.0, align 1 - %cmp513 = icmp eq i8 %96, 0 + %94 = load i8, ptr %bits2, align 4 + %95 = load i8, ptr %var1.0, align 1 + %cmp513 = icmp eq i8 %95, 0 %cmp515 = icmp eq i32 %var1units.4, 1 %or.cond5 = and i1 %cmp513, %cmp515 br i1 %or.cond5, label %if.then516, label %if.end529 if.then516: ; preds = %if.then510 - %97 = load i32, ptr %exponent139, align 4 - %98 = load i32, ptr %exponent142, align 4 - %spec.select363 = call i32 @llvm.smin.i32(i32 %98, i32 %97) + %96 = load i32, ptr %exponent139, align 4 + %97 = load i32, ptr %exponent142, align 4 + %spec.select363 = call i32 @llvm.smin.i32(i32 %97, i32 %96) %bits.i391 = getelementptr inbounds i8, ptr %res, i64 8 %exponent.i392 = getelementptr inbounds i8, ptr %res, i64 4 store i32 1, ptr %res, align 4 %lsu.i393 = getelementptr inbounds i8, ptr %res, i64 9 store i8 0, ptr %lsu.i393, align 1 store i32 %spec.select363, ptr %exponent.i392, align 4 - %99 = and i8 %95, -128 - store i8 %99, ptr %bits.i391, align 4 + %98 = and i8 %94, -128 + store i8 %98, ptr %bits.i391, align 4 call fastcc void @_ZL11decFinalizeP9decNumberP10decContextPiPj(ptr noundef nonnull %res, ptr noundef nonnull %set, ptr noundef nonnull %residue, ptr noundef %status) br label %do.end if.end529: ; preds = %if.then510 - %100 = load i8, ptr %accnext.3, align 1 - %101 = and i8 %100, 1 - %tobool532.not = icmp ne i8 %101, 0 + %99 = load i8, ptr %accnext.3, align 1 + %100 = and i8 %99, 1 + %tobool532.not = icmp ne i8 %100, 0 %add535 = add nsw i32 %exponent.3.lcssa, %var1initpad.0 - %102 = load i32, ptr %exponent139, align 4 - %sub537 = sub i32 %add535, %102 - %103 = load i32, ptr %exponent142, align 4 - %add539 = add nsw i32 %sub537, %103 + %101 = load i32, ptr %exponent139, align 4 + %sub537 = sub i32 %add535, %101 + %102 = load i32, ptr %exponent142, align 4 + %add539 = add nsw i32 %sub537, %102 %postshift.0 = call i32 @llvm.smin.i32(i32 %var1initpad.0, i32 %add539) %call543 = call fastcc noundef i32 @_ZL15decShiftToLeastPhii(ptr noundef nonnull %var1.0, i32 noundef %var1units.4, i32 noundef %postshift.0) - %104 = sext i32 %call543 to i64 - %105 = getelementptr i8, ptr %var1.0, i64 %104 - %up.07.i = getelementptr inbounds i8, ptr %105, i64 -1 + %103 = sext i32 %call543 to i64 + %104 = getelementptr i8, ptr %var1.0, i64 %103 + %up.07.i = getelementptr inbounds i8, ptr %104, i64 -1 %cmp.not8.i = icmp ult ptr %up.07.i, %var1.0 br i1 %cmp.not8.i, label %_ZL12decGetDigitsPhi.exit, label %for.body.i394 for.body.i394: ; preds = %if.end529, %if.end.i395 %up.010.i = phi ptr [ %up.0.i, %if.end.i395 ], [ %up.07.i, %if.end529 ] %digits.09.i = phi i32 [ %sub5.i396, %if.end.i395 ], [ %call543, %if.end529 ] - %106 = load i8, ptr %up.010.i, align 1 - %cmp2.i = icmp ne i8 %106, 0 + %105 = load i8, ptr %up.010.i, align 1 + %cmp2.i = icmp ne i8 %105, 0 %cmp3.i = icmp eq i32 %digits.09.i, 1 %or.cond.i = select i1 %cmp2.i, i1 true, i1 %cmp3.i br i1 %or.cond.i, label %_ZL12decGetDigitsPhi.exit, label %if.end.i395 @@ -5144,36 +5143,36 @@ _ZL12decGetDigitsPhi.exit: ; preds = %for.body.i394, %if. cond.true546: ; preds = %_ZL12decGetDigitsPhi.exit %idxprom547 = sext i32 %digits.0.lcssa.i to i64 %arrayidx548 = getelementptr inbounds [50 x i8], ptr @_ZL8d2utable, i64 0, i64 %idxprom547 - %107 = load i8, ptr %arrayidx548, align 1 - %conv549 = zext i8 %107 to i32 + %106 = load i8, ptr %arrayidx548, align 1 + %conv549 = zext i8 %106 to i32 br label %cond.end554 cond.end554: ; preds = %_ZL12decGetDigitsPhi.exit, %cond.true546 %cond555 = phi i32 [ %conv549, %cond.true546 ], [ %digits.0.lcssa.i, %_ZL12decGetDigitsPhi.exit ] - %108 = load i32, ptr %exponent139, align 4 - %109 = load i32, ptr %exponent142, align 4 - %spec.select364 = call i32 @llvm.smin.i32(i32 %109, i32 %108) + %107 = load i32, ptr %exponent139, align 4 + %108 = load i32, ptr %exponent142, align 4 + %spec.select364 = call i32 @llvm.smin.i32(i32 %108, i32 %107) %and563 = and i32 %conv148, 16 %tobool564.not = icmp eq i32 %and563, 0 br i1 %tobool564.not, label %if.end687, label %if.then565 if.then565: ; preds = %cond.end554 %call566 = call fastcc noundef i32 @_ZL13decUnitAddSubPKhiS0_iiPhi(ptr noundef nonnull %var1.0, i32 noundef %cond555, ptr noundef nonnull %var1.0, i32 noundef %cond555, i32 noundef 0, ptr noundef nonnull %var1.0, i32 noundef 1) - %110 = load i32, ptr %rhs, align 4 - %cmp570 = icmp slt i32 %110, 50 + %109 = load i32, ptr %rhs, align 4 + %cmp570 = icmp slt i32 %109, 50 br i1 %cmp570, label %cond.true571, label %cond.end581 cond.true571: ; preds = %if.then565 - %idxprom573 = sext i32 %110 to i64 + %idxprom573 = sext i32 %109 to i64 %arrayidx574 = getelementptr inbounds [50 x i8], ptr @_ZL8d2utable, i64 0, i64 %idxprom573 - %111 = load i8, ptr %arrayidx574, align 1 - %conv575 = zext i8 %111 to i32 + %110 = load i8, ptr %arrayidx574, align 1 + %conv575 = zext i8 %110 to i32 br label %cond.end581 cond.end581: ; preds = %if.then565, %cond.true571 - %cond582 = phi i32 [ %conv575, %cond.true571 ], [ %110, %if.then565 ] - %112 = load i32, ptr %exponent142, align 4 - %sub584 = sub nsw i32 %112, %spec.select364 + %cond582 = phi i32 [ %conv575, %cond.true571 ], [ %109, %if.then565 ] + %111 = load i32, ptr %exponent142, align 4 + %sub584 = sub nsw i32 %111, %spec.select364 %call585 = call fastcc noundef i32 @_ZL14decUnitComparePKhiS0_ii(ptr noundef nonnull %var1.0, i32 noundef %call566, ptr noundef nonnull %lsu.ptr, i32 noundef %cond582, i32 noundef %sub584), !range !44 %cmp586 = icmp eq i32 %call585, -2147483648 br i1 %cmp586, label %if.then587, label %for.cond590.preheader @@ -5185,24 +5184,24 @@ for.cond590.preheader: ; preds = %cond.end581 br i1 %cmp593464, label %for.body594, label %for.end609 if.then587: ; preds = %cond.end581 - %113 = load i32, ptr %status, align 4 - %or588 = or i32 %113, 16 + %112 = load i32, ptr %status, align 4 + %or588 = or i32 %112, 16 store i32 %or588, ptr %status, align 4 br label %do.end for.body594: ; preds = %for.cond590.preheader, %for.inc607 %up.0465 = phi ptr [ %incdec.ptr608, %for.inc607 ], [ %var1.0, %for.cond590.preheader ] - %114 = load i8, ptr %up.0465, align 1 - %115 = and i8 %114, 1 - %div598354 = lshr i8 %114, 1 + %113 = load i8, ptr %up.0465, align 1 + %114 = and i8 %113, 1 + %div598354 = lshr i8 %113, 1 store i8 %div598354, ptr %up.0465, align 1 - %tobool600.not = icmp eq i8 %115, 0 + %tobool600.not = icmp eq i8 %114, 0 br i1 %tobool600.not, label %for.inc607, label %if.end602 if.end602: ; preds = %for.body594 %add.ptr603 = getelementptr inbounds i8, ptr %up.0465, i64 -1 - %116 = load i8, ptr %add.ptr603, align 1 - %add605 = add i8 %116, 5 + %115 = load i8, ptr %add.ptr603, align 1 + %add605 = add i8 %115, 5 store i8 %add605, ptr %add.ptr603, align 1 br label %for.inc607 @@ -5227,28 +5226,28 @@ for.cond619.preheader: ; preds = %if.then615 br i1 %cmp620466, label %if.then621.preheader, label %if.else626 if.then621.preheader: ; preds = %for.cond619.preheader - %117 = add nsw i32 %0, -2 - %118 = zext nneg i32 %117 to i64 - %119 = add nuw nsw i64 %118, 1 - %scevgep486 = getelementptr i8, ptr %accnext.3, i64 %119 + %116 = add nsw i32 %0, -2 + %117 = zext nneg i32 %116 to i64 + %118 = add nuw nsw i64 %117, 1 + %scevgep486 = getelementptr i8, ptr %accnext.3, i64 %118 br label %if.then621 if.then621: ; preds = %if.then621.preheader, %if.end634 %up.1468 = phi ptr [ %incdec.ptr637, %if.end634 ], [ %accnext.3, %if.then621.preheader ] %quotdigits.0467 = phi i32 [ %sub635, %if.end634 ], [ %0, %if.then621.preheader ] - %120 = load i8, ptr %up.1468, align 1 - %cmp623.not = icmp eq i8 %120, 9 + %119 = load i8, ptr %up.1468, align 1 + %cmp623.not = icmp eq i8 %119, 9 br i1 %cmp623.not, label %if.end634, label %if.end643 if.else626: ; preds = %if.end634, %for.cond619.preheader %quotdigits.0.lcssa = phi i32 [ %0, %for.cond619.preheader ], [ 1, %if.end634 ] %up.1.lcssa = phi ptr [ %accnext.3, %for.cond619.preheader ], [ %scevgep486, %if.end634 ] - %121 = load i8, ptr %up.1.lcssa, align 1 - %conv627 = zext i8 %121 to i32 + %120 = load i8, ptr %up.1.lcssa, align 1 + %conv627 = zext i8 %120 to i32 %idxprom628 = sext i32 %quotdigits.0.lcssa to i64 %arrayidx629 = getelementptr inbounds [10 x i32], ptr @_ZL9DECPOWERS, i64 0, i64 %idxprom628 - %122 = load i32, ptr %arrayidx629, align 4 - %sub630 = add i32 %122, -1 + %121 = load i32, ptr %arrayidx629, align 4 + %sub630 = add i32 %121, -1 %cmp631.not = icmp eq i32 %sub630, %conv627 br i1 %cmp631.not, label %if.then641, label %if.end643 @@ -5259,40 +5258,40 @@ if.end634: ; preds = %if.then621 br i1 %cmp620, label %if.then621, label %if.else626, !llvm.loop !46 if.then641: ; preds = %if.else626 - %123 = load i32, ptr %status, align 4 - %or642 = or i32 %123, 4 + %122 = load i32, ptr %status, align 4 + %or642 = or i32 %122, 4 store i32 %or642, ptr %status, align 4 br label %do.end if.end643: ; preds = %if.then621, %if.then615, %if.else626 - %124 = load i32, ptr %exponent142, align 4 - %sub645 = sub nsw i32 %124, %spec.select364 - %125 = load i32, ptr %rhs, align 4 - %cmp651 = icmp slt i32 %125, 50 + %123 = load i32, ptr %exponent142, align 4 + %sub645 = sub nsw i32 %123, %spec.select364 + %124 = load i32, ptr %rhs, align 4 + %cmp651 = icmp slt i32 %124, 50 br i1 %cmp651, label %cond.true652, label %cond.end662 cond.true652: ; preds = %if.end643 - %idxprom654 = sext i32 %125 to i64 + %idxprom654 = sext i32 %124 to i64 %arrayidx655 = getelementptr inbounds [50 x i8], ptr @_ZL8d2utable, i64 0, i64 %idxprom654 - %126 = load i8, ptr %arrayidx655, align 1 - %conv656 = zext i8 %126 to i32 + %125 = load i8, ptr %arrayidx655, align 1 + %conv656 = zext i8 %125 to i32 br label %cond.end662 cond.end662: ; preds = %if.end643, %cond.true652 - %cond663 = phi i32 [ %conv656, %cond.true652 ], [ %125, %if.end643 ] + %cond663 = phi i32 [ %conv656, %cond.true652 ], [ %124, %if.end643 ] %call667 = call fastcc noundef i32 @_ZL13decUnitAddSubPKhiS0_iiPhi(ptr noundef nonnull %var1.0, i32 noundef %cond555, ptr noundef nonnull %lsu.ptr, i32 noundef %cond663, i32 noundef %sub645, ptr noundef nonnull %var1.0, i32 noundef -1) %sub668 = sub nsw i32 0, %call667 - %127 = sext i32 %sub668 to i64 - %128 = getelementptr i8, ptr %var1.0, i64 %127 - %up.07.i398 = getelementptr inbounds i8, ptr %128, i64 -1 + %126 = sext i32 %sub668 to i64 + %127 = getelementptr i8, ptr %var1.0, i64 %126 + %up.07.i398 = getelementptr inbounds i8, ptr %127, i64 -1 %cmp.not8.i399 = icmp ult ptr %up.07.i398, %var1.0 br i1 %cmp.not8.i399, label %_ZL12decGetDigitsPhi.exit412, label %for.body.i400 for.body.i400: ; preds = %cond.end662, %if.end.i406 %up.010.i401 = phi ptr [ %up.0.i408, %if.end.i406 ], [ %up.07.i398, %cond.end662 ] %digits.09.i402 = phi i32 [ %sub5.i407, %if.end.i406 ], [ %sub668, %cond.end662 ] - %129 = load i8, ptr %up.010.i401, align 1 - %cmp2.i403 = icmp ne i8 %129, 0 + %128 = load i8, ptr %up.010.i401, align 1 + %cmp2.i403 = icmp ne i8 %128, 0 %cmp3.i404 = icmp eq i32 %digits.09.i402, 1 %or.cond.i405 = select i1 %cmp2.i403, i1 true, i1 %cmp3.i404 br i1 %or.cond.i405, label %_ZL12decGetDigitsPhi.exit412, label %if.end.i406 @@ -5305,19 +5304,19 @@ if.end.i406: ; preds = %for.body.i400 _ZL12decGetDigitsPhi.exit412: ; preds = %for.body.i400, %if.end.i406, %cond.end662 %digits.0.lcssa.i411 = phi i32 [ %sub668, %cond.end662 ], [ %sub5.i407, %if.end.i406 ], [ %digits.09.i402, %for.body.i400 ] - %130 = xor i8 %95, -128 + %129 = xor i8 %94, -128 br label %if.end687 if.end687: ; preds = %for.end609, %if.end506, %_ZL12decGetDigitsPhi.exit412, %cond.end554, %if.then498, %if.then493 %exponent.5 = phi i32 [ %exponent.3.lcssa, %if.then498 ], [ %exponent.3.lcssa, %if.then493 ], [ %spec.select364, %_ZL12decGetDigitsPhi.exit412 ], [ %spec.select364, %cond.end554 ], [ %exponent.3.lcssa, %if.end506 ], [ %spec.select364, %for.end609 ] - %bits.0 = phi i8 [ %and, %if.then498 ], [ %and, %if.then493 ], [ %130, %_ZL12decGetDigitsPhi.exit412 ], [ %95, %cond.end554 ], [ %and, %if.end506 ], [ %95, %for.end609 ] + %bits.0 = phi i8 [ %and, %if.then498 ], [ %and, %if.then493 ], [ %129, %_ZL12decGetDigitsPhi.exit412 ], [ %94, %cond.end554 ], [ %and, %if.end506 ], [ %94, %for.end609 ] %accdigits.6 = phi i32 [ %accdigits.5, %if.then498 ], [ %accdigits.5, %if.then493 ], [ %digits.0.lcssa.i411, %_ZL12decGetDigitsPhi.exit412 ], [ %digits.0.lcssa.i, %cond.end554 ], [ %accdigits.5, %if.end506 ], [ %digits.0.lcssa.i, %for.end609 ] %accnext.4 = phi ptr [ %accnext.3, %if.then498 ], [ %accnext.3, %if.then493 ], [ %var1.0, %_ZL12decGetDigitsPhi.exit412 ], [ %var1.0, %cond.end554 ], [ %accnext.3, %if.end506 ], [ %var1.0, %for.end609 ] %exponent688 = getelementptr inbounds i8, ptr %res, i64 4 store i32 %exponent.5, ptr %exponent688, align 4 - %131 = and i8 %bits.0, -128 + %130 = and i8 %bits.0, -128 %bits692 = getelementptr inbounds i8, ptr %res, i64 8 - store i8 %131, ptr %bits692, align 4 + store i8 %130, ptr %bits692, align 4 call fastcc void @_ZL11decSetCoeffP9decNumberP10decContextPKhiPiPj(ptr noundef %res, ptr noundef nonnull %set, ptr noundef %accnext.4, i32 noundef %accdigits.6, ptr noundef nonnull %residue, ptr noundef %status) call fastcc void @_ZL11decFinalizeP9decNumberP10decContextPiPj(ptr noundef %res, ptr noundef nonnull %set, ptr noundef nonnull %residue, ptr noundef %status) br label %do.end @@ -6869,7 +6868,7 @@ if.else332: ; preds = %for.body318 if.end335: ; preds = %if.else332, %if.then321 %accunits.1 = phi i32 [ %add331, %if.then321 ], [ %inc, %if.else332 ] - %indvars.iv.next = add nuw i64 %indvars.iv, 1 + %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %incdec.ptr338 = getelementptr inbounds i8, ptr %mer.0209, i64 1 %cmp317 = icmp ult ptr %incdec.ptr338, %add.ptr313.ptr265 br i1 %cmp317, label %for.body318, label %if.end340, !llvm.loop !58 diff --git a/bench/luajit/optimized/lj_debug.ll b/bench/luajit/optimized/lj_debug.ll index adc8107d244..06a60d80080 100644 --- a/bench/luajit/optimized/lj_debug.ll +++ b/bench/luajit/optimized/lj_debug.ll @@ -560,12 +560,12 @@ sw.bb36: ; preds = %if.then29, %if.then %14 = load i64, ptr %k, align 8 %15 = inttoptr i64 %14 to ptr %shr37 = lshr i32 %.us-phi68, 16 - %conv38 = zext nneg i32 %shr37 to i64 - %not = xor i64 %conv38, -1 + %16 = xor i32 %shr37, -1 + %not = sext i32 %16 to i64 %arrayidx39 = getelementptr inbounds %struct.GCRef, ptr %15, i64 %not - %16 = load i64, ptr %arrayidx39, align 8 - %17 = inttoptr i64 %16 to ptr - %add.ptr40 = getelementptr inbounds i8, ptr %17, i64 24 + %17 = load i64, ptr %arrayidx39, align 8 + %18 = inttoptr i64 %17 to ptr + %add.ptr40 = getelementptr inbounds i8, ptr %18, i64 24 store ptr %add.ptr40, ptr %name, align 8 br label %return @@ -574,32 +574,32 @@ sw.bb41: ; preds = %if.then29, %if.then %.us-phi70 = phi i32 [ %3, %if.then29.us ], [ %11, %if.then29 ] %.us-phi71 = phi i32 [ %slot.addr.0.us73191, %if.then29.us ], [ %slot.addr.0, %if.then29 ] %k42 = getelementptr inbounds i8, ptr %pt, i64 32 - %18 = load i64, ptr %k42, align 8 - %19 = inttoptr i64 %18 to ptr + %19 = load i64, ptr %k42, align 8 + %20 = inttoptr i64 %19 to ptr %shr44 = lshr i32 %.us-phi70, 16 %and45 = and i32 %shr44, 255 - %conv46 = zext nneg i32 %and45 to i64 - %not47 = xor i64 %conv46, -1 - %arrayidx48 = getelementptr inbounds %struct.GCRef, ptr %19, i64 %not47 - %20 = load i64, ptr %arrayidx48, align 8 - %21 = inttoptr i64 %20 to ptr - %add.ptr50 = getelementptr inbounds i8, ptr %21, i64 24 + %21 = xor i32 %and45, -1 + %not47 = sext i32 %21 to i64 + %arrayidx48 = getelementptr inbounds %struct.GCRef, ptr %20, i64 %not47 + %22 = load i64, ptr %arrayidx48, align 8 + %23 = inttoptr i64 %22 to ptr + %add.ptr50 = getelementptr inbounds i8, ptr %23, i64 24 store ptr %add.ptr50, ptr %name, align 8 %arrayidx55 = getelementptr inbounds i8, ptr %.us-phi69, i64 -8 - %22 = load i32, ptr %arrayidx55, align 4 - %and56 = and i32 %22, 255 + %24 = load i32, ptr %arrayidx55, align 4 + %and56 = and i32 %24, 255 %cmp57 = icmp eq i32 %and56, 18 br i1 %cmp57, label %land.lhs.true59, label %if.end72 land.lhs.true59: ; preds = %sw.bb41 - %shr60 = lshr i32 %22, 8 + %shr60 = lshr i32 %24, 8 %and61 = and i32 %shr60, 255 %add62 = add nuw nsw i32 %.us-phi71, 2 %cmp63 = icmp eq i32 %and61, %add62 br i1 %cmp63, label %land.lhs.true65, label %if.end72 land.lhs.true65: ; preds = %land.lhs.true59 - %shr66 = lshr i32 %22, 16 + %shr66 = lshr i32 %24, 16 %shr67 = lshr i32 %.us-phi70, 24 %cmp68 = icmp eq i32 %shr66, %shr67 br i1 %cmp68, label %return, label %if.end72 @@ -610,12 +610,12 @@ if.end72: ; preds = %sw.bb41, %land.lhs. sw.bb73: ; preds = %if.then29, %if.then29.us %.us-phi72 = phi i32 [ %3, %if.then29.us ], [ %11, %if.then29 ] %uvinfo.i = getelementptr inbounds i8, ptr %pt, i64 88 - %23 = load i64, ptr %uvinfo.i, align 8 - %tobool.not.i34 = icmp eq i64 %23, 0 + %25 = load i64, ptr %uvinfo.i, align 8 + %tobool.not.i34 = icmp eq i64 %25, 0 br i1 %tobool.not.i34, label %lj_debug_uvname.exit, label %if.end.i if.end.i: ; preds = %sw.bb73 - %24 = inttoptr i64 %23 to ptr + %26 = inttoptr i64 %25 to ptr %tobool1.not.i = icmp ult i32 %.us-phi72, 65536 br i1 %tobool1.not.i, label %lj_debug_uvname.exit, label %while.cond.i35.preheader @@ -625,14 +625,14 @@ while.cond.i35.preheader: ; preds = %if.end.i while.cond.i35.outer: ; preds = %lor.rhs.i38, %while.cond.i35.preheader %idx.addr.0.i.ph = phi i32 [ %dec.i39, %lor.rhs.i38 ], [ %shr74, %while.cond.i35.preheader ] - %p.0.i.ph = phi ptr [ %incdec.ptr.i36, %lor.rhs.i38 ], [ %24, %while.cond.i35.preheader ] + %p.0.i.ph = phi ptr [ %incdec.ptr.i36, %lor.rhs.i38 ], [ %26, %while.cond.i35.preheader ] br label %while.cond.i35 while.cond.i35: ; preds = %while.cond.i35.outer, %while.cond.i35 %p.0.i = phi ptr [ %incdec.ptr.i36, %while.cond.i35 ], [ %p.0.i.ph, %while.cond.i35.outer ] %incdec.ptr.i36 = getelementptr inbounds i8, ptr %p.0.i, i64 1 - %25 = load i8, ptr %p.0.i, align 1 - %tobool3.not.i = icmp eq i8 %25, 0 + %27 = load i8, ptr %p.0.i, align 1 + %tobool3.not.i = icmp eq i8 %27, 0 br i1 %tobool3.not.i, label %lor.rhs.i38, label %while.cond.i35, !llvm.loop !6 lor.rhs.i38: ; preds = %while.cond.i35 @@ -641,7 +641,7 @@ lor.rhs.i38: ; preds = %while.cond.i35 br i1 %tobool4.not.i, label %lj_debug_uvname.exit, label %while.cond.i35.outer, !llvm.loop !6 lj_debug_uvname.exit: ; preds = %lor.rhs.i38, %sw.bb73, %if.end.i - %retval.0.i40 = phi ptr [ @.str, %sw.bb73 ], [ %24, %if.end.i ], [ %incdec.ptr.i36, %lor.rhs.i38 ] + %retval.0.i40 = phi ptr [ @.str, %sw.bb73 ], [ %26, %if.end.i ], [ %incdec.ptr.i36, %lor.rhs.i38 ] store ptr %retval.0.i40, ptr %name, align 8 br label %return diff --git a/bench/luajit/optimized/lj_debug_dyn.ll b/bench/luajit/optimized/lj_debug_dyn.ll index 165ef7618e4..9acc5f94955 100644 --- a/bench/luajit/optimized/lj_debug_dyn.ll +++ b/bench/luajit/optimized/lj_debug_dyn.ll @@ -560,12 +560,12 @@ sw.bb36: ; preds = %if.then29, %if.then %14 = load i64, ptr %k, align 8 %15 = inttoptr i64 %14 to ptr %shr37 = lshr i32 %.us-phi68, 16 - %conv38 = zext nneg i32 %shr37 to i64 - %not = xor i64 %conv38, -1 + %16 = xor i32 %shr37, -1 + %not = sext i32 %16 to i64 %arrayidx39 = getelementptr inbounds %struct.GCRef, ptr %15, i64 %not - %16 = load i64, ptr %arrayidx39, align 8 - %17 = inttoptr i64 %16 to ptr - %add.ptr40 = getelementptr inbounds i8, ptr %17, i64 24 + %17 = load i64, ptr %arrayidx39, align 8 + %18 = inttoptr i64 %17 to ptr + %add.ptr40 = getelementptr inbounds i8, ptr %18, i64 24 store ptr %add.ptr40, ptr %name, align 8 br label %return @@ -574,32 +574,32 @@ sw.bb41: ; preds = %if.then29, %if.then %.us-phi70 = phi i32 [ %3, %if.then29.us ], [ %11, %if.then29 ] %.us-phi71 = phi i32 [ %slot.addr.0.us73191, %if.then29.us ], [ %slot.addr.0, %if.then29 ] %k42 = getelementptr inbounds i8, ptr %pt, i64 32 - %18 = load i64, ptr %k42, align 8 - %19 = inttoptr i64 %18 to ptr + %19 = load i64, ptr %k42, align 8 + %20 = inttoptr i64 %19 to ptr %shr44 = lshr i32 %.us-phi70, 16 %and45 = and i32 %shr44, 255 - %conv46 = zext nneg i32 %and45 to i64 - %not47 = xor i64 %conv46, -1 - %arrayidx48 = getelementptr inbounds %struct.GCRef, ptr %19, i64 %not47 - %20 = load i64, ptr %arrayidx48, align 8 - %21 = inttoptr i64 %20 to ptr - %add.ptr50 = getelementptr inbounds i8, ptr %21, i64 24 + %21 = xor i32 %and45, -1 + %not47 = sext i32 %21 to i64 + %arrayidx48 = getelementptr inbounds %struct.GCRef, ptr %20, i64 %not47 + %22 = load i64, ptr %arrayidx48, align 8 + %23 = inttoptr i64 %22 to ptr + %add.ptr50 = getelementptr inbounds i8, ptr %23, i64 24 store ptr %add.ptr50, ptr %name, align 8 %arrayidx55 = getelementptr inbounds i8, ptr %.us-phi69, i64 -8 - %22 = load i32, ptr %arrayidx55, align 4 - %and56 = and i32 %22, 255 + %24 = load i32, ptr %arrayidx55, align 4 + %and56 = and i32 %24, 255 %cmp57 = icmp eq i32 %and56, 18 br i1 %cmp57, label %land.lhs.true59, label %if.end72 land.lhs.true59: ; preds = %sw.bb41 - %shr60 = lshr i32 %22, 8 + %shr60 = lshr i32 %24, 8 %and61 = and i32 %shr60, 255 %add62 = add nuw nsw i32 %.us-phi71, 2 %cmp63 = icmp eq i32 %and61, %add62 br i1 %cmp63, label %land.lhs.true65, label %if.end72 land.lhs.true65: ; preds = %land.lhs.true59 - %shr66 = lshr i32 %22, 16 + %shr66 = lshr i32 %24, 16 %shr67 = lshr i32 %.us-phi70, 24 %cmp68 = icmp eq i32 %shr66, %shr67 br i1 %cmp68, label %return, label %if.end72 @@ -610,12 +610,12 @@ if.end72: ; preds = %sw.bb41, %land.lhs. sw.bb73: ; preds = %if.then29, %if.then29.us %.us-phi72 = phi i32 [ %3, %if.then29.us ], [ %11, %if.then29 ] %uvinfo.i = getelementptr inbounds i8, ptr %pt, i64 88 - %23 = load i64, ptr %uvinfo.i, align 8 - %tobool.not.i34 = icmp eq i64 %23, 0 + %25 = load i64, ptr %uvinfo.i, align 8 + %tobool.not.i34 = icmp eq i64 %25, 0 br i1 %tobool.not.i34, label %lj_debug_uvname.exit, label %if.end.i if.end.i: ; preds = %sw.bb73 - %24 = inttoptr i64 %23 to ptr + %26 = inttoptr i64 %25 to ptr %tobool1.not.i = icmp ult i32 %.us-phi72, 65536 br i1 %tobool1.not.i, label %lj_debug_uvname.exit, label %while.cond.i35.preheader @@ -625,14 +625,14 @@ while.cond.i35.preheader: ; preds = %if.end.i while.cond.i35.outer: ; preds = %lor.rhs.i38, %while.cond.i35.preheader %idx.addr.0.i.ph = phi i32 [ %dec.i39, %lor.rhs.i38 ], [ %shr74, %while.cond.i35.preheader ] - %p.0.i.ph = phi ptr [ %incdec.ptr.i36, %lor.rhs.i38 ], [ %24, %while.cond.i35.preheader ] + %p.0.i.ph = phi ptr [ %incdec.ptr.i36, %lor.rhs.i38 ], [ %26, %while.cond.i35.preheader ] br label %while.cond.i35 while.cond.i35: ; preds = %while.cond.i35.outer, %while.cond.i35 %p.0.i = phi ptr [ %incdec.ptr.i36, %while.cond.i35 ], [ %p.0.i.ph, %while.cond.i35.outer ] %incdec.ptr.i36 = getelementptr inbounds i8, ptr %p.0.i, i64 1 - %25 = load i8, ptr %p.0.i, align 1 - %tobool3.not.i = icmp eq i8 %25, 0 + %27 = load i8, ptr %p.0.i, align 1 + %tobool3.not.i = icmp eq i8 %27, 0 br i1 %tobool3.not.i, label %lor.rhs.i38, label %while.cond.i35, !llvm.loop !5 lor.rhs.i38: ; preds = %while.cond.i35 @@ -641,7 +641,7 @@ lor.rhs.i38: ; preds = %while.cond.i35 br i1 %tobool4.not.i, label %lj_debug_uvname.exit, label %while.cond.i35.outer, !llvm.loop !5 lj_debug_uvname.exit: ; preds = %lor.rhs.i38, %sw.bb73, %if.end.i - %retval.0.i40 = phi ptr [ @.str, %sw.bb73 ], [ %24, %if.end.i ], [ %incdec.ptr.i36, %lor.rhs.i38 ] + %retval.0.i40 = phi ptr [ @.str, %sw.bb73 ], [ %26, %if.end.i ], [ %incdec.ptr.i36, %lor.rhs.i38 ] store ptr %retval.0.i40, ptr %name, align 8 br label %return diff --git a/bench/luajit/optimized/lj_ir.ll b/bench/luajit/optimized/lj_ir.ll index 888614fa4ea..33ff40b1aea 100644 --- a/bench/luajit/optimized/lj_ir.ll +++ b/bench/luajit/optimized/lj_ir.ll @@ -1254,8 +1254,8 @@ sw.bb5: ; preds = %entry %t6 = getelementptr inbounds i8, ptr %ir, i64 4 %5 = load i8, ptr %t6, align 4 %6 = and i8 %5, 31 - %and9 = zext nneg i8 %6 to i64 - %not.i = xor i64 %and9, -1 + %7 = xor i8 %6, -1 + %not.i = sext i8 %7 to i64 %shl.i38 = shl nsw i64 %not.i, 47 %or.i39 = or i64 %shl.i38, %4 store i64 %or.i39, ptr %tv, align 8 @@ -1263,8 +1263,8 @@ sw.bb5: ; preds = %entry sw.bb11: ; preds = %entry, %entry %arrayidx12 = getelementptr inbounds i8, ptr %ir, i64 8 - %7 = load i64, ptr %arrayidx12, align 8 - %conv13 = uitofp i64 %7 to double + %8 = load i64, ptr %arrayidx12, align 8 + %conv13 = uitofp i64 %8 to double store double %conv13, ptr %tv, align 8 br label %sw.epilog @@ -1274,8 +1274,8 @@ sw.bb14: ; preds = %entry sw.bb15: ; preds = %entry %arrayidx16 = getelementptr inbounds i8, ptr %ir, i64 8 - %8 = load double, ptr %arrayidx16, align 8 - store double %8, ptr %tv, align 8 + %9 = load double, ptr %arrayidx16, align 8 + store double %9, ptr %tv, align 8 br label %sw.epilog sw.bb17: ; preds = %entry @@ -1285,11 +1285,11 @@ sw.bb17: ; preds = %entry %ctypeid.i = getelementptr inbounds i8, ptr %call.i, i64 10 store i16 11, ptr %ctypeid.i, align 2 %arrayidx19 = getelementptr inbounds i8, ptr %ir, i64 8 - %9 = load i64, ptr %arrayidx19, align 8 + %10 = load i64, ptr %arrayidx19, align 8 %add.ptr = getelementptr inbounds i8, ptr %call.i, i64 16 - store i64 %9, ptr %add.ptr, align 8 - %10 = ptrtoint ptr %call.i to i64 - %or.i = or i64 %10, -1548112371908608 + store i64 %10, ptr %add.ptr, align 8 + %11 = ptrtoint ptr %call.i to i64 + %or.i = or i64 %11, -1548112371908608 store i64 %or.i, ptr %tv, align 8 br label %sw.epilog diff --git a/bench/luajit/optimized/lj_ir_dyn.ll b/bench/luajit/optimized/lj_ir_dyn.ll index fd70d45038b..11faf75e901 100644 --- a/bench/luajit/optimized/lj_ir_dyn.ll +++ b/bench/luajit/optimized/lj_ir_dyn.ll @@ -1254,8 +1254,8 @@ sw.bb5: ; preds = %entry %t6 = getelementptr inbounds i8, ptr %ir, i64 4 %5 = load i8, ptr %t6, align 4 %6 = and i8 %5, 31 - %and9 = zext nneg i8 %6 to i64 - %not.i = xor i64 %and9, -1 + %7 = xor i8 %6, -1 + %not.i = sext i8 %7 to i64 %shl.i38 = shl nsw i64 %not.i, 47 %or.i39 = or i64 %shl.i38, %4 store i64 %or.i39, ptr %tv, align 8 @@ -1263,8 +1263,8 @@ sw.bb5: ; preds = %entry sw.bb11: ; preds = %entry, %entry %arrayidx12 = getelementptr inbounds i8, ptr %ir, i64 8 - %7 = load i64, ptr %arrayidx12, align 8 - %conv13 = uitofp i64 %7 to double + %8 = load i64, ptr %arrayidx12, align 8 + %conv13 = uitofp i64 %8 to double store double %conv13, ptr %tv, align 8 br label %sw.epilog @@ -1274,8 +1274,8 @@ sw.bb14: ; preds = %entry sw.bb15: ; preds = %entry %arrayidx16 = getelementptr inbounds i8, ptr %ir, i64 8 - %8 = load double, ptr %arrayidx16, align 8 - store double %8, ptr %tv, align 8 + %9 = load double, ptr %arrayidx16, align 8 + store double %9, ptr %tv, align 8 br label %sw.epilog sw.bb17: ; preds = %entry @@ -1285,11 +1285,11 @@ sw.bb17: ; preds = %entry %ctypeid.i = getelementptr inbounds i8, ptr %call.i, i64 10 store i16 11, ptr %ctypeid.i, align 2 %arrayidx19 = getelementptr inbounds i8, ptr %ir, i64 8 - %9 = load i64, ptr %arrayidx19, align 8 + %10 = load i64, ptr %arrayidx19, align 8 %add.ptr = getelementptr inbounds i8, ptr %call.i, i64 16 - store i64 %9, ptr %add.ptr, align 8 - %10 = ptrtoint ptr %call.i to i64 - %or.i = or i64 %10, -1548112371908608 + store i64 %10, ptr %add.ptr, align 8 + %11 = ptrtoint ptr %call.i to i64 + %or.i = or i64 %11, -1548112371908608 store i64 %or.i, ptr %tv, align 8 br label %sw.epilog diff --git a/bench/luajit/optimized/lj_meta.ll b/bench/luajit/optimized/lj_meta.ll index f3c2d07aaa8..8ff9fa2b766 100644 --- a/bench/luajit/optimized/lj_meta.ll +++ b/bench/luajit/optimized/lj_meta.ll @@ -1714,28 +1714,28 @@ if.then15: ; preds = %entry %8 = load i64, ptr %k, align 8 %9 = inttoptr i64 %8 to ptr %shr20 = lshr i32 %ins, 16 - %conv21 = zext nneg i32 %shr20 to i64 - %not = xor i64 %conv21, -1 + %10 = xor i32 %shr20, -1 + %not = sext i32 %10 to i64 %arrayidx22 = getelementptr inbounds %struct.GCRef, ptr %9, i64 %not - %10 = load i64, ptr %arrayidx22, align 8 - %or.i.i = or i64 %10, -703687441776640 + %11 = load i64, ptr %arrayidx22, align 8 + %or.i.i = or i64 %11, -703687441776640 store i64 %or.i.i, ptr %tv.sroa.0, align 8 br label %if.end48 if.then27: ; preds = %entry %add.ptr29 = getelementptr inbounds i8, ptr %0, i64 -16 - %11 = load i64, ptr %add.ptr29, align 8 - %and31 = and i64 %11, 140737488355327 - %12 = inttoptr i64 %and31 to ptr - %pc32 = getelementptr inbounds i8, ptr %12, i64 32 - %13 = load i64, ptr %pc32, align 8 - %14 = inttoptr i64 %13 to ptr - %k35 = getelementptr inbounds i8, ptr %14, i64 -72 - %15 = load i64, ptr %k35, align 8 - %16 = inttoptr i64 %15 to ptr + %12 = load i64, ptr %add.ptr29, align 8 + %and31 = and i64 %12, 140737488355327 + %13 = inttoptr i64 %and31 to ptr + %pc32 = getelementptr inbounds i8, ptr %13, i64 32 + %14 = load i64, ptr %pc32, align 8 + %15 = inttoptr i64 %14 to ptr + %k35 = getelementptr inbounds i8, ptr %15, i64 -72 + %16 = load i64, ptr %k35, align 8 + %17 = inttoptr i64 %16 to ptr %shr37 = lshr i32 %ins, 16 %idxprom38 = zext nneg i32 %shr37 to i64 - %arrayidx39 = getelementptr inbounds %union.TValue, ptr %16, i64 %idxprom38 + %arrayidx39 = getelementptr inbounds %union.TValue, ptr %17, i64 %idxprom38 br label %if.end48 if.else40: ; preds = %entry @@ -1749,8 +1749,8 @@ if.else40: ; preds = %entry if.end48: ; preds = %if.then, %if.then15, %if.else40, %if.then27 %o2.0 = phi ptr [ %tv.sroa.0, %if.then15 ], [ %arrayidx39, %if.then27 ], [ %tv.sroa.0, %if.else40 ], [ %arrayidx8, %if.then ] %o1mm.0 = phi ptr [ %arrayidx, %if.then15 ], [ %arrayidx, %if.then27 ], [ %arrayidx, %if.else40 ], [ %spec.select, %if.then ] - %17 = load i64, ptr %o1mm.0, align 8 - %shr.i = ashr i64 %17, 47 + %18 = load i64, ptr %o1mm.0, align 8 + %shr.i = ashr i64 %18, 47 %conv.i = trunc i64 %shr.i to i32 switch i32 %conv.i, label %if.else12.i [ i32 -12, label %if.then.i @@ -1758,26 +1758,26 @@ if.end48: ; preds = %if.then, %if.then15 ] if.then.i: ; preds = %if.end48 - %and.i = and i64 %17, 140737488355327 - %18 = inttoptr i64 %and.i to ptr - %metatable.i = getelementptr inbounds i8, ptr %18, i64 32 + %and.i = and i64 %18, 140737488355327 + %19 = inttoptr i64 %and.i to ptr + %metatable.i = getelementptr inbounds i8, ptr %19, i64 32 br label %if.end20.i if.then7.i: ; preds = %if.end48 - %and9.i = and i64 %17, 140737488355327 - %19 = inttoptr i64 %and9.i to ptr - %metatable10.i = getelementptr inbounds i8, ptr %19, i64 32 + %and9.i = and i64 %18, 140737488355327 + %20 = inttoptr i64 %and9.i to ptr + %metatable10.i = getelementptr inbounds i8, ptr %20, i64 32 br label %if.end20.i if.else12.i: ; preds = %if.end48 %glref.i = getelementptr inbounds i8, ptr %L, i64 16 - %20 = load i64, ptr %glref.i, align 8 - %21 = inttoptr i64 %20 to ptr - %gcroot.i = getelementptr inbounds i8, ptr %21, i64 424 + %21 = load i64, ptr %glref.i, align 8 + %22 = inttoptr i64 %21 to ptr + %gcroot.i = getelementptr inbounds i8, ptr %22, i64 424 %cmp15.i = icmp ult i32 %conv.i, -13 - %22 = sub nsw i64 21, %shr.i - %23 = and i64 %22, 4294967295 - %cond.i = select i1 %cmp15.i, i64 35, i64 %23 + %23 = sub nsw i64 21, %shr.i + %24 = and i64 %23, 4294967295 + %cond.i = select i1 %cmp15.i, i64 35, i64 %24 %arrayidx.i = getelementptr inbounds [38 x %struct.GCRef], ptr %gcroot.i, i64 0, i64 %cond.i br label %if.end20.i @@ -1790,77 +1790,77 @@ if.end20.i: ; preds = %if.else12.i, %if.th if.then21.i: ; preds = %if.end20.i %mt.0.i = inttoptr i64 %mt.0.in.i to ptr %glref22.i = getelementptr inbounds i8, ptr %L, i64 16 - %24 = load i64, ptr %glref22.i, align 8 - %25 = inttoptr i64 %24 to ptr - %arrayidx27.i = getelementptr inbounds i8, ptr %25, i64 456 - %26 = load i64, ptr %arrayidx27.i, align 8 - %27 = inttoptr i64 %26 to ptr - %call.i = tail call ptr @lj_tab_getstr(ptr noundef nonnull %mt.0.i, ptr noundef %27) #5 + %25 = load i64, ptr %glref22.i, align 8 + %26 = inttoptr i64 %25 to ptr + %arrayidx27.i = getelementptr inbounds i8, ptr %26, i64 456 + %27 = load i64, ptr %arrayidx27.i, align 8 + %28 = inttoptr i64 %27 to ptr + %call.i = tail call ptr @lj_tab_getstr(ptr noundef nonnull %mt.0.i, ptr noundef %28) #5 %tobool29.not.i = icmp eq ptr %call.i, null br i1 %tobool29.not.i, label %if.end32.i, label %lj_meta_lookup.exit if.end32.i: ; preds = %if.then21.i, %if.end20.i %glref33.i = getelementptr inbounds i8, ptr %L, i64 16 - %28 = load i64, ptr %glref33.i, align 8 - %29 = inttoptr i64 %28 to ptr - %nilnode.i = getelementptr inbounds i8, ptr %29, i64 248 + %29 = load i64, ptr %glref33.i, align 8 + %30 = inttoptr i64 %29 to ptr + %nilnode.i = getelementptr inbounds i8, ptr %30, i64 248 br label %lj_meta_lookup.exit lj_meta_lookup.exit: ; preds = %if.then21.i, %if.end32.i %retval.0.i = phi ptr [ %nilnode.i, %if.end32.i ], [ %call.i, %if.then21.i ] - %30 = load i64, ptr %retval.0.i, align 8 - %cmp49.not = icmp eq i64 %30, -1 + %31 = load i64, ptr %retval.0.i, align 8 + %cmp49.not = icmp eq i64 %31, -1 br i1 %cmp49.not, label %if.else57, label %if.then55 if.then55: ; preds = %lj_meta_lookup.exit %L.val = load ptr, ptr %base, align 8 - %31 = getelementptr i8, ptr %L, i64 40 - %L.val21 = load ptr, ptr %31, align 8 + %32 = getelementptr i8, ptr %L, i64 40 + %L.val21 = load ptr, ptr %32, align 8 %add.ptr.i = getelementptr inbounds i8, ptr %L.val, i64 -16 - %32 = load i64, ptr %add.ptr.i, align 8 - %and.i22 = and i64 %32, 140737488355327 - %33 = inttoptr i64 %and.i22 to ptr - %ffid.i = getelementptr inbounds i8, ptr %33, i64 10 - %34 = load i8, ptr %ffid.i, align 2 - %cmp.i = icmp eq i8 %34, 0 + %33 = load i64, ptr %add.ptr.i, align 8 + %and.i22 = and i64 %33, 140737488355327 + %34 = inttoptr i64 %and.i22 to ptr + %ffid.i = getelementptr inbounds i8, ptr %34, i64 10 + %35 = load i8, ptr %ffid.i, align 2 + %cmp.i = icmp eq i8 %35, 0 br i1 %cmp.i, label %if.then.i23, label %mmcall.exit if.then.i23: ; preds = %if.then55 - %pc.i = getelementptr inbounds i8, ptr %33, i64 32 - %35 = load i64, ptr %pc.i, align 8 - %36 = inttoptr i64 %35 to ptr - %framesize.i = getelementptr inbounds i8, ptr %36, i64 -93 - %37 = load i8, ptr %framesize.i, align 1 - %idx.ext.i = zext i8 %37 to i64 + %pc.i = getelementptr inbounds i8, ptr %34, i64 32 + %36 = load i64, ptr %pc.i, align 8 + %37 = inttoptr i64 %36 to ptr + %framesize.i = getelementptr inbounds i8, ptr %37, i64 -93 + %38 = load i8, ptr %framesize.i, align 1 + %idx.ext.i = zext i8 %38 to i64 %add.ptr10.i = getelementptr inbounds %union.TValue, ptr %L.val, i64 %idx.ext.i br label %mmcall.exit mmcall.exit: ; preds = %if.then55, %if.then.i23 %top.0.i = phi ptr [ %add.ptr10.i, %if.then.i23 ], [ %L.val21, %if.then55 ] - %38 = select i1 %tobool.not, i64 ptrtoint (ptr @lj_cont_condt to i64), i64 ptrtoint (ptr @lj_cont_condf to i64) + %39 = select i1 %tobool.not, i64 ptrtoint (ptr @lj_cont_condt to i64), i64 ptrtoint (ptr @lj_cont_condf to i64) %incdec.ptr.i = getelementptr inbounds i8, ptr %top.0.i, i64 8 - store i64 %38, ptr %top.0.i, align 8 + store i64 %39, ptr %top.0.i, align 8 %incdec.ptr11.i = getelementptr inbounds i8, ptr %top.0.i, i64 16 store i64 -1, ptr %incdec.ptr.i, align 8 %incdec.ptr12.i = getelementptr inbounds i8, ptr %top.0.i, i64 24 - %39 = load i64, ptr %retval.0.i, align 8 - store i64 %39, ptr %incdec.ptr11.i, align 8 + %40 = load i64, ptr %retval.0.i, align 8 + store i64 %40, ptr %incdec.ptr11.i, align 8 %incdec.ptr13.i = getelementptr inbounds i8, ptr %top.0.i, i64 32 store i64 -1, ptr %incdec.ptr12.i, align 8 - %40 = load i64, ptr %arrayidx, align 8 - store i64 %40, ptr %incdec.ptr13.i, align 8 + %41 = load i64, ptr %arrayidx, align 8 + store i64 %41, ptr %incdec.ptr13.i, align 8 %add.ptr14.i = getelementptr inbounds i8, ptr %top.0.i, i64 40 - %41 = load i64, ptr %o2.0, align 8 - store i64 %41, ptr %add.ptr14.i, align 8 + %42 = load i64, ptr %o2.0, align 8 + store i64 %42, ptr %add.ptr14.i, align 8 br label %return if.else57: ; preds = %lj_meta_lookup.exit %conv60 = zext nneg i32 %and1 to i64 - %42 = inttoptr i64 %conv60 to ptr + %43 = inttoptr i64 %conv60 to ptr br label %return return: ; preds = %if.else57, %mmcall.exit - %retval.0 = phi ptr [ %incdec.ptr13.i, %mmcall.exit ], [ %42, %if.else57 ] + %retval.0 = phi ptr [ %incdec.ptr13.i, %mmcall.exit ], [ %43, %if.else57 ] ret ptr %retval.0 } diff --git a/bench/luajit/optimized/lj_meta_dyn.ll b/bench/luajit/optimized/lj_meta_dyn.ll index 1e180a30473..1568f5e33ca 100644 --- a/bench/luajit/optimized/lj_meta_dyn.ll +++ b/bench/luajit/optimized/lj_meta_dyn.ll @@ -1714,28 +1714,28 @@ if.then15: ; preds = %entry %8 = load i64, ptr %k, align 8 %9 = inttoptr i64 %8 to ptr %shr20 = lshr i32 %ins, 16 - %conv21 = zext nneg i32 %shr20 to i64 - %not = xor i64 %conv21, -1 + %10 = xor i32 %shr20, -1 + %not = sext i32 %10 to i64 %arrayidx22 = getelementptr inbounds %struct.GCRef, ptr %9, i64 %not - %10 = load i64, ptr %arrayidx22, align 8 - %or.i.i = or i64 %10, -703687441776640 + %11 = load i64, ptr %arrayidx22, align 8 + %or.i.i = or i64 %11, -703687441776640 store i64 %or.i.i, ptr %tv.sroa.0, align 8 br label %if.end48 if.then27: ; preds = %entry %add.ptr29 = getelementptr inbounds i8, ptr %0, i64 -16 - %11 = load i64, ptr %add.ptr29, align 8 - %and31 = and i64 %11, 140737488355327 - %12 = inttoptr i64 %and31 to ptr - %pc32 = getelementptr inbounds i8, ptr %12, i64 32 - %13 = load i64, ptr %pc32, align 8 - %14 = inttoptr i64 %13 to ptr - %k35 = getelementptr inbounds i8, ptr %14, i64 -72 - %15 = load i64, ptr %k35, align 8 - %16 = inttoptr i64 %15 to ptr + %12 = load i64, ptr %add.ptr29, align 8 + %and31 = and i64 %12, 140737488355327 + %13 = inttoptr i64 %and31 to ptr + %pc32 = getelementptr inbounds i8, ptr %13, i64 32 + %14 = load i64, ptr %pc32, align 8 + %15 = inttoptr i64 %14 to ptr + %k35 = getelementptr inbounds i8, ptr %15, i64 -72 + %16 = load i64, ptr %k35, align 8 + %17 = inttoptr i64 %16 to ptr %shr37 = lshr i32 %ins, 16 %idxprom38 = zext nneg i32 %shr37 to i64 - %arrayidx39 = getelementptr inbounds %union.TValue, ptr %16, i64 %idxprom38 + %arrayidx39 = getelementptr inbounds %union.TValue, ptr %17, i64 %idxprom38 br label %if.end48 if.else40: ; preds = %entry @@ -1749,8 +1749,8 @@ if.else40: ; preds = %entry if.end48: ; preds = %if.then, %if.then15, %if.else40, %if.then27 %o2.0 = phi ptr [ %tv.sroa.0, %if.then15 ], [ %arrayidx39, %if.then27 ], [ %tv.sroa.0, %if.else40 ], [ %arrayidx8, %if.then ] %o1mm.0 = phi ptr [ %arrayidx, %if.then15 ], [ %arrayidx, %if.then27 ], [ %arrayidx, %if.else40 ], [ %spec.select, %if.then ] - %17 = load i64, ptr %o1mm.0, align 8 - %shr.i = ashr i64 %17, 47 + %18 = load i64, ptr %o1mm.0, align 8 + %shr.i = ashr i64 %18, 47 %conv.i = trunc i64 %shr.i to i32 switch i32 %conv.i, label %if.else12.i [ i32 -12, label %if.then.i @@ -1758,26 +1758,26 @@ if.end48: ; preds = %if.then, %if.then15 ] if.then.i: ; preds = %if.end48 - %and.i = and i64 %17, 140737488355327 - %18 = inttoptr i64 %and.i to ptr - %metatable.i = getelementptr inbounds i8, ptr %18, i64 32 + %and.i = and i64 %18, 140737488355327 + %19 = inttoptr i64 %and.i to ptr + %metatable.i = getelementptr inbounds i8, ptr %19, i64 32 br label %if.end20.i if.then7.i: ; preds = %if.end48 - %and9.i = and i64 %17, 140737488355327 - %19 = inttoptr i64 %and9.i to ptr - %metatable10.i = getelementptr inbounds i8, ptr %19, i64 32 + %and9.i = and i64 %18, 140737488355327 + %20 = inttoptr i64 %and9.i to ptr + %metatable10.i = getelementptr inbounds i8, ptr %20, i64 32 br label %if.end20.i if.else12.i: ; preds = %if.end48 %glref.i = getelementptr inbounds i8, ptr %L, i64 16 - %20 = load i64, ptr %glref.i, align 8 - %21 = inttoptr i64 %20 to ptr - %gcroot.i = getelementptr inbounds i8, ptr %21, i64 424 + %21 = load i64, ptr %glref.i, align 8 + %22 = inttoptr i64 %21 to ptr + %gcroot.i = getelementptr inbounds i8, ptr %22, i64 424 %cmp15.i = icmp ult i32 %conv.i, -13 - %22 = sub nsw i64 21, %shr.i - %23 = and i64 %22, 4294967295 - %cond.i = select i1 %cmp15.i, i64 35, i64 %23 + %23 = sub nsw i64 21, %shr.i + %24 = and i64 %23, 4294967295 + %cond.i = select i1 %cmp15.i, i64 35, i64 %24 %arrayidx.i = getelementptr inbounds [38 x %struct.GCRef], ptr %gcroot.i, i64 0, i64 %cond.i br label %if.end20.i @@ -1790,77 +1790,77 @@ if.end20.i: ; preds = %if.else12.i, %if.th if.then21.i: ; preds = %if.end20.i %mt.0.i = inttoptr i64 %mt.0.in.i to ptr %glref22.i = getelementptr inbounds i8, ptr %L, i64 16 - %24 = load i64, ptr %glref22.i, align 8 - %25 = inttoptr i64 %24 to ptr - %arrayidx27.i = getelementptr inbounds i8, ptr %25, i64 456 - %26 = load i64, ptr %arrayidx27.i, align 8 - %27 = inttoptr i64 %26 to ptr - %call.i = tail call ptr @lj_tab_getstr(ptr noundef nonnull %mt.0.i, ptr noundef %27) #5 + %25 = load i64, ptr %glref22.i, align 8 + %26 = inttoptr i64 %25 to ptr + %arrayidx27.i = getelementptr inbounds i8, ptr %26, i64 456 + %27 = load i64, ptr %arrayidx27.i, align 8 + %28 = inttoptr i64 %27 to ptr + %call.i = tail call ptr @lj_tab_getstr(ptr noundef nonnull %mt.0.i, ptr noundef %28) #5 %tobool29.not.i = icmp eq ptr %call.i, null br i1 %tobool29.not.i, label %if.end32.i, label %lj_meta_lookup.exit if.end32.i: ; preds = %if.then21.i, %if.end20.i %glref33.i = getelementptr inbounds i8, ptr %L, i64 16 - %28 = load i64, ptr %glref33.i, align 8 - %29 = inttoptr i64 %28 to ptr - %nilnode.i = getelementptr inbounds i8, ptr %29, i64 248 + %29 = load i64, ptr %glref33.i, align 8 + %30 = inttoptr i64 %29 to ptr + %nilnode.i = getelementptr inbounds i8, ptr %30, i64 248 br label %lj_meta_lookup.exit lj_meta_lookup.exit: ; preds = %if.then21.i, %if.end32.i %retval.0.i = phi ptr [ %nilnode.i, %if.end32.i ], [ %call.i, %if.then21.i ] - %30 = load i64, ptr %retval.0.i, align 8 - %cmp49.not = icmp eq i64 %30, -1 + %31 = load i64, ptr %retval.0.i, align 8 + %cmp49.not = icmp eq i64 %31, -1 br i1 %cmp49.not, label %if.else57, label %if.then55 if.then55: ; preds = %lj_meta_lookup.exit %L.val = load ptr, ptr %base, align 8 - %31 = getelementptr i8, ptr %L, i64 40 - %L.val21 = load ptr, ptr %31, align 8 + %32 = getelementptr i8, ptr %L, i64 40 + %L.val21 = load ptr, ptr %32, align 8 %add.ptr.i = getelementptr inbounds i8, ptr %L.val, i64 -16 - %32 = load i64, ptr %add.ptr.i, align 8 - %and.i22 = and i64 %32, 140737488355327 - %33 = inttoptr i64 %and.i22 to ptr - %ffid.i = getelementptr inbounds i8, ptr %33, i64 10 - %34 = load i8, ptr %ffid.i, align 2 - %cmp.i = icmp eq i8 %34, 0 + %33 = load i64, ptr %add.ptr.i, align 8 + %and.i22 = and i64 %33, 140737488355327 + %34 = inttoptr i64 %and.i22 to ptr + %ffid.i = getelementptr inbounds i8, ptr %34, i64 10 + %35 = load i8, ptr %ffid.i, align 2 + %cmp.i = icmp eq i8 %35, 0 br i1 %cmp.i, label %if.then.i23, label %mmcall.exit if.then.i23: ; preds = %if.then55 - %pc.i = getelementptr inbounds i8, ptr %33, i64 32 - %35 = load i64, ptr %pc.i, align 8 - %36 = inttoptr i64 %35 to ptr - %framesize.i = getelementptr inbounds i8, ptr %36, i64 -93 - %37 = load i8, ptr %framesize.i, align 1 - %idx.ext.i = zext i8 %37 to i64 + %pc.i = getelementptr inbounds i8, ptr %34, i64 32 + %36 = load i64, ptr %pc.i, align 8 + %37 = inttoptr i64 %36 to ptr + %framesize.i = getelementptr inbounds i8, ptr %37, i64 -93 + %38 = load i8, ptr %framesize.i, align 1 + %idx.ext.i = zext i8 %38 to i64 %add.ptr10.i = getelementptr inbounds %union.TValue, ptr %L.val, i64 %idx.ext.i br label %mmcall.exit mmcall.exit: ; preds = %if.then55, %if.then.i23 %top.0.i = phi ptr [ %add.ptr10.i, %if.then.i23 ], [ %L.val21, %if.then55 ] - %38 = select i1 %tobool.not, i64 ptrtoint (ptr @lj_cont_condt to i64), i64 ptrtoint (ptr @lj_cont_condf to i64) + %39 = select i1 %tobool.not, i64 ptrtoint (ptr @lj_cont_condt to i64), i64 ptrtoint (ptr @lj_cont_condf to i64) %incdec.ptr.i = getelementptr inbounds i8, ptr %top.0.i, i64 8 - store i64 %38, ptr %top.0.i, align 8 + store i64 %39, ptr %top.0.i, align 8 %incdec.ptr11.i = getelementptr inbounds i8, ptr %top.0.i, i64 16 store i64 -1, ptr %incdec.ptr.i, align 8 %incdec.ptr12.i = getelementptr inbounds i8, ptr %top.0.i, i64 24 - %39 = load i64, ptr %retval.0.i, align 8 - store i64 %39, ptr %incdec.ptr11.i, align 8 + %40 = load i64, ptr %retval.0.i, align 8 + store i64 %40, ptr %incdec.ptr11.i, align 8 %incdec.ptr13.i = getelementptr inbounds i8, ptr %top.0.i, i64 32 store i64 -1, ptr %incdec.ptr12.i, align 8 - %40 = load i64, ptr %arrayidx, align 8 - store i64 %40, ptr %incdec.ptr13.i, align 8 + %41 = load i64, ptr %arrayidx, align 8 + store i64 %41, ptr %incdec.ptr13.i, align 8 %add.ptr14.i = getelementptr inbounds i8, ptr %top.0.i, i64 40 - %41 = load i64, ptr %o2.0, align 8 - store i64 %41, ptr %add.ptr14.i, align 8 + %42 = load i64, ptr %o2.0, align 8 + store i64 %42, ptr %add.ptr14.i, align 8 br label %return if.else57: ; preds = %lj_meta_lookup.exit %conv60 = zext nneg i32 %and1 to i64 - %42 = inttoptr i64 %conv60 to ptr + %43 = inttoptr i64 %conv60 to ptr br label %return return: ; preds = %if.else57, %mmcall.exit - %retval.0 = phi ptr [ %incdec.ptr13.i, %mmcall.exit ], [ %42, %if.else57 ] + %retval.0 = phi ptr [ %incdec.ptr13.i, %mmcall.exit ], [ %43, %if.else57 ] ret ptr %retval.0 } diff --git a/bench/luajit/optimized/lj_record.ll b/bench/luajit/optimized/lj_record.ll index 4be7545445d..8aae3284a57 100644 --- a/bench/luajit/optimized/lj_record.ll +++ b/bench/luajit/optimized/lj_record.ll @@ -3594,15 +3594,15 @@ sw.bb234: ; preds = %sw.epilog185 %k237 = getelementptr inbounds i8, ptr %110, i64 32 %111 = load i64, ptr %k237, align 8 %112 = inttoptr i64 %111 to ptr - %conv239 = zext nneg i32 %rc.0 to i64 - %not240 = xor i64 %conv239, -1 + %113 = xor i32 %rc.0, -1 + %not240 = sext i32 %113 to i64 %arrayidx241 = getelementptr inbounds %struct.GCRef, ptr %112, i64 %not240 - %113 = load i64, ptr %arrayidx241, align 8 - %114 = inttoptr i64 %113 to ptr + %114 = load i64, ptr %arrayidx241, align 8 + %115 = inttoptr i64 %114 to ptr %keyv243 = getelementptr inbounds i8, ptr %ix, i64 8 - %or.i1148 = or i64 %113, -703687441776640 + %or.i1148 = or i64 %114, -703687441776640 store i64 %or.i1148, ptr %keyv243, align 8 - %call244 = tail call i32 @lj_ir_kgc(ptr noundef nonnull %J, ptr noundef %114, i32 noundef 4) #7 + %call244 = tail call i32 @lj_ir_kgc(ptr noundef nonnull %J, ptr noundef %115, i32 noundef 4) #7 br label %sw.epilog247.sink.split sw.epilog247.sink.split: ; preds = %cond.true227, %cond.false229, %cond.false203, %sw.bb191, %sw.bb207, %sw.bb234 @@ -3803,10 +3803,10 @@ if.then324: ; preds = %if.else br label %if.end343.thread if.else327: ; preds = %if.else - %115 = add nsw i32 %cond296, -1 - %or.cond3 = icmp ult i32 %115, 2 - %116 = add nsw i32 %cond307, -1 - %or.cond4 = icmp ult i32 %116, 2 + %116 = add nsw i32 %cond296, -1 + %or.cond3 = icmp ult i32 %116, 2 + %117 = add nsw i32 %cond307, -1 + %or.cond4 = icmp ult i32 %117, 2 %or.cond485 = select i1 %or.cond3, i1 %or.cond4, i1 false br i1 %or.cond485, label %if.end343, label %sw.epilog957 @@ -3829,13 +3829,13 @@ if.then348: ; preds = %if.end343.thread, % %ra.1587 = phi i32 [ %ra.1.ph, %if.end343.thread ], [ %ra.0, %if.end343 ] %rc.2586 = phi i32 [ %rc.2.ph, %if.end343.thread ], [ %rc.1, %if.end343 ] %and349 = shl i32 %68, 2 - %117 = and i32 %and349, 4 - %spec.select = xor i32 %117, %and136 + %118 = and i32 %and349, 4 + %spec.select = xor i32 %118, %and136 %valv354 = getelementptr inbounds i8, ptr %ix, i64 16 - %118 = load double, ptr %valv354, align 8 + %119 = load double, ptr %valv354, align 8 %keyv356 = getelementptr inbounds i8, ptr %ix, i64 8 - %119 = load double, ptr %keyv356, align 8 - %call358 = tail call i32 @lj_ir_numcmp(double noundef %118, double noundef %119, i32 noundef %spec.select) #7 + %120 = load double, ptr %keyv356, align 8 + %call358 = tail call i32 @lj_ir_numcmp(double noundef %119, double noundef %120, i32 noundef %spec.select) #7 %tobool359.not = icmp eq i32 %call358, 0 %xor361 = xor i32 %spec.select, 5 %spec.select500 = select i1 %tobool359.not, i32 %xor361, i32 %spec.select @@ -3843,10 +3843,10 @@ if.then348: ; preds = %if.end343.thread, % if.then366: ; preds = %if.end343 %valv367 = getelementptr inbounds i8, ptr %ix, i64 16 - %120 = load double, ptr %valv367, align 8 + %121 = load double, ptr %valv367, align 8 %keyv369 = getelementptr inbounds i8, ptr %ix, i64 8 - %121 = load double, ptr %keyv369, align 8 - %call371 = tail call i32 @lj_ir_numcmp(double noundef %120, double noundef %121, i32 noundef %and136) #7 + %122 = load double, ptr %keyv369, align 8 + %call371 = tail call i32 @lj_ir_numcmp(double noundef %121, double noundef %122, i32 noundef %and136) #7 %tobool372.not = icmp eq i32 %call371, 0 %xor374 = zext i1 %tobool372.not to i32 %spec.select486 = xor i32 %and136, %xor374 @@ -3854,14 +3854,14 @@ if.then366: ; preds = %if.end343 if.then379: ; preds = %if.end343 %valv380 = getelementptr inbounds i8, ptr %ix, i64 16 - %122 = load i64, ptr %valv380, align 8 - %and382 = and i64 %122, 140737488355327 - %123 = inttoptr i64 %and382 to ptr + %123 = load i64, ptr %valv380, align 8 + %and382 = and i64 %123, 140737488355327 + %124 = inttoptr i64 %and382 to ptr %keyv383 = getelementptr inbounds i8, ptr %ix, i64 8 - %124 = load i64, ptr %keyv383, align 8 - %and385 = and i64 %124, 140737488355327 - %125 = inttoptr i64 %and385 to ptr - %call386 = tail call i32 @lj_ir_strcmp(ptr noundef %123, ptr noundef %125, i32 noundef %and136) #7 + %125 = load i64, ptr %keyv383, align 8 + %and385 = and i64 %125, 140737488355327 + %126 = inttoptr i64 %and385 to ptr + %call386 = tail call i32 @lj_ir_strcmp(ptr noundef %124, ptr noundef %126, i32 noundef %and136) #7 %tobool387.not = icmp eq i32 %call386, 0 %xor389 = zext i1 %tobool387.not to i32 %spec.select487 = xor i32 %and136, %xor389 @@ -3890,10 +3890,10 @@ if.end396: ; preds = %if.then348, %if.the %op2.i1037 = getelementptr inbounds i8, ptr %J, i64 186 store i16 %conv402, ptr %op2.i1037, align 2 %call403 = tail call i32 @lj_opt_fold(ptr noundef nonnull %J) #7 - %126 = load ptr, ptr %pc125, align 8 + %127 = load ptr, ptr %pc125, align 8 %xor405 = xor i32 %irop.2, %68 %and406 = and i32 %xor405, 1 - tail call fastcc void @rec_comp_fixup(ptr noundef nonnull %J, ptr noundef %126, i32 noundef %and406) + tail call fastcc void @rec_comp_fixup(ptr noundef nonnull %J, ptr noundef %127, i32 noundef %and406) br label %sw.epilog957 sw.bb408: ; preds = %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247 @@ -3936,13 +3936,13 @@ lor.lhs.false437: ; preds = %if.then431 ] if.then445: ; preds = %lor.lhs.false437, %if.then431 - %127 = load ptr, ptr %pc125, align 8 + %128 = load ptr, ptr %pc125, align 8 %tobool448.not = icmp eq i32 %call434, 0 - %128 = and i32 %68, 1 - %129 = icmp eq i32 %128, 0 - %cmp451 = xor i1 %129, %tobool448.not + %129 = and i32 %68, 1 + %130 = icmp eq i32 %129, 0 + %cmp451 = xor i1 %130, %tobool448.not %conv452 = zext i1 %cmp451 to i32 - call fastcc void @rec_comp_fixup(ptr noundef nonnull %J, ptr noundef %127, i32 noundef %conv452) + call fastcc void @rec_comp_fixup(ptr noundef nonnull %J, ptr noundef %128, i32 noundef %conv452) br label %sw.epilog957 if.else453: ; preds = %lor.lhs.false437, %lor.lhs.false437 @@ -3954,23 +3954,23 @@ if.then456: ; preds = %if.else453 br label %sw.epilog957 sw.bb460: ; preds = %sw.epilog247, %sw.epilog247 - %130 = and i32 %rc.1, 503316480 - %cmp465 = icmp ne i32 %130, 0 - %131 = and i32 %68, 1 - %132 = icmp eq i32 %131, 0 - %cmp469 = xor i1 %132, %cmp465 + %131 = and i32 %rc.1, 503316480 + %cmp465 = icmp ne i32 %131, 0 + %132 = and i32 %68, 1 + %133 = icmp eq i32 %132, 0 + %cmp469 = xor i1 %133, %cmp465 %spec.select491 = select i1 %cmp469, i32 0, i32 %rc.1 br label %sw.bb473 sw.bb473: ; preds = %sw.bb460, %sw.epilog247, %sw.epilog247 %rc.4 = phi i32 [ %rc.1, %sw.epilog247 ], [ %rc.1, %sw.epilog247 ], [ %spec.select491, %sw.bb460 ] %arrayidx474 = getelementptr inbounds i8, ptr %58, i64 4 - %133 = load i32, ptr %arrayidx474, align 4 - %shr475 = lshr i32 %133, 8 + %134 = load i32, ptr %arrayidx474, align 4 + %shr475 = lshr i32 %134, 8 %and476 = and i32 %shr475, 255 %maxslot477 = getelementptr inbounds i8, ptr %J, i64 172 - %134 = load i32, ptr %maxslot477, align 4 - %cmp478 = icmp ult i32 %and476, %134 + %135 = load i32, ptr %maxslot477, align 4 + %cmp478 = icmp ult i32 %and476, %135 br i1 %cmp478, label %if.then480, label %sw.epilog957 if.then480: ; preds = %sw.bb473 @@ -3994,15 +3994,15 @@ if.then494: ; preds = %sw.bb486 if.end497: ; preds = %sw.bb486, %if.then494, %if.then489 %ra.3 = phi i32 [ %call490, %if.then489 ], [ %call495, %if.then494 ], [ %ra.0, %sw.bb486 ] %base498 = getelementptr inbounds i8, ptr %J, i64 160 - %135 = load ptr, ptr %base498, align 8 + %136 = load ptr, ptr %base498, align 8 %idxprom501 = zext nneg i32 %and138 to i64 - %arrayidx502 = getelementptr inbounds i32, ptr %135, i64 %idxprom501 + %arrayidx502 = getelementptr inbounds i32, ptr %136, i64 %idxprom501 store i32 %ra.3, ptr %arrayidx502, align 4 br label %sw.epilog957 sw.bb503: ; preds = %sw.epilog247 - %136 = and i32 %rc.1, 503316480 - %cmp507.not = icmp eq i32 %136, 0 + %137 = and i32 %rc.1, 503316480 + %cmp507.not = icmp eq i32 %137, 0 %cond511 = select i1 %cmp507.not, i32 33587197, i32 16809982 br label %sw.epilog957 @@ -4059,8 +4059,8 @@ if.else544: ; preds = %sw.bb531 %tab545 = getelementptr inbounds i8, ptr %ix, i64 48 store i32 %rc.1, ptr %tab545, align 8 %keyv548 = getelementptr inbounds i8, ptr %ix, i64 8 - %137 = load i64, ptr %keyv548, align 8 - store i64 %137, ptr %ix, align 8 + %138 = load i64, ptr %keyv548, align 8 + store i64 %138, ptr %ix, align 8 call fastcc void @rec_mm_arith(ptr noundef nonnull %J, ptr noundef nonnull %ix, i32 noundef 16) br label %if.end986 @@ -4070,20 +4070,20 @@ sw.bb551: ; preds = %sw.epilog247, %sw.e %key553 = getelementptr inbounds i8, ptr %ix, i64 52 store i32 %rb.0, ptr %key553, align 4 %valv556 = getelementptr inbounds i8, ptr %ix, i64 16 - %138 = load i64, ptr %ix, align 8 - store i64 %138, ptr %valv556, align 8 + %139 = load i64, ptr %ix, align 8 + store i64 %139, ptr %valv556, align 8 %keyv560 = getelementptr inbounds i8, ptr %ix, i64 8 - %139 = load i64, ptr %keyv560, align 8 - store i64 %139, ptr %ix, align 8 - store i64 %138, ptr %keyv560, align 8 + %140 = load i64, ptr %keyv560, align 8 + store i64 %140, ptr %ix, align 8 + store i64 %139, ptr %keyv560, align 8 %cmp564 = icmp eq i32 %and136, 31 br i1 %cmp564, label %recmod, label %sw.bb568 sw.bb568: ; preds = %sw.bb551, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247 %rc.5 = phi i32 [ %rc.1, %sw.epilog247 ], [ %rc.1, %sw.epilog247 ], [ %rc.1, %sw.epilog247 ], [ %rc.1, %sw.epilog247 ], [ %rc.1, %sw.epilog247 ], [ %rc.1, %sw.epilog247 ], [ %rc.1, %sw.epilog247 ], [ %rc.1, %sw.epilog247 ], [ %rb.0, %sw.bb551 ] %rb.1 = phi i32 [ %rb.0, %sw.epilog247 ], [ %rb.0, %sw.epilog247 ], [ %rb.0, %sw.epilog247 ], [ %rb.0, %sw.epilog247 ], [ %rb.0, %sw.epilog247 ], [ %rb.0, %sw.epilog247 ], [ %rb.0, %sw.epilog247 ], [ %rb.0, %sw.epilog247 ], [ %rc.1, %sw.bb551 ] - %140 = lshr i16 %69, 11 - %shr572 = zext nneg i16 %140 to i32 + %141 = lshr i16 %69, 11 + %shr572 = zext nneg i16 %141 to i32 %shr573 = lshr i32 %rb.1, 24 %and574 = and i32 %shr573, 30 %sub575 = add nsw i32 %and574, -14 @@ -4179,16 +4179,16 @@ sw.bb655: ; preds = %sw.epilog247 sw.bb657: ; preds = %sw.epilog247 %maxslot658 = getelementptr inbounds i8, ptr %J, i64 172 - %141 = load i32, ptr %maxslot658, align 4 - %cmp659 = icmp ugt i32 %ra.0, %141 + %142 = load i32, ptr %maxslot658, align 4 + %cmp659 = icmp ugt i32 %ra.0, %142 br i1 %cmp659, label %if.then661, label %sw.epilog957 if.then661: ; preds = %sw.bb657 %base662 = getelementptr inbounds i8, ptr %J, i64 160 - %142 = load ptr, ptr %base662, align 8 - %idx.ext = zext i32 %141 to i64 - %add.ptr664 = getelementptr inbounds i32, ptr %142, i64 %idx.ext - %sub666 = sub i32 %ra.0, %141 + %143 = load ptr, ptr %base662, align 8 + %idx.ext = zext i32 %142 to i64 + %add.ptr664 = getelementptr inbounds i32, ptr %143, i64 %idx.ext + %sub666 = sub i32 %ra.0, %142 %conv667 = zext i32 %sub666 to i64 %mul = shl nuw nsw i64 %conv667, 2 tail call void @llvm.memset.p0.i64(ptr align 4 %add.ptr664, i8 0, i64 %mul, i1 false) @@ -4202,16 +4202,16 @@ sw.bb670: ; preds = %sw.epilog247 sw.bb674: ; preds = %sw.epilog247 %maxslot675 = getelementptr inbounds i8, ptr %J, i64 172 - %143 = load i32, ptr %maxslot675, align 4 - %cmp676 = icmp ugt i32 %ra.0, %143 + %144 = load i32, ptr %maxslot675, align 4 + %cmp676 = icmp ugt i32 %ra.0, %144 br i1 %cmp676, label %if.then678, label %if.end683 if.then678: ; preds = %sw.bb674 %base679 = getelementptr inbounds i8, ptr %J, i64 160 - %144 = load ptr, ptr %base679, align 8 + %145 = load ptr, ptr %base679, align 8 %sub680 = add i32 %ra.0, -1 %idxprom681 = zext i32 %sub680 to i64 - %arrayidx682 = getelementptr inbounds i32, ptr %144, i64 %idxprom681 + %arrayidx682 = getelementptr inbounds i32, ptr %145, i64 %idxprom681 store i32 0, ptr %arrayidx682, align 4 br label %if.end683 @@ -4225,18 +4225,18 @@ while.body.lr.ph: ; preds = %if.end683 while.body: ; preds = %while.body.lr.ph, %while.body %ra.4599 = phi i32 [ %ra.0, %while.body.lr.ph ], [ %inc687, %while.body ] - %145 = load ptr, ptr %base686, align 8 + %146 = load ptr, ptr %base686, align 8 %inc687 = add i32 %ra.4599, 1 %idxprom688 = zext i32 %ra.4599 to i64 - %arrayidx689 = getelementptr inbounds i32, ptr %145, i64 %idxprom688 + %arrayidx689 = getelementptr inbounds i32, ptr %146, i64 %idxprom688 store i32 32767, ptr %arrayidx689, align 4 %cmp684.not = icmp ugt i32 %inc687, %rc.1 br i1 %cmp684.not, label %while.end, label %while.body, !llvm.loop !26 while.end: ; preds = %while.body, %if.end683 %ra.4.lcssa = phi i32 [ %ra.0, %if.end683 ], [ %inc687, %while.body ] - %146 = load i32, ptr %maxslot675, align 4 - %cmp691.not = icmp ult i32 %rc.1, %146 + %147 = load i32, ptr %maxslot675, align 4 + %cmp691.not = icmp ult i32 %rc.1, %147 br i1 %cmp691.not, label %sw.epilog957, label %if.then693 if.then693: ; preds = %while.end @@ -4246,16 +4246,16 @@ if.then693: ; preds = %while.end sw.bb697: ; preds = %sw.epilog247 %pt698 = getelementptr inbounds i8, ptr %J, i64 152 - %147 = load ptr, ptr %pt698, align 8 - %k699 = getelementptr inbounds i8, ptr %147, i64 32 - %148 = load i64, ptr %k699, align 8 - %149 = inttoptr i64 %148 to ptr + %148 = load ptr, ptr %pt698, align 8 + %k699 = getelementptr inbounds i8, ptr %148, i64 32 + %149 = load i64, ptr %k699, align 8 + %150 = inttoptr i64 %149 to ptr %conv701 = zext i32 %rc.1 to i64 %not702 = xor i64 %conv701, -1 - %arrayidx703 = getelementptr inbounds %struct.GCRef, ptr %149, i64 %not702 - %150 = load i64, ptr %arrayidx703, align 8 - %151 = inttoptr i64 %150 to ptr - %call705 = tail call i32 @lj_ir_kgc(ptr noundef nonnull %J, ptr noundef %151, i32 noundef 10) #7 + %arrayidx703 = getelementptr inbounds %struct.GCRef, ptr %150, i64 %not702 + %151 = load i64, ptr %arrayidx703, align 8 + %152 = inttoptr i64 %151 to ptr + %call705 = tail call i32 @lj_ir_kgc(ptr noundef nonnull %J, ptr noundef %152, i32 noundef 10) #7 br label %sw.epilog957 sw.bb706: ; preds = %sw.epilog247 @@ -4268,10 +4268,10 @@ sw.bb708: ; preds = %sw.epilog247, %sw.e sw.bb710: ; preds = %sw.epilog247, %sw.epilog247 %fn = getelementptr inbounds i8, ptr %J, i64 144 - %152 = load ptr, ptr %fn, align 8 - %env = getelementptr inbounds i8, ptr %152, i64 16 - %153 = load i64, ptr %env, align 8 - %or.i = or i64 %153, -1688849860263936 + %153 = load ptr, ptr %fn, align 8 + %env = getelementptr inbounds i8, ptr %153, i64 16 + %154 = load i64, ptr %env, align 8 + %or.i = or i64 %154, -1688849860263936 store i64 %or.i, ptr %ix, align 8 %call714 = tail call fastcc i32 @getcurrf(ptr noundef nonnull %J) %conv715 = trunc i32 %call714 to i16 @@ -4311,19 +4311,19 @@ sw.bb726: ; preds = %sw.epilog247, %sw.e br label %sw.epilog957 sw.bb729: ; preds = %sw.epilog247 - %154 = load ptr, ptr %L134, align 8 - %top = getelementptr inbounds i8, ptr %154, i64 40 - %155 = load ptr, ptr %top, align 8 - %base732 = getelementptr inbounds i8, ptr %154, i64 32 - %156 = load ptr, ptr %base732, align 8 - %sub.ptr.lhs.cast733 = ptrtoint ptr %155 to i64 - %sub.ptr.rhs.cast734 = ptrtoint ptr %156 to i64 + %155 = load ptr, ptr %L134, align 8 + %top = getelementptr inbounds i8, ptr %155, i64 40 + %156 = load ptr, ptr %top, align 8 + %base732 = getelementptr inbounds i8, ptr %155, i64 32 + %157 = load ptr, ptr %base732, align 8 + %sub.ptr.lhs.cast733 = ptrtoint ptr %156 to i64 + %sub.ptr.rhs.cast734 = ptrtoint ptr %157 to i64 %sub.ptr.sub735 = sub i64 %sub.ptr.lhs.cast733, %sub.ptr.rhs.cast734 %sub.ptr.div = lshr exact i64 %sub.ptr.sub735, 3 %conv736 = trunc i64 %sub.ptr.div to i32 %keyv737 = getelementptr inbounds i8, ptr %ix, i64 8 - %157 = load i32, ptr %keyv737, align 8 - tail call fastcc void @rec_tsetm(ptr noundef nonnull %J, i32 noundef %ra.0, i32 noundef %conv736, i32 noundef %157) + %158 = load i32, ptr %keyv737, align 8 + tail call fastcc void @rec_tsetm(ptr noundef nonnull %J, i32 noundef %ra.0, i32 noundef %conv736, i32 noundef %158) %maxslot738 = getelementptr inbounds i8, ptr %J, i64 172 store i32 %ra.0, ptr %maxslot738, align 4 br label %sw.epilog957 @@ -4332,8 +4332,8 @@ sw.bb739: ; preds = %sw.epilog247 %and.i566 = and i32 %rc.1, 2047 %shr.i567 = lshr i32 %rc.1, 11 %cmp.i568 = icmp eq i32 %and.i566, 2047 - %158 = trunc i32 %and.i566 to i16 - %conv.i569 = select i1 %cmp.i568, i16 2049, i16 %158 + %159 = trunc i32 %and.i566 to i16 + %conv.i569 = select i1 %cmp.i568, i16 2049, i16 %159 %conv1.i = trunc i32 %shr.i567 to i16 %fold.i.i570 = getelementptr inbounds i8, ptr %J, i64 184 %ot1.i.i571 = getelementptr inbounds i8, ptr %J, i64 188 @@ -4346,16 +4346,16 @@ sw.bb739: ; preds = %sw.epilog247 sw.bb741: ; preds = %sw.epilog247 %pt742 = getelementptr inbounds i8, ptr %J, i64 152 - %159 = load ptr, ptr %pt742, align 8 - %k743 = getelementptr inbounds i8, ptr %159, i64 32 - %160 = load i64, ptr %k743, align 8 - %161 = inttoptr i64 %160 to ptr + %160 = load ptr, ptr %pt742, align 8 + %k743 = getelementptr inbounds i8, ptr %160, i64 32 + %161 = load i64, ptr %k743, align 8 + %162 = inttoptr i64 %161 to ptr %conv745 = zext i32 %rc.1 to i64 %not746 = xor i64 %conv745, -1 - %arrayidx747 = getelementptr inbounds %struct.GCRef, ptr %161, i64 %not746 - %162 = load i64, ptr %arrayidx747, align 8 - %163 = inttoptr i64 %162 to ptr - %call749 = tail call i32 @lj_ir_kgc(ptr noundef nonnull %J, ptr noundef %163, i32 noundef 11) #7 + %arrayidx747 = getelementptr inbounds %struct.GCRef, ptr %162, i64 %not746 + %163 = load i64, ptr %arrayidx747, align 8 + %164 = inttoptr i64 %163 to ptr + %call749 = tail call i32 @lj_ir_kgc(ptr noundef nonnull %J, ptr noundef %164, i32 noundef 11) #7 %conv750 = trunc i32 %call749 to i16 %fold.i = getelementptr inbounds i8, ptr %J, i64 184 %ot1.i = getelementptr inbounds i8, ptr %J, i64 188 @@ -4368,12 +4368,12 @@ sw.bb741: ; preds = %sw.epilog247 sw.bb752: ; preds = %sw.epilog247 %base753 = getelementptr inbounds i8, ptr %J, i64 160 - %164 = load ptr, ptr %base753, align 8 + %165 = load ptr, ptr %base753, align 8 %sub754 = add i32 %ra.0, -3 %idxprom755 = zext i32 %sub754 to i64 - %arrayidx756 = getelementptr inbounds i32, ptr %164, i64 %idxprom755 - %165 = load i32, ptr %arrayidx756, align 4 - %tobool757.not = icmp eq i32 %165, 0 + %arrayidx756 = getelementptr inbounds i32, ptr %165, i64 %idxprom755 + %166 = load i32, ptr %arrayidx756, align 4 + %tobool757.not = icmp eq i32 %166, 0 br i1 %tobool757.not, label %cond.false763, label %cond.end766 cond.false763: ; preds = %sw.bb752 @@ -4382,17 +4382,17 @@ cond.false763: ; preds = %sw.bb752 br label %cond.end766 cond.end766: ; preds = %sw.bb752, %cond.false763 - %166 = phi ptr [ %.pre607, %cond.false763 ], [ %164, %sw.bb752 ] - %cond767 = phi i32 [ %call765, %cond.false763 ], [ %165, %sw.bb752 ] + %167 = phi ptr [ %.pre607, %cond.false763 ], [ %165, %sw.bb752 ] + %cond767 = phi i32 [ %call765, %cond.false763 ], [ %166, %sw.bb752 ] %idxprom769 = zext i32 %ra.0 to i64 - %arrayidx770 = getelementptr inbounds i32, ptr %166, i64 %idxprom769 + %arrayidx770 = getelementptr inbounds i32, ptr %167, i64 %idxprom769 store i32 %cond767, ptr %arrayidx770, align 4 - %167 = load ptr, ptr %base753, align 8 + %168 = load ptr, ptr %base753, align 8 %sub772 = add i32 %ra.0, -2 %idxprom773 = zext i32 %sub772 to i64 - %arrayidx774 = getelementptr inbounds i32, ptr %167, i64 %idxprom773 - %168 = load i32, ptr %arrayidx774, align 4 - %tobool775.not = icmp eq i32 %168, 0 + %arrayidx774 = getelementptr inbounds i32, ptr %168, i64 %idxprom773 + %169 = load i32, ptr %arrayidx774, align 4 + %tobool775.not = icmp eq i32 %169, 0 br i1 %tobool775.not, label %cond.false781, label %cond.end784 cond.false781: ; preds = %cond.end766 @@ -4401,18 +4401,18 @@ cond.false781: ; preds = %cond.end766 br label %cond.end784 cond.end784: ; preds = %cond.end766, %cond.false781 - %169 = phi ptr [ %.pre608, %cond.false781 ], [ %167, %cond.end766 ] - %cond785 = phi i32 [ %call783, %cond.false781 ], [ %168, %cond.end766 ] + %170 = phi ptr [ %.pre608, %cond.false781 ], [ %168, %cond.end766 ] + %cond785 = phi i32 [ %call783, %cond.false781 ], [ %169, %cond.end766 ] %add788 = add i32 %ra.0, 2 %idxprom789 = zext i32 %add788 to i64 - %arrayidx790 = getelementptr inbounds i32, ptr %169, i64 %idxprom789 + %arrayidx790 = getelementptr inbounds i32, ptr %170, i64 %idxprom789 store i32 %cond785, ptr %arrayidx790, align 4 - %170 = load ptr, ptr %base753, align 8 + %171 = load ptr, ptr %base753, align 8 %sub792 = add i32 %ra.0, -1 %idxprom793 = zext i32 %sub792 to i64 - %arrayidx794 = getelementptr inbounds i32, ptr %170, i64 %idxprom793 - %171 = load i32, ptr %arrayidx794, align 4 - %tobool795.not = icmp eq i32 %171, 0 + %arrayidx794 = getelementptr inbounds i32, ptr %171, i64 %idxprom793 + %172 = load i32, ptr %arrayidx794, align 4 + %tobool795.not = icmp eq i32 %172, 0 br i1 %tobool795.not, label %cond.false801, label %cond.end804 cond.false801: ; preds = %cond.end784 @@ -4421,41 +4421,41 @@ cond.false801: ; preds = %cond.end784 br label %cond.end804 cond.end804: ; preds = %cond.end784, %cond.false801 - %172 = phi ptr [ %.pre609, %cond.false801 ], [ %170, %cond.end784 ] - %cond805 = phi i32 [ %call803, %cond.false801 ], [ %171, %cond.end784 ] + %173 = phi ptr [ %.pre609, %cond.false801 ], [ %171, %cond.end784 ] + %cond805 = phi i32 [ %call803, %cond.false801 ], [ %172, %cond.end784 ] %add808 = add i32 %ra.0, 3 %idxprom809 = zext i32 %add808 to i64 - %arrayidx810 = getelementptr inbounds i32, ptr %172, i64 %idxprom809 + %arrayidx810 = getelementptr inbounds i32, ptr %173, i64 %idxprom809 store i32 %cond805, ptr %arrayidx810, align 4 - %173 = load ptr, ptr %L134, align 8 - %base812 = getelementptr inbounds i8, ptr %173, i64 32 - %174 = load ptr, ptr %base812, align 8 - %arrayidx814 = getelementptr inbounds %union.TValue, ptr %174, i64 %idxprom769 + %174 = load ptr, ptr %L134, align 8 + %base812 = getelementptr inbounds i8, ptr %174, i64 32 + %175 = load ptr, ptr %base812, align 8 + %arrayidx814 = getelementptr inbounds %union.TValue, ptr %175, i64 %idxprom769 %add.ptr816 = getelementptr inbounds i8, ptr %arrayidx814, i64 -24 - %175 = load i64, ptr %add.ptr816, align 8 - store i64 %175, ptr %arrayidx814, align 8 + %176 = load i64, ptr %add.ptr816, align 8 + store i64 %176, ptr %arrayidx814, align 8 %add.ptr819 = getelementptr inbounds i8, ptr %arrayidx814, i64 16 %add.ptr820 = getelementptr inbounds i8, ptr %arrayidx814, i64 -16 - %176 = load <2 x i64>, ptr %add.ptr820, align 8 - store <2 x i64> %176, ptr %add.ptr819, align 8 + %177 = load <2 x i64>, ptr %add.ptr820, align 8 + store <2 x i64> %177, ptr %add.ptr819, align 8 %conv825 = zext i32 %rc.1 to i64 %sub826 = add nsw i64 %conv825, -1 tail call void @lj_record_call(ptr noundef nonnull %J, i32 noundef %ra.0, i64 noundef %sub826) br label %sw.epilog957 sw.bb827: ; preds = %sw.epilog247 - %177 = load ptr, ptr %L134, align 8 - %top829 = getelementptr inbounds i8, ptr %177, i64 40 - %178 = load ptr, ptr %top829, align 8 - %base831 = getelementptr inbounds i8, ptr %177, i64 32 - %179 = load ptr, ptr %base831, align 8 - %sub.ptr.lhs.cast832 = ptrtoint ptr %178 to i64 - %sub.ptr.rhs.cast833 = ptrtoint ptr %179 to i64 + %178 = load ptr, ptr %L134, align 8 + %top829 = getelementptr inbounds i8, ptr %178, i64 40 + %179 = load ptr, ptr %top829, align 8 + %base831 = getelementptr inbounds i8, ptr %178, i64 32 + %180 = load ptr, ptr %base831, align 8 + %sub.ptr.lhs.cast832 = ptrtoint ptr %179 to i64 + %sub.ptr.rhs.cast833 = ptrtoint ptr %180 to i64 %sub.ptr.sub834 = sub i64 %sub.ptr.lhs.cast832, %sub.ptr.rhs.cast833 %sub.ptr.div835 = lshr exact i64 %sub.ptr.sub834, 3 %conv836 = trunc i64 %sub.ptr.div835 to i32 - %180 = xor i32 %ra.0, -1 - %sub838 = add i32 %conv836, %180 + %181 = xor i32 %ra.0, -1 + %sub838 = add i32 %conv836, %181 br label %sw.bb839 sw.bb839: ; preds = %sw.bb827, %sw.epilog247 @@ -4466,18 +4466,18 @@ sw.bb839: ; preds = %sw.bb827, %sw.epilo br label %sw.epilog957 sw.bb842: ; preds = %sw.epilog247 - %181 = load ptr, ptr %L134, align 8 - %top844 = getelementptr inbounds i8, ptr %181, i64 40 - %182 = load ptr, ptr %top844, align 8 - %base846 = getelementptr inbounds i8, ptr %181, i64 32 - %183 = load ptr, ptr %base846, align 8 - %sub.ptr.lhs.cast847 = ptrtoint ptr %182 to i64 - %sub.ptr.rhs.cast848 = ptrtoint ptr %183 to i64 + %182 = load ptr, ptr %L134, align 8 + %top844 = getelementptr inbounds i8, ptr %182, i64 40 + %183 = load ptr, ptr %top844, align 8 + %base846 = getelementptr inbounds i8, ptr %182, i64 32 + %184 = load ptr, ptr %base846, align 8 + %sub.ptr.lhs.cast847 = ptrtoint ptr %183 to i64 + %sub.ptr.rhs.cast848 = ptrtoint ptr %184 to i64 %sub.ptr.sub849 = sub i64 %sub.ptr.lhs.cast847, %sub.ptr.rhs.cast848 %sub.ptr.div850 = lshr exact i64 %sub.ptr.sub849, 3 %conv851 = trunc i64 %sub.ptr.div850 to i32 - %184 = xor i32 %ra.0, -1 - %sub853 = add i32 %conv851, %184 + %185 = xor i32 %ra.0, -1 + %sub853 = add i32 %conv851, %185 br label %sw.bb854 sw.bb854: ; preds = %sw.bb842, %sw.epilog247 @@ -4494,13 +4494,13 @@ sw.bb857: ; preds = %sw.epilog247 br label %sw.epilog957 sw.bb860: ; preds = %sw.epilog247 - %185 = load ptr, ptr %L134, align 8 - %top862 = getelementptr inbounds i8, ptr %185, i64 40 - %186 = load ptr, ptr %top862, align 8 - %base864 = getelementptr inbounds i8, ptr %185, i64 32 - %187 = load ptr, ptr %base864, align 8 - %sub.ptr.lhs.cast865 = ptrtoint ptr %186 to i64 - %sub.ptr.rhs.cast866 = ptrtoint ptr %187 to i64 + %186 = load ptr, ptr %L134, align 8 + %top862 = getelementptr inbounds i8, ptr %186, i64 40 + %187 = load ptr, ptr %top862, align 8 + %base864 = getelementptr inbounds i8, ptr %186, i64 32 + %188 = load ptr, ptr %base864, align 8 + %sub.ptr.lhs.cast865 = ptrtoint ptr %187 to i64 + %sub.ptr.rhs.cast866 = ptrtoint ptr %188 to i64 %sub.ptr.sub867 = sub i64 %sub.ptr.lhs.cast865, %sub.ptr.rhs.cast866 %sub.ptr.div868 = lshr exact i64 %sub.ptr.sub867, 3 %conv869 = trunc i64 %sub.ptr.div868 to i32 @@ -4523,9 +4523,9 @@ sw.bb875: ; preds = %sw.epilog247 if.then879: ; preds = %sw.bb875 %nins = getelementptr inbounds i8, ptr %J, i64 12 - %188 = load i32, ptr %nins, align 4 + %189 = load i32, ptr %nins, align 4 %loopref = getelementptr inbounds i8, ptr %J, i64 344 - store i32 %188, ptr %loopref, align 8 + store i32 %189, ptr %loopref, align 8 br label %sw.epilog957 sw.bb882: ; preds = %sw.epilog247 @@ -4535,24 +4535,24 @@ sw.bb882: ; preds = %sw.epilog247 if.then886: ; preds = %sw.bb882 %conv887 = zext i32 %rc.1 to i64 - %189 = getelementptr i32, ptr %58, i64 %conv887 - %arrayidx889 = getelementptr i8, ptr %189, i64 -131072 - %190 = load i32, ptr %arrayidx889, align 4 - %shr890 = lshr i32 %190, 16 + %190 = getelementptr i32, ptr %58, i64 %conv887 + %arrayidx889 = getelementptr i8, ptr %190, i64 -131072 + %191 = load i32, ptr %arrayidx889, align 4 + %shr890 = lshr i32 %191, 16 tail call void @lj_record_stop(ptr noundef nonnull %J, i32 noundef 1, i32 noundef %shr890) br label %sw.epilog957 sw.bb892: ; preds = %sw.epilog247 %conv893 = zext i32 %rc.1 to i64 - %191 = getelementptr i32, ptr %58, i64 %conv893 - %add.ptr895 = getelementptr i8, ptr %191, i64 -131072 + %192 = getelementptr i32, ptr %58, i64 %conv893 + %add.ptr895 = getelementptr i8, ptr %192, i64 -131072 %call896 = tail call fastcc i32 @rec_for(ptr noundef nonnull %J, ptr noundef %add.ptr895, i32 noundef 1), !range !25 tail call fastcc void @rec_loop_interp(ptr noundef nonnull %J, ptr noundef nonnull %58, i32 noundef %call896) br label %sw.epilog957 sw.bb897: ; preds = %sw.epilog247 - %192 = load i32, ptr %58, align 4 - %call898 = tail call fastcc i32 @rec_iterl(ptr noundef nonnull %J, i32 noundef %192), !range !25 + %193 = load i32, ptr %58, align 4 + %call898 = tail call fastcc i32 @rec_iterl(ptr noundef nonnull %J, i32 noundef %193), !range !25 tail call fastcc void @rec_loop_interp(ptr noundef nonnull %J, ptr noundef nonnull %58, i32 noundef %call898) br label %sw.epilog957 @@ -4563,8 +4563,8 @@ sw.bb899: ; preds = %sw.epilog247 sw.bb901: ; preds = %sw.epilog247 %maxslot.i573 = getelementptr inbounds i8, ptr %J, i64 172 - %193 = load i32, ptr %maxslot.i573, align 4 - %cmp.i574 = icmp ugt i32 %193, %ra.0 + %194 = load i32, ptr %maxslot.i573, align 4 + %cmp.i574 = icmp ugt i32 %194, %ra.0 br i1 %cmp.i574, label %if.then.i576, label %rec_loop.exit if.then.i576: ; preds = %sw.bb901 @@ -4572,59 +4572,59 @@ if.then.i576: ; preds = %sw.bb901 br label %rec_loop.exit rec_loop.exit: ; preds = %sw.bb901, %if.then.i576 - %194 = load ptr, ptr %pc125, align 8 - %add.ptr.i575 = getelementptr inbounds i8, ptr %194, i64 4 + %195 = load ptr, ptr %pc125, align 8 + %add.ptr.i575 = getelementptr inbounds i8, ptr %195, i64 4 store ptr %add.ptr.i575, ptr %pc125, align 8 tail call fastcc void @rec_loop_interp(ptr noundef nonnull %J, ptr noundef nonnull %58, i32 noundef 2) br label %sw.epilog957 sw.bb903: ; preds = %sw.epilog247 %trace = getelementptr inbounds i8, ptr %J, i64 384 - %195 = load ptr, ptr %trace, align 8 + %196 = load ptr, ptr %trace, align 8 %idxprom904 = zext i32 %rc.1 to i64 - %arrayidx905 = getelementptr inbounds %struct.GCRef, ptr %195, i64 %idxprom904 - %196 = load i64, ptr %arrayidx905, align 8 - %197 = inttoptr i64 %196 to ptr - %startins = getelementptr inbounds i8, ptr %197, i64 80 - %198 = load i32, ptr %startins, align 8 - %shr907 = lshr i32 %198, 16 + %arrayidx905 = getelementptr inbounds %struct.GCRef, ptr %196, i64 %idxprom904 + %197 = load i64, ptr %arrayidx905, align 8 + %198 = inttoptr i64 %197 to ptr + %startins = getelementptr inbounds i8, ptr %198, i64 80 + %199 = load i32, ptr %startins, align 8 + %shr907 = lshr i32 %199, 16 %conv908 = zext nneg i32 %shr907 to i64 - %199 = getelementptr i32, ptr %58, i64 %conv908 - %add.ptr910 = getelementptr i8, ptr %199, i64 -131072 + %200 = getelementptr i32, ptr %58, i64 %conv908 + %add.ptr910 = getelementptr i8, ptr %200, i64 -131072 %call911 = tail call fastcc i32 @rec_for(ptr noundef nonnull %J, ptr noundef %add.ptr910, i32 noundef 1), !range !25 tail call fastcc void @rec_loop_jit(ptr noundef nonnull %J, i32 noundef %rc.1, i32 noundef %call911) br label %sw.epilog957 sw.bb912: ; preds = %sw.epilog247 %trace913 = getelementptr inbounds i8, ptr %J, i64 384 - %200 = load ptr, ptr %trace913, align 8 + %201 = load ptr, ptr %trace913, align 8 %idxprom914 = zext i32 %rc.1 to i64 - %arrayidx915 = getelementptr inbounds %struct.GCRef, ptr %200, i64 %idxprom914 - %201 = load i64, ptr %arrayidx915, align 8 - %202 = inttoptr i64 %201 to ptr - %startins917 = getelementptr inbounds i8, ptr %202, i64 80 - %203 = load i32, ptr %startins917, align 8 - %call918 = tail call fastcc i32 @rec_iterl(ptr noundef nonnull %J, i32 noundef %203), !range !25 + %arrayidx915 = getelementptr inbounds %struct.GCRef, ptr %201, i64 %idxprom914 + %202 = load i64, ptr %arrayidx915, align 8 + %203 = inttoptr i64 %202 to ptr + %startins917 = getelementptr inbounds i8, ptr %203, i64 80 + %204 = load i32, ptr %startins917, align 8 + %call918 = tail call fastcc i32 @rec_iterl(ptr noundef nonnull %J, i32 noundef %204), !range !25 tail call fastcc void @rec_loop_jit(ptr noundef nonnull %J, i32 noundef %rc.1, i32 noundef %call918) br label %sw.epilog957 sw.bb919: ; preds = %sw.epilog247 %trace920 = getelementptr inbounds i8, ptr %J, i64 384 - %204 = load ptr, ptr %trace920, align 8 + %205 = load ptr, ptr %trace920, align 8 %idxprom921 = zext i32 %rc.1 to i64 - %arrayidx922 = getelementptr inbounds %struct.GCRef, ptr %204, i64 %idxprom921 - %205 = load i64, ptr %arrayidx922, align 8 - %206 = inttoptr i64 %205 to ptr - %startins924 = getelementptr inbounds i8, ptr %206, i64 80 - %207 = load i32, ptr %startins924, align 8 - %and925 = and i32 %207, 255 - %208 = add nsw i32 %and925, -77 - %switch = icmp ult i32 %208, -4 + %arrayidx922 = getelementptr inbounds %struct.GCRef, ptr %205, i64 %idxprom921 + %206 = load i64, ptr %arrayidx922, align 8 + %207 = inttoptr i64 %206 to ptr + %startins924 = getelementptr inbounds i8, ptr %207, i64 80 + %208 = load i32, ptr %startins924, align 8 + %and925 = and i32 %208, 255 + %209 = add nsw i32 %and925, -77 + %switch = icmp ult i32 %209, -4 %cmp934 = icmp ne i32 %and925, 70 %narrow = and i1 %cmp934, %switch %maxslot.i577 = getelementptr inbounds i8, ptr %J, i64 172 - %209 = load i32, ptr %maxslot.i577, align 4 - %cmp.i578 = icmp ugt i32 %209, %ra.0 + %210 = load i32, ptr %maxslot.i577, align 4 + %cmp.i578 = icmp ugt i32 %210, %ra.0 br i1 %cmp.i578, label %if.then.i581, label %rec_loop.exit582 if.then.i581: ; preds = %sw.bb919 @@ -4632,9 +4632,9 @@ if.then.i581: ; preds = %sw.bb919 br label %rec_loop.exit582 rec_loop.exit582: ; preds = %sw.bb919, %if.then.i581 - %210 = load ptr, ptr %pc125, align 8 + %211 = load ptr, ptr %pc125, align 8 %idx.ext.i = zext i1 %narrow to i64 - %add.ptr.i580 = getelementptr inbounds i32, ptr %210, i64 %idx.ext.i + %add.ptr.i580 = getelementptr inbounds i32, ptr %211, i64 %idx.ext.i store ptr %add.ptr.i580, ptr %pc125, align 8 tail call fastcc void @rec_loop_jit(ptr noundef nonnull %J, i32 noundef %rc.1, i32 noundef 2) br label %sw.epilog957 @@ -4645,8 +4645,8 @@ sw.bb937: ; preds = %sw.epilog247, %sw.e sw.bb938: ; preds = %sw.epilog247 %maxslot939 = getelementptr inbounds i8, ptr %J, i64 172 - %211 = load i32, ptr %maxslot939, align 4 - %cmp940 = icmp ult i32 %ra.0, %211 + %212 = load i32, ptr %maxslot939, align 4 + %cmp940 = icmp ult i32 %ra.0, %212 br i1 %cmp940, label %if.then942, label %sw.epilog957 if.then942: ; preds = %sw.bb938 @@ -4699,24 +4699,24 @@ sw.epilog957: ; preds = %switch.early.test, if.then966: ; preds = %sw.epilog957 %base967 = getelementptr inbounds i8, ptr %J, i64 160 - %212 = load ptr, ptr %base967, align 8 + %213 = load ptr, ptr %base967, align 8 %idxprom968 = zext i32 %ra.5 to i64 - %arrayidx969 = getelementptr inbounds i32, ptr %212, i64 %idxprom968 + %arrayidx969 = getelementptr inbounds i32, ptr %213, i64 %idxprom968 store i32 %rc.10, ptr %arrayidx969, align 4 %maxslot970 = getelementptr inbounds i8, ptr %J, i64 172 - %213 = load i32, ptr %maxslot970, align 4 - %cmp971.not = icmp ult i32 %ra.5, %213 + %214 = load i32, ptr %maxslot970, align 4 + %cmp971.not = icmp ult i32 %ra.5, %214 br i1 %cmp971.not, label %if.end986, label %if.then973 if.then973: ; preds = %if.then966 - %cmp975 = icmp ugt i32 %ra.5, %213 + %cmp975 = icmp ugt i32 %ra.5, %214 br i1 %cmp975, label %if.then977, label %if.end982 if.then977: ; preds = %if.then973 - %214 = load ptr, ptr %base967, align 8 + %215 = load ptr, ptr %base967, align 8 %sub979 = add i32 %ra.5, -1 %idxprom980 = zext i32 %sub979 to i64 - %arrayidx981 = getelementptr inbounds i32, ptr %214, i64 %idxprom980 + %arrayidx981 = getelementptr inbounds i32, ptr %215, i64 %idxprom980 store i32 0, ptr %arrayidx981, align 4 br label %if.end982 @@ -4727,20 +4727,20 @@ if.end982: ; preds = %if.then977, %if.the if.end986: ; preds = %if.else526, %if.else544, %if.else598, %if.else625, %if.else652, %if.then966, %if.end982, %sw.epilog957 %nins988 = getelementptr inbounds i8, ptr %J, i64 12 - %215 = load i32, ptr %nins988, align 4 + %216 = load i32, ptr %nins988, align 4 %arrayidx989 = getelementptr inbounds i8, ptr %J, i64 1640 - %216 = load i32, ptr %arrayidx989, align 4 - %add990 = add i32 %216, 32769 - %cmp991 = icmp ugt i32 %215, %add990 + %217 = load i32, ptr %arrayidx989, align 4 + %add990 = add i32 %217, 32769 + %cmp991 = icmp ugt i32 %216, %add990 br i1 %cmp991, label %if.then1000, label %lor.lhs.false993 lor.lhs.false993: ; preds = %if.end986 %nk = getelementptr inbounds i8, ptr %J, i64 40 - %217 = load i32, ptr %nk, align 8 + %218 = load i32, ptr %nk, align 8 %arrayidx996 = getelementptr inbounds i8, ptr %J, i64 1644 - %218 = load i32, ptr %arrayidx996, align 4 - %sub997 = sub i32 32768, %218 - %cmp998 = icmp ult i32 %217, %sub997 + %219 = load i32, ptr %arrayidx996, align 4 + %sub997 = sub i32 32768, %219 + %cmp998 = icmp ult i32 %218, %sub997 br i1 %cmp998, label %if.then1000, label %if.end1001 if.then1000: ; preds = %lor.lhs.false993, %if.end986 @@ -8219,14 +8219,14 @@ sw.bb52.i: ; preds = %if.else116 if.then65.i: ; preds = %sw.bb52.i %shr60.i = lshr i32 %47, 16 - %conv61.i = zext nneg i32 %shr60.i to i64 - %sub62.i = or disjoint i64 %conv61.i, -32768 + %49 = or disjoint i32 %shr60.i, -32768 + %sub62.i = sext i32 %49 to i64 %add.ptr66.i = getelementptr i8, ptr %46, i64 -131068 %add.ptr70.i = getelementptr inbounds i32, ptr %add.ptr66.i, i64 %sub62.i store ptr %add.ptr70.i, ptr %bc_min, align 8 - %49 = shl nuw nsw i32 %shr60.i, 2 - %50 = sub nuw nsw i32 131072, %49 - store i32 %50, ptr %bc_extent, align 8 + %50 = shl nuw nsw i32 %shr60.i, 2 + %51 = sub nuw nsw i32 131072, %50 + store i32 %51, ptr %bc_extent, align 8 br label %if.end81.i if.end81.i: ; preds = %if.then65.i, %sw.bb52.i @@ -8243,10 +8243,10 @@ sw.bb83.i: ; preds = %if.else116, %if.els sw.bb88.i: ; preds = %if.else116 %pt.i = getelementptr inbounds i8, ptr %J, i64 152 - %51 = load ptr, ptr %pt.i, align 8 - %numparams.i = getelementptr inbounds i8, ptr %51, i64 10 - %52 = load i8, ptr %numparams.i, align 2 - %conv89.i = zext i8 %52 to i32 + %52 = load ptr, ptr %pt.i, align 8 + %numparams.i = getelementptr inbounds i8, ptr %52, i64 10 + %53 = load i8, ptr %numparams.i, align 2 + %conv89.i = zext i8 %53 to i32 store i32 %conv89.i, ptr %maxslot, align 4 %incdec.ptr91.i = getelementptr inbounds i8, ptr %4, i64 4 br label %rec_setup_root.exit @@ -8259,16 +8259,16 @@ rec_setup_root.exit: ; preds = %if.else116, %sw.bb. %pc.0.i = phi ptr [ %4, %if.else116 ], [ %incdec.ptr93.i, %sw.bb92.i ], [ %incdec.ptr91.i, %sw.bb88.i ], [ %4, %sw.bb83.i ], [ %incdec.ptr.i, %if.end81.i ], [ %4, %sw.bb33.i ], [ %add.ptr31.i, %if.end.i ], [ %add.ptr.i, %sw.bb.i ] store ptr %pc.0.i, ptr %pc15, align 8 tail call void @lj_snap_add(ptr noundef nonnull %J) #7 - %53 = load i32, ptr %startins121, align 8 - %trunc = trunc i32 %53 to i8 + %54 = load i32, ptr %startins121, align 8 + %trunc = trunc i32 %54 to i8 switch i8 %trunc, label %if.end142 [ i8 79, label %if.then129 i8 69, label %if.then139 ] if.then129: ; preds = %rec_setup_root.exit - %54 = load ptr, ptr %pc15, align 8 - %add.ptr131 = getelementptr inbounds i8, ptr %54, i64 -4 + %55 = load ptr, ptr %pc15, align 8 + %add.ptr131 = getelementptr inbounds i8, ptr %55, i64 -4 tail call fastcc void @rec_for_loop(ptr noundef nonnull %J, ptr noundef nonnull %add.ptr131, ptr noundef nonnull %scev, i32 noundef 1) br label %if.end142 @@ -8278,10 +8278,10 @@ if.then139: ; preds = %rec_setup_root.exit if.end142: ; preds = %rec_setup_root.exit, %if.then139, %if.then129 %pt143 = getelementptr inbounds i8, ptr %J, i64 152 - %55 = load ptr, ptr %pt143, align 8 - %framesize = getelementptr inbounds i8, ptr %55, i64 11 - %56 = load i8, ptr %framesize, align 1 - %cmp146 = icmp ugt i8 %56, -8 + %56 = load ptr, ptr %pt143, align 8 + %framesize = getelementptr inbounds i8, ptr %56, i64 11 + %57 = load i8, ptr %framesize, align 1 + %cmp146 = icmp ugt i8 %57, -8 br i1 %cmp146, label %if.then148, label %if.end150 if.then148: ; preds = %if.end142 diff --git a/bench/luajit/optimized/lj_record_dyn.ll b/bench/luajit/optimized/lj_record_dyn.ll index 9474441787b..e1db613242f 100644 --- a/bench/luajit/optimized/lj_record_dyn.ll +++ b/bench/luajit/optimized/lj_record_dyn.ll @@ -3594,15 +3594,15 @@ sw.bb234: ; preds = %sw.epilog185 %k237 = getelementptr inbounds i8, ptr %110, i64 32 %111 = load i64, ptr %k237, align 8 %112 = inttoptr i64 %111 to ptr - %conv239 = zext nneg i32 %rc.0 to i64 - %not240 = xor i64 %conv239, -1 + %113 = xor i32 %rc.0, -1 + %not240 = sext i32 %113 to i64 %arrayidx241 = getelementptr inbounds %struct.GCRef, ptr %112, i64 %not240 - %113 = load i64, ptr %arrayidx241, align 8 - %114 = inttoptr i64 %113 to ptr + %114 = load i64, ptr %arrayidx241, align 8 + %115 = inttoptr i64 %114 to ptr %keyv243 = getelementptr inbounds i8, ptr %ix, i64 8 - %or.i1148 = or i64 %113, -703687441776640 + %or.i1148 = or i64 %114, -703687441776640 store i64 %or.i1148, ptr %keyv243, align 8 - %call244 = tail call i32 @lj_ir_kgc(ptr noundef nonnull %J, ptr noundef %114, i32 noundef 4) #7 + %call244 = tail call i32 @lj_ir_kgc(ptr noundef nonnull %J, ptr noundef %115, i32 noundef 4) #7 br label %sw.epilog247.sink.split sw.epilog247.sink.split: ; preds = %cond.true227, %cond.false229, %cond.false203, %sw.bb191, %sw.bb207, %sw.bb234 @@ -3803,10 +3803,10 @@ if.then324: ; preds = %if.else br label %if.end343.thread if.else327: ; preds = %if.else - %115 = add nsw i32 %cond296, -1 - %or.cond3 = icmp ult i32 %115, 2 - %116 = add nsw i32 %cond307, -1 - %or.cond4 = icmp ult i32 %116, 2 + %116 = add nsw i32 %cond296, -1 + %or.cond3 = icmp ult i32 %116, 2 + %117 = add nsw i32 %cond307, -1 + %or.cond4 = icmp ult i32 %117, 2 %or.cond485 = select i1 %or.cond3, i1 %or.cond4, i1 false br i1 %or.cond485, label %if.end343, label %sw.epilog957 @@ -3829,13 +3829,13 @@ if.then348: ; preds = %if.end343.thread, % %ra.1587 = phi i32 [ %ra.1.ph, %if.end343.thread ], [ %ra.0, %if.end343 ] %rc.2586 = phi i32 [ %rc.2.ph, %if.end343.thread ], [ %rc.1, %if.end343 ] %and349 = shl i32 %68, 2 - %117 = and i32 %and349, 4 - %spec.select = xor i32 %117, %and136 + %118 = and i32 %and349, 4 + %spec.select = xor i32 %118, %and136 %valv354 = getelementptr inbounds i8, ptr %ix, i64 16 - %118 = load double, ptr %valv354, align 8 + %119 = load double, ptr %valv354, align 8 %keyv356 = getelementptr inbounds i8, ptr %ix, i64 8 - %119 = load double, ptr %keyv356, align 8 - %call358 = tail call i32 @lj_ir_numcmp(double noundef %118, double noundef %119, i32 noundef %spec.select) #7 + %120 = load double, ptr %keyv356, align 8 + %call358 = tail call i32 @lj_ir_numcmp(double noundef %119, double noundef %120, i32 noundef %spec.select) #7 %tobool359.not = icmp eq i32 %call358, 0 %xor361 = xor i32 %spec.select, 5 %spec.select500 = select i1 %tobool359.not, i32 %xor361, i32 %spec.select @@ -3843,10 +3843,10 @@ if.then348: ; preds = %if.end343.thread, % if.then366: ; preds = %if.end343 %valv367 = getelementptr inbounds i8, ptr %ix, i64 16 - %120 = load double, ptr %valv367, align 8 + %121 = load double, ptr %valv367, align 8 %keyv369 = getelementptr inbounds i8, ptr %ix, i64 8 - %121 = load double, ptr %keyv369, align 8 - %call371 = tail call i32 @lj_ir_numcmp(double noundef %120, double noundef %121, i32 noundef %and136) #7 + %122 = load double, ptr %keyv369, align 8 + %call371 = tail call i32 @lj_ir_numcmp(double noundef %121, double noundef %122, i32 noundef %and136) #7 %tobool372.not = icmp eq i32 %call371, 0 %xor374 = zext i1 %tobool372.not to i32 %spec.select486 = xor i32 %and136, %xor374 @@ -3854,14 +3854,14 @@ if.then366: ; preds = %if.end343 if.then379: ; preds = %if.end343 %valv380 = getelementptr inbounds i8, ptr %ix, i64 16 - %122 = load i64, ptr %valv380, align 8 - %and382 = and i64 %122, 140737488355327 - %123 = inttoptr i64 %and382 to ptr + %123 = load i64, ptr %valv380, align 8 + %and382 = and i64 %123, 140737488355327 + %124 = inttoptr i64 %and382 to ptr %keyv383 = getelementptr inbounds i8, ptr %ix, i64 8 - %124 = load i64, ptr %keyv383, align 8 - %and385 = and i64 %124, 140737488355327 - %125 = inttoptr i64 %and385 to ptr - %call386 = tail call i32 @lj_ir_strcmp(ptr noundef %123, ptr noundef %125, i32 noundef %and136) #7 + %125 = load i64, ptr %keyv383, align 8 + %and385 = and i64 %125, 140737488355327 + %126 = inttoptr i64 %and385 to ptr + %call386 = tail call i32 @lj_ir_strcmp(ptr noundef %124, ptr noundef %126, i32 noundef %and136) #7 %tobool387.not = icmp eq i32 %call386, 0 %xor389 = zext i1 %tobool387.not to i32 %spec.select487 = xor i32 %and136, %xor389 @@ -3890,10 +3890,10 @@ if.end396: ; preds = %if.then348, %if.the %op2.i1037 = getelementptr inbounds i8, ptr %J, i64 186 store i16 %conv402, ptr %op2.i1037, align 2 %call403 = tail call i32 @lj_opt_fold(ptr noundef nonnull %J) #7 - %126 = load ptr, ptr %pc125, align 8 + %127 = load ptr, ptr %pc125, align 8 %xor405 = xor i32 %irop.2, %68 %and406 = and i32 %xor405, 1 - tail call fastcc void @rec_comp_fixup(ptr noundef nonnull %J, ptr noundef %126, i32 noundef %and406) + tail call fastcc void @rec_comp_fixup(ptr noundef nonnull %J, ptr noundef %127, i32 noundef %and406) br label %sw.epilog957 sw.bb408: ; preds = %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247 @@ -3936,13 +3936,13 @@ lor.lhs.false437: ; preds = %if.then431 ] if.then445: ; preds = %lor.lhs.false437, %if.then431 - %127 = load ptr, ptr %pc125, align 8 + %128 = load ptr, ptr %pc125, align 8 %tobool448.not = icmp eq i32 %call434, 0 - %128 = and i32 %68, 1 - %129 = icmp eq i32 %128, 0 - %cmp451 = xor i1 %129, %tobool448.not + %129 = and i32 %68, 1 + %130 = icmp eq i32 %129, 0 + %cmp451 = xor i1 %130, %tobool448.not %conv452 = zext i1 %cmp451 to i32 - call fastcc void @rec_comp_fixup(ptr noundef nonnull %J, ptr noundef %127, i32 noundef %conv452) + call fastcc void @rec_comp_fixup(ptr noundef nonnull %J, ptr noundef %128, i32 noundef %conv452) br label %sw.epilog957 if.else453: ; preds = %lor.lhs.false437, %lor.lhs.false437 @@ -3954,23 +3954,23 @@ if.then456: ; preds = %if.else453 br label %sw.epilog957 sw.bb460: ; preds = %sw.epilog247, %sw.epilog247 - %130 = and i32 %rc.1, 503316480 - %cmp465 = icmp ne i32 %130, 0 - %131 = and i32 %68, 1 - %132 = icmp eq i32 %131, 0 - %cmp469 = xor i1 %132, %cmp465 + %131 = and i32 %rc.1, 503316480 + %cmp465 = icmp ne i32 %131, 0 + %132 = and i32 %68, 1 + %133 = icmp eq i32 %132, 0 + %cmp469 = xor i1 %133, %cmp465 %spec.select491 = select i1 %cmp469, i32 0, i32 %rc.1 br label %sw.bb473 sw.bb473: ; preds = %sw.bb460, %sw.epilog247, %sw.epilog247 %rc.4 = phi i32 [ %rc.1, %sw.epilog247 ], [ %rc.1, %sw.epilog247 ], [ %spec.select491, %sw.bb460 ] %arrayidx474 = getelementptr inbounds i8, ptr %58, i64 4 - %133 = load i32, ptr %arrayidx474, align 4 - %shr475 = lshr i32 %133, 8 + %134 = load i32, ptr %arrayidx474, align 4 + %shr475 = lshr i32 %134, 8 %and476 = and i32 %shr475, 255 %maxslot477 = getelementptr inbounds i8, ptr %J, i64 172 - %134 = load i32, ptr %maxslot477, align 4 - %cmp478 = icmp ult i32 %and476, %134 + %135 = load i32, ptr %maxslot477, align 4 + %cmp478 = icmp ult i32 %and476, %135 br i1 %cmp478, label %if.then480, label %sw.epilog957 if.then480: ; preds = %sw.bb473 @@ -3994,15 +3994,15 @@ if.then494: ; preds = %sw.bb486 if.end497: ; preds = %sw.bb486, %if.then494, %if.then489 %ra.3 = phi i32 [ %call490, %if.then489 ], [ %call495, %if.then494 ], [ %ra.0, %sw.bb486 ] %base498 = getelementptr inbounds i8, ptr %J, i64 160 - %135 = load ptr, ptr %base498, align 8 + %136 = load ptr, ptr %base498, align 8 %idxprom501 = zext nneg i32 %and138 to i64 - %arrayidx502 = getelementptr inbounds i32, ptr %135, i64 %idxprom501 + %arrayidx502 = getelementptr inbounds i32, ptr %136, i64 %idxprom501 store i32 %ra.3, ptr %arrayidx502, align 4 br label %sw.epilog957 sw.bb503: ; preds = %sw.epilog247 - %136 = and i32 %rc.1, 503316480 - %cmp507.not = icmp eq i32 %136, 0 + %137 = and i32 %rc.1, 503316480 + %cmp507.not = icmp eq i32 %137, 0 %cond511 = select i1 %cmp507.not, i32 33587197, i32 16809982 br label %sw.epilog957 @@ -4059,8 +4059,8 @@ if.else544: ; preds = %sw.bb531 %tab545 = getelementptr inbounds i8, ptr %ix, i64 48 store i32 %rc.1, ptr %tab545, align 8 %keyv548 = getelementptr inbounds i8, ptr %ix, i64 8 - %137 = load i64, ptr %keyv548, align 8 - store i64 %137, ptr %ix, align 8 + %138 = load i64, ptr %keyv548, align 8 + store i64 %138, ptr %ix, align 8 call fastcc void @rec_mm_arith(ptr noundef nonnull %J, ptr noundef nonnull %ix, i32 noundef 16) br label %if.end986 @@ -4070,20 +4070,20 @@ sw.bb551: ; preds = %sw.epilog247, %sw.e %key553 = getelementptr inbounds i8, ptr %ix, i64 52 store i32 %rb.0, ptr %key553, align 4 %valv556 = getelementptr inbounds i8, ptr %ix, i64 16 - %138 = load i64, ptr %ix, align 8 - store i64 %138, ptr %valv556, align 8 + %139 = load i64, ptr %ix, align 8 + store i64 %139, ptr %valv556, align 8 %keyv560 = getelementptr inbounds i8, ptr %ix, i64 8 - %139 = load i64, ptr %keyv560, align 8 - store i64 %139, ptr %ix, align 8 - store i64 %138, ptr %keyv560, align 8 + %140 = load i64, ptr %keyv560, align 8 + store i64 %140, ptr %ix, align 8 + store i64 %139, ptr %keyv560, align 8 %cmp564 = icmp eq i32 %and136, 31 br i1 %cmp564, label %recmod, label %sw.bb568 sw.bb568: ; preds = %sw.bb551, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247, %sw.epilog247 %rc.5 = phi i32 [ %rc.1, %sw.epilog247 ], [ %rc.1, %sw.epilog247 ], [ %rc.1, %sw.epilog247 ], [ %rc.1, %sw.epilog247 ], [ %rc.1, %sw.epilog247 ], [ %rc.1, %sw.epilog247 ], [ %rc.1, %sw.epilog247 ], [ %rc.1, %sw.epilog247 ], [ %rb.0, %sw.bb551 ] %rb.1 = phi i32 [ %rb.0, %sw.epilog247 ], [ %rb.0, %sw.epilog247 ], [ %rb.0, %sw.epilog247 ], [ %rb.0, %sw.epilog247 ], [ %rb.0, %sw.epilog247 ], [ %rb.0, %sw.epilog247 ], [ %rb.0, %sw.epilog247 ], [ %rb.0, %sw.epilog247 ], [ %rc.1, %sw.bb551 ] - %140 = lshr i16 %69, 11 - %shr572 = zext nneg i16 %140 to i32 + %141 = lshr i16 %69, 11 + %shr572 = zext nneg i16 %141 to i32 %shr573 = lshr i32 %rb.1, 24 %and574 = and i32 %shr573, 30 %sub575 = add nsw i32 %and574, -14 @@ -4179,16 +4179,16 @@ sw.bb655: ; preds = %sw.epilog247 sw.bb657: ; preds = %sw.epilog247 %maxslot658 = getelementptr inbounds i8, ptr %J, i64 172 - %141 = load i32, ptr %maxslot658, align 4 - %cmp659 = icmp ugt i32 %ra.0, %141 + %142 = load i32, ptr %maxslot658, align 4 + %cmp659 = icmp ugt i32 %ra.0, %142 br i1 %cmp659, label %if.then661, label %sw.epilog957 if.then661: ; preds = %sw.bb657 %base662 = getelementptr inbounds i8, ptr %J, i64 160 - %142 = load ptr, ptr %base662, align 8 - %idx.ext = zext i32 %141 to i64 - %add.ptr664 = getelementptr inbounds i32, ptr %142, i64 %idx.ext - %sub666 = sub i32 %ra.0, %141 + %143 = load ptr, ptr %base662, align 8 + %idx.ext = zext i32 %142 to i64 + %add.ptr664 = getelementptr inbounds i32, ptr %143, i64 %idx.ext + %sub666 = sub i32 %ra.0, %142 %conv667 = zext i32 %sub666 to i64 %mul = shl nuw nsw i64 %conv667, 2 tail call void @llvm.memset.p0.i64(ptr align 4 %add.ptr664, i8 0, i64 %mul, i1 false) @@ -4202,16 +4202,16 @@ sw.bb670: ; preds = %sw.epilog247 sw.bb674: ; preds = %sw.epilog247 %maxslot675 = getelementptr inbounds i8, ptr %J, i64 172 - %143 = load i32, ptr %maxslot675, align 4 - %cmp676 = icmp ugt i32 %ra.0, %143 + %144 = load i32, ptr %maxslot675, align 4 + %cmp676 = icmp ugt i32 %ra.0, %144 br i1 %cmp676, label %if.then678, label %if.end683 if.then678: ; preds = %sw.bb674 %base679 = getelementptr inbounds i8, ptr %J, i64 160 - %144 = load ptr, ptr %base679, align 8 + %145 = load ptr, ptr %base679, align 8 %sub680 = add i32 %ra.0, -1 %idxprom681 = zext i32 %sub680 to i64 - %arrayidx682 = getelementptr inbounds i32, ptr %144, i64 %idxprom681 + %arrayidx682 = getelementptr inbounds i32, ptr %145, i64 %idxprom681 store i32 0, ptr %arrayidx682, align 4 br label %if.end683 @@ -4225,18 +4225,18 @@ while.body.lr.ph: ; preds = %if.end683 while.body: ; preds = %while.body.lr.ph, %while.body %ra.4599 = phi i32 [ %ra.0, %while.body.lr.ph ], [ %inc687, %while.body ] - %145 = load ptr, ptr %base686, align 8 + %146 = load ptr, ptr %base686, align 8 %inc687 = add i32 %ra.4599, 1 %idxprom688 = zext i32 %ra.4599 to i64 - %arrayidx689 = getelementptr inbounds i32, ptr %145, i64 %idxprom688 + %arrayidx689 = getelementptr inbounds i32, ptr %146, i64 %idxprom688 store i32 32767, ptr %arrayidx689, align 4 %cmp684.not = icmp ugt i32 %inc687, %rc.1 br i1 %cmp684.not, label %while.end, label %while.body, !llvm.loop !25 while.end: ; preds = %while.body, %if.end683 %ra.4.lcssa = phi i32 [ %ra.0, %if.end683 ], [ %inc687, %while.body ] - %146 = load i32, ptr %maxslot675, align 4 - %cmp691.not = icmp ult i32 %rc.1, %146 + %147 = load i32, ptr %maxslot675, align 4 + %cmp691.not = icmp ult i32 %rc.1, %147 br i1 %cmp691.not, label %sw.epilog957, label %if.then693 if.then693: ; preds = %while.end @@ -4246,16 +4246,16 @@ if.then693: ; preds = %while.end sw.bb697: ; preds = %sw.epilog247 %pt698 = getelementptr inbounds i8, ptr %J, i64 152 - %147 = load ptr, ptr %pt698, align 8 - %k699 = getelementptr inbounds i8, ptr %147, i64 32 - %148 = load i64, ptr %k699, align 8 - %149 = inttoptr i64 %148 to ptr + %148 = load ptr, ptr %pt698, align 8 + %k699 = getelementptr inbounds i8, ptr %148, i64 32 + %149 = load i64, ptr %k699, align 8 + %150 = inttoptr i64 %149 to ptr %conv701 = zext i32 %rc.1 to i64 %not702 = xor i64 %conv701, -1 - %arrayidx703 = getelementptr inbounds %struct.GCRef, ptr %149, i64 %not702 - %150 = load i64, ptr %arrayidx703, align 8 - %151 = inttoptr i64 %150 to ptr - %call705 = tail call i32 @lj_ir_kgc(ptr noundef nonnull %J, ptr noundef %151, i32 noundef 10) #7 + %arrayidx703 = getelementptr inbounds %struct.GCRef, ptr %150, i64 %not702 + %151 = load i64, ptr %arrayidx703, align 8 + %152 = inttoptr i64 %151 to ptr + %call705 = tail call i32 @lj_ir_kgc(ptr noundef nonnull %J, ptr noundef %152, i32 noundef 10) #7 br label %sw.epilog957 sw.bb706: ; preds = %sw.epilog247 @@ -4268,10 +4268,10 @@ sw.bb708: ; preds = %sw.epilog247, %sw.e sw.bb710: ; preds = %sw.epilog247, %sw.epilog247 %fn = getelementptr inbounds i8, ptr %J, i64 144 - %152 = load ptr, ptr %fn, align 8 - %env = getelementptr inbounds i8, ptr %152, i64 16 - %153 = load i64, ptr %env, align 8 - %or.i = or i64 %153, -1688849860263936 + %153 = load ptr, ptr %fn, align 8 + %env = getelementptr inbounds i8, ptr %153, i64 16 + %154 = load i64, ptr %env, align 8 + %or.i = or i64 %154, -1688849860263936 store i64 %or.i, ptr %ix, align 8 %call714 = tail call fastcc i32 @getcurrf(ptr noundef nonnull %J) %conv715 = trunc i32 %call714 to i16 @@ -4311,19 +4311,19 @@ sw.bb726: ; preds = %sw.epilog247, %sw.e br label %sw.epilog957 sw.bb729: ; preds = %sw.epilog247 - %154 = load ptr, ptr %L134, align 8 - %top = getelementptr inbounds i8, ptr %154, i64 40 - %155 = load ptr, ptr %top, align 8 - %base732 = getelementptr inbounds i8, ptr %154, i64 32 - %156 = load ptr, ptr %base732, align 8 - %sub.ptr.lhs.cast733 = ptrtoint ptr %155 to i64 - %sub.ptr.rhs.cast734 = ptrtoint ptr %156 to i64 + %155 = load ptr, ptr %L134, align 8 + %top = getelementptr inbounds i8, ptr %155, i64 40 + %156 = load ptr, ptr %top, align 8 + %base732 = getelementptr inbounds i8, ptr %155, i64 32 + %157 = load ptr, ptr %base732, align 8 + %sub.ptr.lhs.cast733 = ptrtoint ptr %156 to i64 + %sub.ptr.rhs.cast734 = ptrtoint ptr %157 to i64 %sub.ptr.sub735 = sub i64 %sub.ptr.lhs.cast733, %sub.ptr.rhs.cast734 %sub.ptr.div = lshr exact i64 %sub.ptr.sub735, 3 %conv736 = trunc i64 %sub.ptr.div to i32 %keyv737 = getelementptr inbounds i8, ptr %ix, i64 8 - %157 = load i32, ptr %keyv737, align 8 - tail call fastcc void @rec_tsetm(ptr noundef nonnull %J, i32 noundef %ra.0, i32 noundef %conv736, i32 noundef %157) + %158 = load i32, ptr %keyv737, align 8 + tail call fastcc void @rec_tsetm(ptr noundef nonnull %J, i32 noundef %ra.0, i32 noundef %conv736, i32 noundef %158) %maxslot738 = getelementptr inbounds i8, ptr %J, i64 172 store i32 %ra.0, ptr %maxslot738, align 4 br label %sw.epilog957 @@ -4332,8 +4332,8 @@ sw.bb739: ; preds = %sw.epilog247 %and.i566 = and i32 %rc.1, 2047 %shr.i567 = lshr i32 %rc.1, 11 %cmp.i568 = icmp eq i32 %and.i566, 2047 - %158 = trunc i32 %and.i566 to i16 - %conv.i569 = select i1 %cmp.i568, i16 2049, i16 %158 + %159 = trunc i32 %and.i566 to i16 + %conv.i569 = select i1 %cmp.i568, i16 2049, i16 %159 %conv1.i = trunc i32 %shr.i567 to i16 %fold.i.i570 = getelementptr inbounds i8, ptr %J, i64 184 %ot1.i.i571 = getelementptr inbounds i8, ptr %J, i64 188 @@ -4346,16 +4346,16 @@ sw.bb739: ; preds = %sw.epilog247 sw.bb741: ; preds = %sw.epilog247 %pt742 = getelementptr inbounds i8, ptr %J, i64 152 - %159 = load ptr, ptr %pt742, align 8 - %k743 = getelementptr inbounds i8, ptr %159, i64 32 - %160 = load i64, ptr %k743, align 8 - %161 = inttoptr i64 %160 to ptr + %160 = load ptr, ptr %pt742, align 8 + %k743 = getelementptr inbounds i8, ptr %160, i64 32 + %161 = load i64, ptr %k743, align 8 + %162 = inttoptr i64 %161 to ptr %conv745 = zext i32 %rc.1 to i64 %not746 = xor i64 %conv745, -1 - %arrayidx747 = getelementptr inbounds %struct.GCRef, ptr %161, i64 %not746 - %162 = load i64, ptr %arrayidx747, align 8 - %163 = inttoptr i64 %162 to ptr - %call749 = tail call i32 @lj_ir_kgc(ptr noundef nonnull %J, ptr noundef %163, i32 noundef 11) #7 + %arrayidx747 = getelementptr inbounds %struct.GCRef, ptr %162, i64 %not746 + %163 = load i64, ptr %arrayidx747, align 8 + %164 = inttoptr i64 %163 to ptr + %call749 = tail call i32 @lj_ir_kgc(ptr noundef nonnull %J, ptr noundef %164, i32 noundef 11) #7 %conv750 = trunc i32 %call749 to i16 %fold.i = getelementptr inbounds i8, ptr %J, i64 184 %ot1.i = getelementptr inbounds i8, ptr %J, i64 188 @@ -4368,12 +4368,12 @@ sw.bb741: ; preds = %sw.epilog247 sw.bb752: ; preds = %sw.epilog247 %base753 = getelementptr inbounds i8, ptr %J, i64 160 - %164 = load ptr, ptr %base753, align 8 + %165 = load ptr, ptr %base753, align 8 %sub754 = add i32 %ra.0, -3 %idxprom755 = zext i32 %sub754 to i64 - %arrayidx756 = getelementptr inbounds i32, ptr %164, i64 %idxprom755 - %165 = load i32, ptr %arrayidx756, align 4 - %tobool757.not = icmp eq i32 %165, 0 + %arrayidx756 = getelementptr inbounds i32, ptr %165, i64 %idxprom755 + %166 = load i32, ptr %arrayidx756, align 4 + %tobool757.not = icmp eq i32 %166, 0 br i1 %tobool757.not, label %cond.false763, label %cond.end766 cond.false763: ; preds = %sw.bb752 @@ -4382,17 +4382,17 @@ cond.false763: ; preds = %sw.bb752 br label %cond.end766 cond.end766: ; preds = %sw.bb752, %cond.false763 - %166 = phi ptr [ %.pre607, %cond.false763 ], [ %164, %sw.bb752 ] - %cond767 = phi i32 [ %call765, %cond.false763 ], [ %165, %sw.bb752 ] + %167 = phi ptr [ %.pre607, %cond.false763 ], [ %165, %sw.bb752 ] + %cond767 = phi i32 [ %call765, %cond.false763 ], [ %166, %sw.bb752 ] %idxprom769 = zext i32 %ra.0 to i64 - %arrayidx770 = getelementptr inbounds i32, ptr %166, i64 %idxprom769 + %arrayidx770 = getelementptr inbounds i32, ptr %167, i64 %idxprom769 store i32 %cond767, ptr %arrayidx770, align 4 - %167 = load ptr, ptr %base753, align 8 + %168 = load ptr, ptr %base753, align 8 %sub772 = add i32 %ra.0, -2 %idxprom773 = zext i32 %sub772 to i64 - %arrayidx774 = getelementptr inbounds i32, ptr %167, i64 %idxprom773 - %168 = load i32, ptr %arrayidx774, align 4 - %tobool775.not = icmp eq i32 %168, 0 + %arrayidx774 = getelementptr inbounds i32, ptr %168, i64 %idxprom773 + %169 = load i32, ptr %arrayidx774, align 4 + %tobool775.not = icmp eq i32 %169, 0 br i1 %tobool775.not, label %cond.false781, label %cond.end784 cond.false781: ; preds = %cond.end766 @@ -4401,18 +4401,18 @@ cond.false781: ; preds = %cond.end766 br label %cond.end784 cond.end784: ; preds = %cond.end766, %cond.false781 - %169 = phi ptr [ %.pre608, %cond.false781 ], [ %167, %cond.end766 ] - %cond785 = phi i32 [ %call783, %cond.false781 ], [ %168, %cond.end766 ] + %170 = phi ptr [ %.pre608, %cond.false781 ], [ %168, %cond.end766 ] + %cond785 = phi i32 [ %call783, %cond.false781 ], [ %169, %cond.end766 ] %add788 = add i32 %ra.0, 2 %idxprom789 = zext i32 %add788 to i64 - %arrayidx790 = getelementptr inbounds i32, ptr %169, i64 %idxprom789 + %arrayidx790 = getelementptr inbounds i32, ptr %170, i64 %idxprom789 store i32 %cond785, ptr %arrayidx790, align 4 - %170 = load ptr, ptr %base753, align 8 + %171 = load ptr, ptr %base753, align 8 %sub792 = add i32 %ra.0, -1 %idxprom793 = zext i32 %sub792 to i64 - %arrayidx794 = getelementptr inbounds i32, ptr %170, i64 %idxprom793 - %171 = load i32, ptr %arrayidx794, align 4 - %tobool795.not = icmp eq i32 %171, 0 + %arrayidx794 = getelementptr inbounds i32, ptr %171, i64 %idxprom793 + %172 = load i32, ptr %arrayidx794, align 4 + %tobool795.not = icmp eq i32 %172, 0 br i1 %tobool795.not, label %cond.false801, label %cond.end804 cond.false801: ; preds = %cond.end784 @@ -4421,41 +4421,41 @@ cond.false801: ; preds = %cond.end784 br label %cond.end804 cond.end804: ; preds = %cond.end784, %cond.false801 - %172 = phi ptr [ %.pre609, %cond.false801 ], [ %170, %cond.end784 ] - %cond805 = phi i32 [ %call803, %cond.false801 ], [ %171, %cond.end784 ] + %173 = phi ptr [ %.pre609, %cond.false801 ], [ %171, %cond.end784 ] + %cond805 = phi i32 [ %call803, %cond.false801 ], [ %172, %cond.end784 ] %add808 = add i32 %ra.0, 3 %idxprom809 = zext i32 %add808 to i64 - %arrayidx810 = getelementptr inbounds i32, ptr %172, i64 %idxprom809 + %arrayidx810 = getelementptr inbounds i32, ptr %173, i64 %idxprom809 store i32 %cond805, ptr %arrayidx810, align 4 - %173 = load ptr, ptr %L134, align 8 - %base812 = getelementptr inbounds i8, ptr %173, i64 32 - %174 = load ptr, ptr %base812, align 8 - %arrayidx814 = getelementptr inbounds %union.TValue, ptr %174, i64 %idxprom769 + %174 = load ptr, ptr %L134, align 8 + %base812 = getelementptr inbounds i8, ptr %174, i64 32 + %175 = load ptr, ptr %base812, align 8 + %arrayidx814 = getelementptr inbounds %union.TValue, ptr %175, i64 %idxprom769 %add.ptr816 = getelementptr inbounds i8, ptr %arrayidx814, i64 -24 - %175 = load i64, ptr %add.ptr816, align 8 - store i64 %175, ptr %arrayidx814, align 8 + %176 = load i64, ptr %add.ptr816, align 8 + store i64 %176, ptr %arrayidx814, align 8 %add.ptr819 = getelementptr inbounds i8, ptr %arrayidx814, i64 16 %add.ptr820 = getelementptr inbounds i8, ptr %arrayidx814, i64 -16 - %176 = load <2 x i64>, ptr %add.ptr820, align 8 - store <2 x i64> %176, ptr %add.ptr819, align 8 + %177 = load <2 x i64>, ptr %add.ptr820, align 8 + store <2 x i64> %177, ptr %add.ptr819, align 8 %conv825 = zext i32 %rc.1 to i64 %sub826 = add nsw i64 %conv825, -1 tail call void @lj_record_call(ptr noundef nonnull %J, i32 noundef %ra.0, i64 noundef %sub826) br label %sw.epilog957 sw.bb827: ; preds = %sw.epilog247 - %177 = load ptr, ptr %L134, align 8 - %top829 = getelementptr inbounds i8, ptr %177, i64 40 - %178 = load ptr, ptr %top829, align 8 - %base831 = getelementptr inbounds i8, ptr %177, i64 32 - %179 = load ptr, ptr %base831, align 8 - %sub.ptr.lhs.cast832 = ptrtoint ptr %178 to i64 - %sub.ptr.rhs.cast833 = ptrtoint ptr %179 to i64 + %178 = load ptr, ptr %L134, align 8 + %top829 = getelementptr inbounds i8, ptr %178, i64 40 + %179 = load ptr, ptr %top829, align 8 + %base831 = getelementptr inbounds i8, ptr %178, i64 32 + %180 = load ptr, ptr %base831, align 8 + %sub.ptr.lhs.cast832 = ptrtoint ptr %179 to i64 + %sub.ptr.rhs.cast833 = ptrtoint ptr %180 to i64 %sub.ptr.sub834 = sub i64 %sub.ptr.lhs.cast832, %sub.ptr.rhs.cast833 %sub.ptr.div835 = lshr exact i64 %sub.ptr.sub834, 3 %conv836 = trunc i64 %sub.ptr.div835 to i32 - %180 = xor i32 %ra.0, -1 - %sub838 = add i32 %conv836, %180 + %181 = xor i32 %ra.0, -1 + %sub838 = add i32 %conv836, %181 br label %sw.bb839 sw.bb839: ; preds = %sw.bb827, %sw.epilog247 @@ -4466,18 +4466,18 @@ sw.bb839: ; preds = %sw.bb827, %sw.epilo br label %sw.epilog957 sw.bb842: ; preds = %sw.epilog247 - %181 = load ptr, ptr %L134, align 8 - %top844 = getelementptr inbounds i8, ptr %181, i64 40 - %182 = load ptr, ptr %top844, align 8 - %base846 = getelementptr inbounds i8, ptr %181, i64 32 - %183 = load ptr, ptr %base846, align 8 - %sub.ptr.lhs.cast847 = ptrtoint ptr %182 to i64 - %sub.ptr.rhs.cast848 = ptrtoint ptr %183 to i64 + %182 = load ptr, ptr %L134, align 8 + %top844 = getelementptr inbounds i8, ptr %182, i64 40 + %183 = load ptr, ptr %top844, align 8 + %base846 = getelementptr inbounds i8, ptr %182, i64 32 + %184 = load ptr, ptr %base846, align 8 + %sub.ptr.lhs.cast847 = ptrtoint ptr %183 to i64 + %sub.ptr.rhs.cast848 = ptrtoint ptr %184 to i64 %sub.ptr.sub849 = sub i64 %sub.ptr.lhs.cast847, %sub.ptr.rhs.cast848 %sub.ptr.div850 = lshr exact i64 %sub.ptr.sub849, 3 %conv851 = trunc i64 %sub.ptr.div850 to i32 - %184 = xor i32 %ra.0, -1 - %sub853 = add i32 %conv851, %184 + %185 = xor i32 %ra.0, -1 + %sub853 = add i32 %conv851, %185 br label %sw.bb854 sw.bb854: ; preds = %sw.bb842, %sw.epilog247 @@ -4494,13 +4494,13 @@ sw.bb857: ; preds = %sw.epilog247 br label %sw.epilog957 sw.bb860: ; preds = %sw.epilog247 - %185 = load ptr, ptr %L134, align 8 - %top862 = getelementptr inbounds i8, ptr %185, i64 40 - %186 = load ptr, ptr %top862, align 8 - %base864 = getelementptr inbounds i8, ptr %185, i64 32 - %187 = load ptr, ptr %base864, align 8 - %sub.ptr.lhs.cast865 = ptrtoint ptr %186 to i64 - %sub.ptr.rhs.cast866 = ptrtoint ptr %187 to i64 + %186 = load ptr, ptr %L134, align 8 + %top862 = getelementptr inbounds i8, ptr %186, i64 40 + %187 = load ptr, ptr %top862, align 8 + %base864 = getelementptr inbounds i8, ptr %186, i64 32 + %188 = load ptr, ptr %base864, align 8 + %sub.ptr.lhs.cast865 = ptrtoint ptr %187 to i64 + %sub.ptr.rhs.cast866 = ptrtoint ptr %188 to i64 %sub.ptr.sub867 = sub i64 %sub.ptr.lhs.cast865, %sub.ptr.rhs.cast866 %sub.ptr.div868 = lshr exact i64 %sub.ptr.sub867, 3 %conv869 = trunc i64 %sub.ptr.div868 to i32 @@ -4523,9 +4523,9 @@ sw.bb875: ; preds = %sw.epilog247 if.then879: ; preds = %sw.bb875 %nins = getelementptr inbounds i8, ptr %J, i64 12 - %188 = load i32, ptr %nins, align 4 + %189 = load i32, ptr %nins, align 4 %loopref = getelementptr inbounds i8, ptr %J, i64 344 - store i32 %188, ptr %loopref, align 8 + store i32 %189, ptr %loopref, align 8 br label %sw.epilog957 sw.bb882: ; preds = %sw.epilog247 @@ -4535,24 +4535,24 @@ sw.bb882: ; preds = %sw.epilog247 if.then886: ; preds = %sw.bb882 %conv887 = zext i32 %rc.1 to i64 - %189 = getelementptr i32, ptr %58, i64 %conv887 - %arrayidx889 = getelementptr i8, ptr %189, i64 -131072 - %190 = load i32, ptr %arrayidx889, align 4 - %shr890 = lshr i32 %190, 16 + %190 = getelementptr i32, ptr %58, i64 %conv887 + %arrayidx889 = getelementptr i8, ptr %190, i64 -131072 + %191 = load i32, ptr %arrayidx889, align 4 + %shr890 = lshr i32 %191, 16 tail call void @lj_record_stop(ptr noundef nonnull %J, i32 noundef 1, i32 noundef %shr890) br label %sw.epilog957 sw.bb892: ; preds = %sw.epilog247 %conv893 = zext i32 %rc.1 to i64 - %191 = getelementptr i32, ptr %58, i64 %conv893 - %add.ptr895 = getelementptr i8, ptr %191, i64 -131072 + %192 = getelementptr i32, ptr %58, i64 %conv893 + %add.ptr895 = getelementptr i8, ptr %192, i64 -131072 %call896 = tail call fastcc i32 @rec_for(ptr noundef nonnull %J, ptr noundef %add.ptr895, i32 noundef 1), !range !24 tail call fastcc void @rec_loop_interp(ptr noundef nonnull %J, ptr noundef nonnull %58, i32 noundef %call896) br label %sw.epilog957 sw.bb897: ; preds = %sw.epilog247 - %192 = load i32, ptr %58, align 4 - %call898 = tail call fastcc i32 @rec_iterl(ptr noundef nonnull %J, i32 noundef %192), !range !24 + %193 = load i32, ptr %58, align 4 + %call898 = tail call fastcc i32 @rec_iterl(ptr noundef nonnull %J, i32 noundef %193), !range !24 tail call fastcc void @rec_loop_interp(ptr noundef nonnull %J, ptr noundef nonnull %58, i32 noundef %call898) br label %sw.epilog957 @@ -4563,8 +4563,8 @@ sw.bb899: ; preds = %sw.epilog247 sw.bb901: ; preds = %sw.epilog247 %maxslot.i573 = getelementptr inbounds i8, ptr %J, i64 172 - %193 = load i32, ptr %maxslot.i573, align 4 - %cmp.i574 = icmp ugt i32 %193, %ra.0 + %194 = load i32, ptr %maxslot.i573, align 4 + %cmp.i574 = icmp ugt i32 %194, %ra.0 br i1 %cmp.i574, label %if.then.i576, label %rec_loop.exit if.then.i576: ; preds = %sw.bb901 @@ -4572,59 +4572,59 @@ if.then.i576: ; preds = %sw.bb901 br label %rec_loop.exit rec_loop.exit: ; preds = %sw.bb901, %if.then.i576 - %194 = load ptr, ptr %pc125, align 8 - %add.ptr.i575 = getelementptr inbounds i8, ptr %194, i64 4 + %195 = load ptr, ptr %pc125, align 8 + %add.ptr.i575 = getelementptr inbounds i8, ptr %195, i64 4 store ptr %add.ptr.i575, ptr %pc125, align 8 tail call fastcc void @rec_loop_interp(ptr noundef nonnull %J, ptr noundef nonnull %58, i32 noundef 2) br label %sw.epilog957 sw.bb903: ; preds = %sw.epilog247 %trace = getelementptr inbounds i8, ptr %J, i64 384 - %195 = load ptr, ptr %trace, align 8 + %196 = load ptr, ptr %trace, align 8 %idxprom904 = zext i32 %rc.1 to i64 - %arrayidx905 = getelementptr inbounds %struct.GCRef, ptr %195, i64 %idxprom904 - %196 = load i64, ptr %arrayidx905, align 8 - %197 = inttoptr i64 %196 to ptr - %startins = getelementptr inbounds i8, ptr %197, i64 80 - %198 = load i32, ptr %startins, align 8 - %shr907 = lshr i32 %198, 16 + %arrayidx905 = getelementptr inbounds %struct.GCRef, ptr %196, i64 %idxprom904 + %197 = load i64, ptr %arrayidx905, align 8 + %198 = inttoptr i64 %197 to ptr + %startins = getelementptr inbounds i8, ptr %198, i64 80 + %199 = load i32, ptr %startins, align 8 + %shr907 = lshr i32 %199, 16 %conv908 = zext nneg i32 %shr907 to i64 - %199 = getelementptr i32, ptr %58, i64 %conv908 - %add.ptr910 = getelementptr i8, ptr %199, i64 -131072 + %200 = getelementptr i32, ptr %58, i64 %conv908 + %add.ptr910 = getelementptr i8, ptr %200, i64 -131072 %call911 = tail call fastcc i32 @rec_for(ptr noundef nonnull %J, ptr noundef %add.ptr910, i32 noundef 1), !range !24 tail call fastcc void @rec_loop_jit(ptr noundef nonnull %J, i32 noundef %rc.1, i32 noundef %call911) br label %sw.epilog957 sw.bb912: ; preds = %sw.epilog247 %trace913 = getelementptr inbounds i8, ptr %J, i64 384 - %200 = load ptr, ptr %trace913, align 8 + %201 = load ptr, ptr %trace913, align 8 %idxprom914 = zext i32 %rc.1 to i64 - %arrayidx915 = getelementptr inbounds %struct.GCRef, ptr %200, i64 %idxprom914 - %201 = load i64, ptr %arrayidx915, align 8 - %202 = inttoptr i64 %201 to ptr - %startins917 = getelementptr inbounds i8, ptr %202, i64 80 - %203 = load i32, ptr %startins917, align 8 - %call918 = tail call fastcc i32 @rec_iterl(ptr noundef nonnull %J, i32 noundef %203), !range !24 + %arrayidx915 = getelementptr inbounds %struct.GCRef, ptr %201, i64 %idxprom914 + %202 = load i64, ptr %arrayidx915, align 8 + %203 = inttoptr i64 %202 to ptr + %startins917 = getelementptr inbounds i8, ptr %203, i64 80 + %204 = load i32, ptr %startins917, align 8 + %call918 = tail call fastcc i32 @rec_iterl(ptr noundef nonnull %J, i32 noundef %204), !range !24 tail call fastcc void @rec_loop_jit(ptr noundef nonnull %J, i32 noundef %rc.1, i32 noundef %call918) br label %sw.epilog957 sw.bb919: ; preds = %sw.epilog247 %trace920 = getelementptr inbounds i8, ptr %J, i64 384 - %204 = load ptr, ptr %trace920, align 8 + %205 = load ptr, ptr %trace920, align 8 %idxprom921 = zext i32 %rc.1 to i64 - %arrayidx922 = getelementptr inbounds %struct.GCRef, ptr %204, i64 %idxprom921 - %205 = load i64, ptr %arrayidx922, align 8 - %206 = inttoptr i64 %205 to ptr - %startins924 = getelementptr inbounds i8, ptr %206, i64 80 - %207 = load i32, ptr %startins924, align 8 - %and925 = and i32 %207, 255 - %208 = add nsw i32 %and925, -77 - %switch = icmp ult i32 %208, -4 + %arrayidx922 = getelementptr inbounds %struct.GCRef, ptr %205, i64 %idxprom921 + %206 = load i64, ptr %arrayidx922, align 8 + %207 = inttoptr i64 %206 to ptr + %startins924 = getelementptr inbounds i8, ptr %207, i64 80 + %208 = load i32, ptr %startins924, align 8 + %and925 = and i32 %208, 255 + %209 = add nsw i32 %and925, -77 + %switch = icmp ult i32 %209, -4 %cmp934 = icmp ne i32 %and925, 70 %narrow = and i1 %cmp934, %switch %maxslot.i577 = getelementptr inbounds i8, ptr %J, i64 172 - %209 = load i32, ptr %maxslot.i577, align 4 - %cmp.i578 = icmp ugt i32 %209, %ra.0 + %210 = load i32, ptr %maxslot.i577, align 4 + %cmp.i578 = icmp ugt i32 %210, %ra.0 br i1 %cmp.i578, label %if.then.i581, label %rec_loop.exit582 if.then.i581: ; preds = %sw.bb919 @@ -4632,9 +4632,9 @@ if.then.i581: ; preds = %sw.bb919 br label %rec_loop.exit582 rec_loop.exit582: ; preds = %sw.bb919, %if.then.i581 - %210 = load ptr, ptr %pc125, align 8 + %211 = load ptr, ptr %pc125, align 8 %idx.ext.i = zext i1 %narrow to i64 - %add.ptr.i580 = getelementptr inbounds i32, ptr %210, i64 %idx.ext.i + %add.ptr.i580 = getelementptr inbounds i32, ptr %211, i64 %idx.ext.i store ptr %add.ptr.i580, ptr %pc125, align 8 tail call fastcc void @rec_loop_jit(ptr noundef nonnull %J, i32 noundef %rc.1, i32 noundef 2) br label %sw.epilog957 @@ -4645,8 +4645,8 @@ sw.bb937: ; preds = %sw.epilog247, %sw.e sw.bb938: ; preds = %sw.epilog247 %maxslot939 = getelementptr inbounds i8, ptr %J, i64 172 - %211 = load i32, ptr %maxslot939, align 4 - %cmp940 = icmp ult i32 %ra.0, %211 + %212 = load i32, ptr %maxslot939, align 4 + %cmp940 = icmp ult i32 %ra.0, %212 br i1 %cmp940, label %if.then942, label %sw.epilog957 if.then942: ; preds = %sw.bb938 @@ -4699,24 +4699,24 @@ sw.epilog957: ; preds = %switch.early.test, if.then966: ; preds = %sw.epilog957 %base967 = getelementptr inbounds i8, ptr %J, i64 160 - %212 = load ptr, ptr %base967, align 8 + %213 = load ptr, ptr %base967, align 8 %idxprom968 = zext i32 %ra.5 to i64 - %arrayidx969 = getelementptr inbounds i32, ptr %212, i64 %idxprom968 + %arrayidx969 = getelementptr inbounds i32, ptr %213, i64 %idxprom968 store i32 %rc.10, ptr %arrayidx969, align 4 %maxslot970 = getelementptr inbounds i8, ptr %J, i64 172 - %213 = load i32, ptr %maxslot970, align 4 - %cmp971.not = icmp ult i32 %ra.5, %213 + %214 = load i32, ptr %maxslot970, align 4 + %cmp971.not = icmp ult i32 %ra.5, %214 br i1 %cmp971.not, label %if.end986, label %if.then973 if.then973: ; preds = %if.then966 - %cmp975 = icmp ugt i32 %ra.5, %213 + %cmp975 = icmp ugt i32 %ra.5, %214 br i1 %cmp975, label %if.then977, label %if.end982 if.then977: ; preds = %if.then973 - %214 = load ptr, ptr %base967, align 8 + %215 = load ptr, ptr %base967, align 8 %sub979 = add i32 %ra.5, -1 %idxprom980 = zext i32 %sub979 to i64 - %arrayidx981 = getelementptr inbounds i32, ptr %214, i64 %idxprom980 + %arrayidx981 = getelementptr inbounds i32, ptr %215, i64 %idxprom980 store i32 0, ptr %arrayidx981, align 4 br label %if.end982 @@ -4727,20 +4727,20 @@ if.end982: ; preds = %if.then977, %if.the if.end986: ; preds = %if.else526, %if.else544, %if.else598, %if.else625, %if.else652, %if.then966, %if.end982, %sw.epilog957 %nins988 = getelementptr inbounds i8, ptr %J, i64 12 - %215 = load i32, ptr %nins988, align 4 + %216 = load i32, ptr %nins988, align 4 %arrayidx989 = getelementptr inbounds i8, ptr %J, i64 1640 - %216 = load i32, ptr %arrayidx989, align 4 - %add990 = add i32 %216, 32769 - %cmp991 = icmp ugt i32 %215, %add990 + %217 = load i32, ptr %arrayidx989, align 4 + %add990 = add i32 %217, 32769 + %cmp991 = icmp ugt i32 %216, %add990 br i1 %cmp991, label %if.then1000, label %lor.lhs.false993 lor.lhs.false993: ; preds = %if.end986 %nk = getelementptr inbounds i8, ptr %J, i64 40 - %217 = load i32, ptr %nk, align 8 + %218 = load i32, ptr %nk, align 8 %arrayidx996 = getelementptr inbounds i8, ptr %J, i64 1644 - %218 = load i32, ptr %arrayidx996, align 4 - %sub997 = sub i32 32768, %218 - %cmp998 = icmp ult i32 %217, %sub997 + %219 = load i32, ptr %arrayidx996, align 4 + %sub997 = sub i32 32768, %219 + %cmp998 = icmp ult i32 %218, %sub997 br i1 %cmp998, label %if.then1000, label %if.end1001 if.then1000: ; preds = %lor.lhs.false993, %if.end986 @@ -8219,14 +8219,14 @@ sw.bb52.i: ; preds = %if.else116 if.then65.i: ; preds = %sw.bb52.i %shr60.i = lshr i32 %47, 16 - %conv61.i = zext nneg i32 %shr60.i to i64 - %sub62.i = or disjoint i64 %conv61.i, -32768 + %49 = or disjoint i32 %shr60.i, -32768 + %sub62.i = sext i32 %49 to i64 %add.ptr66.i = getelementptr i8, ptr %46, i64 -131068 %add.ptr70.i = getelementptr inbounds i32, ptr %add.ptr66.i, i64 %sub62.i store ptr %add.ptr70.i, ptr %bc_min, align 8 - %49 = shl nuw nsw i32 %shr60.i, 2 - %50 = sub nuw nsw i32 131072, %49 - store i32 %50, ptr %bc_extent, align 8 + %50 = shl nuw nsw i32 %shr60.i, 2 + %51 = sub nuw nsw i32 131072, %50 + store i32 %51, ptr %bc_extent, align 8 br label %if.end81.i if.end81.i: ; preds = %if.then65.i, %sw.bb52.i @@ -8243,10 +8243,10 @@ sw.bb83.i: ; preds = %if.else116, %if.els sw.bb88.i: ; preds = %if.else116 %pt.i = getelementptr inbounds i8, ptr %J, i64 152 - %51 = load ptr, ptr %pt.i, align 8 - %numparams.i = getelementptr inbounds i8, ptr %51, i64 10 - %52 = load i8, ptr %numparams.i, align 2 - %conv89.i = zext i8 %52 to i32 + %52 = load ptr, ptr %pt.i, align 8 + %numparams.i = getelementptr inbounds i8, ptr %52, i64 10 + %53 = load i8, ptr %numparams.i, align 2 + %conv89.i = zext i8 %53 to i32 store i32 %conv89.i, ptr %maxslot, align 4 %incdec.ptr91.i = getelementptr inbounds i8, ptr %4, i64 4 br label %rec_setup_root.exit @@ -8259,16 +8259,16 @@ rec_setup_root.exit: ; preds = %if.else116, %sw.bb. %pc.0.i = phi ptr [ %4, %if.else116 ], [ %incdec.ptr93.i, %sw.bb92.i ], [ %incdec.ptr91.i, %sw.bb88.i ], [ %4, %sw.bb83.i ], [ %incdec.ptr.i, %if.end81.i ], [ %4, %sw.bb33.i ], [ %add.ptr31.i, %if.end.i ], [ %add.ptr.i, %sw.bb.i ] store ptr %pc.0.i, ptr %pc15, align 8 tail call void @lj_snap_add(ptr noundef nonnull %J) #7 - %53 = load i32, ptr %startins121, align 8 - %trunc = trunc i32 %53 to i8 + %54 = load i32, ptr %startins121, align 8 + %trunc = trunc i32 %54 to i8 switch i8 %trunc, label %if.end142 [ i8 79, label %if.then129 i8 69, label %if.then139 ] if.then129: ; preds = %rec_setup_root.exit - %54 = load ptr, ptr %pc15, align 8 - %add.ptr131 = getelementptr inbounds i8, ptr %54, i64 -4 + %55 = load ptr, ptr %pc15, align 8 + %add.ptr131 = getelementptr inbounds i8, ptr %55, i64 -4 tail call fastcc void @rec_for_loop(ptr noundef nonnull %J, ptr noundef nonnull %add.ptr131, ptr noundef nonnull %scev, i32 noundef 1) br label %if.end142 @@ -8278,10 +8278,10 @@ if.then139: ; preds = %rec_setup_root.exit if.end142: ; preds = %rec_setup_root.exit, %if.then139, %if.then129 %pt143 = getelementptr inbounds i8, ptr %J, i64 152 - %55 = load ptr, ptr %pt143, align 8 - %framesize = getelementptr inbounds i8, ptr %55, i64 11 - %56 = load i8, ptr %framesize, align 1 - %cmp146 = icmp ugt i8 %56, -8 + %56 = load ptr, ptr %pt143, align 8 + %framesize = getelementptr inbounds i8, ptr %56, i64 11 + %57 = load i8, ptr %framesize, align 1 + %cmp146 = icmp ugt i8 %57, -8 br i1 %cmp146, label %if.then148, label %if.end150 if.then148: ; preds = %if.end142 diff --git a/bench/meshoptimizer/optimized/indexcodec.cpp.ll b/bench/meshoptimizer/optimized/indexcodec.cpp.ll index 9564045cb02..0c33b5494d4 100644 --- a/bench/meshoptimizer/optimized/indexcodec.cpp.ll +++ b/bench/meshoptimizer/optimized/indexcodec.cpp.ll @@ -371,7 +371,7 @@ _ZN7meshoptL15getCodeAuxIndexEhPKh.exit: ; preds = %for.body.i184 if.then161: ; preds = %_ZN7meshoptL15getCodeAuxIndexEhPKh.exit %37 = trunc i64 %indvars.iv.i185 to i8 - %conv163 = or i8 %37, -16 + %conv163 = or disjoint i8 %37, -16 store i8 %conv163, ptr %code.0315, align 1 br label %if.end170 @@ -650,36 +650,36 @@ if.end20: ; preds = %for.body if.then23: ; preds = %if.end20 %shr = lshr i32 %conv21, 4 - %conv25 = zext nneg i32 %shr to i64 - %2 = xor i64 %conv25, -1 - %sub26 = add nsw i64 %edgefifooffset.0340, %2 + %2 = xor i32 %shr, -1 + %3 = zext i32 %2 to i64 + %sub26 = add nuw nsw i64 %edgefifooffset.0340, %3 %and27 = and i64 %sub26, 15 %arrayidx28 = getelementptr inbounds [16 x [2 x i32]], ptr %edgefifo, i64 0, i64 %and27 - %3 = load i32, ptr %arrayidx28, align 8 + %4 = load i32, ptr %arrayidx28, align 8 %arrayidx35 = getelementptr inbounds i8, ptr %arrayidx28, i64 4 - %4 = load i32, ptr %arrayidx35, align 4 + %5 = load i32, ptr %arrayidx35, align 4 %and37 = and i32 %conv21, 15 %cmp38 = icmp ult i32 %and37, %cond br i1 %cmp38, label %if.then39, label %if.else if.then39: ; preds = %if.then23 - %conv41 = zext i8 %1 to i64 - %5 = xor i64 %conv41, -1 - %sub42 = add nsw i64 %vertexfifooffset.0341, %5 + %6 = xor i32 %conv21, -1 + %7 = zext i32 %6 to i64 + %sub42 = add nuw nsw i64 %vertexfifooffset.0341, %7 %and43 = and i64 %sub42, 15 %arrayidx44 = getelementptr inbounds [16 x i32], ptr %vertexfifo, i64 0, i64 %and43 - %6 = load i32, ptr %arrayidx44, align 4 + %8 = load i32, ptr %arrayidx44, align 4 %cmp45 = icmp eq i32 %and37, 0 - %cond46 = select i1 %cmp45, i32 %next.0347, i32 %6 + %cond46 = select i1 %cmp45, i32 %next.0347, i32 %8 %conv48 = zext i1 %cmp45 to i32 %add49 = add i32 %next.0347, %conv48 br i1 %cmp.i248, label %if.then.i, label %if.else.i if.then.i: ; preds = %if.then39 - %conv.i = trunc i32 %3 to i16 + %conv.i = trunc i32 %4 to i16 %arrayidx.i = getelementptr inbounds i16, ptr %destination, i64 %i.0343 store i16 %conv.i, ptr %arrayidx.i, align 2 - %conv1.i = trunc i32 %4 to i16 + %conv1.i = trunc i32 %5 to i16 %arrayidx3.i = getelementptr i8, ptr %arrayidx.i, i64 2 store i16 %conv1.i, ptr %arrayidx3.i, align 2 %conv4.i = trunc i32 %cond46 to i16 @@ -689,9 +689,9 @@ if.then.i: ; preds = %if.then39 if.else.i: ; preds = %if.then39 %arrayidx8.i = getelementptr inbounds i32, ptr %destination, i64 %i.0343 - store i32 %3, ptr %arrayidx8.i, align 4 + store i32 %4, ptr %arrayidx8.i, align 4 %arrayidx10.i = getelementptr i8, ptr %arrayidx8.i, i64 4 - store i32 %4, ptr %arrayidx10.i, align 4 + store i32 %5, ptr %arrayidx10.i, align 4 %arrayidx12.i = getelementptr i8, ptr %arrayidx8.i, i64 8 store i32 %cond46, ptr %arrayidx12.i, align 4 br label %_ZN7meshoptL13writeTriangleEPvmmjjj.exit @@ -708,17 +708,17 @@ if.else: ; preds = %if.then23 br i1 %cmp54.not, label %cond.false58, label %cond.true55 cond.true55: ; preds = %if.else - %7 = xor i32 %and37, -4 - %xor.neg348 = add nsw i32 %7, 1 + %9 = xor i32 %and37, -4 + %xor.neg348 = add nsw i32 %9, 1 %sub56 = add i32 %and37, %last.0346 %add57 = add i32 %sub56, %xor.neg348 br label %cond.end59 cond.false58: ; preds = %if.else %incdec.ptr.i.i = getelementptr inbounds i8, ptr %data.0342, i64 1 - %8 = load i8, ptr %data.0342, align 1 - %conv.i.i = zext i8 %8 to i32 - %cmp.i.i = icmp sgt i8 %8, -1 + %10 = load i8, ptr %data.0342, align 1 + %conv.i.i = zext i8 %10 to i32 + %cmp.i.i = icmp sgt i8 %10, -1 br i1 %cmp.i.i, label %_ZN7meshoptL11decodeIndexERPKhj.exit, label %if.end.i.i if.end.i.i: ; preds = %cond.false58 @@ -732,12 +732,12 @@ for.body.i.i: ; preds = %for.inc.i.i, %if.en %result.010.i.i = phi i32 [ %and.i.i, %if.end.i.i ], [ %or.i.i, %for.inc.i.i ] %incdec.ptr489.i.i = phi ptr [ %incdec.ptr.i.i, %if.end.i.i ], [ %incdec.ptr4.i.i, %for.inc.i.i ] %incdec.ptr4.i.i = getelementptr inbounds i8, ptr %incdec.ptr489.i.i, i64 1 - %9 = load i8, ptr %incdec.ptr489.i.i, align 1 - %10 = and i8 %9, 127 - %and6.i.i = zext nneg i8 %10 to i32 + %11 = load i8, ptr %incdec.ptr489.i.i, align 1 + %12 = and i8 %11, 127 + %and6.i.i = zext nneg i8 %12 to i32 %shl.i.i = shl i32 %and6.i.i, %shift.011.i.i %or.i.i = or i32 %shl.i.i, %result.010.i.i - %cmp8.i.i = icmp sgt i8 %9, -1 + %cmp8.i.i = icmp sgt i8 %11, -1 br i1 %cmp8.i.i, label %_ZN7meshoptL11decodeIndexERPKhj.exit, label %for.inc.i.i for.inc.i.i: ; preds = %for.body.i.i @@ -762,10 +762,10 @@ cond.end59: ; preds = %_ZN7meshoptL11decod br i1 %cmp.i248, label %if.then.i115, label %if.else.i111 if.then.i115: ; preds = %cond.end59 - %conv.i116 = trunc i32 %3 to i16 + %conv.i116 = trunc i32 %4 to i16 %arrayidx.i117 = getelementptr inbounds i16, ptr %destination, i64 %i.0343 store i16 %conv.i116, ptr %arrayidx.i117, align 2 - %conv1.i118 = trunc i32 %4 to i16 + %conv1.i118 = trunc i32 %5 to i16 %arrayidx3.i119 = getelementptr i8, ptr %arrayidx.i117, i64 2 store i16 %conv1.i118, ptr %arrayidx3.i119, align 2 %conv4.i120 = trunc i32 %cond60 to i16 @@ -775,9 +775,9 @@ if.then.i115: ; preds = %cond.end59 if.else.i111: ; preds = %cond.end59 %arrayidx8.i112 = getelementptr inbounds i32, ptr %destination, i64 %i.0343 - store i32 %3, ptr %arrayidx8.i112, align 4 + store i32 %4, ptr %arrayidx8.i112, align 4 %arrayidx10.i113 = getelementptr i8, ptr %arrayidx8.i112, i64 4 - store i32 %4, ptr %arrayidx10.i113, align 4 + store i32 %5, ptr %arrayidx10.i113, align 4 %arrayidx12.i114 = getelementptr i8, ptr %arrayidx8.i112, i64 8 store i32 %cond60, ptr %arrayidx12.i114, align 4 br label %_ZN7meshoptL13writeTriangleEPvmmjjj.exit122 @@ -796,8 +796,8 @@ if.then68: ; preds = %if.else65 %and70 = and i32 %conv21, 15 %idxprom = zext nneg i32 %and70 to i64 %arrayidx71 = getelementptr inbounds i8, ptr %add.ptr16, i64 %idxprom - %11 = load i8, ptr %arrayidx71, align 1 - %conv72 = zext i8 %11 to i32 + %13 = load i8, ptr %arrayidx71, align 1 + %conv72 = zext i8 %13 to i32 %shr73 = lshr i32 %conv72, 4 %and76 = and i32 %conv72, 15 %inc = add i32 %next.0347, 1 @@ -805,18 +805,18 @@ if.then68: ; preds = %if.else65 %sub79 = sub nsw i64 %vertexfifooffset.0341, %conv78 %and80 = and i64 %sub79, 15 %arrayidx81 = getelementptr inbounds [16 x i32], ptr %vertexfifo, i64 0, i64 %and80 - %12 = load i32, ptr %arrayidx81, align 4 - %cmp83 = icmp ult i8 %11, 16 - %cond87 = select i1 %cmp83, i32 %inc, i32 %12 + %14 = load i32, ptr %arrayidx81, align 4 + %cmp83 = icmp ult i8 %13, 16 + %cond87 = select i1 %cmp83, i32 %inc, i32 %14 %conv89 = zext i1 %cmp83 to i32 %add90 = add i32 %inc, %conv89 - %conv92 = zext i8 %11 to i64 + %conv92 = zext i8 %13 to i64 %sub93 = sub nsw i64 %vertexfifooffset.0341, %conv92 %and94 = and i64 %sub93, 15 %arrayidx95 = getelementptr inbounds [16 x i32], ptr %vertexfifo, i64 0, i64 %and94 - %13 = load i32, ptr %arrayidx95, align 4 + %15 = load i32, ptr %arrayidx95, align 4 %cmp97 = icmp eq i32 %and76, 0 - %cond101 = select i1 %cmp97, i32 %add90, i32 %13 + %cond101 = select i1 %cmp97, i32 %add90, i32 %15 %conv104 = zext i1 %cmp97 to i32 %add105 = add i32 %add90, %conv104 br i1 %cmp.i248, label %if.then.i139, label %if.else.i135 @@ -866,16 +866,16 @@ _ZN7meshoptL13writeTriangleEPvmmjjj.exit146: ; preds = %if.then.i139, %if.e if.else112: ; preds = %if.else65 %incdec.ptr114 = getelementptr inbounds i8, ptr %data.0342, i64 1 - %14 = load i8, ptr %data.0342, align 1 + %16 = load i8, ptr %data.0342, align 1 %cmp116.not = icmp eq i8 %1, -2 - %conv119 = zext i8 %14 to i32 + %conv119 = zext i8 %16 to i32 %shr120 = lshr i32 %conv119, 4 %and123 = and i32 %conv119, 15 - %cmp125 = icmp eq i8 %14, 0 + %cmp125 = icmp eq i8 %16, 0 %spec.select = select i1 %cmp125, i32 0, i32 %next.0347 %inc131 = zext i1 %cmp116.not to i32 %next.2 = add i32 %spec.select, %inc131 - %cmp136 = icmp ult i8 %14, 16 + %cmp136 = icmp ult i8 %16, 16 br i1 %cmp136, label %cond.true137, label %cond.false139 cond.true137: ; preds = %if.else112 @@ -887,12 +887,12 @@ cond.false139: ; preds = %if.else112 %sub141 = sub nsw i64 %vertexfifooffset.0341, %conv140 %and142 = and i64 %sub141, 15 %arrayidx143 = getelementptr inbounds [16 x i32], ptr %vertexfifo, i64 0, i64 %and142 - %15 = load i32, ptr %arrayidx143, align 4 + %17 = load i32, ptr %arrayidx143, align 4 br label %cond.end144 cond.end144: ; preds = %cond.false139, %cond.true137 %next.3 = phi i32 [ %inc138, %cond.true137 ], [ %next.2, %cond.false139 ] - %cond145 = phi i32 [ %next.2, %cond.true137 ], [ %15, %cond.false139 ] + %cond145 = phi i32 [ %next.2, %cond.true137 ], [ %17, %cond.false139 ] %cmp147 = icmp eq i32 %and123, 0 br i1 %cmp147, label %cond.true148, label %cond.false150 @@ -901,23 +901,23 @@ cond.true148: ; preds = %cond.end144 br label %cond.end155 cond.false150: ; preds = %cond.end144 - %conv151 = zext i8 %14 to i64 + %conv151 = zext i8 %16 to i64 %sub152 = sub nsw i64 %vertexfifooffset.0341, %conv151 %and153 = and i64 %sub152, 15 %arrayidx154 = getelementptr inbounds [16 x i32], ptr %vertexfifo, i64 0, i64 %and153 - %16 = load i32, ptr %arrayidx154, align 4 + %18 = load i32, ptr %arrayidx154, align 4 br label %cond.end155 cond.end155: ; preds = %cond.false150, %cond.true148 %next.4 = phi i32 [ %inc149, %cond.true148 ], [ %next.3, %cond.false150 ] - %cond156 = phi i32 [ %next.3, %cond.true148 ], [ %16, %cond.false150 ] + %cond156 = phi i32 [ %next.3, %cond.true148 ], [ %18, %cond.false150 ] br i1 %cmp116.not, label %if.end160, label %if.then158 if.then158: ; preds = %cond.end155 %incdec.ptr.i.i170 = getelementptr inbounds i8, ptr %data.0342, i64 2 - %17 = load i8, ptr %incdec.ptr114, align 1 - %conv.i.i171 = zext i8 %17 to i32 - %cmp.i.i172 = icmp sgt i8 %17, -1 + %19 = load i8, ptr %incdec.ptr114, align 1 + %conv.i.i171 = zext i8 %19 to i32 + %cmp.i.i172 = icmp sgt i8 %19, -1 br i1 %cmp.i.i172, label %_ZN7meshoptL11decodeIndexERPKhj.exit195, label %if.end.i.i173 if.end.i.i173: ; preds = %if.then158 @@ -931,12 +931,12 @@ for.body.i.i175: ; preds = %for.inc.i.i185, %if %result.010.i.i178 = phi i32 [ %and.i.i174, %if.end.i.i173 ], [ %or.i.i183, %for.inc.i.i185 ] %incdec.ptr489.i.i179 = phi ptr [ %incdec.ptr.i.i170, %if.end.i.i173 ], [ %incdec.ptr4.i.i180, %for.inc.i.i185 ] %incdec.ptr4.i.i180 = getelementptr inbounds i8, ptr %incdec.ptr489.i.i179, i64 1 - %18 = load i8, ptr %incdec.ptr489.i.i179, align 1 - %19 = and i8 %18, 127 - %and6.i.i181 = zext nneg i8 %19 to i32 + %20 = load i8, ptr %incdec.ptr489.i.i179, align 1 + %21 = and i8 %20, 127 + %and6.i.i181 = zext nneg i8 %21 to i32 %shl.i.i182 = shl i32 %and6.i.i181, %shift.011.i.i177 %or.i.i183 = or i32 %shl.i.i182, %result.010.i.i178 - %cmp8.i.i184 = icmp sgt i8 %18, -1 + %cmp8.i.i184 = icmp sgt i8 %20, -1 br i1 %cmp8.i.i184, label %_ZN7meshoptL11decodeIndexERPKhj.exit195, label %for.inc.i.i185 for.inc.i.i185: ; preds = %for.body.i.i175 @@ -964,9 +964,9 @@ if.end160: ; preds = %_ZN7meshoptL11decod if.then162: ; preds = %if.end160 %incdec.ptr.i.i196 = getelementptr inbounds i8, ptr %data.4, i64 1 - %20 = load i8, ptr %data.4, align 1 - %conv.i.i197 = zext i8 %20 to i32 - %cmp.i.i198 = icmp sgt i8 %20, -1 + %22 = load i8, ptr %data.4, align 1 + %conv.i.i197 = zext i8 %22 to i32 + %cmp.i.i198 = icmp sgt i8 %22, -1 br i1 %cmp.i.i198, label %_ZN7meshoptL11decodeIndexERPKhj.exit221, label %if.end.i.i199 if.end.i.i199: ; preds = %if.then162 @@ -980,12 +980,12 @@ for.body.i.i201: ; preds = %for.inc.i.i211, %if %result.010.i.i204 = phi i32 [ %and.i.i200, %if.end.i.i199 ], [ %or.i.i209, %for.inc.i.i211 ] %incdec.ptr489.i.i205 = phi ptr [ %incdec.ptr.i.i196, %if.end.i.i199 ], [ %incdec.ptr4.i.i206, %for.inc.i.i211 ] %incdec.ptr4.i.i206 = getelementptr inbounds i8, ptr %incdec.ptr489.i.i205, i64 1 - %21 = load i8, ptr %incdec.ptr489.i.i205, align 1 - %22 = and i8 %21, 127 - %and6.i.i207 = zext nneg i8 %22 to i32 + %23 = load i8, ptr %incdec.ptr489.i.i205, align 1 + %24 = and i8 %23, 127 + %and6.i.i207 = zext nneg i8 %24 to i32 %shl.i.i208 = shl i32 %and6.i.i207, %shift.011.i.i203 %or.i.i209 = or i32 %shl.i.i208, %result.010.i.i204 - %cmp8.i.i210 = icmp sgt i8 %21, -1 + %cmp8.i.i210 = icmp sgt i8 %23, -1 br i1 %cmp8.i.i210, label %_ZN7meshoptL11decodeIndexERPKhj.exit221, label %for.inc.i.i211 for.inc.i.i211: ; preds = %for.body.i.i201 @@ -1013,9 +1013,9 @@ if.end164: ; preds = %_ZN7meshoptL11decod if.then166: ; preds = %if.end164 %incdec.ptr.i.i222 = getelementptr inbounds i8, ptr %data.6, i64 1 - %23 = load i8, ptr %data.6, align 1 - %conv.i.i223 = zext i8 %23 to i32 - %cmp.i.i224 = icmp sgt i8 %23, -1 + %25 = load i8, ptr %data.6, align 1 + %conv.i.i223 = zext i8 %25 to i32 + %cmp.i.i224 = icmp sgt i8 %25, -1 br i1 %cmp.i.i224, label %_ZN7meshoptL11decodeIndexERPKhj.exit247, label %if.end.i.i225 if.end.i.i225: ; preds = %if.then166 @@ -1029,12 +1029,12 @@ for.body.i.i227: ; preds = %for.inc.i.i237, %if %result.010.i.i230 = phi i32 [ %and.i.i226, %if.end.i.i225 ], [ %or.i.i235, %for.inc.i.i237 ] %incdec.ptr489.i.i231 = phi ptr [ %incdec.ptr.i.i222, %if.end.i.i225 ], [ %incdec.ptr4.i.i232, %for.inc.i.i237 ] %incdec.ptr4.i.i232 = getelementptr inbounds i8, ptr %incdec.ptr489.i.i231, i64 1 - %24 = load i8, ptr %incdec.ptr489.i.i231, align 1 - %25 = and i8 %24, 127 - %and6.i.i233 = zext nneg i8 %25 to i32 + %26 = load i8, ptr %incdec.ptr489.i.i231, align 1 + %27 = and i8 %26, 127 + %and6.i.i233 = zext nneg i8 %27 to i32 %shl.i.i234 = shl i32 %and6.i.i233, %shift.011.i.i229 %or.i.i235 = or i32 %shl.i.i234, %result.010.i.i230 - %cmp8.i.i236 = icmp sgt i8 %24, -1 + %cmp8.i.i236 = icmp sgt i8 %26, -1 br i1 %cmp8.i.i236, label %_ZN7meshoptL11decodeIndexERPKhj.exit247, label %for.inc.i.i237 for.inc.i.i237: ; preds = %for.body.i.i227 @@ -1107,9 +1107,9 @@ _ZN7meshoptL13writeTriangleEPvmmjjj.exit260: ; preds = %if.then.i253, %if.e for.inc: ; preds = %_ZN7meshoptL13writeTriangleEPvmmjjj.exit122, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit260, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit146 %edgefifooffset.0340.sink357 = phi i64 [ %edgefifooffset.0340, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit122 ], [ %edgefifooffset.0340, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit ], [ %and.i275, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit260 ], [ %and.i161, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit146 ] %cond60.sink356 = phi i32 [ %cond60, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit122 ], [ %cond46, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit ], [ %c146.0, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit260 ], [ %cond101, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit146 ] - %.sink355 = phi i32 [ %4, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit122 ], [ %4, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit ], [ %b135.0, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit260 ], [ %cond87, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit146 ] + %.sink355 = phi i32 [ %5, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit122 ], [ %5, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit ], [ %b135.0, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit260 ], [ %cond87, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit146 ] %.sink354 = phi i64 [ 1, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit122 ], [ 1, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit ], [ 2, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit260 ], [ 2, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit146 ] - %.sink352 = phi i32 [ %3, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit122 ], [ %3, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit ], [ %a128.0, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit260 ], [ %next.0347, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit146 ] + %.sink352 = phi i32 [ %4, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit122 ], [ %4, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit ], [ %a128.0, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit260 ], [ %next.0347, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit146 ] %.sink = phi i64 [ 2, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit122 ], [ 2, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit ], [ 3, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit260 ], [ 3, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit146 ] %vertexfifooffset.1.in = phi i64 [ %add.i124, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit122 ], [ %add.i, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit ], [ %add.i270, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit260 ], [ %add.i156, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit146 ] %data.9 = phi ptr [ %data.2, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit122 ], [ %data.0342, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit ], [ %data.8, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit260 ], [ %data.0342, %_ZN7meshoptL13writeTriangleEPvmmjjj.exit146 ] diff --git a/bench/miniaudio/optimized/unity.c.ll b/bench/miniaudio/optimized/unity.c.ll index d655af8edd0..d25ce71ca52 100644 --- a/bench/miniaudio/optimized/unity.c.ll +++ b/bench/miniaudio/optimized/unity.c.ll @@ -94601,8 +94601,8 @@ while.body.lr.ph: ; preds = %entry br label %while.body while.body: ; preds = %while.body.lr.ph, %while.cond.backedge - %2 = phi i32 [ %.pre, %while.body.lr.ph ], [ %59, %while.cond.backedge ] - %3 = phi i32 [ %.pre, %while.body.lr.ph ], [ %60, %while.cond.backedge ] + %2 = phi i32 [ %.pre, %while.body.lr.ph ], [ %60, %while.cond.backedge ] + %3 = phi i32 [ %.pre, %while.body.lr.ph ], [ %61, %while.cond.backedge ] %totalFramesRead.0180 = phi i64 [ 0, %while.body.lr.ph ], [ %totalFramesRead.1174, %while.cond.backedge ] %pBufferOut.addr.0179 = phi ptr [ %pBufferOut, %while.body.lr.ph ], [ %pBufferOut.addr.1173, %while.cond.backedge ] %framesToRead.addr.0178 = phi i64 [ %framesToRead, %while.body.lr.ph ], [ %framesToRead.addr.1172, %while.cond.backedge ] @@ -94786,7 +94786,8 @@ if.end221: ; preds = %if.else214 %39 = load i8, ptr %nibbles, align 1 %40 = lshr i8 %39, 4 %shr = zext nneg i8 %40 to i32 - %or = or disjoint i32 %shr, -16 + %41 = or disjoint i8 %40, -16 + %or = sext i8 %41 to i32 %tobool.not153 = icmp slt i8 %39, 0 %nibble0.0 = select i1 %tobool.not153, i32 %or, i32 %shr %conv232 = zext i8 %39 to i32 @@ -94795,47 +94796,47 @@ if.end221: ; preds = %if.else214 %tobool237.not = icmp eq i32 %and236, 0 %masksel = select i1 %tobool237.not, i32 0, i32 -16 %nibble1.0 = or disjoint i32 %masksel, %and233 - %41 = load i16, ptr %channels, align 8 - %cmp245 = icmp eq i16 %41, 1 - %42 = load i32, ptr %arrayidx99, align 4 - %43 = load i16, ptr %predictor71, align 4 - %idxprom255 = zext i16 %43 to i64 + %42 = load i16, ptr %channels, align 8 + %cmp245 = icmp eq i16 %42, 1 + %43 = load i32, ptr %arrayidx99, align 4 + %44 = load i16, ptr %predictor71, align 4 + %idxprom255 = zext i16 %44 to i64 %arrayidx256 = getelementptr inbounds [7 x i32], ptr @ma_dr_wav_read_pcm_frames_s16__msadpcm.coeff1Table, i64 0, i64 %idxprom255 - %44 = load i32, ptr %arrayidx256, align 4 - %mul257 = mul nsw i32 %44, %42 - %45 = load i32, ptr %prevFrames97, align 4 + %45 = load i32, ptr %arrayidx256, align 4 + %mul257 = mul nsw i32 %45, %43 + %46 = load i32, ptr %prevFrames97, align 4 %arrayidx266 = getelementptr inbounds [7 x i32], ptr @ma_dr_wav_read_pcm_frames_s16__msadpcm.coeff2Table, i64 0, i64 %idxprom255 - %46 = load i32, ptr %arrayidx266, align 4 - %mul267 = mul nsw i32 %46, %45 + %47 = load i32, ptr %arrayidx266, align 4 + %mul267 = mul nsw i32 %47, %46 %add268 = add nsw i32 %mul267, %mul257 %shr269 = ashr i32 %add268, 8 - %47 = load i32, ptr %delta83, align 8 - %mul273 = mul nsw i32 %47, %nibble0.0 + %48 = load i32, ptr %delta83, align 8 + %mul273 = mul nsw i32 %48, %nibble0.0 %add274 = add nsw i32 %shr269, %mul273 %cond = call i32 @llvm.smin.i32(i32 %add274, i32 32767) %cond288 = call i32 @llvm.smax.i32(i32 %cond, i32 -32768) %idxprom292 = zext nneg i8 %40 to i64 %arrayidx293 = getelementptr inbounds [16 x i32], ptr @ma_dr_wav_read_pcm_frames_s16__msadpcm.adaptationTable, i64 0, i64 %idxprom292 - %48 = load i32, ptr %arrayidx293, align 4 - %mul297 = mul nsw i32 %48, %47 + %49 = load i32, ptr %arrayidx293, align 4 + %mul297 = mul nsw i32 %49, %48 %shr298 = ashr i32 %mul297, 8 %spec.select = call i32 @llvm.smax.i32(i32 %shr298, i32 16) br i1 %cmp245, label %if.then247, label %if.else412 if.then247: ; preds = %if.end221 - %mul333 = mul nsw i32 %cond288, %44 - %mul343 = mul nsw i32 %46, %42 + %mul333 = mul nsw i32 %cond288, %45 + %mul343 = mul nsw i32 %47, %43 %add344 = add nsw i32 %mul333, %mul343 %shr345 = ashr i32 %add344, 8 %mul349 = mul nsw i32 %spec.select, %nibble1.0 %add350 = add nsw i32 %shr345, %mul349 %cond356 = call i32 @llvm.smin.i32(i32 %add350, i32 32767) %cond368 = call i32 @llvm.smax.i32(i32 %cond356, i32 -32768) - %49 = and i8 %39, 15 - %idxprom372 = zext nneg i8 %49 to i64 + %50 = and i8 %39, 15 + %idxprom372 = zext nneg i8 %50 to i64 %arrayidx373 = getelementptr inbounds [16 x i32], ptr @ma_dr_wav_read_pcm_frames_s16__msadpcm.adaptationTable, i64 0, i64 %idxprom372 - %50 = load i32, ptr %arrayidx373, align 4 - %mul377 = mul nsw i32 %50, %spec.select + %51 = load i32, ptr %arrayidx373, align 4 + %mul377 = mul nsw i32 %51, %spec.select %shr378 = ashr i32 %mul377, 8 %storemerge150 = call i32 @llvm.smax.i32(i32 %shr378, i32 16) store i32 %storemerge150, ptr %delta83, align 8 @@ -94845,34 +94846,34 @@ if.then247: ; preds = %if.end221 if.else412: ; preds = %if.end221 store i32 %spec.select, ptr %delta83, align 8 - store i32 %42, ptr %prevFrames97, align 4 + store i32 %43, ptr %prevFrames97, align 4 store i32 %cond288, ptr %arrayidx99, align 4 - %51 = load i32, ptr %arrayidx107, align 4 - %52 = load i16, ptr %arrayidx77, align 2 - %idxprom502 = zext i16 %52 to i64 + %52 = load i32, ptr %arrayidx107, align 4 + %53 = load i16, ptr %arrayidx77, align 2 + %idxprom502 = zext i16 %53 to i64 %arrayidx503 = getelementptr inbounds [7 x i32], ptr @ma_dr_wav_read_pcm_frames_s16__msadpcm.coeff1Table, i64 0, i64 %idxprom502 - %53 = load i32, ptr %arrayidx503, align 4 - %mul504 = mul nsw i32 %53, %51 - %54 = load i32, ptr %arrayidx106, align 4 + %54 = load i32, ptr %arrayidx503, align 4 + %mul504 = mul nsw i32 %54, %52 + %55 = load i32, ptr %arrayidx106, align 4 %arrayidx513 = getelementptr inbounds [7 x i32], ptr @ma_dr_wav_read_pcm_frames_s16__msadpcm.coeff2Table, i64 0, i64 %idxprom502 - %55 = load i32, ptr %arrayidx513, align 4 - %mul514 = mul nsw i32 %55, %54 + %56 = load i32, ptr %arrayidx513, align 4 + %mul514 = mul nsw i32 %56, %55 %add515 = add nsw i32 %mul514, %mul504 %shr516 = ashr i32 %add515, 8 - %56 = load i32, ptr %arrayidx91, align 4 - %mul520 = mul nsw i32 %56, %nibble1.0 + %57 = load i32, ptr %arrayidx91, align 4 + %mul520 = mul nsw i32 %57, %nibble1.0 %add521 = add nsw i32 %shr516, %mul520 %cond527 = call i32 @llvm.smin.i32(i32 %add521, i32 32767) %cond539 = call i32 @llvm.smax.i32(i32 %cond527, i32 -32768) - %57 = and i8 %39, 15 - %idxprom543 = zext nneg i8 %57 to i64 + %58 = and i8 %39, 15 + %idxprom543 = zext nneg i8 %58 to i64 %arrayidx544 = getelementptr inbounds [16 x i32], ptr @ma_dr_wav_read_pcm_frames_s16__msadpcm.adaptationTable, i64 0, i64 %idxprom543 - %58 = load i32, ptr %arrayidx544, align 4 - %mul548 = mul nsw i32 %58, %56 + %59 = load i32, ptr %arrayidx544, align 4 + %mul548 = mul nsw i32 %59, %57 %shr549 = ashr i32 %mul548, 8 %storemerge148 = call i32 @llvm.smax.i32(i32 %shr549, i32 16) store i32 %storemerge148, ptr %arrayidx91, align 4 - store i32 %51, ptr %arrayidx106, align 4 + store i32 %52, ptr %arrayidx106, align 4 store i32 %cond539, ptr %arrayidx107, align 4 br label %while.cond.backedge.sink.split @@ -94885,19 +94886,19 @@ while.cond.backedge.sink.split: ; preds = %if.else412, %if.the br label %while.cond.backedge while.cond.backedge: ; preds = %land.rhs, %while.cond.backedge.sink.split, %if.then208 - %59 = phi i32 [ %24, %if.then208 ], [ %.sink, %while.cond.backedge.sink.split ], [ %24, %land.rhs ] - %60 = phi i32 [ 0, %if.then208 ], [ %.sink, %while.cond.backedge.sink.split ], [ %25, %land.rhs ] - %61 = load i64, ptr %readCursorInPCMFrames, align 8 - %62 = load i64, ptr %totalPCMFrameCount, align 8 - %cmp = icmp ult i64 %61, %62 + %60 = phi i32 [ %24, %if.then208 ], [ %.sink, %while.cond.backedge.sink.split ], [ %24, %land.rhs ] + %61 = phi i32 [ 0, %if.then208 ], [ %.sink, %while.cond.backedge.sink.split ], [ %25, %land.rhs ] + %62 = load i64, ptr %readCursorInPCMFrames, align 8 + %63 = load i64, ptr %totalPCMFrameCount, align 8 + %cmp = icmp ult i64 %62, %63 br i1 %cmp, label %while.body, label %return, !llvm.loop !824 return.loopexit: ; preds = %if.end192 - %63 = add i64 %framesToRead.addr.0178, %totalFramesRead.0180 + %64 = add i64 %framesToRead.addr.0178, %totalFramesRead.0180 br label %return return: ; preds = %if.then6, %if.else, %if.else214, %while.cond.backedge, %if.end155, %return.loopexit, %entry - %retval.0 = phi i64 [ 0, %entry ], [ %63, %return.loopexit ], [ %totalFramesRead.0180, %if.end155 ], [ %totalFramesRead.0180, %if.then6 ], [ %totalFramesRead.0180, %if.else ], [ %totalFramesRead.1174, %if.else214 ], [ %totalFramesRead.1174, %while.cond.backedge ] + %retval.0 = phi i64 [ 0, %entry ], [ %64, %return.loopexit ], [ %totalFramesRead.0180, %if.end155 ], [ %totalFramesRead.0180, %if.then6 ], [ %totalFramesRead.0180, %if.else ], [ %totalFramesRead.1174, %if.else214 ], [ %totalFramesRead.1174, %while.cond.backedge ] ret i64 %retval.0 } @@ -112279,8 +112280,8 @@ ma_device_get_log.exit353: ; preds = %ma_device_get_conte %call150 = call i32 @ma_log_post(ptr noundef %retval.0.i3.i352, i32 noundef 1, ptr noundef nonnull @.str.277), !range !44 %cmp.i354 = icmp sge i32 %call145, 0 %94 = icmp ult i32 %call145, 6 - %or.cond623 = and i1 %cmp.i354, %94 - br i1 %or.cond623, label %switch.lookup604, label %on_error1 + %or.cond619 = and i1 %cmp.i354, %94 + br i1 %or.cond619, label %switch.lookup600, label %on_error1 if.end152: ; preds = %if.end131 %95 = load ptr, ptr %0, align 8 @@ -112314,12 +112315,12 @@ ma_device_get_log.exit366: ; preds = %ma_device_get_conte %102 = load i32, ptr %ss, align 4 %call169 = call fastcc i32 @ma_format_from_pulse(i32 noundef %102), !range !924 %103 = zext nneg i32 %call169 to i64 - %switch.gep608 = getelementptr inbounds [6 x ptr], ptr @switch.table.ma_device_init__pulse.59, i64 0, i64 %103 - %switch.load609 = load ptr, ptr %switch.gep608, align 8 + %switch.gep604 = getelementptr inbounds [6 x ptr], ptr @switch.table.ma_device_init__pulse.59, i64 0, i64 %103 + %switch.load605 = load ptr, ptr %switch.gep604, align 8 %104 = load i8, ptr %channels74, align 4 %conv172 = zext i8 %104 to i32 %105 = load i32, ptr %rate96, align 4 - %call174 = call i32 (ptr, i32, ptr, ...) @ma_log_postf(ptr noundef %retval.0.i3.i365, i32 noundef 3, ptr noundef nonnull @.str.278, ptr noundef nonnull %switch.load609, i32 noundef %conv172, i32 noundef %105), !range !17 + %call174 = call i32 (ptr, i32, ptr, ...) @ma_log_postf(ptr noundef %retval.0.i3.i365, i32 noundef 3, ptr noundef nonnull @.str.278, ptr noundef nonnull %switch.load605, i32 noundef %conv172, i32 noundef %105), !range !17 br label %if.end178 ma_device_get_context.exit.i373: ; preds = %if.end160 @@ -112359,19 +112360,19 @@ lor.lhs.false190: ; preds = %if.end178 ma_device_get_context.exit.i380: ; preds = %if.end178, %lor.lhs.false190 %111 = load ptr, ptr %pDevice, align 8 %cmp.i1.i381 = icmp eq ptr %111, null - br i1 %cmp.i1.i381, label %switch.lookup610, label %if.end.i2.i382 + br i1 %cmp.i1.i381, label %switch.lookup606, label %if.end.i2.i382 if.end.i2.i382: ; preds = %ma_device_get_context.exit.i380 %pLog.i.i383 = getelementptr inbounds i8, ptr %111, i64 112 %112 = load ptr, ptr %pLog.i.i383, align 8 - br label %switch.lookup610 + br label %switch.lookup606 -switch.lookup610: ; preds = %if.end.i2.i382, %ma_device_get_context.exit.i380 +switch.lookup606: ; preds = %if.end.i2.i382, %ma_device_get_context.exit.i380 %retval.0.i3.i384 = phi ptr [ %112, %if.end.i2.i382 ], [ null, %ma_device_get_context.exit.i380 ] %113 = zext nneg i32 %call180 to i64 - %switch.gep611 = getelementptr inbounds [6 x ptr], ptr @switch.table.ma_device_init__pulse.59, i64 0, i64 %113 - %switch.load612 = load ptr, ptr %switch.gep611, align 8 - %call204 = call i32 (ptr, i32, ptr, ...) @ma_log_postf(ptr noundef %retval.0.i3.i384, i32 noundef 1, ptr noundef nonnull @.str.280, ptr noundef nonnull %switch.load612, i32 noundef %conv183, i32 noundef %110), !range !17 + %switch.gep607 = getelementptr inbounds [6 x ptr], ptr @switch.table.ma_device_init__pulse.59, i64 0, i64 %113 + %switch.load608 = load ptr, ptr %switch.gep607, align 8 + %call204 = call i32 (ptr, i32, ptr, ...) @ma_log_postf(ptr noundef %retval.0.i3.i384, i32 noundef 1, ptr noundef nonnull @.str.280, ptr noundef nonnull %switch.load608, i32 noundef %conv183, i32 noundef %110), !range !17 br label %on_error4 if.end205: ; preds = %lor.lhs.false190 @@ -112425,11 +112426,11 @@ if.then241: ; preds = %if.end235 if.end242: ; preds = %if.then241, %if.end235 %118 = load i32, ptr %tmp.sroa.5.0.attr.sroa_idx, align 4 %cmp244.not = icmp eq i32 %118, 0 - %.pre596 = load i32, ptr %attr, align 4 + %.pre593 = load i32, ptr %attr, align 4 br i1 %cmp244.not, label %ma_device_get_context.exit.i396, label %if.then246 if.then246: ; preds = %if.end242 - %div = udiv i32 %.pre596, %118 + %div = udiv i32 %.pre593, %118 %spec.select256 = call i32 @llvm.umax.i32(i32 %div, i32 1) br label %ma_device_get_context.exit.i396 @@ -112442,7 +112443,7 @@ ma_device_get_context.exit.i396: ; preds = %if.then246, %if.end %arrayidx.i394 = getelementptr inbounds [6 x i32], ptr @__const.ma_get_bytes_per_sample.sizes, i64 0, i64 %idxprom.i %121 = load i32, ptr %arrayidx.i394, align 4 %mul.i624 = mul i32 %121, %120 - %div262 = udiv i32 %.pre596, %mul.i624 + %div262 = udiv i32 %.pre593, %mul.i624 %div264 = udiv i32 %div262, %storemerge store i32 %div264, ptr %periodSizeInFrames.i, align 8 %122 = load ptr, ptr %pDevice, align 8 @@ -112459,7 +112460,7 @@ ma_device_get_log.exit401: ; preds = %ma_device_get_conte %124 = load i32, ptr %tmp.sroa.2.0.attr.sroa_idx, align 4 %125 = load i32, ptr %tmp.sroa.3.0.attr.sroa_idx, align 4 %126 = load i32, ptr %tmp.sroa.4.0.attr.sroa_idx, align 4 - %call273 = call i32 (ptr, i32, ptr, ...) @ma_log_postf(ptr noundef %retval.0.i3.i400, i32 noundef 3, ptr noundef nonnull @.str.281, i32 noundef %.pre596, i32 noundef %124, i32 noundef %125, i32 noundef %126, i32 noundef %118, i32 noundef %div264), !range !17 + %call273 = call i32 (ptr, i32, ptr, ...) @ma_log_postf(ptr noundef %retval.0.i3.i400, i32 noundef 3, ptr noundef nonnull @.str.281, i32 noundef %.pre593, i32 noundef %124, i32 noundef %125, i32 noundef %126, i32 noundef %118, i32 noundef %div264), !range !17 %.pr = load i32, ptr %pConfig, align 8 br label %if.end274 @@ -112566,7 +112567,7 @@ if.end290: ; preds = %for.cond.i.i.i409 if.end290.if.end300_crit_edge: ; preds = %if.end290 %channels303.phi.trans.insert = getelementptr inbounds i8, ptr %ss, i64 8 - %.pre597 = load i8, ptr %channels303.phi.trans.insert, align 4 + %.pre594 = load i8, ptr %channels303.phi.trans.insert, align 4 br label %if.end300 if.then296: ; preds = %if.end290 @@ -112576,7 +112577,7 @@ if.then296: ; preds = %if.end290 br label %if.end300 if.end300: ; preds = %if.end290.if.end300_crit_edge, %if.then296 - %145 = phi i8 [ %.pre597, %if.end290.if.end300_crit_edge ], [ %conv298, %if.then296 ] + %145 = phi i8 [ %.pre594, %if.end290.if.end300_crit_edge ], [ %conv298, %if.then296 ] %146 = load ptr, ptr %pDevice, align 8 %pa_channel_map_init_extend302 = getelementptr inbounds i8, ptr %146, i64 680 %147 = load ptr, ptr %pa_channel_map_init_extend302, align 8 @@ -112760,8 +112761,8 @@ ma_device_get_log.exit487: ; preds = %ma_device_get_conte %call395 = call i32 @ma_log_post(ptr noundef %retval.0.i3.i486, i32 noundef 1, ptr noundef nonnull @.str.285), !range !44 %cmp.i488 = icmp sge i32 %call390, 0 %183 = icmp ult i32 %call390, 6 - %or.cond624 = and i1 %cmp.i488, %183 - br i1 %or.cond624, label %switch.lookup613, label %on_error3thread-pre-split + %or.cond620 = and i1 %cmp.i488, %183 + br i1 %or.cond620, label %switch.lookup609, label %on_error3thread-pre-split if.end397: ; preds = %if.end374 %184 = load ptr, ptr %0, align 8 @@ -112795,12 +112796,12 @@ ma_device_get_log.exit502: ; preds = %ma_device_get_conte %191 = load i32, ptr %ss, align 4 %call415 = call fastcc i32 @ma_format_from_pulse(i32 noundef %191), !range !924 %192 = zext nneg i32 %call415 to i64 - %switch.gep618 = getelementptr inbounds [6 x ptr], ptr @switch.table.ma_device_init__pulse.59, i64 0, i64 %192 - %switch.load619 = load ptr, ptr %switch.gep618, align 8 + %switch.gep614 = getelementptr inbounds [6 x ptr], ptr @switch.table.ma_device_init__pulse.59, i64 0, i64 %192 + %switch.load615 = load ptr, ptr %switch.gep614, align 8 %193 = load i8, ptr %channels303, align 4 %conv418 = zext i8 %193 to i32 %194 = load i32, ptr %rate329, align 4 - %call420 = call i32 (ptr, i32, ptr, ...) @ma_log_postf(ptr noundef %retval.0.i3.i501, i32 noundef 3, ptr noundef nonnull @.str.286, ptr noundef nonnull %switch.load619, i32 noundef %conv418, i32 noundef %194), !range !17 + %call420 = call i32 (ptr, i32, ptr, ...) @ma_log_postf(ptr noundef %retval.0.i3.i501, i32 noundef 3, ptr noundef nonnull @.str.286, ptr noundef nonnull %switch.load615, i32 noundef %conv418, i32 noundef %194), !range !17 br label %if.end424 ma_device_get_context.exit.i512: ; preds = %if.end405 @@ -112840,19 +112841,19 @@ lor.lhs.false436: ; preds = %if.end424 ma_device_get_context.exit.i519: ; preds = %if.end424, %lor.lhs.false436 %200 = load ptr, ptr %pDevice, align 8 %cmp.i1.i520 = icmp eq ptr %200, null - br i1 %cmp.i1.i520, label %switch.lookup620, label %if.end.i2.i521 + br i1 %cmp.i1.i520, label %switch.lookup616, label %if.end.i2.i521 if.end.i2.i521: ; preds = %ma_device_get_context.exit.i519 %pLog.i.i522 = getelementptr inbounds i8, ptr %200, i64 112 %201 = load ptr, ptr %pLog.i.i522, align 8 - br label %switch.lookup620 + br label %switch.lookup616 -switch.lookup620: ; preds = %if.end.i2.i521, %ma_device_get_context.exit.i519 +switch.lookup616: ; preds = %if.end.i2.i521, %ma_device_get_context.exit.i519 %retval.0.i3.i523 = phi ptr [ %201, %if.end.i2.i521 ], [ null, %ma_device_get_context.exit.i519 ] %202 = zext nneg i32 %call426 to i64 - %switch.gep621 = getelementptr inbounds [6 x ptr], ptr @switch.table.ma_device_init__pulse.59, i64 0, i64 %202 - %switch.load622 = load ptr, ptr %switch.gep621, align 8 - %call450 = call i32 (ptr, i32, ptr, ...) @ma_log_postf(ptr noundef %retval.0.i3.i523, i32 noundef 1, ptr noundef nonnull @.str.288, ptr noundef nonnull %switch.load622, i32 noundef %conv429, i32 noundef %199), !range !17 + %switch.gep617 = getelementptr inbounds [6 x ptr], ptr @switch.table.ma_device_init__pulse.59, i64 0, i64 %202 + %switch.load618 = load ptr, ptr %switch.gep617, align 8 + %call450 = call i32 (ptr, i32, ptr, ...) @ma_log_postf(ptr noundef %retval.0.i3.i523, i32 noundef 1, ptr noundef nonnull @.str.288, ptr noundef nonnull %switch.load618, i32 noundef %conv429, i32 noundef %199), !range !17 br label %on_error4 if.end451: ; preds = %lor.lhs.false436 @@ -112862,19 +112863,19 @@ if.end451: ; preds = %lor.lhs.false436 for.cond456.preheader: ; preds = %if.end451 %map461 = getelementptr inbounds i8, ptr %cmap, i64 4 - %wide.trip.count594 = zext i8 %198 to i64 + %wide.trip.count591 = zext i8 %198 to i64 br label %for.body460 for.body460: ; preds = %for.cond456.preheader, %for.body460 - %indvars.iv591 = phi i64 [ 0, %for.cond456.preheader ], [ %indvars.iv.next592, %for.body460 ] - %arrayidx463 = getelementptr inbounds [32 x i32], ptr %map461, i64 0, i64 %indvars.iv591 + %indvars.iv588 = phi i64 [ 0, %for.cond456.preheader ], [ %indvars.iv.next589, %for.body460 ] + %arrayidx463 = getelementptr inbounds [32 x i32], ptr %map461, i64 0, i64 %indvars.iv588 %203 = load i32, ptr %arrayidx463, align 4 %call464 = call fastcc zeroext i8 @ma_channel_position_from_pulse(i32 noundef %203), !range !925 - %arrayidx467 = getelementptr inbounds [254 x i8], ptr %channelMap465, i64 0, i64 %indvars.iv591 + %arrayidx467 = getelementptr inbounds [254 x i8], ptr %channelMap465, i64 0, i64 %indvars.iv588 store i8 %call464, ptr %arrayidx467, align 1 - %indvars.iv.next592 = add nuw nsw i64 %indvars.iv591, 1 - %exitcond595.not = icmp eq i64 %indvars.iv.next592, %wide.trip.count594 - br i1 %exitcond595.not, label %if.end490, label %for.body460, !llvm.loop !927 + %indvars.iv.next589 = add nuw nsw i64 %indvars.iv588, 1 + %exitcond592.not = icmp eq i64 %indvars.iv.next589, %wide.trip.count591 + br i1 %exitcond592.not, label %if.end490, label %for.body460, !llvm.loop !927 if.else471: ; preds = %if.end451 %cmp473 = icmp eq i8 %198, 1 @@ -112906,11 +112907,11 @@ if.then497: ; preds = %if.end490 if.end498: ; preds = %if.then497, %if.end490 %207 = load i32, ptr %tlength360, align 4 %cmp500.not = icmp eq i32 %207, 0 - %.pre599 = load i32, ptr %attr, align 4 + %.pre596 = load i32, ptr %attr, align 4 br i1 %cmp500.not, label %ma_device_get_context.exit.i536, label %if.then502 if.then502: ; preds = %if.end498 - %div505 = udiv i32 %.pre599, %207 + %div505 = udiv i32 %.pre596, %207 %spec.select259 = call i32 @llvm.umax.i32(i32 %div505, i32 1) br label %ma_device_get_context.exit.i536 @@ -112923,7 +112924,7 @@ ma_device_get_context.exit.i536: ; preds = %if.then502, %if.end %arrayidx.i534 = getelementptr inbounds [6 x i32], ptr @__const.ma_get_bytes_per_sample.sizes, i64 0, i64 %idxprom.i533 %210 = load i32, ptr %arrayidx.i534, align 4 %mul.i = mul i32 %210, %209 - %div523 = udiv i32 %.pre599, %mul.i + %div523 = udiv i32 %.pre596, %mul.i %div525 = udiv i32 %div523, %storemerge253 store i32 %div525, ptr %periodSizeInFrames354, align 8 %211 = load ptr, ptr %pDevice, align 8 @@ -112940,9 +112941,9 @@ if.end535: ; preds = %if.end.i2.i538, %ma %213 = load i32, ptr %prebuf361, align 4 %214 = load i32, ptr %minreq362, align 4 %215 = load i32, ptr %fragsize363, align 4 - %call534 = call i32 (ptr, i32, ptr, ...) @ma_log_postf(ptr noundef %retval.0.i3.i540, i32 noundef 3, ptr noundef nonnull @.str.289, i32 noundef %.pre599, i32 noundef %207, i32 noundef %213, i32 noundef %214, i32 noundef %215, i32 noundef %div525), !range !17 - %.pre600 = load i32, ptr %pConfig, align 8 - %cmp537 = icmp eq i32 %.pre600, 3 + %call534 = call i32 (ptr, i32, ptr, ...) @ma_log_postf(ptr noundef %retval.0.i3.i540, i32 noundef 3, ptr noundef nonnull @.str.289, i32 noundef %.pre596, i32 noundef %207, i32 noundef %213, i32 noundef %214, i32 noundef %215, i32 noundef %div525), !range !17 + %.pre597 = load i32, ptr %pConfig, align 8 + %cmp537 = icmp eq i32 %.pre597, 3 br i1 %cmp537, label %if.then539, label %return if.then539: ; preds = %if.end535 @@ -112995,8 +112996,8 @@ ma_device_get_log.exit548: ; preds = %ma_device_get_conte %call570 = call i32 (ptr, i32, ptr, ...) @ma_log_postf(ptr noundef %retval.0.i3.i547, i32 noundef 1, ptr noundef nonnull @.str.290, ptr noundef nonnull %call569), !range !17 br label %on_error4 -on_error4: ; preds = %ma_device_get_log.exit548, %switch.lookup620, %switch.lookup610 - %result.0 = phi i32 [ -1, %switch.lookup610 ], [ -1, %switch.lookup620 ], [ %call564, %ma_device_get_log.exit548 ] +on_error4: ; preds = %ma_device_get_log.exit548, %switch.lookup616, %switch.lookup606 + %result.0 = phi i32 [ -1, %switch.lookup606 ], [ -1, %switch.lookup616 ], [ %call564, %ma_device_get_log.exit548 ] %223 = load i32, ptr %pConfig, align 8 switch i32 %223, label %on_error3 [ i32 1, label %if.then580 @@ -113012,15 +113013,15 @@ if.then580: ; preds = %on_error4, %on_erro %call583 = call i32 %225(ptr noundef %226) #65 br label %on_error3thread-pre-split -switch.lookup613: ; preds = %ma_device_get_log.exit487 - %switch.tableidx614 = add nsw i32 %call390, -1 - %227 = sext i32 %switch.tableidx614 to i64 - %switch.gep615 = getelementptr inbounds [5 x i32], ptr @switch.table.ma_device_init__pulse.57, i64 0, i64 %227 - %switch.load616 = load i32, ptr %switch.gep615, align 4 +switch.lookup609: ; preds = %ma_device_get_log.exit487 + %switch.tableidx610 = add nsw i32 %call390, -1 + %227 = sext i32 %switch.tableidx610 to i64 + %switch.gep611 = getelementptr inbounds [5 x i32], ptr @switch.table.ma_device_init__pulse.57, i64 0, i64 %227 + %switch.load612 = load i32, ptr %switch.gep611, align 4 br label %on_error3thread-pre-split -on_error3thread-pre-split: ; preds = %switch.lookup613, %if.end397, %if.then580, %ma_device_get_log.exit487 - %result.1.ph = phi i32 [ -1, %ma_device_get_log.exit487 ], [ %call401, %if.end397 ], [ %result.0, %if.then580 ], [ %switch.load616, %switch.lookup613 ] +on_error3thread-pre-split: ; preds = %switch.lookup609, %if.end397, %if.then580, %ma_device_get_log.exit487 + %result.1.ph = phi i32 [ -1, %ma_device_get_log.exit487 ], [ %call401, %if.end397 ], [ %result.0, %if.then580 ], [ %switch.load612, %switch.lookup609 ] %.pr583 = load i32, ptr %pConfig, align 8 br label %on_error3 @@ -113057,15 +113058,15 @@ if.then603: ; preds = %on_error2 %call607 = call i32 %235(ptr noundef %236) #65 br label %on_error1 -switch.lookup604: ; preds = %ma_device_get_log.exit353 +switch.lookup600: ; preds = %ma_device_get_log.exit353 %switch.tableidx = add nsw i32 %call145, -1 %237 = sext i32 %switch.tableidx to i64 - %switch.gep605 = getelementptr inbounds [5 x i32], ptr @switch.table.ma_device_init__pulse.57, i64 0, i64 %237 - %switch.load606 = load i32, ptr %switch.gep605, align 4 + %switch.gep601 = getelementptr inbounds [5 x i32], ptr @switch.table.ma_device_init__pulse.57, i64 0, i64 %237 + %switch.load602 = load i32, ptr %switch.gep601, align 4 br label %on_error1 -on_error1: ; preds = %switch.lookup604, %ma_device_get_log.exit353, %on_error2, %if.then603 - %result.3 = phi i32 [ %result.2, %if.then603 ], [ %result.2, %on_error2 ], [ -1, %ma_device_get_log.exit353 ], [ %switch.load606, %switch.lookup604 ] +on_error1: ; preds = %switch.lookup600, %ma_device_get_log.exit353, %on_error2, %if.then603 + %result.3 = phi i32 [ %result.2, %if.then603 ], [ %result.2, %on_error2 ], [ -1, %ma_device_get_log.exit353 ], [ %switch.load602, %switch.lookup600 ] %238 = load i32, ptr %pConfig, align 8 %239 = and i32 %238, -2 %switch267 = icmp eq i32 %239, 2 diff --git a/bench/nghttp2/optimized/llhttp.c.ll b/bench/nghttp2/optimized/llhttp.c.ll index 3476611905e..e2654a67125 100644 --- a/bench/nghttp2/optimized/llhttp.c.ll +++ b/bench/nghttp2/optimized/llhttp.c.ll @@ -278,8 +278,8 @@ if.end: ; preds = %entry br i1 %cmp2, label %if.then3, label %if.else if.then3: ; preds = %if.end - %conv = zext nneg i32 %match to i64 - %sub = xor i64 %conv, -1 + %1 = xor i32 %match, -1 + %sub = sext i32 %1 to i64 %cmp5 = icmp ugt i64 %mul, %sub br i1 %cmp5, label %return, label %if.then3.if.end16_crit_edge @@ -538,8 +538,8 @@ if.end: ; preds = %entry br i1 %cmp2, label %if.then3, label %if.else if.then3: ; preds = %if.end - %conv = zext nneg i32 %match to i64 - %sub = xor i64 %conv, -1 + %1 = xor i32 %match, -1 + %sub = sext i32 %1 to i64 %cmp5 = icmp ugt i64 %mul, %sub br i1 %cmp5, label %return, label %if.then3.if.end16_crit_edge @@ -1054,69 +1054,69 @@ entry: s_n_llhttp__internal__n_start.preheader: ; preds = %s_n_llhttp__internal__n_invoke_update_initial_message_completed, %entry %p.addr.225.ph = phi ptr [ %p.addr.1, %s_n_llhttp__internal__n_invoke_update_initial_message_completed ], [ %p, %entry ] - %cmp26735248 = icmp eq ptr %p.addr.225.ph, %endp - br i1 %cmp26735248, label %return, label %if.end2676 + %cmp26735246 = icmp eq ptr %p.addr.225.ph, %endp + br i1 %cmp26735246, label %return, label %if.end2676 s_n_llhttp__internal__n_res_status.preheader: ; preds = %if.end2366, %entry %p.addr.197.ph = phi ptr [ %p, %entry ], [ %p.addr.198, %if.end2366 ] - %cmp23535250 = icmp eq ptr %p.addr.197.ph, %endp - br i1 %cmp23535250, label %return, label %if.end2356 + %cmp23535248 = icmp eq ptr %p.addr.197.ph, %endp + br i1 %cmp23535248, label %return, label %if.end2356 s_n_llhttp__internal__n_req_spaces_before_url.preheader: ; preds = %sw.bb1368, %entry %p.addr.122.ph = phi ptr [ %p, %entry ], [ %incdec.ptr1369, %sw.bb1368 ] - %cmp13545252 = icmp eq ptr %p.addr.122.ph, %endp - br i1 %cmp13545252, label %return, label %if.end1357 + %cmp13545250 = icmp eq ptr %p.addr.122.ph, %endp + br i1 %cmp13545250, label %return, label %if.end1357 s_n_llhttp__internal__n_url_server.preheader: ; preds = %sw.bb1227, %sw.bb1262, %if.end1339, %entry %p.addr.112.ph = phi ptr [ %p, %entry ], [ %p.addr.120, %if.end1339 ], [ %incdec.ptr1228, %sw.bb1227 ], [ %incdec.ptr1263, %sw.bb1262 ] - %cmp12365256 = icmp eq ptr %p.addr.112.ph, %endp - br i1 %cmp12365256, label %return, label %if.end1239 + %cmp12365254 = icmp eq ptr %p.addr.112.ph, %endp + br i1 %cmp12365254, label %return, label %if.end1239 s_n_llhttp__internal__n_url_path.preheader: ; preds = %if.end1200, %if.end1206, %if.end1212, %entry %p.addr.107.ph = phi ptr [ %p, %entry ], [ %incdec.ptr1201, %if.end1200 ], [ %incdec.ptr1207, %if.end1206 ], [ %incdec.ptr1213, %if.end1212 ] - %cmp11845258 = icmp eq ptr %p.addr.107.ph, %endp - br i1 %cmp11845258, label %return, label %if.end1187 + %cmp11845256 = icmp eq ptr %p.addr.107.ph, %endp + br i1 %cmp11845256, label %return, label %if.end1187 s_n_llhttp__internal__n_url_query.preheader: ; preds = %sw.bb1180, %sw.bb1230, %sw.bb1251, %entry %p.addr.105.ph = phi ptr [ %p, %entry ], [ %incdec.ptr1252, %sw.bb1251 ], [ %incdec.ptr1181, %sw.bb1180 ], [ %incdec.ptr1231, %sw.bb1230 ] - %cmp11495260 = icmp eq ptr %p.addr.105.ph, %endp - br i1 %cmp11495260, label %return, label %if.end1152 + %cmp11495258 = icmp eq ptr %p.addr.105.ph, %endp + br i1 %cmp11495258, label %return, label %if.end1152 s_n_llhttp__internal__n_url_fragment.preheader: ; preds = %if.end1146, %sw.bb1178, %entry %p.addr.103.ph = phi ptr [ %p, %entry ], [ %incdec.ptr1179, %sw.bb1178 ], [ %incdec.ptr1147, %if.end1146 ] - %cmp11275262 = icmp eq ptr %p.addr.103.ph, %endp - br i1 %cmp11275262, label %return, label %if.end1130 + %cmp11275260 = icmp eq ptr %p.addr.103.ph, %endp + br i1 %cmp11275260, label %return, label %if.end1130 s_n_llhttp__internal__n_chunk_extension_name.preheader: ; preds = %if.end149, %entry %p.addr.20.ph = phi ptr [ %p, %entry ], [ %p.addr.21, %if.end149 ] - %cmp1325266 = icmp eq ptr %p.addr.20.ph, %endp - br i1 %cmp1325266, label %return, label %if.end135 + %cmp1325264 = icmp eq ptr %p.addr.20.ph, %endp + br i1 %cmp1325264, label %return, label %if.end135 s_n_llhttp__internal__n_chunk_extension_quoted_value.preheader: ; preds = %sw.bb115, %entry %p.addr.14.ph = phi ptr [ %p, %entry ], [ %incdec.ptr116, %sw.bb115 ] - %cmp845270 = icmp eq ptr %p.addr.14.ph, %endp - br i1 %cmp845270, label %return, label %if.end87 + %cmp845268 = icmp eq ptr %p.addr.14.ph, %endp + br i1 %cmp845268, label %return, label %if.end87 s_n_llhttp__internal__n_header_field_general.preheader.sink.split: ; preds = %if.end731, %if.end815, %s_n_llhttp__internal__n_invoke_update_header_state_11.sink.split, %if.end692 %p.addr.67.ph.ph = phi ptr [ %p.addr.68, %if.end692 ], [ %p.addr.76, %if.end815 ], [ %p.addr.71, %if.end731 ], [ %p.addr.235.ph, %s_n_llhttp__internal__n_invoke_update_header_state_11.sink.split ] - %header_state.i4209 = getelementptr inbounds i8, ptr %state, i64 76 - store i8 0, ptr %header_state.i4209, align 4 + %header_state.i4207 = getelementptr inbounds i8, ptr %state, i64 76 + store i8 0, ptr %header_state.i4207, align 4 br label %s_n_llhttp__internal__n_header_field_general.preheader s_n_llhttp__internal__n_header_field_general.preheader: ; preds = %s_n_llhttp__internal__n_header_field_general.preheader.sink.split, %entry %p.addr.67.ph = phi ptr [ %p, %entry ], [ %p.addr.67.ph.ph, %s_n_llhttp__internal__n_header_field_general.preheader.sink.split ] - %cmp6785274 = icmp eq ptr %p.addr.67.ph, %endp - br i1 %cmp6785274, label %return, label %if.end681 + %cmp6785272 = icmp eq ptr %p.addr.67.ph, %endp + br i1 %cmp6785272, label %return, label %if.end681 s_n_llhttp__internal__n_header_value_te_chunked_last.preheader: ; preds = %sw.bb637, %entry %p.addr.61.ph = phi ptr [ %p, %entry ], [ %incdec.ptr638, %sw.bb637 ] - %cmp6165278 = icmp eq ptr %p.addr.61.ph, %endp - br i1 %cmp6165278, label %return, label %if.end619 + %cmp6165276 = icmp eq ptr %p.addr.61.ph, %endp + br i1 %cmp6165276, label %return, label %if.end619 s_n_llhttp__internal__n_header_value_te_token_ows.preheader: ; preds = %sw.bb612, %entry %p.addr.58.ph = phi ptr [ %p, %entry ], [ %incdec.ptr613, %sw.bb612 ] - %cmp5815282 = icmp eq ptr %p.addr.58.ph, %endp - br i1 %cmp5815282, label %return, label %if.end584 + %cmp5815280 = icmp eq ptr %p.addr.58.ph, %endp + br i1 %cmp5815280, label %return, label %if.end584 s_n_llhttp__internal__n_header_value_connection_ws.preheader.sink.split: ; preds = %if.then.i2808, %if.then.i2781, %if.then.i2756 %scevgep25.i.sink = phi ptr [ %scevgep25.i, %if.then.i2756 ], [ %scevgep25.i2767, %if.then.i2781 ], [ %scevgep25.i2794, %if.then.i2808 ] @@ -1129,22 +1129,22 @@ s_n_llhttp__internal__n_header_value_connection_ws.preheader.sink.split: ; preds s_n_llhttp__internal__n_header_value_connection_ws.preheader: ; preds = %s_n_llhttp__internal__n_header_value_connection_ws.preheader.sink.split, %entry %p.addr.47.ph = phi ptr [ %p, %entry ], [ %incdec.ptr464, %s_n_llhttp__internal__n_header_value_connection_ws.preheader.sink.split ] - %cmp4415290 = icmp eq ptr %p.addr.47.ph, %endp - br i1 %cmp4415290, label %return, label %if.end444 + %cmp4415288 = icmp eq ptr %p.addr.47.ph, %endp + br i1 %cmp4415288, label %return, label %if.end444 s_n_llhttp__internal__n_closed.preheader: ; preds = %entry, %s_n_llhttp__internal__n_invoke_update_finish_1 %p.addr.0.ph = phi ptr [ %p, %entry ], [ %p.addr.1, %s_n_llhttp__internal__n_invoke_update_finish_1 ] - %cmp5298 = icmp eq ptr %p.addr.0.ph, %endp - br i1 %cmp5298, label %return, label %if.end.lr.ph + %cmp5296 = icmp eq ptr %p.addr.0.ph, %endp + br i1 %cmp5296, label %return, label %if.end.lr.ph if.end.lr.ph: ; preds = %s_n_llhttp__internal__n_closed.preheader %lenient_flags.i = getelementptr inbounds i8, ptr %state, i64 77 br label %if.end if.end: ; preds = %if.end.lr.ph, %s_n_llhttp__internal__n_closed.backedge - %p.addr.05299 = phi ptr [ %p.addr.0.ph, %if.end.lr.ph ], [ %incdec.ptr6, %s_n_llhttp__internal__n_closed.backedge ] - %2 = load i8, ptr %p.addr.05299, align 1 - %incdec.ptr6 = getelementptr inbounds i8, ptr %p.addr.05299, i64 1 + %p.addr.05297 = phi ptr [ %p.addr.0.ph, %if.end.lr.ph ], [ %incdec.ptr6, %s_n_llhttp__internal__n_closed.backedge ] + %2 = load i8, ptr %p.addr.05297, align 1 + %incdec.ptr6 = getelementptr inbounds i8, ptr %p.addr.05297, i64 1 switch i8 %2, label %sw.default [ i8 10, label %s_n_llhttp__internal__n_closed.backedge i8 13, label %s_n_llhttp__internal__n_closed.backedge @@ -1213,9 +1213,9 @@ if.then.i: ; preds = %for.body.i for.inc.i: ; preds = %if.then.i %incdec.ptr.i = getelementptr inbounds i8, ptr %p.addr.010.i, i64 1 %cmp.not.i = icmp eq ptr %incdec.ptr.i, %endp - br i1 %cmp.not.i, label %llparse__match_sequence_id.exit.thread4291, label %for.body.i, !llvm.loop !4 + br i1 %cmp.not.i, label %llparse__match_sequence_id.exit.thread4289, label %for.body.i, !llvm.loop !4 -llparse__match_sequence_id.exit.thread4291: ; preds = %for.inc.i +llparse__match_sequence_id.exit.thread4289: ; preds = %for.inc.i store i32 %11, ptr %state, align 8 br label %return @@ -1349,8 +1349,8 @@ s_n_llhttp__internal__n_error_21: ; preds = %entry, %if.end2882 br label %return if.end87: ; preds = %s_n_llhttp__internal__n_chunk_extension_quoted_value.preheader, %sw.bb89 - %p.addr.145271 = phi ptr [ %incdec.ptr90, %sw.bb89 ], [ %p.addr.14.ph, %s_n_llhttp__internal__n_chunk_extension_quoted_value.preheader ] - %19 = load i8, ptr %p.addr.145271, align 1 + %p.addr.145269 = phi ptr [ %incdec.ptr90, %sw.bb89 ], [ %p.addr.14.ph, %s_n_llhttp__internal__n_chunk_extension_quoted_value.preheader ] + %19 = load i8, ptr %p.addr.145269, align 1 %idxprom = zext i8 %19 to i64 %arrayidx = getelementptr inbounds [256 x i8], ptr @llhttp__internal__run.lookup_table, i64 0, i64 %idxprom %20 = load i8, ptr %arrayidx, align 1 @@ -1360,12 +1360,12 @@ if.end87: ; preds = %s_n_llhttp__interna ] sw.bb89: ; preds = %if.end87 - %incdec.ptr90 = getelementptr inbounds i8, ptr %p.addr.145271, i64 1 + %incdec.ptr90 = getelementptr inbounds i8, ptr %p.addr.145269, i64 1 %cmp84 = icmp eq ptr %incdec.ptr90, %endp br i1 %cmp84, label %return, label %if.end87 sw.bb91: ; preds = %if.end87 - %incdec.ptr92 = getelementptr inbounds i8, ptr %p.addr.145271, i64 1 + %incdec.ptr92 = getelementptr inbounds i8, ptr %p.addr.145269, i64 1 %_span_pos02860 = getelementptr inbounds i8, ptr %state, i64 8 %21 = load ptr, ptr %_span_pos02860, align 8 store ptr null, ptr %_span_pos02860, align 8 @@ -1393,8 +1393,8 @@ s_n_llhttp__internal__n_error_23: ; preds = %entry, %if.end2918 br label %return if.end108: ; preds = %s_n_llhttp__internal__n_chunk_extension_value.preheader, %sw.bb113 - %p.addr.175269 = phi ptr [ %incdec.ptr114, %sw.bb113 ], [ %p.addr.17.ph, %s_n_llhttp__internal__n_chunk_extension_value.preheader ] - %22 = load i8, ptr %p.addr.175269, align 1 + %p.addr.175267 = phi ptr [ %incdec.ptr114, %sw.bb113 ], [ %p.addr.17.ph, %s_n_llhttp__internal__n_chunk_extension_value.preheader ] + %22 = load i8, ptr %p.addr.175267, align 1 %idxprom109 = zext i8 %22 to i64 %arrayidx110 = getelementptr inbounds [256 x i8], ptr @llhttp__internal__run.lookup_table.3, i64 0, i64 %idxprom109 %23 = load i8, ptr %arrayidx110, align 1 @@ -1406,12 +1406,12 @@ if.end108: ; preds = %s_n_llhttp__interna ] sw.bb113: ; preds = %if.end108 - %incdec.ptr114 = getelementptr inbounds i8, ptr %p.addr.175269, i64 1 + %incdec.ptr114 = getelementptr inbounds i8, ptr %p.addr.175267, i64 1 %cmp105 = icmp eq ptr %incdec.ptr114, %endp br i1 %cmp105, label %return, label %if.end108 sw.bb115: ; preds = %if.end108 - %incdec.ptr116 = getelementptr inbounds i8, ptr %p.addr.175269, i64 1 + %incdec.ptr116 = getelementptr inbounds i8, ptr %p.addr.175267, i64 1 br label %s_n_llhttp__internal__n_chunk_extension_quoted_value.preheader s_n_llhttp__internal__n_span_start_llhttp__on_chunk_extension_value: ; preds = %entry, %if.end2944 @@ -1432,8 +1432,8 @@ if.end123: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_chunk_extension_value.preheader: ; preds = %entry, %if.end123 %p.addr.17.ph = phi ptr [ %p, %entry ], [ %p.addr.18, %if.end123 ] - %cmp1055268 = icmp eq ptr %p.addr.17.ph, %endp - br i1 %cmp1055268, label %return, label %if.end108 + %cmp1055266 = icmp eq ptr %p.addr.17.ph, %endp + br i1 %cmp1055266, label %return, label %if.end108 s_n_llhttp__internal__n_error_24: ; preds = %entry, %if.end2958 %p.addr.19 = phi ptr [ %incdec.ptr2959, %if.end2958 ], [ %p, %entry ] @@ -1447,8 +1447,8 @@ s_n_llhttp__internal__n_error_24: ; preds = %entry, %if.end2958 br label %return if.end135: ; preds = %s_n_llhttp__internal__n_chunk_extension_name.preheader, %sw.bb140 - %p.addr.205267 = phi ptr [ %incdec.ptr141, %sw.bb140 ], [ %p.addr.20.ph, %s_n_llhttp__internal__n_chunk_extension_name.preheader ] - %24 = load i8, ptr %p.addr.205267, align 1 + %p.addr.205265 = phi ptr [ %incdec.ptr141, %sw.bb140 ], [ %p.addr.20.ph, %s_n_llhttp__internal__n_chunk_extension_name.preheader ] + %24 = load i8, ptr %p.addr.205265, align 1 %idxprom136 = zext i8 %24 to i64 %arrayidx137 = getelementptr inbounds [256 x i8], ptr @llhttp__internal__run.lookup_table.5, i64 0, i64 %idxprom136 %25 = load i8, ptr %arrayidx137, align 1 @@ -1460,7 +1460,7 @@ if.end135: ; preds = %s_n_llhttp__interna ] sw.bb140: ; preds = %if.end135 - %incdec.ptr141 = getelementptr inbounds i8, ptr %p.addr.205267, i64 1 + %incdec.ptr141 = getelementptr inbounds i8, ptr %p.addr.205265, i64 1 %cmp132 = icmp eq ptr %incdec.ptr141, %endp br i1 %cmp132, label %return, label %if.end135 @@ -1791,9 +1791,9 @@ if.end320: ; preds = %s_n_llhttp__interna br label %return s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete.sink.split: ; preds = %s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete, %sw.bb3045 - %33 = load i16, ptr %flags.i4133, align 8 + %33 = load i16, ptr %flags.i4132, align 8 %34 = or i16 %33, 64 - store i16 %34, ptr %flags.i4133, align 8 + store i16 %34, ptr %flags.i4132, align 8 br label %s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete: ; preds = %s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete.sink.split, %s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete, %sw.bb852, %entry @@ -1833,13 +1833,13 @@ sw.bb342: ; preds = %if.end340 br label %s_n_llhttp__internal__n_invoke_test_flags if.end349: ; preds = %s_n_llhttp__internal__n_header_field_colon_discard_ws.preheader, %sw.bb351 - %p.addr.365273 = phi ptr [ %incdec.ptr352, %sw.bb351 ], [ %p.addr.36.ph, %s_n_llhttp__internal__n_header_field_colon_discard_ws.preheader ] - %36 = load i8, ptr %p.addr.365273, align 1 + %p.addr.365271 = phi ptr [ %incdec.ptr352, %sw.bb351 ], [ %p.addr.36.ph, %s_n_llhttp__internal__n_header_field_colon_discard_ws.preheader ] + %36 = load i8, ptr %p.addr.365271, align 1 %cond45 = icmp eq i8 %36, 32 br i1 %cond45, label %sw.bb351, label %s_n_llhttp__internal__n_header_field_colon sw.bb351: ; preds = %if.end349 - %incdec.ptr352 = getelementptr inbounds i8, ptr %p.addr.365273, i64 1 + %incdec.ptr352 = getelementptr inbounds i8, ptr %p.addr.365271, i64 1 %cmp346 = icmp eq ptr %incdec.ptr352, %endp br i1 %cmp346, label %return, label %if.end349 @@ -1904,7 +1904,7 @@ if.end390: ; preds = %s_n_llhttp__interna ] s_n_llhttp__internal__n_header_value_almost_done: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3, %entry, %if.end3210, %if.end3184 - %p.addr.42 = phi ptr [ %incdec.ptr3185, %if.end3184 ], [ %incdec.ptr3211, %if.end3210 ], [ %p.addr.435297, %s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3 ], [ %p, %entry ] + %p.addr.42 = phi ptr [ %incdec.ptr3185, %if.end3184 ], [ %incdec.ptr3211, %if.end3210 ], [ %p.addr.435295, %s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3 ], [ %p, %entry ] %cmp396 = icmp eq ptr %p.addr.42, %endp br i1 %cmp396, label %return, label %if.end399 @@ -1918,15 +1918,15 @@ sw.bb401: ; preds = %if.end399 br label %s_n_llhttp__internal__n_header_value_lws if.end408: ; preds = %s_n_llhttp__internal__n_header_value_lenient.preheader, %sw.default412 - %p.addr.435297 = phi ptr [ %incdec.ptr413, %sw.default412 ], [ %p.addr.43.ph, %s_n_llhttp__internal__n_header_value_lenient.preheader ] - %41 = load i8, ptr %p.addr.435297, align 1 + %p.addr.435295 = phi ptr [ %incdec.ptr413, %sw.default412 ], [ %p.addr.43.ph, %s_n_llhttp__internal__n_header_value_lenient.preheader ] + %41 = load i8, ptr %p.addr.435295, align 1 switch i8 %41, label %sw.default412 [ i8 10, label %s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3 i8 13, label %s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4 ] sw.default412: ; preds = %if.end408 - %incdec.ptr413 = getelementptr inbounds i8, ptr %p.addr.435297, i64 1 + %incdec.ptr413 = getelementptr inbounds i8, ptr %p.addr.435295, i64 1 %cmp405 = icmp eq ptr %incdec.ptr413, %endp br i1 %cmp405, label %return, label %if.end408 @@ -1942,7 +1942,7 @@ s_n_llhttp__internal__n_error_41: ; preds = %sw.default3226, %en br label %return s_n_llhttp__internal__n_header_value_otherwise: ; preds = %if.end444, %if.end444, %if.end431, %if.end595, %entry, %s_n_llhttp__internal__n_invoke_update_header_state_8, %s_n_llhttp__internal__n_invoke_or_flags_15 - %p.addr.45 = phi ptr [ %p.addr.615279, %s_n_llhttp__internal__n_invoke_update_header_state_8 ], [ %p.addr.545287, %s_n_llhttp__internal__n_invoke_or_flags_15 ], [ %p, %entry ], [ %p.addr.595295, %if.end595 ], [ %p.addr.465293, %if.end431 ], [ %p.addr.475291, %if.end444 ], [ %p.addr.475291, %if.end444 ] + %p.addr.45 = phi ptr [ %p.addr.615277, %s_n_llhttp__internal__n_invoke_update_header_state_8 ], [ %p.addr.545285, %s_n_llhttp__internal__n_invoke_or_flags_15 ], [ %p, %entry ], [ %p.addr.595293, %if.end595 ], [ %p.addr.465291, %if.end431 ], [ %p.addr.475289, %if.end444 ], [ %p.addr.475289, %if.end444 ] %cmp420 = icmp eq ptr %p.addr.45, %endp br i1 %cmp420, label %return, label %if.end423 @@ -1952,8 +1952,8 @@ if.end423: ; preds = %s_n_llhttp__interna br i1 %cond33, label %s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1, label %s_n_llhttp__internal__n_invoke_test_lenient_flags_12 if.end431: ; preds = %s_n_llhttp__internal__n_header_value_connection_token.preheader, %sw.bb435 - %p.addr.465293 = phi ptr [ %incdec.ptr436, %sw.bb435 ], [ %p.addr.46.ph, %s_n_llhttp__internal__n_header_value_connection_token.preheader ] - %43 = load i8, ptr %p.addr.465293, align 1 + %p.addr.465291 = phi ptr [ %incdec.ptr436, %sw.bb435 ], [ %p.addr.46.ph, %s_n_llhttp__internal__n_header_value_connection_token.preheader ] + %43 = load i8, ptr %p.addr.465291, align 1 %idxprom432 = zext i8 %43 to i64 %arrayidx433 = getelementptr inbounds [256 x i8], ptr @llhttp__internal__run.lookup_table.13, i64 0, i64 %idxprom432 %44 = load i8, ptr %arrayidx433, align 1 @@ -1963,17 +1963,17 @@ if.end431: ; preds = %s_n_llhttp__interna ] sw.bb435: ; preds = %if.end431 - %incdec.ptr436 = getelementptr inbounds i8, ptr %p.addr.465293, i64 1 + %incdec.ptr436 = getelementptr inbounds i8, ptr %p.addr.465291, i64 1 %cmp428 = icmp eq ptr %incdec.ptr436, %endp br i1 %cmp428, label %return, label %if.end431 sw.bb437: ; preds = %if.end431 - %incdec.ptr438 = getelementptr inbounds i8, ptr %p.addr.465293, i64 1 + %incdec.ptr438 = getelementptr inbounds i8, ptr %p.addr.465291, i64 1 br label %s_n_llhttp__internal__n_header_value_connection.preheader if.end444: ; preds = %s_n_llhttp__internal__n_header_value_connection_ws.preheader, %sw.bb448 - %p.addr.475291 = phi ptr [ %incdec.ptr449, %sw.bb448 ], [ %p.addr.47.ph, %s_n_llhttp__internal__n_header_value_connection_ws.preheader ] - %45 = load i8, ptr %p.addr.475291, align 1 + %p.addr.475289 = phi ptr [ %incdec.ptr449, %sw.bb448 ], [ %p.addr.47.ph, %s_n_llhttp__internal__n_header_value_connection_ws.preheader ] + %45 = load i8, ptr %p.addr.475289, align 1 switch i8 %45, label %s_n_llhttp__internal__n_invoke_update_header_state_5 [ i8 10, label %s_n_llhttp__internal__n_header_value_otherwise i8 13, label %s_n_llhttp__internal__n_header_value_otherwise @@ -1982,12 +1982,12 @@ if.end444: ; preds = %s_n_llhttp__interna ] sw.bb448: ; preds = %if.end444 - %incdec.ptr449 = getelementptr inbounds i8, ptr %p.addr.475291, i64 1 + %incdec.ptr449 = getelementptr inbounds i8, ptr %p.addr.475289, i64 1 %cmp441 = icmp eq ptr %incdec.ptr449, %endp br i1 %cmp441, label %return, label %if.end444 sw.bb450: ; preds = %if.end444 - %incdec.ptr451 = getelementptr inbounds i8, ptr %p.addr.475291, i64 1 + %incdec.ptr451 = getelementptr inbounds i8, ptr %p.addr.475289, i64 1 %header_state.i = getelementptr inbounds i8, ptr %state, i64 76 %46 = load i8, ptr %header_state.i, align 4 switch i8 %46, label %s_n_llhttp__internal__n_header_value_connection.preheader [ @@ -2037,9 +2037,9 @@ if.then.i2756: ; preds = %for.body.i2748 for.inc.i2758: ; preds = %if.then.i2756 %incdec.ptr.i2759 = getelementptr inbounds i8, ptr %p.addr.013.i, i64 1 %cmp.not.i2760 = icmp eq ptr %incdec.ptr.i2759, %endp - br i1 %cmp.not.i2760, label %llparse__match_sequence_to_lower.exit.thread4303, label %for.body.i2748, !llvm.loop !6 + br i1 %cmp.not.i2760, label %llparse__match_sequence_to_lower.exit.thread4301, label %for.body.i2748, !llvm.loop !6 -llparse__match_sequence_to_lower.exit.thread4303: ; preds = %for.inc.i2758 +llparse__match_sequence_to_lower.exit.thread4301: ; preds = %for.inc.i2758 store i32 %53, ptr %state, align 8 br label %return @@ -2087,9 +2087,9 @@ if.then.i2781: ; preds = %for.body.i2768 for.inc.i2784: ; preds = %if.then.i2781 %incdec.ptr.i2785 = getelementptr inbounds i8, ptr %p.addr.013.i2770, i64 1 %cmp.not.i2786 = icmp eq ptr %incdec.ptr.i2785, %endp - br i1 %cmp.not.i2786, label %llparse__match_sequence_to_lower.exit2787.thread4315, label %for.body.i2768, !llvm.loop !6 + br i1 %cmp.not.i2786, label %llparse__match_sequence_to_lower.exit2787.thread4313, label %for.body.i2768, !llvm.loop !6 -llparse__match_sequence_to_lower.exit2787.thread4315: ; preds = %for.inc.i2784 +llparse__match_sequence_to_lower.exit2787.thread4313: ; preds = %for.inc.i2784 store i32 %64, ptr %state, align 8 br label %return @@ -2137,9 +2137,9 @@ if.then.i2808: ; preds = %for.body.i2795 for.inc.i2811: ; preds = %if.then.i2808 %incdec.ptr.i2812 = getelementptr inbounds i8, ptr %p.addr.013.i2797, i64 1 %cmp.not.i2813 = icmp eq ptr %incdec.ptr.i2812, %endp - br i1 %cmp.not.i2813, label %llparse__match_sequence_to_lower.exit2814.thread4327, label %for.body.i2795, !llvm.loop !6 + br i1 %cmp.not.i2813, label %llparse__match_sequence_to_lower.exit2814.thread4325, label %for.body.i2795, !llvm.loop !6 -llparse__match_sequence_to_lower.exit2814.thread4327: ; preds = %for.inc.i2811 +llparse__match_sequence_to_lower.exit2814.thread4325: ; preds = %for.inc.i2811 store i32 %75, ptr %state, align 8 br label %return @@ -2148,13 +2148,13 @@ llparse__match_sequence_to_lower.exit2814: ; preds = %for.body.i2795 br label %s_n_llhttp__internal__n_header_value_connection_token.preheader s_n_llhttp__internal__n_header_value_connection_token.preheader: ; preds = %if.end502, %s_n_llhttp__internal__n_invoke_update_header_state_5, %entry, %llparse__match_sequence_to_lower.exit, %llparse__match_sequence_to_lower.exit2787, %llparse__match_sequence_to_lower.exit2814 - %p.addr.46.ph = phi ptr [ %p, %entry ], [ %p.addr.013.i, %llparse__match_sequence_to_lower.exit ], [ %p.addr.013.i2770, %llparse__match_sequence_to_lower.exit2787 ], [ %p.addr.475291, %s_n_llhttp__internal__n_invoke_update_header_state_5 ], [ %p.addr.013.i2797, %llparse__match_sequence_to_lower.exit2814 ], [ %p.addr.515289, %if.end502 ] - %cmp4285292 = icmp eq ptr %p.addr.46.ph, %endp - br i1 %cmp4285292, label %return, label %if.end431 + %p.addr.46.ph = phi ptr [ %p, %entry ], [ %p.addr.013.i, %llparse__match_sequence_to_lower.exit ], [ %p.addr.013.i2770, %llparse__match_sequence_to_lower.exit2787 ], [ %p.addr.475289, %s_n_llhttp__internal__n_invoke_update_header_state_5 ], [ %p.addr.013.i2797, %llparse__match_sequence_to_lower.exit2814 ], [ %p.addr.515287, %if.end502 ] + %cmp4285290 = icmp eq ptr %p.addr.46.ph, %endp + br i1 %cmp4285290, label %return, label %if.end431 if.end502: ; preds = %s_n_llhttp__internal__n_header_value_connection.preheader, %s_n_llhttp__internal__n_header_value_connection.backedge - %p.addr.515289 = phi ptr [ %p.addr.51.be, %s_n_llhttp__internal__n_header_value_connection.backedge ], [ %p.addr.51.ph, %s_n_llhttp__internal__n_header_value_connection.preheader ] - %80 = load i8, ptr %p.addr.515289, align 1 + %p.addr.515287 = phi ptr [ %p.addr.51.be, %s_n_llhttp__internal__n_header_value_connection.backedge ], [ %p.addr.51.ph, %s_n_llhttp__internal__n_header_value_connection.preheader ] + %80 = load i8, ptr %p.addr.515287, align 1 %81 = add i8 %80, -65 %or.cond = icmp ult i8 %81, 26 %82 = or i8 %80, 32 @@ -2168,20 +2168,20 @@ if.end502: ; preds = %s_n_llhttp__interna ] s_n_llhttp__internal__n_header_value_connection.backedge: ; preds = %if.end502, %if.end502 - %p.addr.51.be = getelementptr inbounds i8, ptr %p.addr.515289, i64 1 + %p.addr.51.be = getelementptr inbounds i8, ptr %p.addr.515287, i64 1 %cmp499 = icmp eq ptr %p.addr.51.be, %endp br i1 %cmp499, label %return, label %if.end502 sw.bb515: ; preds = %if.end502 - %incdec.ptr516 = getelementptr inbounds i8, ptr %p.addr.515289, i64 1 + %incdec.ptr516 = getelementptr inbounds i8, ptr %p.addr.515287, i64 1 br label %s_n_llhttp__internal__n_header_value_connection_1 sw.bb517: ; preds = %if.end502 - %incdec.ptr518 = getelementptr inbounds i8, ptr %p.addr.515289, i64 1 + %incdec.ptr518 = getelementptr inbounds i8, ptr %p.addr.515287, i64 1 br label %s_n_llhttp__internal__n_header_value_connection_2 sw.bb519: ; preds = %if.end502 - %incdec.ptr520 = getelementptr inbounds i8, ptr %p.addr.515289, i64 1 + %incdec.ptr520 = getelementptr inbounds i8, ptr %p.addr.515287, i64 1 br label %s_n_llhttp__internal__n_header_value_connection_3 s_n_llhttp__internal__n_error_43: ; preds = %sw.bb3264, %entry @@ -2196,7 +2196,7 @@ s_n_llhttp__internal__n_error_43: ; preds = %sw.bb3264, %entry br label %return s_n_llhttp__internal__n_error_44: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_header_value_6, %entry - %p.addr.53 = phi ptr [ %p.addr.545287, %s_n_llhttp__internal__n_span_end_llhttp__on_header_value_6 ], [ %p, %entry ] + %p.addr.53 = phi ptr [ %p.addr.545285, %s_n_llhttp__internal__n_span_end_llhttp__on_header_value_6 ], [ %p, %entry ] %error528 = getelementptr inbounds i8, ptr %state, i64 24 store i32 11, ptr %error528, align 8 %reason529 = getelementptr inbounds i8, ptr %state, i64 32 @@ -2207,8 +2207,8 @@ s_n_llhttp__internal__n_error_44: ; preds = %s_n_llhttp__interna br label %return if.end536: ; preds = %s_n_llhttp__internal__n_header_value_content_length_ws.preheader, %sw.bb540 - %p.addr.545287 = phi ptr [ %incdec.ptr541, %sw.bb540 ], [ %p.addr.54.ph, %s_n_llhttp__internal__n_header_value_content_length_ws.preheader ] - %83 = load i8, ptr %p.addr.545287, align 1 + %p.addr.545285 = phi ptr [ %incdec.ptr541, %sw.bb540 ], [ %p.addr.54.ph, %s_n_llhttp__internal__n_header_value_content_length_ws.preheader ] + %83 = load i8, ptr %p.addr.545285, align 1 switch i8 %83, label %s_n_llhttp__internal__n_span_end_llhttp__on_header_value_6 [ i8 10, label %s_n_llhttp__internal__n_invoke_or_flags_15 i8 13, label %s_n_llhttp__internal__n_invoke_or_flags_15 @@ -2216,21 +2216,21 @@ if.end536: ; preds = %s_n_llhttp__interna ] sw.bb540: ; preds = %if.end536 - %incdec.ptr541 = getelementptr inbounds i8, ptr %p.addr.545287, i64 1 + %incdec.ptr541 = getelementptr inbounds i8, ptr %p.addr.545285, i64 1 %cmp533 = icmp eq ptr %incdec.ptr541, %endp br i1 %cmp533, label %return, label %if.end536 if.end547: ; preds = %if.end547.lr.ph, %llhttp__internal__c_mul_add_content_length_1.exit - %p.addr.555285 = phi ptr [ %p.addr.55.ph, %if.end547.lr.ph ], [ %p.addr.232, %llhttp__internal__c_mul_add_content_length_1.exit ] - %84 = load i8, ptr %p.addr.555285, align 1 + %p.addr.555283 = phi ptr [ %p.addr.55.ph, %if.end547.lr.ph ], [ %p.addr.232, %llhttp__internal__c_mul_add_content_length_1.exit ] + %84 = load i8, ptr %p.addr.555283, align 1 %switch.tableidx = add i8 %84, -48 %85 = icmp ult i8 %switch.tableidx, 10 br i1 %85, label %switch.lookup, label %s_n_llhttp__internal__n_header_value_content_length_ws.preheader s_n_llhttp__internal__n_header_value_content_length_ws.preheader: ; preds = %if.end547, %entry - %p.addr.54.ph = phi ptr [ %p, %entry ], [ %p.addr.555285, %if.end547 ] - %cmp5335286 = icmp eq ptr %p.addr.54.ph, %endp - br i1 %cmp5335286, label %return, label %if.end536 + %p.addr.54.ph = phi ptr [ %p, %entry ], [ %p.addr.555283, %if.end547 ] + %cmp5335284 = icmp eq ptr %p.addr.54.ph, %endp + br i1 %cmp5335284, label %return, label %if.end536 s_n_llhttp__internal__n_error_46: ; preds = %entry, %if.end3299 %p.addr.56 = phi ptr [ %incdec.ptr3300, %if.end3299 ], [ %p, %entry ] @@ -2255,21 +2255,21 @@ s_n_llhttp__internal__n_error_45: ; preds = %entry, %if.end3315 br label %return if.end584: ; preds = %s_n_llhttp__internal__n_header_value_te_token_ows.preheader, %s_n_llhttp__internal__n_header_value_te_token_ows.backedge - %p.addr.585283 = phi ptr [ %p.addr.58.be, %s_n_llhttp__internal__n_header_value_te_token_ows.backedge ], [ %p.addr.58.ph, %s_n_llhttp__internal__n_header_value_te_token_ows.preheader ] - %86 = load i8, ptr %p.addr.585283, align 1 + %p.addr.585281 = phi ptr [ %p.addr.58.be, %s_n_llhttp__internal__n_header_value_te_token_ows.backedge ], [ %p.addr.58.ph, %s_n_llhttp__internal__n_header_value_te_token_ows.preheader ] + %86 = load i8, ptr %p.addr.585281, align 1 switch i8 %86, label %s_n_llhttp__internal__n_header_value_te_chunked [ i8 9, label %s_n_llhttp__internal__n_header_value_te_token_ows.backedge i8 32, label %s_n_llhttp__internal__n_header_value_te_token_ows.backedge ] s_n_llhttp__internal__n_header_value_te_token_ows.backedge: ; preds = %if.end584, %if.end584 - %p.addr.58.be = getelementptr inbounds i8, ptr %p.addr.585283, i64 1 + %p.addr.58.be = getelementptr inbounds i8, ptr %p.addr.585281, i64 1 %cmp581 = icmp eq ptr %p.addr.58.be, %endp br i1 %cmp581, label %return, label %if.end584 if.end595: ; preds = %s_n_llhttp__internal__n_header_value.preheader, %sw.bb599 - %p.addr.595295 = phi ptr [ %incdec.ptr600, %sw.bb599 ], [ %p.addr.59.ph, %s_n_llhttp__internal__n_header_value.preheader ] - %87 = load i8, ptr %p.addr.595295, align 1 + %p.addr.595293 = phi ptr [ %incdec.ptr600, %sw.bb599 ], [ %p.addr.59.ph, %s_n_llhttp__internal__n_header_value.preheader ] + %87 = load i8, ptr %p.addr.595293, align 1 %idxprom596 = zext i8 %87 to i64 %arrayidx597 = getelementptr inbounds [256 x i8], ptr @llhttp__internal__run.lookup_table.12, i64 0, i64 %idxprom596 %88 = load i8, ptr %arrayidx597, align 1 @@ -2277,13 +2277,13 @@ if.end595: ; preds = %s_n_llhttp__interna br i1 %cond32, label %sw.bb599, label %s_n_llhttp__internal__n_header_value_otherwise sw.bb599: ; preds = %if.end595 - %incdec.ptr600 = getelementptr inbounds i8, ptr %p.addr.595295, i64 1 + %incdec.ptr600 = getelementptr inbounds i8, ptr %p.addr.595293, i64 1 %cmp592 = icmp eq ptr %incdec.ptr600, %endp br i1 %cmp592, label %return, label %if.end595 if.end606: ; preds = %s_n_llhttp__internal__n_header_value_te_token.preheader, %sw.bb610 - %p.addr.605281 = phi ptr [ %incdec.ptr611, %sw.bb610 ], [ %p.addr.60.ph, %s_n_llhttp__internal__n_header_value_te_token.preheader ] - %89 = load i8, ptr %p.addr.605281, align 1 + %p.addr.605279 = phi ptr [ %incdec.ptr611, %sw.bb610 ], [ %p.addr.60.ph, %s_n_llhttp__internal__n_header_value_te_token.preheader ] + %89 = load i8, ptr %p.addr.605279, align 1 %idxprom607 = zext i8 %89 to i64 %arrayidx608 = getelementptr inbounds [256 x i8], ptr @llhttp__internal__run.lookup_table.13, i64 0, i64 %idxprom607 %90 = load i8, ptr %arrayidx608, align 1 @@ -2293,17 +2293,17 @@ if.end606: ; preds = %s_n_llhttp__interna ] sw.bb610: ; preds = %if.end606 - %incdec.ptr611 = getelementptr inbounds i8, ptr %p.addr.605281, i64 1 + %incdec.ptr611 = getelementptr inbounds i8, ptr %p.addr.605279, i64 1 %cmp603 = icmp eq ptr %incdec.ptr611, %endp br i1 %cmp603, label %return, label %if.end606 sw.bb612: ; preds = %if.end606 - %incdec.ptr613 = getelementptr inbounds i8, ptr %p.addr.605281, i64 1 + %incdec.ptr613 = getelementptr inbounds i8, ptr %p.addr.605279, i64 1 br label %s_n_llhttp__internal__n_header_value_te_token_ows.preheader if.end619: ; preds = %s_n_llhttp__internal__n_header_value_te_chunked_last.preheader, %sw.bb623 - %p.addr.615279 = phi ptr [ %incdec.ptr624, %sw.bb623 ], [ %p.addr.61.ph, %s_n_llhttp__internal__n_header_value_te_chunked_last.preheader ] - %91 = load i8, ptr %p.addr.615279, align 1 + %p.addr.615277 = phi ptr [ %incdec.ptr624, %sw.bb623 ], [ %p.addr.61.ph, %s_n_llhttp__internal__n_header_value_te_chunked_last.preheader ] + %91 = load i8, ptr %p.addr.615277, align 1 switch i8 %91, label %s_n_llhttp__internal__n_header_value_te_token.preheader [ i8 10, label %s_n_llhttp__internal__n_invoke_update_header_state_8 i8 13, label %s_n_llhttp__internal__n_invoke_update_header_state_8 @@ -2312,12 +2312,12 @@ if.end619: ; preds = %s_n_llhttp__interna ] sw.bb623: ; preds = %if.end619 - %incdec.ptr624 = getelementptr inbounds i8, ptr %p.addr.615279, i64 1 + %incdec.ptr624 = getelementptr inbounds i8, ptr %p.addr.615277, i64 1 %cmp616 = icmp eq ptr %incdec.ptr624, %endp br i1 %cmp616, label %return, label %if.end619 s_n_llhttp__internal__n_header_value_te_chunked: ; preds = %if.end584, %s_n_llhttp__internal__n_invoke_load_type_1, %sw.bb3321, %entry, %s_n_llhttp__internal__n_invoke_and_flags - %p.addr.62 = phi ptr [ %p.addr.63, %s_n_llhttp__internal__n_invoke_and_flags ], [ %p.addr.615279, %sw.bb3321 ], [ %p.addr.615279, %s_n_llhttp__internal__n_invoke_load_type_1 ], [ %p, %entry ], [ %p.addr.585283, %if.end584 ] + %p.addr.62 = phi ptr [ %p.addr.63, %s_n_llhttp__internal__n_invoke_and_flags ], [ %p.addr.615277, %sw.bb3321 ], [ %p.addr.615277, %s_n_llhttp__internal__n_invoke_load_type_1 ], [ %p, %entry ], [ %p.addr.585281, %if.end584 ] %cmp629 = icmp eq ptr %p.addr.62, %endp br i1 %cmp629, label %return, label %for.body.preheader.i2816 @@ -2353,9 +2353,9 @@ if.then.i2827: ; preds = %for.body.i2818 for.inc.i2829: ; preds = %if.then.i2827 %incdec.ptr.i2830 = getelementptr inbounds i8, ptr %p.addr.02.i, i64 1 %cmp.not.i2831 = icmp eq ptr %incdec.ptr.i2830, %endp - br i1 %cmp.not.i2831, label %llparse__match_sequence_to_lower_unsafe.exit.thread4339, label %for.body.i2818, !llvm.loop !7 + br i1 %cmp.not.i2831, label %llparse__match_sequence_to_lower_unsafe.exit.thread4337, label %for.body.i2818, !llvm.loop !7 -llparse__match_sequence_to_lower_unsafe.exit.thread4339: ; preds = %for.inc.i2829 +llparse__match_sequence_to_lower_unsafe.exit.thread4337: ; preds = %for.inc.i2829 store i32 %98, ptr %state, align 8 br label %return @@ -2364,9 +2364,9 @@ llparse__match_sequence_to_lower_unsafe.exit: ; preds = %for.body.i2818 br label %s_n_llhttp__internal__n_header_value_te_token.preheader s_n_llhttp__internal__n_header_value_te_token.preheader: ; preds = %if.end619, %entry, %llparse__match_sequence_to_lower_unsafe.exit - %p.addr.60.ph = phi ptr [ %p, %entry ], [ %p.addr.02.i, %llparse__match_sequence_to_lower_unsafe.exit ], [ %p.addr.615279, %if.end619 ] - %cmp6035280 = icmp eq ptr %p.addr.60.ph, %endp - br i1 %cmp6035280, label %return, label %if.end606 + %p.addr.60.ph = phi ptr [ %p, %entry ], [ %p.addr.02.i, %llparse__match_sequence_to_lower_unsafe.exit ], [ %p.addr.615277, %if.end619 ] + %cmp6035278 = icmp eq ptr %p.addr.60.ph, %endp + br i1 %cmp6035278, label %return, label %if.end606 sw.bb637: ; preds = %if.then.i2827 store i32 0, ptr %state, align 8 @@ -2374,7 +2374,7 @@ sw.bb637: ; preds = %if.then.i2827 br label %s_n_llhttp__internal__n_header_value_te_chunked_last.preheader s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1: ; preds = %if.end653, %s_n_llhttp__internal__n_invoke_load_header_state_3, %entry, %sw.bb3150 - %p.addr.63 = phi ptr [ %p.addr.41, %sw.bb3150 ], [ %p.addr.41, %s_n_llhttp__internal__n_invoke_load_header_state_3 ], [ %p, %entry ], [ %p.addr.645277, %if.end653 ] + %p.addr.63 = phi ptr [ %p.addr.41, %sw.bb3150 ], [ %p.addr.41, %s_n_llhttp__internal__n_invoke_load_header_state_3 ], [ %p, %entry ], [ %p.addr.645275, %if.end653 ] %cmp643 = icmp eq ptr %p.addr.63, %endp br i1 %cmp643, label %return, label %if.end646 @@ -2394,17 +2394,17 @@ if.end646: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_header_value_connection.preheader: ; preds = %sw.bb437, %s_n_llhttp__internal__n_invoke_update_header_state_4, %sw.bb3241, %entry, %sw.bb450, %if.end646 %p.addr.51.ph = phi ptr [ %p, %entry ], [ %incdec.ptr451, %s_n_llhttp__internal__n_invoke_update_header_state_4 ], [ %incdec.ptr451, %sw.bb3241 ], [ %incdec.ptr451, %sw.bb450 ], [ %incdec.ptr438, %sw.bb437 ], [ %p.addr.63, %if.end646 ] - %cmp4995288 = icmp eq ptr %p.addr.51.ph, %endp - br i1 %cmp4995288, label %return, label %if.end502 + %cmp4995286 = icmp eq ptr %p.addr.51.ph, %endp + br i1 %cmp4995286, label %return, label %if.end502 s_n_llhttp__internal__n_header_value.preheader: ; preds = %s_n_llhttp__internal__n_invoke_update_header_state_9, %entry, %if.end646 %p.addr.59.ph = phi ptr [ %p, %entry ], [ %p.addr.233, %s_n_llhttp__internal__n_invoke_update_header_state_9 ], [ %p.addr.63, %if.end646 ] - %cmp5925294 = icmp eq ptr %p.addr.59.ph, %endp - br i1 %cmp5925294, label %return, label %if.end595 + %cmp5925292 = icmp eq ptr %p.addr.59.ph, %endp + br i1 %cmp5925292, label %return, label %if.end595 if.end653: ; preds = %s_n_llhttp__internal__n_header_value_discard_ws.preheader, %s_n_llhttp__internal__n_header_value_discard_ws.backedge - %p.addr.645277 = phi ptr [ %p.addr.64.be, %s_n_llhttp__internal__n_header_value_discard_ws.backedge ], [ %p.addr.64.ph, %s_n_llhttp__internal__n_header_value_discard_ws.preheader ] - %103 = load i8, ptr %p.addr.645277, align 1 + %p.addr.645275 = phi ptr [ %p.addr.64.be, %s_n_llhttp__internal__n_header_value_discard_ws.backedge ], [ %p.addr.64.ph, %s_n_llhttp__internal__n_header_value_discard_ws.preheader ] + %103 = load i8, ptr %p.addr.645275, align 1 switch i8 %103, label %s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1 [ i8 9, label %s_n_llhttp__internal__n_header_value_discard_ws.backedge i8 10, label %sw.bb657 @@ -2413,12 +2413,12 @@ if.end653: ; preds = %s_n_llhttp__interna ] s_n_llhttp__internal__n_header_value_discard_ws.backedge: ; preds = %if.end653, %if.end653 - %p.addr.64.be = getelementptr inbounds i8, ptr %p.addr.645277, i64 1 + %p.addr.64.be = getelementptr inbounds i8, ptr %p.addr.645275, i64 1 %cmp650 = icmp eq ptr %p.addr.64.be, %endp br i1 %cmp650, label %return, label %if.end653 sw.bb657: ; preds = %if.end653 - %incdec.ptr658 = getelementptr inbounds i8, ptr %p.addr.645277, i64 1 + %incdec.ptr658 = getelementptr inbounds i8, ptr %p.addr.645275, i64 1 %lenient_flags.i2834 = getelementptr inbounds i8, ptr %state, i64 77 %104 = load i8, ptr %lenient_flags.i2834, align 1 %105 = and i8 %104, 1 @@ -2426,7 +2426,7 @@ sw.bb657: ; preds = %if.end653 br i1 %cond31.not, label %sw.default3139, label %s_n_llhttp__internal__n_header_value_discard_lws sw.bb659: ; preds = %if.end653 - %incdec.ptr660 = getelementptr inbounds i8, ptr %p.addr.645277, i64 1 + %incdec.ptr660 = getelementptr inbounds i8, ptr %p.addr.645275, i64 1 br label %s_n_llhttp__internal__n_header_value_discard_ws_almost_done s_n_llhttp__internal__n_invoke_llhttp__on_header_field_complete: ; preds = %entry, %if.end3382, %if.end3368 @@ -2438,7 +2438,7 @@ s_n_llhttp__internal__n_invoke_llhttp__on_header_field_complete: ; preds = %entr ] s_n_llhttp__internal__n_header_field_general_otherwise: ; preds = %if.end681, %entry - %p.addr.66 = phi ptr [ %p, %entry ], [ %p.addr.675275, %if.end681 ] + %p.addr.66 = phi ptr [ %p, %entry ], [ %p.addr.675273, %if.end681 ] %cmp670 = icmp eq ptr %p.addr.66, %endp br i1 %cmp670, label %return, label %if.end673 @@ -2448,8 +2448,8 @@ if.end673: ; preds = %s_n_llhttp__interna br i1 %cond26, label %s_n_llhttp__internal__n_span_end_llhttp__on_header_field_2, label %s_n_llhttp__internal__n_error_47 if.end681: ; preds = %s_n_llhttp__internal__n_header_field_general.preheader, %sw.bb685 - %p.addr.675275 = phi ptr [ %incdec.ptr686, %sw.bb685 ], [ %p.addr.67.ph, %s_n_llhttp__internal__n_header_field_general.preheader ] - %107 = load i8, ptr %p.addr.675275, align 1 + %p.addr.675273 = phi ptr [ %incdec.ptr686, %sw.bb685 ], [ %p.addr.67.ph, %s_n_llhttp__internal__n_header_field_general.preheader ] + %107 = load i8, ptr %p.addr.675273, align 1 %idxprom682 = zext i8 %107 to i64 %arrayidx683 = getelementptr inbounds [256 x i8], ptr @llhttp__internal__run.lookup_table.14, i64 0, i64 %idxprom682 %108 = load i8, ptr %arrayidx683, align 1 @@ -2457,12 +2457,12 @@ if.end681: ; preds = %s_n_llhttp__interna br i1 %cond25, label %sw.bb685, label %s_n_llhttp__internal__n_header_field_general_otherwise sw.bb685: ; preds = %if.end681 - %incdec.ptr686 = getelementptr inbounds i8, ptr %p.addr.675275, i64 1 + %incdec.ptr686 = getelementptr inbounds i8, ptr %p.addr.675273, i64 1 %cmp678 = icmp eq ptr %incdec.ptr686, %endp br i1 %cmp678, label %return, label %if.end681 s_n_llhttp__internal__n_header_field_colon: ; preds = %if.end349, %entry, %s_n_llhttp__internal__n_invoke_store_header_state - %p.addr.68 = phi ptr [ %incdec.ptr807, %s_n_llhttp__internal__n_invoke_store_header_state ], [ %p, %entry ], [ %p.addr.365273, %if.end349 ] + %p.addr.68 = phi ptr [ %incdec.ptr807, %s_n_llhttp__internal__n_invoke_store_header_state ], [ %p, %entry ], [ %p.addr.365271, %if.end349 ] %cmp689 = icmp eq ptr %p.addr.68, %endp br i1 %cmp689, label %return, label %if.end692 @@ -2513,9 +2513,9 @@ if.then.i2855: ; preds = %for.body.i2842 for.inc.i2858: ; preds = %if.then.i2855 %incdec.ptr.i2859 = getelementptr inbounds i8, ptr %p.addr.013.i2844, i64 1 %cmp.not.i2860 = icmp eq ptr %incdec.ptr.i2859, %endp - br i1 %cmp.not.i2860, label %llparse__match_sequence_to_lower.exit2861.thread4351, label %for.body.i2842, !llvm.loop !6 + br i1 %cmp.not.i2860, label %llparse__match_sequence_to_lower.exit2861.thread4349, label %for.body.i2842, !llvm.loop !6 -llparse__match_sequence_to_lower.exit2861.thread4351: ; preds = %for.inc.i2858 +llparse__match_sequence_to_lower.exit2861.thread4349: ; preds = %for.inc.i2858 store i32 %116, ptr %state, align 8 br label %return @@ -2559,9 +2559,9 @@ if.then.i2881: ; preds = %for.body.i2868 for.inc.i2884: ; preds = %if.then.i2881 %incdec.ptr.i2885 = getelementptr inbounds i8, ptr %p.addr.013.i2870, i64 1 %cmp.not.i2886 = icmp eq ptr %incdec.ptr.i2885, %endp - br i1 %cmp.not.i2886, label %llparse__match_sequence_to_lower.exit2887.thread4363, label %for.body.i2868, !llvm.loop !6 + br i1 %cmp.not.i2886, label %llparse__match_sequence_to_lower.exit2887.thread4361, label %for.body.i2868, !llvm.loop !6 -llparse__match_sequence_to_lower.exit2887.thread4363: ; preds = %for.inc.i2884 +llparse__match_sequence_to_lower.exit2887.thread4361: ; preds = %for.inc.i2884 store i32 %127, ptr %state, align 8 br label %return @@ -2575,8 +2575,8 @@ if.end731: ; preds = %s_n_llhttp__interna %133 = add i8 %132, -65 %or.cond2738 = icmp ult i8 %133, 26 %134 = or i8 %132, 32 - %spec.select4979 = select i1 %or.cond2738, i8 %134, i8 %132 - switch i8 %spec.select4979, label %s_n_llhttp__internal__n_header_field_general.preheader.sink.split [ + %spec.select4977 = select i1 %or.cond2738, i8 %134, i8 %132 + switch i8 %spec.select4977, label %s_n_llhttp__internal__n_header_field_general.preheader.sink.split [ i8 110, label %sw.bb746 i8 116, label %sw.bb748 ] @@ -2629,9 +2629,9 @@ if.then.i2907: ; preds = %for.body.i2894 for.inc.i2910: ; preds = %if.then.i2907 %incdec.ptr.i2911 = getelementptr inbounds i8, ptr %p.addr.013.i2896, i64 1 %cmp.not.i2912 = icmp eq ptr %incdec.ptr.i2911, %endp - br i1 %cmp.not.i2912, label %llparse__match_sequence_to_lower.exit2913.thread4375, label %for.body.i2894, !llvm.loop !6 + br i1 %cmp.not.i2912, label %llparse__match_sequence_to_lower.exit2913.thread4373, label %for.body.i2894, !llvm.loop !6 -llparse__match_sequence_to_lower.exit2913.thread4375: ; preds = %for.inc.i2910 +llparse__match_sequence_to_lower.exit2913.thread4373: ; preds = %for.inc.i2910 store i32 %141, ptr %state, align 8 br label %return @@ -2680,9 +2680,9 @@ if.then.i2933: ; preds = %for.body.i2920 for.inc.i2936: ; preds = %if.then.i2933 %incdec.ptr.i2937 = getelementptr inbounds i8, ptr %p.addr.013.i2922, i64 1 %cmp.not.i2938 = icmp eq ptr %incdec.ptr.i2937, %endp - br i1 %cmp.not.i2938, label %llparse__match_sequence_to_lower.exit2939.thread4387, label %for.body.i2920, !llvm.loop !6 + br i1 %cmp.not.i2938, label %llparse__match_sequence_to_lower.exit2939.thread4385, label %for.body.i2920, !llvm.loop !6 -llparse__match_sequence_to_lower.exit2939.thread4387: ; preds = %for.inc.i2936 +llparse__match_sequence_to_lower.exit2939.thread4385: ; preds = %for.inc.i2936 store i32 %152, ptr %state, align 8 br label %return @@ -2726,9 +2726,9 @@ if.then.i2959: ; preds = %for.body.i2946 for.inc.i2962: ; preds = %if.then.i2959 %incdec.ptr.i2963 = getelementptr inbounds i8, ptr %p.addr.013.i2948, i64 1 %cmp.not.i2964 = icmp eq ptr %incdec.ptr.i2963, %endp - br i1 %cmp.not.i2964, label %llparse__match_sequence_to_lower.exit2965.thread4399, label %for.body.i2946, !llvm.loop !6 + br i1 %cmp.not.i2964, label %llparse__match_sequence_to_lower.exit2965.thread4397, label %for.body.i2946, !llvm.loop !6 -llparse__match_sequence_to_lower.exit2965.thread4399: ; preds = %for.inc.i2962 +llparse__match_sequence_to_lower.exit2965.thread4397: ; preds = %for.inc.i2962 store i32 %163, ptr %state, align 8 br label %return @@ -2772,9 +2772,9 @@ if.then.i2985: ; preds = %for.body.i2972 for.inc.i2988: ; preds = %if.then.i2985 %incdec.ptr.i2989 = getelementptr inbounds i8, ptr %p.addr.013.i2974, i64 1 %cmp.not.i2990 = icmp eq ptr %incdec.ptr.i2989, %endp - br i1 %cmp.not.i2990, label %llparse__match_sequence_to_lower.exit2991.thread4411, label %for.body.i2972, !llvm.loop !6 + br i1 %cmp.not.i2990, label %llparse__match_sequence_to_lower.exit2991.thread4409, label %for.body.i2972, !llvm.loop !6 -llparse__match_sequence_to_lower.exit2991.thread4411: ; preds = %for.inc.i2988 +llparse__match_sequence_to_lower.exit2991.thread4409: ; preds = %for.inc.i2988 store i32 %174, ptr %state, align 8 br label %return @@ -2788,8 +2788,8 @@ if.end815: ; preds = %s_n_llhttp__interna %180 = add i8 %179, -65 %or.cond2739 = icmp ult i8 %180, 26 %181 = or i8 %179, 32 - %spec.select4980 = select i1 %or.cond2739, i8 %181, i8 %179 - switch i8 %spec.select4980, label %s_n_llhttp__internal__n_header_field_general.preheader.sink.split [ + %spec.select4978 = select i1 %or.cond2739, i8 %181, i8 %179 + switch i8 %spec.select4978, label %s_n_llhttp__internal__n_header_field_general.preheader.sink.split [ i8 99, label %sw.bb830 i8 112, label %sw.bb832 i8 116, label %sw.bb834 @@ -2887,7 +2887,7 @@ sw.bb874: ; preds = %if.end870 br label %s_n_llhttp__internal__n_error_2 s_n_llhttp__internal__n_url_skip_to_http09: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_url_12, %s_n_llhttp__internal__n_span_end_llhttp__on_url, %s_n_llhttp__internal__n_span_end_llhttp__on_url_9, %s_n_llhttp__internal__n_span_end_llhttp__on_url_6, %s_n_llhttp__internal__n_span_end_llhttp__on_url_3, %entry - %p.addr.81 = phi ptr [ %p.addr.1035263, %s_n_llhttp__internal__n_span_end_llhttp__on_url_6 ], [ %p.addr.1055261, %s_n_llhttp__internal__n_span_end_llhttp__on_url_9 ], [ %p.addr.106, %s_n_llhttp__internal__n_span_end_llhttp__on_url_3 ], [ %p.addr.111, %s_n_llhttp__internal__n_span_end_llhttp__on_url_12 ], [ %p.addr.1125257, %s_n_llhttp__internal__n_span_end_llhttp__on_url ], [ %p, %entry ] + %p.addr.81 = phi ptr [ %p.addr.1035261, %s_n_llhttp__internal__n_span_end_llhttp__on_url_6 ], [ %p.addr.1055259, %s_n_llhttp__internal__n_span_end_llhttp__on_url_9 ], [ %p.addr.106, %s_n_llhttp__internal__n_span_end_llhttp__on_url_3 ], [ %p.addr.111, %s_n_llhttp__internal__n_span_end_llhttp__on_url_12 ], [ %p.addr.1125255, %s_n_llhttp__internal__n_span_end_llhttp__on_url ], [ %p, %entry ] %cmp878 = icmp eq ptr %p.addr.81, %endp br i1 %cmp878, label %return, label %if.end881 @@ -2914,7 +2914,7 @@ sw.bb895: ; preds = %if.end893 br label %s_n_llhttp__internal__n_url_to_http_09 s_n_llhttp__internal__n_url_skip_lf_to_http09: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_url_13, %s_n_llhttp__internal__n_span_end_llhttp__on_url_1, %s_n_llhttp__internal__n_span_end_llhttp__on_url_10, %s_n_llhttp__internal__n_span_end_llhttp__on_url_7, %s_n_llhttp__internal__n_span_end_llhttp__on_url_4, %entry - %p.addr.83 = phi ptr [ %p.addr.1035263, %s_n_llhttp__internal__n_span_end_llhttp__on_url_7 ], [ %p.addr.1055261, %s_n_llhttp__internal__n_span_end_llhttp__on_url_10 ], [ %p.addr.106, %s_n_llhttp__internal__n_span_end_llhttp__on_url_4 ], [ %p.addr.111, %s_n_llhttp__internal__n_span_end_llhttp__on_url_13 ], [ %p.addr.1125257, %s_n_llhttp__internal__n_span_end_llhttp__on_url_1 ], [ %p, %entry ] + %p.addr.83 = phi ptr [ %p.addr.1035261, %s_n_llhttp__internal__n_span_end_llhttp__on_url_7 ], [ %p.addr.1055259, %s_n_llhttp__internal__n_span_end_llhttp__on_url_10 ], [ %p.addr.106, %s_n_llhttp__internal__n_span_end_llhttp__on_url_4 ], [ %p.addr.111, %s_n_llhttp__internal__n_span_end_llhttp__on_url_13 ], [ %p.addr.1125255, %s_n_llhttp__internal__n_span_end_llhttp__on_url_1 ], [ %p, %entry ] %cmp899 = icmp eq ptr %p.addr.83, %endp br i1 %cmp899, label %return, label %if.end902 @@ -3119,8 +3119,8 @@ s_n_llhttp__internal__n_req_http_major: ; preds = %entry, %if.end1040 if.end1013: ; preds = %s_n_llhttp__internal__n_req_http_major %199 = load i8, ptr %p.addr.95, align 1 - %switch.tableidx6003 = add i8 %199, -48 - %200 = icmp ult i8 %switch.tableidx6003, 10 + %switch.tableidx6001 = add i8 %199, -48 + %200 = icmp ult i8 %switch.tableidx6001, 10 br i1 %200, label %s_n_llhttp__internal__n_invoke_store_http_major, label %s_n_llhttp__internal__n_span_end_llhttp__on_version_4 s_n_llhttp__internal__n_span_start_llhttp__on_version: ; preds = %sw.bb1053, %sw.bb1083, %sw.bb1083, %sw.bb1083, %sw.bb1083, %sw.bb1083, %sw.bb1083, %sw.bb1083, %sw.bb1083, %sw.bb1083, %sw.bb1083, %sw.bb1083, %sw.bb1083, %sw.bb1083, %sw.bb1083, %sw.bb1068, %entry @@ -3171,9 +3171,9 @@ if.then.i3014: ; preds = %for.body.i3003 for.inc.i3017: ; preds = %if.then.i3014 %incdec.ptr.i3018 = getelementptr inbounds i8, ptr %p.addr.010.i3005, i64 1 %cmp.not.i3019 = icmp eq ptr %incdec.ptr.i3018, %endp - br i1 %cmp.not.i3019, label %llparse__match_sequence_id.exit3020.thread4423, label %for.body.i3003, !llvm.loop !4 + br i1 %cmp.not.i3019, label %llparse__match_sequence_id.exit3020.thread4421, label %for.body.i3003, !llvm.loop !4 -llparse__match_sequence_id.exit3020.thread4423: ; preds = %for.inc.i3017 +llparse__match_sequence_id.exit3020.thread4421: ; preds = %for.inc.i3017 store i32 %207, ptr %state, align 8 br label %return @@ -3221,9 +3221,9 @@ if.then.i3040: ; preds = %for.body.i3029 for.inc.i3043: ; preds = %if.then.i3040 %incdec.ptr.i3044 = getelementptr inbounds i8, ptr %p.addr.010.i3031, i64 1 %cmp.not.i3045 = icmp eq ptr %incdec.ptr.i3044, %endp - br i1 %cmp.not.i3045, label %llparse__match_sequence_id.exit3046.thread4435, label %for.body.i3029, !llvm.loop !4 + br i1 %cmp.not.i3045, label %llparse__match_sequence_id.exit3046.thread4433, label %for.body.i3029, !llvm.loop !4 -llparse__match_sequence_id.exit3046.thread4435: ; preds = %for.inc.i3043 +llparse__match_sequence_id.exit3046.thread4433: ; preds = %for.inc.i3043 store i32 %217, ptr %state, align 8 br label %return @@ -3271,9 +3271,9 @@ if.then.i3066: ; preds = %for.body.i3055 for.inc.i3069: ; preds = %if.then.i3066 %incdec.ptr.i3070 = getelementptr inbounds i8, ptr %p.addr.010.i3057, i64 1 %cmp.not.i3071 = icmp eq ptr %incdec.ptr.i3070, %endp - br i1 %cmp.not.i3071, label %llparse__match_sequence_id.exit3072.thread4447, label %for.body.i3055, !llvm.loop !4 + br i1 %cmp.not.i3071, label %llparse__match_sequence_id.exit3072.thread4445, label %for.body.i3055, !llvm.loop !4 -llparse__match_sequence_id.exit3072.thread4447: ; preds = %for.inc.i3069 +llparse__match_sequence_id.exit3072.thread4445: ; preds = %for.inc.i3069 store i32 %227, ptr %state, align 8 br label %return @@ -3300,8 +3300,8 @@ sw.bb1083: ; preds = %if.then.i3066 ] if.end1092: ; preds = %s_n_llhttp__internal__n_req_http_start.preheader, %sw.bb1094 - %p.addr.1005265 = phi ptr [ %incdec.ptr1095, %sw.bb1094 ], [ %p.addr.100.ph, %s_n_llhttp__internal__n_req_http_start.preheader ] - %231 = load i8, ptr %p.addr.1005265, align 1 + %p.addr.1005263 = phi ptr [ %incdec.ptr1095, %sw.bb1094 ], [ %p.addr.100.ph, %s_n_llhttp__internal__n_req_http_start.preheader ] + %231 = load i8, ptr %p.addr.1005263, align 1 switch i8 %231, label %s_n_llhttp__internal__n_error_62 [ i8 32, label %sw.bb1094 i8 72, label %sw.bb1096 @@ -3310,20 +3310,20 @@ if.end1092: ; preds = %s_n_llhttp__interna ] sw.bb1094: ; preds = %if.end1092 - %incdec.ptr1095 = getelementptr inbounds i8, ptr %p.addr.1005265, i64 1 + %incdec.ptr1095 = getelementptr inbounds i8, ptr %p.addr.1005263, i64 1 %cmp1089 = icmp eq ptr %incdec.ptr1095, %endp br i1 %cmp1089, label %return, label %if.end1092 sw.bb1096: ; preds = %if.end1092 - %incdec.ptr1097 = getelementptr inbounds i8, ptr %p.addr.1005265, i64 1 + %incdec.ptr1097 = getelementptr inbounds i8, ptr %p.addr.1005263, i64 1 br label %s_n_llhttp__internal__n_req_http_start_1 sw.bb1098: ; preds = %if.end1092 - %incdec.ptr1099 = getelementptr inbounds i8, ptr %p.addr.1005265, i64 1 + %incdec.ptr1099 = getelementptr inbounds i8, ptr %p.addr.1005263, i64 1 br label %s_n_llhttp__internal__n_req_http_start_2 sw.bb1100: ; preds = %if.end1092 - %incdec.ptr1101 = getelementptr inbounds i8, ptr %p.addr.1005265, i64 1 + %incdec.ptr1101 = getelementptr inbounds i8, ptr %p.addr.1005263, i64 1 br label %s_n_llhttp__internal__n_req_http_start_3 s_n_llhttp__internal__n_url_to_http: ; preds = %if.end1118, %entry @@ -3347,7 +3347,7 @@ sw.bb1111: ; preds = %if.end1107 br label %s_n_llhttp__internal__n_error_2 s_n_llhttp__internal__n_url_skip_to_http: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_url_14, %s_n_llhttp__internal__n_span_end_llhttp__on_url_2, %s_n_llhttp__internal__n_span_end_llhttp__on_url_11, %s_n_llhttp__internal__n_span_end_llhttp__on_url_8, %s_n_llhttp__internal__n_span_end_llhttp__on_url_5, %entry - %p.addr.102 = phi ptr [ %p.addr.1035263, %s_n_llhttp__internal__n_span_end_llhttp__on_url_8 ], [ %p.addr.1055261, %s_n_llhttp__internal__n_span_end_llhttp__on_url_11 ], [ %p.addr.106, %s_n_llhttp__internal__n_span_end_llhttp__on_url_5 ], [ %p.addr.111, %s_n_llhttp__internal__n_span_end_llhttp__on_url_14 ], [ %p.addr.1125257, %s_n_llhttp__internal__n_span_end_llhttp__on_url_2 ], [ %p, %entry ] + %p.addr.102 = phi ptr [ %p.addr.1035261, %s_n_llhttp__internal__n_span_end_llhttp__on_url_8 ], [ %p.addr.1055259, %s_n_llhttp__internal__n_span_end_llhttp__on_url_11 ], [ %p.addr.106, %s_n_llhttp__internal__n_span_end_llhttp__on_url_5 ], [ %p.addr.111, %s_n_llhttp__internal__n_span_end_llhttp__on_url_14 ], [ %p.addr.1125255, %s_n_llhttp__internal__n_span_end_llhttp__on_url_2 ], [ %p, %entry ] %cmp1115 = icmp eq ptr %p.addr.102, %endp br i1 %cmp1115, label %return, label %if.end1118 @@ -3360,8 +3360,8 @@ if.end1118: ; preds = %s_n_llhttp__interna ] if.end1130: ; preds = %s_n_llhttp__internal__n_url_fragment.preheader, %sw.bb1139 - %p.addr.1035263 = phi ptr [ %incdec.ptr1140, %sw.bb1139 ], [ %p.addr.103.ph, %s_n_llhttp__internal__n_url_fragment.preheader ] - %234 = load i8, ptr %p.addr.1035263, align 1 + %p.addr.1035261 = phi ptr [ %incdec.ptr1140, %sw.bb1139 ], [ %p.addr.103.ph, %s_n_llhttp__internal__n_url_fragment.preheader ] + %234 = load i8, ptr %p.addr.1035261, align 1 %idxprom1131 = zext i8 %234 to i64 %arrayidx1132 = getelementptr inbounds [256 x i8], ptr @llhttp__internal__run.lookup_table.19, i64 0, i64 %idxprom1131 %235 = load i8, ptr %arrayidx1132, align 1 @@ -3374,16 +3374,16 @@ if.end1130: ; preds = %s_n_llhttp__interna ] sw.bb1134: ; preds = %if.end1130 - %incdec.ptr1135 = getelementptr inbounds i8, ptr %p.addr.1035263, i64 1 + %incdec.ptr1135 = getelementptr inbounds i8, ptr %p.addr.1035261, i64 1 br label %s_n_llhttp__internal__n_error_2 sw.bb1139: ; preds = %if.end1130 - %incdec.ptr1140 = getelementptr inbounds i8, ptr %p.addr.1035263, i64 1 + %incdec.ptr1140 = getelementptr inbounds i8, ptr %p.addr.1035261, i64 1 %cmp1127 = icmp eq ptr %incdec.ptr1140, %endp br i1 %cmp1127, label %return, label %if.end1130 s_n_llhttp__internal__n_span_end_stub_query_3: ; preds = %if.end1152, %entry - %p.addr.104 = phi ptr [ %p, %entry ], [ %p.addr.1055261, %if.end1152 ] + %p.addr.104 = phi ptr [ %p, %entry ], [ %p.addr.1055259, %if.end1152 ] %cmp1143 = icmp eq ptr %p.addr.104, %endp br i1 %cmp1143, label %return, label %if.end1146 @@ -3392,8 +3392,8 @@ if.end1146: ; preds = %s_n_llhttp__interna br label %s_n_llhttp__internal__n_url_fragment.preheader if.end1152: ; preds = %s_n_llhttp__internal__n_url_query.preheader, %sw.bb1161 - %p.addr.1055261 = phi ptr [ %incdec.ptr1162, %sw.bb1161 ], [ %p.addr.105.ph, %s_n_llhttp__internal__n_url_query.preheader ] - %236 = load i8, ptr %p.addr.1055261, align 1 + %p.addr.1055259 = phi ptr [ %incdec.ptr1162, %sw.bb1161 ], [ %p.addr.105.ph, %s_n_llhttp__internal__n_url_query.preheader ] + %236 = load i8, ptr %p.addr.1055259, align 1 %idxprom1153 = zext i8 %236 to i64 %arrayidx1154 = getelementptr inbounds [256 x i8], ptr @llhttp__internal__run.lookup_table.20, i64 0, i64 %idxprom1153 %237 = load i8, ptr %arrayidx1154, align 1 @@ -3407,16 +3407,16 @@ if.end1152: ; preds = %s_n_llhttp__interna ] sw.bb1156: ; preds = %if.end1152 - %incdec.ptr1157 = getelementptr inbounds i8, ptr %p.addr.1055261, i64 1 + %incdec.ptr1157 = getelementptr inbounds i8, ptr %p.addr.1055259, i64 1 br label %s_n_llhttp__internal__n_error_2 sw.bb1161: ; preds = %if.end1152 - %incdec.ptr1162 = getelementptr inbounds i8, ptr %p.addr.1055261, i64 1 + %incdec.ptr1162 = getelementptr inbounds i8, ptr %p.addr.1055259, i64 1 %cmp1149 = icmp eq ptr %incdec.ptr1162, %endp br i1 %cmp1149, label %return, label %if.end1152 s_n_llhttp__internal__n_url_query_or_fragment: ; preds = %if.end1187, %entry - %p.addr.106 = phi ptr [ %p, %entry ], [ %p.addr.1075259, %if.end1187 ] + %p.addr.106 = phi ptr [ %p, %entry ], [ %p.addr.1075257, %if.end1187 ] %cmp1166 = icmp eq ptr %p.addr.106, %endp br i1 %cmp1166, label %return, label %if.end1169 @@ -3449,8 +3449,8 @@ sw.bb1180: ; preds = %if.end1169 br label %s_n_llhttp__internal__n_url_query.preheader if.end1187: ; preds = %s_n_llhttp__internal__n_url_path.preheader, %sw.bb1193 - %p.addr.1075259 = phi ptr [ %incdec.ptr1194, %sw.bb1193 ], [ %p.addr.107.ph, %s_n_llhttp__internal__n_url_path.preheader ] - %239 = load i8, ptr %p.addr.1075259, align 1 + %p.addr.1075257 = phi ptr [ %incdec.ptr1194, %sw.bb1193 ], [ %p.addr.107.ph, %s_n_llhttp__internal__n_url_path.preheader ] + %239 = load i8, ptr %p.addr.1075257, align 1 %idxprom1188 = zext i8 %239 to i64 %arrayidx1189 = getelementptr inbounds [256 x i8], ptr @llhttp__internal__run.lookup_table.21, i64 0, i64 %idxprom1188 %240 = load i8, ptr %arrayidx1189, align 1 @@ -3460,11 +3460,11 @@ if.end1187: ; preds = %s_n_llhttp__interna ] sw.bb1191: ; preds = %if.end1187 - %incdec.ptr1192 = getelementptr inbounds i8, ptr %p.addr.1075259, i64 1 + %incdec.ptr1192 = getelementptr inbounds i8, ptr %p.addr.1075257, i64 1 br label %s_n_llhttp__internal__n_error_2 sw.bb1193: ; preds = %if.end1187 - %incdec.ptr1194 = getelementptr inbounds i8, ptr %p.addr.1075259, i64 1 + %incdec.ptr1194 = getelementptr inbounds i8, ptr %p.addr.1075257, i64 1 %cmp1184 = icmp eq ptr %incdec.ptr1194, %endp br i1 %cmp1184, label %return, label %if.end1187 @@ -3478,7 +3478,7 @@ if.end1200: ; preds = %s_n_llhttp__interna br label %s_n_llhttp__internal__n_url_path.preheader s_n_llhttp__internal__n_span_start_stub_path: ; preds = %if.end1239, %entry - %p.addr.109 = phi ptr [ %p, %entry ], [ %p.addr.1125257, %if.end1239 ] + %p.addr.109 = phi ptr [ %p, %entry ], [ %p.addr.1125255, %if.end1239 ] %cmp1203 = icmp eq ptr %p.addr.109, %endp br i1 %cmp1203, label %return, label %if.end1206 @@ -3540,8 +3540,8 @@ sw.bb1232: ; preds = %if.end1218 br label %return if.end1239: ; preds = %s_n_llhttp__internal__n_url_server.preheader, %sw.bb1248 - %p.addr.1125257 = phi ptr [ %incdec.ptr1249, %sw.bb1248 ], [ %p.addr.112.ph, %s_n_llhttp__internal__n_url_server.preheader ] - %243 = load i8, ptr %p.addr.1125257, align 1 + %p.addr.1125255 = phi ptr [ %incdec.ptr1249, %sw.bb1248 ], [ %p.addr.112.ph, %s_n_llhttp__internal__n_url_server.preheader ] + %243 = load i8, ptr %p.addr.1125255, align 1 %idxprom1240 = zext i8 %243 to i64 %arrayidx1241 = getelementptr inbounds [256 x i8], ptr @llhttp__internal__run.lookup_table.23, i64 0, i64 %idxprom1240 %244 = load i8, ptr %arrayidx1241, align 1 @@ -3557,20 +3557,20 @@ if.end1239: ; preds = %s_n_llhttp__interna ] sw.bb1243: ; preds = %if.end1239 - %incdec.ptr1244 = getelementptr inbounds i8, ptr %p.addr.1125257, i64 1 + %incdec.ptr1244 = getelementptr inbounds i8, ptr %p.addr.1125255, i64 1 br label %s_n_llhttp__internal__n_error_2 sw.bb1248: ; preds = %if.end1239 - %incdec.ptr1249 = getelementptr inbounds i8, ptr %p.addr.1125257, i64 1 + %incdec.ptr1249 = getelementptr inbounds i8, ptr %p.addr.1125255, i64 1 %cmp1236 = icmp eq ptr %incdec.ptr1249, %endp br i1 %cmp1236, label %return, label %if.end1239 sw.bb1251: ; preds = %if.end1239 - %incdec.ptr1252 = getelementptr inbounds i8, ptr %p.addr.1125257, i64 1 + %incdec.ptr1252 = getelementptr inbounds i8, ptr %p.addr.1125255, i64 1 br label %s_n_llhttp__internal__n_url_query.preheader sw.bb1253: ; preds = %if.end1239 - %incdec.ptr1254 = getelementptr inbounds i8, ptr %p.addr.1125257, i64 1 + %incdec.ptr1254 = getelementptr inbounds i8, ptr %p.addr.1125255, i64 1 br label %s_n_llhttp__internal__n_url_server_with_at s_n_llhttp__internal__n_url_schema_delim_1: ; preds = %entry, %sw.bb1281 @@ -3628,7 +3628,7 @@ sw.bb1281: ; preds = %if.end1269 br label %s_n_llhttp__internal__n_url_schema_delim_1 s_n_llhttp__internal__n_span_end_stub_schema: ; preds = %if.end1294, %entry - %p.addr.115 = phi ptr [ %p, %entry ], [ %p.addr.1165255, %if.end1294 ] + %p.addr.115 = phi ptr [ %p, %entry ], [ %p.addr.1165253, %if.end1294 ] %cmp1285 = icmp eq ptr %p.addr.115, %endp br i1 %cmp1285, label %return, label %if.end1288 @@ -3637,8 +3637,8 @@ if.end1288: ; preds = %s_n_llhttp__interna br label %s_n_llhttp__internal__n_url_schema_delim if.end1294: ; preds = %s_n_llhttp__internal__n_url_schema.preheader, %sw.bb1301 - %p.addr.1165255 = phi ptr [ %incdec.ptr1302, %sw.bb1301 ], [ %p.addr.116.ph, %s_n_llhttp__internal__n_url_schema.preheader ] - %247 = load i8, ptr %p.addr.1165255, align 1 + %p.addr.1165253 = phi ptr [ %incdec.ptr1302, %sw.bb1301 ], [ %p.addr.116.ph, %s_n_llhttp__internal__n_url_schema.preheader ] + %247 = load i8, ptr %p.addr.1165253, align 1 %idxprom1295 = zext i8 %247 to i64 %arrayidx1296 = getelementptr inbounds [256 x i8], ptr @llhttp__internal__run.lookup_table.24, i64 0, i64 %idxprom1295 %248 = load i8, ptr %arrayidx1296, align 1 @@ -3649,11 +3649,11 @@ if.end1294: ; preds = %s_n_llhttp__interna ] sw.bb1298: ; preds = %if.end1294 - %incdec.ptr1299 = getelementptr inbounds i8, ptr %p.addr.1165255, i64 1 + %incdec.ptr1299 = getelementptr inbounds i8, ptr %p.addr.1165253, i64 1 br label %s_n_llhttp__internal__n_error_2 sw.bb1301: ; preds = %if.end1294 - %incdec.ptr1302 = getelementptr inbounds i8, ptr %p.addr.1165255, i64 1 + %incdec.ptr1302 = getelementptr inbounds i8, ptr %p.addr.1165253, i64 1 %cmp1291 = icmp eq ptr %incdec.ptr1302, %endp br i1 %cmp1291, label %return, label %if.end1294 @@ -3675,8 +3675,8 @@ if.end1308: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_url_schema.preheader: ; preds = %entry, %if.end1308 %p.addr.116.ph = phi ptr [ %p, %entry ], [ %p.addr.117, %if.end1308 ] - %cmp12915254 = icmp eq ptr %p.addr.116.ph, %endp - br i1 %cmp12915254, label %return, label %if.end1294 + %cmp12915252 = icmp eq ptr %p.addr.116.ph, %endp + br i1 %cmp12915252, label %return, label %if.end1294 sw.bb1312: ; preds = %if.end1308 %incdec.ptr1313 = getelementptr inbounds i8, ptr %p.addr.117, i64 1 @@ -3695,7 +3695,7 @@ if.end1321: ; preds = %s_n_llhttp__interna br label %s_n_llhttp__internal__n_url_start s_n_llhttp__internal__n_url_entry_normal: ; preds = %s_n_llhttp__internal__n_invoke_is_equal_method, %entry - %p.addr.119 = phi ptr [ %p.addr.1225253, %s_n_llhttp__internal__n_invoke_is_equal_method ], [ %p, %entry ] + %p.addr.119 = phi ptr [ %p.addr.1225251, %s_n_llhttp__internal__n_invoke_is_equal_method ], [ %p, %entry ] %cmp1325 = icmp eq ptr %p.addr.119, %endp br i1 %cmp1325, label %return, label %if.end1328 @@ -3727,7 +3727,7 @@ if.end1339: ; preds = %s_n_llhttp__interna br label %s_n_llhttp__internal__n_url_server.preheader s_n_llhttp__internal__n_url_entry_connect: ; preds = %s_n_llhttp__internal__n_invoke_is_equal_method, %entry - %p.addr.121 = phi ptr [ %p.addr.1225253, %s_n_llhttp__internal__n_invoke_is_equal_method ], [ %p, %entry ] + %p.addr.121 = phi ptr [ %p.addr.1225251, %s_n_llhttp__internal__n_invoke_is_equal_method ], [ %p, %entry ] %cmp1343 = icmp eq ptr %p.addr.121, %endp br i1 %cmp1343, label %return, label %if.end1346 @@ -3747,13 +3747,13 @@ sw.bb1350: ; preds = %if.end1346 br label %s_n_llhttp__internal__n_error_2 if.end1357: ; preds = %s_n_llhttp__internal__n_req_spaces_before_url.preheader, %sw.bb1359 - %p.addr.1225253 = phi ptr [ %incdec.ptr1360, %sw.bb1359 ], [ %p.addr.122.ph, %s_n_llhttp__internal__n_req_spaces_before_url.preheader ] - %253 = load i8, ptr %p.addr.1225253, align 1 + %p.addr.1225251 = phi ptr [ %incdec.ptr1360, %sw.bb1359 ], [ %p.addr.122.ph, %s_n_llhttp__internal__n_req_spaces_before_url.preheader ] + %253 = load i8, ptr %p.addr.1225251, align 1 %cond51 = icmp eq i8 %253, 32 br i1 %cond51, label %sw.bb1359, label %s_n_llhttp__internal__n_invoke_is_equal_method sw.bb1359: ; preds = %if.end1357 - %incdec.ptr1360 = getelementptr inbounds i8, ptr %p.addr.1225253, i64 1 + %incdec.ptr1360 = getelementptr inbounds i8, ptr %p.addr.1225251, i64 1 %cmp1354 = icmp eq ptr %incdec.ptr1360, %endp br i1 %cmp1354, label %return, label %if.end1357 @@ -3829,9 +3829,9 @@ if.then.i3092: ; preds = %for.body.i3081 for.inc.i3095: ; preds = %if.then.i3092 %incdec.ptr.i3096 = getelementptr inbounds i8, ptr %p.addr.010.i3083, i64 1 %cmp.not.i3097 = icmp eq ptr %incdec.ptr.i3096, %endp - br i1 %cmp.not.i3097, label %llparse__match_sequence_id.exit3098.thread4459, label %for.body.i3081, !llvm.loop !4 + br i1 %cmp.not.i3097, label %llparse__match_sequence_id.exit3098.thread4457, label %for.body.i3081, !llvm.loop !4 -llparse__match_sequence_id.exit3098.thread4459: ; preds = %for.inc.i3095 +llparse__match_sequence_id.exit3098.thread4457: ; preds = %for.inc.i3095 store i32 %262, ptr %state, align 8 br label %return @@ -3896,9 +3896,9 @@ if.then.i3116: ; preds = %for.body.i3105 for.inc.i3119: ; preds = %if.then.i3116 %incdec.ptr.i3120 = getelementptr inbounds i8, ptr %p.addr.010.i3107, i64 1 %cmp.not.i3121 = icmp eq ptr %incdec.ptr.i3120, %endp - br i1 %cmp.not.i3121, label %llparse__match_sequence_id.exit3122.thread4471, label %for.body.i3105, !llvm.loop !4 + br i1 %cmp.not.i3121, label %llparse__match_sequence_id.exit3122.thread4469, label %for.body.i3105, !llvm.loop !4 -llparse__match_sequence_id.exit3122.thread4471: ; preds = %for.inc.i3119 +llparse__match_sequence_id.exit3122.thread4469: ; preds = %for.inc.i3119 store i32 %272, ptr %state, align 8 br label %return @@ -3943,9 +3943,9 @@ if.then.i3140: ; preds = %for.body.i3129 for.inc.i3143: ; preds = %if.then.i3140 %incdec.ptr.i3144 = getelementptr inbounds i8, ptr %p.addr.010.i3131, i64 1 %cmp.not.i3145 = icmp eq ptr %incdec.ptr.i3144, %endp - br i1 %cmp.not.i3145, label %llparse__match_sequence_id.exit3146.thread4483, label %for.body.i3129, !llvm.loop !4 + br i1 %cmp.not.i3145, label %llparse__match_sequence_id.exit3146.thread4481, label %for.body.i3129, !llvm.loop !4 -llparse__match_sequence_id.exit3146.thread4483: ; preds = %for.inc.i3143 +llparse__match_sequence_id.exit3146.thread4481: ; preds = %for.inc.i3143 store i32 %281, ptr %state, align 8 br label %return @@ -3990,9 +3990,9 @@ if.then.i3164: ; preds = %for.body.i3153 for.inc.i3167: ; preds = %if.then.i3164 %incdec.ptr.i3168 = getelementptr inbounds i8, ptr %p.addr.010.i3155, i64 1 %cmp.not.i3169 = icmp eq ptr %incdec.ptr.i3168, %endp - br i1 %cmp.not.i3169, label %llparse__match_sequence_id.exit3170.thread4495, label %for.body.i3153, !llvm.loop !4 + br i1 %cmp.not.i3169, label %llparse__match_sequence_id.exit3170.thread4493, label %for.body.i3153, !llvm.loop !4 -llparse__match_sequence_id.exit3170.thread4495: ; preds = %for.inc.i3167 +llparse__match_sequence_id.exit3170.thread4493: ; preds = %for.inc.i3167 store i32 %290, ptr %state, align 8 br label %return @@ -4091,9 +4091,9 @@ if.then.i3188: ; preds = %for.body.i3177 for.inc.i3191: ; preds = %if.then.i3188 %incdec.ptr.i3192 = getelementptr inbounds i8, ptr %p.addr.010.i3179, i64 1 %cmp.not.i3193 = icmp eq ptr %incdec.ptr.i3192, %endp - br i1 %cmp.not.i3193, label %llparse__match_sequence_id.exit3194.thread4507, label %for.body.i3177, !llvm.loop !4 + br i1 %cmp.not.i3193, label %llparse__match_sequence_id.exit3194.thread4505, label %for.body.i3177, !llvm.loop !4 -llparse__match_sequence_id.exit3194.thread4507: ; preds = %for.inc.i3191 +llparse__match_sequence_id.exit3194.thread4505: ; preds = %for.inc.i3191 store i32 %302, ptr %state, align 8 br label %return @@ -4138,9 +4138,9 @@ if.then.i3212: ; preds = %for.body.i3201 for.inc.i3215: ; preds = %if.then.i3212 %incdec.ptr.i3216 = getelementptr inbounds i8, ptr %p.addr.010.i3203, i64 1 %cmp.not.i3217 = icmp eq ptr %incdec.ptr.i3216, %endp - br i1 %cmp.not.i3217, label %llparse__match_sequence_id.exit3218.thread4519, label %for.body.i3201, !llvm.loop !4 + br i1 %cmp.not.i3217, label %llparse__match_sequence_id.exit3218.thread4517, label %for.body.i3201, !llvm.loop !4 -llparse__match_sequence_id.exit3218.thread4519: ; preds = %for.inc.i3215 +llparse__match_sequence_id.exit3218.thread4517: ; preds = %for.inc.i3215 store i32 %311, ptr %state, align 8 br label %return @@ -4219,9 +4219,9 @@ if.then.i3236: ; preds = %for.body.i3225 for.inc.i3239: ; preds = %if.then.i3236 %incdec.ptr.i3240 = getelementptr inbounds i8, ptr %p.addr.010.i3227, i64 1 %cmp.not.i3241 = icmp eq ptr %incdec.ptr.i3240, %endp - br i1 %cmp.not.i3241, label %llparse__match_sequence_id.exit3242.thread4531, label %for.body.i3225, !llvm.loop !4 + br i1 %cmp.not.i3241, label %llparse__match_sequence_id.exit3242.thread4529, label %for.body.i3225, !llvm.loop !4 -llparse__match_sequence_id.exit3242.thread4531: ; preds = %for.inc.i3239 +llparse__match_sequence_id.exit3242.thread4529: ; preds = %for.inc.i3239 store i32 %322, ptr %state, align 8 br label %return @@ -4266,9 +4266,9 @@ if.then.i3260: ; preds = %for.body.i3249 for.inc.i3263: ; preds = %if.then.i3260 %incdec.ptr.i3264 = getelementptr inbounds i8, ptr %p.addr.010.i3251, i64 1 %cmp.not.i3265 = icmp eq ptr %incdec.ptr.i3264, %endp - br i1 %cmp.not.i3265, label %llparse__match_sequence_id.exit3266.thread4543, label %for.body.i3249, !llvm.loop !4 + br i1 %cmp.not.i3265, label %llparse__match_sequence_id.exit3266.thread4541, label %for.body.i3249, !llvm.loop !4 -llparse__match_sequence_id.exit3266.thread4543: ; preds = %for.inc.i3263 +llparse__match_sequence_id.exit3266.thread4541: ; preds = %for.inc.i3263 store i32 %331, ptr %state, align 8 br label %return @@ -4327,9 +4327,9 @@ if.then.i3284: ; preds = %for.body.i3273 for.inc.i3287: ; preds = %if.then.i3284 %incdec.ptr.i3288 = getelementptr inbounds i8, ptr %p.addr.010.i3275, i64 1 %cmp.not.i3289 = icmp eq ptr %incdec.ptr.i3288, %endp - br i1 %cmp.not.i3289, label %llparse__match_sequence_id.exit3290.thread4555, label %for.body.i3273, !llvm.loop !4 + br i1 %cmp.not.i3289, label %llparse__match_sequence_id.exit3290.thread4553, label %for.body.i3273, !llvm.loop !4 -llparse__match_sequence_id.exit3290.thread4555: ; preds = %for.inc.i3287 +llparse__match_sequence_id.exit3290.thread4553: ; preds = %for.inc.i3287 store i32 %341, ptr %state, align 8 br label %return @@ -4374,9 +4374,9 @@ if.then.i3308: ; preds = %for.body.i3297 for.inc.i3311: ; preds = %if.then.i3308 %incdec.ptr.i3312 = getelementptr inbounds i8, ptr %p.addr.010.i3299, i64 1 %cmp.not.i3313 = icmp eq ptr %incdec.ptr.i3312, %endp - br i1 %cmp.not.i3313, label %llparse__match_sequence_id.exit3314.thread4567, label %for.body.i3297, !llvm.loop !4 + br i1 %cmp.not.i3313, label %llparse__match_sequence_id.exit3314.thread4565, label %for.body.i3297, !llvm.loop !4 -llparse__match_sequence_id.exit3314.thread4567: ; preds = %for.inc.i3311 +llparse__match_sequence_id.exit3314.thread4565: ; preds = %for.inc.i3311 store i32 %350, ptr %state, align 8 br label %return @@ -4421,9 +4421,9 @@ if.then.i3332: ; preds = %for.body.i3321 for.inc.i3335: ; preds = %if.then.i3332 %incdec.ptr.i3336 = getelementptr inbounds i8, ptr %p.addr.010.i3323, i64 1 %cmp.not.i3337 = icmp eq ptr %incdec.ptr.i3336, %endp - br i1 %cmp.not.i3337, label %llparse__match_sequence_id.exit3338.thread4579, label %for.body.i3321, !llvm.loop !4 + br i1 %cmp.not.i3337, label %llparse__match_sequence_id.exit3338.thread4577, label %for.body.i3321, !llvm.loop !4 -llparse__match_sequence_id.exit3338.thread4579: ; preds = %for.inc.i3335 +llparse__match_sequence_id.exit3338.thread4577: ; preds = %for.inc.i3335 store i32 %359, ptr %state, align 8 br label %return @@ -4468,9 +4468,9 @@ if.then.i3356: ; preds = %for.body.i3345 for.inc.i3359: ; preds = %if.then.i3356 %incdec.ptr.i3360 = getelementptr inbounds i8, ptr %p.addr.010.i3347, i64 1 %cmp.not.i3361 = icmp eq ptr %incdec.ptr.i3360, %endp - br i1 %cmp.not.i3361, label %llparse__match_sequence_id.exit3362.thread4591, label %for.body.i3345, !llvm.loop !4 + br i1 %cmp.not.i3361, label %llparse__match_sequence_id.exit3362.thread4589, label %for.body.i3345, !llvm.loop !4 -llparse__match_sequence_id.exit3362.thread4591: ; preds = %for.inc.i3359 +llparse__match_sequence_id.exit3362.thread4589: ; preds = %for.inc.i3359 store i32 %368, ptr %state, align 8 br label %return @@ -4535,9 +4535,9 @@ if.then.i3380: ; preds = %for.body.i3369 for.inc.i3383: ; preds = %if.then.i3380 %incdec.ptr.i3384 = getelementptr inbounds i8, ptr %p.addr.010.i3371, i64 1 %cmp.not.i3385 = icmp eq ptr %incdec.ptr.i3384, %endp - br i1 %cmp.not.i3385, label %llparse__match_sequence_id.exit3386.thread4603, label %for.body.i3369, !llvm.loop !4 + br i1 %cmp.not.i3385, label %llparse__match_sequence_id.exit3386.thread4601, label %for.body.i3369, !llvm.loop !4 -llparse__match_sequence_id.exit3386.thread4603: ; preds = %for.inc.i3383 +llparse__match_sequence_id.exit3386.thread4601: ; preds = %for.inc.i3383 store i32 %378, ptr %state, align 8 br label %return @@ -4582,9 +4582,9 @@ if.then.i3404: ; preds = %for.body.i3393 for.inc.i3407: ; preds = %if.then.i3404 %incdec.ptr.i3408 = getelementptr inbounds i8, ptr %p.addr.010.i3395, i64 1 %cmp.not.i3409 = icmp eq ptr %incdec.ptr.i3408, %endp - br i1 %cmp.not.i3409, label %llparse__match_sequence_id.exit3410.thread4615, label %for.body.i3393, !llvm.loop !4 + br i1 %cmp.not.i3409, label %llparse__match_sequence_id.exit3410.thread4613, label %for.body.i3393, !llvm.loop !4 -llparse__match_sequence_id.exit3410.thread4615: ; preds = %for.inc.i3407 +llparse__match_sequence_id.exit3410.thread4613: ; preds = %for.inc.i3407 store i32 %387, ptr %state, align 8 br label %return @@ -4629,9 +4629,9 @@ if.then.i3428: ; preds = %for.body.i3417 for.inc.i3431: ; preds = %if.then.i3428 %incdec.ptr.i3432 = getelementptr inbounds i8, ptr %p.addr.010.i3419, i64 1 %cmp.not.i3433 = icmp eq ptr %incdec.ptr.i3432, %endp - br i1 %cmp.not.i3433, label %llparse__match_sequence_id.exit3434.thread4627, label %for.body.i3417, !llvm.loop !4 + br i1 %cmp.not.i3433, label %llparse__match_sequence_id.exit3434.thread4625, label %for.body.i3417, !llvm.loop !4 -llparse__match_sequence_id.exit3434.thread4627: ; preds = %for.inc.i3431 +llparse__match_sequence_id.exit3434.thread4625: ; preds = %for.inc.i3431 store i32 %396, ptr %state, align 8 br label %return @@ -4676,9 +4676,9 @@ if.then.i3452: ; preds = %for.body.i3441 for.inc.i3455: ; preds = %if.then.i3452 %incdec.ptr.i3456 = getelementptr inbounds i8, ptr %p.addr.010.i3443, i64 1 %cmp.not.i3457 = icmp eq ptr %incdec.ptr.i3456, %endp - br i1 %cmp.not.i3457, label %llparse__match_sequence_id.exit3458.thread4639, label %for.body.i3441, !llvm.loop !4 + br i1 %cmp.not.i3457, label %llparse__match_sequence_id.exit3458.thread4637, label %for.body.i3441, !llvm.loop !4 -llparse__match_sequence_id.exit3458.thread4639: ; preds = %for.inc.i3455 +llparse__match_sequence_id.exit3458.thread4637: ; preds = %for.inc.i3455 store i32 %405, ptr %state, align 8 br label %return @@ -4777,9 +4777,9 @@ if.then.i3476: ; preds = %for.body.i3465 for.inc.i3479: ; preds = %if.then.i3476 %incdec.ptr.i3480 = getelementptr inbounds i8, ptr %p.addr.010.i3467, i64 1 %cmp.not.i3481 = icmp eq ptr %incdec.ptr.i3480, %endp - br i1 %cmp.not.i3481, label %llparse__match_sequence_id.exit3482.thread4651, label %for.body.i3465, !llvm.loop !4 + br i1 %cmp.not.i3481, label %llparse__match_sequence_id.exit3482.thread4649, label %for.body.i3465, !llvm.loop !4 -llparse__match_sequence_id.exit3482.thread4651: ; preds = %for.inc.i3479 +llparse__match_sequence_id.exit3482.thread4649: ; preds = %for.inc.i3479 store i32 %417, ptr %state, align 8 br label %return @@ -4854,9 +4854,9 @@ if.then.i3500: ; preds = %for.body.i3489 for.inc.i3503: ; preds = %if.then.i3500 %incdec.ptr.i3504 = getelementptr inbounds i8, ptr %p.addr.010.i3491, i64 1 %cmp.not.i3505 = icmp eq ptr %incdec.ptr.i3504, %endp - br i1 %cmp.not.i3505, label %llparse__match_sequence_id.exit3506.thread4663, label %for.body.i3489, !llvm.loop !4 + br i1 %cmp.not.i3505, label %llparse__match_sequence_id.exit3506.thread4661, label %for.body.i3489, !llvm.loop !4 -llparse__match_sequence_id.exit3506.thread4663: ; preds = %for.inc.i3503 +llparse__match_sequence_id.exit3506.thread4661: ; preds = %for.inc.i3503 store i32 %427, ptr %state, align 8 br label %return @@ -4901,9 +4901,9 @@ if.then.i3524: ; preds = %for.body.i3513 for.inc.i3527: ; preds = %if.then.i3524 %incdec.ptr.i3528 = getelementptr inbounds i8, ptr %p.addr.010.i3515, i64 1 %cmp.not.i3529 = icmp eq ptr %incdec.ptr.i3528, %endp - br i1 %cmp.not.i3529, label %llparse__match_sequence_id.exit3530.thread4675, label %for.body.i3513, !llvm.loop !4 + br i1 %cmp.not.i3529, label %llparse__match_sequence_id.exit3530.thread4673, label %for.body.i3513, !llvm.loop !4 -llparse__match_sequence_id.exit3530.thread4675: ; preds = %for.inc.i3527 +llparse__match_sequence_id.exit3530.thread4673: ; preds = %for.inc.i3527 store i32 %436, ptr %state, align 8 br label %return @@ -4948,9 +4948,9 @@ if.then.i3548: ; preds = %for.body.i3537 for.inc.i3551: ; preds = %if.then.i3548 %incdec.ptr.i3552 = getelementptr inbounds i8, ptr %p.addr.010.i3539, i64 1 %cmp.not.i3553 = icmp eq ptr %incdec.ptr.i3552, %endp - br i1 %cmp.not.i3553, label %llparse__match_sequence_id.exit3554.thread4687, label %for.body.i3537, !llvm.loop !4 + br i1 %cmp.not.i3553, label %llparse__match_sequence_id.exit3554.thread4685, label %for.body.i3537, !llvm.loop !4 -llparse__match_sequence_id.exit3554.thread4687: ; preds = %for.inc.i3551 +llparse__match_sequence_id.exit3554.thread4685: ; preds = %for.inc.i3551 store i32 %445, ptr %state, align 8 br label %return @@ -4995,9 +4995,9 @@ if.then.i3572: ; preds = %for.body.i3561 for.inc.i3575: ; preds = %if.then.i3572 %incdec.ptr.i3576 = getelementptr inbounds i8, ptr %p.addr.010.i3563, i64 1 %cmp.not.i3577 = icmp eq ptr %incdec.ptr.i3576, %endp - br i1 %cmp.not.i3577, label %llparse__match_sequence_id.exit3578.thread4699, label %for.body.i3561, !llvm.loop !4 + br i1 %cmp.not.i3577, label %llparse__match_sequence_id.exit3578.thread4697, label %for.body.i3561, !llvm.loop !4 -llparse__match_sequence_id.exit3578.thread4699: ; preds = %for.inc.i3575 +llparse__match_sequence_id.exit3578.thread4697: ; preds = %for.inc.i3575 store i32 %454, ptr %state, align 8 br label %return @@ -5062,9 +5062,9 @@ if.then.i3596: ; preds = %for.body.i3585 for.inc.i3599: ; preds = %if.then.i3596 %incdec.ptr.i3600 = getelementptr inbounds i8, ptr %p.addr.010.i3587, i64 1 %cmp.not.i3601 = icmp eq ptr %incdec.ptr.i3600, %endp - br i1 %cmp.not.i3601, label %llparse__match_sequence_id.exit3602.thread4711, label %for.body.i3585, !llvm.loop !4 + br i1 %cmp.not.i3601, label %llparse__match_sequence_id.exit3602.thread4709, label %for.body.i3585, !llvm.loop !4 -llparse__match_sequence_id.exit3602.thread4711: ; preds = %for.inc.i3599 +llparse__match_sequence_id.exit3602.thread4709: ; preds = %for.inc.i3599 store i32 %464, ptr %state, align 8 br label %return @@ -5109,9 +5109,9 @@ if.then.i3620: ; preds = %for.body.i3609 for.inc.i3623: ; preds = %if.then.i3620 %incdec.ptr.i3624 = getelementptr inbounds i8, ptr %p.addr.010.i3611, i64 1 %cmp.not.i3625 = icmp eq ptr %incdec.ptr.i3624, %endp - br i1 %cmp.not.i3625, label %llparse__match_sequence_id.exit3626.thread4723, label %for.body.i3609, !llvm.loop !4 + br i1 %cmp.not.i3625, label %llparse__match_sequence_id.exit3626.thread4721, label %for.body.i3609, !llvm.loop !4 -llparse__match_sequence_id.exit3626.thread4723: ; preds = %for.inc.i3623 +llparse__match_sequence_id.exit3626.thread4721: ; preds = %for.inc.i3623 store i32 %473, ptr %state, align 8 br label %return @@ -5156,9 +5156,9 @@ if.then.i3644: ; preds = %for.body.i3633 for.inc.i3647: ; preds = %if.then.i3644 %incdec.ptr.i3648 = getelementptr inbounds i8, ptr %p.addr.010.i3635, i64 1 %cmp.not.i3649 = icmp eq ptr %incdec.ptr.i3648, %endp - br i1 %cmp.not.i3649, label %llparse__match_sequence_id.exit3650.thread4735, label %for.body.i3633, !llvm.loop !4 + br i1 %cmp.not.i3649, label %llparse__match_sequence_id.exit3650.thread4733, label %for.body.i3633, !llvm.loop !4 -llparse__match_sequence_id.exit3650.thread4735: ; preds = %for.inc.i3647 +llparse__match_sequence_id.exit3650.thread4733: ; preds = %for.inc.i3647 store i32 %482, ptr %state, align 8 br label %return @@ -5203,9 +5203,9 @@ if.then.i3668: ; preds = %for.body.i3657 for.inc.i3671: ; preds = %if.then.i3668 %incdec.ptr.i3672 = getelementptr inbounds i8, ptr %p.addr.010.i3659, i64 1 %cmp.not.i3673 = icmp eq ptr %incdec.ptr.i3672, %endp - br i1 %cmp.not.i3673, label %llparse__match_sequence_id.exit3674.thread4747, label %for.body.i3657, !llvm.loop !4 + br i1 %cmp.not.i3673, label %llparse__match_sequence_id.exit3674.thread4745, label %for.body.i3657, !llvm.loop !4 -llparse__match_sequence_id.exit3674.thread4747: ; preds = %for.inc.i3671 +llparse__match_sequence_id.exit3674.thread4745: ; preds = %for.inc.i3671 store i32 %491, ptr %state, align 8 br label %return @@ -5304,9 +5304,9 @@ if.then.i3692: ; preds = %for.body.i3681 for.inc.i3695: ; preds = %if.then.i3692 %incdec.ptr.i3696 = getelementptr inbounds i8, ptr %p.addr.010.i3683, i64 1 %cmp.not.i3697 = icmp eq ptr %incdec.ptr.i3696, %endp - br i1 %cmp.not.i3697, label %llparse__match_sequence_id.exit3698.thread4759, label %for.body.i3681, !llvm.loop !4 + br i1 %cmp.not.i3697, label %llparse__match_sequence_id.exit3698.thread4757, label %for.body.i3681, !llvm.loop !4 -llparse__match_sequence_id.exit3698.thread4759: ; preds = %for.inc.i3695 +llparse__match_sequence_id.exit3698.thread4757: ; preds = %for.inc.i3695 store i32 %503, ptr %state, align 8 br label %return @@ -5406,9 +5406,9 @@ if.then.i3716: ; preds = %for.body.i3705 for.inc.i3719: ; preds = %if.then.i3716 %incdec.ptr.i3720 = getelementptr inbounds i8, ptr %p.addr.010.i3707, i64 1 %cmp.not.i3721 = icmp eq ptr %incdec.ptr.i3720, %endp - br i1 %cmp.not.i3721, label %llparse__match_sequence_id.exit3722.thread4771, label %for.body.i3705, !llvm.loop !4 + br i1 %cmp.not.i3721, label %llparse__match_sequence_id.exit3722.thread4769, label %for.body.i3705, !llvm.loop !4 -llparse__match_sequence_id.exit3722.thread4771: ; preds = %for.inc.i3719 +llparse__match_sequence_id.exit3722.thread4769: ; preds = %for.inc.i3719 store i32 %514, ptr %state, align 8 br label %return @@ -5453,9 +5453,9 @@ if.then.i3740: ; preds = %for.body.i3729 for.inc.i3743: ; preds = %if.then.i3740 %incdec.ptr.i3744 = getelementptr inbounds i8, ptr %p.addr.010.i3731, i64 1 %cmp.not.i3745 = icmp eq ptr %incdec.ptr.i3744, %endp - br i1 %cmp.not.i3745, label %llparse__match_sequence_id.exit3746.thread4783, label %for.body.i3729, !llvm.loop !4 + br i1 %cmp.not.i3745, label %llparse__match_sequence_id.exit3746.thread4781, label %for.body.i3729, !llvm.loop !4 -llparse__match_sequence_id.exit3746.thread4783: ; preds = %for.inc.i3743 +llparse__match_sequence_id.exit3746.thread4781: ; preds = %for.inc.i3743 store i32 %523, ptr %state, align 8 br label %return @@ -5500,9 +5500,9 @@ if.then.i3764: ; preds = %for.body.i3753 for.inc.i3767: ; preds = %if.then.i3764 %incdec.ptr.i3768 = getelementptr inbounds i8, ptr %p.addr.010.i3755, i64 1 %cmp.not.i3769 = icmp eq ptr %incdec.ptr.i3768, %endp - br i1 %cmp.not.i3769, label %llparse__match_sequence_id.exit3770.thread4795, label %for.body.i3753, !llvm.loop !4 + br i1 %cmp.not.i3769, label %llparse__match_sequence_id.exit3770.thread4793, label %for.body.i3753, !llvm.loop !4 -llparse__match_sequence_id.exit3770.thread4795: ; preds = %for.inc.i3767 +llparse__match_sequence_id.exit3770.thread4793: ; preds = %for.inc.i3767 store i32 %532, ptr %state, align 8 br label %return @@ -5547,9 +5547,9 @@ if.then.i3788: ; preds = %for.body.i3777 for.inc.i3791: ; preds = %if.then.i3788 %incdec.ptr.i3792 = getelementptr inbounds i8, ptr %p.addr.010.i3779, i64 1 %cmp.not.i3793 = icmp eq ptr %incdec.ptr.i3792, %endp - br i1 %cmp.not.i3793, label %llparse__match_sequence_id.exit3794.thread4807, label %for.body.i3777, !llvm.loop !4 + br i1 %cmp.not.i3793, label %llparse__match_sequence_id.exit3794.thread4805, label %for.body.i3777, !llvm.loop !4 -llparse__match_sequence_id.exit3794.thread4807: ; preds = %for.inc.i3791 +llparse__match_sequence_id.exit3794.thread4805: ; preds = %for.inc.i3791 store i32 %541, ptr %state, align 8 br label %return @@ -5638,9 +5638,9 @@ if.then.i3812: ; preds = %for.body.i3801 for.inc.i3815: ; preds = %if.then.i3812 %incdec.ptr.i3816 = getelementptr inbounds i8, ptr %p.addr.010.i3803, i64 1 %cmp.not.i3817 = icmp eq ptr %incdec.ptr.i3816, %endp - br i1 %cmp.not.i3817, label %llparse__match_sequence_id.exit3818.thread4819, label %for.body.i3801, !llvm.loop !4 + br i1 %cmp.not.i3817, label %llparse__match_sequence_id.exit3818.thread4817, label %for.body.i3801, !llvm.loop !4 -llparse__match_sequence_id.exit3818.thread4819: ; preds = %for.inc.i3815 +llparse__match_sequence_id.exit3818.thread4817: ; preds = %for.inc.i3815 store i32 %552, ptr %state, align 8 br label %return @@ -5699,9 +5699,9 @@ if.then.i3836: ; preds = %for.body.i3825 for.inc.i3839: ; preds = %if.then.i3836 %incdec.ptr.i3840 = getelementptr inbounds i8, ptr %p.addr.010.i3827, i64 1 %cmp.not.i3841 = icmp eq ptr %incdec.ptr.i3840, %endp - br i1 %cmp.not.i3841, label %llparse__match_sequence_id.exit3842.thread4831, label %for.body.i3825, !llvm.loop !4 + br i1 %cmp.not.i3841, label %llparse__match_sequence_id.exit3842.thread4829, label %for.body.i3825, !llvm.loop !4 -llparse__match_sequence_id.exit3842.thread4831: ; preds = %for.inc.i3839 +llparse__match_sequence_id.exit3842.thread4829: ; preds = %for.inc.i3839 store i32 %562, ptr %state, align 8 br label %return @@ -5786,9 +5786,9 @@ if.then.i3860: ; preds = %for.body.i3849 for.inc.i3863: ; preds = %if.then.i3860 %incdec.ptr.i3864 = getelementptr inbounds i8, ptr %p.addr.010.i3851, i64 1 %cmp.not.i3865 = icmp eq ptr %incdec.ptr.i3864, %endp - br i1 %cmp.not.i3865, label %llparse__match_sequence_id.exit3866.thread4843, label %for.body.i3849, !llvm.loop !4 + br i1 %cmp.not.i3865, label %llparse__match_sequence_id.exit3866.thread4841, label %for.body.i3849, !llvm.loop !4 -llparse__match_sequence_id.exit3866.thread4843: ; preds = %for.inc.i3863 +llparse__match_sequence_id.exit3866.thread4841: ; preds = %for.inc.i3863 store i32 %573, ptr %state, align 8 br label %return @@ -5833,9 +5833,9 @@ if.then.i3884: ; preds = %for.body.i3873 for.inc.i3887: ; preds = %if.then.i3884 %incdec.ptr.i3888 = getelementptr inbounds i8, ptr %p.addr.010.i3875, i64 1 %cmp.not.i3889 = icmp eq ptr %incdec.ptr.i3888, %endp - br i1 %cmp.not.i3889, label %llparse__match_sequence_id.exit3890.thread4855, label %for.body.i3873, !llvm.loop !4 + br i1 %cmp.not.i3889, label %llparse__match_sequence_id.exit3890.thread4853, label %for.body.i3873, !llvm.loop !4 -llparse__match_sequence_id.exit3890.thread4855: ; preds = %for.inc.i3887 +llparse__match_sequence_id.exit3890.thread4853: ; preds = %for.inc.i3887 store i32 %582, ptr %state, align 8 br label %return @@ -5905,9 +5905,9 @@ if.then.i3908: ; preds = %for.body.i3897 for.inc.i3911: ; preds = %if.then.i3908 %incdec.ptr.i3912 = getelementptr inbounds i8, ptr %p.addr.010.i3899, i64 1 %cmp.not.i3913 = icmp eq ptr %incdec.ptr.i3912, %endp - br i1 %cmp.not.i3913, label %llparse__match_sequence_id.exit3914.thread4867, label %for.body.i3897, !llvm.loop !4 + br i1 %cmp.not.i3913, label %llparse__match_sequence_id.exit3914.thread4865, label %for.body.i3897, !llvm.loop !4 -llparse__match_sequence_id.exit3914.thread4867: ; preds = %for.inc.i3911 +llparse__match_sequence_id.exit3914.thread4865: ; preds = %for.inc.i3911 store i32 %592, ptr %state, align 8 br label %return @@ -5952,9 +5952,9 @@ if.then.i3932: ; preds = %for.body.i3921 for.inc.i3935: ; preds = %if.then.i3932 %incdec.ptr.i3936 = getelementptr inbounds i8, ptr %p.addr.010.i3923, i64 1 %cmp.not.i3937 = icmp eq ptr %incdec.ptr.i3936, %endp - br i1 %cmp.not.i3937, label %llparse__match_sequence_id.exit3938.thread4879, label %for.body.i3921, !llvm.loop !4 + br i1 %cmp.not.i3937, label %llparse__match_sequence_id.exit3938.thread4877, label %for.body.i3921, !llvm.loop !4 -llparse__match_sequence_id.exit3938.thread4879: ; preds = %for.inc.i3935 +llparse__match_sequence_id.exit3938.thread4877: ; preds = %for.inc.i3935 store i32 %601, ptr %state, align 8 br label %return @@ -6019,9 +6019,9 @@ if.then.i3956: ; preds = %for.body.i3945 for.inc.i3959: ; preds = %if.then.i3956 %incdec.ptr.i3960 = getelementptr inbounds i8, ptr %p.addr.010.i3947, i64 1 %cmp.not.i3961 = icmp eq ptr %incdec.ptr.i3960, %endp - br i1 %cmp.not.i3961, label %llparse__match_sequence_id.exit3962.thread4891, label %for.body.i3945, !llvm.loop !4 + br i1 %cmp.not.i3961, label %llparse__match_sequence_id.exit3962.thread4889, label %for.body.i3945, !llvm.loop !4 -llparse__match_sequence_id.exit3962.thread4891: ; preds = %for.inc.i3959 +llparse__match_sequence_id.exit3962.thread4889: ; preds = %for.inc.i3959 store i32 %611, ptr %state, align 8 br label %return @@ -6066,9 +6066,9 @@ if.then.i3980: ; preds = %for.body.i3969 for.inc.i3983: ; preds = %if.then.i3980 %incdec.ptr.i3984 = getelementptr inbounds i8, ptr %p.addr.010.i3971, i64 1 %cmp.not.i3985 = icmp eq ptr %incdec.ptr.i3984, %endp - br i1 %cmp.not.i3985, label %llparse__match_sequence_id.exit3986.thread4903, label %for.body.i3969, !llvm.loop !4 + br i1 %cmp.not.i3985, label %llparse__match_sequence_id.exit3986.thread4901, label %for.body.i3969, !llvm.loop !4 -llparse__match_sequence_id.exit3986.thread4903: ; preds = %for.inc.i3983 +llparse__match_sequence_id.exit3986.thread4901: ; preds = %for.inc.i3983 store i32 %620, ptr %state, align 8 br label %return @@ -6113,9 +6113,9 @@ if.then.i4004: ; preds = %for.body.i3993 for.inc.i4007: ; preds = %if.then.i4004 %incdec.ptr.i4008 = getelementptr inbounds i8, ptr %p.addr.010.i3995, i64 1 %cmp.not.i4009 = icmp eq ptr %incdec.ptr.i4008, %endp - br i1 %cmp.not.i4009, label %llparse__match_sequence_id.exit4010.thread4915, label %for.body.i3993, !llvm.loop !4 + br i1 %cmp.not.i4009, label %llparse__match_sequence_id.exit4010.thread4913, label %for.body.i3993, !llvm.loop !4 -llparse__match_sequence_id.exit4010.thread4915: ; preds = %for.inc.i4007 +llparse__match_sequence_id.exit4010.thread4913: ; preds = %for.inc.i4007 store i32 %629, ptr %state, align 8 br label %return @@ -6180,9 +6180,9 @@ if.then.i4028: ; preds = %for.body.i4017 for.inc.i4031: ; preds = %if.then.i4028 %incdec.ptr.i4032 = getelementptr inbounds i8, ptr %p.addr.010.i4019, i64 1 %cmp.not.i4033 = icmp eq ptr %incdec.ptr.i4032, %endp - br i1 %cmp.not.i4033, label %llparse__match_sequence_id.exit4034.thread4927, label %for.body.i4017, !llvm.loop !4 + br i1 %cmp.not.i4033, label %llparse__match_sequence_id.exit4034.thread4925, label %for.body.i4017, !llvm.loop !4 -llparse__match_sequence_id.exit4034.thread4927: ; preds = %for.inc.i4031 +llparse__match_sequence_id.exit4034.thread4925: ; preds = %for.inc.i4031 store i32 %639, ptr %state, align 8 br label %return @@ -6353,15 +6353,15 @@ sw.bb2349: ; preds = %if.end2345 br label %s_n_llhttp__internal__n_invoke_llhttp__on_status_complete if.end2356: ; preds = %s_n_llhttp__internal__n_res_status.preheader, %sw.default2360 - %p.addr.1975251 = phi ptr [ %incdec.ptr2361, %sw.default2360 ], [ %p.addr.197.ph, %s_n_llhttp__internal__n_res_status.preheader ] - %646 = load i8, ptr %p.addr.1975251, align 1 + %p.addr.1975249 = phi ptr [ %incdec.ptr2361, %sw.default2360 ], [ %p.addr.197.ph, %s_n_llhttp__internal__n_res_status.preheader ] + %646 = load i8, ptr %p.addr.1975249, align 1 switch i8 %646, label %sw.default2360 [ i8 10, label %s_n_llhttp__internal__n_span_end_llhttp__on_status i8 13, label %s_n_llhttp__internal__n_span_end_llhttp__on_status_1 ] sw.default2360: ; preds = %if.end2356 - %incdec.ptr2361 = getelementptr inbounds i8, ptr %p.addr.1975251, i64 1 + %incdec.ptr2361 = getelementptr inbounds i8, ptr %p.addr.1975249, i64 1 %cmp2353 = icmp eq ptr %incdec.ptr2361, %endp br i1 %cmp2353, label %return, label %if.end2356 @@ -6414,27 +6414,27 @@ sw.bb2388: ; preds = %if.end2384 %incdec.ptr2389 = getelementptr inbounds i8, ptr %p.addr.200, i64 1 br label %s_n_llhttp__internal__n_res_status_start -s_n_llhttp__internal__n_res_status_code_digit_3: ; preds = %llhttp__internal__c_mul_add_status_code.exit4255, %entry - %p.addr.201 = phi ptr [ %p.addr.245, %llhttp__internal__c_mul_add_status_code.exit4255 ], [ %p, %entry ] +s_n_llhttp__internal__n_res_status_code_digit_3: ; preds = %llhttp__internal__c_mul_add_status_code.exit4253, %entry + %p.addr.201 = phi ptr [ %p.addr.245, %llhttp__internal__c_mul_add_status_code.exit4253 ], [ %p, %entry ] %cmp2392 = icmp eq ptr %p.addr.201, %endp br i1 %cmp2392, label %return, label %if.end2395 if.end2395: ; preds = %s_n_llhttp__internal__n_res_status_code_digit_3 %649 = load i8, ptr %p.addr.201, align 1 - %switch.tableidx6005 = add i8 %649, -48 - %650 = icmp ult i8 %switch.tableidx6005, 10 - br i1 %650, label %switch.lookup6004, label %s_n_llhttp__internal__n_error_79 + %switch.tableidx6003 = add i8 %649, -48 + %650 = icmp ult i8 %switch.tableidx6003, 10 + br i1 %650, label %switch.lookup6002, label %s_n_llhttp__internal__n_error_79 -s_n_llhttp__internal__n_res_status_code_digit_2: ; preds = %llhttp__internal__c_mul_add_status_code.exit4266, %entry - %p.addr.202 = phi ptr [ %p.addr.246, %llhttp__internal__c_mul_add_status_code.exit4266 ], [ %p, %entry ] +s_n_llhttp__internal__n_res_status_code_digit_2: ; preds = %llhttp__internal__c_mul_add_status_code.exit4264, %entry + %p.addr.202 = phi ptr [ %p.addr.246, %llhttp__internal__c_mul_add_status_code.exit4264 ], [ %p, %entry ] %cmp2419 = icmp eq ptr %p.addr.202, %endp br i1 %cmp2419, label %return, label %if.end2422 if.end2422: ; preds = %s_n_llhttp__internal__n_res_status_code_digit_2 %651 = load i8, ptr %p.addr.202, align 1 - %switch.tableidx6008 = add i8 %651, -48 - %652 = icmp ult i8 %switch.tableidx6008, 10 - br i1 %652, label %switch.lookup6007, label %s_n_llhttp__internal__n_error_81 + %switch.tableidx6006 = add i8 %651, -48 + %652 = icmp ult i8 %switch.tableidx6006, 10 + br i1 %652, label %switch.lookup6005, label %s_n_llhttp__internal__n_error_81 s_n_llhttp__internal__n_res_status_code_digit_1: ; preds = %entry, %sw.bb2478 %p.addr.203 = phi ptr [ %incdec.ptr2479, %sw.bb2478 ], [ %p, %entry ] @@ -6443,9 +6443,9 @@ s_n_llhttp__internal__n_res_status_code_digit_1: ; preds = %entry, %sw.bb2478 if.end2449: ; preds = %s_n_llhttp__internal__n_res_status_code_digit_1 %653 = load i8, ptr %p.addr.203, align 1 - %switch.tableidx6011 = add i8 %653, -48 - %654 = icmp ult i8 %switch.tableidx6011, 10 - br i1 %654, label %switch.lookup6010, label %s_n_llhttp__internal__n_error_83 + %switch.tableidx6009 = add i8 %653, -48 + %654 = icmp ult i8 %switch.tableidx6009, 10 + br i1 %654, label %switch.lookup6008, label %s_n_llhttp__internal__n_error_83 s_n_llhttp__internal__n_res_after_version: ; preds = %s_n_llhttp__internal__n_invoke_llhttp__on_version_complete_1, %entry %p.addr.204 = phi ptr [ %p.addr.205, %s_n_llhttp__internal__n_invoke_llhttp__on_version_complete_1 ], [ %p, %entry ] @@ -6583,8 +6583,8 @@ s_n_llhttp__internal__n_res_http_major: ; preds = %entry, %if.end2573 if.end2546: ; preds = %s_n_llhttp__internal__n_res_http_major %658 = load i8, ptr %p.addr.212, align 1 - %switch.tableidx6014 = add i8 %658, -48 - %659 = icmp ult i8 %switch.tableidx6014, 10 + %switch.tableidx6012 = add i8 %658, -48 + %659 = icmp ult i8 %switch.tableidx6012, 10 br i1 %659, label %s_n_llhttp__internal__n_invoke_store_http_major_1, label %s_n_llhttp__internal__n_span_end_llhttp__on_version_9 s_n_llhttp__internal__n_span_start_llhttp__on_version_1: ; preds = %entry, %s_n_llhttp__internal__n_invoke_update_type_1, %sw.bb2586 @@ -6635,9 +6635,9 @@ if.then.i4052: ; preds = %for.body.i4041 for.inc.i4055: ; preds = %if.then.i4052 %incdec.ptr.i4056 = getelementptr inbounds i8, ptr %p.addr.010.i4043, i64 1 %cmp.not.i4057 = icmp eq ptr %incdec.ptr.i4056, %endp - br i1 %cmp.not.i4057, label %llparse__match_sequence_id.exit4058.thread4939, label %for.body.i4041, !llvm.loop !4 + br i1 %cmp.not.i4057, label %llparse__match_sequence_id.exit4058.thread4937, label %for.body.i4041, !llvm.loop !4 -llparse__match_sequence_id.exit4058.thread4939: ; preds = %for.inc.i4055 +llparse__match_sequence_id.exit4058.thread4937: ; preds = %for.inc.i4055 store i32 %666, ptr %state, align 8 br label %return @@ -6690,9 +6690,9 @@ if.then.i4076: ; preds = %for.body.i4065 for.inc.i4079: ; preds = %if.then.i4076 %incdec.ptr.i4080 = getelementptr inbounds i8, ptr %p.addr.010.i4067, i64 1 %cmp.not.i4081 = icmp eq ptr %incdec.ptr.i4080, %endp - br i1 %cmp.not.i4081, label %llparse__match_sequence_id.exit4082.thread4951, label %for.body.i4065, !llvm.loop !4 + br i1 %cmp.not.i4081, label %llparse__match_sequence_id.exit4082.thread4949, label %for.body.i4065, !llvm.loop !4 -llparse__match_sequence_id.exit4082.thread4951: ; preds = %for.inc.i4079 +llparse__match_sequence_id.exit4082.thread4949: ; preds = %for.inc.i4079 store i32 %675, ptr %state, align 8 br label %return @@ -6752,9 +6752,9 @@ if.then.i4102: ; preds = %for.body.i4091 for.inc.i4105: ; preds = %if.then.i4102 %incdec.ptr.i4106 = getelementptr inbounds i8, ptr %p.addr.010.i4093, i64 1 %cmp.not.i4107 = icmp eq ptr %incdec.ptr.i4106, %endp - br i1 %cmp.not.i4107, label %llparse__match_sequence_id.exit4108.thread4963, label %for.body.i4091, !llvm.loop !4 + br i1 %cmp.not.i4107, label %llparse__match_sequence_id.exit4108.thread4961, label %for.body.i4091, !llvm.loop !4 -llparse__match_sequence_id.exit4108.thread4963: ; preds = %for.inc.i4105 +llparse__match_sequence_id.exit4108.thread4961: ; preds = %for.inc.i4105 store i32 %685, ptr %state, align 8 br label %return @@ -6834,7 +6834,7 @@ s_n_llhttp__internal__n_invoke_load_type: ; preds = %s_n_llhttp__interna ] s_n_llhttp__internal__n_invoke_update_finish: ; preds = %s_n_llhttp__internal__n_invoke_load_initial_message_completed, %sw.bb4114, %entry - %p.addr.224 = phi ptr [ %p.addr.2255249, %sw.bb4114 ], [ %p.addr.2255249, %s_n_llhttp__internal__n_invoke_load_initial_message_completed ], [ %p, %entry ] + %p.addr.224 = phi ptr [ %p.addr.2255247, %sw.bb4114 ], [ %p.addr.2255247, %s_n_llhttp__internal__n_invoke_load_initial_message_completed ], [ %p, %entry ] %finish.i = getelementptr inbounds i8, ptr %state, i64 79 store i8 2, ptr %finish.i, align 1 %call4097 = tail call i32 @llhttp__on_message_begin(ptr noundef nonnull %state, ptr noundef %p.addr.224, ptr noundef %endp) #8 @@ -6844,15 +6844,15 @@ s_n_llhttp__internal__n_invoke_update_finish: ; preds = %s_n_llhttp__interna ] if.end2676: ; preds = %s_n_llhttp__internal__n_start.preheader, %s_n_llhttp__internal__n_start.backedge - %p.addr.2255249 = phi ptr [ %p.addr.225.be, %s_n_llhttp__internal__n_start.backedge ], [ %p.addr.225.ph, %s_n_llhttp__internal__n_start.preheader ] - %693 = load i8, ptr %p.addr.2255249, align 1 + %p.addr.2255247 = phi ptr [ %p.addr.225.be, %s_n_llhttp__internal__n_start.backedge ], [ %p.addr.225.ph, %s_n_llhttp__internal__n_start.preheader ] + %693 = load i8, ptr %p.addr.2255247, align 1 switch i8 %693, label %s_n_llhttp__internal__n_invoke_load_initial_message_completed [ i8 10, label %s_n_llhttp__internal__n_start.backedge i8 13, label %s_n_llhttp__internal__n_start.backedge ] s_n_llhttp__internal__n_start.backedge: ; preds = %if.end2676, %if.end2676 - %p.addr.225.be = getelementptr inbounds i8, ptr %p.addr.2255249, i64 1 + %p.addr.225.be = getelementptr inbounds i8, ptr %p.addr.2255247, i64 1 %cmp2673 = icmp eq ptr %p.addr.225.be, %endp br i1 %cmp2673, label %return, label %if.end2676 @@ -7058,21 +7058,21 @@ s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name: ; preds = %if. %_span_pos02790 = getelementptr inbounds i8, ptr %state, i64 8 %701 = load ptr, ptr %_span_pos02790, align 8 store ptr null, ptr %_span_pos02790, align 8 - %call2792 = tail call i32 @llhttp__on_chunk_extension_name(ptr noundef %state, ptr noundef %701, ptr noundef nonnull %p.addr.205267) #8 + %call2792 = tail call i32 @llhttp__on_chunk_extension_name(ptr noundef %state, ptr noundef %701, ptr noundef nonnull %p.addr.205265) #8 %cmp2793.not = icmp eq i32 %call2792, 0 br i1 %cmp2793.not, label %if.end2800, label %if.then2795 if.then2795: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name %error2796 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call2792, ptr %error2796, align 8 - %add.ptr2797 = getelementptr inbounds i8, ptr %p.addr.205267, i64 1 + %add.ptr2797 = getelementptr inbounds i8, ptr %p.addr.205265, i64 1 %error_pos2798 = getelementptr inbounds i8, ptr %state, i64 40 store ptr %add.ptr2797, ptr %error_pos2798, align 8 store ptr inttoptr (i64 9 to ptr), ptr %_current, align 8 br label %return if.end2800: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name - %incdec.ptr2801 = getelementptr inbounds i8, ptr %p.addr.205267, i64 1 + %incdec.ptr2801 = getelementptr inbounds i8, ptr %p.addr.205265, i64 1 br label %s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_name_complete s_n_llhttp__internal__n_pause_6: ; preds = %s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_name_complete_1 @@ -7099,21 +7099,21 @@ s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name_1: ; preds = %i %_span_pos02812 = getelementptr inbounds i8, ptr %state, i64 8 %702 = load ptr, ptr %_span_pos02812, align 8 store ptr null, ptr %_span_pos02812, align 8 - %call2814 = tail call i32 @llhttp__on_chunk_extension_name(ptr noundef %state, ptr noundef %702, ptr noundef nonnull %p.addr.205267) #8 + %call2814 = tail call i32 @llhttp__on_chunk_extension_name(ptr noundef %state, ptr noundef %702, ptr noundef nonnull %p.addr.205265) #8 %cmp2815.not = icmp eq i32 %call2814, 0 br i1 %cmp2815.not, label %if.end2822, label %if.then2817 if.then2817: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name_1 %error2818 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call2814, ptr %error2818, align 8 - %add.ptr2819 = getelementptr inbounds i8, ptr %p.addr.205267, i64 1 + %add.ptr2819 = getelementptr inbounds i8, ptr %p.addr.205265, i64 1 %error_pos2820 = getelementptr inbounds i8, ptr %state, i64 40 store ptr %add.ptr2819, ptr %error_pos2820, align 8 store ptr inttoptr (i64 10 to ptr), ptr %_current, align 8 br label %return if.end2822: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name_1 - %incdec.ptr2823 = getelementptr inbounds i8, ptr %p.addr.205267, i64 1 + %incdec.ptr2823 = getelementptr inbounds i8, ptr %p.addr.205265, i64 1 br label %s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_name_complete_1 s_n_llhttp__internal__n_pause_7: ; preds = %s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_value_complete @@ -7140,21 +7140,21 @@ s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value: ; preds = %if %_span_pos02834 = getelementptr inbounds i8, ptr %state, i64 8 %703 = load ptr, ptr %_span_pos02834, align 8 store ptr null, ptr %_span_pos02834, align 8 - %call2836 = tail call i32 @llhttp__on_chunk_extension_value(ptr noundef %state, ptr noundef %703, ptr noundef nonnull %p.addr.175269) #8 + %call2836 = tail call i32 @llhttp__on_chunk_extension_value(ptr noundef %state, ptr noundef %703, ptr noundef nonnull %p.addr.175267) #8 %cmp2837.not = icmp eq i32 %call2836, 0 br i1 %cmp2837.not, label %if.end2844, label %if.then2839 if.then2839: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value %error2840 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call2836, ptr %error2840, align 8 - %add.ptr2841 = getelementptr inbounds i8, ptr %p.addr.175269, i64 1 + %add.ptr2841 = getelementptr inbounds i8, ptr %p.addr.175267, i64 1 %error_pos2842 = getelementptr inbounds i8, ptr %state, i64 40 store ptr %add.ptr2841, ptr %error_pos2842, align 8 store ptr inttoptr (i64 11 to ptr), ptr %_current, align 8 br label %return if.end2844: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value - %incdec.ptr2845 = getelementptr inbounds i8, ptr %p.addr.175269, i64 1 + %incdec.ptr2845 = getelementptr inbounds i8, ptr %p.addr.175267, i64 1 br label %s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_value_complete s_n_llhttp__internal__n_error_20: ; preds = %if.end66 @@ -7199,21 +7199,21 @@ s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_2: ; preds = % %_span_pos02872 = getelementptr inbounds i8, ptr %state, i64 8 %704 = load ptr, ptr %_span_pos02872, align 8 store ptr null, ptr %_span_pos02872, align 8 - %call2874 = tail call i32 @llhttp__on_chunk_extension_value(ptr noundef %state, ptr noundef %704, ptr noundef nonnull %p.addr.145271) #8 + %call2874 = tail call i32 @llhttp__on_chunk_extension_value(ptr noundef %state, ptr noundef %704, ptr noundef nonnull %p.addr.145269) #8 %cmp2875.not = icmp eq i32 %call2874, 0 br i1 %cmp2875.not, label %if.end2882, label %if.then2877 if.then2877: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_2 %error2878 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call2874, ptr %error2878, align 8 - %add.ptr2879 = getelementptr inbounds i8, ptr %p.addr.145271, i64 1 + %add.ptr2879 = getelementptr inbounds i8, ptr %p.addr.145269, i64 1 %error_pos2880 = getelementptr inbounds i8, ptr %state, i64 40 store ptr %add.ptr2879, ptr %error_pos2880, align 8 store ptr inttoptr (i64 14 to ptr), ptr %_current, align 8 br label %return if.end2882: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_2 - %incdec.ptr2883 = getelementptr inbounds i8, ptr %p.addr.145271, i64 1 + %incdec.ptr2883 = getelementptr inbounds i8, ptr %p.addr.145269, i64 1 br label %s_n_llhttp__internal__n_error_21 s_n_llhttp__internal__n_pause_9: ; preds = %s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_value_complete_2 @@ -7240,42 +7240,42 @@ s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_3: ; preds = % %_span_pos02894 = getelementptr inbounds i8, ptr %state, i64 8 %705 = load ptr, ptr %_span_pos02894, align 8 store ptr null, ptr %_span_pos02894, align 8 - %call2896 = tail call i32 @llhttp__on_chunk_extension_value(ptr noundef %state, ptr noundef %705, ptr noundef nonnull %p.addr.175269) #8 + %call2896 = tail call i32 @llhttp__on_chunk_extension_value(ptr noundef %state, ptr noundef %705, ptr noundef nonnull %p.addr.175267) #8 %cmp2897.not = icmp eq i32 %call2896, 0 br i1 %cmp2897.not, label %if.end2904, label %if.then2899 if.then2899: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_3 %error2900 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call2896, ptr %error2900, align 8 - %add.ptr2901 = getelementptr inbounds i8, ptr %p.addr.175269, i64 1 + %add.ptr2901 = getelementptr inbounds i8, ptr %p.addr.175267, i64 1 %error_pos2902 = getelementptr inbounds i8, ptr %state, i64 40 store ptr %add.ptr2901, ptr %error_pos2902, align 8 store ptr inttoptr (i64 16 to ptr), ptr %_current, align 8 br label %return if.end2904: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_3 - %incdec.ptr2905 = getelementptr inbounds i8, ptr %p.addr.175269, i64 1 + %incdec.ptr2905 = getelementptr inbounds i8, ptr %p.addr.175267, i64 1 br label %s_n_llhttp__internal__n_invoke_llhttp__on_chunk_extension_value_complete_2 s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_4: ; preds = %if.end108 %_span_pos02908 = getelementptr inbounds i8, ptr %state, i64 8 %706 = load ptr, ptr %_span_pos02908, align 8 store ptr null, ptr %_span_pos02908, align 8 - %call2910 = tail call i32 @llhttp__on_chunk_extension_value(ptr noundef %state, ptr noundef %706, ptr noundef nonnull %p.addr.175269) #8 + %call2910 = tail call i32 @llhttp__on_chunk_extension_value(ptr noundef %state, ptr noundef %706, ptr noundef nonnull %p.addr.175267) #8 %cmp2911.not = icmp eq i32 %call2910, 0 br i1 %cmp2911.not, label %if.end2918, label %if.then2913 if.then2913: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_4 %error2914 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call2910, ptr %error2914, align 8 - %add.ptr2915 = getelementptr inbounds i8, ptr %p.addr.175269, i64 1 + %add.ptr2915 = getelementptr inbounds i8, ptr %p.addr.175267, i64 1 %error_pos2916 = getelementptr inbounds i8, ptr %state, i64 40 store ptr %add.ptr2915, ptr %error_pos2916, align 8 store ptr inttoptr (i64 17 to ptr), ptr %_current, align 8 br label %return if.end2918: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_value_4 - %incdec.ptr2919 = getelementptr inbounds i8, ptr %p.addr.175269, i64 1 + %incdec.ptr2919 = getelementptr inbounds i8, ptr %p.addr.175267, i64 1 br label %s_n_llhttp__internal__n_error_23 sw.bb2930: ; preds = %if.end123 @@ -7302,42 +7302,42 @@ s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name_2: ; preds = %i %_span_pos02934 = getelementptr inbounds i8, ptr %state, i64 8 %707 = load ptr, ptr %_span_pos02934, align 8 store ptr null, ptr %_span_pos02934, align 8 - %call2936 = tail call i32 @llhttp__on_chunk_extension_name(ptr noundef %state, ptr noundef %707, ptr noundef nonnull %p.addr.205267) #8 + %call2936 = tail call i32 @llhttp__on_chunk_extension_name(ptr noundef %state, ptr noundef %707, ptr noundef nonnull %p.addr.205265) #8 %cmp2937.not = icmp eq i32 %call2936, 0 br i1 %cmp2937.not, label %if.end2944, label %if.then2939 if.then2939: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name_2 %error2940 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call2936, ptr %error2940, align 8 - %add.ptr2941 = getelementptr inbounds i8, ptr %p.addr.205267, i64 1 + %add.ptr2941 = getelementptr inbounds i8, ptr %p.addr.205265, i64 1 %error_pos2942 = getelementptr inbounds i8, ptr %state, i64 40 store ptr %add.ptr2941, ptr %error_pos2942, align 8 store ptr inttoptr (i64 19 to ptr), ptr %_current, align 8 br label %return if.end2944: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name_2 - %incdec.ptr2945 = getelementptr inbounds i8, ptr %p.addr.205267, i64 1 + %incdec.ptr2945 = getelementptr inbounds i8, ptr %p.addr.205265, i64 1 br label %s_n_llhttp__internal__n_span_start_llhttp__on_chunk_extension_value s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name_3: ; preds = %if.end135 %_span_pos02948 = getelementptr inbounds i8, ptr %state, i64 8 %708 = load ptr, ptr %_span_pos02948, align 8 store ptr null, ptr %_span_pos02948, align 8 - %call2950 = tail call i32 @llhttp__on_chunk_extension_name(ptr noundef %state, ptr noundef %708, ptr noundef nonnull %p.addr.205267) #8 + %call2950 = tail call i32 @llhttp__on_chunk_extension_name(ptr noundef %state, ptr noundef %708, ptr noundef nonnull %p.addr.205265) #8 %cmp2951.not = icmp eq i32 %call2950, 0 br i1 %cmp2951.not, label %if.end2958, label %if.then2953 if.then2953: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name_3 %error2954 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call2950, ptr %error2954, align 8 - %add.ptr2955 = getelementptr inbounds i8, ptr %p.addr.205267, i64 1 + %add.ptr2955 = getelementptr inbounds i8, ptr %p.addr.205265, i64 1 %error_pos2956 = getelementptr inbounds i8, ptr %state, i64 40 store ptr %add.ptr2955, ptr %error_pos2956, align 8 store ptr inttoptr (i64 20 to ptr), ptr %_current, align 8 br label %return if.end2958: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_chunk_extension_name_3 - %incdec.ptr2959 = getelementptr inbounds i8, ptr %p.addr.205267, i64 1 + %incdec.ptr2959 = getelementptr inbounds i8, ptr %p.addr.205265, i64 1 br label %s_n_llhttp__internal__n_error_24 s_n_llhttp__internal__n_error_25: ; preds = %if.end167 @@ -7414,8 +7414,8 @@ if.then2986: ; preds = %if.then297 br label %return s_n_llhttp__internal__n_invoke_update_finish_3: ; preds = %s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete - %finish.i4126 = getelementptr inbounds i8, ptr %state, i64 79 - store i8 1, ptr %finish.i4126, align 1 + %finish.i4125 = getelementptr inbounds i8, ptr %state, i64 79 + store i8 1, ptr %finish.i4125, align 1 br label %s_n_llhttp__internal__n_span_start_llhttp__on_body_2 s_n_llhttp__internal__n_error_29: ; preds = %s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete @@ -7476,8 +7476,8 @@ sw.default3023: ; preds = %sw.bb3057 br label %return sw.bb3045: ; preds = %s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete - %upgrade.i4128 = getelementptr inbounds i8, ptr %state, i64 78 - store i8 1, ptr %upgrade.i4128, align 2 + %upgrade.i4127 = getelementptr inbounds i8, ptr %state, i64 78 + store i8 1, ptr %upgrade.i4127, align 2 br label %s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete.sink.split sw.bb3046: ; preds = %s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete @@ -7521,16 +7521,16 @@ sw.bb3051: ; preds = %sw.bb3054 br label %return sw.bb3054: ; preds = %sw.default3058 - %lenient_flags.i4130 = getelementptr inbounds i8, ptr %state, i64 77 - %710 = load i8, ptr %lenient_flags.i4130, align 1 + %lenient_flags.i4129 = getelementptr inbounds i8, ptr %state, i64 77 + %710 = load i8, ptr %lenient_flags.i4129, align 1 %711 = and i8 %710, 2 %cond23 = icmp eq i8 %711, 0 br i1 %cond23, label %sw.bb3051, label %s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete s_n_llhttp__internal__n_invoke_test_flags: ; preds = %s_n_llhttp__internal__n_invoke_test_lenient_flags_7, %sw.bb342 %p.addr.230 = phi ptr [ %incdec.ptr343, %sw.bb342 ], [ %p.addr.35, %s_n_llhttp__internal__n_invoke_test_lenient_flags_7 ] - %flags.i4133 = getelementptr inbounds i8, ptr %state, i64 80 - %712 = load i16, ptr %flags.i4133, align 8 + %flags.i4132 = getelementptr inbounds i8, ptr %state, i64 80 + %712 = load i16, ptr %flags.i4132, align 8 %713 = and i16 %712, 128 %cond12.not = icmp eq i16 %713, 0 br i1 %cond12.not, label %sw.default3058, label %sw.bb3057 @@ -7544,12 +7544,12 @@ sw.bb3057: ; preds = %s_n_llhttp__interna sw.default3058: ; preds = %s_n_llhttp__internal__n_invoke_test_flags %714 = and i16 %712, 544 - %cmp.i4137.not = icmp eq i16 %714, 544 - br i1 %cmp.i4137.not, label %sw.bb3054, label %s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete + %cmp.i4136.not = icmp eq i16 %714, 544 + br i1 %cmp.i4136.not, label %sw.bb3054, label %s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete s_n_llhttp__internal__n_invoke_test_lenient_flags_7: ; preds = %if.end340 - %lenient_flags.i4139 = getelementptr inbounds i8, ptr %state, i64 77 - %715 = load i8, ptr %lenient_flags.i4139, align 1 + %lenient_flags.i4138 = getelementptr inbounds i8, ptr %state, i64 77 + %715 = load i8, ptr %lenient_flags.i4138, align 1 %716 = and i8 %715, 64 %cond11.not = icmp eq i8 %716, 0 br i1 %cond11.not, label %sw.default3065, label %s_n_llhttp__internal__n_invoke_test_flags @@ -7578,16 +7578,16 @@ if.end3078: ; preds = %sw.default3082 br label %s_n_llhttp__internal__n_error_5 s_n_llhttp__internal__n_invoke_test_lenient_flags_8: ; preds = %if.end692 - %lenient_flags.i4142 = getelementptr inbounds i8, ptr %state, i64 77 - %717 = load i8, ptr %lenient_flags.i4142, align 1 + %lenient_flags.i4141 = getelementptr inbounds i8, ptr %state, i64 77 + %717 = load i8, ptr %lenient_flags.i4141, align 1 %718 = and i8 %717, 1 %cond44.not = icmp eq i8 %718, 0 br i1 %cond44.not, label %sw.default3082, label %s_n_llhttp__internal__n_header_field_colon_discard_ws.preheader s_n_llhttp__internal__n_header_field_colon_discard_ws.preheader: ; preds = %entry, %s_n_llhttp__internal__n_invoke_test_lenient_flags_8 %p.addr.36.ph = phi ptr [ %p, %entry ], [ %p.addr.68, %s_n_llhttp__internal__n_invoke_test_lenient_flags_8 ] - %cmp3465272 = icmp eq ptr %p.addr.36.ph, %endp - br i1 %cmp3465272, label %return, label %if.end349 + %cmp3465270 = icmp eq ptr %p.addr.36.ph, %endp + br i1 %cmp3465270, label %return, label %if.end349 sw.default3082: ; preds = %s_n_llhttp__internal__n_invoke_test_lenient_flags_8 %_span_pos03068 = getelementptr inbounds i8, ptr %state, i64 8 @@ -7599,16 +7599,16 @@ sw.default3082: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_invoke_test_lenient_flags_10: ; preds = %if.end370, %if.end370 %p.addr.231 = getelementptr inbounds i8, ptr %p.addr.39, i64 1 - %lenient_flags.i4144 = getelementptr inbounds i8, ptr %state, i64 77 - %720 = load i8, ptr %lenient_flags.i4144, align 1 + %lenient_flags.i4143 = getelementptr inbounds i8, ptr %state, i64 77 + %720 = load i8, ptr %lenient_flags.i4143, align 1 %721 = and i8 %720, 1 %cond29.not = icmp eq i8 %721, 0 br i1 %cond29.not, label %sw.default3089, label %s_n_llhttp__internal__n_header_value_discard_ws.preheader s_n_llhttp__internal__n_header_value_discard_ws.preheader: ; preds = %entry, %s_n_llhttp__internal__n_invoke_llhttp__on_header_field_complete, %s_n_llhttp__internal__n_invoke_test_lenient_flags_10 %p.addr.64.ph = phi ptr [ %p, %entry ], [ %p.addr.231, %s_n_llhttp__internal__n_invoke_test_lenient_flags_10 ], [ %p.addr.65, %s_n_llhttp__internal__n_invoke_llhttp__on_header_field_complete ] - %cmp6505276 = icmp eq ptr %p.addr.64.ph, %endp - br i1 %cmp6505276, label %return, label %if.end653 + %cmp6505274 = icmp eq ptr %p.addr.64.ph, %endp + br i1 %cmp6505274, label %return, label %if.end653 sw.default3089: ; preds = %s_n_llhttp__internal__n_invoke_test_lenient_flags_10 %error3083 = getelementptr inbounds i8, ptr %state, i64 24 @@ -7649,12 +7649,12 @@ if.then3109: ; preds = %if.end363 br label %return s_n_llhttp__internal__n_invoke_update_header_state: ; preds = %s_n_llhttp__internal__n_invoke_load_header_state, %sw.bb3127, %sw.bb3126 - %.sink5727 = phi i16 [ 4, %sw.bb3127 ], [ 2, %sw.bb3126 ], [ 1, %s_n_llhttp__internal__n_invoke_load_header_state ] - %flags.i4149 = getelementptr inbounds i8, ptr %state, i64 80 - %722 = load i16, ptr %flags.i4149, align 8 - %723 = or i16 %722, %.sink5727 - store i16 %723, ptr %flags.i4149, align 8 - store i8 1, ptr %header_state.i4151, align 4 + %.sink5725 = phi i16 [ 4, %sw.bb3127 ], [ 2, %sw.bb3126 ], [ 1, %s_n_llhttp__internal__n_invoke_load_header_state ] + %flags.i4148 = getelementptr inbounds i8, ptr %state, i64 80 + %722 = load i16, ptr %flags.i4148, align 8 + %723 = or i16 %722, %.sink5725 + store i16 %723, ptr %flags.i4148, align 8 + store i8 1, ptr %header_state.i4150, align 4 br label %s_n_llhttp__internal__n_span_start_llhttp__on_header_value sw.bb3126: ; preds = %s_n_llhttp__internal__n_invoke_load_header_state @@ -7664,15 +7664,15 @@ sw.bb3127: ; preds = %s_n_llhttp__interna br label %s_n_llhttp__internal__n_invoke_update_header_state sw.bb3128: ; preds = %s_n_llhttp__internal__n_invoke_load_header_state - %flags.i4150 = getelementptr inbounds i8, ptr %state, i64 80 - %724 = load i16, ptr %flags.i4150, align 8 + %flags.i4149 = getelementptr inbounds i8, ptr %state, i64 80 + %724 = load i16, ptr %flags.i4149, align 8 %725 = or i16 %724, 8 - store i16 %725, ptr %flags.i4150, align 8 + store i16 %725, ptr %flags.i4149, align 8 br label %s_n_llhttp__internal__n_span_start_llhttp__on_header_value s_n_llhttp__internal__n_invoke_load_header_state: ; preds = %if.end370 - %header_state.i4151 = getelementptr inbounds i8, ptr %state, i64 76 - %726 = load i8, ptr %header_state.i4151, align 4 + %header_state.i4150 = getelementptr inbounds i8, ptr %state, i64 76 + %726 = load i8, ptr %header_state.i4150, align 4 switch i8 %726, label %s_n_llhttp__internal__n_span_start_llhttp__on_header_value [ i8 2, label %sw.bb3131 i8 5, label %s_n_llhttp__internal__n_invoke_update_header_state @@ -7702,8 +7702,8 @@ sw.default3139: ; preds = %sw.bb657 br label %return s_n_llhttp__internal__n_invoke_test_lenient_flags_11: ; preds = %if.end381 - %lenient_flags.i4155 = getelementptr inbounds i8, ptr %state, i64 77 - %727 = load i8, ptr %lenient_flags.i4155, align 1 + %lenient_flags.i4154 = getelementptr inbounds i8, ptr %state, i64 77 + %727 = load i8, ptr %lenient_flags.i4154, align 1 %728 = and i8 %727, 1 %cond28.not = icmp eq i8 %728, 0 br i1 %cond28.not, label %sw.default3146, label %s_n_llhttp__internal__n_header_value_discard_lws @@ -7719,27 +7719,27 @@ sw.default3146: ; preds = %s_n_llhttp__interna br label %return s_n_llhttp__internal__n_invoke_load_header_state_3: ; preds = %if.end390, %if.end390 - %header_state.i4157 = getelementptr inbounds i8, ptr %state, i64 76 - %729 = load i8, ptr %header_state.i4157, align 4 + %header_state.i4156 = getelementptr inbounds i8, ptr %state, i64 76 + %729 = load i8, ptr %header_state.i4156, align 4 %cond36 = icmp eq i8 %729, 8 br i1 %cond36, label %sw.bb3150, label %s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1 sw.bb3150: ; preds = %s_n_llhttp__internal__n_invoke_load_header_state_3 - store i8 0, ptr %header_state.i4157, align 4 + store i8 0, ptr %header_state.i4156, align 4 br label %s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1 s_n_llhttp__internal__n_invoke_update_header_state_2: ; preds = %s_n_llhttp__internal__n_invoke_load_header_state_4, %sw.bb3165, %sw.bb3164 - %.sink5731 = phi i16 [ 4, %sw.bb3165 ], [ 2, %sw.bb3164 ], [ 1, %s_n_llhttp__internal__n_invoke_load_header_state_4 ] - %flags.i4165 = getelementptr inbounds i8, ptr %state, i64 80 - %730 = load i16, ptr %flags.i4165, align 8 - %731 = or i16 %730, %.sink5731 - store i16 %731, ptr %flags.i4165, align 8 - store i8 1, ptr %header_state.i4161, align 4 + %.sink5729 = phi i16 [ 4, %sw.bb3165 ], [ 2, %sw.bb3164 ], [ 1, %s_n_llhttp__internal__n_invoke_load_header_state_4 ] + %flags.i4164 = getelementptr inbounds i8, ptr %state, i64 80 + %730 = load i16, ptr %flags.i4164, align 8 + %731 = or i16 %730, %.sink5729 + store i16 %731, ptr %flags.i4164, align 8 + store i8 1, ptr %header_state.i4160, align 4 br label %s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete s_n_llhttp__internal__n_invoke_load_header_state_4: ; preds = %if.end390 - %header_state.i4161 = getelementptr inbounds i8, ptr %state, i64 76 - %732 = load i8, ptr %header_state.i4161, align 4 + %header_state.i4160 = getelementptr inbounds i8, ptr %state, i64 76 + %732 = load i8, ptr %header_state.i4160, align 4 switch i8 %732, label %s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete [ i8 5, label %s_n_llhttp__internal__n_invoke_update_header_state_2 i8 6, label %sw.bb3164 @@ -7754,10 +7754,10 @@ sw.bb3165: ; preds = %s_n_llhttp__interna br label %s_n_llhttp__internal__n_invoke_update_header_state_2 sw.bb3166: ; preds = %s_n_llhttp__internal__n_invoke_load_header_state_4 - %flags.i4166 = getelementptr inbounds i8, ptr %state, i64 80 - %733 = load i16, ptr %flags.i4166, align 8 + %flags.i4165 = getelementptr inbounds i8, ptr %state, i64 80 + %733 = load i16, ptr %flags.i4165, align 8 %734 = or i16 %733, 8 - store i16 %734, ptr %flags.i4166, align 8 + store i16 %734, ptr %flags.i4165, align 8 br label %s_n_llhttp__internal__n_invoke_llhttp__on_header_value_complete s_n_llhttp__internal__n_error_40: ; preds = %if.end399 @@ -7795,7 +7795,7 @@ s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3: ; preds = %if.end408 %_span_pos03188 = getelementptr inbounds i8, ptr %state, i64 8 %736 = load ptr, ptr %_span_pos03188, align 8 store ptr null, ptr %_span_pos03188, align 8 - %call3190 = tail call i32 @llhttp__on_header_value(ptr noundef %state, ptr noundef %736, ptr noundef nonnull %p.addr.435297) #8 + %call3190 = tail call i32 @llhttp__on_header_value(ptr noundef %state, ptr noundef %736, ptr noundef nonnull %p.addr.435295) #8 %cmp3191.not = icmp eq i32 %call3190, 0 br i1 %cmp3191.not, label %s_n_llhttp__internal__n_header_value_almost_done, label %if.then3193 @@ -7803,7 +7803,7 @@ if.then3193: ; preds = %s_n_llhttp__interna %error3194 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call3190, ptr %error3194, align 8 %error_pos3195 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.435297, ptr %error_pos3195, align 8 + store ptr %p.addr.435295, ptr %error_pos3195, align 8 store ptr inttoptr (i64 43 to ptr), ptr %_current, align 8 br label %return @@ -7811,21 +7811,21 @@ s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4: ; preds = %if.end408 %_span_pos03200 = getelementptr inbounds i8, ptr %state, i64 8 %737 = load ptr, ptr %_span_pos03200, align 8 store ptr null, ptr %_span_pos03200, align 8 - %call3202 = tail call i32 @llhttp__on_header_value(ptr noundef %state, ptr noundef %737, ptr noundef nonnull %p.addr.435297) #8 + %call3202 = tail call i32 @llhttp__on_header_value(ptr noundef %state, ptr noundef %737, ptr noundef nonnull %p.addr.435295) #8 %cmp3203.not = icmp eq i32 %call3202, 0 br i1 %cmp3203.not, label %if.end3210, label %if.then3205 if.then3205: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4 %error3206 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call3202, ptr %error3206, align 8 - %add.ptr3207 = getelementptr inbounds i8, ptr %p.addr.435297, i64 1 + %add.ptr3207 = getelementptr inbounds i8, ptr %p.addr.435295, i64 1 %error_pos3208 = getelementptr inbounds i8, ptr %state, i64 40 store ptr %add.ptr3207, ptr %error_pos3208, align 8 store ptr inttoptr (i64 43 to ptr), ptr %_current, align 8 br label %return if.end3210: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4 - %incdec.ptr3211 = getelementptr inbounds i8, ptr %p.addr.435297, i64 1 + %incdec.ptr3211 = getelementptr inbounds i8, ptr %p.addr.435295, i64 1 br label %s_n_llhttp__internal__n_header_value_almost_done if.then3219: ; preds = %sw.default3226 @@ -7837,16 +7837,16 @@ if.then3219: ; preds = %sw.default3226 br label %return s_n_llhttp__internal__n_invoke_test_lenient_flags_12: ; preds = %if.end423 - %lenient_flags.i4167 = getelementptr inbounds i8, ptr %state, i64 77 - %738 = load i8, ptr %lenient_flags.i4167, align 1 + %lenient_flags.i4166 = getelementptr inbounds i8, ptr %state, i64 77 + %738 = load i8, ptr %lenient_flags.i4166, align 1 %739 = and i8 %738, 1 %cond34.not = icmp eq i8 %739, 0 br i1 %cond34.not, label %sw.default3226, label %s_n_llhttp__internal__n_header_value_lenient.preheader s_n_llhttp__internal__n_header_value_lenient.preheader: ; preds = %entry, %s_n_llhttp__internal__n_invoke_test_lenient_flags_12 %p.addr.43.ph = phi ptr [ %p, %entry ], [ %p.addr.45, %s_n_llhttp__internal__n_invoke_test_lenient_flags_12 ] - %cmp4055296 = icmp eq ptr %p.addr.43.ph, %endp - br i1 %cmp4055296, label %return, label %if.end408 + %cmp4055294 = icmp eq ptr %p.addr.43.ph, %endp + br i1 %cmp4055294, label %return, label %if.end408 sw.default3226: ; preds = %s_n_llhttp__internal__n_invoke_test_lenient_flags_12 %_span_pos03214 = getelementptr inbounds i8, ptr %state, i64 8 @@ -7857,11 +7857,11 @@ sw.default3226: ; preds = %s_n_llhttp__interna br i1 %cmp3217.not, label %s_n_llhttp__internal__n_error_41, label %if.then3219 s_n_llhttp__internal__n_invoke_update_header_state_4: ; preds = %sw.bb450, %sw.bb3240, %sw.bb3239 - %.sink5735 = phi i16 [ 4, %sw.bb3240 ], [ 2, %sw.bb3239 ], [ 1, %sw.bb450 ] - %flags.i4172 = getelementptr inbounds i8, ptr %state, i64 80 - %741 = load i16, ptr %flags.i4172, align 8 - %742 = or i16 %741, %.sink5735 - store i16 %742, ptr %flags.i4172, align 8 + %.sink5733 = phi i16 [ 4, %sw.bb3240 ], [ 2, %sw.bb3239 ], [ 1, %sw.bb450 ] + %flags.i4171 = getelementptr inbounds i8, ptr %state, i64 80 + %741 = load i16, ptr %flags.i4171, align 8 + %742 = or i16 %741, %.sink5733 + store i16 %742, ptr %flags.i4171, align 8 store i8 1, ptr %header_state.i, align 4 br label %s_n_llhttp__internal__n_header_value_connection.preheader @@ -7872,15 +7872,15 @@ sw.bb3240: ; preds = %sw.bb450 br label %s_n_llhttp__internal__n_invoke_update_header_state_4 sw.bb3241: ; preds = %sw.bb450 - %flags.i4173 = getelementptr inbounds i8, ptr %state, i64 80 - %743 = load i16, ptr %flags.i4173, align 8 + %flags.i4172 = getelementptr inbounds i8, ptr %state, i64 80 + %743 = load i16, ptr %flags.i4172, align 8 %744 = or i16 %743, 8 - store i16 %744, ptr %flags.i4173, align 8 + store i16 %744, ptr %flags.i4172, align 8 br label %s_n_llhttp__internal__n_header_value_connection.preheader s_n_llhttp__internal__n_invoke_update_header_state_5: ; preds = %if.end444 - %header_state.i4174 = getelementptr inbounds i8, ptr %state, i64 76 - store i8 0, ptr %header_state.i4174, align 4 + %header_state.i4173 = getelementptr inbounds i8, ptr %state, i64 76 + store i8 0, ptr %header_state.i4173, align 4 br label %s_n_llhttp__internal__n_header_value_connection_token.preheader if.then3258: ; preds = %sw.bb3264 @@ -7892,45 +7892,46 @@ if.then3258: ; preds = %sw.bb3264 br label %return switch.lookup: ; preds = %if.end547 - %switch.idx.cast = zext nneg i8 %switch.tableidx to i64 - %p.addr.232 = getelementptr inbounds i8, ptr %p.addr.555285, i64 1 - %745 = load i64, ptr %content_length.i4175, align 8 - %cmp.i4176 = icmp ugt i64 %745, 1844674407370955161 - br i1 %cmp.i4176, label %sw.bb3264, label %if.end.i4177 - -if.end.i4177: ; preds = %switch.lookup - %mul.i4178 = mul nuw i64 %745, 10 - store i64 %mul.i4178, ptr %content_length.i4175, align 8 - %sub.i4180 = xor i64 %switch.idx.cast, -1 - %cmp5.i4181 = icmp ugt i64 %mul.i4178, %sub.i4180 - br i1 %cmp5.i4181, label %sw.bb3264, label %llhttp__internal__c_mul_add_content_length_1.exit - -llhttp__internal__c_mul_add_content_length_1.exit: ; preds = %if.end.i4177 - %add.i4184 = add i64 %mul.i4178, %switch.idx.cast - store i64 %add.i4184, ptr %content_length.i4175, align 8 + %p.addr.232 = getelementptr inbounds i8, ptr %p.addr.555283, i64 1 + %745 = load i64, ptr %content_length.i4174, align 8 + %cmp.i4175 = icmp ugt i64 %745, 1844674407370955161 + br i1 %cmp.i4175, label %sw.bb3264, label %if.end.i4176 + +if.end.i4176: ; preds = %switch.lookup + %mul.i4177 = mul nuw i64 %745, 10 + store i64 %mul.i4177, ptr %content_length.i4174, align 8 + %746 = sub nsw i8 47, %84 + %sub.i4178 = sext i8 %746 to i64 + %cmp5.i4179 = icmp ugt i64 %mul.i4177, %sub.i4178 + br i1 %cmp5.i4179, label %sw.bb3264, label %llhttp__internal__c_mul_add_content_length_1.exit + +llhttp__internal__c_mul_add_content_length_1.exit: ; preds = %if.end.i4176 + %.pre.i4181 = zext nneg i8 %switch.tableidx to i64 + %add.i4182 = add i64 %mul.i4177, %.pre.i4181 + store i64 %add.i4182, ptr %content_length.i4174, align 8 %cmp544 = icmp eq ptr %p.addr.232, %endp br i1 %cmp544, label %return, label %if.end547 -sw.bb3264: ; preds = %switch.lookup, %if.end.i4177 +sw.bb3264: ; preds = %switch.lookup, %if.end.i4176 %_span_pos03253 = getelementptr inbounds i8, ptr %state, i64 8 - %746 = load ptr, ptr %_span_pos03253, align 8 + %747 = load ptr, ptr %_span_pos03253, align 8 store ptr null, ptr %_span_pos03253, align 8 - %call3255 = tail call i32 @llhttp__on_header_value(ptr noundef nonnull %state, ptr noundef %746, ptr noundef nonnull %p.addr.232) #8 + %call3255 = tail call i32 @llhttp__on_header_value(ptr noundef nonnull %state, ptr noundef %747, ptr noundef nonnull %p.addr.232) #8 %cmp3256.not = icmp eq i32 %call3255, 0 br i1 %cmp3256.not, label %s_n_llhttp__internal__n_error_43, label %if.then3258 s_n_llhttp__internal__n_invoke_or_flags_15: ; preds = %if.end536, %if.end536 - %flags.i4186 = getelementptr inbounds i8, ptr %state, i64 80 - %747 = load i16, ptr %flags.i4186, align 8 - %748 = or i16 %747, 32 - store i16 %748, ptr %flags.i4186, align 8 + %flags.i4184 = getelementptr inbounds i8, ptr %state, i64 80 + %748 = load i16, ptr %flags.i4184, align 8 + %749 = or i16 %748, 32 + store i16 %749, ptr %flags.i4184, align 8 br label %s_n_llhttp__internal__n_header_value_otherwise s_n_llhttp__internal__n_span_end_llhttp__on_header_value_6: ; preds = %if.end536 %_span_pos03270 = getelementptr inbounds i8, ptr %state, i64 8 - %749 = load ptr, ptr %_span_pos03270, align 8 + %750 = load ptr, ptr %_span_pos03270, align 8 store ptr null, ptr %_span_pos03270, align 8 - %call3272 = tail call i32 @llhttp__on_header_value(ptr noundef %state, ptr noundef %749, ptr noundef nonnull %p.addr.545287) #8 + %call3272 = tail call i32 @llhttp__on_header_value(ptr noundef %state, ptr noundef %750, ptr noundef nonnull %p.addr.545285) #8 %cmp3273.not = icmp eq i32 %call3272, 0 br i1 %cmp3273.not, label %s_n_llhttp__internal__n_error_44, label %if.then3275 @@ -7938,7 +7939,7 @@ if.then3275: ; preds = %s_n_llhttp__interna %error3276 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call3272, ptr %error3276, align 8 %error_pos3277 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.545287, ptr %error_pos3277, align 8 + store ptr %p.addr.545285, ptr %error_pos3277, align 8 store ptr inttoptr (i64 54 to ptr), ptr %_current, align 8 br label %return @@ -7966,54 +7967,54 @@ if.end3299: ; preds = %sw.bb3330 br label %s_n_llhttp__internal__n_error_46 s_n_llhttp__internal__n_invoke_update_header_state_8: ; preds = %if.end619, %if.end619 - %header_state.i4187 = getelementptr inbounds i8, ptr %state, i64 76 - store i8 8, ptr %header_state.i4187, align 4 + %header_state.i4185 = getelementptr inbounds i8, ptr %state, i64 76 + store i8 8, ptr %header_state.i4185, align 4 br label %s_n_llhttp__internal__n_header_value_otherwise if.then3310: ; preds = %sw.bb3318 %error3311 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call3307, ptr %error3311, align 8 - %add.ptr3312 = getelementptr inbounds i8, ptr %p.addr.615279, i64 1 + %add.ptr3312 = getelementptr inbounds i8, ptr %p.addr.615277, i64 1 %error_pos3313 = getelementptr inbounds i8, ptr %state, i64 40 store ptr %add.ptr3312, ptr %error_pos3313, align 8 store ptr inttoptr (i64 58 to ptr), ptr %_current, align 8 br label %return if.end3315: ; preds = %sw.bb3318 - %incdec.ptr3316 = getelementptr inbounds i8, ptr %p.addr.615279, i64 1 + %incdec.ptr3316 = getelementptr inbounds i8, ptr %p.addr.615277, i64 1 br label %s_n_llhttp__internal__n_error_45 sw.bb3318: ; preds = %sw.bb3321 %_span_pos03305 = getelementptr inbounds i8, ptr %state, i64 8 - %750 = load ptr, ptr %_span_pos03305, align 8 + %751 = load ptr, ptr %_span_pos03305, align 8 store ptr null, ptr %_span_pos03305, align 8 - %call3307 = tail call i32 @llhttp__on_header_value(ptr noundef nonnull %state, ptr noundef %750, ptr noundef nonnull %p.addr.615279) #8 + %call3307 = tail call i32 @llhttp__on_header_value(ptr noundef nonnull %state, ptr noundef %751, ptr noundef nonnull %p.addr.615277) #8 %cmp3308.not = icmp eq i32 %call3307, 0 br i1 %cmp3308.not, label %if.end3315, label %if.then3310 s_n_llhttp__internal__n_invoke_load_type_1: ; preds = %if.end619 - %type.i4188 = getelementptr inbounds i8, ptr %state, i64 72 - %751 = load i8, ptr %type.i4188, align 8 - %cond38 = icmp eq i8 %751, 1 + %type.i4186 = getelementptr inbounds i8, ptr %state, i64 72 + %752 = load i8, ptr %type.i4186, align 8 + %cond38 = icmp eq i8 %752, 1 br i1 %cond38, label %sw.bb3321, label %s_n_llhttp__internal__n_header_value_te_chunked sw.bb3321: ; preds = %s_n_llhttp__internal__n_invoke_load_type_1 - %lenient_flags.i4190 = getelementptr inbounds i8, ptr %state, i64 77 - %752 = load i8, ptr %lenient_flags.i4190, align 1 - %753 = and i8 %752, 8 - %cond39 = icmp eq i8 %753, 0 + %lenient_flags.i4188 = getelementptr inbounds i8, ptr %state, i64 77 + %753 = load i8, ptr %lenient_flags.i4188, align 1 + %754 = and i8 %753, 8 + %cond39 = icmp eq i8 %754, 0 br i1 %cond39, label %sw.bb3318, label %s_n_llhttp__internal__n_header_value_te_chunked s_n_llhttp__internal__n_invoke_update_header_state_9: ; preds = %if.end606, %sw.bb3346 - %p.addr.233 = phi ptr [ %p.addr.63, %sw.bb3346 ], [ %p.addr.605281, %if.end606 ] - %header_state.i4193 = getelementptr inbounds i8, ptr %state, i64 76 - store i8 0, ptr %header_state.i4193, align 4 + %p.addr.233 = phi ptr [ %p.addr.63, %sw.bb3346 ], [ %p.addr.605279, %if.end606 ] + %header_state.i4191 = getelementptr inbounds i8, ptr %state, i64 76 + store i8 0, ptr %header_state.i4191, align 4 br label %s_n_llhttp__internal__n_header_value.preheader s_n_llhttp__internal__n_invoke_and_flags: ; preds = %sw.bb3345, %sw.bb3333, %sw.bb3338 - %storemerge = and i16 %760, -521 - %754 = or disjoint i16 %storemerge, 512 - store i16 %754, ptr %flags.i4205, align 8 + %storemerge = and i16 %761, -521 + %755 = or disjoint i16 %storemerge, 512 + store i16 %755, ptr %flags.i4203, align 8 br label %s_n_llhttp__internal__n_header_value_te_chunked sw.bb3330: ; preds = %sw.bb3333 @@ -8023,46 +8024,46 @@ sw.bb3330: ; preds = %sw.bb3333 br i1 %cmp3292.not, label %if.end3299, label %if.then3294 sw.bb3333: ; preds = %sw.bb3338 - %lenient_flags.i4196 = getelementptr inbounds i8, ptr %state, i64 77 - %755 = load i8, ptr %lenient_flags.i4196, align 1 - %756 = and i8 %755, 8 - %cond41 = icmp eq i8 %756, 0 + %lenient_flags.i4194 = getelementptr inbounds i8, ptr %state, i64 77 + %756 = load i8, ptr %lenient_flags.i4194, align 1 + %757 = and i8 %756, 8 + %cond41 = icmp eq i8 %757, 0 br i1 %cond41, label %sw.bb3330, label %s_n_llhttp__internal__n_invoke_and_flags sw.bb3338: ; preds = %sw.bb3345 - %type.i4199 = getelementptr inbounds i8, ptr %state, i64 72 - %757 = load i8, ptr %type.i4199, align 8 - %cond40 = icmp eq i8 %757, 1 + %type.i4197 = getelementptr inbounds i8, ptr %state, i64 72 + %758 = load i8, ptr %type.i4197, align 8 + %cond40 = icmp eq i8 %758, 1 br i1 %cond40, label %sw.bb3333, label %s_n_llhttp__internal__n_invoke_and_flags sw.bb3344: ; preds = %if.end646 - %flags.i4202 = getelementptr inbounds i8, ptr %state, i64 80 - %758 = load i16, ptr %flags.i4202, align 8 - %759 = and i16 %758, 32 - %cond42 = icmp eq i16 %759, 0 + %flags.i4200 = getelementptr inbounds i8, ptr %state, i64 80 + %759 = load i16, ptr %flags.i4200, align 8 + %760 = and i16 %759, 32 + %cond42 = icmp eq i16 %760, 0 br i1 %cond42, label %s_n_llhttp__internal__n_header_value_content_length.preheader, label %sw.default3286 s_n_llhttp__internal__n_header_value_content_length.preheader: ; preds = %entry, %sw.bb3344 %p.addr.55.ph = phi ptr [ %p, %entry ], [ %p.addr.63, %sw.bb3344 ] - %cmp5445284 = icmp eq ptr %p.addr.55.ph, %endp - br i1 %cmp5445284, label %return, label %if.end547.lr.ph + %cmp5445282 = icmp eq ptr %p.addr.55.ph, %endp + br i1 %cmp5445282, label %return, label %if.end547.lr.ph if.end547.lr.ph: ; preds = %s_n_llhttp__internal__n_header_value_content_length.preheader - %content_length.i4175 = getelementptr inbounds i8, ptr %state, i64 64 + %content_length.i4174 = getelementptr inbounds i8, ptr %state, i64 64 br label %if.end547 sw.bb3345: ; preds = %if.end646 - %flags.i4205 = getelementptr inbounds i8, ptr %state, i64 80 - %760 = load i16, ptr %flags.i4205, align 8 - %761 = and i16 %760, 8 - %cond37.not = icmp eq i16 %761, 0 + %flags.i4203 = getelementptr inbounds i8, ptr %state, i64 80 + %761 = load i16, ptr %flags.i4203, align 8 + %762 = and i16 %761, 8 + %cond37.not = icmp eq i16 %762, 0 br i1 %cond37.not, label %s_n_llhttp__internal__n_invoke_and_flags, label %sw.bb3338 sw.bb3346: ; preds = %if.end646 - %flags.i4208 = getelementptr inbounds i8, ptr %state, i64 80 - %762 = load i16, ptr %flags.i4208, align 8 - %763 = or i16 %762, 16 - store i16 %763, ptr %flags.i4208, align 8 + %flags.i4206 = getelementptr inbounds i8, ptr %state, i64 80 + %763 = load i16, ptr %flags.i4206, align 8 + %764 = or i16 %763, 16 + store i16 %764, ptr %flags.i4206, align 8 br label %s_n_llhttp__internal__n_invoke_update_header_state_9 s_n_llhttp__internal__n_pause_15: ; preds = %s_n_llhttp__internal__n_invoke_llhttp__on_header_field_complete @@ -8087,9 +8088,9 @@ s_n_llhttp__internal__n_error_34: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_span_end_llhttp__on_header_field_1: ; preds = %if.end692 %_span_pos03358 = getelementptr inbounds i8, ptr %state, i64 8 - %764 = load ptr, ptr %_span_pos03358, align 8 + %765 = load ptr, ptr %_span_pos03358, align 8 store ptr null, ptr %_span_pos03358, align 8 - %call3360 = tail call i32 @llhttp__on_header_field(ptr noundef %state, ptr noundef %764, ptr noundef nonnull %p.addr.68) #8 + %call3360 = tail call i32 @llhttp__on_header_field(ptr noundef %state, ptr noundef %765, ptr noundef nonnull %p.addr.68) #8 %cmp3361.not = icmp eq i32 %call3360, 0 br i1 %cmp3361.not, label %if.end3368, label %if.then3363 @@ -8108,9 +8109,9 @@ if.end3368: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_span_end_llhttp__on_header_field_2: ; preds = %if.end673 %_span_pos03372 = getelementptr inbounds i8, ptr %state, i64 8 - %765 = load ptr, ptr %_span_pos03372, align 8 + %766 = load ptr, ptr %_span_pos03372, align 8 store ptr null, ptr %_span_pos03372, align 8 - %call3374 = tail call i32 @llhttp__on_header_field(ptr noundef %state, ptr noundef %765, ptr noundef nonnull %p.addr.66) #8 + %call3374 = tail call i32 @llhttp__on_header_field(ptr noundef %state, ptr noundef %766, ptr noundef nonnull %p.addr.66) #8 %cmp3375.not = icmp eq i32 %call3374, 0 br i1 %cmp3375.not, label %if.end3382, label %if.then3377 @@ -8142,8 +8143,8 @@ s_n_llhttp__internal__n_invoke_store_header_state: ; preds = %if.then.i2985, %if %match.2 = phi i8 [ 1, %if.then.i2855 ], [ 2, %if.then.i2881 ], [ 1, %if.then.i2933 ], [ 3, %if.then.i2959 ], [ 4, %if.then.i2985 ] store i32 0, ptr %state, align 8 %incdec.ptr807 = getelementptr inbounds i8, ptr %scevgep25.i2971.sink, i64 1 - %header_state.i4211 = getelementptr inbounds i8, ptr %state, i64 76 - store i8 %match.2, ptr %header_state.i4211, align 4 + %header_state.i4209 = getelementptr inbounds i8, ptr %state, i64 76 + store i8 %match.2, ptr %header_state.i4209, align 4 br label %s_n_llhttp__internal__n_header_field_colon s_n_llhttp__internal__n_invoke_update_header_state_11.sink.split: ; preds = %for.body.i2972, %for.body.i2946, %for.body.i2920, %for.body.i2894, %for.body.i2868, %for.body.i2842 @@ -8194,9 +8195,9 @@ s_n_llhttp__internal__n_invoke_update_http_major: ; preds = %if.end870 s_n_llhttp__internal__n_span_end_llhttp__on_url_3: ; preds = %if.end1169 %_span_pos03419 = getelementptr inbounds i8, ptr %state, i64 8 - %766 = load ptr, ptr %_span_pos03419, align 8 + %767 = load ptr, ptr %_span_pos03419, align 8 store ptr null, ptr %_span_pos03419, align 8 - %call3421 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %766, ptr noundef nonnull %p.addr.106) #8 + %call3421 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %767, ptr noundef nonnull %p.addr.106) #8 %cmp3422.not = icmp eq i32 %call3421, 0 br i1 %cmp3422.not, label %s_n_llhttp__internal__n_url_skip_to_http09, label %if.then3424 @@ -8221,9 +8222,9 @@ s_n_llhttp__internal__n_error_48: ; preds = %if.end902, %if.end8 s_n_llhttp__internal__n_span_end_llhttp__on_url_4: ; preds = %if.end1169 %_span_pos03435 = getelementptr inbounds i8, ptr %state, i64 8 - %767 = load ptr, ptr %_span_pos03435, align 8 + %768 = load ptr, ptr %_span_pos03435, align 8 store ptr null, ptr %_span_pos03435, align 8 - %call3437 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %767, ptr noundef nonnull %p.addr.106) #8 + %call3437 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %768, ptr noundef nonnull %p.addr.106) #8 %cmp3438.not = icmp eq i32 %call3437, 0 br i1 %cmp3438.not, label %s_n_llhttp__internal__n_url_skip_lf_to_http09, label %if.then3440 @@ -8246,10 +8247,10 @@ s_n_llhttp__internal__n_error_56: ; preds = %if.end916 br label %return s_n_llhttp__internal__n_invoke_test_lenient_flags_16: ; preds = %if.end930 - %lenient_flags.i4213 = getelementptr inbounds i8, ptr %state, i64 77 - %768 = load i8, ptr %lenient_flags.i4213, align 1 - %769 = and i8 %768, 64 - %cond59.not = icmp eq i8 %769, 0 + %lenient_flags.i4211 = getelementptr inbounds i8, ptr %state, i64 77 + %769 = load i8, ptr %lenient_flags.i4211, align 1 + %770 = and i8 %769, 64 + %cond59.not = icmp eq i8 %770, 0 br i1 %cond59.not, label %sw.default3459, label %s_n_llhttp__internal__n_headers_start sw.default3459: ; preds = %s_n_llhttp__internal__n_invoke_test_lenient_flags_16 @@ -8294,9 +8295,9 @@ s_n_llhttp__internal__n_error_52: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_span_end_llhttp__on_version_1: ; preds = %sw.bb3508, %s_n_llhttp__internal__n_invoke_store_http_minor, %sw.bb3509, %sw.bb3507 %_span_pos03474 = getelementptr inbounds i8, ptr %state, i64 8 - %770 = load ptr, ptr %_span_pos03474, align 8 + %771 = load ptr, ptr %_span_pos03474, align 8 store ptr null, ptr %_span_pos03474, align 8 - %call3476 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %770, ptr noundef nonnull %p.addr.237) #8 + %call3476 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %771, ptr noundef nonnull %p.addr.237) #8 %cmp3477.not = icmp eq i32 %call3476, 0 br i1 %cmp3477.not, label %s_n_llhttp__internal__n_invoke_llhttp__on_version_complete, label %if.then3479 @@ -8310,9 +8311,9 @@ if.then3479: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_span_end_llhttp__on_version: ; preds = %sw.bb3508, %sw.default3513, %sw.bb3509, %sw.bb3507 %_span_pos03486 = getelementptr inbounds i8, ptr %state, i64 8 - %771 = load ptr, ptr %_span_pos03486, align 8 + %772 = load ptr, ptr %_span_pos03486, align 8 store ptr null, ptr %_span_pos03486, align 8 - %call3488 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %771, ptr noundef nonnull %p.addr.237) #8 + %call3488 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %772, ptr noundef nonnull %p.addr.237) #8 %cmp3489.not = icmp eq i32 %call3488, 0 br i1 %cmp3489.not, label %s_n_llhttp__internal__n_error_51, label %if.then3491 @@ -8334,9 +8335,9 @@ sw.bb3509: ; preds = %sw.default3513 br i1 %cond55, label %s_n_llhttp__internal__n_span_end_llhttp__on_version_1, label %s_n_llhttp__internal__n_span_end_llhttp__on_version sw.default3513: ; preds = %s_n_llhttp__internal__n_invoke_store_http_minor - %http_major.i4222 = getelementptr inbounds i8, ptr %state, i64 74 - %772 = load i8, ptr %http_major.i4222, align 2 - switch i8 %772, label %s_n_llhttp__internal__n_span_end_llhttp__on_version [ + %http_major.i4220 = getelementptr inbounds i8, ptr %state, i64 74 + %773 = load i8, ptr %http_major.i4220, align 2 + switch i8 %773, label %s_n_llhttp__internal__n_span_end_llhttp__on_version [ i8 0, label %sw.bb3507 i8 1, label %sw.bb3508 i8 2, label %sw.bb3509 @@ -8348,19 +8349,19 @@ s_n_llhttp__internal__n_invoke_store_http_minor: ; preds = %if.end967, %sw.bb98 %cond60 = phi i1 [ true, %sw.bb987 ], [ false, %sw.bb985 ], [ false, %sw.bb983 ], [ false, %sw.bb981 ], [ false, %sw.bb979 ], [ false, %sw.bb977 ], [ false, %sw.bb975 ], [ false, %sw.bb973 ], [ false, %sw.bb971 ], [ false, %if.end967 ] %match.3 = phi i8 [ 9, %sw.bb987 ], [ 8, %sw.bb985 ], [ 7, %sw.bb983 ], [ 6, %sw.bb981 ], [ 5, %sw.bb979 ], [ 4, %sw.bb977 ], [ 3, %sw.bb975 ], [ 2, %sw.bb973 ], [ 1, %sw.bb971 ], [ 0, %if.end967 ] %p.addr.237 = getelementptr inbounds i8, ptr %p.addr.91, i64 1 - %http_minor.i4225 = getelementptr inbounds i8, ptr %state, i64 75 - store i8 %match.3, ptr %http_minor.i4225, align 1 - %lenient_flags.i4226 = getelementptr inbounds i8, ptr %state, i64 77 - %773 = load i8, ptr %lenient_flags.i4226, align 1 - %774 = and i8 %773, 16 - %cond54.not = icmp eq i8 %774, 0 + %http_minor.i4223 = getelementptr inbounds i8, ptr %state, i64 75 + store i8 %match.3, ptr %http_minor.i4223, align 1 + %lenient_flags.i4224 = getelementptr inbounds i8, ptr %state, i64 77 + %774 = load i8, ptr %lenient_flags.i4224, align 1 + %775 = and i8 %774, 16 + %cond54.not = icmp eq i8 %775, 0 br i1 %cond54.not, label %sw.default3513, label %s_n_llhttp__internal__n_span_end_llhttp__on_version_1 s_n_llhttp__internal__n_span_end_llhttp__on_version_2: ; preds = %if.end967 %_span_pos03518 = getelementptr inbounds i8, ptr %state, i64 8 - %775 = load ptr, ptr %_span_pos03518, align 8 + %776 = load ptr, ptr %_span_pos03518, align 8 store ptr null, ptr %_span_pos03518, align 8 - %call3520 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %775, ptr noundef nonnull %p.addr.91) #8 + %call3520 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %776, ptr noundef nonnull %p.addr.91) #8 %cmp3521.not = icmp eq i32 %call3520, 0 br i1 %cmp3521.not, label %s_n_llhttp__internal__n_error_57, label %if.then3523 @@ -8374,9 +8375,9 @@ if.then3523: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_span_end_llhttp__on_version_3: ; preds = %if.end999 %_span_pos03530 = getelementptr inbounds i8, ptr %state, i64 8 - %776 = load ptr, ptr %_span_pos03530, align 8 + %777 = load ptr, ptr %_span_pos03530, align 8 store ptr null, ptr %_span_pos03530, align 8 - %call3532 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %776, ptr noundef nonnull %p.addr.93) #8 + %call3532 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %777, ptr noundef nonnull %p.addr.93) #8 %cmp3533.not = icmp eq i32 %call3532, 0 br i1 %cmp3533.not, label %s_n_llhttp__internal__n_error_58, label %if.then3535 @@ -8390,15 +8391,15 @@ if.then3535: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_invoke_store_http_major: ; preds = %if.end1013 %p.addr.238 = getelementptr inbounds i8, ptr %p.addr.95, i64 1 - %http_major.i4230 = getelementptr inbounds i8, ptr %state, i64 74 - store i8 %switch.tableidx6003, ptr %http_major.i4230, align 2 + %http_major.i4228 = getelementptr inbounds i8, ptr %state, i64 74 + store i8 %switch.tableidx6001, ptr %http_major.i4228, align 2 br label %s_n_llhttp__internal__n_req_http_dot s_n_llhttp__internal__n_span_end_llhttp__on_version_4: ; preds = %if.end1013 %_span_pos03544 = getelementptr inbounds i8, ptr %state, i64 8 - %777 = load ptr, ptr %_span_pos03544, align 8 + %778 = load ptr, ptr %_span_pos03544, align 8 store ptr null, ptr %_span_pos03544, align 8 - %call3546 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %777, ptr noundef nonnull %p.addr.95) #8 + %call3546 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %778, ptr noundef nonnull %p.addr.95) #8 %cmp3547.not = icmp eq i32 %call3546, 0 br i1 %cmp3547.not, label %s_n_llhttp__internal__n_error_59, label %if.then3549 @@ -8426,7 +8427,7 @@ s_n_llhttp__internal__n_error_62.sink.split: ; preds = %for.body.i3055, %fo br label %s_n_llhttp__internal__n_error_62 s_n_llhttp__internal__n_error_62: ; preds = %if.end1092, %s_n_llhttp__internal__n_error_62.sink.split - %p.addr.239 = phi ptr [ %p.addr.239.ph, %s_n_llhttp__internal__n_error_62.sink.split ], [ %p.addr.1005265, %if.end1092 ] + %p.addr.239 = phi ptr [ %p.addr.239.ph, %s_n_llhttp__internal__n_error_62.sink.split ], [ %p.addr.1005263, %if.end1092 ] %error3595 = getelementptr inbounds i8, ptr %state, i64 24 store i32 8, ptr %error3595, align 8 %reason3596 = getelementptr inbounds i8, ptr %state, i64 32 @@ -8465,8 +8466,8 @@ s_n_llhttp__internal__n_invoke_llhttp__on_url_complete_1: ; preds = %if.end1107 s_n_llhttp__internal__n_req_http_start.preheader: ; preds = %entry, %s_n_llhttp__internal__n_invoke_llhttp__on_url_complete_1 %p.addr.100.ph = phi ptr [ %p, %entry ], [ %p.addr.101, %s_n_llhttp__internal__n_invoke_llhttp__on_url_complete_1 ] - %cmp10895264 = icmp eq ptr %p.addr.100.ph, %endp - br i1 %cmp10895264, label %return, label %if.end1092 + %cmp10895262 = icmp eq ptr %p.addr.100.ph, %endp + br i1 %cmp10895262, label %return, label %if.end1092 sw.bb3636: ; preds = %s_n_llhttp__internal__n_invoke_llhttp__on_url_complete_1 %error3626 = getelementptr inbounds i8, ptr %state, i64 24 @@ -8490,9 +8491,9 @@ sw.default3637: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_span_end_llhttp__on_url_5: ; preds = %if.end1169 %_span_pos03640 = getelementptr inbounds i8, ptr %state, i64 8 - %778 = load ptr, ptr %_span_pos03640, align 8 + %779 = load ptr, ptr %_span_pos03640, align 8 store ptr null, ptr %_span_pos03640, align 8 - %call3642 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %778, ptr noundef nonnull %p.addr.106) #8 + %call3642 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %779, ptr noundef nonnull %p.addr.106) #8 %cmp3643.not = icmp eq i32 %call3642, 0 br i1 %cmp3643.not, label %s_n_llhttp__internal__n_url_skip_to_http, label %if.then3645 @@ -8506,9 +8507,9 @@ if.then3645: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_span_end_llhttp__on_url_6: ; preds = %if.end1130 %_span_pos03652 = getelementptr inbounds i8, ptr %state, i64 8 - %779 = load ptr, ptr %_span_pos03652, align 8 + %780 = load ptr, ptr %_span_pos03652, align 8 store ptr null, ptr %_span_pos03652, align 8 - %call3654 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %779, ptr noundef nonnull %p.addr.1035263) #8 + %call3654 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %780, ptr noundef nonnull %p.addr.1035261) #8 %cmp3655.not = icmp eq i32 %call3654, 0 br i1 %cmp3655.not, label %s_n_llhttp__internal__n_url_skip_to_http09, label %if.then3657 @@ -8516,15 +8517,15 @@ if.then3657: ; preds = %s_n_llhttp__interna %error3658 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call3654, ptr %error3658, align 8 %error_pos3659 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.1035263, ptr %error_pos3659, align 8 + store ptr %p.addr.1035261, ptr %error_pos3659, align 8 store ptr inttoptr (i64 82 to ptr), ptr %_current, align 8 br label %return s_n_llhttp__internal__n_span_end_llhttp__on_url_7: ; preds = %if.end1130 %_span_pos03664 = getelementptr inbounds i8, ptr %state, i64 8 - %780 = load ptr, ptr %_span_pos03664, align 8 + %781 = load ptr, ptr %_span_pos03664, align 8 store ptr null, ptr %_span_pos03664, align 8 - %call3666 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %780, ptr noundef nonnull %p.addr.1035263) #8 + %call3666 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %781, ptr noundef nonnull %p.addr.1035261) #8 %cmp3667.not = icmp eq i32 %call3666, 0 br i1 %cmp3667.not, label %s_n_llhttp__internal__n_url_skip_lf_to_http09, label %if.then3669 @@ -8532,15 +8533,15 @@ if.then3669: ; preds = %s_n_llhttp__interna %error3670 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call3666, ptr %error3670, align 8 %error_pos3671 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.1035263, ptr %error_pos3671, align 8 + store ptr %p.addr.1035261, ptr %error_pos3671, align 8 store ptr inttoptr (i64 84 to ptr), ptr %_current, align 8 br label %return s_n_llhttp__internal__n_span_end_llhttp__on_url_8: ; preds = %if.end1130 %_span_pos03676 = getelementptr inbounds i8, ptr %state, i64 8 - %781 = load ptr, ptr %_span_pos03676, align 8 + %782 = load ptr, ptr %_span_pos03676, align 8 store ptr null, ptr %_span_pos03676, align 8 - %call3678 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %781, ptr noundef nonnull %p.addr.1035263) #8 + %call3678 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %782, ptr noundef nonnull %p.addr.1035261) #8 %cmp3679.not = icmp eq i32 %call3678, 0 br i1 %cmp3679.not, label %s_n_llhttp__internal__n_url_skip_to_http, label %if.then3681 @@ -8548,7 +8549,7 @@ if.then3681: ; preds = %s_n_llhttp__interna %error3682 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call3678, ptr %error3682, align 8 %error_pos3683 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.1035263, ptr %error_pos3683, align 8 + store ptr %p.addr.1035261, ptr %error_pos3683, align 8 store ptr inttoptr (i64 103 to ptr), ptr %_current, align 8 br label %return @@ -8558,15 +8559,15 @@ s_n_llhttp__internal__n_error_63: ; preds = %if.end1130 %reason3687 = getelementptr inbounds i8, ptr %state, i64 32 store ptr @.str.71, ptr %reason3687, align 8 %error_pos3688 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.1035263, ptr %error_pos3688, align 8 + store ptr %p.addr.1035261, ptr %error_pos3688, align 8 store ptr null, ptr %_current, align 8 br label %return s_n_llhttp__internal__n_span_end_llhttp__on_url_9: ; preds = %if.end1152 %_span_pos03692 = getelementptr inbounds i8, ptr %state, i64 8 - %782 = load ptr, ptr %_span_pos03692, align 8 + %783 = load ptr, ptr %_span_pos03692, align 8 store ptr null, ptr %_span_pos03692, align 8 - %call3694 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %782, ptr noundef nonnull %p.addr.1055261) #8 + %call3694 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %783, ptr noundef nonnull %p.addr.1055259) #8 %cmp3695.not = icmp eq i32 %call3694, 0 br i1 %cmp3695.not, label %s_n_llhttp__internal__n_url_skip_to_http09, label %if.then3697 @@ -8574,15 +8575,15 @@ if.then3697: ; preds = %s_n_llhttp__interna %error3698 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call3694, ptr %error3698, align 8 %error_pos3699 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.1055261, ptr %error_pos3699, align 8 + store ptr %p.addr.1055259, ptr %error_pos3699, align 8 store ptr inttoptr (i64 82 to ptr), ptr %_current, align 8 br label %return s_n_llhttp__internal__n_span_end_llhttp__on_url_10: ; preds = %if.end1152 %_span_pos03704 = getelementptr inbounds i8, ptr %state, i64 8 - %783 = load ptr, ptr %_span_pos03704, align 8 + %784 = load ptr, ptr %_span_pos03704, align 8 store ptr null, ptr %_span_pos03704, align 8 - %call3706 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %783, ptr noundef nonnull %p.addr.1055261) #8 + %call3706 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %784, ptr noundef nonnull %p.addr.1055259) #8 %cmp3707.not = icmp eq i32 %call3706, 0 br i1 %cmp3707.not, label %s_n_llhttp__internal__n_url_skip_lf_to_http09, label %if.then3709 @@ -8590,15 +8591,15 @@ if.then3709: ; preds = %s_n_llhttp__interna %error3710 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call3706, ptr %error3710, align 8 %error_pos3711 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.1055261, ptr %error_pos3711, align 8 + store ptr %p.addr.1055259, ptr %error_pos3711, align 8 store ptr inttoptr (i64 84 to ptr), ptr %_current, align 8 br label %return s_n_llhttp__internal__n_span_end_llhttp__on_url_11: ; preds = %if.end1152 %_span_pos03716 = getelementptr inbounds i8, ptr %state, i64 8 - %784 = load ptr, ptr %_span_pos03716, align 8 + %785 = load ptr, ptr %_span_pos03716, align 8 store ptr null, ptr %_span_pos03716, align 8 - %call3718 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %784, ptr noundef nonnull %p.addr.1055261) #8 + %call3718 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %785, ptr noundef nonnull %p.addr.1055259) #8 %cmp3719.not = icmp eq i32 %call3718, 0 br i1 %cmp3719.not, label %s_n_llhttp__internal__n_url_skip_to_http, label %if.then3721 @@ -8606,7 +8607,7 @@ if.then3721: ; preds = %s_n_llhttp__interna %error3722 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call3718, ptr %error3722, align 8 %error_pos3723 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.1055261, ptr %error_pos3723, align 8 + store ptr %p.addr.1055259, ptr %error_pos3723, align 8 store ptr inttoptr (i64 103 to ptr), ptr %_current, align 8 br label %return @@ -8616,7 +8617,7 @@ s_n_llhttp__internal__n_error_64: ; preds = %if.end1152 %reason3727 = getelementptr inbounds i8, ptr %state, i64 32 store ptr @.str.72, ptr %reason3727, align 8 %error_pos3728 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.1055261, ptr %error_pos3728, align 8 + store ptr %p.addr.1055259, ptr %error_pos3728, align 8 store ptr null, ptr %_current, align 8 br label %return @@ -8632,9 +8633,9 @@ s_n_llhttp__internal__n_error_65: ; preds = %if.end1169 s_n_llhttp__internal__n_span_end_llhttp__on_url: ; preds = %if.end1239 %_span_pos03736 = getelementptr inbounds i8, ptr %state, i64 8 - %785 = load ptr, ptr %_span_pos03736, align 8 + %786 = load ptr, ptr %_span_pos03736, align 8 store ptr null, ptr %_span_pos03736, align 8 - %call3738 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %785, ptr noundef nonnull %p.addr.1125257) #8 + %call3738 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %786, ptr noundef nonnull %p.addr.1125255) #8 %cmp3739.not = icmp eq i32 %call3738, 0 br i1 %cmp3739.not, label %s_n_llhttp__internal__n_url_skip_to_http09, label %if.then3741 @@ -8642,15 +8643,15 @@ if.then3741: ; preds = %s_n_llhttp__interna %error3742 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call3738, ptr %error3742, align 8 %error_pos3743 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.1125257, ptr %error_pos3743, align 8 + store ptr %p.addr.1125255, ptr %error_pos3743, align 8 store ptr inttoptr (i64 82 to ptr), ptr %_current, align 8 br label %return s_n_llhttp__internal__n_span_end_llhttp__on_url_1: ; preds = %if.end1239 %_span_pos03748 = getelementptr inbounds i8, ptr %state, i64 8 - %786 = load ptr, ptr %_span_pos03748, align 8 + %787 = load ptr, ptr %_span_pos03748, align 8 store ptr null, ptr %_span_pos03748, align 8 - %call3750 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %786, ptr noundef nonnull %p.addr.1125257) #8 + %call3750 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %787, ptr noundef nonnull %p.addr.1125255) #8 %cmp3751.not = icmp eq i32 %call3750, 0 br i1 %cmp3751.not, label %s_n_llhttp__internal__n_url_skip_lf_to_http09, label %if.then3753 @@ -8658,15 +8659,15 @@ if.then3753: ; preds = %s_n_llhttp__interna %error3754 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call3750, ptr %error3754, align 8 %error_pos3755 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.1125257, ptr %error_pos3755, align 8 + store ptr %p.addr.1125255, ptr %error_pos3755, align 8 store ptr inttoptr (i64 84 to ptr), ptr %_current, align 8 br label %return s_n_llhttp__internal__n_span_end_llhttp__on_url_2: ; preds = %if.end1239 %_span_pos03760 = getelementptr inbounds i8, ptr %state, i64 8 - %787 = load ptr, ptr %_span_pos03760, align 8 + %788 = load ptr, ptr %_span_pos03760, align 8 store ptr null, ptr %_span_pos03760, align 8 - %call3762 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %787, ptr noundef nonnull %p.addr.1125257) #8 + %call3762 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %788, ptr noundef nonnull %p.addr.1125255) #8 %cmp3763.not = icmp eq i32 %call3762, 0 br i1 %cmp3763.not, label %s_n_llhttp__internal__n_url_skip_to_http, label %if.then3765 @@ -8674,15 +8675,15 @@ if.then3765: ; preds = %s_n_llhttp__interna %error3766 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call3762, ptr %error3766, align 8 %error_pos3767 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.1125257, ptr %error_pos3767, align 8 + store ptr %p.addr.1125255, ptr %error_pos3767, align 8 store ptr inttoptr (i64 103 to ptr), ptr %_current, align 8 br label %return s_n_llhttp__internal__n_span_end_llhttp__on_url_12: ; preds = %if.end1218 %_span_pos03772 = getelementptr inbounds i8, ptr %state, i64 8 - %788 = load ptr, ptr %_span_pos03772, align 8 + %789 = load ptr, ptr %_span_pos03772, align 8 store ptr null, ptr %_span_pos03772, align 8 - %call3774 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %788, ptr noundef nonnull %p.addr.111) #8 + %call3774 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %789, ptr noundef nonnull %p.addr.111) #8 %cmp3775.not = icmp eq i32 %call3774, 0 br i1 %cmp3775.not, label %s_n_llhttp__internal__n_url_skip_to_http09, label %if.then3777 @@ -8696,9 +8697,9 @@ if.then3777: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_span_end_llhttp__on_url_13: ; preds = %if.end1218 %_span_pos03784 = getelementptr inbounds i8, ptr %state, i64 8 - %789 = load ptr, ptr %_span_pos03784, align 8 + %790 = load ptr, ptr %_span_pos03784, align 8 store ptr null, ptr %_span_pos03784, align 8 - %call3786 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %789, ptr noundef nonnull %p.addr.111) #8 + %call3786 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %790, ptr noundef nonnull %p.addr.111) #8 %cmp3787.not = icmp eq i32 %call3786, 0 br i1 %cmp3787.not, label %s_n_llhttp__internal__n_url_skip_lf_to_http09, label %if.then3789 @@ -8712,9 +8713,9 @@ if.then3789: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_span_end_llhttp__on_url_14: ; preds = %if.end1218 %_span_pos03796 = getelementptr inbounds i8, ptr %state, i64 8 - %790 = load ptr, ptr %_span_pos03796, align 8 + %791 = load ptr, ptr %_span_pos03796, align 8 store ptr null, ptr %_span_pos03796, align 8 - %call3798 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %790, ptr noundef nonnull %p.addr.111) #8 + %call3798 = tail call i32 @llhttp__on_url(ptr noundef %state, ptr noundef %791, ptr noundef nonnull %p.addr.111) #8 %cmp3799.not = icmp eq i32 %call3798, 0 br i1 %cmp3799.not, label %s_n_llhttp__internal__n_url_skip_to_http, label %if.then3801 @@ -8742,7 +8743,7 @@ s_n_llhttp__internal__n_error_68: ; preds = %if.end1239 %reason3815 = getelementptr inbounds i8, ptr %state, i64 32 store ptr @.str.75, ptr %reason3815, align 8 %error_pos3816 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.1125257, ptr %error_pos3816, align 8 + store ptr %p.addr.1125255, ptr %error_pos3816, align 8 store ptr null, ptr %_current, align 8 br label %return @@ -8763,7 +8764,7 @@ s_n_llhttp__internal__n_error_70: ; preds = %if.end1294 %reason3823 = getelementptr inbounds i8, ptr %state, i64 32 store ptr @.str.76, ptr %reason3823, align 8 %error_pos3824 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.1165255, ptr %error_pos3824, align 8 + store ptr %p.addr.1165253, ptr %error_pos3824, align 8 store ptr null, ptr %_current, align 8 br label %return @@ -8778,10 +8779,10 @@ s_n_llhttp__internal__n_error_71: ; preds = %if.end1308 br label %return s_n_llhttp__internal__n_invoke_is_equal_method: ; preds = %if.end1357 - %method.i4231 = getelementptr inbounds i8, ptr %state, i64 73 - %791 = load i8, ptr %method.i4231, align 1 - %cmp.i4232.not = icmp eq i8 %791, 5 - br i1 %cmp.i4232.not, label %s_n_llhttp__internal__n_url_entry_connect, label %s_n_llhttp__internal__n_url_entry_normal + %method.i4229 = getelementptr inbounds i8, ptr %state, i64 73 + %792 = load i8, ptr %method.i4229, align 1 + %cmp.i4230.not = icmp eq i8 %792, 5 + br i1 %cmp.i4230.not, label %s_n_llhttp__internal__n_url_entry_connect, label %s_n_llhttp__internal__n_url_entry_normal s_n_llhttp__internal__n_error_72: ; preds = %if.end1366 %error3833 = getelementptr inbounds i8, ptr %state, i64 24 @@ -8824,12 +8825,12 @@ if.then3852: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_invoke_store_method_1: ; preds = %if.end1571, %sw.bb2268, %sw.bb2242, %sw.bb2227, %sw.bb2212, %sw.bb2186, %sw.bb2171, %sw.bb2143, %sw.bb2128, %sw.bb2091, %sw.bb2078, %sw.bb2067, %sw.bb2028, %sw.bb2013, %sw.bb1998, %sw.bb1983, %sw.bb1953, %sw.bb1940, %sw.bb1925, %sw.bb1894, %sw.bb1879, %sw.bb1864, %sw.bb1849, %sw.bb1823, %sw.bb1808, %sw.bb1793, %sw.bb1778, %sw.bb1748, %sw.bb1713, %sw.bb1702, %sw.bb1687, %sw.bb1672, %sw.bb1657, %sw.bb1631, %sw.bb1616, %sw.bb1601, %sw.bb1562, %sw.bb1547, %sw.bb1512, %sw.bb1497, %sw.bb1462, %sw.bb1451, %sw.bb1436, %sw.bb1421, %sw.bb1395, %sw.bb1382 %match.5 = phi i8 [ 27, %sw.bb2268 ], [ 15, %sw.bb2242 ], [ 32, %sw.bb2227 ], [ 18, %sw.bb2212 ], [ 7, %sw.bb2186 ], [ 40, %sw.bb2171 ], [ 26, %sw.bb2143 ], [ 33, %sw.bb2128 ], [ 42, %sw.bb2091 ], [ 37, %sw.bb2078 ], [ 14, %sw.bb2067 ], [ 20, %sw.bb2028 ], [ 43, %sw.bb2013 ], [ 44, %sw.bb1998 ], [ 17, %sw.bb1983 ], [ 4, %sw.bb1953 ], [ 29, %sw.bb1940 ], [ 13, %sw.bb1894 ], [ 12, %sw.bb1879 ], [ 34, %sw.bb1925 ], [ 3, %sw.bb1864 ], [ 38, %sw.bb1849 ], [ 39, %sw.bb1823 ], [ 28, %sw.bb1808 ], [ 6, %sw.bb1793 ], [ 25, %sw.bb1778 ], [ 11, %sw.bb1748 ], [ 10, %sw.bb1713 ], [ 30, %sw.bb1702 ], [ 21, %sw.bb1687 ], [ 23, %sw.bb1672 ], [ 24, %sw.bb1657 ], [ 9, %sw.bb1631 ], [ 31, %sw.bb1616 ], [ 2, %sw.bb1601 ], [ 41, %sw.bb1562 ], [ 45, %sw.bb1547 ], [ 35, %sw.bb1512 ], [ 0, %sw.bb1497 ], [ 8, %sw.bb1462 ], [ 5, %sw.bb1451 ], [ 22, %sw.bb1436 ], [ 16, %sw.bb1421 ], [ 36, %sw.bb1395 ], [ 19, %sw.bb1382 ], [ 1, %if.end1571 ] %p.addr.241 = phi ptr [ %incdec.ptr2269, %sw.bb2268 ], [ %incdec.ptr2243, %sw.bb2242 ], [ %incdec.ptr2228, %sw.bb2227 ], [ %incdec.ptr2213, %sw.bb2212 ], [ %incdec.ptr2187, %sw.bb2186 ], [ %incdec.ptr2172, %sw.bb2171 ], [ %incdec.ptr2144, %sw.bb2143 ], [ %incdec.ptr2129, %sw.bb2128 ], [ %incdec.ptr2092, %sw.bb2091 ], [ %incdec.ptr2079, %sw.bb2078 ], [ %incdec.ptr2068, %sw.bb2067 ], [ %incdec.ptr2029, %sw.bb2028 ], [ %incdec.ptr2014, %sw.bb2013 ], [ %incdec.ptr1999, %sw.bb1998 ], [ %incdec.ptr1984, %sw.bb1983 ], [ %incdec.ptr1954, %sw.bb1953 ], [ %incdec.ptr1941, %sw.bb1940 ], [ %incdec.ptr1895, %sw.bb1894 ], [ %incdec.ptr1880, %sw.bb1879 ], [ %incdec.ptr1926, %sw.bb1925 ], [ %incdec.ptr1865, %sw.bb1864 ], [ %incdec.ptr1850, %sw.bb1849 ], [ %incdec.ptr1824, %sw.bb1823 ], [ %incdec.ptr1809, %sw.bb1808 ], [ %incdec.ptr1794, %sw.bb1793 ], [ %incdec.ptr1779, %sw.bb1778 ], [ %incdec.ptr1749, %sw.bb1748 ], [ %incdec.ptr1714, %sw.bb1713 ], [ %incdec.ptr1703, %sw.bb1702 ], [ %incdec.ptr1688, %sw.bb1687 ], [ %incdec.ptr1673, %sw.bb1672 ], [ %incdec.ptr1658, %sw.bb1657 ], [ %incdec.ptr1632, %sw.bb1631 ], [ %incdec.ptr1617, %sw.bb1616 ], [ %incdec.ptr1602, %sw.bb1601 ], [ %incdec.ptr1563, %sw.bb1562 ], [ %incdec.ptr1548, %sw.bb1547 ], [ %incdec.ptr1513, %sw.bb1512 ], [ %incdec.ptr1498, %sw.bb1497 ], [ %incdec.ptr1463, %sw.bb1462 ], [ %incdec.ptr1452, %sw.bb1451 ], [ %incdec.ptr1437, %sw.bb1436 ], [ %incdec.ptr1422, %sw.bb1421 ], [ %incdec.ptr1396, %sw.bb1395 ], [ %incdec.ptr1383, %sw.bb1382 ], [ %p.addr.140, %if.end1571 ] - %method.i4235 = getelementptr inbounds i8, ptr %state, i64 73 - store i8 %match.5, ptr %method.i4235, align 1 + %method.i4233 = getelementptr inbounds i8, ptr %state, i64 73 + store i8 %match.5, ptr %method.i4233, align 1 %_span_pos03847 = getelementptr inbounds i8, ptr %state, i64 8 - %792 = load ptr, ptr %_span_pos03847, align 8 + %793 = load ptr, ptr %_span_pos03847, align 8 store ptr null, ptr %_span_pos03847, align 8 - %call3849 = tail call i32 @llhttp__on_method(ptr noundef nonnull %state, ptr noundef %792, ptr noundef nonnull %p.addr.241) #8 + %call3849 = tail call i32 @llhttp__on_method(ptr noundef nonnull %state, ptr noundef %793, ptr noundef nonnull %p.addr.241) #8 %cmp3850.not = icmp eq i32 %call3849, 0 br i1 %cmp3850.not, label %s_n_llhttp__internal__n_invoke_llhttp__on_method_complete_1, label %if.then3852 @@ -8878,10 +8879,10 @@ sw.default3886: ; preds = %s_n_llhttp__interna br label %return s_n_llhttp__internal__n_invoke_test_lenient_flags_18: ; preds = %if.end2345 - %lenient_flags.i4236 = getelementptr inbounds i8, ptr %state, i64 77 - %793 = load i8, ptr %lenient_flags.i4236, align 1 - %794 = and i8 %793, 64 - %cond47.not = icmp eq i8 %794, 0 + %lenient_flags.i4234 = getelementptr inbounds i8, ptr %state, i64 77 + %794 = load i8, ptr %lenient_flags.i4234, align 1 + %795 = and i8 %794, 64 + %cond47.not = icmp eq i8 %795, 0 br i1 %cond47.not, label %sw.default3893, label %s_n_llhttp__internal__n_invoke_llhttp__on_status_complete sw.default3893: ; preds = %s_n_llhttp__internal__n_invoke_test_lenient_flags_18 @@ -8896,44 +8897,44 @@ sw.default3893: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_span_end_llhttp__on_status: ; preds = %if.end2356 %_span_pos03896 = getelementptr inbounds i8, ptr %state, i64 8 - %795 = load ptr, ptr %_span_pos03896, align 8 + %796 = load ptr, ptr %_span_pos03896, align 8 store ptr null, ptr %_span_pos03896, align 8 - %call3898 = tail call i32 @llhttp__on_status(ptr noundef %state, ptr noundef %795, ptr noundef nonnull %p.addr.1975251) #8 + %call3898 = tail call i32 @llhttp__on_status(ptr noundef %state, ptr noundef %796, ptr noundef nonnull %p.addr.1975249) #8 %cmp3899.not = icmp eq i32 %call3898, 0 br i1 %cmp3899.not, label %if.end3906, label %if.then3901 if.then3901: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_status %error3902 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call3898, ptr %error3902, align 8 - %add.ptr3903 = getelementptr inbounds i8, ptr %p.addr.1975251, i64 1 + %add.ptr3903 = getelementptr inbounds i8, ptr %p.addr.1975249, i64 1 %error_pos3904 = getelementptr inbounds i8, ptr %state, i64 40 store ptr %add.ptr3903, ptr %error_pos3904, align 8 store ptr inttoptr (i64 197 to ptr), ptr %_current, align 8 br label %return if.end3906: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_status - %incdec.ptr3907 = getelementptr inbounds i8, ptr %p.addr.1975251, i64 1 + %incdec.ptr3907 = getelementptr inbounds i8, ptr %p.addr.1975249, i64 1 br label %s_n_llhttp__internal__n_res_line_almost_done s_n_llhttp__internal__n_span_end_llhttp__on_status_1: ; preds = %if.end2356 %_span_pos03910 = getelementptr inbounds i8, ptr %state, i64 8 - %796 = load ptr, ptr %_span_pos03910, align 8 + %797 = load ptr, ptr %_span_pos03910, align 8 store ptr null, ptr %_span_pos03910, align 8 - %call3912 = tail call i32 @llhttp__on_status(ptr noundef %state, ptr noundef %796, ptr noundef nonnull %p.addr.1975251) #8 + %call3912 = tail call i32 @llhttp__on_status(ptr noundef %state, ptr noundef %797, ptr noundef nonnull %p.addr.1975249) #8 %cmp3913.not = icmp eq i32 %call3912, 0 br i1 %cmp3913.not, label %if.end3920, label %if.then3915 if.then3915: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_status_1 %error3916 = getelementptr inbounds i8, ptr %state, i64 24 store i32 %call3912, ptr %error3916, align 8 - %add.ptr3917 = getelementptr inbounds i8, ptr %p.addr.1975251, i64 1 + %add.ptr3917 = getelementptr inbounds i8, ptr %p.addr.1975249, i64 1 %error_pos3918 = getelementptr inbounds i8, ptr %state, i64 40 store ptr %add.ptr3917, ptr %error_pos3918, align 8 store ptr inttoptr (i64 197 to ptr), ptr %_current, align 8 br label %return if.end3920: ; preds = %s_n_llhttp__internal__n_span_end_llhttp__on_status_1 - %incdec.ptr3921 = getelementptr inbounds i8, ptr %p.addr.1975251, i64 1 + %incdec.ptr3921 = getelementptr inbounds i8, ptr %p.addr.1975249, i64 1 br label %s_n_llhttp__internal__n_res_line_almost_done s_n_llhttp__internal__n_error_77: ; preds = %if.end2384 @@ -8946,29 +8947,29 @@ s_n_llhttp__internal__n_error_77: ; preds = %if.end2384 store ptr null, ptr %_current, align 8 br label %return -switch.lookup6004: ; preds = %if.end2395 +switch.lookup6002: ; preds = %if.end2395 %p.addr.244 = getelementptr inbounds i8, ptr %p.addr.201, i64 1 - %status_code.i4239 = getelementptr inbounds i8, ptr %state, i64 82 - %797 = load i16, ptr %status_code.i4239, align 2 - %cmp.i4240 = icmp ugt i16 %797, 6553 - br i1 %cmp.i4240, label %sw.bb3927, label %if.end.i4241 - -if.end.i4241: ; preds = %switch.lookup6004 - %switch.idx.cast6006 = zext nneg i8 %switch.tableidx6005 to i32 - %mul.i4242 = mul nuw i16 %797, 10 - store i16 %mul.i4242, ptr %status_code.i4239, align 2 - %conv9.i = zext i16 %mul.i4242 to i32 - %sub.i4243 = xor i32 %switch.idx.cast6006, 65535 - %cmp10.i = icmp ult i32 %sub.i4243, %conv9.i + %status_code.i4237 = getelementptr inbounds i8, ptr %state, i64 82 + %798 = load i16, ptr %status_code.i4237, align 2 + %cmp.i4238 = icmp ugt i16 %798, 6553 + br i1 %cmp.i4238, label %sw.bb3927, label %if.end.i4239 + +if.end.i4239: ; preds = %switch.lookup6002 + %switch.idx.cast6004 = zext nneg i8 %switch.tableidx6003 to i32 + %mul.i4240 = mul nuw i16 %798, 10 + store i16 %mul.i4240, ptr %status_code.i4237, align 2 + %conv9.i = zext i16 %mul.i4240 to i32 + %sub.i4241 = xor i32 %switch.idx.cast6004, 65535 + %cmp10.i = icmp ult i32 %sub.i4241, %conv9.i br i1 %cmp10.i, label %sw.bb3927, label %llhttp__internal__c_mul_add_status_code.exit -llhttp__internal__c_mul_add_status_code.exit: ; preds = %if.end.i4241 - %798 = zext nneg i8 %switch.tableidx6005 to i16 - %conv24.i = add i16 %mul.i4242, %798 - store i16 %conv24.i, ptr %status_code.i4239, align 2 +llhttp__internal__c_mul_add_status_code.exit: ; preds = %if.end.i4239 + %799 = zext nneg i8 %switch.tableidx6003 to i16 + %conv24.i = add i16 %mul.i4240, %799 + store i16 %conv24.i, ptr %status_code.i4237, align 2 br label %s_n_llhttp__internal__n_res_status_code_otherwise -sw.bb3927: ; preds = %switch.lookup6004, %if.end.i4241 +sw.bb3927: ; preds = %switch.lookup6002, %if.end.i4239 %error3871 = getelementptr inbounds i8, ptr %state, i64 24 store i32 13, ptr %error3871, align 8 %reason3872 = getelementptr inbounds i8, ptr %state, i64 32 @@ -8988,29 +8989,29 @@ s_n_llhttp__internal__n_error_79: ; preds = %if.end2395 store ptr null, ptr %_current, align 8 br label %return -switch.lookup6007: ; preds = %if.end2422 +switch.lookup6005: ; preds = %if.end2422 %p.addr.245 = getelementptr inbounds i8, ptr %p.addr.202, i64 1 - %status_code.i4245 = getelementptr inbounds i8, ptr %state, i64 82 - %799 = load i16, ptr %status_code.i4245, align 2 - %cmp.i4246 = icmp ugt i16 %799, 6553 - br i1 %cmp.i4246, label %sw.bb3934, label %if.end.i4247 - -if.end.i4247: ; preds = %switch.lookup6007 - %switch.idx.cast6009 = zext nneg i8 %switch.tableidx6008 to i32 - %mul.i4248 = mul nuw i16 %799, 10 - store i16 %mul.i4248, ptr %status_code.i4245, align 2 - %conv9.i4249 = zext i16 %mul.i4248 to i32 - %sub.i4250 = xor i32 %switch.idx.cast6009, 65535 - %cmp10.i4251 = icmp ult i32 %sub.i4250, %conv9.i4249 - br i1 %cmp10.i4251, label %sw.bb3934, label %llhttp__internal__c_mul_add_status_code.exit4255 - -llhttp__internal__c_mul_add_status_code.exit4255: ; preds = %if.end.i4247 - %800 = zext nneg i8 %switch.tableidx6008 to i16 - %conv24.i4253 = add i16 %mul.i4248, %800 - store i16 %conv24.i4253, ptr %status_code.i4245, align 2 + %status_code.i4243 = getelementptr inbounds i8, ptr %state, i64 82 + %800 = load i16, ptr %status_code.i4243, align 2 + %cmp.i4244 = icmp ugt i16 %800, 6553 + br i1 %cmp.i4244, label %sw.bb3934, label %if.end.i4245 + +if.end.i4245: ; preds = %switch.lookup6005 + %switch.idx.cast6007 = zext nneg i8 %switch.tableidx6006 to i32 + %mul.i4246 = mul nuw i16 %800, 10 + store i16 %mul.i4246, ptr %status_code.i4243, align 2 + %conv9.i4247 = zext i16 %mul.i4246 to i32 + %sub.i4248 = xor i32 %switch.idx.cast6007, 65535 + %cmp10.i4249 = icmp ult i32 %sub.i4248, %conv9.i4247 + br i1 %cmp10.i4249, label %sw.bb3934, label %llhttp__internal__c_mul_add_status_code.exit4253 + +llhttp__internal__c_mul_add_status_code.exit4253: ; preds = %if.end.i4245 + %801 = zext nneg i8 %switch.tableidx6006 to i16 + %conv24.i4251 = add i16 %mul.i4246, %801 + store i16 %conv24.i4251, ptr %status_code.i4243, align 2 br label %s_n_llhttp__internal__n_res_status_code_digit_3 -sw.bb3934: ; preds = %switch.lookup6007, %if.end.i4247 +sw.bb3934: ; preds = %switch.lookup6005, %if.end.i4245 %error3867 = getelementptr inbounds i8, ptr %state, i64 24 store i32 13, ptr %error3867, align 8 %reason3868 = getelementptr inbounds i8, ptr %state, i64 32 @@ -9030,29 +9031,29 @@ s_n_llhttp__internal__n_error_81: ; preds = %if.end2422 store ptr null, ptr %_current, align 8 br label %return -switch.lookup6010: ; preds = %if.end2449 +switch.lookup6008: ; preds = %if.end2449 %p.addr.246 = getelementptr inbounds i8, ptr %p.addr.203, i64 1 - %status_code.i4256 = getelementptr inbounds i8, ptr %state, i64 82 - %801 = load i16, ptr %status_code.i4256, align 2 - %cmp.i4257 = icmp ugt i16 %801, 6553 - br i1 %cmp.i4257, label %sw.bb3941, label %if.end.i4258 - -if.end.i4258: ; preds = %switch.lookup6010 - %switch.idx.cast6012 = zext nneg i8 %switch.tableidx6011 to i32 - %mul.i4259 = mul nuw i16 %801, 10 - store i16 %mul.i4259, ptr %status_code.i4256, align 2 - %conv9.i4260 = zext i16 %mul.i4259 to i32 - %sub.i4261 = xor i32 %switch.idx.cast6012, 65535 - %cmp10.i4262 = icmp ult i32 %sub.i4261, %conv9.i4260 - br i1 %cmp10.i4262, label %sw.bb3941, label %llhttp__internal__c_mul_add_status_code.exit4266 - -llhttp__internal__c_mul_add_status_code.exit4266: ; preds = %if.end.i4258 - %802 = zext nneg i8 %switch.tableidx6011 to i16 - %conv24.i4264 = add i16 %mul.i4259, %802 - store i16 %conv24.i4264, ptr %status_code.i4256, align 2 + %status_code.i4254 = getelementptr inbounds i8, ptr %state, i64 82 + %802 = load i16, ptr %status_code.i4254, align 2 + %cmp.i4255 = icmp ugt i16 %802, 6553 + br i1 %cmp.i4255, label %sw.bb3941, label %if.end.i4256 + +if.end.i4256: ; preds = %switch.lookup6008 + %switch.idx.cast6010 = zext nneg i8 %switch.tableidx6009 to i32 + %mul.i4257 = mul nuw i16 %802, 10 + store i16 %mul.i4257, ptr %status_code.i4254, align 2 + %conv9.i4258 = zext i16 %mul.i4257 to i32 + %sub.i4259 = xor i32 %switch.idx.cast6010, 65535 + %cmp10.i4260 = icmp ult i32 %sub.i4259, %conv9.i4258 + br i1 %cmp10.i4260, label %sw.bb3941, label %llhttp__internal__c_mul_add_status_code.exit4264 + +llhttp__internal__c_mul_add_status_code.exit4264: ; preds = %if.end.i4256 + %803 = zext nneg i8 %switch.tableidx6009 to i16 + %conv24.i4262 = add i16 %mul.i4257, %803 + store i16 %conv24.i4262, ptr %status_code.i4254, align 2 br label %s_n_llhttp__internal__n_res_status_code_digit_2 -sw.bb3941: ; preds = %switch.lookup6010, %if.end.i4258 +sw.bb3941: ; preds = %switch.lookup6008, %if.end.i4256 %error3863 = getelementptr inbounds i8, ptr %state, i64 24 store i32 13, ptr %error3863, align 8 %reason3864 = getelementptr inbounds i8, ptr %state, i64 32 @@ -9104,9 +9105,9 @@ s_n_llhttp__internal__n_error_74: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_span_end_llhttp__on_version_6: ; preds = %sw.bb3997, %s_n_llhttp__internal__n_invoke_store_http_minor_1, %sw.bb3998, %sw.bb3996 %_span_pos03963 = getelementptr inbounds i8, ptr %state, i64 8 - %803 = load ptr, ptr %_span_pos03963, align 8 + %804 = load ptr, ptr %_span_pos03963, align 8 store ptr null, ptr %_span_pos03963, align 8 - %call3965 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %803, ptr noundef nonnull %p.addr.247) #8 + %call3965 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %804, ptr noundef nonnull %p.addr.247) #8 %cmp3966.not = icmp eq i32 %call3965, 0 br i1 %cmp3966.not, label %s_n_llhttp__internal__n_invoke_llhttp__on_version_complete_1, label %if.then3968 @@ -9120,9 +9121,9 @@ if.then3968: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_span_end_llhttp__on_version_5: ; preds = %sw.bb3997, %sw.default4002, %sw.bb3998, %sw.bb3996 %_span_pos03975 = getelementptr inbounds i8, ptr %state, i64 8 - %804 = load ptr, ptr %_span_pos03975, align 8 + %805 = load ptr, ptr %_span_pos03975, align 8 store ptr null, ptr %_span_pos03975, align 8 - %call3977 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %804, ptr noundef nonnull %p.addr.247) #8 + %call3977 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %805, ptr noundef nonnull %p.addr.247) #8 %cmp3978.not = icmp eq i32 %call3977, 0 br i1 %cmp3978.not, label %s_n_llhttp__internal__n_error_73, label %if.then3980 @@ -9144,9 +9145,9 @@ sw.bb3998: ; preds = %sw.default4002 br i1 %cond4, label %s_n_llhttp__internal__n_span_end_llhttp__on_version_6, label %s_n_llhttp__internal__n_span_end_llhttp__on_version_5 sw.default4002: ; preds = %s_n_llhttp__internal__n_invoke_store_http_minor_1 - %http_major.i4273 = getelementptr inbounds i8, ptr %state, i64 74 - %805 = load i8, ptr %http_major.i4273, align 2 - switch i8 %805, label %s_n_llhttp__internal__n_span_end_llhttp__on_version_5 [ + %http_major.i4271 = getelementptr inbounds i8, ptr %state, i64 74 + %806 = load i8, ptr %http_major.i4271, align 2 + switch i8 %806, label %s_n_llhttp__internal__n_span_end_llhttp__on_version_5 [ i8 0, label %sw.bb3996 i8 1, label %sw.bb3997 i8 2, label %sw.bb3998 @@ -9158,19 +9159,19 @@ s_n_llhttp__internal__n_invoke_store_http_minor_1: ; preds = %if.end2500, %sw.bb %cond48 = phi i1 [ true, %sw.bb2520 ], [ false, %sw.bb2518 ], [ false, %sw.bb2516 ], [ false, %sw.bb2514 ], [ false, %sw.bb2512 ], [ false, %sw.bb2510 ], [ false, %sw.bb2508 ], [ false, %sw.bb2506 ], [ false, %sw.bb2504 ], [ false, %if.end2500 ] %match.9 = phi i8 [ 9, %sw.bb2520 ], [ 8, %sw.bb2518 ], [ 7, %sw.bb2516 ], [ 6, %sw.bb2514 ], [ 5, %sw.bb2512 ], [ 4, %sw.bb2510 ], [ 3, %sw.bb2508 ], [ 2, %sw.bb2506 ], [ 1, %sw.bb2504 ], [ 0, %if.end2500 ] %p.addr.247 = getelementptr inbounds i8, ptr %p.addr.208, i64 1 - %http_minor.i4276 = getelementptr inbounds i8, ptr %state, i64 75 - store i8 %match.9, ptr %http_minor.i4276, align 1 - %lenient_flags.i4277 = getelementptr inbounds i8, ptr %state, i64 77 - %806 = load i8, ptr %lenient_flags.i4277, align 1 - %807 = and i8 %806, 16 - %cond3.not = icmp eq i8 %807, 0 + %http_minor.i4274 = getelementptr inbounds i8, ptr %state, i64 75 + store i8 %match.9, ptr %http_minor.i4274, align 1 + %lenient_flags.i4275 = getelementptr inbounds i8, ptr %state, i64 77 + %807 = load i8, ptr %lenient_flags.i4275, align 1 + %808 = and i8 %807, 16 + %cond3.not = icmp eq i8 %808, 0 br i1 %cond3.not, label %sw.default4002, label %s_n_llhttp__internal__n_span_end_llhttp__on_version_6 s_n_llhttp__internal__n_span_end_llhttp__on_version_7: ; preds = %if.end2500 %_span_pos04007 = getelementptr inbounds i8, ptr %state, i64 8 - %808 = load ptr, ptr %_span_pos04007, align 8 + %809 = load ptr, ptr %_span_pos04007, align 8 store ptr null, ptr %_span_pos04007, align 8 - %call4009 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %808, ptr noundef nonnull %p.addr.208) #8 + %call4009 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %809, ptr noundef nonnull %p.addr.208) #8 %cmp4010.not = icmp eq i32 %call4009, 0 br i1 %cmp4010.not, label %s_n_llhttp__internal__n_error_85, label %if.then4012 @@ -9184,9 +9185,9 @@ if.then4012: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_span_end_llhttp__on_version_8: ; preds = %if.end2532 %_span_pos04019 = getelementptr inbounds i8, ptr %state, i64 8 - %809 = load ptr, ptr %_span_pos04019, align 8 + %810 = load ptr, ptr %_span_pos04019, align 8 store ptr null, ptr %_span_pos04019, align 8 - %call4021 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %809, ptr noundef nonnull %p.addr.210) #8 + %call4021 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %810, ptr noundef nonnull %p.addr.210) #8 %cmp4022.not = icmp eq i32 %call4021, 0 br i1 %cmp4022.not, label %s_n_llhttp__internal__n_error_86, label %if.then4024 @@ -9200,15 +9201,15 @@ if.then4024: ; preds = %s_n_llhttp__interna s_n_llhttp__internal__n_invoke_store_http_major_1: ; preds = %if.end2546 %p.addr.248 = getelementptr inbounds i8, ptr %p.addr.212, i64 1 - %http_major.i4281 = getelementptr inbounds i8, ptr %state, i64 74 - store i8 %switch.tableidx6014, ptr %http_major.i4281, align 2 + %http_major.i4279 = getelementptr inbounds i8, ptr %state, i64 74 + store i8 %switch.tableidx6012, ptr %http_major.i4279, align 2 br label %s_n_llhttp__internal__n_res_http_dot s_n_llhttp__internal__n_span_end_llhttp__on_version_9: ; preds = %if.end2546 %_span_pos04033 = getelementptr inbounds i8, ptr %state, i64 8 - %810 = load ptr, ptr %_span_pos04033, align 8 + %811 = load ptr, ptr %_span_pos04033, align 8 store ptr null, ptr %_span_pos04033, align 8 - %call4035 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %810, ptr noundef nonnull %p.addr.212) #8 + %call4035 = tail call i32 @llhttp__on_version(ptr noundef nonnull %state, ptr noundef %811, ptr noundef nonnull %p.addr.212) #8 %cmp4036.not = icmp eq i32 %call4035, 0 br i1 %cmp4036.not, label %s_n_llhttp__internal__n_error_87, label %if.then4038 @@ -9284,8 +9285,8 @@ if.then4082: ; preds = %sw.bb2624 br label %return s_n_llhttp__internal__n_invoke_update_type_2: ; preds = %if.end2660 - %type.i4282 = getelementptr inbounds i8, ptr %state, i64 72 - store i8 1, ptr %type.i4282, align 8 + %type.i4280 = getelementptr inbounds i8, ptr %state, i64 72 + store i8 1, ptr %type.i4280, align 8 br label %s_n_llhttp__internal__n_span_start_llhttp__on_method_1 sw.bb4099: ; preds = %s_n_llhttp__internal__n_invoke_update_finish @@ -9314,7 +9315,7 @@ sw.bb4111: ; preds = %sw.bb4114 %reason4102 = getelementptr inbounds i8, ptr %state, i64 32 store ptr @.str.90, ptr %reason4102, align 8 %error_pos4103 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.2255249, ptr %error_pos4103, align 8 + store ptr %p.addr.2255247, ptr %error_pos4103, align 8 store ptr inttoptr (i64 225 to ptr), ptr %_current, align 8 br label %return @@ -9324,25 +9325,25 @@ sw.default4112: ; preds = %sw.bb4114 %reason4106 = getelementptr inbounds i8, ptr %state, i64 32 store ptr @.str.91, ptr %reason4106, align 8 %error_pos4107 = getelementptr inbounds i8, ptr %state, i64 40 - store ptr %p.addr.2255249, ptr %error_pos4107, align 8 + store ptr %p.addr.2255247, ptr %error_pos4107, align 8 store ptr null, ptr %_current, align 8 br label %return s_n_llhttp__internal__n_invoke_load_initial_message_completed: ; preds = %if.end2676 - %initial_message_completed.i4283 = getelementptr inbounds i8, ptr %state, i64 84 - %811 = load i8, ptr %initial_message_completed.i4283, align 4 - %cond1 = icmp eq i8 %811, 1 + %initial_message_completed.i4281 = getelementptr inbounds i8, ptr %state, i64 84 + %812 = load i8, ptr %initial_message_completed.i4281, align 4 + %cond1 = icmp eq i8 %812, 1 br i1 %cond1, label %sw.bb4114, label %s_n_llhttp__internal__n_invoke_update_finish sw.bb4114: ; preds = %s_n_llhttp__internal__n_invoke_load_initial_message_completed - %call4109 = tail call i32 @llhttp__on_reset(ptr noundef nonnull %state, ptr noundef nonnull %p.addr.2255249, ptr noundef %endp) #8 + %call4109 = tail call i32 @llhttp__on_reset(ptr noundef nonnull %state, ptr noundef nonnull %p.addr.2255247, ptr noundef %endp) #8 switch i32 %call4109, label %sw.default4112 [ i32 0, label %s_n_llhttp__internal__n_invoke_update_finish i32 21, label %sw.bb4111 ] -return: ; preds = %s_n_llhttp__internal__n_start.backedge, %sw.default2360, %sw.bb1359, %sw.bb1301, %sw.bb1248, %sw.bb1193, %sw.bb1161, %sw.bb1139, %sw.bb1094, %sw.bb140, %sw.bb113, %sw.bb89, %sw.bb351, %sw.bb685, %s_n_llhttp__internal__n_header_value_discard_ws.backedge, %sw.bb623, %sw.bb610, %s_n_llhttp__internal__n_header_value_te_token_ows.backedge, %llhttp__internal__c_mul_add_content_length_1.exit, %sw.bb540, %s_n_llhttp__internal__n_header_value_connection.backedge, %sw.bb448, %sw.bb435, %sw.bb599, %sw.default412, %s_n_llhttp__internal__n_closed.backedge, %entry, %if.end320, %s_n_llhttp__internal__n_start.preheader, %s_n_llhttp__internal__n_res_status.preheader, %s_n_llhttp__internal__n_req_spaces_before_url.preheader, %s_n_llhttp__internal__n_url_schema.preheader, %s_n_llhttp__internal__n_url_server.preheader, %s_n_llhttp__internal__n_url_path.preheader, %s_n_llhttp__internal__n_url_query.preheader, %s_n_llhttp__internal__n_url_fragment.preheader, %s_n_llhttp__internal__n_req_http_start.preheader, %s_n_llhttp__internal__n_chunk_extension_name.preheader, %s_n_llhttp__internal__n_chunk_extension_value.preheader, %s_n_llhttp__internal__n_chunk_extension_quoted_value.preheader, %s_n_llhttp__internal__n_header_field_colon_discard_ws.preheader, %s_n_llhttp__internal__n_header_field_general.preheader, %s_n_llhttp__internal__n_header_value_discard_ws.preheader, %s_n_llhttp__internal__n_header_value_te_chunked_last.preheader, %s_n_llhttp__internal__n_header_value_te_token.preheader, %s_n_llhttp__internal__n_header_value_te_token_ows.preheader, %s_n_llhttp__internal__n_header_value_content_length.preheader, %s_n_llhttp__internal__n_header_value_content_length_ws.preheader, %s_n_llhttp__internal__n_header_value_connection.preheader, %s_n_llhttp__internal__n_header_value_connection_ws.preheader, %s_n_llhttp__internal__n_header_value_connection_token.preheader, %s_n_llhttp__internal__n_header_value.preheader, %s_n_llhttp__internal__n_header_value_lenient.preheader, %s_n_llhttp__internal__n_closed.preheader, %llparse__match_sequence_id.exit4108.thread4963, %llparse__match_sequence_id.exit4082.thread4951, %llparse__match_sequence_id.exit4058.thread4939, %llparse__match_sequence_id.exit4034.thread4927, %llparse__match_sequence_id.exit4010.thread4915, %llparse__match_sequence_id.exit3986.thread4903, %llparse__match_sequence_id.exit3962.thread4891, %llparse__match_sequence_id.exit3938.thread4879, %llparse__match_sequence_id.exit3914.thread4867, %llparse__match_sequence_id.exit3890.thread4855, %llparse__match_sequence_id.exit3866.thread4843, %llparse__match_sequence_id.exit3842.thread4831, %llparse__match_sequence_id.exit3818.thread4819, %llparse__match_sequence_id.exit3794.thread4807, %llparse__match_sequence_id.exit3770.thread4795, %llparse__match_sequence_id.exit3746.thread4783, %llparse__match_sequence_id.exit3722.thread4771, %llparse__match_sequence_id.exit3698.thread4759, %llparse__match_sequence_id.exit3674.thread4747, %llparse__match_sequence_id.exit3650.thread4735, %llparse__match_sequence_id.exit3626.thread4723, %llparse__match_sequence_id.exit3602.thread4711, %llparse__match_sequence_id.exit3578.thread4699, %llparse__match_sequence_id.exit3554.thread4687, %llparse__match_sequence_id.exit3530.thread4675, %llparse__match_sequence_id.exit3506.thread4663, %llparse__match_sequence_id.exit3482.thread4651, %llparse__match_sequence_id.exit3458.thread4639, %llparse__match_sequence_id.exit3434.thread4627, %llparse__match_sequence_id.exit3410.thread4615, %llparse__match_sequence_id.exit3386.thread4603, %llparse__match_sequence_id.exit3362.thread4591, %llparse__match_sequence_id.exit3338.thread4579, %llparse__match_sequence_id.exit3314.thread4567, %llparse__match_sequence_id.exit3290.thread4555, %llparse__match_sequence_id.exit3266.thread4543, %llparse__match_sequence_id.exit3242.thread4531, %llparse__match_sequence_id.exit3218.thread4519, %llparse__match_sequence_id.exit3194.thread4507, %llparse__match_sequence_id.exit3170.thread4495, %llparse__match_sequence_id.exit3146.thread4483, %llparse__match_sequence_id.exit3122.thread4471, %llparse__match_sequence_id.exit3098.thread4459, %llparse__match_sequence_id.exit3072.thread4447, %llparse__match_sequence_id.exit3046.thread4435, %llparse__match_sequence_id.exit3020.thread4423, %llparse__match_sequence_to_lower.exit2991.thread4411, %llparse__match_sequence_to_lower.exit2965.thread4399, %llparse__match_sequence_to_lower.exit2939.thread4387, %llparse__match_sequence_to_lower.exit2913.thread4375, %llparse__match_sequence_to_lower.exit2887.thread4363, %llparse__match_sequence_to_lower.exit2861.thread4351, %llparse__match_sequence_to_lower_unsafe.exit.thread4339, %llparse__match_sequence_to_lower.exit2814.thread4327, %llparse__match_sequence_to_lower.exit2787.thread4315, %llparse__match_sequence_to_lower.exit.thread4303, %llparse__match_sequence_id.exit.thread4291, %s_n_llhttp__internal__n_start_req_or_res, %s_n_llhttp__internal__n_span_start_llhttp__on_method, %s_n_llhttp__internal__n_req_or_res_method, %s_n_llhttp__internal__n_req_or_res_method_1, %s_n_llhttp__internal__n_req_or_res_method_3, %s_n_llhttp__internal__n_req_or_res_method_2, %s_n_llhttp__internal__n_start_res, %s_n_llhttp__internal__n_span_start_llhttp__on_version_1, %s_n_llhttp__internal__n_res_http_major, %s_n_llhttp__internal__n_res_http_dot, %s_n_llhttp__internal__n_res_http_minor, %s_n_llhttp__internal__n_res_after_version, %s_n_llhttp__internal__n_res_status_code_digit_1, %s_n_llhttp__internal__n_res_status_code_digit_2, %s_n_llhttp__internal__n_res_status_code_digit_3, %s_n_llhttp__internal__n_res_status_code_otherwise, %s_n_llhttp__internal__n_res_status_start, %s_n_llhttp__internal__n_span_start_llhttp__on_status, %s_n_llhttp__internal__n_res_line_almost_done, %s_n_llhttp__internal__n_span_start_llhttp__on_method_1, %s_n_llhttp__internal__n_after_start_req, %s_n_llhttp__internal__n_after_start_req_63, %s_n_llhttp__internal__n_after_start_req_64, %s_n_llhttp__internal__n_after_start_req_69, %s_n_llhttp__internal__n_after_start_req_66, %s_n_llhttp__internal__n_after_start_req_68, %s_n_llhttp__internal__n_after_start_req_67, %s_n_llhttp__internal__n_after_start_req_65, %s_n_llhttp__internal__n_after_start_req_60, %s_n_llhttp__internal__n_after_start_req_62, %s_n_llhttp__internal__n_after_start_req_61, %s_n_llhttp__internal__n_after_start_req_52, %s_n_llhttp__internal__n_after_start_req_59, %s_n_llhttp__internal__n_after_start_req_58, %s_n_llhttp__internal__n_after_start_req_53, %s_n_llhttp__internal__n_after_start_req_55, %s_n_llhttp__internal__n_after_start_req_57, %s_n_llhttp__internal__n_after_start_req_56, %s_n_llhttp__internal__n_after_start_req_54, %s_n_llhttp__internal__n_after_start_req_46, %s_n_llhttp__internal__n_after_start_req_47, %s_n_llhttp__internal__n_after_start_req_51, %s_n_llhttp__internal__n_after_start_req_50, %s_n_llhttp__internal__n_after_start_req_49, %s_n_llhttp__internal__n_after_start_req_48, %s_n_llhttp__internal__n_after_start_req_33, %s_n_llhttp__internal__n_after_start_req_44, %s_n_llhttp__internal__n_after_start_req_45, %s_n_llhttp__internal__n_after_start_req_39, %s_n_llhttp__internal__n_after_start_req_40, %s_n_llhttp__internal__n_after_start_req_41, %s_n_llhttp__internal__n_after_start_req_43, %s_n_llhttp__internal__n_after_start_req_42, %s_n_llhttp__internal__n_after_start_req_38, %s_n_llhttp__internal__n_after_start_req_37, %s_n_llhttp__internal__n_after_start_req_34, %s_n_llhttp__internal__n_after_start_req_36, %s_n_llhttp__internal__n_after_start_req_35, %s_n_llhttp__internal__n_after_start_req_32, %s_n_llhttp__internal__n_after_start_req_31, %s_n_llhttp__internal__n_after_start_req_22, %s_n_llhttp__internal__n_after_start_req_30, %s_n_llhttp__internal__n_after_start_req_25, %s_n_llhttp__internal__n_after_start_req_27, %s_n_llhttp__internal__n_after_start_req_29, %s_n_llhttp__internal__n_after_start_req_28, %s_n_llhttp__internal__n_after_start_req_26, %s_n_llhttp__internal__n_after_start_req_24, %s_n_llhttp__internal__n_after_start_req_23, %s_n_llhttp__internal__n_after_start_req_19, %s_n_llhttp__internal__n_after_start_req_21, %s_n_llhttp__internal__n_after_start_req_20, %s_n_llhttp__internal__n_after_start_req_18, %s_n_llhttp__internal__n_after_start_req_15, %s_n_llhttp__internal__n_after_start_req_16, %s_n_llhttp__internal__n_after_start_req_17, %s_n_llhttp__internal__n_after_start_req_14, %s_n_llhttp__internal__n_after_start_req_10, %s_n_llhttp__internal__n_after_start_req_11, %s_n_llhttp__internal__n_after_start_req_13, %s_n_llhttp__internal__n_after_start_req_12, %s_n_llhttp__internal__n_after_start_req_5, %s_n_llhttp__internal__n_after_start_req_7, %s_n_llhttp__internal__n_after_start_req_9, %s_n_llhttp__internal__n_after_start_req_8, %s_n_llhttp__internal__n_after_start_req_6, %s_n_llhttp__internal__n_after_start_req_4, %s_n_llhttp__internal__n_after_start_req_1, %s_n_llhttp__internal__n_after_start_req_3, %s_n_llhttp__internal__n_after_start_req_2, %s_n_llhttp__internal__n_req_first_space_before_url, %s_n_llhttp__internal__n_url_entry_connect, %s_n_llhttp__internal__n_span_start_llhttp__on_url, %s_n_llhttp__internal__n_url_entry_normal, %s_n_llhttp__internal__n_span_start_llhttp__on_url_1, %s_n_llhttp__internal__n_url_start, %s_n_llhttp__internal__n_span_end_stub_schema, %s_n_llhttp__internal__n_url_schema_delim, %s_n_llhttp__internal__n_url_schema_delim_1, %s_n_llhttp__internal__n_url_server_with_at, %s_n_llhttp__internal__n_span_start_stub_path_1, %s_n_llhttp__internal__n_span_start_stub_path, %s_n_llhttp__internal__n_span_start_stub_path_2, %s_n_llhttp__internal__n_url_query_or_fragment, %s_n_llhttp__internal__n_span_end_stub_query_3, %s_n_llhttp__internal__n_url_skip_to_http, %s_n_llhttp__internal__n_url_to_http, %s_n_llhttp__internal__n_req_http_start_3, %s_n_llhttp__internal__n_req_http_start_2, %s_n_llhttp__internal__n_req_http_start_1, %s_n_llhttp__internal__n_span_start_llhttp__on_version, %s_n_llhttp__internal__n_req_http_major, %s_n_llhttp__internal__n_req_http_dot, %s_n_llhttp__internal__n_req_http_minor, %s_n_llhttp__internal__n_req_http_complete, %s_n_llhttp__internal__n_req_http_complete_crlf, %if.end916, %s_n_llhttp__internal__n_req_pri_upgrade, %s_n_llhttp__internal__n_url_skip_lf_to_http09, %s_n_llhttp__internal__n_url_skip_lf_to_http09_1, %s_n_llhttp__internal__n_url_skip_to_http09, %s_n_llhttp__internal__n_url_to_http_09, %s_n_llhttp__internal__n_headers_start, %s_n_llhttp__internal__n_header_field_start, %s_n_llhttp__internal__n_span_start_llhttp__on_header_field, %s_n_llhttp__internal__n_header_field, %s_n_llhttp__internal__n_header_field_7, %s_n_llhttp__internal__n_header_field_6, %s_n_llhttp__internal__n_header_field_5, %s_n_llhttp__internal__n_header_field_1, %s_n_llhttp__internal__n_header_field_2, %s_n_llhttp__internal__n_header_field_4, %s_n_llhttp__internal__n_header_field_3, %s_n_llhttp__internal__n_header_field_colon, %s_n_llhttp__internal__n_header_field_general_otherwise, %s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1, %s_n_llhttp__internal__n_header_value_te_chunked, %s_n_llhttp__internal__n_header_value_connection_3, %s_n_llhttp__internal__n_header_value_connection_2, %s_n_llhttp__internal__n_header_value_connection_1, %s_n_llhttp__internal__n_header_value_otherwise, %s_n_llhttp__internal__n_header_value_almost_done, %s_n_llhttp__internal__n_header_value_lws, %s_n_llhttp__internal__n_header_value_discard_ws_almost_done, %s_n_llhttp__internal__n_header_value_discard_lws, %s_n_llhttp__internal__n_span_start_llhttp__on_header_value, %s_n_llhttp__internal__n_headers_almost_done, %s_n_llhttp__internal__n_span_start_llhttp__on_body_2, %s_n_llhttp__internal__n_span_start_llhttp__on_body_1, %s_n_llhttp__internal__n_chunk_size_digit, %s_n_llhttp__internal__n_chunk_size, %s_n_llhttp__internal__n_chunk_size_otherwise, %s_n_llhttp__internal__n_chunk_extensions, %s_n_llhttp__internal__n_span_start_llhttp__on_chunk_extension_name, %s_n_llhttp__internal__n_span_start_llhttp__on_chunk_extension_value, %s_n_llhttp__internal__n_chunk_extension_quoted_value_done, %s_n_llhttp__internal__n_chunk_size_almost_done, %s_n_llhttp__internal__n_span_start_llhttp__on_body, %s_n_llhttp__internal__n_chunk_data_almost_done, %sw.default4112, %sw.bb4111, %sw.default4100, %sw.bb4099, %if.then4082, %s_n_llhttp__internal__n_error_88, %if.then4062, %s_n_llhttp__internal__n_error_1, %s_n_llhttp__internal__n_pause_19, %s_n_llhttp__internal__n_error_91, %if.then4038, %if.then4024, %if.then4012, %if.then3980, %if.then3968, %s_n_llhttp__internal__n_error_74, %s_n_llhttp__internal__n_pause_21, %s_n_llhttp__internal__n_error_84, %s_n_llhttp__internal__n_error_83, %s_n_llhttp__internal__n_error_81, %s_n_llhttp__internal__n_error_79, %s_n_llhttp__internal__n_error_77, %if.then3915, %if.then3901, %sw.default3893, %sw.default3886, %sw.bb3885, %sw.bb3927, %sw.bb3934, %sw.bb3941, %s_n_llhttp__internal__n_error_90, %if.then3852, %s_n_llhttp__internal__n_error_89, %s_n_llhttp__internal__n_pause_22, %s_n_llhttp__internal__n_error_72, %s_n_llhttp__internal__n_error_71, %s_n_llhttp__internal__n_error_70, %s_n_llhttp__internal__n_error_69, %s_n_llhttp__internal__n_error_68, %s_n_llhttp__internal__n_error_67, %sw.bb1232, %if.then3801, %if.then3789, %if.then3777, %if.then3765, %if.then3753, %if.then3741, %s_n_llhttp__internal__n_error_65, %s_n_llhttp__internal__n_error_64, %if.then3721, %if.then3709, %if.then3697, %s_n_llhttp__internal__n_error_63, %if.then3681, %if.then3669, %if.then3657, %if.then3645, %sw.default3637, %sw.bb3636, %sw.default3625, %sw.default3605, %s_n_llhttp__internal__n_error_62, %sw.default3594, %if.then3549, %if.then3535, %if.then3523, %if.then3491, %if.then3479, %s_n_llhttp__internal__n_error_52, %s_n_llhttp__internal__n_pause_17, %s_n_llhttp__internal__n_error_54, %sw.default3459, %s_n_llhttp__internal__n_error_56, %sw.bb921, %if.then3440, %s_n_llhttp__internal__n_error_48, %if.then3424, %sw.default3412, %sw.bb3411, %sw.default3400, %s_n_llhttp__internal__n_error_47, %if.then3377, %if.then3363, %s_n_llhttp__internal__n_error_34, %s_n_llhttp__internal__n_pause_15, %if.then3310, %if.then3294, %sw.default3286, %if.then3275, %if.then3258, %if.then3219, %if.then3205, %if.then3193, %if.then3179, %s_n_llhttp__internal__n_error_40, %sw.default3146, %sw.default3139, %if.then3109, %s_n_llhttp__internal__n_error_37, %s_n_llhttp__internal__n_pause_14, %sw.bb3131, %sw.default3089, %if.then3073, %sw.default3065, %sw.default3047, %sw.bb3046, %sw.bb3051, %sw.default3023, %sw.bb3022, %sw.default3008, %sw.bb3007, %s_n_llhttp__internal__n_error_29, %if.then2986, %s_n_llhttp__internal__n_error_28, %s_n_llhttp__internal__n_pause_11, %s_n_llhttp__internal__n_error_27, %s_n_llhttp__internal__n_error_25, %if.then2953, %if.then2939, %sw.default2931, %sw.bb2930, %if.then2913, %if.then2899, %s_n_llhttp__internal__n_error_22, %s_n_llhttp__internal__n_pause_9, %if.then2877, %if.then2865, %s_n_llhttp__internal__n_error_19, %s_n_llhttp__internal__n_pause_8, %s_n_llhttp__internal__n_error_20, %if.then2839, %s_n_llhttp__internal__n_error_18, %s_n_llhttp__internal__n_pause_7, %if.then2817, %s_n_llhttp__internal__n_error_16, %s_n_llhttp__internal__n_pause_6, %if.then2795, %s_n_llhttp__internal__n_error_15, %s_n_llhttp__internal__n_pause_5, %sw.bb160, %sw.bb158, %sw.default2771, %sw.default2764, %sw.bb2763, %if.then2746, %sw.default2740, %sw.default2733, %sw.bb2732, %sw.bb2965, %sw.default2717, %sw.bb2716, %sw.default2700, %s_n_llhttp__internal__n_error_2, %s_n_llhttp__internal__n_error_87, %s_n_llhttp__internal__n_error_86, %s_n_llhttp__internal__n_error_85, %s_n_llhttp__internal__n_error_73, %s_n_llhttp__internal__n_error_59, %s_n_llhttp__internal__n_error_58, %s_n_llhttp__internal__n_error_57, %s_n_llhttp__internal__n_error_51, %s_n_llhttp__internal__n_error_45, %s_n_llhttp__internal__n_error_46, %s_n_llhttp__internal__n_error_44, %s_n_llhttp__internal__n_error_43, %s_n_llhttp__internal__n_error_41, %s_n_llhttp__internal__n_error_5, %if.end300, %s_n_llhttp__internal__n_error_24, %s_n_llhttp__internal__n_error_23, %s_n_llhttp__internal__n_error_21, %if.end27, %s_n_llhttp__internal__n_pause_1 - %retval.0 = phi i32 [ 0, %sw.default4112 ], [ 0, %sw.bb4111 ], [ 0, %sw.default4100 ], [ 0, %sw.bb4099 ], [ 0, %s_n_llhttp__internal__n_error_88 ], [ 0, %if.then4082 ], [ 0, %if.then4038 ], [ 0, %s_n_llhttp__internal__n_error_87 ], [ 0, %if.then4012 ], [ 0, %s_n_llhttp__internal__n_error_85 ], [ 0, %if.then3968 ], [ 0, %s_n_llhttp__internal__n_error_74 ], [ 0, %s_n_llhttp__internal__n_pause_21 ], [ 0, %s_n_llhttp__internal__n_error_83 ], [ 0, %sw.bb3941 ], [ 0, %s_n_llhttp__internal__n_error_81 ], [ 0, %sw.bb3934 ], [ 0, %s_n_llhttp__internal__n_error_79 ], [ 0, %sw.bb3927 ], [ 0, %s_n_llhttp__internal__n_error_77 ], [ 0, %if.then3915 ], [ 0, %sw.default3886 ], [ 0, %sw.bb3885 ], [ 0, %if.then3377 ], [ 0, %s_n_llhttp__internal__n_error_34 ], [ 0, %s_n_llhttp__internal__n_pause_15 ], [ 0, %if.then3179 ], [ 0, %s_n_llhttp__internal__n_error_37 ], [ 0, %s_n_llhttp__internal__n_pause_14 ], [ 0, %s_n_llhttp__internal__n_error_40 ], [ 0, %if.then3205 ], [ 0, %if.then3193 ], [ 0, %if.then3219 ], [ 0, %s_n_llhttp__internal__n_error_41 ], [ 0, %if.then3294 ], [ 0, %s_n_llhttp__internal__n_error_46 ], [ 0, %if.then3310 ], [ 0, %s_n_llhttp__internal__n_error_45 ], [ 0, %if.then3275 ], [ 0, %s_n_llhttp__internal__n_error_44 ], [ 0, %if.then3258 ], [ 0, %s_n_llhttp__internal__n_error_43 ], [ 0, %sw.default3286 ], [ 0, %sw.bb3131 ], [ 0, %if.then3109 ], [ 0, %sw.default3089 ], [ 0, %sw.default3146 ], [ 0, %sw.default3139 ], [ 0, %s_n_llhttp__internal__n_error_47 ], [ 0, %if.then3363 ], [ 0, %if.then3073 ], [ 0, %s_n_llhttp__internal__n_error_5 ], [ 0, %sw.default3023 ], [ 0, %sw.bb3022 ], [ 0, %s_n_llhttp__internal__n_error_28 ], [ 0, %s_n_llhttp__internal__n_pause_11 ], [ 0, %sw.default2700 ], [ 0, %s_n_llhttp__internal__n_pause_1 ], [ 0, %sw.bb3051 ], [ 0, %sw.default3047 ], [ 0, %sw.bb3046 ], [ 0, %sw.default3008 ], [ 0, %sw.bb3007 ], [ 0, %s_n_llhttp__internal__n_error_29 ], [ 0, %if.then2986 ], [ 30, %if.end300 ], [ 0, %s_n_llhttp__internal__n_error_27 ], [ 0, %sw.bb2965 ], [ 0, %s_n_llhttp__internal__n_error_25 ], [ 0, %if.then2953 ], [ 0, %s_n_llhttp__internal__n_error_24 ], [ 0, %if.then2939 ], [ 0, %sw.default2931 ], [ 0, %sw.bb2930 ], [ 0, %if.then2913 ], [ 0, %s_n_llhttp__internal__n_error_23 ], [ 0, %if.then2899 ], [ 0, %s_n_llhttp__internal__n_error_22 ], [ 0, %s_n_llhttp__internal__n_pause_9 ], [ 0, %if.then2877 ], [ 0, %s_n_llhttp__internal__n_error_21 ], [ 0, %if.then2865 ], [ 0, %s_n_llhttp__internal__n_error_19 ], [ 0, %s_n_llhttp__internal__n_pause_8 ], [ 0, %s_n_llhttp__internal__n_error_20 ], [ 0, %sw.default2764 ], [ 0, %sw.bb2763 ], [ 0, %if.then2746 ], [ 0, %sw.default2733 ], [ 0, %sw.bb2732 ], [ 0, %sw.default2740 ], [ 5, %if.end27 ], [ 0, %sw.default2771 ], [ 0, %if.then2839 ], [ 0, %s_n_llhttp__internal__n_error_18 ], [ 0, %s_n_llhttp__internal__n_pause_7 ], [ 0, %if.then2817 ], [ 0, %s_n_llhttp__internal__n_error_16 ], [ 0, %s_n_llhttp__internal__n_pause_6 ], [ 0, %if.then2795 ], [ 0, %s_n_llhttp__internal__n_error_15 ], [ 0, %s_n_llhttp__internal__n_pause_5 ], [ 0, %sw.bb160 ], [ 0, %sw.bb158 ], [ 0, %sw.default2717 ], [ 0, %sw.bb2716 ], [ 0, %sw.default3065 ], [ 0, %sw.default3400 ], [ 0, %sw.default3893 ], [ 0, %if.then3901 ], [ 0, %s_n_llhttp__internal__n_error_84 ], [ 0, %if.then3980 ], [ 0, %s_n_llhttp__internal__n_error_73 ], [ 0, %if.then4024 ], [ 0, %s_n_llhttp__internal__n_error_86 ], [ 0, %if.then4062 ], [ 0, %s_n_llhttp__internal__n_error_1 ], [ 0, %s_n_llhttp__internal__n_pause_19 ], [ 0, %s_n_llhttp__internal__n_error_71 ], [ 0, %s_n_llhttp__internal__n_error_70 ], [ 0, %s_n_llhttp__internal__n_error_69 ], [ 0, %s_n_llhttp__internal__n_error_68 ], [ 0, %s_n_llhttp__internal__n_error_67 ], [ 0, %sw.bb1232 ], [ 0, %s_n_llhttp__internal__n_error_64 ], [ 0, %s_n_llhttp__internal__n_error_63 ], [ 0, %if.then3681 ], [ 0, %sw.default3637 ], [ 0, %sw.bb3636 ], [ 0, %s_n_llhttp__internal__n_error_62 ], [ 0, %sw.default3625 ], [ 0, %if.then3549 ], [ 0, %s_n_llhttp__internal__n_error_59 ], [ 0, %if.then3523 ], [ 0, %s_n_llhttp__internal__n_error_57 ], [ 0, %if.then3479 ], [ 0, %s_n_llhttp__internal__n_error_52 ], [ 0, %s_n_llhttp__internal__n_pause_17 ], [ 0, %s_n_llhttp__internal__n_error_56 ], [ 0, %sw.bb921 ], [ 0, %sw.default3459 ], [ 0, %s_n_llhttp__internal__n_error_54 ], [ 0, %if.then3491 ], [ 0, %s_n_llhttp__internal__n_error_51 ], [ 0, %if.then3535 ], [ 0, %s_n_llhttp__internal__n_error_58 ], [ 0, %sw.default3605 ], [ 0, %sw.default3594 ], [ 0, %s_n_llhttp__internal__n_error_2 ], [ 0, %if.then3669 ], [ 0, %s_n_llhttp__internal__n_error_48 ], [ 0, %sw.default3412 ], [ 0, %sw.bb3411 ], [ 0, %if.then3657 ], [ 0, %if.then3721 ], [ 0, %if.then3709 ], [ 0, %if.then3697 ], [ 0, %s_n_llhttp__internal__n_error_65 ], [ 0, %if.then3645 ], [ 0, %if.then3440 ], [ 0, %if.then3424 ], [ 0, %if.then3801 ], [ 0, %if.then3789 ], [ 0, %if.then3777 ], [ 0, %if.then3765 ], [ 0, %if.then3753 ], [ 0, %if.then3741 ], [ 0, %s_n_llhttp__internal__n_error_72 ], [ 0, %s_n_llhttp__internal__n_error_90 ], [ 0, %if.then3852 ], [ 0, %s_n_llhttp__internal__n_error_89 ], [ 0, %s_n_llhttp__internal__n_pause_22 ], [ 0, %s_n_llhttp__internal__n_error_91 ], [ 4, %s_n_llhttp__internal__n_chunk_data_almost_done ], [ 6, %s_n_llhttp__internal__n_span_start_llhttp__on_body ], [ 8, %s_n_llhttp__internal__n_chunk_size_almost_done ], [ 12, %s_n_llhttp__internal__n_chunk_extension_quoted_value_done ], [ 19, %s_n_llhttp__internal__n_span_start_llhttp__on_chunk_extension_value ], [ 22, %s_n_llhttp__internal__n_span_start_llhttp__on_chunk_extension_name ], [ 23, %s_n_llhttp__internal__n_chunk_extensions ], [ 24, %s_n_llhttp__internal__n_chunk_size_otherwise ], [ 25, %s_n_llhttp__internal__n_chunk_size ], [ 26, %s_n_llhttp__internal__n_chunk_size_digit ], [ 31, %s_n_llhttp__internal__n_span_start_llhttp__on_body_1 ], [ 33, %s_n_llhttp__internal__n_span_start_llhttp__on_body_2 ], [ 36, %s_n_llhttp__internal__n_headers_almost_done ], [ 39, %s_n_llhttp__internal__n_span_start_llhttp__on_header_value ], [ 40, %s_n_llhttp__internal__n_header_value_discard_lws ], [ 41, %s_n_llhttp__internal__n_header_value_discard_ws_almost_done ], [ 42, %s_n_llhttp__internal__n_header_value_lws ], [ 43, %s_n_llhttp__internal__n_header_value_almost_done ], [ 46, %s_n_llhttp__internal__n_header_value_otherwise ], [ 49, %s_n_llhttp__internal__n_header_value_connection_1 ], [ 50, %s_n_llhttp__internal__n_header_value_connection_2 ], [ 51, %s_n_llhttp__internal__n_header_value_connection_3 ], [ 63, %s_n_llhttp__internal__n_header_value_te_chunked ], [ 64, %s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1 ], [ 67, %s_n_llhttp__internal__n_header_field_general_otherwise ], [ 69, %s_n_llhttp__internal__n_header_field_colon ], [ 70, %s_n_llhttp__internal__n_header_field_3 ], [ 71, %s_n_llhttp__internal__n_header_field_4 ], [ 72, %s_n_llhttp__internal__n_header_field_2 ], [ 73, %s_n_llhttp__internal__n_header_field_1 ], [ 74, %s_n_llhttp__internal__n_header_field_5 ], [ 75, %s_n_llhttp__internal__n_header_field_6 ], [ 76, %s_n_llhttp__internal__n_header_field_7 ], [ 77, %s_n_llhttp__internal__n_header_field ], [ 78, %s_n_llhttp__internal__n_span_start_llhttp__on_header_field ], [ 79, %s_n_llhttp__internal__n_header_field_start ], [ 80, %s_n_llhttp__internal__n_headers_start ], [ 81, %s_n_llhttp__internal__n_url_to_http_09 ], [ 82, %s_n_llhttp__internal__n_url_skip_to_http09 ], [ 83, %s_n_llhttp__internal__n_url_skip_lf_to_http09_1 ], [ 84, %s_n_llhttp__internal__n_url_skip_lf_to_http09 ], [ 85, %s_n_llhttp__internal__n_req_pri_upgrade ], [ 85, %if.end916 ], [ 86, %s_n_llhttp__internal__n_req_http_complete_crlf ], [ 87, %s_n_llhttp__internal__n_req_http_complete ], [ 92, %s_n_llhttp__internal__n_req_http_minor ], [ 94, %s_n_llhttp__internal__n_req_http_dot ], [ 96, %s_n_llhttp__internal__n_req_http_major ], [ 97, %s_n_llhttp__internal__n_span_start_llhttp__on_version ], [ 98, %s_n_llhttp__internal__n_req_http_start_1 ], [ 99, %s_n_llhttp__internal__n_req_http_start_2 ], [ 100, %s_n_llhttp__internal__n_req_http_start_3 ], [ 102, %s_n_llhttp__internal__n_url_to_http ], [ 103, %s_n_llhttp__internal__n_url_skip_to_http ], [ 105, %s_n_llhttp__internal__n_span_end_stub_query_3 ], [ 107, %s_n_llhttp__internal__n_url_query_or_fragment ], [ 109, %s_n_llhttp__internal__n_span_start_stub_path_2 ], [ 110, %s_n_llhttp__internal__n_span_start_stub_path ], [ 111, %s_n_llhttp__internal__n_span_start_stub_path_1 ], [ 112, %s_n_llhttp__internal__n_url_server_with_at ], [ 114, %s_n_llhttp__internal__n_url_schema_delim_1 ], [ 115, %s_n_llhttp__internal__n_url_schema_delim ], [ 116, %s_n_llhttp__internal__n_span_end_stub_schema ], [ 118, %s_n_llhttp__internal__n_url_start ], [ 119, %s_n_llhttp__internal__n_span_start_llhttp__on_url_1 ], [ 120, %s_n_llhttp__internal__n_url_entry_normal ], [ 121, %s_n_llhttp__internal__n_span_start_llhttp__on_url ], [ 122, %s_n_llhttp__internal__n_url_entry_connect ], [ 124, %s_n_llhttp__internal__n_req_first_space_before_url ], [ 126, %s_n_llhttp__internal__n_after_start_req_2 ], [ 127, %s_n_llhttp__internal__n_after_start_req_3 ], [ 128, %s_n_llhttp__internal__n_after_start_req_1 ], [ 129, %s_n_llhttp__internal__n_after_start_req_4 ], [ 130, %s_n_llhttp__internal__n_after_start_req_6 ], [ 131, %s_n_llhttp__internal__n_after_start_req_8 ], [ 132, %s_n_llhttp__internal__n_after_start_req_9 ], [ 133, %s_n_llhttp__internal__n_after_start_req_7 ], [ 134, %s_n_llhttp__internal__n_after_start_req_5 ], [ 135, %s_n_llhttp__internal__n_after_start_req_12 ], [ 136, %s_n_llhttp__internal__n_after_start_req_13 ], [ 137, %s_n_llhttp__internal__n_after_start_req_11 ], [ 138, %s_n_llhttp__internal__n_after_start_req_10 ], [ 139, %s_n_llhttp__internal__n_after_start_req_14 ], [ 140, %s_n_llhttp__internal__n_after_start_req_17 ], [ 141, %s_n_llhttp__internal__n_after_start_req_16 ], [ 142, %s_n_llhttp__internal__n_after_start_req_15 ], [ 143, %s_n_llhttp__internal__n_after_start_req_18 ], [ 144, %s_n_llhttp__internal__n_after_start_req_20 ], [ 145, %s_n_llhttp__internal__n_after_start_req_21 ], [ 146, %s_n_llhttp__internal__n_after_start_req_19 ], [ 147, %s_n_llhttp__internal__n_after_start_req_23 ], [ 148, %s_n_llhttp__internal__n_after_start_req_24 ], [ 149, %s_n_llhttp__internal__n_after_start_req_26 ], [ 150, %s_n_llhttp__internal__n_after_start_req_28 ], [ 151, %s_n_llhttp__internal__n_after_start_req_29 ], [ 152, %s_n_llhttp__internal__n_after_start_req_27 ], [ 153, %s_n_llhttp__internal__n_after_start_req_25 ], [ 154, %s_n_llhttp__internal__n_after_start_req_30 ], [ 155, %s_n_llhttp__internal__n_after_start_req_22 ], [ 156, %s_n_llhttp__internal__n_after_start_req_31 ], [ 157, %s_n_llhttp__internal__n_after_start_req_32 ], [ 158, %s_n_llhttp__internal__n_after_start_req_35 ], [ 159, %s_n_llhttp__internal__n_after_start_req_36 ], [ 160, %s_n_llhttp__internal__n_after_start_req_34 ], [ 161, %s_n_llhttp__internal__n_after_start_req_37 ], [ 162, %s_n_llhttp__internal__n_after_start_req_38 ], [ 163, %s_n_llhttp__internal__n_after_start_req_42 ], [ 164, %s_n_llhttp__internal__n_after_start_req_43 ], [ 165, %s_n_llhttp__internal__n_after_start_req_41 ], [ 166, %s_n_llhttp__internal__n_after_start_req_40 ], [ 167, %s_n_llhttp__internal__n_after_start_req_39 ], [ 168, %s_n_llhttp__internal__n_after_start_req_45 ], [ 169, %s_n_llhttp__internal__n_after_start_req_44 ], [ 170, %s_n_llhttp__internal__n_after_start_req_33 ], [ 171, %s_n_llhttp__internal__n_after_start_req_48 ], [ 172, %s_n_llhttp__internal__n_after_start_req_49 ], [ 173, %s_n_llhttp__internal__n_after_start_req_50 ], [ 174, %s_n_llhttp__internal__n_after_start_req_51 ], [ 175, %s_n_llhttp__internal__n_after_start_req_47 ], [ 176, %s_n_llhttp__internal__n_after_start_req_46 ], [ 177, %s_n_llhttp__internal__n_after_start_req_54 ], [ 178, %s_n_llhttp__internal__n_after_start_req_56 ], [ 179, %s_n_llhttp__internal__n_after_start_req_57 ], [ 180, %s_n_llhttp__internal__n_after_start_req_55 ], [ 181, %s_n_llhttp__internal__n_after_start_req_53 ], [ 182, %s_n_llhttp__internal__n_after_start_req_58 ], [ 183, %s_n_llhttp__internal__n_after_start_req_59 ], [ 184, %s_n_llhttp__internal__n_after_start_req_52 ], [ 185, %s_n_llhttp__internal__n_after_start_req_61 ], [ 186, %s_n_llhttp__internal__n_after_start_req_62 ], [ 187, %s_n_llhttp__internal__n_after_start_req_60 ], [ 188, %s_n_llhttp__internal__n_after_start_req_65 ], [ 189, %s_n_llhttp__internal__n_after_start_req_67 ], [ 190, %s_n_llhttp__internal__n_after_start_req_68 ], [ 191, %s_n_llhttp__internal__n_after_start_req_66 ], [ 192, %s_n_llhttp__internal__n_after_start_req_69 ], [ 193, %s_n_llhttp__internal__n_after_start_req_64 ], [ 194, %s_n_llhttp__internal__n_after_start_req_63 ], [ 195, %s_n_llhttp__internal__n_after_start_req ], [ 196, %s_n_llhttp__internal__n_span_start_llhttp__on_method_1 ], [ 197, %s_n_llhttp__internal__n_res_line_almost_done ], [ 199, %s_n_llhttp__internal__n_span_start_llhttp__on_status ], [ 200, %s_n_llhttp__internal__n_res_status_start ], [ 201, %s_n_llhttp__internal__n_res_status_code_otherwise ], [ 202, %s_n_llhttp__internal__n_res_status_code_digit_3 ], [ 203, %s_n_llhttp__internal__n_res_status_code_digit_2 ], [ 204, %s_n_llhttp__internal__n_res_status_code_digit_1 ], [ 205, %s_n_llhttp__internal__n_res_after_version ], [ 209, %s_n_llhttp__internal__n_res_http_minor ], [ 211, %s_n_llhttp__internal__n_res_http_dot ], [ 213, %s_n_llhttp__internal__n_res_http_major ], [ 214, %s_n_llhttp__internal__n_span_start_llhttp__on_version_1 ], [ 215, %s_n_llhttp__internal__n_start_res ], [ 217, %s_n_llhttp__internal__n_req_or_res_method_2 ], [ 219, %s_n_llhttp__internal__n_req_or_res_method_3 ], [ 220, %s_n_llhttp__internal__n_req_or_res_method_1 ], [ 221, %s_n_llhttp__internal__n_req_or_res_method ], [ 222, %s_n_llhttp__internal__n_span_start_llhttp__on_method ], [ 223, %s_n_llhttp__internal__n_start_req_or_res ], [ 4, %llparse__match_sequence_id.exit.thread4291 ], [ 49, %llparse__match_sequence_to_lower.exit.thread4303 ], [ 50, %llparse__match_sequence_to_lower.exit2787.thread4315 ], [ 51, %llparse__match_sequence_to_lower.exit2814.thread4327 ], [ 63, %llparse__match_sequence_to_lower_unsafe.exit.thread4339 ], [ 70, %llparse__match_sequence_to_lower.exit2861.thread4351 ], [ 71, %llparse__match_sequence_to_lower.exit2887.thread4363 ], [ 73, %llparse__match_sequence_to_lower.exit2913.thread4375 ], [ 74, %llparse__match_sequence_to_lower.exit2939.thread4387 ], [ 75, %llparse__match_sequence_to_lower.exit2965.thread4399 ], [ 76, %llparse__match_sequence_to_lower.exit2991.thread4411 ], [ 98, %llparse__match_sequence_id.exit3020.thread4423 ], [ 99, %llparse__match_sequence_id.exit3046.thread4435 ], [ 100, %llparse__match_sequence_id.exit3072.thread4447 ], [ 127, %llparse__match_sequence_id.exit3098.thread4459 ], [ 129, %llparse__match_sequence_id.exit3122.thread4471 ], [ 130, %llparse__match_sequence_id.exit3146.thread4483 ], [ 131, %llparse__match_sequence_id.exit3170.thread4495 ], [ 135, %llparse__match_sequence_id.exit3194.thread4507 ], [ 136, %llparse__match_sequence_id.exit3218.thread4519 ], [ 139, %llparse__match_sequence_id.exit3242.thread4531 ], [ 140, %llparse__match_sequence_id.exit3266.thread4543 ], [ 142, %llparse__match_sequence_id.exit3290.thread4555 ], [ 143, %llparse__match_sequence_id.exit3314.thread4567 ], [ 144, %llparse__match_sequence_id.exit3338.thread4579 ], [ 145, %llparse__match_sequence_id.exit3362.thread4591 ], [ 147, %llparse__match_sequence_id.exit3386.thread4603 ], [ 148, %llparse__match_sequence_id.exit3410.thread4615 ], [ 149, %llparse__match_sequence_id.exit3434.thread4627 ], [ 150, %llparse__match_sequence_id.exit3458.thread4639 ], [ 154, %llparse__match_sequence_id.exit3482.thread4651 ], [ 156, %llparse__match_sequence_id.exit3506.thread4663 ], [ 157, %llparse__match_sequence_id.exit3530.thread4675 ], [ 158, %llparse__match_sequence_id.exit3554.thread4687 ], [ 159, %llparse__match_sequence_id.exit3578.thread4699 ], [ 161, %llparse__match_sequence_id.exit3602.thread4711 ], [ 162, %llparse__match_sequence_id.exit3626.thread4723 ], [ 163, %llparse__match_sequence_id.exit3650.thread4735 ], [ 164, %llparse__match_sequence_id.exit3674.thread4747 ], [ 168, %llparse__match_sequence_id.exit3698.thread4759 ], [ 171, %llparse__match_sequence_id.exit3722.thread4771 ], [ 172, %llparse__match_sequence_id.exit3746.thread4783 ], [ 173, %llparse__match_sequence_id.exit3770.thread4795 ], [ 174, %llparse__match_sequence_id.exit3794.thread4807 ], [ 177, %llparse__match_sequence_id.exit3818.thread4819 ], [ 179, %llparse__match_sequence_id.exit3842.thread4831 ], [ 182, %llparse__match_sequence_id.exit3866.thread4843 ], [ 183, %llparse__match_sequence_id.exit3890.thread4855 ], [ 185, %llparse__match_sequence_id.exit3914.thread4867 ], [ 186, %llparse__match_sequence_id.exit3938.thread4879 ], [ 188, %llparse__match_sequence_id.exit3962.thread4891 ], [ 189, %llparse__match_sequence_id.exit3986.thread4903 ], [ 190, %llparse__match_sequence_id.exit4010.thread4915 ], [ 192, %llparse__match_sequence_id.exit4034.thread4927 ], [ 215, %llparse__match_sequence_id.exit4058.thread4939 ], [ 217, %llparse__match_sequence_id.exit4082.thread4951 ], [ 219, %llparse__match_sequence_id.exit4108.thread4963 ], [ 1, %s_n_llhttp__internal__n_closed.preheader ], [ 44, %s_n_llhttp__internal__n_header_value_lenient.preheader ], [ 60, %s_n_llhttp__internal__n_header_value.preheader ], [ 47, %s_n_llhttp__internal__n_header_value_connection_token.preheader ], [ 48, %s_n_llhttp__internal__n_header_value_connection_ws.preheader ], [ 52, %s_n_llhttp__internal__n_header_value_connection.preheader ], [ 55, %s_n_llhttp__internal__n_header_value_content_length_ws.preheader ], [ 56, %s_n_llhttp__internal__n_header_value_content_length.preheader ], [ 59, %s_n_llhttp__internal__n_header_value_te_token_ows.preheader ], [ 61, %s_n_llhttp__internal__n_header_value_te_token.preheader ], [ 62, %s_n_llhttp__internal__n_header_value_te_chunked_last.preheader ], [ 65, %s_n_llhttp__internal__n_header_value_discard_ws.preheader ], [ 68, %s_n_llhttp__internal__n_header_field_general.preheader ], [ 37, %s_n_llhttp__internal__n_header_field_colon_discard_ws.preheader ], [ 15, %s_n_llhttp__internal__n_chunk_extension_quoted_value.preheader ], [ 18, %s_n_llhttp__internal__n_chunk_extension_value.preheader ], [ 21, %s_n_llhttp__internal__n_chunk_extension_name.preheader ], [ 101, %s_n_llhttp__internal__n_req_http_start.preheader ], [ 104, %s_n_llhttp__internal__n_url_fragment.preheader ], [ 106, %s_n_llhttp__internal__n_url_query.preheader ], [ 108, %s_n_llhttp__internal__n_url_path.preheader ], [ 113, %s_n_llhttp__internal__n_url_server.preheader ], [ 117, %s_n_llhttp__internal__n_url_schema.preheader ], [ 123, %s_n_llhttp__internal__n_req_spaces_before_url.preheader ], [ 198, %s_n_llhttp__internal__n_res_status.preheader ], [ 226, %s_n_llhttp__internal__n_start.preheader ], [ 32, %if.end320 ], [ %conv, %entry ], [ 1, %s_n_llhttp__internal__n_closed.backedge ], [ 44, %sw.default412 ], [ 60, %sw.bb599 ], [ 47, %sw.bb435 ], [ 48, %sw.bb448 ], [ 52, %s_n_llhttp__internal__n_header_value_connection.backedge ], [ 55, %sw.bb540 ], [ 56, %llhttp__internal__c_mul_add_content_length_1.exit ], [ 59, %s_n_llhttp__internal__n_header_value_te_token_ows.backedge ], [ 61, %sw.bb610 ], [ 62, %sw.bb623 ], [ 65, %s_n_llhttp__internal__n_header_value_discard_ws.backedge ], [ 68, %sw.bb685 ], [ 37, %sw.bb351 ], [ 15, %sw.bb89 ], [ 18, %sw.bb113 ], [ 21, %sw.bb140 ], [ 101, %sw.bb1094 ], [ 104, %sw.bb1139 ], [ 106, %sw.bb1161 ], [ 108, %sw.bb1193 ], [ 113, %sw.bb1248 ], [ 117, %sw.bb1301 ], [ 123, %sw.bb1359 ], [ 198, %sw.default2360 ], [ 226, %s_n_llhttp__internal__n_start.backedge ] +return: ; preds = %s_n_llhttp__internal__n_start.backedge, %sw.default2360, %sw.bb1359, %sw.bb1301, %sw.bb1248, %sw.bb1193, %sw.bb1161, %sw.bb1139, %sw.bb1094, %sw.bb140, %sw.bb113, %sw.bb89, %sw.bb351, %sw.bb685, %s_n_llhttp__internal__n_header_value_discard_ws.backedge, %sw.bb623, %sw.bb610, %s_n_llhttp__internal__n_header_value_te_token_ows.backedge, %llhttp__internal__c_mul_add_content_length_1.exit, %sw.bb540, %s_n_llhttp__internal__n_header_value_connection.backedge, %sw.bb448, %sw.bb435, %sw.bb599, %sw.default412, %s_n_llhttp__internal__n_closed.backedge, %entry, %if.end320, %s_n_llhttp__internal__n_start.preheader, %s_n_llhttp__internal__n_res_status.preheader, %s_n_llhttp__internal__n_req_spaces_before_url.preheader, %s_n_llhttp__internal__n_url_schema.preheader, %s_n_llhttp__internal__n_url_server.preheader, %s_n_llhttp__internal__n_url_path.preheader, %s_n_llhttp__internal__n_url_query.preheader, %s_n_llhttp__internal__n_url_fragment.preheader, %s_n_llhttp__internal__n_req_http_start.preheader, %s_n_llhttp__internal__n_chunk_extension_name.preheader, %s_n_llhttp__internal__n_chunk_extension_value.preheader, %s_n_llhttp__internal__n_chunk_extension_quoted_value.preheader, %s_n_llhttp__internal__n_header_field_colon_discard_ws.preheader, %s_n_llhttp__internal__n_header_field_general.preheader, %s_n_llhttp__internal__n_header_value_discard_ws.preheader, %s_n_llhttp__internal__n_header_value_te_chunked_last.preheader, %s_n_llhttp__internal__n_header_value_te_token.preheader, %s_n_llhttp__internal__n_header_value_te_token_ows.preheader, %s_n_llhttp__internal__n_header_value_content_length.preheader, %s_n_llhttp__internal__n_header_value_content_length_ws.preheader, %s_n_llhttp__internal__n_header_value_connection.preheader, %s_n_llhttp__internal__n_header_value_connection_ws.preheader, %s_n_llhttp__internal__n_header_value_connection_token.preheader, %s_n_llhttp__internal__n_header_value.preheader, %s_n_llhttp__internal__n_header_value_lenient.preheader, %s_n_llhttp__internal__n_closed.preheader, %llparse__match_sequence_id.exit4108.thread4961, %llparse__match_sequence_id.exit4082.thread4949, %llparse__match_sequence_id.exit4058.thread4937, %llparse__match_sequence_id.exit4034.thread4925, %llparse__match_sequence_id.exit4010.thread4913, %llparse__match_sequence_id.exit3986.thread4901, %llparse__match_sequence_id.exit3962.thread4889, %llparse__match_sequence_id.exit3938.thread4877, %llparse__match_sequence_id.exit3914.thread4865, %llparse__match_sequence_id.exit3890.thread4853, %llparse__match_sequence_id.exit3866.thread4841, %llparse__match_sequence_id.exit3842.thread4829, %llparse__match_sequence_id.exit3818.thread4817, %llparse__match_sequence_id.exit3794.thread4805, %llparse__match_sequence_id.exit3770.thread4793, %llparse__match_sequence_id.exit3746.thread4781, %llparse__match_sequence_id.exit3722.thread4769, %llparse__match_sequence_id.exit3698.thread4757, %llparse__match_sequence_id.exit3674.thread4745, %llparse__match_sequence_id.exit3650.thread4733, %llparse__match_sequence_id.exit3626.thread4721, %llparse__match_sequence_id.exit3602.thread4709, %llparse__match_sequence_id.exit3578.thread4697, %llparse__match_sequence_id.exit3554.thread4685, %llparse__match_sequence_id.exit3530.thread4673, %llparse__match_sequence_id.exit3506.thread4661, %llparse__match_sequence_id.exit3482.thread4649, %llparse__match_sequence_id.exit3458.thread4637, %llparse__match_sequence_id.exit3434.thread4625, %llparse__match_sequence_id.exit3410.thread4613, %llparse__match_sequence_id.exit3386.thread4601, %llparse__match_sequence_id.exit3362.thread4589, %llparse__match_sequence_id.exit3338.thread4577, %llparse__match_sequence_id.exit3314.thread4565, %llparse__match_sequence_id.exit3290.thread4553, %llparse__match_sequence_id.exit3266.thread4541, %llparse__match_sequence_id.exit3242.thread4529, %llparse__match_sequence_id.exit3218.thread4517, %llparse__match_sequence_id.exit3194.thread4505, %llparse__match_sequence_id.exit3170.thread4493, %llparse__match_sequence_id.exit3146.thread4481, %llparse__match_sequence_id.exit3122.thread4469, %llparse__match_sequence_id.exit3098.thread4457, %llparse__match_sequence_id.exit3072.thread4445, %llparse__match_sequence_id.exit3046.thread4433, %llparse__match_sequence_id.exit3020.thread4421, %llparse__match_sequence_to_lower.exit2991.thread4409, %llparse__match_sequence_to_lower.exit2965.thread4397, %llparse__match_sequence_to_lower.exit2939.thread4385, %llparse__match_sequence_to_lower.exit2913.thread4373, %llparse__match_sequence_to_lower.exit2887.thread4361, %llparse__match_sequence_to_lower.exit2861.thread4349, %llparse__match_sequence_to_lower_unsafe.exit.thread4337, %llparse__match_sequence_to_lower.exit2814.thread4325, %llparse__match_sequence_to_lower.exit2787.thread4313, %llparse__match_sequence_to_lower.exit.thread4301, %llparse__match_sequence_id.exit.thread4289, %s_n_llhttp__internal__n_start_req_or_res, %s_n_llhttp__internal__n_span_start_llhttp__on_method, %s_n_llhttp__internal__n_req_or_res_method, %s_n_llhttp__internal__n_req_or_res_method_1, %s_n_llhttp__internal__n_req_or_res_method_3, %s_n_llhttp__internal__n_req_or_res_method_2, %s_n_llhttp__internal__n_start_res, %s_n_llhttp__internal__n_span_start_llhttp__on_version_1, %s_n_llhttp__internal__n_res_http_major, %s_n_llhttp__internal__n_res_http_dot, %s_n_llhttp__internal__n_res_http_minor, %s_n_llhttp__internal__n_res_after_version, %s_n_llhttp__internal__n_res_status_code_digit_1, %s_n_llhttp__internal__n_res_status_code_digit_2, %s_n_llhttp__internal__n_res_status_code_digit_3, %s_n_llhttp__internal__n_res_status_code_otherwise, %s_n_llhttp__internal__n_res_status_start, %s_n_llhttp__internal__n_span_start_llhttp__on_status, %s_n_llhttp__internal__n_res_line_almost_done, %s_n_llhttp__internal__n_span_start_llhttp__on_method_1, %s_n_llhttp__internal__n_after_start_req, %s_n_llhttp__internal__n_after_start_req_63, %s_n_llhttp__internal__n_after_start_req_64, %s_n_llhttp__internal__n_after_start_req_69, %s_n_llhttp__internal__n_after_start_req_66, %s_n_llhttp__internal__n_after_start_req_68, %s_n_llhttp__internal__n_after_start_req_67, %s_n_llhttp__internal__n_after_start_req_65, %s_n_llhttp__internal__n_after_start_req_60, %s_n_llhttp__internal__n_after_start_req_62, %s_n_llhttp__internal__n_after_start_req_61, %s_n_llhttp__internal__n_after_start_req_52, %s_n_llhttp__internal__n_after_start_req_59, %s_n_llhttp__internal__n_after_start_req_58, %s_n_llhttp__internal__n_after_start_req_53, %s_n_llhttp__internal__n_after_start_req_55, %s_n_llhttp__internal__n_after_start_req_57, %s_n_llhttp__internal__n_after_start_req_56, %s_n_llhttp__internal__n_after_start_req_54, %s_n_llhttp__internal__n_after_start_req_46, %s_n_llhttp__internal__n_after_start_req_47, %s_n_llhttp__internal__n_after_start_req_51, %s_n_llhttp__internal__n_after_start_req_50, %s_n_llhttp__internal__n_after_start_req_49, %s_n_llhttp__internal__n_after_start_req_48, %s_n_llhttp__internal__n_after_start_req_33, %s_n_llhttp__internal__n_after_start_req_44, %s_n_llhttp__internal__n_after_start_req_45, %s_n_llhttp__internal__n_after_start_req_39, %s_n_llhttp__internal__n_after_start_req_40, %s_n_llhttp__internal__n_after_start_req_41, %s_n_llhttp__internal__n_after_start_req_43, %s_n_llhttp__internal__n_after_start_req_42, %s_n_llhttp__internal__n_after_start_req_38, %s_n_llhttp__internal__n_after_start_req_37, %s_n_llhttp__internal__n_after_start_req_34, %s_n_llhttp__internal__n_after_start_req_36, %s_n_llhttp__internal__n_after_start_req_35, %s_n_llhttp__internal__n_after_start_req_32, %s_n_llhttp__internal__n_after_start_req_31, %s_n_llhttp__internal__n_after_start_req_22, %s_n_llhttp__internal__n_after_start_req_30, %s_n_llhttp__internal__n_after_start_req_25, %s_n_llhttp__internal__n_after_start_req_27, %s_n_llhttp__internal__n_after_start_req_29, %s_n_llhttp__internal__n_after_start_req_28, %s_n_llhttp__internal__n_after_start_req_26, %s_n_llhttp__internal__n_after_start_req_24, %s_n_llhttp__internal__n_after_start_req_23, %s_n_llhttp__internal__n_after_start_req_19, %s_n_llhttp__internal__n_after_start_req_21, %s_n_llhttp__internal__n_after_start_req_20, %s_n_llhttp__internal__n_after_start_req_18, %s_n_llhttp__internal__n_after_start_req_15, %s_n_llhttp__internal__n_after_start_req_16, %s_n_llhttp__internal__n_after_start_req_17, %s_n_llhttp__internal__n_after_start_req_14, %s_n_llhttp__internal__n_after_start_req_10, %s_n_llhttp__internal__n_after_start_req_11, %s_n_llhttp__internal__n_after_start_req_13, %s_n_llhttp__internal__n_after_start_req_12, %s_n_llhttp__internal__n_after_start_req_5, %s_n_llhttp__internal__n_after_start_req_7, %s_n_llhttp__internal__n_after_start_req_9, %s_n_llhttp__internal__n_after_start_req_8, %s_n_llhttp__internal__n_after_start_req_6, %s_n_llhttp__internal__n_after_start_req_4, %s_n_llhttp__internal__n_after_start_req_1, %s_n_llhttp__internal__n_after_start_req_3, %s_n_llhttp__internal__n_after_start_req_2, %s_n_llhttp__internal__n_req_first_space_before_url, %s_n_llhttp__internal__n_url_entry_connect, %s_n_llhttp__internal__n_span_start_llhttp__on_url, %s_n_llhttp__internal__n_url_entry_normal, %s_n_llhttp__internal__n_span_start_llhttp__on_url_1, %s_n_llhttp__internal__n_url_start, %s_n_llhttp__internal__n_span_end_stub_schema, %s_n_llhttp__internal__n_url_schema_delim, %s_n_llhttp__internal__n_url_schema_delim_1, %s_n_llhttp__internal__n_url_server_with_at, %s_n_llhttp__internal__n_span_start_stub_path_1, %s_n_llhttp__internal__n_span_start_stub_path, %s_n_llhttp__internal__n_span_start_stub_path_2, %s_n_llhttp__internal__n_url_query_or_fragment, %s_n_llhttp__internal__n_span_end_stub_query_3, %s_n_llhttp__internal__n_url_skip_to_http, %s_n_llhttp__internal__n_url_to_http, %s_n_llhttp__internal__n_req_http_start_3, %s_n_llhttp__internal__n_req_http_start_2, %s_n_llhttp__internal__n_req_http_start_1, %s_n_llhttp__internal__n_span_start_llhttp__on_version, %s_n_llhttp__internal__n_req_http_major, %s_n_llhttp__internal__n_req_http_dot, %s_n_llhttp__internal__n_req_http_minor, %s_n_llhttp__internal__n_req_http_complete, %s_n_llhttp__internal__n_req_http_complete_crlf, %if.end916, %s_n_llhttp__internal__n_req_pri_upgrade, %s_n_llhttp__internal__n_url_skip_lf_to_http09, %s_n_llhttp__internal__n_url_skip_lf_to_http09_1, %s_n_llhttp__internal__n_url_skip_to_http09, %s_n_llhttp__internal__n_url_to_http_09, %s_n_llhttp__internal__n_headers_start, %s_n_llhttp__internal__n_header_field_start, %s_n_llhttp__internal__n_span_start_llhttp__on_header_field, %s_n_llhttp__internal__n_header_field, %s_n_llhttp__internal__n_header_field_7, %s_n_llhttp__internal__n_header_field_6, %s_n_llhttp__internal__n_header_field_5, %s_n_llhttp__internal__n_header_field_1, %s_n_llhttp__internal__n_header_field_2, %s_n_llhttp__internal__n_header_field_4, %s_n_llhttp__internal__n_header_field_3, %s_n_llhttp__internal__n_header_field_colon, %s_n_llhttp__internal__n_header_field_general_otherwise, %s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1, %s_n_llhttp__internal__n_header_value_te_chunked, %s_n_llhttp__internal__n_header_value_connection_3, %s_n_llhttp__internal__n_header_value_connection_2, %s_n_llhttp__internal__n_header_value_connection_1, %s_n_llhttp__internal__n_header_value_otherwise, %s_n_llhttp__internal__n_header_value_almost_done, %s_n_llhttp__internal__n_header_value_lws, %s_n_llhttp__internal__n_header_value_discard_ws_almost_done, %s_n_llhttp__internal__n_header_value_discard_lws, %s_n_llhttp__internal__n_span_start_llhttp__on_header_value, %s_n_llhttp__internal__n_headers_almost_done, %s_n_llhttp__internal__n_span_start_llhttp__on_body_2, %s_n_llhttp__internal__n_span_start_llhttp__on_body_1, %s_n_llhttp__internal__n_chunk_size_digit, %s_n_llhttp__internal__n_chunk_size, %s_n_llhttp__internal__n_chunk_size_otherwise, %s_n_llhttp__internal__n_chunk_extensions, %s_n_llhttp__internal__n_span_start_llhttp__on_chunk_extension_name, %s_n_llhttp__internal__n_span_start_llhttp__on_chunk_extension_value, %s_n_llhttp__internal__n_chunk_extension_quoted_value_done, %s_n_llhttp__internal__n_chunk_size_almost_done, %s_n_llhttp__internal__n_span_start_llhttp__on_body, %s_n_llhttp__internal__n_chunk_data_almost_done, %sw.default4112, %sw.bb4111, %sw.default4100, %sw.bb4099, %if.then4082, %s_n_llhttp__internal__n_error_88, %if.then4062, %s_n_llhttp__internal__n_error_1, %s_n_llhttp__internal__n_pause_19, %s_n_llhttp__internal__n_error_91, %if.then4038, %if.then4024, %if.then4012, %if.then3980, %if.then3968, %s_n_llhttp__internal__n_error_74, %s_n_llhttp__internal__n_pause_21, %s_n_llhttp__internal__n_error_84, %s_n_llhttp__internal__n_error_83, %s_n_llhttp__internal__n_error_81, %s_n_llhttp__internal__n_error_79, %s_n_llhttp__internal__n_error_77, %if.then3915, %if.then3901, %sw.default3893, %sw.default3886, %sw.bb3885, %sw.bb3927, %sw.bb3934, %sw.bb3941, %s_n_llhttp__internal__n_error_90, %if.then3852, %s_n_llhttp__internal__n_error_89, %s_n_llhttp__internal__n_pause_22, %s_n_llhttp__internal__n_error_72, %s_n_llhttp__internal__n_error_71, %s_n_llhttp__internal__n_error_70, %s_n_llhttp__internal__n_error_69, %s_n_llhttp__internal__n_error_68, %s_n_llhttp__internal__n_error_67, %sw.bb1232, %if.then3801, %if.then3789, %if.then3777, %if.then3765, %if.then3753, %if.then3741, %s_n_llhttp__internal__n_error_65, %s_n_llhttp__internal__n_error_64, %if.then3721, %if.then3709, %if.then3697, %s_n_llhttp__internal__n_error_63, %if.then3681, %if.then3669, %if.then3657, %if.then3645, %sw.default3637, %sw.bb3636, %sw.default3625, %sw.default3605, %s_n_llhttp__internal__n_error_62, %sw.default3594, %if.then3549, %if.then3535, %if.then3523, %if.then3491, %if.then3479, %s_n_llhttp__internal__n_error_52, %s_n_llhttp__internal__n_pause_17, %s_n_llhttp__internal__n_error_54, %sw.default3459, %s_n_llhttp__internal__n_error_56, %sw.bb921, %if.then3440, %s_n_llhttp__internal__n_error_48, %if.then3424, %sw.default3412, %sw.bb3411, %sw.default3400, %s_n_llhttp__internal__n_error_47, %if.then3377, %if.then3363, %s_n_llhttp__internal__n_error_34, %s_n_llhttp__internal__n_pause_15, %if.then3310, %if.then3294, %sw.default3286, %if.then3275, %if.then3258, %if.then3219, %if.then3205, %if.then3193, %if.then3179, %s_n_llhttp__internal__n_error_40, %sw.default3146, %sw.default3139, %if.then3109, %s_n_llhttp__internal__n_error_37, %s_n_llhttp__internal__n_pause_14, %sw.bb3131, %sw.default3089, %if.then3073, %sw.default3065, %sw.default3047, %sw.bb3046, %sw.bb3051, %sw.default3023, %sw.bb3022, %sw.default3008, %sw.bb3007, %s_n_llhttp__internal__n_error_29, %if.then2986, %s_n_llhttp__internal__n_error_28, %s_n_llhttp__internal__n_pause_11, %s_n_llhttp__internal__n_error_27, %s_n_llhttp__internal__n_error_25, %if.then2953, %if.then2939, %sw.default2931, %sw.bb2930, %if.then2913, %if.then2899, %s_n_llhttp__internal__n_error_22, %s_n_llhttp__internal__n_pause_9, %if.then2877, %if.then2865, %s_n_llhttp__internal__n_error_19, %s_n_llhttp__internal__n_pause_8, %s_n_llhttp__internal__n_error_20, %if.then2839, %s_n_llhttp__internal__n_error_18, %s_n_llhttp__internal__n_pause_7, %if.then2817, %s_n_llhttp__internal__n_error_16, %s_n_llhttp__internal__n_pause_6, %if.then2795, %s_n_llhttp__internal__n_error_15, %s_n_llhttp__internal__n_pause_5, %sw.bb160, %sw.bb158, %sw.default2771, %sw.default2764, %sw.bb2763, %if.then2746, %sw.default2740, %sw.default2733, %sw.bb2732, %sw.bb2965, %sw.default2717, %sw.bb2716, %sw.default2700, %s_n_llhttp__internal__n_error_2, %s_n_llhttp__internal__n_error_87, %s_n_llhttp__internal__n_error_86, %s_n_llhttp__internal__n_error_85, %s_n_llhttp__internal__n_error_73, %s_n_llhttp__internal__n_error_59, %s_n_llhttp__internal__n_error_58, %s_n_llhttp__internal__n_error_57, %s_n_llhttp__internal__n_error_51, %s_n_llhttp__internal__n_error_45, %s_n_llhttp__internal__n_error_46, %s_n_llhttp__internal__n_error_44, %s_n_llhttp__internal__n_error_43, %s_n_llhttp__internal__n_error_41, %s_n_llhttp__internal__n_error_5, %if.end300, %s_n_llhttp__internal__n_error_24, %s_n_llhttp__internal__n_error_23, %s_n_llhttp__internal__n_error_21, %if.end27, %s_n_llhttp__internal__n_pause_1 + %retval.0 = phi i32 [ 0, %sw.default4112 ], [ 0, %sw.bb4111 ], [ 0, %sw.default4100 ], [ 0, %sw.bb4099 ], [ 0, %s_n_llhttp__internal__n_error_88 ], [ 0, %if.then4082 ], [ 0, %if.then4038 ], [ 0, %s_n_llhttp__internal__n_error_87 ], [ 0, %if.then4012 ], [ 0, %s_n_llhttp__internal__n_error_85 ], [ 0, %if.then3968 ], [ 0, %s_n_llhttp__internal__n_error_74 ], [ 0, %s_n_llhttp__internal__n_pause_21 ], [ 0, %s_n_llhttp__internal__n_error_83 ], [ 0, %sw.bb3941 ], [ 0, %s_n_llhttp__internal__n_error_81 ], [ 0, %sw.bb3934 ], [ 0, %s_n_llhttp__internal__n_error_79 ], [ 0, %sw.bb3927 ], [ 0, %s_n_llhttp__internal__n_error_77 ], [ 0, %if.then3915 ], [ 0, %sw.default3886 ], [ 0, %sw.bb3885 ], [ 0, %if.then3377 ], [ 0, %s_n_llhttp__internal__n_error_34 ], [ 0, %s_n_llhttp__internal__n_pause_15 ], [ 0, %if.then3179 ], [ 0, %s_n_llhttp__internal__n_error_37 ], [ 0, %s_n_llhttp__internal__n_pause_14 ], [ 0, %s_n_llhttp__internal__n_error_40 ], [ 0, %if.then3205 ], [ 0, %if.then3193 ], [ 0, %if.then3219 ], [ 0, %s_n_llhttp__internal__n_error_41 ], [ 0, %if.then3294 ], [ 0, %s_n_llhttp__internal__n_error_46 ], [ 0, %if.then3310 ], [ 0, %s_n_llhttp__internal__n_error_45 ], [ 0, %if.then3275 ], [ 0, %s_n_llhttp__internal__n_error_44 ], [ 0, %if.then3258 ], [ 0, %s_n_llhttp__internal__n_error_43 ], [ 0, %sw.default3286 ], [ 0, %sw.bb3131 ], [ 0, %if.then3109 ], [ 0, %sw.default3089 ], [ 0, %sw.default3146 ], [ 0, %sw.default3139 ], [ 0, %s_n_llhttp__internal__n_error_47 ], [ 0, %if.then3363 ], [ 0, %if.then3073 ], [ 0, %s_n_llhttp__internal__n_error_5 ], [ 0, %sw.default3023 ], [ 0, %sw.bb3022 ], [ 0, %s_n_llhttp__internal__n_error_28 ], [ 0, %s_n_llhttp__internal__n_pause_11 ], [ 0, %sw.default2700 ], [ 0, %s_n_llhttp__internal__n_pause_1 ], [ 0, %sw.bb3051 ], [ 0, %sw.default3047 ], [ 0, %sw.bb3046 ], [ 0, %sw.default3008 ], [ 0, %sw.bb3007 ], [ 0, %s_n_llhttp__internal__n_error_29 ], [ 0, %if.then2986 ], [ 30, %if.end300 ], [ 0, %s_n_llhttp__internal__n_error_27 ], [ 0, %sw.bb2965 ], [ 0, %s_n_llhttp__internal__n_error_25 ], [ 0, %if.then2953 ], [ 0, %s_n_llhttp__internal__n_error_24 ], [ 0, %if.then2939 ], [ 0, %sw.default2931 ], [ 0, %sw.bb2930 ], [ 0, %if.then2913 ], [ 0, %s_n_llhttp__internal__n_error_23 ], [ 0, %if.then2899 ], [ 0, %s_n_llhttp__internal__n_error_22 ], [ 0, %s_n_llhttp__internal__n_pause_9 ], [ 0, %if.then2877 ], [ 0, %s_n_llhttp__internal__n_error_21 ], [ 0, %if.then2865 ], [ 0, %s_n_llhttp__internal__n_error_19 ], [ 0, %s_n_llhttp__internal__n_pause_8 ], [ 0, %s_n_llhttp__internal__n_error_20 ], [ 0, %sw.default2764 ], [ 0, %sw.bb2763 ], [ 0, %if.then2746 ], [ 0, %sw.default2733 ], [ 0, %sw.bb2732 ], [ 0, %sw.default2740 ], [ 5, %if.end27 ], [ 0, %sw.default2771 ], [ 0, %if.then2839 ], [ 0, %s_n_llhttp__internal__n_error_18 ], [ 0, %s_n_llhttp__internal__n_pause_7 ], [ 0, %if.then2817 ], [ 0, %s_n_llhttp__internal__n_error_16 ], [ 0, %s_n_llhttp__internal__n_pause_6 ], [ 0, %if.then2795 ], [ 0, %s_n_llhttp__internal__n_error_15 ], [ 0, %s_n_llhttp__internal__n_pause_5 ], [ 0, %sw.bb160 ], [ 0, %sw.bb158 ], [ 0, %sw.default2717 ], [ 0, %sw.bb2716 ], [ 0, %sw.default3065 ], [ 0, %sw.default3400 ], [ 0, %sw.default3893 ], [ 0, %if.then3901 ], [ 0, %s_n_llhttp__internal__n_error_84 ], [ 0, %if.then3980 ], [ 0, %s_n_llhttp__internal__n_error_73 ], [ 0, %if.then4024 ], [ 0, %s_n_llhttp__internal__n_error_86 ], [ 0, %if.then4062 ], [ 0, %s_n_llhttp__internal__n_error_1 ], [ 0, %s_n_llhttp__internal__n_pause_19 ], [ 0, %s_n_llhttp__internal__n_error_71 ], [ 0, %s_n_llhttp__internal__n_error_70 ], [ 0, %s_n_llhttp__internal__n_error_69 ], [ 0, %s_n_llhttp__internal__n_error_68 ], [ 0, %s_n_llhttp__internal__n_error_67 ], [ 0, %sw.bb1232 ], [ 0, %s_n_llhttp__internal__n_error_64 ], [ 0, %s_n_llhttp__internal__n_error_63 ], [ 0, %if.then3681 ], [ 0, %sw.default3637 ], [ 0, %sw.bb3636 ], [ 0, %s_n_llhttp__internal__n_error_62 ], [ 0, %sw.default3625 ], [ 0, %if.then3549 ], [ 0, %s_n_llhttp__internal__n_error_59 ], [ 0, %if.then3523 ], [ 0, %s_n_llhttp__internal__n_error_57 ], [ 0, %if.then3479 ], [ 0, %s_n_llhttp__internal__n_error_52 ], [ 0, %s_n_llhttp__internal__n_pause_17 ], [ 0, %s_n_llhttp__internal__n_error_56 ], [ 0, %sw.bb921 ], [ 0, %sw.default3459 ], [ 0, %s_n_llhttp__internal__n_error_54 ], [ 0, %if.then3491 ], [ 0, %s_n_llhttp__internal__n_error_51 ], [ 0, %if.then3535 ], [ 0, %s_n_llhttp__internal__n_error_58 ], [ 0, %sw.default3605 ], [ 0, %sw.default3594 ], [ 0, %s_n_llhttp__internal__n_error_2 ], [ 0, %if.then3669 ], [ 0, %s_n_llhttp__internal__n_error_48 ], [ 0, %sw.default3412 ], [ 0, %sw.bb3411 ], [ 0, %if.then3657 ], [ 0, %if.then3721 ], [ 0, %if.then3709 ], [ 0, %if.then3697 ], [ 0, %s_n_llhttp__internal__n_error_65 ], [ 0, %if.then3645 ], [ 0, %if.then3440 ], [ 0, %if.then3424 ], [ 0, %if.then3801 ], [ 0, %if.then3789 ], [ 0, %if.then3777 ], [ 0, %if.then3765 ], [ 0, %if.then3753 ], [ 0, %if.then3741 ], [ 0, %s_n_llhttp__internal__n_error_72 ], [ 0, %s_n_llhttp__internal__n_error_90 ], [ 0, %if.then3852 ], [ 0, %s_n_llhttp__internal__n_error_89 ], [ 0, %s_n_llhttp__internal__n_pause_22 ], [ 0, %s_n_llhttp__internal__n_error_91 ], [ 4, %s_n_llhttp__internal__n_chunk_data_almost_done ], [ 6, %s_n_llhttp__internal__n_span_start_llhttp__on_body ], [ 8, %s_n_llhttp__internal__n_chunk_size_almost_done ], [ 12, %s_n_llhttp__internal__n_chunk_extension_quoted_value_done ], [ 19, %s_n_llhttp__internal__n_span_start_llhttp__on_chunk_extension_value ], [ 22, %s_n_llhttp__internal__n_span_start_llhttp__on_chunk_extension_name ], [ 23, %s_n_llhttp__internal__n_chunk_extensions ], [ 24, %s_n_llhttp__internal__n_chunk_size_otherwise ], [ 25, %s_n_llhttp__internal__n_chunk_size ], [ 26, %s_n_llhttp__internal__n_chunk_size_digit ], [ 31, %s_n_llhttp__internal__n_span_start_llhttp__on_body_1 ], [ 33, %s_n_llhttp__internal__n_span_start_llhttp__on_body_2 ], [ 36, %s_n_llhttp__internal__n_headers_almost_done ], [ 39, %s_n_llhttp__internal__n_span_start_llhttp__on_header_value ], [ 40, %s_n_llhttp__internal__n_header_value_discard_lws ], [ 41, %s_n_llhttp__internal__n_header_value_discard_ws_almost_done ], [ 42, %s_n_llhttp__internal__n_header_value_lws ], [ 43, %s_n_llhttp__internal__n_header_value_almost_done ], [ 46, %s_n_llhttp__internal__n_header_value_otherwise ], [ 49, %s_n_llhttp__internal__n_header_value_connection_1 ], [ 50, %s_n_llhttp__internal__n_header_value_connection_2 ], [ 51, %s_n_llhttp__internal__n_header_value_connection_3 ], [ 63, %s_n_llhttp__internal__n_header_value_te_chunked ], [ 64, %s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1 ], [ 67, %s_n_llhttp__internal__n_header_field_general_otherwise ], [ 69, %s_n_llhttp__internal__n_header_field_colon ], [ 70, %s_n_llhttp__internal__n_header_field_3 ], [ 71, %s_n_llhttp__internal__n_header_field_4 ], [ 72, %s_n_llhttp__internal__n_header_field_2 ], [ 73, %s_n_llhttp__internal__n_header_field_1 ], [ 74, %s_n_llhttp__internal__n_header_field_5 ], [ 75, %s_n_llhttp__internal__n_header_field_6 ], [ 76, %s_n_llhttp__internal__n_header_field_7 ], [ 77, %s_n_llhttp__internal__n_header_field ], [ 78, %s_n_llhttp__internal__n_span_start_llhttp__on_header_field ], [ 79, %s_n_llhttp__internal__n_header_field_start ], [ 80, %s_n_llhttp__internal__n_headers_start ], [ 81, %s_n_llhttp__internal__n_url_to_http_09 ], [ 82, %s_n_llhttp__internal__n_url_skip_to_http09 ], [ 83, %s_n_llhttp__internal__n_url_skip_lf_to_http09_1 ], [ 84, %s_n_llhttp__internal__n_url_skip_lf_to_http09 ], [ 85, %s_n_llhttp__internal__n_req_pri_upgrade ], [ 85, %if.end916 ], [ 86, %s_n_llhttp__internal__n_req_http_complete_crlf ], [ 87, %s_n_llhttp__internal__n_req_http_complete ], [ 92, %s_n_llhttp__internal__n_req_http_minor ], [ 94, %s_n_llhttp__internal__n_req_http_dot ], [ 96, %s_n_llhttp__internal__n_req_http_major ], [ 97, %s_n_llhttp__internal__n_span_start_llhttp__on_version ], [ 98, %s_n_llhttp__internal__n_req_http_start_1 ], [ 99, %s_n_llhttp__internal__n_req_http_start_2 ], [ 100, %s_n_llhttp__internal__n_req_http_start_3 ], [ 102, %s_n_llhttp__internal__n_url_to_http ], [ 103, %s_n_llhttp__internal__n_url_skip_to_http ], [ 105, %s_n_llhttp__internal__n_span_end_stub_query_3 ], [ 107, %s_n_llhttp__internal__n_url_query_or_fragment ], [ 109, %s_n_llhttp__internal__n_span_start_stub_path_2 ], [ 110, %s_n_llhttp__internal__n_span_start_stub_path ], [ 111, %s_n_llhttp__internal__n_span_start_stub_path_1 ], [ 112, %s_n_llhttp__internal__n_url_server_with_at ], [ 114, %s_n_llhttp__internal__n_url_schema_delim_1 ], [ 115, %s_n_llhttp__internal__n_url_schema_delim ], [ 116, %s_n_llhttp__internal__n_span_end_stub_schema ], [ 118, %s_n_llhttp__internal__n_url_start ], [ 119, %s_n_llhttp__internal__n_span_start_llhttp__on_url_1 ], [ 120, %s_n_llhttp__internal__n_url_entry_normal ], [ 121, %s_n_llhttp__internal__n_span_start_llhttp__on_url ], [ 122, %s_n_llhttp__internal__n_url_entry_connect ], [ 124, %s_n_llhttp__internal__n_req_first_space_before_url ], [ 126, %s_n_llhttp__internal__n_after_start_req_2 ], [ 127, %s_n_llhttp__internal__n_after_start_req_3 ], [ 128, %s_n_llhttp__internal__n_after_start_req_1 ], [ 129, %s_n_llhttp__internal__n_after_start_req_4 ], [ 130, %s_n_llhttp__internal__n_after_start_req_6 ], [ 131, %s_n_llhttp__internal__n_after_start_req_8 ], [ 132, %s_n_llhttp__internal__n_after_start_req_9 ], [ 133, %s_n_llhttp__internal__n_after_start_req_7 ], [ 134, %s_n_llhttp__internal__n_after_start_req_5 ], [ 135, %s_n_llhttp__internal__n_after_start_req_12 ], [ 136, %s_n_llhttp__internal__n_after_start_req_13 ], [ 137, %s_n_llhttp__internal__n_after_start_req_11 ], [ 138, %s_n_llhttp__internal__n_after_start_req_10 ], [ 139, %s_n_llhttp__internal__n_after_start_req_14 ], [ 140, %s_n_llhttp__internal__n_after_start_req_17 ], [ 141, %s_n_llhttp__internal__n_after_start_req_16 ], [ 142, %s_n_llhttp__internal__n_after_start_req_15 ], [ 143, %s_n_llhttp__internal__n_after_start_req_18 ], [ 144, %s_n_llhttp__internal__n_after_start_req_20 ], [ 145, %s_n_llhttp__internal__n_after_start_req_21 ], [ 146, %s_n_llhttp__internal__n_after_start_req_19 ], [ 147, %s_n_llhttp__internal__n_after_start_req_23 ], [ 148, %s_n_llhttp__internal__n_after_start_req_24 ], [ 149, %s_n_llhttp__internal__n_after_start_req_26 ], [ 150, %s_n_llhttp__internal__n_after_start_req_28 ], [ 151, %s_n_llhttp__internal__n_after_start_req_29 ], [ 152, %s_n_llhttp__internal__n_after_start_req_27 ], [ 153, %s_n_llhttp__internal__n_after_start_req_25 ], [ 154, %s_n_llhttp__internal__n_after_start_req_30 ], [ 155, %s_n_llhttp__internal__n_after_start_req_22 ], [ 156, %s_n_llhttp__internal__n_after_start_req_31 ], [ 157, %s_n_llhttp__internal__n_after_start_req_32 ], [ 158, %s_n_llhttp__internal__n_after_start_req_35 ], [ 159, %s_n_llhttp__internal__n_after_start_req_36 ], [ 160, %s_n_llhttp__internal__n_after_start_req_34 ], [ 161, %s_n_llhttp__internal__n_after_start_req_37 ], [ 162, %s_n_llhttp__internal__n_after_start_req_38 ], [ 163, %s_n_llhttp__internal__n_after_start_req_42 ], [ 164, %s_n_llhttp__internal__n_after_start_req_43 ], [ 165, %s_n_llhttp__internal__n_after_start_req_41 ], [ 166, %s_n_llhttp__internal__n_after_start_req_40 ], [ 167, %s_n_llhttp__internal__n_after_start_req_39 ], [ 168, %s_n_llhttp__internal__n_after_start_req_45 ], [ 169, %s_n_llhttp__internal__n_after_start_req_44 ], [ 170, %s_n_llhttp__internal__n_after_start_req_33 ], [ 171, %s_n_llhttp__internal__n_after_start_req_48 ], [ 172, %s_n_llhttp__internal__n_after_start_req_49 ], [ 173, %s_n_llhttp__internal__n_after_start_req_50 ], [ 174, %s_n_llhttp__internal__n_after_start_req_51 ], [ 175, %s_n_llhttp__internal__n_after_start_req_47 ], [ 176, %s_n_llhttp__internal__n_after_start_req_46 ], [ 177, %s_n_llhttp__internal__n_after_start_req_54 ], [ 178, %s_n_llhttp__internal__n_after_start_req_56 ], [ 179, %s_n_llhttp__internal__n_after_start_req_57 ], [ 180, %s_n_llhttp__internal__n_after_start_req_55 ], [ 181, %s_n_llhttp__internal__n_after_start_req_53 ], [ 182, %s_n_llhttp__internal__n_after_start_req_58 ], [ 183, %s_n_llhttp__internal__n_after_start_req_59 ], [ 184, %s_n_llhttp__internal__n_after_start_req_52 ], [ 185, %s_n_llhttp__internal__n_after_start_req_61 ], [ 186, %s_n_llhttp__internal__n_after_start_req_62 ], [ 187, %s_n_llhttp__internal__n_after_start_req_60 ], [ 188, %s_n_llhttp__internal__n_after_start_req_65 ], [ 189, %s_n_llhttp__internal__n_after_start_req_67 ], [ 190, %s_n_llhttp__internal__n_after_start_req_68 ], [ 191, %s_n_llhttp__internal__n_after_start_req_66 ], [ 192, %s_n_llhttp__internal__n_after_start_req_69 ], [ 193, %s_n_llhttp__internal__n_after_start_req_64 ], [ 194, %s_n_llhttp__internal__n_after_start_req_63 ], [ 195, %s_n_llhttp__internal__n_after_start_req ], [ 196, %s_n_llhttp__internal__n_span_start_llhttp__on_method_1 ], [ 197, %s_n_llhttp__internal__n_res_line_almost_done ], [ 199, %s_n_llhttp__internal__n_span_start_llhttp__on_status ], [ 200, %s_n_llhttp__internal__n_res_status_start ], [ 201, %s_n_llhttp__internal__n_res_status_code_otherwise ], [ 202, %s_n_llhttp__internal__n_res_status_code_digit_3 ], [ 203, %s_n_llhttp__internal__n_res_status_code_digit_2 ], [ 204, %s_n_llhttp__internal__n_res_status_code_digit_1 ], [ 205, %s_n_llhttp__internal__n_res_after_version ], [ 209, %s_n_llhttp__internal__n_res_http_minor ], [ 211, %s_n_llhttp__internal__n_res_http_dot ], [ 213, %s_n_llhttp__internal__n_res_http_major ], [ 214, %s_n_llhttp__internal__n_span_start_llhttp__on_version_1 ], [ 215, %s_n_llhttp__internal__n_start_res ], [ 217, %s_n_llhttp__internal__n_req_or_res_method_2 ], [ 219, %s_n_llhttp__internal__n_req_or_res_method_3 ], [ 220, %s_n_llhttp__internal__n_req_or_res_method_1 ], [ 221, %s_n_llhttp__internal__n_req_or_res_method ], [ 222, %s_n_llhttp__internal__n_span_start_llhttp__on_method ], [ 223, %s_n_llhttp__internal__n_start_req_or_res ], [ 4, %llparse__match_sequence_id.exit.thread4289 ], [ 49, %llparse__match_sequence_to_lower.exit.thread4301 ], [ 50, %llparse__match_sequence_to_lower.exit2787.thread4313 ], [ 51, %llparse__match_sequence_to_lower.exit2814.thread4325 ], [ 63, %llparse__match_sequence_to_lower_unsafe.exit.thread4337 ], [ 70, %llparse__match_sequence_to_lower.exit2861.thread4349 ], [ 71, %llparse__match_sequence_to_lower.exit2887.thread4361 ], [ 73, %llparse__match_sequence_to_lower.exit2913.thread4373 ], [ 74, %llparse__match_sequence_to_lower.exit2939.thread4385 ], [ 75, %llparse__match_sequence_to_lower.exit2965.thread4397 ], [ 76, %llparse__match_sequence_to_lower.exit2991.thread4409 ], [ 98, %llparse__match_sequence_id.exit3020.thread4421 ], [ 99, %llparse__match_sequence_id.exit3046.thread4433 ], [ 100, %llparse__match_sequence_id.exit3072.thread4445 ], [ 127, %llparse__match_sequence_id.exit3098.thread4457 ], [ 129, %llparse__match_sequence_id.exit3122.thread4469 ], [ 130, %llparse__match_sequence_id.exit3146.thread4481 ], [ 131, %llparse__match_sequence_id.exit3170.thread4493 ], [ 135, %llparse__match_sequence_id.exit3194.thread4505 ], [ 136, %llparse__match_sequence_id.exit3218.thread4517 ], [ 139, %llparse__match_sequence_id.exit3242.thread4529 ], [ 140, %llparse__match_sequence_id.exit3266.thread4541 ], [ 142, %llparse__match_sequence_id.exit3290.thread4553 ], [ 143, %llparse__match_sequence_id.exit3314.thread4565 ], [ 144, %llparse__match_sequence_id.exit3338.thread4577 ], [ 145, %llparse__match_sequence_id.exit3362.thread4589 ], [ 147, %llparse__match_sequence_id.exit3386.thread4601 ], [ 148, %llparse__match_sequence_id.exit3410.thread4613 ], [ 149, %llparse__match_sequence_id.exit3434.thread4625 ], [ 150, %llparse__match_sequence_id.exit3458.thread4637 ], [ 154, %llparse__match_sequence_id.exit3482.thread4649 ], [ 156, %llparse__match_sequence_id.exit3506.thread4661 ], [ 157, %llparse__match_sequence_id.exit3530.thread4673 ], [ 158, %llparse__match_sequence_id.exit3554.thread4685 ], [ 159, %llparse__match_sequence_id.exit3578.thread4697 ], [ 161, %llparse__match_sequence_id.exit3602.thread4709 ], [ 162, %llparse__match_sequence_id.exit3626.thread4721 ], [ 163, %llparse__match_sequence_id.exit3650.thread4733 ], [ 164, %llparse__match_sequence_id.exit3674.thread4745 ], [ 168, %llparse__match_sequence_id.exit3698.thread4757 ], [ 171, %llparse__match_sequence_id.exit3722.thread4769 ], [ 172, %llparse__match_sequence_id.exit3746.thread4781 ], [ 173, %llparse__match_sequence_id.exit3770.thread4793 ], [ 174, %llparse__match_sequence_id.exit3794.thread4805 ], [ 177, %llparse__match_sequence_id.exit3818.thread4817 ], [ 179, %llparse__match_sequence_id.exit3842.thread4829 ], [ 182, %llparse__match_sequence_id.exit3866.thread4841 ], [ 183, %llparse__match_sequence_id.exit3890.thread4853 ], [ 185, %llparse__match_sequence_id.exit3914.thread4865 ], [ 186, %llparse__match_sequence_id.exit3938.thread4877 ], [ 188, %llparse__match_sequence_id.exit3962.thread4889 ], [ 189, %llparse__match_sequence_id.exit3986.thread4901 ], [ 190, %llparse__match_sequence_id.exit4010.thread4913 ], [ 192, %llparse__match_sequence_id.exit4034.thread4925 ], [ 215, %llparse__match_sequence_id.exit4058.thread4937 ], [ 217, %llparse__match_sequence_id.exit4082.thread4949 ], [ 219, %llparse__match_sequence_id.exit4108.thread4961 ], [ 1, %s_n_llhttp__internal__n_closed.preheader ], [ 44, %s_n_llhttp__internal__n_header_value_lenient.preheader ], [ 60, %s_n_llhttp__internal__n_header_value.preheader ], [ 47, %s_n_llhttp__internal__n_header_value_connection_token.preheader ], [ 48, %s_n_llhttp__internal__n_header_value_connection_ws.preheader ], [ 52, %s_n_llhttp__internal__n_header_value_connection.preheader ], [ 55, %s_n_llhttp__internal__n_header_value_content_length_ws.preheader ], [ 56, %s_n_llhttp__internal__n_header_value_content_length.preheader ], [ 59, %s_n_llhttp__internal__n_header_value_te_token_ows.preheader ], [ 61, %s_n_llhttp__internal__n_header_value_te_token.preheader ], [ 62, %s_n_llhttp__internal__n_header_value_te_chunked_last.preheader ], [ 65, %s_n_llhttp__internal__n_header_value_discard_ws.preheader ], [ 68, %s_n_llhttp__internal__n_header_field_general.preheader ], [ 37, %s_n_llhttp__internal__n_header_field_colon_discard_ws.preheader ], [ 15, %s_n_llhttp__internal__n_chunk_extension_quoted_value.preheader ], [ 18, %s_n_llhttp__internal__n_chunk_extension_value.preheader ], [ 21, %s_n_llhttp__internal__n_chunk_extension_name.preheader ], [ 101, %s_n_llhttp__internal__n_req_http_start.preheader ], [ 104, %s_n_llhttp__internal__n_url_fragment.preheader ], [ 106, %s_n_llhttp__internal__n_url_query.preheader ], [ 108, %s_n_llhttp__internal__n_url_path.preheader ], [ 113, %s_n_llhttp__internal__n_url_server.preheader ], [ 117, %s_n_llhttp__internal__n_url_schema.preheader ], [ 123, %s_n_llhttp__internal__n_req_spaces_before_url.preheader ], [ 198, %s_n_llhttp__internal__n_res_status.preheader ], [ 226, %s_n_llhttp__internal__n_start.preheader ], [ 32, %if.end320 ], [ %conv, %entry ], [ 1, %s_n_llhttp__internal__n_closed.backedge ], [ 44, %sw.default412 ], [ 60, %sw.bb599 ], [ 47, %sw.bb435 ], [ 48, %sw.bb448 ], [ 52, %s_n_llhttp__internal__n_header_value_connection.backedge ], [ 55, %sw.bb540 ], [ 56, %llhttp__internal__c_mul_add_content_length_1.exit ], [ 59, %s_n_llhttp__internal__n_header_value_te_token_ows.backedge ], [ 61, %sw.bb610 ], [ 62, %sw.bb623 ], [ 65, %s_n_llhttp__internal__n_header_value_discard_ws.backedge ], [ 68, %sw.bb685 ], [ 37, %sw.bb351 ], [ 15, %sw.bb89 ], [ 18, %sw.bb113 ], [ 21, %sw.bb140 ], [ 101, %sw.bb1094 ], [ 104, %sw.bb1139 ], [ 106, %sw.bb1161 ], [ 108, %sw.bb1193 ], [ 113, %sw.bb1248 ], [ 117, %sw.bb1301 ], [ 123, %sw.bb1359 ], [ 198, %sw.default2360 ], [ 226, %s_n_llhttp__internal__n_start.backedge ] ret i32 %retval.0 } diff --git a/bench/openssl/optimized/libcrypto-lib-v3_addr.ll b/bench/openssl/optimized/libcrypto-lib-v3_addr.ll index 41d30013b88..dc50e3e9a37 100644 --- a/bench/openssl/optimized/libcrypto-lib-v3_addr.ll +++ b/bench/openssl/optimized/libcrypto-lib-v3_addr.ll @@ -1033,151 +1033,149 @@ if.then6.i: ; preds = %if.end.i %4 = load i64, ptr %flags.i, align 8 %and.i = and i64 %4, 7 %cmp8.not.i = icmp eq i64 %and.i, 0 - %.pre91 = load i32, ptr %1, align 8 + %.pre88 = load i32, ptr %1, align 8 br i1 %cmp8.not.i, label %land.rhs, label %if.then10.i if.then10.i: ; preds = %if.then6.i %5 = trunc i64 %and.i to i16 %sh_prom.i = sub nuw nsw i16 8, %5 - %shr.i = lshr i16 255, %sh_prom.i - %conv13.i = trunc i16 %shr.i to i8 - %not.i = xor i8 %conv13.i, -1 - %6 = sext i32 %.pre91 to i64 - %7 = getelementptr i8, ptr %min, i64 %6 - %arrayidx.i = getelementptr i8, ptr %7, i64 -1 - %8 = load i8, ptr %arrayidx.i, align 1 - %and22.i = and i8 %8, %not.i + %6 = ashr i16 -256, %sh_prom.i + %not.i = trunc i16 %6 to i8 + %7 = sext i32 %.pre88 to i64 + %8 = getelementptr i8, ptr %min, i64 %7 + %arrayidx.i = getelementptr i8, ptr %8, i64 -1 + %9 = load i8, ptr %arrayidx.i, align 1 + %and22.i = and i8 %9, %not.i store i8 %and22.i, ptr %arrayidx.i, align 1 - %.pre90 = load i32, ptr %1, align 8 + %.pre87 = load i32, ptr %1, align 8 br label %land.rhs land.rhs: ; preds = %if.then10.i, %if.then6.i, %if.end.i - %9 = phi i32 [ %.pre90, %if.then10.i ], [ %.pre91, %if.then6.i ], [ 0, %if.end.i ] - %idx.ext.i = sext i32 %9 to i64 + %10 = phi i32 [ %.pre87, %if.then10.i ], [ %.pre88, %if.then6.i ], [ 0, %if.end.i ] + %idx.ext.i = sext i32 %10 to i64 %add.ptr.i = getelementptr inbounds i8, ptr %min, i64 %idx.ext.i - %sub37.i = sub nsw i32 %length, %9 + %sub37.i = sub nsw i32 %length, %10 %conv38.i = sext i32 %sub37.i to i64 tail call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i, i8 0, i64 %conv38.i, i1 false) - %10 = load ptr, ptr %u, align 8 - %11 = load i32, ptr %10, align 8 - %cmp.i14 = icmp slt i32 %11, 0 - %cmp3.i15 = icmp sgt i32 %11, %length + %11 = load ptr, ptr %u, align 8 + %12 = load i32, ptr %11, align 8 + %cmp.i14 = icmp slt i32 %12, 0 + %cmp3.i15 = icmp sgt i32 %12, %length %or.cond.i16 = or i1 %cmp.i14, %cmp3.i15 br i1 %or.cond.i16, label %return, label %if.end.i17 if.end.i17: ; preds = %land.rhs - %cmp5.not.i18 = icmp eq i32 %11, 0 + %cmp5.not.i18 = icmp eq i32 %12, 0 br i1 %cmp5.not.i18, label %return.sink.split, label %if.then6.i19 if.then6.i19: ; preds = %if.end.i17 - %data.i20 = getelementptr inbounds i8, ptr %10, i64 8 - %12 = load ptr, ptr %data.i20, align 8 - %conv.i21 = zext nneg i32 %11 to i64 - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %max, ptr align 1 %12, i64 %conv.i21, i1 false) - %flags.i22 = getelementptr inbounds i8, ptr %10, i64 16 - %13 = load i64, ptr %flags.i22, align 8 - %and.i23 = and i64 %13, 7 + %data.i20 = getelementptr inbounds i8, ptr %11, i64 8 + %13 = load ptr, ptr %data.i20, align 8 + %conv.i21 = zext nneg i32 %12 to i64 + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %max, ptr align 1 %13, i64 %conv.i21, i1 false) + %flags.i22 = getelementptr inbounds i8, ptr %11, i64 16 + %14 = load i64, ptr %flags.i22, align 8 + %and.i23 = and i64 %14, 7 %cmp8.not.i24 = icmp eq i64 %and.i23, 0 - %.pre93 = load i32, ptr %10, align 8 + %.pre90 = load i32, ptr %11, align 8 br i1 %cmp8.not.i24, label %return.sink.split, label %return.sink.split.sink.split sw.bb7: ; preds = %if.end %u8 = getelementptr inbounds i8, ptr %aor, i64 8 - %14 = load ptr, ptr %u8, align 8 - %15 = load ptr, ptr %14, align 8 - %16 = load i32, ptr %15, align 8 - %cmp.i35 = icmp slt i32 %16, 0 - %cmp3.i36 = icmp sgt i32 %16, %length - %or.cond.i37 = or i1 %cmp.i35, %cmp3.i36 - br i1 %or.cond.i37, label %return, label %if.end.i38 - -if.end.i38: ; preds = %sw.bb7 - %cmp5.not.i39 = icmp eq i32 %16, 0 - br i1 %cmp5.not.i39, label %land.rhs12, label %if.then6.i40 - -if.then6.i40: ; preds = %if.end.i38 - %data.i41 = getelementptr inbounds i8, ptr %15, i64 8 - %17 = load ptr, ptr %data.i41, align 8 - %conv.i42 = zext nneg i32 %16 to i64 - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %min, ptr align 1 %17, i64 %conv.i42, i1 false) - %flags.i43 = getelementptr inbounds i8, ptr %15, i64 16 - %18 = load i64, ptr %flags.i43, align 8 - %and.i44 = and i64 %18, 7 - %cmp8.not.i45 = icmp eq i64 %and.i44, 0 - %.pre87 = load i32, ptr %15, align 8 - br i1 %cmp8.not.i45, label %land.rhs12, label %if.then10.i46 - -if.then10.i46: ; preds = %if.then6.i40 - %19 = trunc i64 %and.i44 to i16 - %sh_prom.i47 = sub nuw nsw i16 8, %19 - %shr.i48 = lshr i16 255, %sh_prom.i47 - %conv13.i49 = trunc i16 %shr.i48 to i8 - %not.i50 = xor i8 %conv13.i49, -1 - %20 = sext i32 %.pre87 to i64 - %21 = getelementptr i8, ptr %min, i64 %20 - %arrayidx.i51 = getelementptr i8, ptr %21, i64 -1 - %22 = load i8, ptr %arrayidx.i51, align 1 - %and22.i52 = and i8 %22, %not.i50 - store i8 %and22.i52, ptr %arrayidx.i51, align 1 - %.pre = load i32, ptr %15, align 8 + %15 = load ptr, ptr %u8, align 8 + %16 = load ptr, ptr %15, align 8 + %17 = load i32, ptr %16, align 8 + %cmp.i34 = icmp slt i32 %17, 0 + %cmp3.i35 = icmp sgt i32 %17, %length + %or.cond.i36 = or i1 %cmp.i34, %cmp3.i35 + br i1 %or.cond.i36, label %return, label %if.end.i37 + +if.end.i37: ; preds = %sw.bb7 + %cmp5.not.i38 = icmp eq i32 %17, 0 + br i1 %cmp5.not.i38, label %land.rhs12, label %if.then6.i39 + +if.then6.i39: ; preds = %if.end.i37 + %data.i40 = getelementptr inbounds i8, ptr %16, i64 8 + %18 = load ptr, ptr %data.i40, align 8 + %conv.i41 = zext nneg i32 %17 to i64 + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %min, ptr align 1 %18, i64 %conv.i41, i1 false) + %flags.i42 = getelementptr inbounds i8, ptr %16, i64 16 + %19 = load i64, ptr %flags.i42, align 8 + %and.i43 = and i64 %19, 7 + %cmp8.not.i44 = icmp eq i64 %and.i43, 0 + %.pre84 = load i32, ptr %16, align 8 + br i1 %cmp8.not.i44, label %land.rhs12, label %if.then10.i45 + +if.then10.i45: ; preds = %if.then6.i39 + %20 = trunc i64 %and.i43 to i16 + %sh_prom.i46 = sub nuw nsw i16 8, %20 + %21 = ashr i16 -256, %sh_prom.i46 + %not.i47 = trunc i16 %21 to i8 + %22 = sext i32 %.pre84 to i64 + %23 = getelementptr i8, ptr %min, i64 %22 + %arrayidx.i48 = getelementptr i8, ptr %23, i64 -1 + %24 = load i8, ptr %arrayidx.i48, align 1 + %and22.i49 = and i8 %24, %not.i47 + store i8 %and22.i49, ptr %arrayidx.i48, align 1 + %.pre = load i32, ptr %16, align 8 br label %land.rhs12 -land.rhs12: ; preds = %if.then10.i46, %if.then6.i40, %if.end.i38 - %23 = phi i32 [ %.pre, %if.then10.i46 ], [ %.pre87, %if.then6.i40 ], [ 0, %if.end.i38 ] - %idx.ext.i54 = sext i32 %23 to i64 - %add.ptr.i55 = getelementptr inbounds i8, ptr %min, i64 %idx.ext.i54 - %sub37.i56 = sub nsw i32 %length, %23 - %conv38.i57 = sext i32 %sub37.i56 to i64 - tail call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i55, i8 0, i64 %conv38.i57, i1 false) - %24 = load ptr, ptr %u8, align 8 - %max14 = getelementptr inbounds i8, ptr %24, i64 8 - %25 = load ptr, ptr %max14, align 8 - %26 = load i32, ptr %25, align 8 - %cmp.i60 = icmp slt i32 %26, 0 - %cmp3.i61 = icmp sgt i32 %26, %length - %or.cond.i62 = or i1 %cmp.i60, %cmp3.i61 - br i1 %or.cond.i62, label %return, label %if.end.i63 - -if.end.i63: ; preds = %land.rhs12 - %cmp5.not.i64 = icmp eq i32 %26, 0 - br i1 %cmp5.not.i64, label %return.sink.split, label %if.then6.i65 - -if.then6.i65: ; preds = %if.end.i63 - %data.i66 = getelementptr inbounds i8, ptr %25, i64 8 - %27 = load ptr, ptr %data.i66, align 8 - %conv.i67 = zext nneg i32 %26 to i64 - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %max, ptr align 1 %27, i64 %conv.i67, i1 false) - %flags.i68 = getelementptr inbounds i8, ptr %25, i64 16 - %28 = load i64, ptr %flags.i68, align 8 - %and.i69 = and i64 %28, 7 - %cmp8.not.i70 = icmp eq i64 %and.i69, 0 - %.pre89 = load i32, ptr %25, align 8 - br i1 %cmp8.not.i70, label %return.sink.split, label %return.sink.split.sink.split - -return.sink.split.sink.split: ; preds = %if.then6.i65, %if.then6.i19 - %and.i23.sink = phi i64 [ %and.i23, %if.then6.i19 ], [ %and.i69, %if.then6.i65 ] - %.pre93.sink = phi i32 [ %.pre93, %if.then6.i19 ], [ %.pre89, %if.then6.i65 ] - %.sink = phi ptr [ %10, %if.then6.i19 ], [ %25, %if.then6.i65 ] - %29 = trunc i64 %and.i23.sink to i16 - %sh_prom.i26 = sub nuw nsw i16 8, %29 - %shr.i27 = lshr i16 255, %sh_prom.i26 - %30 = sext i32 %.pre93.sink to i64 - %31 = getelementptr i8, ptr %max, i64 %30 - %arrayidx28.i = getelementptr i8, ptr %31, i64 -1 - %32 = load i8, ptr %arrayidx28.i, align 1 - %33 = trunc i16 %shr.i27 to i8 - %conv30.i75 = or i8 %32, %33 - store i8 %conv30.i75, ptr %arrayidx28.i, align 1 - %.pre88 = load i32, ptr %.sink, align 8 +land.rhs12: ; preds = %if.then10.i45, %if.then6.i39, %if.end.i37 + %25 = phi i32 [ %.pre, %if.then10.i45 ], [ %.pre84, %if.then6.i39 ], [ 0, %if.end.i37 ] + %idx.ext.i51 = sext i32 %25 to i64 + %add.ptr.i52 = getelementptr inbounds i8, ptr %min, i64 %idx.ext.i51 + %sub37.i53 = sub nsw i32 %length, %25 + %conv38.i54 = sext i32 %sub37.i53 to i64 + tail call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i52, i8 0, i64 %conv38.i54, i1 false) + %26 = load ptr, ptr %u8, align 8 + %max14 = getelementptr inbounds i8, ptr %26, i64 8 + %27 = load ptr, ptr %max14, align 8 + %28 = load i32, ptr %27, align 8 + %cmp.i57 = icmp slt i32 %28, 0 + %cmp3.i58 = icmp sgt i32 %28, %length + %or.cond.i59 = or i1 %cmp.i57, %cmp3.i58 + br i1 %or.cond.i59, label %return, label %if.end.i60 + +if.end.i60: ; preds = %land.rhs12 + %cmp5.not.i61 = icmp eq i32 %28, 0 + br i1 %cmp5.not.i61, label %return.sink.split, label %if.then6.i62 + +if.then6.i62: ; preds = %if.end.i60 + %data.i63 = getelementptr inbounds i8, ptr %27, i64 8 + %29 = load ptr, ptr %data.i63, align 8 + %conv.i64 = zext nneg i32 %28 to i64 + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %max, ptr align 1 %29, i64 %conv.i64, i1 false) + %flags.i65 = getelementptr inbounds i8, ptr %27, i64 16 + %30 = load i64, ptr %flags.i65, align 8 + %and.i66 = and i64 %30, 7 + %cmp8.not.i67 = icmp eq i64 %and.i66, 0 + %.pre86 = load i32, ptr %27, align 8 + br i1 %cmp8.not.i67, label %return.sink.split, label %return.sink.split.sink.split + +return.sink.split.sink.split: ; preds = %if.then6.i62, %if.then6.i19 + %and.i23.sink = phi i64 [ %and.i23, %if.then6.i19 ], [ %and.i66, %if.then6.i62 ] + %.pre90.sink = phi i32 [ %.pre90, %if.then6.i19 ], [ %.pre86, %if.then6.i62 ] + %.sink = phi ptr [ %11, %if.then6.i19 ], [ %27, %if.then6.i62 ] + %31 = trunc i64 %and.i23.sink to i16 + %sh_prom.i26 = sub nuw nsw i16 8, %31 + %shr.i = lshr i16 255, %sh_prom.i26 + %32 = sext i32 %.pre90.sink to i64 + %33 = getelementptr i8, ptr %max, i64 %32 + %arrayidx28.i = getelementptr i8, ptr %33, i64 -1 + %34 = load i8, ptr %arrayidx28.i, align 1 + %35 = trunc i16 %shr.i to i8 + %conv30.i72 = or i8 %34, %35 + store i8 %conv30.i72, ptr %arrayidx28.i, align 1 + %.pre85 = load i32, ptr %.sink, align 8 br label %return.sink.split -return.sink.split: ; preds = %return.sink.split.sink.split, %if.end.i63, %if.then6.i65, %if.end.i17, %if.then6.i19 - %.sink94 = phi i32 [ %.pre93, %if.then6.i19 ], [ 0, %if.end.i17 ], [ %.pre89, %if.then6.i65 ], [ 0, %if.end.i63 ], [ %.pre88, %return.sink.split.sink.split ] - %idx.ext.i77 = sext i32 %.sink94 to i64 - %add.ptr.i78 = getelementptr inbounds i8, ptr %max, i64 %idx.ext.i77 - %sub37.i79 = sub nsw i32 %length, %.sink94 - %conv38.i80 = sext i32 %sub37.i79 to i64 - tail call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i78, i8 -1, i64 %conv38.i80, i1 false) +return.sink.split: ; preds = %return.sink.split.sink.split, %if.end.i60, %if.then6.i62, %if.end.i17, %if.then6.i19 + %.sink91 = phi i32 [ %.pre90, %if.then6.i19 ], [ 0, %if.end.i17 ], [ %.pre86, %if.then6.i62 ], [ 0, %if.end.i60 ], [ %.pre85, %return.sink.split.sink.split ] + %idx.ext.i74 = sext i32 %.sink91 to i64 + %add.ptr.i75 = getelementptr inbounds i8, ptr %max, i64 %idx.ext.i74 + %sub37.i76 = sub nsw i32 %length, %.sink91 + %conv38.i77 = sext i32 %sub37.i76 to i64 + tail call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i75, i8 -1, i64 %conv38.i77, i1 false) br label %return return: ; preds = %return.sink.split, %sw.bb7, %sw.bb, %land.rhs12, %land.rhs, %if.end, %entry @@ -3258,183 +3256,179 @@ if.then6.i: ; preds = %if.end.i if.then10.i: ; preds = %if.then6.i %5 = trunc i64 %and.i to i16 %sh_prom.i = sub nuw nsw i16 8, %5 - %shr.i = lshr i16 255, %sh_prom.i - %conv13.i = trunc i16 %shr.i to i8 - %not.i = xor i8 %conv13.i, -1 - %6 = getelementptr i8, ptr %addr_a, i64 %conv.i - %arrayidx.i = getelementptr i8, ptr %6, i64 -1 - %7 = load i8, ptr %arrayidx.i, align 1 - %and22.i = and i8 %7, %not.i + %6 = ashr i16 -256, %sh_prom.i + %not.i = trunc i16 %6 to i8 + %7 = getelementptr i8, ptr %addr_a, i64 %conv.i + %arrayidx.i = getelementptr i8, ptr %7, i64 -1 + %8 = load i8, ptr %arrayidx.i, align 1 + %and22.i = and i8 %8, %not.i store i8 %and22.i, ptr %arrayidx.i, align 1 br label %if.end if.end: ; preds = %if.end.i.if.end_crit_edge, %if.then10.i, %if.then6.i %idx.ext.i.pre-phi = phi i64 [ 0, %if.end.i.if.end_crit_edge ], [ %conv.i, %if.then10.i ], [ %conv.i, %if.then6.i ] - %8 = phi i64 [ %.pre, %if.end.i.if.end_crit_edge ], [ %4, %if.then10.i ], [ %4, %if.then6.i ] + %9 = phi i64 [ %.pre, %if.end.i.if.end_crit_edge ], [ %4, %if.then10.i ], [ %4, %if.then6.i ] %add.ptr.i = getelementptr inbounds i8, ptr %addr_a, i64 %idx.ext.i.pre-phi %sub37.i = sub nsw i32 %length, %2 %conv38.i = sext i32 %sub37.i to i64 call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i, i8 0, i64 %conv38.i, i1 false) %mul = shl nsw i32 %2, 3 - %9 = trunc i64 %8 to i32 - %10 = and i32 %9, 7 - %conv4 = sub i32 %mul, %10 + %10 = trunc i64 %9 to i32 + %11 = and i32 %10, 7 + %conv4 = sub nsw i32 %mul, %11 br label %sw.epilog sw.bb5: ; preds = %entry %u7 = getelementptr inbounds i8, ptr %a, i64 8 - %11 = load ptr, ptr %u7, align 8 - %12 = load ptr, ptr %11, align 8 - %13 = load i32, ptr %12, align 8 - %cmp.i15 = icmp slt i32 %13, 0 - %cmp3.i16 = icmp sgt i32 %13, %length + %12 = load ptr, ptr %u7, align 8 + %13 = load ptr, ptr %12, align 8 + %14 = load i32, ptr %13, align 8 + %cmp.i15 = icmp slt i32 %14, 0 + %cmp3.i16 = icmp sgt i32 %14, %length %or.cond.i17 = or i1 %cmp.i15, %cmp3.i16 br i1 %or.cond.i17, label %return, label %if.end.i18 if.end.i18: ; preds = %sw.bb5 - %cmp5.not.i19 = icmp eq i32 %13, 0 + %cmp5.not.i19 = icmp eq i32 %14, 0 br i1 %cmp5.not.i19, label %if.end11, label %if.then6.i20 if.then6.i20: ; preds = %if.end.i18 - %data.i21 = getelementptr inbounds i8, ptr %12, i64 8 - %14 = load ptr, ptr %data.i21, align 8 - %conv.i22 = zext nneg i32 %13 to i64 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %addr_a, ptr align 1 %14, i64 %conv.i22, i1 false) - %flags.i23 = getelementptr inbounds i8, ptr %12, i64 16 - %15 = load i64, ptr %flags.i23, align 8 - %and.i24 = and i64 %15, 7 + %data.i21 = getelementptr inbounds i8, ptr %13, i64 8 + %15 = load ptr, ptr %data.i21, align 8 + %conv.i22 = zext nneg i32 %14 to i64 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %addr_a, ptr align 1 %15, i64 %conv.i22, i1 false) + %flags.i23 = getelementptr inbounds i8, ptr %13, i64 16 + %16 = load i64, ptr %flags.i23, align 8 + %and.i24 = and i64 %16, 7 %cmp8.not.i25 = icmp eq i64 %and.i24, 0 br i1 %cmp8.not.i25, label %if.end11, label %if.then10.i26 if.then10.i26: ; preds = %if.then6.i20 - %16 = trunc i64 %and.i24 to i16 - %sh_prom.i27 = sub nuw nsw i16 8, %16 - %shr.i28 = lshr i16 255, %sh_prom.i27 - %conv13.i29 = trunc i16 %shr.i28 to i8 - %not.i30 = xor i8 %conv13.i29, -1 - %17 = getelementptr i8, ptr %addr_a, i64 %conv.i22 - %arrayidx.i31 = getelementptr i8, ptr %17, i64 -1 - %18 = load i8, ptr %arrayidx.i31, align 1 - %and22.i32 = and i8 %18, %not.i30 - store i8 %and22.i32, ptr %arrayidx.i31, align 1 + %17 = trunc i64 %and.i24 to i16 + %sh_prom.i27 = sub nuw nsw i16 8, %17 + %18 = ashr i16 -256, %sh_prom.i27 + %not.i28 = trunc i16 %18 to i8 + %19 = getelementptr i8, ptr %addr_a, i64 %conv.i22 + %arrayidx.i29 = getelementptr i8, ptr %19, i64 -1 + %20 = load i8, ptr %arrayidx.i29, align 1 + %and22.i30 = and i8 %20, %not.i28 + store i8 %and22.i30, ptr %arrayidx.i29, align 1 br label %if.end11 if.end11: ; preds = %if.end.i18, %if.then10.i26, %if.then6.i20 - %idx.ext.i34.pre-phi = phi i64 [ %conv.i22, %if.then10.i26 ], [ %conv.i22, %if.then6.i20 ], [ 0, %if.end.i18 ] - %add.ptr.i35 = getelementptr inbounds i8, ptr %addr_a, i64 %idx.ext.i34.pre-phi - %sub37.i36 = sub nsw i32 %length, %13 - %conv38.i37 = sext i32 %sub37.i36 to i64 - call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i35, i8 0, i64 %conv38.i37, i1 false) + %idx.ext.i32.pre-phi = phi i64 [ %conv.i22, %if.then10.i26 ], [ %conv.i22, %if.then6.i20 ], [ 0, %if.end.i18 ] + %add.ptr.i33 = getelementptr inbounds i8, ptr %addr_a, i64 %idx.ext.i32.pre-phi + %sub37.i34 = sub nsw i32 %length, %14 + %conv38.i35 = sext i32 %sub37.i34 to i64 + call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i33, i8 0, i64 %conv38.i35, i1 false) %mul12 = shl nuw nsw i32 %length, 3 br label %sw.epilog sw.epilog: ; preds = %if.end11, %if.end, %entry %prefixlen_a.0 = phi i32 [ 0, %entry ], [ %mul12, %if.end11 ], [ %conv4, %if.end ] - %19 = load i32, ptr %b, align 8 - switch i32 %19, label %sw.epilog39 [ + %21 = load i32, ptr %b, align 8 + switch i32 %21, label %sw.epilog39 [ i32 0, label %sw.bb14 i32 1, label %sw.bb30 ] sw.bb14: ; preds = %sw.epilog %u16 = getelementptr inbounds i8, ptr %b, i64 8 - %20 = load ptr, ptr %u16, align 8 - %21 = load i32, ptr %20, align 8 - %cmp.i40 = icmp slt i32 %21, 0 - %cmp3.i41 = icmp sgt i32 %21, %length - %or.cond.i42 = or i1 %cmp.i40, %cmp3.i41 - br i1 %or.cond.i42, label %return, label %if.end.i43 - -if.end.i43: ; preds = %sw.bb14 - %cmp5.not.i44 = icmp eq i32 %21, 0 - br i1 %cmp5.not.i44, label %if.end.i43.if.end20_crit_edge, label %if.then6.i45 - -if.end.i43.if.end20_crit_edge: ; preds = %if.end.i43 - %flags26.phi.trans.insert = getelementptr inbounds i8, ptr %20, i64 16 - %.pre98 = load i64, ptr %flags26.phi.trans.insert, align 8 + %22 = load ptr, ptr %u16, align 8 + %23 = load i32, ptr %22, align 8 + %cmp.i38 = icmp slt i32 %23, 0 + %cmp3.i39 = icmp sgt i32 %23, %length + %or.cond.i40 = or i1 %cmp.i38, %cmp3.i39 + br i1 %or.cond.i40, label %return, label %if.end.i41 + +if.end.i41: ; preds = %sw.bb14 + %cmp5.not.i42 = icmp eq i32 %23, 0 + br i1 %cmp5.not.i42, label %if.end.i41.if.end20_crit_edge, label %if.then6.i43 + +if.end.i41.if.end20_crit_edge: ; preds = %if.end.i41 + %flags26.phi.trans.insert = getelementptr inbounds i8, ptr %22, i64 16 + %.pre92 = load i64, ptr %flags26.phi.trans.insert, align 8 br label %if.end20 -if.then6.i45: ; preds = %if.end.i43 - %data.i46 = getelementptr inbounds i8, ptr %20, i64 8 - %22 = load ptr, ptr %data.i46, align 8 - %conv.i47 = zext nneg i32 %21 to i64 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %addr_b, ptr align 1 %22, i64 %conv.i47, i1 false) - %flags.i48 = getelementptr inbounds i8, ptr %20, i64 16 - %23 = load i64, ptr %flags.i48, align 8 - %and.i49 = and i64 %23, 7 - %cmp8.not.i50 = icmp eq i64 %and.i49, 0 - br i1 %cmp8.not.i50, label %if.end20, label %if.then10.i51 - -if.then10.i51: ; preds = %if.then6.i45 - %24 = trunc i64 %and.i49 to i16 - %sh_prom.i52 = sub nuw nsw i16 8, %24 - %shr.i53 = lshr i16 255, %sh_prom.i52 - %conv13.i54 = trunc i16 %shr.i53 to i8 - %not.i55 = xor i8 %conv13.i54, -1 - %25 = getelementptr i8, ptr %addr_b, i64 %conv.i47 - %arrayidx.i56 = getelementptr i8, ptr %25, i64 -1 - %26 = load i8, ptr %arrayidx.i56, align 1 - %and22.i57 = and i8 %26, %not.i55 - store i8 %and22.i57, ptr %arrayidx.i56, align 1 +if.then6.i43: ; preds = %if.end.i41 + %data.i44 = getelementptr inbounds i8, ptr %22, i64 8 + %24 = load ptr, ptr %data.i44, align 8 + %conv.i45 = zext nneg i32 %23 to i64 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %addr_b, ptr align 1 %24, i64 %conv.i45, i1 false) + %flags.i46 = getelementptr inbounds i8, ptr %22, i64 16 + %25 = load i64, ptr %flags.i46, align 8 + %and.i47 = and i64 %25, 7 + %cmp8.not.i48 = icmp eq i64 %and.i47, 0 + br i1 %cmp8.not.i48, label %if.end20, label %if.then10.i49 + +if.then10.i49: ; preds = %if.then6.i43 + %26 = trunc i64 %and.i47 to i16 + %sh_prom.i50 = sub nuw nsw i16 8, %26 + %27 = ashr i16 -256, %sh_prom.i50 + %not.i51 = trunc i16 %27 to i8 + %28 = getelementptr i8, ptr %addr_b, i64 %conv.i45 + %arrayidx.i52 = getelementptr i8, ptr %28, i64 -1 + %29 = load i8, ptr %arrayidx.i52, align 1 + %and22.i53 = and i8 %29, %not.i51 + store i8 %and22.i53, ptr %arrayidx.i52, align 1 br label %if.end20 -if.end20: ; preds = %if.end.i43.if.end20_crit_edge, %if.then10.i51, %if.then6.i45 - %idx.ext.i59.pre-phi = phi i64 [ 0, %if.end.i43.if.end20_crit_edge ], [ %conv.i47, %if.then10.i51 ], [ %conv.i47, %if.then6.i45 ] - %27 = phi i64 [ %.pre98, %if.end.i43.if.end20_crit_edge ], [ %23, %if.then10.i51 ], [ %23, %if.then6.i45 ] - %add.ptr.i60 = getelementptr inbounds i8, ptr %addr_b, i64 %idx.ext.i59.pre-phi - %sub37.i61 = sub nsw i32 %length, %21 - %conv38.i62 = sext i32 %sub37.i61 to i64 - call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i60, i8 0, i64 %conv38.i62, i1 false) - %mul23 = shl nsw i32 %21, 3 - %28 = trunc i64 %27 to i32 - %29 = and i32 %28, 7 - %conv29 = sub i32 %mul23, %29 +if.end20: ; preds = %if.end.i41.if.end20_crit_edge, %if.then10.i49, %if.then6.i43 + %idx.ext.i55.pre-phi = phi i64 [ 0, %if.end.i41.if.end20_crit_edge ], [ %conv.i45, %if.then10.i49 ], [ %conv.i45, %if.then6.i43 ] + %30 = phi i64 [ %.pre92, %if.end.i41.if.end20_crit_edge ], [ %25, %if.then10.i49 ], [ %25, %if.then6.i43 ] + %add.ptr.i56 = getelementptr inbounds i8, ptr %addr_b, i64 %idx.ext.i55.pre-phi + %sub37.i57 = sub nsw i32 %length, %23 + %conv38.i58 = sext i32 %sub37.i57 to i64 + call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i56, i8 0, i64 %conv38.i58, i1 false) + %mul23 = shl nsw i32 %23, 3 + %31 = trunc i64 %30 to i32 + %32 = and i32 %31, 7 + %conv29 = sub nsw i32 %mul23, %32 br label %sw.epilog39 sw.bb30: ; preds = %sw.epilog %u32 = getelementptr inbounds i8, ptr %b, i64 8 - %30 = load ptr, ptr %u32, align 8 - %31 = load ptr, ptr %30, align 8 - %32 = load i32, ptr %31, align 8 - %cmp.i65 = icmp slt i32 %32, 0 - %cmp3.i66 = icmp sgt i32 %32, %length - %or.cond.i67 = or i1 %cmp.i65, %cmp3.i66 - br i1 %or.cond.i67, label %return, label %if.end.i68 - -if.end.i68: ; preds = %sw.bb30 - %cmp5.not.i69 = icmp eq i32 %32, 0 - br i1 %cmp5.not.i69, label %if.end37, label %if.then6.i70 - -if.then6.i70: ; preds = %if.end.i68 - %data.i71 = getelementptr inbounds i8, ptr %31, i64 8 - %33 = load ptr, ptr %data.i71, align 8 - %conv.i72 = zext nneg i32 %32 to i64 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %addr_b, ptr align 1 %33, i64 %conv.i72, i1 false) - %flags.i73 = getelementptr inbounds i8, ptr %31, i64 16 - %34 = load i64, ptr %flags.i73, align 8 - %and.i74 = and i64 %34, 7 - %cmp8.not.i75 = icmp eq i64 %and.i74, 0 - br i1 %cmp8.not.i75, label %if.end37, label %if.then10.i76 - -if.then10.i76: ; preds = %if.then6.i70 - %35 = trunc i64 %and.i74 to i16 - %sh_prom.i77 = sub nuw nsw i16 8, %35 - %shr.i78 = lshr i16 255, %sh_prom.i77 - %conv13.i79 = trunc i16 %shr.i78 to i8 - %not.i80 = xor i8 %conv13.i79, -1 - %36 = getelementptr i8, ptr %addr_b, i64 %conv.i72 - %arrayidx.i81 = getelementptr i8, ptr %36, i64 -1 - %37 = load i8, ptr %arrayidx.i81, align 1 - %and22.i82 = and i8 %37, %not.i80 - store i8 %and22.i82, ptr %arrayidx.i81, align 1 + %33 = load ptr, ptr %u32, align 8 + %34 = load ptr, ptr %33, align 8 + %35 = load i32, ptr %34, align 8 + %cmp.i61 = icmp slt i32 %35, 0 + %cmp3.i62 = icmp sgt i32 %35, %length + %or.cond.i63 = or i1 %cmp.i61, %cmp3.i62 + br i1 %or.cond.i63, label %return, label %if.end.i64 + +if.end.i64: ; preds = %sw.bb30 + %cmp5.not.i65 = icmp eq i32 %35, 0 + br i1 %cmp5.not.i65, label %if.end37, label %if.then6.i66 + +if.then6.i66: ; preds = %if.end.i64 + %data.i67 = getelementptr inbounds i8, ptr %34, i64 8 + %36 = load ptr, ptr %data.i67, align 8 + %conv.i68 = zext nneg i32 %35 to i64 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %addr_b, ptr align 1 %36, i64 %conv.i68, i1 false) + %flags.i69 = getelementptr inbounds i8, ptr %34, i64 16 + %37 = load i64, ptr %flags.i69, align 8 + %and.i70 = and i64 %37, 7 + %cmp8.not.i71 = icmp eq i64 %and.i70, 0 + br i1 %cmp8.not.i71, label %if.end37, label %if.then10.i72 + +if.then10.i72: ; preds = %if.then6.i66 + %38 = trunc i64 %and.i70 to i16 + %sh_prom.i73 = sub nuw nsw i16 8, %38 + %39 = ashr i16 -256, %sh_prom.i73 + %not.i74 = trunc i16 %39 to i8 + %40 = getelementptr i8, ptr %addr_b, i64 %conv.i68 + %arrayidx.i75 = getelementptr i8, ptr %40, i64 -1 + %41 = load i8, ptr %arrayidx.i75, align 1 + %and22.i76 = and i8 %41, %not.i74 + store i8 %and22.i76, ptr %arrayidx.i75, align 1 br label %if.end37 -if.end37: ; preds = %if.end.i68, %if.then10.i76, %if.then6.i70 - %idx.ext.i84.pre-phi = phi i64 [ %conv.i72, %if.then10.i76 ], [ %conv.i72, %if.then6.i70 ], [ 0, %if.end.i68 ] - %add.ptr.i85 = getelementptr inbounds i8, ptr %addr_b, i64 %idx.ext.i84.pre-phi - %sub37.i86 = sub nsw i32 %length, %32 - %conv38.i87 = sext i32 %sub37.i86 to i64 - call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i85, i8 0, i64 %conv38.i87, i1 false) +if.end37: ; preds = %if.end.i64, %if.then10.i72, %if.then6.i66 + %idx.ext.i78.pre-phi = phi i64 [ %conv.i68, %if.then10.i72 ], [ %conv.i68, %if.then6.i66 ], [ 0, %if.end.i64 ] + %add.ptr.i79 = getelementptr inbounds i8, ptr %addr_b, i64 %idx.ext.i78.pre-phi + %sub37.i80 = sub nsw i32 %length, %35 + %conv38.i81 = sext i32 %sub37.i80 to i64 + call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i79, i8 0, i64 %conv38.i81, i1 false) %mul38 = shl nuw nsw i32 %length, 3 br label %sw.epilog39 @@ -3518,8 +3512,8 @@ if.end: ; preds = %entry ] for.cond55.preheader: ; preds = %if.end - %cmp5763.not = icmp eq i32 %0, 0 - br i1 %cmp5763.not, label %for.end68, label %for.body59.lr.ph + %cmp5762.not = icmp eq i32 %0, 0 + br i1 %cmp5762.not, label %for.end68, label %for.body59.lr.ph for.body59.lr.ph: ; preds = %for.cond55.preheader %data = getelementptr inbounds i8, ptr %bs, i64 8 @@ -3547,26 +3541,26 @@ if.then6.i: ; preds = %if.end.i if.then10.i: ; preds = %if.then6.i %3 = trunc i64 %and.i to i16 %sh_prom.i = sub nuw nsw i16 8, %3 - %shr.i = lshr i16 255, %sh_prom.i %cmp15.i = icmp eq i8 %fill, 0 br i1 %cmp15.i, label %if.then17.i, label %if.else.i if.then17.i: ; preds = %if.then10.i - %conv13.i = trunc i16 %shr.i to i8 - %not.i = xor i8 %conv13.i, -1 - %4 = getelementptr i8, ptr %addr, i64 %conv.i - %arrayidx.i = getelementptr i8, ptr %4, i64 -1 - %5 = load i8, ptr %arrayidx.i, align 1 - %and22.i = and i8 %5, %not.i + %4 = ashr i16 -256, %sh_prom.i + %not.i = trunc i16 %4 to i8 + %5 = getelementptr i8, ptr %addr, i64 %conv.i + %arrayidx.i = getelementptr i8, ptr %5, i64 -1 + %6 = load i8, ptr %arrayidx.i, align 1 + %and22.i = and i8 %6, %not.i store i8 %and22.i, ptr %arrayidx.i, align 1 br label %if.end2 if.else.i: ; preds = %if.then10.i - %6 = getelementptr i8, ptr %addr, i64 %conv.i - %arrayidx28.i = getelementptr i8, ptr %6, i64 -1 - %7 = load i8, ptr %arrayidx28.i, align 1 - %8 = trunc i16 %shr.i to i8 - %conv30.i = or i8 %7, %8 + %shr.i = lshr i16 255, %sh_prom.i + %7 = getelementptr i8, ptr %addr, i64 %conv.i + %arrayidx28.i = getelementptr i8, ptr %7, i64 -1 + %8 = load i8, ptr %arrayidx28.i, align 1 + %9 = trunc i16 %shr.i to i8 + %conv30.i = or i8 %8, %9 store i8 %conv30.i, ptr %arrayidx28.i, align 1 br label %if.end2 @@ -3576,17 +3570,17 @@ if.end2: ; preds = %if.end.i, %if.else. %sub37.i = sub nuw nsw i32 4, %0 %conv38.i = zext nneg i32 %sub37.i to i64 call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i, i8 %fill, i64 %conv38.i, i1 false) - %9 = load i8, ptr %addr, align 16 - %conv = zext i8 %9 to i32 + %10 = load i8, ptr %addr, align 16 + %conv = zext i8 %10 to i32 %arrayidx3 = getelementptr inbounds i8, ptr %addr, i64 1 - %10 = load i8, ptr %arrayidx3, align 1 - %conv4 = zext i8 %10 to i32 + %11 = load i8, ptr %arrayidx3, align 1 + %conv4 = zext i8 %11 to i32 %arrayidx5 = getelementptr inbounds i8, ptr %addr, i64 2 - %11 = load i8, ptr %arrayidx5, align 2 - %conv6 = zext i8 %11 to i32 + %12 = load i8, ptr %arrayidx5, align 2 + %conv6 = zext i8 %12 to i32 %arrayidx7 = getelementptr inbounds i8, ptr %addr, i64 3 - %12 = load i8, ptr %arrayidx7, align 1 - %conv8 = zext i8 %12 to i32 + %13 = load i8, ptr %arrayidx7, align 1 + %conv8 = zext i8 %13 to i32 %call9 = tail call i32 (ptr, ptr, ...) @BIO_printf(ptr noundef %out, ptr noundef nonnull @.str.42, i32 noundef %conv, i32 noundef %conv4, i32 noundef %conv6, i32 noundef %conv8) #15 br label %return @@ -3596,111 +3590,111 @@ sw.bb10: ; preds = %if.end if.end.i29: ; preds = %sw.bb10 %cmp5.not.i30 = icmp eq i32 %0, 0 - br i1 %cmp5.not.i30, label %addr_expand.exit55, label %if.then6.i31 + br i1 %cmp5.not.i30, label %addr_expand.exit54, label %if.then6.i31 if.then6.i31: ; preds = %if.end.i29 %data.i32 = getelementptr inbounds i8, ptr %bs, i64 8 - %13 = load ptr, ptr %data.i32, align 8 + %14 = load ptr, ptr %data.i32, align 8 %conv.i33 = zext nneg i32 %0 to i64 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %addr, ptr align 1 %13, i64 %conv.i33, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %addr, ptr align 1 %14, i64 %conv.i33, i1 false) %flags.i34 = getelementptr inbounds i8, ptr %bs, i64 16 - %14 = load i64, ptr %flags.i34, align 8 - %and.i35 = and i64 %14, 7 + %15 = load i64, ptr %flags.i34, align 8 + %and.i35 = and i64 %15, 7 %cmp8.not.i36 = icmp eq i64 %and.i35, 0 - br i1 %cmp8.not.i36, label %addr_expand.exit55, label %if.then10.i37 + br i1 %cmp8.not.i36, label %addr_expand.exit54, label %if.then10.i37 if.then10.i37: ; preds = %if.then6.i31 - %15 = trunc i64 %and.i35 to i16 - %sh_prom.i38 = sub nuw nsw i16 8, %15 - %shr.i39 = lshr i16 255, %sh_prom.i38 - %cmp15.i40 = icmp eq i8 %fill, 0 - br i1 %cmp15.i40, label %if.then17.i50, label %if.else.i41 + %16 = trunc i64 %and.i35 to i16 + %sh_prom.i38 = sub nuw nsw i16 8, %16 + %cmp15.i39 = icmp eq i8 %fill, 0 + br i1 %cmp15.i39, label %if.then17.i50, label %if.else.i40 if.then17.i50: ; preds = %if.then10.i37 - %conv13.i51 = trunc i16 %shr.i39 to i8 - %not.i52 = xor i8 %conv13.i51, -1 - %16 = getelementptr i8, ptr %addr, i64 %conv.i33 - %arrayidx.i53 = getelementptr i8, ptr %16, i64 -1 - %17 = load i8, ptr %arrayidx.i53, align 1 - %and22.i54 = and i8 %17, %not.i52 - store i8 %and22.i54, ptr %arrayidx.i53, align 1 - br label %addr_expand.exit55 - -if.else.i41: ; preds = %if.then10.i37 + %17 = ashr i16 -256, %sh_prom.i38 + %not.i51 = trunc i16 %17 to i8 %18 = getelementptr i8, ptr %addr, i64 %conv.i33 - %arrayidx28.i42 = getelementptr i8, ptr %18, i64 -1 - %19 = load i8, ptr %arrayidx28.i42, align 1 - %20 = trunc i16 %shr.i39 to i8 - %conv30.i43 = or i8 %19, %20 + %arrayidx.i52 = getelementptr i8, ptr %18, i64 -1 + %19 = load i8, ptr %arrayidx.i52, align 1 + %and22.i53 = and i8 %19, %not.i51 + store i8 %and22.i53, ptr %arrayidx.i52, align 1 + br label %addr_expand.exit54 + +if.else.i40: ; preds = %if.then10.i37 + %shr.i41 = lshr i16 255, %sh_prom.i38 + %20 = getelementptr i8, ptr %addr, i64 %conv.i33 + %arrayidx28.i42 = getelementptr i8, ptr %20, i64 -1 + %21 = load i8, ptr %arrayidx28.i42, align 1 + %22 = trunc i16 %shr.i41 to i8 + %conv30.i43 = or i8 %21, %22 store i8 %conv30.i43, ptr %arrayidx28.i42, align 1 - br label %addr_expand.exit55 + br label %addr_expand.exit54 -addr_expand.exit55: ; preds = %if.end.i29, %if.then6.i31, %if.then17.i50, %if.else.i41 - %idx.ext.i45.pre-phi = phi i64 [ %conv.i33, %if.then6.i31 ], [ %conv.i33, %if.then17.i50 ], [ %conv.i33, %if.else.i41 ], [ 0, %if.end.i29 ] +addr_expand.exit54: ; preds = %if.end.i29, %if.then6.i31, %if.then17.i50, %if.else.i40 + %idx.ext.i45.pre-phi = phi i64 [ %conv.i33, %if.then6.i31 ], [ %conv.i33, %if.then17.i50 ], [ %conv.i33, %if.else.i40 ], [ 0, %if.end.i29 ] %add.ptr.i46 = getelementptr inbounds i8, ptr %addr, i64 %idx.ext.i45.pre-phi %sub37.i47 = sub nuw nsw i32 16, %0 %conv38.i48 = zext nneg i32 %sub37.i47 to i64 call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i46, i8 %fill, i64 %conv38.i48, i1 false) br label %for.cond -for.cond: ; preds = %addr_expand.exit55, %land.rhs - %indvars.iv = phi i64 [ 16, %addr_expand.exit55 ], [ %indvars.iv.next, %land.rhs ] +for.cond: ; preds = %addr_expand.exit54, %land.rhs + %indvars.iv = phi i64 [ 16, %addr_expand.exit54 ], [ %indvars.iv.next, %land.rhs ] %cmp16.not = icmp eq i64 %indvars.iv, 0 br i1 %cmp16.not, label %if.end49.thread, label %land.lhs.true land.lhs.true: ; preds = %for.cond - %21 = add nsw i64 %indvars.iv, -1 - %arrayidx18 = getelementptr inbounds [16 x i8], ptr %addr, i64 0, i64 %21 - %22 = load i8, ptr %arrayidx18, align 1 - %cmp20 = icmp eq i8 %22, 0 + %23 = add nsw i64 %indvars.iv, -1 + %arrayidx18 = getelementptr inbounds [16 x i8], ptr %addr, i64 0, i64 %23 + %24 = load i8, ptr %arrayidx18, align 1 + %cmp20 = icmp eq i8 %24, 0 br i1 %cmp20, label %land.rhs, label %for.end land.rhs: ; preds = %land.lhs.true %indvars.iv.next = add nsw i64 %indvars.iv, -2 %arrayidx24 = getelementptr inbounds [16 x i8], ptr %addr, i64 0, i64 %indvars.iv.next - %23 = load i8, ptr %arrayidx24, align 2 - %cmp26 = icmp eq i8 %23, 0 + %25 = load i8, ptr %arrayidx24, align 2 + %cmp26 = icmp eq i8 %25, 0 br i1 %cmp26, label %for.cond, label %for.end, !llvm.loop !30 for.end: ; preds = %land.lhs.true, %land.rhs - %24 = trunc i64 %indvars.iv to i32 - %cmp3061 = icmp sgt i32 %24, 0 - br i1 %cmp3061, label %for.body32.preheader, label %if.end49.thread + %26 = trunc i64 %indvars.iv to i32 + %cmp3060 = icmp sgt i32 %26, 0 + br i1 %cmp3060, label %for.body32.preheader, label %if.end49.thread for.body32.preheader: ; preds = %for.end - %25 = and i64 %indvars.iv, 4294967294 + %27 = and i64 %indvars.iv, 4294967294 br label %for.body32 for.body32: ; preds = %for.body32.preheader, %for.body32 - %indvars.iv67 = phi i64 [ 0, %for.body32.preheader ], [ %indvars.iv.next68, %for.body32 ] - %arrayidx34 = getelementptr inbounds [16 x i8], ptr %addr, i64 0, i64 %indvars.iv67 - %26 = load i8, ptr %arrayidx34, align 2 - %conv35 = zext i8 %26 to i32 + %indvars.iv66 = phi i64 [ 0, %for.body32.preheader ], [ %indvars.iv.next67, %for.body32 ] + %arrayidx34 = getelementptr inbounds [16 x i8], ptr %addr, i64 0, i64 %indvars.iv66 + %28 = load i8, ptr %arrayidx34, align 2 + %conv35 = zext i8 %28 to i32 %shl = shl nuw nsw i32 %conv35, 8 - %27 = or disjoint i64 %indvars.iv67, 1 - %arrayidx37 = getelementptr inbounds [16 x i8], ptr %addr, i64 0, i64 %27 - %28 = load i8, ptr %arrayidx37, align 1 - %conv38 = zext i8 %28 to i32 + %29 = or disjoint i64 %indvars.iv66, 1 + %arrayidx37 = getelementptr inbounds [16 x i8], ptr %addr, i64 0, i64 %29 + %30 = load i8, ptr %arrayidx37, align 1 + %conv38 = zext i8 %30 to i32 %or = or disjoint i32 %shl, %conv38 - %cmp39 = icmp ult i64 %indvars.iv67, 14 + %cmp39 = icmp ult i64 %indvars.iv66, 14 %cond = select i1 %cmp39, ptr @.str.44, ptr @.str.24 %call41 = tail call i32 (ptr, ptr, ...) @BIO_printf(ptr noundef %out, ptr noundef nonnull @.str.43, i32 noundef %or, ptr noundef nonnull %cond) #15 - %indvars.iv.next68 = add nuw nsw i64 %indvars.iv67, 2 - %cmp30 = icmp ult i64 %indvars.iv.next68, %25 + %indvars.iv.next67 = add nuw nsw i64 %indvars.iv66, 2 + %cmp30 = icmp ult i64 %indvars.iv.next67, %27 br i1 %cmp30, label %for.body32, label %for.end44, !llvm.loop !31 if.end49.thread: ; preds = %for.cond, %for.end - %call4881 = tail call i32 @BIO_puts(ptr noundef %out, ptr noundef nonnull @.str.44) #15 + %call4880 = tail call i32 @BIO_puts(ptr noundef %out, ptr noundef nonnull @.str.44) #15 br label %if.then52 for.end44: ; preds = %for.body32 - %29 = trunc i64 %indvars.iv.next68 to i32 - %cmp45 = icmp ult i32 %29, 16 + %31 = trunc i64 %indvars.iv.next67 to i32 + %cmp45 = icmp ult i32 %31, 16 br i1 %cmp45, label %if.end49, label %return if.end49: ; preds = %for.end44 %call48 = tail call i32 @BIO_puts(ptr noundef %out, ptr noundef nonnull @.str.44) #15 - %cmp50 = icmp eq i32 %29, 0 + %cmp50 = icmp eq i32 %31, 0 br i1 %cmp50, label %if.then52, label %return if.then52: ; preds = %if.end49.thread, %if.end49 @@ -3708,25 +3702,25 @@ if.then52: ; preds = %if.end49.thread, %i br label %return for.body59: ; preds = %for.body59.lr.ph, %for.body59 - %indvars.iv71 = phi i64 [ 0, %for.body59.lr.ph ], [ %indvars.iv.next72, %for.body59 ] - %cmp60.not = icmp eq i64 %indvars.iv71, 0 + %indvars.iv70 = phi i64 [ 0, %for.body59.lr.ph ], [ %indvars.iv.next71, %for.body59 ] + %cmp60.not = icmp eq i64 %indvars.iv70, 0 %cond62 = select i1 %cmp60.not, ptr @.str.24, ptr @.str.44 - %30 = load ptr, ptr %data, align 8 - %arrayidx64 = getelementptr inbounds i8, ptr %30, i64 %indvars.iv71 - %31 = load i8, ptr %arrayidx64, align 1 - %conv65 = zext i8 %31 to i32 + %32 = load ptr, ptr %data, align 8 + %arrayidx64 = getelementptr inbounds i8, ptr %32, i64 %indvars.iv70 + %33 = load i8, ptr %arrayidx64, align 1 + %conv65 = zext i8 %33 to i32 %call66 = tail call i32 (ptr, ptr, ...) @BIO_printf(ptr noundef %out, ptr noundef nonnull @.str.45, ptr noundef nonnull %cond62, i32 noundef %conv65) #15 - %indvars.iv.next72 = add nuw nsw i64 %indvars.iv71, 1 - %32 = load i32, ptr %bs, align 8 - %33 = sext i32 %32 to i64 - %cmp57 = icmp slt i64 %indvars.iv.next72, %33 + %indvars.iv.next71 = add nuw nsw i64 %indvars.iv70, 1 + %34 = load i32, ptr %bs, align 8 + %35 = sext i32 %34 to i64 + %cmp57 = icmp slt i64 %indvars.iv.next71, %35 br i1 %cmp57, label %for.body59, label %for.end68, !llvm.loop !32 for.end68: ; preds = %for.body59, %for.cond55.preheader %flags = getelementptr inbounds i8, ptr %bs, i64 16 - %34 = load i64, ptr %flags, align 8 - %35 = trunc i64 %34 to i32 - %conv69 = and i32 %35, 7 + %36 = load i64, ptr %flags, align 8 + %37 = trunc i64 %36 to i32 + %conv69 = and i32 %37, 7 %call70 = tail call i32 (ptr, ptr, ...) @BIO_printf(ptr noundef %out, ptr noundef nonnull @.str.46, i32 noundef %conv69) #15 br label %return diff --git a/bench/openssl/optimized/libcrypto-shlib-v3_addr.ll b/bench/openssl/optimized/libcrypto-shlib-v3_addr.ll index 3d2bca5b960..12d2656bcb8 100644 --- a/bench/openssl/optimized/libcrypto-shlib-v3_addr.ll +++ b/bench/openssl/optimized/libcrypto-shlib-v3_addr.ll @@ -1033,151 +1033,149 @@ if.then6.i: ; preds = %if.end.i %4 = load i64, ptr %flags.i, align 8 %and.i = and i64 %4, 7 %cmp8.not.i = icmp eq i64 %and.i, 0 - %.pre91 = load i32, ptr %1, align 8 + %.pre88 = load i32, ptr %1, align 8 br i1 %cmp8.not.i, label %land.rhs, label %if.then10.i if.then10.i: ; preds = %if.then6.i %5 = trunc i64 %and.i to i16 %sh_prom.i = sub nuw nsw i16 8, %5 - %shr.i = lshr i16 255, %sh_prom.i - %conv13.i = trunc i16 %shr.i to i8 - %not.i = xor i8 %conv13.i, -1 - %6 = sext i32 %.pre91 to i64 - %7 = getelementptr i8, ptr %min, i64 %6 - %arrayidx.i = getelementptr i8, ptr %7, i64 -1 - %8 = load i8, ptr %arrayidx.i, align 1 - %and22.i = and i8 %8, %not.i + %6 = ashr i16 -256, %sh_prom.i + %not.i = trunc i16 %6 to i8 + %7 = sext i32 %.pre88 to i64 + %8 = getelementptr i8, ptr %min, i64 %7 + %arrayidx.i = getelementptr i8, ptr %8, i64 -1 + %9 = load i8, ptr %arrayidx.i, align 1 + %and22.i = and i8 %9, %not.i store i8 %and22.i, ptr %arrayidx.i, align 1 - %.pre90 = load i32, ptr %1, align 8 + %.pre87 = load i32, ptr %1, align 8 br label %land.rhs land.rhs: ; preds = %if.then10.i, %if.then6.i, %if.end.i - %9 = phi i32 [ %.pre90, %if.then10.i ], [ %.pre91, %if.then6.i ], [ 0, %if.end.i ] - %idx.ext.i = sext i32 %9 to i64 + %10 = phi i32 [ %.pre87, %if.then10.i ], [ %.pre88, %if.then6.i ], [ 0, %if.end.i ] + %idx.ext.i = sext i32 %10 to i64 %add.ptr.i = getelementptr inbounds i8, ptr %min, i64 %idx.ext.i - %sub37.i = sub nsw i32 %length, %9 + %sub37.i = sub nsw i32 %length, %10 %conv38.i = sext i32 %sub37.i to i64 tail call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i, i8 0, i64 %conv38.i, i1 false) - %10 = load ptr, ptr %u, align 8 - %11 = load i32, ptr %10, align 8 - %cmp.i14 = icmp slt i32 %11, 0 - %cmp3.i15 = icmp sgt i32 %11, %length + %11 = load ptr, ptr %u, align 8 + %12 = load i32, ptr %11, align 8 + %cmp.i14 = icmp slt i32 %12, 0 + %cmp3.i15 = icmp sgt i32 %12, %length %or.cond.i16 = or i1 %cmp.i14, %cmp3.i15 br i1 %or.cond.i16, label %return, label %if.end.i17 if.end.i17: ; preds = %land.rhs - %cmp5.not.i18 = icmp eq i32 %11, 0 + %cmp5.not.i18 = icmp eq i32 %12, 0 br i1 %cmp5.not.i18, label %return.sink.split, label %if.then6.i19 if.then6.i19: ; preds = %if.end.i17 - %data.i20 = getelementptr inbounds i8, ptr %10, i64 8 - %12 = load ptr, ptr %data.i20, align 8 - %conv.i21 = zext nneg i32 %11 to i64 - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %max, ptr align 1 %12, i64 %conv.i21, i1 false) - %flags.i22 = getelementptr inbounds i8, ptr %10, i64 16 - %13 = load i64, ptr %flags.i22, align 8 - %and.i23 = and i64 %13, 7 + %data.i20 = getelementptr inbounds i8, ptr %11, i64 8 + %13 = load ptr, ptr %data.i20, align 8 + %conv.i21 = zext nneg i32 %12 to i64 + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %max, ptr align 1 %13, i64 %conv.i21, i1 false) + %flags.i22 = getelementptr inbounds i8, ptr %11, i64 16 + %14 = load i64, ptr %flags.i22, align 8 + %and.i23 = and i64 %14, 7 %cmp8.not.i24 = icmp eq i64 %and.i23, 0 - %.pre93 = load i32, ptr %10, align 8 + %.pre90 = load i32, ptr %11, align 8 br i1 %cmp8.not.i24, label %return.sink.split, label %return.sink.split.sink.split sw.bb7: ; preds = %if.end %u8 = getelementptr inbounds i8, ptr %aor, i64 8 - %14 = load ptr, ptr %u8, align 8 - %15 = load ptr, ptr %14, align 8 - %16 = load i32, ptr %15, align 8 - %cmp.i35 = icmp slt i32 %16, 0 - %cmp3.i36 = icmp sgt i32 %16, %length - %or.cond.i37 = or i1 %cmp.i35, %cmp3.i36 - br i1 %or.cond.i37, label %return, label %if.end.i38 - -if.end.i38: ; preds = %sw.bb7 - %cmp5.not.i39 = icmp eq i32 %16, 0 - br i1 %cmp5.not.i39, label %land.rhs12, label %if.then6.i40 - -if.then6.i40: ; preds = %if.end.i38 - %data.i41 = getelementptr inbounds i8, ptr %15, i64 8 - %17 = load ptr, ptr %data.i41, align 8 - %conv.i42 = zext nneg i32 %16 to i64 - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %min, ptr align 1 %17, i64 %conv.i42, i1 false) - %flags.i43 = getelementptr inbounds i8, ptr %15, i64 16 - %18 = load i64, ptr %flags.i43, align 8 - %and.i44 = and i64 %18, 7 - %cmp8.not.i45 = icmp eq i64 %and.i44, 0 - %.pre87 = load i32, ptr %15, align 8 - br i1 %cmp8.not.i45, label %land.rhs12, label %if.then10.i46 - -if.then10.i46: ; preds = %if.then6.i40 - %19 = trunc i64 %and.i44 to i16 - %sh_prom.i47 = sub nuw nsw i16 8, %19 - %shr.i48 = lshr i16 255, %sh_prom.i47 - %conv13.i49 = trunc i16 %shr.i48 to i8 - %not.i50 = xor i8 %conv13.i49, -1 - %20 = sext i32 %.pre87 to i64 - %21 = getelementptr i8, ptr %min, i64 %20 - %arrayidx.i51 = getelementptr i8, ptr %21, i64 -1 - %22 = load i8, ptr %arrayidx.i51, align 1 - %and22.i52 = and i8 %22, %not.i50 - store i8 %and22.i52, ptr %arrayidx.i51, align 1 - %.pre = load i32, ptr %15, align 8 + %15 = load ptr, ptr %u8, align 8 + %16 = load ptr, ptr %15, align 8 + %17 = load i32, ptr %16, align 8 + %cmp.i34 = icmp slt i32 %17, 0 + %cmp3.i35 = icmp sgt i32 %17, %length + %or.cond.i36 = or i1 %cmp.i34, %cmp3.i35 + br i1 %or.cond.i36, label %return, label %if.end.i37 + +if.end.i37: ; preds = %sw.bb7 + %cmp5.not.i38 = icmp eq i32 %17, 0 + br i1 %cmp5.not.i38, label %land.rhs12, label %if.then6.i39 + +if.then6.i39: ; preds = %if.end.i37 + %data.i40 = getelementptr inbounds i8, ptr %16, i64 8 + %18 = load ptr, ptr %data.i40, align 8 + %conv.i41 = zext nneg i32 %17 to i64 + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %min, ptr align 1 %18, i64 %conv.i41, i1 false) + %flags.i42 = getelementptr inbounds i8, ptr %16, i64 16 + %19 = load i64, ptr %flags.i42, align 8 + %and.i43 = and i64 %19, 7 + %cmp8.not.i44 = icmp eq i64 %and.i43, 0 + %.pre84 = load i32, ptr %16, align 8 + br i1 %cmp8.not.i44, label %land.rhs12, label %if.then10.i45 + +if.then10.i45: ; preds = %if.then6.i39 + %20 = trunc i64 %and.i43 to i16 + %sh_prom.i46 = sub nuw nsw i16 8, %20 + %21 = ashr i16 -256, %sh_prom.i46 + %not.i47 = trunc i16 %21 to i8 + %22 = sext i32 %.pre84 to i64 + %23 = getelementptr i8, ptr %min, i64 %22 + %arrayidx.i48 = getelementptr i8, ptr %23, i64 -1 + %24 = load i8, ptr %arrayidx.i48, align 1 + %and22.i49 = and i8 %24, %not.i47 + store i8 %and22.i49, ptr %arrayidx.i48, align 1 + %.pre = load i32, ptr %16, align 8 br label %land.rhs12 -land.rhs12: ; preds = %if.then10.i46, %if.then6.i40, %if.end.i38 - %23 = phi i32 [ %.pre, %if.then10.i46 ], [ %.pre87, %if.then6.i40 ], [ 0, %if.end.i38 ] - %idx.ext.i54 = sext i32 %23 to i64 - %add.ptr.i55 = getelementptr inbounds i8, ptr %min, i64 %idx.ext.i54 - %sub37.i56 = sub nsw i32 %length, %23 - %conv38.i57 = sext i32 %sub37.i56 to i64 - tail call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i55, i8 0, i64 %conv38.i57, i1 false) - %24 = load ptr, ptr %u8, align 8 - %max14 = getelementptr inbounds i8, ptr %24, i64 8 - %25 = load ptr, ptr %max14, align 8 - %26 = load i32, ptr %25, align 8 - %cmp.i60 = icmp slt i32 %26, 0 - %cmp3.i61 = icmp sgt i32 %26, %length - %or.cond.i62 = or i1 %cmp.i60, %cmp3.i61 - br i1 %or.cond.i62, label %return, label %if.end.i63 - -if.end.i63: ; preds = %land.rhs12 - %cmp5.not.i64 = icmp eq i32 %26, 0 - br i1 %cmp5.not.i64, label %return.sink.split, label %if.then6.i65 - -if.then6.i65: ; preds = %if.end.i63 - %data.i66 = getelementptr inbounds i8, ptr %25, i64 8 - %27 = load ptr, ptr %data.i66, align 8 - %conv.i67 = zext nneg i32 %26 to i64 - tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %max, ptr align 1 %27, i64 %conv.i67, i1 false) - %flags.i68 = getelementptr inbounds i8, ptr %25, i64 16 - %28 = load i64, ptr %flags.i68, align 8 - %and.i69 = and i64 %28, 7 - %cmp8.not.i70 = icmp eq i64 %and.i69, 0 - %.pre89 = load i32, ptr %25, align 8 - br i1 %cmp8.not.i70, label %return.sink.split, label %return.sink.split.sink.split - -return.sink.split.sink.split: ; preds = %if.then6.i65, %if.then6.i19 - %and.i23.sink = phi i64 [ %and.i23, %if.then6.i19 ], [ %and.i69, %if.then6.i65 ] - %.pre93.sink = phi i32 [ %.pre93, %if.then6.i19 ], [ %.pre89, %if.then6.i65 ] - %.sink = phi ptr [ %10, %if.then6.i19 ], [ %25, %if.then6.i65 ] - %29 = trunc i64 %and.i23.sink to i16 - %sh_prom.i26 = sub nuw nsw i16 8, %29 - %shr.i27 = lshr i16 255, %sh_prom.i26 - %30 = sext i32 %.pre93.sink to i64 - %31 = getelementptr i8, ptr %max, i64 %30 - %arrayidx28.i = getelementptr i8, ptr %31, i64 -1 - %32 = load i8, ptr %arrayidx28.i, align 1 - %33 = trunc i16 %shr.i27 to i8 - %conv30.i75 = or i8 %32, %33 - store i8 %conv30.i75, ptr %arrayidx28.i, align 1 - %.pre88 = load i32, ptr %.sink, align 8 +land.rhs12: ; preds = %if.then10.i45, %if.then6.i39, %if.end.i37 + %25 = phi i32 [ %.pre, %if.then10.i45 ], [ %.pre84, %if.then6.i39 ], [ 0, %if.end.i37 ] + %idx.ext.i51 = sext i32 %25 to i64 + %add.ptr.i52 = getelementptr inbounds i8, ptr %min, i64 %idx.ext.i51 + %sub37.i53 = sub nsw i32 %length, %25 + %conv38.i54 = sext i32 %sub37.i53 to i64 + tail call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i52, i8 0, i64 %conv38.i54, i1 false) + %26 = load ptr, ptr %u8, align 8 + %max14 = getelementptr inbounds i8, ptr %26, i64 8 + %27 = load ptr, ptr %max14, align 8 + %28 = load i32, ptr %27, align 8 + %cmp.i57 = icmp slt i32 %28, 0 + %cmp3.i58 = icmp sgt i32 %28, %length + %or.cond.i59 = or i1 %cmp.i57, %cmp3.i58 + br i1 %or.cond.i59, label %return, label %if.end.i60 + +if.end.i60: ; preds = %land.rhs12 + %cmp5.not.i61 = icmp eq i32 %28, 0 + br i1 %cmp5.not.i61, label %return.sink.split, label %if.then6.i62 + +if.then6.i62: ; preds = %if.end.i60 + %data.i63 = getelementptr inbounds i8, ptr %27, i64 8 + %29 = load ptr, ptr %data.i63, align 8 + %conv.i64 = zext nneg i32 %28 to i64 + tail call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %max, ptr align 1 %29, i64 %conv.i64, i1 false) + %flags.i65 = getelementptr inbounds i8, ptr %27, i64 16 + %30 = load i64, ptr %flags.i65, align 8 + %and.i66 = and i64 %30, 7 + %cmp8.not.i67 = icmp eq i64 %and.i66, 0 + %.pre86 = load i32, ptr %27, align 8 + br i1 %cmp8.not.i67, label %return.sink.split, label %return.sink.split.sink.split + +return.sink.split.sink.split: ; preds = %if.then6.i62, %if.then6.i19 + %and.i23.sink = phi i64 [ %and.i23, %if.then6.i19 ], [ %and.i66, %if.then6.i62 ] + %.pre90.sink = phi i32 [ %.pre90, %if.then6.i19 ], [ %.pre86, %if.then6.i62 ] + %.sink = phi ptr [ %11, %if.then6.i19 ], [ %27, %if.then6.i62 ] + %31 = trunc i64 %and.i23.sink to i16 + %sh_prom.i26 = sub nuw nsw i16 8, %31 + %shr.i = lshr i16 255, %sh_prom.i26 + %32 = sext i32 %.pre90.sink to i64 + %33 = getelementptr i8, ptr %max, i64 %32 + %arrayidx28.i = getelementptr i8, ptr %33, i64 -1 + %34 = load i8, ptr %arrayidx28.i, align 1 + %35 = trunc i16 %shr.i to i8 + %conv30.i72 = or i8 %34, %35 + store i8 %conv30.i72, ptr %arrayidx28.i, align 1 + %.pre85 = load i32, ptr %.sink, align 8 br label %return.sink.split -return.sink.split: ; preds = %return.sink.split.sink.split, %if.end.i63, %if.then6.i65, %if.end.i17, %if.then6.i19 - %.sink94 = phi i32 [ %.pre93, %if.then6.i19 ], [ 0, %if.end.i17 ], [ %.pre89, %if.then6.i65 ], [ 0, %if.end.i63 ], [ %.pre88, %return.sink.split.sink.split ] - %idx.ext.i77 = sext i32 %.sink94 to i64 - %add.ptr.i78 = getelementptr inbounds i8, ptr %max, i64 %idx.ext.i77 - %sub37.i79 = sub nsw i32 %length, %.sink94 - %conv38.i80 = sext i32 %sub37.i79 to i64 - tail call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i78, i8 -1, i64 %conv38.i80, i1 false) +return.sink.split: ; preds = %return.sink.split.sink.split, %if.end.i60, %if.then6.i62, %if.end.i17, %if.then6.i19 + %.sink91 = phi i32 [ %.pre90, %if.then6.i19 ], [ 0, %if.end.i17 ], [ %.pre86, %if.then6.i62 ], [ 0, %if.end.i60 ], [ %.pre85, %return.sink.split.sink.split ] + %idx.ext.i74 = sext i32 %.sink91 to i64 + %add.ptr.i75 = getelementptr inbounds i8, ptr %max, i64 %idx.ext.i74 + %sub37.i76 = sub nsw i32 %length, %.sink91 + %conv38.i77 = sext i32 %sub37.i76 to i64 + tail call void @llvm.memset.p0.i64(ptr align 1 %add.ptr.i75, i8 -1, i64 %conv38.i77, i1 false) br label %return return: ; preds = %return.sink.split, %sw.bb7, %sw.bb, %land.rhs12, %land.rhs, %if.end, %entry @@ -3258,183 +3256,179 @@ if.then6.i: ; preds = %if.end.i if.then10.i: ; preds = %if.then6.i %5 = trunc i64 %and.i to i16 %sh_prom.i = sub nuw nsw i16 8, %5 - %shr.i = lshr i16 255, %sh_prom.i - %conv13.i = trunc i16 %shr.i to i8 - %not.i = xor i8 %conv13.i, -1 - %6 = getelementptr i8, ptr %addr_a, i64 %conv.i - %arrayidx.i = getelementptr i8, ptr %6, i64 -1 - %7 = load i8, ptr %arrayidx.i, align 1 - %and22.i = and i8 %7, %not.i + %6 = ashr i16 -256, %sh_prom.i + %not.i = trunc i16 %6 to i8 + %7 = getelementptr i8, ptr %addr_a, i64 %conv.i + %arrayidx.i = getelementptr i8, ptr %7, i64 -1 + %8 = load i8, ptr %arrayidx.i, align 1 + %and22.i = and i8 %8, %not.i store i8 %and22.i, ptr %arrayidx.i, align 1 br label %if.end if.end: ; preds = %if.end.i.if.end_crit_edge, %if.then10.i, %if.then6.i %idx.ext.i.pre-phi = phi i64 [ 0, %if.end.i.if.end_crit_edge ], [ %conv.i, %if.then10.i ], [ %conv.i, %if.then6.i ] - %8 = phi i64 [ %.pre, %if.end.i.if.end_crit_edge ], [ %4, %if.then10.i ], [ %4, %if.then6.i ] + %9 = phi i64 [ %.pre, %if.end.i.if.end_crit_edge ], [ %4, %if.then10.i ], [ %4, %if.then6.i ] %add.ptr.i = getelementptr inbounds i8, ptr %addr_a, i64 %idx.ext.i.pre-phi %sub37.i = sub nsw i32 %length, %2 %conv38.i = sext i32 %sub37.i to i64 call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i, i8 0, i64 %conv38.i, i1 false) %mul = shl nsw i32 %2, 3 - %9 = trunc i64 %8 to i32 - %10 = and i32 %9, 7 - %conv4 = sub i32 %mul, %10 + %10 = trunc i64 %9 to i32 + %11 = and i32 %10, 7 + %conv4 = sub nsw i32 %mul, %11 br label %sw.epilog sw.bb5: ; preds = %entry %u7 = getelementptr inbounds i8, ptr %a, i64 8 - %11 = load ptr, ptr %u7, align 8 - %12 = load ptr, ptr %11, align 8 - %13 = load i32, ptr %12, align 8 - %cmp.i15 = icmp slt i32 %13, 0 - %cmp3.i16 = icmp sgt i32 %13, %length + %12 = load ptr, ptr %u7, align 8 + %13 = load ptr, ptr %12, align 8 + %14 = load i32, ptr %13, align 8 + %cmp.i15 = icmp slt i32 %14, 0 + %cmp3.i16 = icmp sgt i32 %14, %length %or.cond.i17 = or i1 %cmp.i15, %cmp3.i16 br i1 %or.cond.i17, label %return, label %if.end.i18 if.end.i18: ; preds = %sw.bb5 - %cmp5.not.i19 = icmp eq i32 %13, 0 + %cmp5.not.i19 = icmp eq i32 %14, 0 br i1 %cmp5.not.i19, label %if.end11, label %if.then6.i20 if.then6.i20: ; preds = %if.end.i18 - %data.i21 = getelementptr inbounds i8, ptr %12, i64 8 - %14 = load ptr, ptr %data.i21, align 8 - %conv.i22 = zext nneg i32 %13 to i64 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %addr_a, ptr align 1 %14, i64 %conv.i22, i1 false) - %flags.i23 = getelementptr inbounds i8, ptr %12, i64 16 - %15 = load i64, ptr %flags.i23, align 8 - %and.i24 = and i64 %15, 7 + %data.i21 = getelementptr inbounds i8, ptr %13, i64 8 + %15 = load ptr, ptr %data.i21, align 8 + %conv.i22 = zext nneg i32 %14 to i64 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %addr_a, ptr align 1 %15, i64 %conv.i22, i1 false) + %flags.i23 = getelementptr inbounds i8, ptr %13, i64 16 + %16 = load i64, ptr %flags.i23, align 8 + %and.i24 = and i64 %16, 7 %cmp8.not.i25 = icmp eq i64 %and.i24, 0 br i1 %cmp8.not.i25, label %if.end11, label %if.then10.i26 if.then10.i26: ; preds = %if.then6.i20 - %16 = trunc i64 %and.i24 to i16 - %sh_prom.i27 = sub nuw nsw i16 8, %16 - %shr.i28 = lshr i16 255, %sh_prom.i27 - %conv13.i29 = trunc i16 %shr.i28 to i8 - %not.i30 = xor i8 %conv13.i29, -1 - %17 = getelementptr i8, ptr %addr_a, i64 %conv.i22 - %arrayidx.i31 = getelementptr i8, ptr %17, i64 -1 - %18 = load i8, ptr %arrayidx.i31, align 1 - %and22.i32 = and i8 %18, %not.i30 - store i8 %and22.i32, ptr %arrayidx.i31, align 1 + %17 = trunc i64 %and.i24 to i16 + %sh_prom.i27 = sub nuw nsw i16 8, %17 + %18 = ashr i16 -256, %sh_prom.i27 + %not.i28 = trunc i16 %18 to i8 + %19 = getelementptr i8, ptr %addr_a, i64 %conv.i22 + %arrayidx.i29 = getelementptr i8, ptr %19, i64 -1 + %20 = load i8, ptr %arrayidx.i29, align 1 + %and22.i30 = and i8 %20, %not.i28 + store i8 %and22.i30, ptr %arrayidx.i29, align 1 br label %if.end11 if.end11: ; preds = %if.end.i18, %if.then10.i26, %if.then6.i20 - %idx.ext.i34.pre-phi = phi i64 [ %conv.i22, %if.then10.i26 ], [ %conv.i22, %if.then6.i20 ], [ 0, %if.end.i18 ] - %add.ptr.i35 = getelementptr inbounds i8, ptr %addr_a, i64 %idx.ext.i34.pre-phi - %sub37.i36 = sub nsw i32 %length, %13 - %conv38.i37 = sext i32 %sub37.i36 to i64 - call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i35, i8 0, i64 %conv38.i37, i1 false) + %idx.ext.i32.pre-phi = phi i64 [ %conv.i22, %if.then10.i26 ], [ %conv.i22, %if.then6.i20 ], [ 0, %if.end.i18 ] + %add.ptr.i33 = getelementptr inbounds i8, ptr %addr_a, i64 %idx.ext.i32.pre-phi + %sub37.i34 = sub nsw i32 %length, %14 + %conv38.i35 = sext i32 %sub37.i34 to i64 + call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i33, i8 0, i64 %conv38.i35, i1 false) %mul12 = shl nuw nsw i32 %length, 3 br label %sw.epilog sw.epilog: ; preds = %if.end11, %if.end, %entry %prefixlen_a.0 = phi i32 [ 0, %entry ], [ %mul12, %if.end11 ], [ %conv4, %if.end ] - %19 = load i32, ptr %b, align 8 - switch i32 %19, label %sw.epilog39 [ + %21 = load i32, ptr %b, align 8 + switch i32 %21, label %sw.epilog39 [ i32 0, label %sw.bb14 i32 1, label %sw.bb30 ] sw.bb14: ; preds = %sw.epilog %u16 = getelementptr inbounds i8, ptr %b, i64 8 - %20 = load ptr, ptr %u16, align 8 - %21 = load i32, ptr %20, align 8 - %cmp.i40 = icmp slt i32 %21, 0 - %cmp3.i41 = icmp sgt i32 %21, %length - %or.cond.i42 = or i1 %cmp.i40, %cmp3.i41 - br i1 %or.cond.i42, label %return, label %if.end.i43 - -if.end.i43: ; preds = %sw.bb14 - %cmp5.not.i44 = icmp eq i32 %21, 0 - br i1 %cmp5.not.i44, label %if.end.i43.if.end20_crit_edge, label %if.then6.i45 - -if.end.i43.if.end20_crit_edge: ; preds = %if.end.i43 - %flags26.phi.trans.insert = getelementptr inbounds i8, ptr %20, i64 16 - %.pre98 = load i64, ptr %flags26.phi.trans.insert, align 8 + %22 = load ptr, ptr %u16, align 8 + %23 = load i32, ptr %22, align 8 + %cmp.i38 = icmp slt i32 %23, 0 + %cmp3.i39 = icmp sgt i32 %23, %length + %or.cond.i40 = or i1 %cmp.i38, %cmp3.i39 + br i1 %or.cond.i40, label %return, label %if.end.i41 + +if.end.i41: ; preds = %sw.bb14 + %cmp5.not.i42 = icmp eq i32 %23, 0 + br i1 %cmp5.not.i42, label %if.end.i41.if.end20_crit_edge, label %if.then6.i43 + +if.end.i41.if.end20_crit_edge: ; preds = %if.end.i41 + %flags26.phi.trans.insert = getelementptr inbounds i8, ptr %22, i64 16 + %.pre92 = load i64, ptr %flags26.phi.trans.insert, align 8 br label %if.end20 -if.then6.i45: ; preds = %if.end.i43 - %data.i46 = getelementptr inbounds i8, ptr %20, i64 8 - %22 = load ptr, ptr %data.i46, align 8 - %conv.i47 = zext nneg i32 %21 to i64 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %addr_b, ptr align 1 %22, i64 %conv.i47, i1 false) - %flags.i48 = getelementptr inbounds i8, ptr %20, i64 16 - %23 = load i64, ptr %flags.i48, align 8 - %and.i49 = and i64 %23, 7 - %cmp8.not.i50 = icmp eq i64 %and.i49, 0 - br i1 %cmp8.not.i50, label %if.end20, label %if.then10.i51 - -if.then10.i51: ; preds = %if.then6.i45 - %24 = trunc i64 %and.i49 to i16 - %sh_prom.i52 = sub nuw nsw i16 8, %24 - %shr.i53 = lshr i16 255, %sh_prom.i52 - %conv13.i54 = trunc i16 %shr.i53 to i8 - %not.i55 = xor i8 %conv13.i54, -1 - %25 = getelementptr i8, ptr %addr_b, i64 %conv.i47 - %arrayidx.i56 = getelementptr i8, ptr %25, i64 -1 - %26 = load i8, ptr %arrayidx.i56, align 1 - %and22.i57 = and i8 %26, %not.i55 - store i8 %and22.i57, ptr %arrayidx.i56, align 1 +if.then6.i43: ; preds = %if.end.i41 + %data.i44 = getelementptr inbounds i8, ptr %22, i64 8 + %24 = load ptr, ptr %data.i44, align 8 + %conv.i45 = zext nneg i32 %23 to i64 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %addr_b, ptr align 1 %24, i64 %conv.i45, i1 false) + %flags.i46 = getelementptr inbounds i8, ptr %22, i64 16 + %25 = load i64, ptr %flags.i46, align 8 + %and.i47 = and i64 %25, 7 + %cmp8.not.i48 = icmp eq i64 %and.i47, 0 + br i1 %cmp8.not.i48, label %if.end20, label %if.then10.i49 + +if.then10.i49: ; preds = %if.then6.i43 + %26 = trunc i64 %and.i47 to i16 + %sh_prom.i50 = sub nuw nsw i16 8, %26 + %27 = ashr i16 -256, %sh_prom.i50 + %not.i51 = trunc i16 %27 to i8 + %28 = getelementptr i8, ptr %addr_b, i64 %conv.i45 + %arrayidx.i52 = getelementptr i8, ptr %28, i64 -1 + %29 = load i8, ptr %arrayidx.i52, align 1 + %and22.i53 = and i8 %29, %not.i51 + store i8 %and22.i53, ptr %arrayidx.i52, align 1 br label %if.end20 -if.end20: ; preds = %if.end.i43.if.end20_crit_edge, %if.then10.i51, %if.then6.i45 - %idx.ext.i59.pre-phi = phi i64 [ 0, %if.end.i43.if.end20_crit_edge ], [ %conv.i47, %if.then10.i51 ], [ %conv.i47, %if.then6.i45 ] - %27 = phi i64 [ %.pre98, %if.end.i43.if.end20_crit_edge ], [ %23, %if.then10.i51 ], [ %23, %if.then6.i45 ] - %add.ptr.i60 = getelementptr inbounds i8, ptr %addr_b, i64 %idx.ext.i59.pre-phi - %sub37.i61 = sub nsw i32 %length, %21 - %conv38.i62 = sext i32 %sub37.i61 to i64 - call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i60, i8 0, i64 %conv38.i62, i1 false) - %mul23 = shl nsw i32 %21, 3 - %28 = trunc i64 %27 to i32 - %29 = and i32 %28, 7 - %conv29 = sub i32 %mul23, %29 +if.end20: ; preds = %if.end.i41.if.end20_crit_edge, %if.then10.i49, %if.then6.i43 + %idx.ext.i55.pre-phi = phi i64 [ 0, %if.end.i41.if.end20_crit_edge ], [ %conv.i45, %if.then10.i49 ], [ %conv.i45, %if.then6.i43 ] + %30 = phi i64 [ %.pre92, %if.end.i41.if.end20_crit_edge ], [ %25, %if.then10.i49 ], [ %25, %if.then6.i43 ] + %add.ptr.i56 = getelementptr inbounds i8, ptr %addr_b, i64 %idx.ext.i55.pre-phi + %sub37.i57 = sub nsw i32 %length, %23 + %conv38.i58 = sext i32 %sub37.i57 to i64 + call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i56, i8 0, i64 %conv38.i58, i1 false) + %mul23 = shl nsw i32 %23, 3 + %31 = trunc i64 %30 to i32 + %32 = and i32 %31, 7 + %conv29 = sub nsw i32 %mul23, %32 br label %sw.epilog39 sw.bb30: ; preds = %sw.epilog %u32 = getelementptr inbounds i8, ptr %b, i64 8 - %30 = load ptr, ptr %u32, align 8 - %31 = load ptr, ptr %30, align 8 - %32 = load i32, ptr %31, align 8 - %cmp.i65 = icmp slt i32 %32, 0 - %cmp3.i66 = icmp sgt i32 %32, %length - %or.cond.i67 = or i1 %cmp.i65, %cmp3.i66 - br i1 %or.cond.i67, label %return, label %if.end.i68 - -if.end.i68: ; preds = %sw.bb30 - %cmp5.not.i69 = icmp eq i32 %32, 0 - br i1 %cmp5.not.i69, label %if.end37, label %if.then6.i70 - -if.then6.i70: ; preds = %if.end.i68 - %data.i71 = getelementptr inbounds i8, ptr %31, i64 8 - %33 = load ptr, ptr %data.i71, align 8 - %conv.i72 = zext nneg i32 %32 to i64 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %addr_b, ptr align 1 %33, i64 %conv.i72, i1 false) - %flags.i73 = getelementptr inbounds i8, ptr %31, i64 16 - %34 = load i64, ptr %flags.i73, align 8 - %and.i74 = and i64 %34, 7 - %cmp8.not.i75 = icmp eq i64 %and.i74, 0 - br i1 %cmp8.not.i75, label %if.end37, label %if.then10.i76 - -if.then10.i76: ; preds = %if.then6.i70 - %35 = trunc i64 %and.i74 to i16 - %sh_prom.i77 = sub nuw nsw i16 8, %35 - %shr.i78 = lshr i16 255, %sh_prom.i77 - %conv13.i79 = trunc i16 %shr.i78 to i8 - %not.i80 = xor i8 %conv13.i79, -1 - %36 = getelementptr i8, ptr %addr_b, i64 %conv.i72 - %arrayidx.i81 = getelementptr i8, ptr %36, i64 -1 - %37 = load i8, ptr %arrayidx.i81, align 1 - %and22.i82 = and i8 %37, %not.i80 - store i8 %and22.i82, ptr %arrayidx.i81, align 1 + %33 = load ptr, ptr %u32, align 8 + %34 = load ptr, ptr %33, align 8 + %35 = load i32, ptr %34, align 8 + %cmp.i61 = icmp slt i32 %35, 0 + %cmp3.i62 = icmp sgt i32 %35, %length + %or.cond.i63 = or i1 %cmp.i61, %cmp3.i62 + br i1 %or.cond.i63, label %return, label %if.end.i64 + +if.end.i64: ; preds = %sw.bb30 + %cmp5.not.i65 = icmp eq i32 %35, 0 + br i1 %cmp5.not.i65, label %if.end37, label %if.then6.i66 + +if.then6.i66: ; preds = %if.end.i64 + %data.i67 = getelementptr inbounds i8, ptr %34, i64 8 + %36 = load ptr, ptr %data.i67, align 8 + %conv.i68 = zext nneg i32 %35 to i64 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %addr_b, ptr align 1 %36, i64 %conv.i68, i1 false) + %flags.i69 = getelementptr inbounds i8, ptr %34, i64 16 + %37 = load i64, ptr %flags.i69, align 8 + %and.i70 = and i64 %37, 7 + %cmp8.not.i71 = icmp eq i64 %and.i70, 0 + br i1 %cmp8.not.i71, label %if.end37, label %if.then10.i72 + +if.then10.i72: ; preds = %if.then6.i66 + %38 = trunc i64 %and.i70 to i16 + %sh_prom.i73 = sub nuw nsw i16 8, %38 + %39 = ashr i16 -256, %sh_prom.i73 + %not.i74 = trunc i16 %39 to i8 + %40 = getelementptr i8, ptr %addr_b, i64 %conv.i68 + %arrayidx.i75 = getelementptr i8, ptr %40, i64 -1 + %41 = load i8, ptr %arrayidx.i75, align 1 + %and22.i76 = and i8 %41, %not.i74 + store i8 %and22.i76, ptr %arrayidx.i75, align 1 br label %if.end37 -if.end37: ; preds = %if.end.i68, %if.then10.i76, %if.then6.i70 - %idx.ext.i84.pre-phi = phi i64 [ %conv.i72, %if.then10.i76 ], [ %conv.i72, %if.then6.i70 ], [ 0, %if.end.i68 ] - %add.ptr.i85 = getelementptr inbounds i8, ptr %addr_b, i64 %idx.ext.i84.pre-phi - %sub37.i86 = sub nsw i32 %length, %32 - %conv38.i87 = sext i32 %sub37.i86 to i64 - call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i85, i8 0, i64 %conv38.i87, i1 false) +if.end37: ; preds = %if.end.i64, %if.then10.i72, %if.then6.i66 + %idx.ext.i78.pre-phi = phi i64 [ %conv.i68, %if.then10.i72 ], [ %conv.i68, %if.then6.i66 ], [ 0, %if.end.i64 ] + %add.ptr.i79 = getelementptr inbounds i8, ptr %addr_b, i64 %idx.ext.i78.pre-phi + %sub37.i80 = sub nsw i32 %length, %35 + %conv38.i81 = sext i32 %sub37.i80 to i64 + call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i79, i8 0, i64 %conv38.i81, i1 false) %mul38 = shl nuw nsw i32 %length, 3 br label %sw.epilog39 @@ -3518,8 +3512,8 @@ if.end: ; preds = %entry ] for.cond55.preheader: ; preds = %if.end - %cmp5763.not = icmp eq i32 %0, 0 - br i1 %cmp5763.not, label %for.end68, label %for.body59.lr.ph + %cmp5762.not = icmp eq i32 %0, 0 + br i1 %cmp5762.not, label %for.end68, label %for.body59.lr.ph for.body59.lr.ph: ; preds = %for.cond55.preheader %data = getelementptr inbounds i8, ptr %bs, i64 8 @@ -3547,26 +3541,26 @@ if.then6.i: ; preds = %if.end.i if.then10.i: ; preds = %if.then6.i %3 = trunc i64 %and.i to i16 %sh_prom.i = sub nuw nsw i16 8, %3 - %shr.i = lshr i16 255, %sh_prom.i %cmp15.i = icmp eq i8 %fill, 0 br i1 %cmp15.i, label %if.then17.i, label %if.else.i if.then17.i: ; preds = %if.then10.i - %conv13.i = trunc i16 %shr.i to i8 - %not.i = xor i8 %conv13.i, -1 - %4 = getelementptr i8, ptr %addr, i64 %conv.i - %arrayidx.i = getelementptr i8, ptr %4, i64 -1 - %5 = load i8, ptr %arrayidx.i, align 1 - %and22.i = and i8 %5, %not.i + %4 = ashr i16 -256, %sh_prom.i + %not.i = trunc i16 %4 to i8 + %5 = getelementptr i8, ptr %addr, i64 %conv.i + %arrayidx.i = getelementptr i8, ptr %5, i64 -1 + %6 = load i8, ptr %arrayidx.i, align 1 + %and22.i = and i8 %6, %not.i store i8 %and22.i, ptr %arrayidx.i, align 1 br label %if.end2 if.else.i: ; preds = %if.then10.i - %6 = getelementptr i8, ptr %addr, i64 %conv.i - %arrayidx28.i = getelementptr i8, ptr %6, i64 -1 - %7 = load i8, ptr %arrayidx28.i, align 1 - %8 = trunc i16 %shr.i to i8 - %conv30.i = or i8 %7, %8 + %shr.i = lshr i16 255, %sh_prom.i + %7 = getelementptr i8, ptr %addr, i64 %conv.i + %arrayidx28.i = getelementptr i8, ptr %7, i64 -1 + %8 = load i8, ptr %arrayidx28.i, align 1 + %9 = trunc i16 %shr.i to i8 + %conv30.i = or i8 %8, %9 store i8 %conv30.i, ptr %arrayidx28.i, align 1 br label %if.end2 @@ -3576,17 +3570,17 @@ if.end2: ; preds = %if.end.i, %if.else. %sub37.i = sub nuw nsw i32 4, %0 %conv38.i = zext nneg i32 %sub37.i to i64 call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i, i8 %fill, i64 %conv38.i, i1 false) - %9 = load i8, ptr %addr, align 16 - %conv = zext i8 %9 to i32 + %10 = load i8, ptr %addr, align 16 + %conv = zext i8 %10 to i32 %arrayidx3 = getelementptr inbounds i8, ptr %addr, i64 1 - %10 = load i8, ptr %arrayidx3, align 1 - %conv4 = zext i8 %10 to i32 + %11 = load i8, ptr %arrayidx3, align 1 + %conv4 = zext i8 %11 to i32 %arrayidx5 = getelementptr inbounds i8, ptr %addr, i64 2 - %11 = load i8, ptr %arrayidx5, align 2 - %conv6 = zext i8 %11 to i32 + %12 = load i8, ptr %arrayidx5, align 2 + %conv6 = zext i8 %12 to i32 %arrayidx7 = getelementptr inbounds i8, ptr %addr, i64 3 - %12 = load i8, ptr %arrayidx7, align 1 - %conv8 = zext i8 %12 to i32 + %13 = load i8, ptr %arrayidx7, align 1 + %conv8 = zext i8 %13 to i32 %call9 = tail call i32 (ptr, ptr, ...) @BIO_printf(ptr noundef %out, ptr noundef nonnull @.str.42, i32 noundef %conv, i32 noundef %conv4, i32 noundef %conv6, i32 noundef %conv8) #15 br label %return @@ -3596,111 +3590,111 @@ sw.bb10: ; preds = %if.end if.end.i29: ; preds = %sw.bb10 %cmp5.not.i30 = icmp eq i32 %0, 0 - br i1 %cmp5.not.i30, label %addr_expand.exit55, label %if.then6.i31 + br i1 %cmp5.not.i30, label %addr_expand.exit54, label %if.then6.i31 if.then6.i31: ; preds = %if.end.i29 %data.i32 = getelementptr inbounds i8, ptr %bs, i64 8 - %13 = load ptr, ptr %data.i32, align 8 + %14 = load ptr, ptr %data.i32, align 8 %conv.i33 = zext nneg i32 %0 to i64 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %addr, ptr align 1 %13, i64 %conv.i33, i1 false) + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 16 %addr, ptr align 1 %14, i64 %conv.i33, i1 false) %flags.i34 = getelementptr inbounds i8, ptr %bs, i64 16 - %14 = load i64, ptr %flags.i34, align 8 - %and.i35 = and i64 %14, 7 + %15 = load i64, ptr %flags.i34, align 8 + %and.i35 = and i64 %15, 7 %cmp8.not.i36 = icmp eq i64 %and.i35, 0 - br i1 %cmp8.not.i36, label %addr_expand.exit55, label %if.then10.i37 + br i1 %cmp8.not.i36, label %addr_expand.exit54, label %if.then10.i37 if.then10.i37: ; preds = %if.then6.i31 - %15 = trunc i64 %and.i35 to i16 - %sh_prom.i38 = sub nuw nsw i16 8, %15 - %shr.i39 = lshr i16 255, %sh_prom.i38 - %cmp15.i40 = icmp eq i8 %fill, 0 - br i1 %cmp15.i40, label %if.then17.i50, label %if.else.i41 + %16 = trunc i64 %and.i35 to i16 + %sh_prom.i38 = sub nuw nsw i16 8, %16 + %cmp15.i39 = icmp eq i8 %fill, 0 + br i1 %cmp15.i39, label %if.then17.i50, label %if.else.i40 if.then17.i50: ; preds = %if.then10.i37 - %conv13.i51 = trunc i16 %shr.i39 to i8 - %not.i52 = xor i8 %conv13.i51, -1 - %16 = getelementptr i8, ptr %addr, i64 %conv.i33 - %arrayidx.i53 = getelementptr i8, ptr %16, i64 -1 - %17 = load i8, ptr %arrayidx.i53, align 1 - %and22.i54 = and i8 %17, %not.i52 - store i8 %and22.i54, ptr %arrayidx.i53, align 1 - br label %addr_expand.exit55 - -if.else.i41: ; preds = %if.then10.i37 + %17 = ashr i16 -256, %sh_prom.i38 + %not.i51 = trunc i16 %17 to i8 %18 = getelementptr i8, ptr %addr, i64 %conv.i33 - %arrayidx28.i42 = getelementptr i8, ptr %18, i64 -1 - %19 = load i8, ptr %arrayidx28.i42, align 1 - %20 = trunc i16 %shr.i39 to i8 - %conv30.i43 = or i8 %19, %20 + %arrayidx.i52 = getelementptr i8, ptr %18, i64 -1 + %19 = load i8, ptr %arrayidx.i52, align 1 + %and22.i53 = and i8 %19, %not.i51 + store i8 %and22.i53, ptr %arrayidx.i52, align 1 + br label %addr_expand.exit54 + +if.else.i40: ; preds = %if.then10.i37 + %shr.i41 = lshr i16 255, %sh_prom.i38 + %20 = getelementptr i8, ptr %addr, i64 %conv.i33 + %arrayidx28.i42 = getelementptr i8, ptr %20, i64 -1 + %21 = load i8, ptr %arrayidx28.i42, align 1 + %22 = trunc i16 %shr.i41 to i8 + %conv30.i43 = or i8 %21, %22 store i8 %conv30.i43, ptr %arrayidx28.i42, align 1 - br label %addr_expand.exit55 + br label %addr_expand.exit54 -addr_expand.exit55: ; preds = %if.end.i29, %if.then6.i31, %if.then17.i50, %if.else.i41 - %idx.ext.i45.pre-phi = phi i64 [ %conv.i33, %if.then6.i31 ], [ %conv.i33, %if.then17.i50 ], [ %conv.i33, %if.else.i41 ], [ 0, %if.end.i29 ] +addr_expand.exit54: ; preds = %if.end.i29, %if.then6.i31, %if.then17.i50, %if.else.i40 + %idx.ext.i45.pre-phi = phi i64 [ %conv.i33, %if.then6.i31 ], [ %conv.i33, %if.then17.i50 ], [ %conv.i33, %if.else.i40 ], [ 0, %if.end.i29 ] %add.ptr.i46 = getelementptr inbounds i8, ptr %addr, i64 %idx.ext.i45.pre-phi %sub37.i47 = sub nuw nsw i32 16, %0 %conv38.i48 = zext nneg i32 %sub37.i47 to i64 call void @llvm.memset.p0.i64(ptr nonnull align 1 %add.ptr.i46, i8 %fill, i64 %conv38.i48, i1 false) br label %for.cond -for.cond: ; preds = %addr_expand.exit55, %land.rhs - %indvars.iv = phi i64 [ 16, %addr_expand.exit55 ], [ %indvars.iv.next, %land.rhs ] +for.cond: ; preds = %addr_expand.exit54, %land.rhs + %indvars.iv = phi i64 [ 16, %addr_expand.exit54 ], [ %indvars.iv.next, %land.rhs ] %cmp16.not = icmp eq i64 %indvars.iv, 0 br i1 %cmp16.not, label %if.end49.thread, label %land.lhs.true land.lhs.true: ; preds = %for.cond - %21 = add nsw i64 %indvars.iv, -1 - %arrayidx18 = getelementptr inbounds [16 x i8], ptr %addr, i64 0, i64 %21 - %22 = load i8, ptr %arrayidx18, align 1 - %cmp20 = icmp eq i8 %22, 0 + %23 = add nsw i64 %indvars.iv, -1 + %arrayidx18 = getelementptr inbounds [16 x i8], ptr %addr, i64 0, i64 %23 + %24 = load i8, ptr %arrayidx18, align 1 + %cmp20 = icmp eq i8 %24, 0 br i1 %cmp20, label %land.rhs, label %for.end land.rhs: ; preds = %land.lhs.true %indvars.iv.next = add nsw i64 %indvars.iv, -2 %arrayidx24 = getelementptr inbounds [16 x i8], ptr %addr, i64 0, i64 %indvars.iv.next - %23 = load i8, ptr %arrayidx24, align 2 - %cmp26 = icmp eq i8 %23, 0 + %25 = load i8, ptr %arrayidx24, align 2 + %cmp26 = icmp eq i8 %25, 0 br i1 %cmp26, label %for.cond, label %for.end, !llvm.loop !30 for.end: ; preds = %land.lhs.true, %land.rhs - %24 = trunc i64 %indvars.iv to i32 - %cmp3061 = icmp sgt i32 %24, 0 - br i1 %cmp3061, label %for.body32.preheader, label %if.end49.thread + %26 = trunc i64 %indvars.iv to i32 + %cmp3060 = icmp sgt i32 %26, 0 + br i1 %cmp3060, label %for.body32.preheader, label %if.end49.thread for.body32.preheader: ; preds = %for.end - %25 = and i64 %indvars.iv, 4294967294 + %27 = and i64 %indvars.iv, 4294967294 br label %for.body32 for.body32: ; preds = %for.body32.preheader, %for.body32 - %indvars.iv67 = phi i64 [ 0, %for.body32.preheader ], [ %indvars.iv.next68, %for.body32 ] - %arrayidx34 = getelementptr inbounds [16 x i8], ptr %addr, i64 0, i64 %indvars.iv67 - %26 = load i8, ptr %arrayidx34, align 2 - %conv35 = zext i8 %26 to i32 + %indvars.iv66 = phi i64 [ 0, %for.body32.preheader ], [ %indvars.iv.next67, %for.body32 ] + %arrayidx34 = getelementptr inbounds [16 x i8], ptr %addr, i64 0, i64 %indvars.iv66 + %28 = load i8, ptr %arrayidx34, align 2 + %conv35 = zext i8 %28 to i32 %shl = shl nuw nsw i32 %conv35, 8 - %27 = or disjoint i64 %indvars.iv67, 1 - %arrayidx37 = getelementptr inbounds [16 x i8], ptr %addr, i64 0, i64 %27 - %28 = load i8, ptr %arrayidx37, align 1 - %conv38 = zext i8 %28 to i32 + %29 = or disjoint i64 %indvars.iv66, 1 + %arrayidx37 = getelementptr inbounds [16 x i8], ptr %addr, i64 0, i64 %29 + %30 = load i8, ptr %arrayidx37, align 1 + %conv38 = zext i8 %30 to i32 %or = or disjoint i32 %shl, %conv38 - %cmp39 = icmp ult i64 %indvars.iv67, 14 + %cmp39 = icmp ult i64 %indvars.iv66, 14 %cond = select i1 %cmp39, ptr @.str.44, ptr @.str.24 %call41 = tail call i32 (ptr, ptr, ...) @BIO_printf(ptr noundef %out, ptr noundef nonnull @.str.43, i32 noundef %or, ptr noundef nonnull %cond) #15 - %indvars.iv.next68 = add nuw nsw i64 %indvars.iv67, 2 - %cmp30 = icmp ult i64 %indvars.iv.next68, %25 + %indvars.iv.next67 = add nuw nsw i64 %indvars.iv66, 2 + %cmp30 = icmp ult i64 %indvars.iv.next67, %27 br i1 %cmp30, label %for.body32, label %for.end44, !llvm.loop !31 if.end49.thread: ; preds = %for.cond, %for.end - %call4881 = tail call i32 @BIO_puts(ptr noundef %out, ptr noundef nonnull @.str.44) #15 + %call4880 = tail call i32 @BIO_puts(ptr noundef %out, ptr noundef nonnull @.str.44) #15 br label %if.then52 for.end44: ; preds = %for.body32 - %29 = trunc i64 %indvars.iv.next68 to i32 - %cmp45 = icmp ult i32 %29, 16 + %31 = trunc i64 %indvars.iv.next67 to i32 + %cmp45 = icmp ult i32 %31, 16 br i1 %cmp45, label %if.end49, label %return if.end49: ; preds = %for.end44 %call48 = tail call i32 @BIO_puts(ptr noundef %out, ptr noundef nonnull @.str.44) #15 - %cmp50 = icmp eq i32 %29, 0 + %cmp50 = icmp eq i32 %31, 0 br i1 %cmp50, label %if.then52, label %return if.then52: ; preds = %if.end49.thread, %if.end49 @@ -3708,25 +3702,25 @@ if.then52: ; preds = %if.end49.thread, %i br label %return for.body59: ; preds = %for.body59.lr.ph, %for.body59 - %indvars.iv71 = phi i64 [ 0, %for.body59.lr.ph ], [ %indvars.iv.next72, %for.body59 ] - %cmp60.not = icmp eq i64 %indvars.iv71, 0 + %indvars.iv70 = phi i64 [ 0, %for.body59.lr.ph ], [ %indvars.iv.next71, %for.body59 ] + %cmp60.not = icmp eq i64 %indvars.iv70, 0 %cond62 = select i1 %cmp60.not, ptr @.str.24, ptr @.str.44 - %30 = load ptr, ptr %data, align 8 - %arrayidx64 = getelementptr inbounds i8, ptr %30, i64 %indvars.iv71 - %31 = load i8, ptr %arrayidx64, align 1 - %conv65 = zext i8 %31 to i32 + %32 = load ptr, ptr %data, align 8 + %arrayidx64 = getelementptr inbounds i8, ptr %32, i64 %indvars.iv70 + %33 = load i8, ptr %arrayidx64, align 1 + %conv65 = zext i8 %33 to i32 %call66 = tail call i32 (ptr, ptr, ...) @BIO_printf(ptr noundef %out, ptr noundef nonnull @.str.45, ptr noundef nonnull %cond62, i32 noundef %conv65) #15 - %indvars.iv.next72 = add nuw nsw i64 %indvars.iv71, 1 - %32 = load i32, ptr %bs, align 8 - %33 = sext i32 %32 to i64 - %cmp57 = icmp slt i64 %indvars.iv.next72, %33 + %indvars.iv.next71 = add nuw nsw i64 %indvars.iv70, 1 + %34 = load i32, ptr %bs, align 8 + %35 = sext i32 %34 to i64 + %cmp57 = icmp slt i64 %indvars.iv.next71, %35 br i1 %cmp57, label %for.body59, label %for.end68, !llvm.loop !32 for.end68: ; preds = %for.body59, %for.cond55.preheader %flags = getelementptr inbounds i8, ptr %bs, i64 16 - %34 = load i64, ptr %flags, align 8 - %35 = trunc i64 %34 to i32 - %conv69 = and i32 %35, 7 + %36 = load i64, ptr %flags, align 8 + %37 = trunc i64 %36 to i32 + %conv69 = and i32 %37, 7 %call70 = tail call i32 (ptr, ptr, ...) @BIO_printf(ptr noundef %out, ptr noundef nonnull @.str.46, i32 noundef %conv69) #15 br label %return diff --git a/bench/redis/optimized/networking.ll b/bench/redis/optimized/networking.ll index 968e2fbaec8..c0166532b10 100644 --- a/bench/redis/optimized/networking.ll +++ b/bench/redis/optimized/networking.ll @@ -4726,7 +4726,7 @@ entry: while.body: ; preds = %entry, %while.body %indvars.iv = phi i64 [ %indvars.iv.next, %while.body ], [ 0, %entry ] %4 = phi ptr [ %5, %while.body ], [ %3, %entry ] - %indvars.iv.next = add nuw i64 %indvars.iv, 1 + %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 tail call void @addReplyStatus(ptr noundef %c, ptr noundef nonnull %4) %arrayidx2 = getelementptr inbounds ptr, ptr %help, i64 %indvars.iv.next %5 = load ptr, ptr %arrayidx2, align 8 @@ -4734,7 +4734,7 @@ while.body: ; preds = %entry, %while.body br i1 %tobool.not, label %while.end.loopexit, label %while.body, !llvm.loop !10 while.end.loopexit: ; preds = %while.body - %6 = add i64 %indvars.iv, 4 + %6 = add nuw i64 %indvars.iv, 4 br label %while.end while.end: ; preds = %while.end.loopexit, %entry @@ -4750,7 +4750,7 @@ while.cond6.preheader: ; preds = %while.end while.body10: ; preds = %while.cond6.preheader, %while.body10 %indvars.iv27 = phi i64 [ %indvars.iv.next28, %while.body10 ], [ 0, %while.cond6.preheader ] %8 = phi ptr [ %9, %while.body10 ], [ %7, %while.cond6.preheader ] - %indvars.iv.next28 = add nuw i64 %indvars.iv27, 1 + %indvars.iv.next28 = add nuw nsw i64 %indvars.iv27, 1 tail call void @addReplyStatus(ptr noundef %c, ptr noundef nonnull %8) %arrayidx8 = getelementptr inbounds ptr, ptr %extended_help, i64 %indvars.iv.next28 %9 = load ptr, ptr %arrayidx8, align 8 @@ -8666,7 +8666,7 @@ if.end323: ; preds = %if.else12.i374, %if %user.1 = phi ptr [ %user.0505, %if.end200 ], [ %user.0505, %if.then235 ], [ %user.0505, %if.then250 ], [ %call277, %if.then265 ], [ %user.0505, %if.then296 ], [ %user.0505, %if.else305 ], [ %user.0505, %if.then210 ], [ %user.0505, %if.else.i365 ], [ %user.0505, %if.else4.i368 ], [ %user.0505, %if.else8.i371 ], [ %user.0505, %if.else12.i374 ] %laddr.1 = phi ptr [ %laddr.0506, %if.end200 ], [ %laddr.0506, %if.then235 ], [ %61, %if.then250 ], [ %laddr.0506, %if.then265 ], [ %laddr.0506, %if.then296 ], [ %laddr.0506, %if.else305 ], [ %laddr.0506, %if.then210 ], [ %laddr.0506, %if.else.i365 ], [ %laddr.0506, %if.else4.i368 ], [ %laddr.0506, %if.else8.i371 ], [ %laddr.0506, %if.else12.i374 ] %addr.1 = phi ptr [ %addr.0507, %if.end200 ], [ %59, %if.then235 ], [ %addr.0507, %if.then250 ], [ %addr.0507, %if.then265 ], [ %addr.0507, %if.then296 ], [ %addr.0507, %if.else305 ], [ %addr.0507, %if.then210 ], [ %addr.0507, %if.else.i365 ], [ %addr.0507, %if.else4.i368 ], [ %addr.0507, %if.else8.i371 ], [ %addr.0507, %if.else12.i374 ] - %indvars.iv.next = add nuw i64 %indvars.iv, 2 + %indvars.iv.next = add nuw nsw i64 %indvars.iv, 2 %71 = load i32, ptr %argc, align 8 %72 = trunc i64 %indvars.iv.next to i32 %cmp180 = icmp sgt i32 %71, %72 @@ -10567,39 +10567,40 @@ if.else: ; preds = %sdslen.exit sdslen.exit37.thread: ; preds = %if.else %shr.i35 = lshr i32 %conv.i, 3 - %conv2.i36 = zext nneg i32 %shr.i35 to i64 - %sub1558 = or disjoint i64 %conv2.i36, -128 + %9 = or disjoint i32 %shr.i35, -128 + %sub1558 = sext i32 %9 to i64 %sub1659 = sub i64 %sub1558, %8 + %conv2.i55 = zext nneg i32 %shr.i35 to i64 br label %sdslen.exit56 sdslen.exit37.thread62: ; preds = %if.else %add.ptr.i32 = getelementptr inbounds i8, ptr %2, i64 -3 - %9 = load i8, ptr %add.ptr.i32, align 1 - %conv4.i33 = zext i8 %9 to i64 + %10 = load i8, ptr %add.ptr.i32, align 1 + %conv4.i33 = zext i8 %10 to i64 %reass.sub86 = sub i64 %conv4.i33, %8 %sub1665 = add i64 %reass.sub86, -128 br label %sdslen.exit56 sdslen.exit37.thread67: ; preds = %if.else %add.ptr6.i29 = getelementptr inbounds i8, ptr %2, i64 -5 - %10 = load i16, ptr %add.ptr6.i29, align 1 - %conv8.i30 = zext i16 %10 to i64 + %11 = load i16, ptr %add.ptr6.i29, align 1 + %conv8.i30 = zext i16 %11 to i64 %reass.sub85 = sub i64 %conv8.i30, %8 %sub1670 = add i64 %reass.sub85, -128 br label %sdslen.exit56 sdslen.exit37.thread72: ; preds = %if.else %add.ptr10.i26 = getelementptr inbounds i8, ptr %2, i64 -9 - %11 = load i32, ptr %add.ptr10.i26, align 1 - %conv12.i27 = zext i32 %11 to i64 + %12 = load i32, ptr %add.ptr10.i26, align 1 + %conv12.i27 = zext i32 %12 to i64 %reass.sub84 = sub i64 %conv12.i27, %8 %sub1675 = add i64 %reass.sub84, -128 br label %sdslen.exit56 sdslen.exit37.thread77: ; preds = %if.else %add.ptr14.i23 = getelementptr inbounds i8, ptr %2, i64 -17 - %12 = load i64, ptr %add.ptr14.i23, align 1 - %reass.sub = sub i64 %12, %8 + %13 = load i64, ptr %add.ptr14.i23, align 1 + %reass.sub = sub i64 %13, %8 %sub1680 = add i64 %reass.sub, -128 br label %sdslen.exit56 @@ -10609,15 +10610,15 @@ sdslen.exit37: ; preds = %if.else sdslen.exit56: ; preds = %sdslen.exit37, %sdslen.exit37.thread, %sdslen.exit37.thread62, %sdslen.exit37.thread67, %sdslen.exit37.thread72, %sdslen.exit37.thread77 %sub1661 = phi i64 [ %sub1680, %sdslen.exit37.thread77 ], [ %sub1675, %sdslen.exit37.thread72 ], [ %sub1670, %sdslen.exit37.thread67 ], [ %sub1665, %sdslen.exit37.thread62 ], [ %sub1659, %sdslen.exit37.thread ], [ %sub16, %sdslen.exit37 ] - %retval.0.i43 = phi i64 [ %12, %sdslen.exit37.thread77 ], [ %conv12.i27, %sdslen.exit37.thread72 ], [ %conv8.i30, %sdslen.exit37.thread67 ], [ %conv4.i33, %sdslen.exit37.thread62 ], [ %conv2.i36, %sdslen.exit37.thread ], [ 0, %sdslen.exit37 ] + %retval.0.i43 = phi i64 [ %13, %sdslen.exit37.thread77 ], [ %conv12.i27, %sdslen.exit37.thread72 ], [ %conv8.i30, %sdslen.exit37.thread67 ], [ %conv4.i33, %sdslen.exit37.thread62 ], [ %conv2.i55, %sdslen.exit37.thread ], [ 0, %sdslen.exit37 ] %add.ptr20 = getelementptr inbounds i8, ptr %2, i64 %retval.0.i43 %add.ptr21 = getelementptr inbounds i8, ptr %add.ptr20, i64 -64 %call22 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %buf, i64 noundef 256, ptr noundef nonnull @.str.252, i32 noundef 64, ptr noundef %add.ptr, i64 noundef %sub1661, i32 noundef 64, ptr noundef nonnull %add.ptr21) #26 br label %if.end if.end: ; preds = %sdslen.exit56, %if.then4 - %13 = load i8, ptr %buf, align 16 - %cmp24.not82 = icmp eq i8 %13, 0 + %14 = load i8, ptr %buf, align 16 + %cmp24.not82 = icmp eq i8 %14, 0 br i1 %cmp24.not82, label %while.end, label %while.body.lr.ph while.body.lr.ph: ; preds = %if.end @@ -10626,13 +10627,13 @@ while.body.lr.ph: ; preds = %if.end br label %while.body while.body: ; preds = %while.body.lr.ph, %if.end32 - %14 = phi i8 [ %13, %while.body.lr.ph ], [ %17, %if.end32 ] + %15 = phi i8 [ %14, %while.body.lr.ph ], [ %18, %if.end32 ] %p.083 = phi ptr [ %buf, %while.body.lr.ph ], [ %incdec.ptr, %if.end32 ] - %idxprom = sext i8 %14 to i64 + %idxprom = sext i8 %15 to i64 %arrayidx = getelementptr inbounds i16, ptr %.pre, i64 %idxprom - %15 = load i16, ptr %arrayidx, align 2 - %16 = and i16 %15, 16384 - %tobool30.not = icmp eq i16 %16, 0 + %16 = load i16, ptr %arrayidx, align 2 + %17 = and i16 %16, 16384 + %tobool30.not = icmp eq i16 %17, 0 br i1 %tobool30.not, label %if.then31, label %if.end32 if.then31: ; preds = %while.body @@ -10641,18 +10642,18 @@ if.then31: ; preds = %while.body if.end32: ; preds = %if.then31, %while.body %incdec.ptr = getelementptr inbounds i8, ptr %p.083, i64 1 - %17 = load i8, ptr %incdec.ptr, align 1 - %cmp24.not = icmp eq i8 %17, 0 + %18 = load i8, ptr %incdec.ptr, align 1 + %cmp24.not = icmp eq i8 %18, 0 br i1 %cmp24.not, label %while.end, label %while.body, !llvm.loop !29 while.end: ; preds = %if.end32, %if.end %flags33 = getelementptr inbounds i8, ptr %c, i64 8 - %18 = load i64, ptr %flags33, align 8 - %and34 = and i64 %18, 2 + %19 = load i64, ptr %flags33, align 8 + %and34 = and i64 %19, 2 %tobool35.not = icmp eq i64 %and34, 0 %cond = select i1 %tobool35.not, i32 1, i32 3 - %19 = load i32, ptr getelementptr inbounds (%struct.redisServer, ptr @server, i64 0, i32 156), align 8 - %cmp37 = icmp slt i32 %cond, %19 + %20 = load i32, ptr getelementptr inbounds (%struct.redisServer, ptr @server, i64 0, i32 156), align 8 + %cmp37 = icmp slt i32 %cond, %20 br i1 %cmp37, label %do.end, label %if.end40 if.end40: ; preds = %while.end @@ -10665,9 +10666,9 @@ do.end: ; preds = %while.end, %if.end4 br label %if.end42 if.end42: ; preds = %do.end, %lor.lhs.false - %20 = phi i64 [ %.pre87, %do.end ], [ %1, %lor.lhs.false ] + %21 = phi i64 [ %.pre87, %do.end ], [ %1, %lor.lhs.false ] %flags43 = getelementptr inbounds i8, ptr %c, i64 8 - %or = or i64 %20, 549755813952 + %or = or i64 %21, 549755813952 store i64 %or, ptr %flags43, align 8 ret void } diff --git a/scripts/setup_pre_commit_patch.sh b/scripts/setup_pre_commit_patch.sh index bba61ce1da6..e1358c2c00a 100755 --- a/scripts/setup_pre_commit_patch.sh +++ b/scripts/setup_pre_commit_patch.sh @@ -2,7 +2,7 @@ set -euo pipefail shopt -s inherit_errexit -export GITHUB_PATCH_ID="/llvm-project/commit/" +export GITHUB_PATCH_ID="llvm/llvm-project/pull/82355" # Please rebase manually # git fetch origin