diff --git a/bench/abseil-cpp/optimized/commandlineflag_test.ll b/bench/abseil-cpp/optimized/commandlineflag_test.ll index 24be1686ff1..f16bcc3a5dc 100644 --- a/bench/abseil-cpp/optimized/commandlineflag_test.ll +++ b/bench/abseil-cpp/optimized/commandlineflag_test.ll @@ -14645,11 +14645,11 @@ _ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_st %0 = alloca %"struct.absl::FlagsUsageConfig", align 8 %1 = alloca %"struct.absl::FlagsUsageConfig", align 8 call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %0) #24 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(160) %0, i8 0, i64 160, i1 false) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(160) %0, i8 0, i64 128, i1 false) %2 = getelementptr inbounds nuw i8, ptr %0, i64 128 store ptr @_ZN12_GLOBAL__N_119CommandLineFlagTest17NormalizeFileNameB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE, ptr %2, align 8 %.sroa.0.i.i.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 136 - store i64 0, ptr %.sroa.0.i.i.i.sroa.4.0..sroa_idx, align 8, !tbaa !21 + store i64 0, ptr %.sroa.0.i.i.i.sroa.4.0..sroa_idx, align 8 %3 = getelementptr inbounds nuw i8, ptr %0, i64 144 store ptr @_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS3_EEPS8_E10_M_managerERSt9_Any_dataRKSB_St18_Manager_operation, ptr %3, align 8, !tbaa !80 %4 = getelementptr inbounds nuw i8, ptr %0, i64 152 diff --git a/bench/abseil-cpp/optimized/usage_config.ll b/bench/abseil-cpp/optimized/usage_config.ll index 566818df2a8..34877e63f5d 100644 --- a/bench/abseil-cpp/optimized/usage_config.ll +++ b/bench/abseil-cpp/optimized/usage_config.ll @@ -130,7 +130,7 @@ _ZN4absl14flags_internal12_GLOBAL__N_122CustomUsageConfigMutexEv.exit: ; preds = 8: ; preds = %_ZN4absl14flags_internal12_GLOBAL__N_122CustomUsageConfigMutexEv.exit invoke void @_ZN4absl16FlagsUsageConfigC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(160) %0, ptr noundef nonnull align 8 dereferenceable(160) %7) - to label %29 unwind label %9 + to label %28 unwind label %9 9: ; preds = %8 %10 = landingpad { ptr, i32 } @@ -152,58 +152,56 @@ _ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_st store ptr @_ZN4absl14flags_internal12_GLOBAL__N_122ContainsHelpshortFlagsESt17basic_string_viewIcSt11char_traitsIcEE, ptr %0, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 0, ptr %.sroa.4.0..sroa_idx, align 8 - %14 = getelementptr inbounds nuw i8, ptr %0, i64 32 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(128) %14, i8 0, i64 128, i1 false) - %15 = getelementptr inbounds nuw i8, ptr %0, i64 16 - store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation, ptr %15, align 8, !tbaa !13 - %16 = getelementptr inbounds nuw i8, ptr %0, i64 24 - store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E9_M_invokeERKSt9_Any_dataOS3_, ptr %16, align 8, !tbaa !13 - %17 = getelementptr inbounds nuw i8, ptr %0, i64 32 - store ptr @_ZN4absl14flags_internal12_GLOBAL__N_124ContainsHelppackageFlagsESt17basic_string_viewIcSt11char_traitsIcEE, ptr %17, align 8 - %.sroa.0.i.i.i2.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 40 - store i64 0, ptr %.sroa.0.i.i.i2.sroa.4.0..sroa_idx, align 8, !tbaa !14 - %18 = getelementptr inbounds nuw i8, ptr %0, i64 48 - store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation, ptr %18, align 8, !tbaa !13 - %19 = getelementptr inbounds nuw i8, ptr %0, i64 56 - store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E9_M_invokeERKSt9_Any_dataOS3_, ptr %19, align 8, !tbaa !13 - %20 = getelementptr inbounds nuw i8, ptr %0, i64 64 - store ptr @_ZN4absl14flags_internal12_GLOBAL__N_124ContainsHelppackageFlagsESt17basic_string_viewIcSt11char_traitsIcEE, ptr %20, align 8 - %.sroa.0.i.i.i7.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 72 - store i64 0, ptr %.sroa.0.i.i.i7.sroa.4.0..sroa_idx, align 8, !tbaa !14 - %21 = getelementptr inbounds nuw i8, ptr %0, i64 80 - store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation, ptr %21, align 8, !tbaa !13 - %22 = getelementptr inbounds nuw i8, ptr %0, i64 88 - store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E9_M_invokeERKSt9_Any_dataOS3_, ptr %22, align 8, !tbaa !13 - %23 = getelementptr inbounds nuw i8, ptr %0, i64 96 - store ptr @_ZN4absl14flags_internal12_GLOBAL__N_113VersionStringB5cxx11Ev, ptr %23, align 8 - %.sroa.0.i.i.i12.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 104 - store i64 0, ptr %.sroa.0.i.i.i12.sroa.4.0..sroa_idx, align 8, !tbaa !14 - %24 = getelementptr inbounds nuw i8, ptr %0, i64 112 - store ptr @_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEPS6_E10_M_managerERSt9_Any_dataRKS9_St18_Manager_operation, ptr %24, align 8, !tbaa !13 - %25 = getelementptr inbounds nuw i8, ptr %0, i64 120 - store ptr @_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEPS6_E9_M_invokeERKSt9_Any_data, ptr %25, align 8, !tbaa !13 - %26 = getelementptr inbounds nuw i8, ptr %0, i64 128 - store ptr @_ZN4absl14flags_internal12_GLOBAL__N_117NormalizeFilenameB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE, ptr %26, align 8 - %.sroa.0.i.i.i15.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 136 - store i64 0, ptr %.sroa.0.i.i.i15.sroa.4.0..sroa_idx, align 8, !tbaa !14 - %27 = getelementptr inbounds nuw i8, ptr %0, i64 144 - store ptr @_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS3_EEPS8_E10_M_managerERSt9_Any_dataRKSB_St18_Manager_operation, ptr %27, align 8, !tbaa !13 - %28 = getelementptr inbounds nuw i8, ptr %0, i64 152 - store ptr @_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS3_EEPS8_E9_M_invokeERKSt9_Any_dataOS7_, ptr %28, align 8, !tbaa !13 - br label %29 - -29: ; preds = %8, %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS3_EEEaSIPS8_EENSt9enable_ifIXsr9_CallableIT_EE5valueERS9_E4typeEOSD_.exit + %14 = getelementptr inbounds nuw i8, ptr %0, i64 16 + store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation, ptr %14, align 8, !tbaa !13 + %15 = getelementptr inbounds nuw i8, ptr %0, i64 24 + store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E9_M_invokeERKSt9_Any_dataOS3_, ptr %15, align 8, !tbaa !13 + %16 = getelementptr inbounds nuw i8, ptr %0, i64 32 + store ptr @_ZN4absl14flags_internal12_GLOBAL__N_124ContainsHelppackageFlagsESt17basic_string_viewIcSt11char_traitsIcEE, ptr %16, align 8 + %17 = getelementptr inbounds nuw i8, ptr %0, i64 40 + store i64 0, ptr %17, align 8 + %.sroa.0.i.i.i2.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 48 + store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation, ptr %.sroa.0.i.i.i2.sroa.4.0..sroa_idx, align 8, !tbaa !13 + %18 = getelementptr inbounds nuw i8, ptr %0, i64 56 + store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E9_M_invokeERKSt9_Any_dataOS3_, ptr %18, align 8, !tbaa !13 + %19 = getelementptr inbounds nuw i8, ptr %0, i64 64 + store ptr @_ZN4absl14flags_internal12_GLOBAL__N_124ContainsHelppackageFlagsESt17basic_string_viewIcSt11char_traitsIcEE, ptr %19, align 8 + %20 = getelementptr inbounds nuw i8, ptr %0, i64 72 + store i64 0, ptr %20, align 8 + %.sroa.0.i.i.i7.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 80 + store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation, ptr %.sroa.0.i.i.i7.sroa.4.0..sroa_idx, align 8, !tbaa !13 + %21 = getelementptr inbounds nuw i8, ptr %0, i64 88 + store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E9_M_invokeERKSt9_Any_dataOS3_, ptr %21, align 8, !tbaa !13 + %22 = getelementptr inbounds nuw i8, ptr %0, i64 96 + store ptr @_ZN4absl14flags_internal12_GLOBAL__N_113VersionStringB5cxx11Ev, ptr %22, align 8 + %23 = getelementptr inbounds nuw i8, ptr %0, i64 104 + store i64 0, ptr %23, align 8 + %.sroa.0.i.i.i12.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 112 + store ptr @_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEPS6_E10_M_managerERSt9_Any_dataRKS9_St18_Manager_operation, ptr %.sroa.0.i.i.i12.sroa.4.0..sroa_idx, align 8, !tbaa !13 + %24 = getelementptr inbounds nuw i8, ptr %0, i64 120 + store ptr @_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEPS6_E9_M_invokeERKSt9_Any_data, ptr %24, align 8, !tbaa !13 + %25 = getelementptr inbounds nuw i8, ptr %0, i64 128 + store ptr @_ZN4absl14flags_internal12_GLOBAL__N_117NormalizeFilenameB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE, ptr %25, align 8 + %26 = getelementptr inbounds nuw i8, ptr %0, i64 136 + store i64 0, ptr %26, align 8 + %.sroa.0.i.i.i15.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 144 + store ptr @_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS3_EEPS8_E10_M_managerERSt9_Any_dataRKSB_St18_Manager_operation, ptr %.sroa.0.i.i.i15.sroa.4.0..sroa_idx, align 8, !tbaa !13 + %27 = getelementptr inbounds nuw i8, ptr %0, i64 152 + store ptr @_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS3_EEPS8_E9_M_invokeERKSt9_Any_dataOS7_, ptr %27, align 8, !tbaa !13 + br label %28 + +28:; preds = %8, %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS3_EEEaSIPS8_EENSt9enable_ifIXsr9_CallableIT_EE5valueERS9_E4typeEOSD_.exit invoke void @_ZN4absl5Mutex6UnlockEv(ptr noundef nonnull align 8 dereferenceable(8) @_ZZN4absl14flags_internal12_GLOBAL__N_122CustomUsageConfigMutexEvE5mutex) to label %_ZN4absl9MutexLockD2Ev.exit18 unwind label %30 -30: ; preds = %29 +30: ; preds = %28 %31 = landingpad { ptr, i32 } catch ptr null %32 = extractvalue { ptr, i32 } %31, 0 tail call void @__clang_call_terminate(ptr %32) #17 unreachable -_ZN4absl9MutexLockD2Ev.exit18: ; preds = %29 +_ZN4absl9MutexLockD2Ev.exit18: ; preds = %28 ret void } @@ -216,7 +214,7 @@ define linkonce_odr dso_local void @_ZN4absl16FlagsUsageConfigC2ERKS0_(ptr nound %4 = getelementptr inbounds nuw i8, ptr %0, i64 24 %5 = getelementptr inbounds nuw i8, ptr %1, i64 16 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, i8 0, i64 32, i1 false) - %6 = load ptr, ptr %5, align 8, !tbaa !15 + %6 = load ptr, ptr %5, align 8, !tbaa !14 %.not.i.i.not.i = icmp eq ptr %6, null br i1 %.not.i.i.not.i, label %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit, label %7 @@ -226,16 +224,16 @@ define linkonce_odr dso_local void @_ZN4absl16FlagsUsageConfigC2ERKS0_(ptr nound 9: ; preds = %7 %10 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %11 = load ptr, ptr %10, align 8, !tbaa !17 - store ptr %11, ptr %4, align 8, !tbaa !17 - %12 = load ptr, ptr %5, align 8, !tbaa !15 - store ptr %12, ptr %3, align 8, !tbaa !15 + %11 = load ptr, ptr %10, align 8, !tbaa !16 + store ptr %11, ptr %4, align 8, !tbaa !16 + %12 = load ptr, ptr %5, align 8, !tbaa !14 + store ptr %12, ptr %3, align 8, !tbaa !14 br label %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit 13: ; preds = %7 %14 = landingpad { ptr, i32 } cleanup - %15 = load ptr, ptr %3, align 8, !tbaa !15 + %15 = load ptr, ptr %3, align 8, !tbaa !14 %.not.i.i = icmp eq ptr %15, null br i1 %.not.i.i, label %common.resume, label %16 @@ -260,7 +258,7 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit: ; pr %23 = getelementptr inbounds nuw i8, ptr %0, i64 56 %24 = getelementptr inbounds nuw i8, ptr %1, i64 48 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %21, i8 0, i64 32, i1 false) - %25 = load ptr, ptr %24, align 8, !tbaa !15 + %25 = load ptr, ptr %24, align 8, !tbaa !14 %.not.i.i.not.i13 = icmp eq ptr %25, null br i1 %.not.i.i.not.i13, label %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit16, label %26 @@ -271,16 +269,16 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit: ; pr 29: ; preds = %26 %30 = getelementptr inbounds nuw i8, ptr %1, i64 56 - %31 = load ptr, ptr %30, align 8, !tbaa !17 - store ptr %31, ptr %23, align 8, !tbaa !17 - %32 = load ptr, ptr %24, align 8, !tbaa !15 - store ptr %32, ptr %22, align 8, !tbaa !15 + %31 = load ptr, ptr %30, align 8, !tbaa !16 + store ptr %31, ptr %23, align 8, !tbaa !16 + %32 = load ptr, ptr %24, align 8, !tbaa !14 + store ptr %32, ptr %22, align 8, !tbaa !14 br label %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit16 33: ; preds = %26 %34 = landingpad { ptr, i32 } cleanup - %35 = load ptr, ptr %22, align 8, !tbaa !15 + %35 = load ptr, ptr %22, align 8, !tbaa !14 %.not.i.i14 = icmp eq ptr %35, null br i1 %.not.i.i14, label %.body, label %36 @@ -301,7 +299,7 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit16: ; %43 = getelementptr inbounds nuw i8, ptr %0, i64 88 %44 = getelementptr inbounds nuw i8, ptr %1, i64 80 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %41, i8 0, i64 32, i1 false) - %45 = load ptr, ptr %44, align 8, !tbaa !15 + %45 = load ptr, ptr %44, align 8, !tbaa !14 %.not.i.i.not.i17 = icmp eq ptr %45, null br i1 %.not.i.i.not.i17, label %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit22, label %46 @@ -312,16 +310,16 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit16: ; 49: ; preds = %46 %50 = getelementptr inbounds nuw i8, ptr %1, i64 88 - %51 = load ptr, ptr %50, align 8, !tbaa !17 - store ptr %51, ptr %43, align 8, !tbaa !17 - %52 = load ptr, ptr %44, align 8, !tbaa !15 - store ptr %52, ptr %42, align 8, !tbaa !15 + %51 = load ptr, ptr %50, align 8, !tbaa !16 + store ptr %51, ptr %43, align 8, !tbaa !16 + %52 = load ptr, ptr %44, align 8, !tbaa !14 + store ptr %52, ptr %42, align 8, !tbaa !14 br label %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit22 53: ; preds = %46 %54 = landingpad { ptr, i32 } cleanup - %55 = load ptr, ptr %42, align 8, !tbaa !15 + %55 = load ptr, ptr %42, align 8, !tbaa !14 %.not.i.i18 = icmp eq ptr %55, null br i1 %.not.i.i18, label %.body20, label %56 @@ -342,7 +340,7 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit22: ; %63 = getelementptr inbounds nuw i8, ptr %0, i64 120 %64 = getelementptr inbounds nuw i8, ptr %1, i64 112 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %61, i8 0, i64 32, i1 false) - %65 = load ptr, ptr %64, align 8, !tbaa !15 + %65 = load ptr, ptr %64, align 8, !tbaa !14 %.not.i.i.not.i23 = icmp eq ptr %65, null br i1 %.not.i.i.not.i23, label %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEEC2ERKS7_.exit, label %66 @@ -353,16 +351,16 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit22: ; 69: ; preds = %66 %70 = getelementptr inbounds nuw i8, ptr %1, i64 120 - %71 = load ptr, ptr %70, align 8, !tbaa !19 - store ptr %71, ptr %63, align 8, !tbaa !19 - %72 = load ptr, ptr %64, align 8, !tbaa !15 - store ptr %72, ptr %62, align 8, !tbaa !15 + %71 = load ptr, ptr %70, align 8, !tbaa !18 + store ptr %71, ptr %63, align 8, !tbaa !18 + %72 = load ptr, ptr %64, align 8, !tbaa !14 + store ptr %72, ptr %62, align 8, !tbaa !14 br label %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEEC2ERKS7_.exit 73: ; preds = %66 %74 = landingpad { ptr, i32 } cleanup - %75 = load ptr, ptr %62, align 8, !tbaa !15 + %75 = load ptr, ptr %62, align 8, !tbaa !14 %.not.i.i24 = icmp eq ptr %75, null br i1 %.not.i.i24, label %.body26, label %76 @@ -383,7 +381,7 @@ _ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEEC2ERKS7_. %83 = getelementptr inbounds nuw i8, ptr %0, i64 152 %84 = getelementptr inbounds nuw i8, ptr %1, i64 144 tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %81, i8 0, i64 32, i1 false) - %85 = load ptr, ptr %84, align 8, !tbaa !15 + %85 = load ptr, ptr %84, align 8, !tbaa !14 %.not.i.i.not.i28 = icmp eq ptr %85, null br i1 %.not.i.i.not.i28, label %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS3_EEEC2ERKS9_.exit, label %86 @@ -394,16 +392,16 @@ _ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEEC2ERKS7_. 89: ; preds = %86 %90 = getelementptr inbounds nuw i8, ptr %1, i64 152 - %91 = load ptr, ptr %90, align 8, !tbaa !21 - store ptr %91, ptr %83, align 8, !tbaa !21 - %92 = load ptr, ptr %84, align 8, !tbaa !15 - store ptr %92, ptr %82, align 8, !tbaa !15 + %91 = load ptr, ptr %90, align 8, !tbaa !20 + store ptr %91, ptr %83, align 8, !tbaa !20 + %92 = load ptr, ptr %84, align 8, !tbaa !14 + store ptr %92, ptr %82, align 8, !tbaa !14 br label %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS3_EEEC2ERKS9_.exit 93: ; preds = %86 %94 = landingpad { ptr, i32 } cleanup - %95 = load ptr, ptr %82, align 8, !tbaa !15 + %95 = load ptr, ptr %82, align 8, !tbaa !14 %.not.i.i29 = icmp eq ptr %95, null br i1 %.not.i.i29, label %.body31, label %96 @@ -422,7 +420,7 @@ _ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_st ret void .body31: ; preds = %93, %96 - %101 = load ptr, ptr %62, align 8, !tbaa !15 + %101 = load ptr, ptr %62, align 8, !tbaa !14 %.not.i = icmp eq ptr %101, null br i1 %.not.i, label %.body26, label %102 @@ -439,7 +437,7 @@ _ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_st .body26: ; preds = %102, %.body31, %76, %73 %.pn = phi { ptr, i32 } [ %74, %76 ], [ %74, %73 ], [ %94, %.body31 ], [ %94, %102 ] - %107 = load ptr, ptr %42, align 8, !tbaa !15 + %107 = load ptr, ptr %42, align 8, !tbaa !14 %.not.i33 = icmp eq ptr %107, null br i1 %.not.i33, label %.body20, label %108 @@ -456,7 +454,7 @@ _ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_st .body20: ; preds = %108, %.body26, %56, %53 %.pn.pn = phi { ptr, i32 } [ %54, %56 ], [ %54, %53 ], [ %.pn, %.body26 ], [ %.pn, %108 ] - %113 = load ptr, ptr %22, align 8, !tbaa !15 + %113 = load ptr, ptr %22, align 8, !tbaa !14 %.not.i35 = icmp eq ptr %113, null br i1 %.not.i35, label %.body, label %114 @@ -473,7 +471,7 @@ _ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_st .body: ; preds = %114, %.body20, %36, %33 %.pn.pn.pn = phi { ptr, i32 } [ %34, %36 ], [ %34, %33 ], [ %.pn.pn, %.body20 ], [ %.pn.pn, %114 ] - %119 = load ptr, ptr %3, align 8, !tbaa !15 + %119 = load ptr, ptr %3, align 8, !tbaa !14 %.not.i37 = icmp eq ptr %119, null br i1 %.not.i37, label %common.resume, label %120 @@ -501,7 +499,7 @@ _ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i.i: ; preds = %2, %6 %.1.i.i.in.i = phi i64 [ %.1.i.i.i, %6 ], [ %0, %2 ] %.1.i.i.i = add i64 %.1.i.i.in.i, -1 %4 = getelementptr inbounds nuw i8, ptr %1, i64 %.1.i.i.i - %5 = load i8, ptr %4, align 1, !tbaa !14 + %5 = load i8, ptr %4, align 1, !tbaa !22 switch i8 %5, label %6 [ i8 92, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE12find_last_ofEPKcm.exit.i i8 47, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE12find_last_ofEPKcm.exit.i @@ -581,7 +579,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.threa br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: ; preds = %_ZN4absl10StartsWithESt17basic_string_viewIcSt11char_traitsIcEES3_.exit19 - %29 = load i64, ptr %26, align 8, !tbaa !14 + %29 = load i64, ptr %26, align 8, !tbaa !22 %30 = add i64 %29, 1 call void @_ZdlPvm(ptr noundef %11, i64 noundef %30) #19 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit @@ -634,7 +632,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.threa br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: ; preds = %7 - %14 = load i64, ptr %10, align 8, !tbaa !14 + %14 = load i64, ptr %10, align 8, !tbaa !22 %15 = add i64 %14, 1 tail call void @_ZdlPvm(ptr noundef %9, i64 noundef %15) #19 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit @@ -655,7 +653,7 @@ define internal void @_ZN4absl14flags_internal12_GLOBAL__N_117NormalizeFilenameB _ZNSt11char_traitsIcE4findEPKcmRS1_.exit.i.i: ; preds = %3, %7 %.0710.i.i = phi i64 [ %8, %7 ], [ 0, %3 ] %5 = getelementptr inbounds nuw i8, ptr %2, i64 %.0710.i.i - %6 = load i8, ptr %5, align 1, !tbaa !14 + %6 = load i8, ptr %5, align 1, !tbaa !22 switch i8 %6, label %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE17find_first_not_ofEPKcm.exit [ i8 92, label %7 i8 47, label %7 @@ -676,7 +674,7 @@ _ZNKSt17basic_string_viewIcSt11char_traitsIcEE17find_first_not_ofEPKcm.exit.thre store ptr %11, ptr %0, align 8, !tbaa !31 %12 = getelementptr inbounds nuw i8, ptr %0, i64 8 store i64 0, ptr %12, align 8, !tbaa !29 - store i8 0, ptr %11, align 8, !tbaa !14 + store i8 0, ptr %11, align 8, !tbaa !22 br label %28 13: ; preds = %_ZNKSt17basic_string_viewIcSt11char_traitsIcEE17find_first_not_ofEPKcm.exit @@ -692,7 +690,7 @@ _ZNKSt17basic_string_viewIcSt11char_traitsIcEE17find_first_not_ofEPKcm.exit.thre %17 = call noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef 0) store ptr %17, ptr %0, align 8, !tbaa !25 %18 = load i64, ptr %4, align 8, !tbaa !32 - store i64 %18, ptr %15, align 8, !tbaa !14 + store i64 %18, ptr %15, align 8, !tbaa !22 br label %._crit_edge.i.i.i.i ._crit_edge.i.i.i.i: ; preds = %.noexc.i.i.i, %13 @@ -703,8 +701,8 @@ _ZNKSt17basic_string_viewIcSt11char_traitsIcEE17find_first_not_ofEPKcm.exit.thre ] 20: ; preds = %._crit_edge.i.i.i.i - %21 = load i8, ptr %9, align 1, !tbaa !14 - store i8 %21, ptr %19, align 1, !tbaa !14 + %21 = load i8, ptr %9, align 1, !tbaa !22 + store i8 %21, ptr %19, align 1, !tbaa !22 br label %23 22: ; preds = %._crit_edge.i.i.i.i @@ -717,7 +715,7 @@ _ZNKSt17basic_string_viewIcSt11char_traitsIcEE17find_first_not_ofEPKcm.exit.thre store i64 %24, ptr %25, align 8, !tbaa !29 %26 = load ptr, ptr %0, align 8, !tbaa !25 %27 = getelementptr inbounds nuw i8, ptr %26, i64 %24 - store i8 0, ptr %27, align 1, !tbaa !14 + store i8 0, ptr %27, align 1, !tbaa !22 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #16 br label %28 @@ -750,7 +748,7 @@ _ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i: ; preds = %3 15: ; preds = %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i %16 = getelementptr inbounds nuw i8, ptr %11, i64 67 - %17 = load i8, ptr %16, align 1, !tbaa !14 + %17 = load i8, ptr %16, align 1, !tbaa !22 br label %_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_.exit 18: ; preds = %_ZSt13__check_facetISt5ctypeIcEERKT_PS3_.exit.i.i @@ -797,14 +795,14 @@ define dso_local void @_ZN4absl19SetFlagsUsageConfigENS_16FlagsUsageConfigE(ptr _ZN4absl14flags_internal12_GLOBAL__N_122CustomUsageConfigMutexEv.exit: ; preds = %1, %4, %6 tail call void @_ZN4absl5Mutex4LockEv(ptr noundef nonnull align 8 dereferenceable(8) @_ZZN4absl14flags_internal12_GLOBAL__N_122CustomUsageConfigMutexEvE5mutex) %7 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %8 = load ptr, ptr %7, align 8, !tbaa !15 + %8 = load ptr, ptr %7, align 8, !tbaa !14 %.not.i.i.not = icmp eq ptr %8, null br i1 %.not.i.i.not, label %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSIRS4_EENSt9enable_ifIXsr9_CallableIT_EE5valueERS5_E4typeEOS9_.exit, label %10 _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSIRS4_EENSt9enable_ifIXsr9_CallableIT_EE5valueERS5_E4typeEOS9_.exit: ; preds = %_ZN4absl14flags_internal12_GLOBAL__N_122CustomUsageConfigMutexEv.exit %.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 8 store ptr @_ZN4absl14flags_internal12_GLOBAL__N_122ContainsHelpshortFlagsESt17basic_string_viewIcSt11char_traitsIcEE, ptr %0, align 8 - store i64 0, ptr %.sroa.5.0..sroa_idx, align 8, !tbaa !14 + store i64 0, ptr %.sroa.5.0..sroa_idx, align 8, !tbaa !22 store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation, ptr %7, align 8, !tbaa !13 %9 = getelementptr inbounds nuw i8, ptr %0, i64 24 store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E9_M_invokeERKSt9_Any_dataOS3_, ptr %9, align 8, !tbaa !13 @@ -812,7 +810,7 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSIRS4_EENSt9enable 10: ; preds = %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSIRS4_EENSt9enable_ifIXsr9_CallableIT_EE5valueERS5_E4typeEOS9_.exit, %_ZN4absl14flags_internal12_GLOBAL__N_122CustomUsageConfigMutexEv.exit %11 = getelementptr inbounds nuw i8, ptr %0, i64 48 - %12 = load ptr, ptr %11, align 8, !tbaa !15 + %12 = load ptr, ptr %11, align 8, !tbaa !14 %.not.i.i5.not = icmp eq ptr %12, null br i1 %.not.i.i5.not, label %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSIRS4_EENSt9enable_ifIXsr9_CallableIT_EE5valueERS5_E4typeEOS9_.exit8, label %15 @@ -820,7 +818,7 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSIRS4_EENSt9enable %13 = getelementptr inbounds nuw i8, ptr %0, i64 32 %.sroa.525.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 40 store ptr @_ZN4absl14flags_internal12_GLOBAL__N_124ContainsHelppackageFlagsESt17basic_string_viewIcSt11char_traitsIcEE, ptr %13, align 8 - store i64 0, ptr %.sroa.525.0..sroa_idx, align 8, !tbaa !14 + store i64 0, ptr %.sroa.525.0..sroa_idx, align 8, !tbaa !22 store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation, ptr %11, align 8, !tbaa !13 %14 = getelementptr inbounds nuw i8, ptr %0, i64 56 store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E9_M_invokeERKSt9_Any_dataOS3_, ptr %14, align 8, !tbaa !13 @@ -828,7 +826,7 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSIRS4_EENSt9enable 15: ; preds = %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSIRS4_EENSt9enable_ifIXsr9_CallableIT_EE5valueERS5_E4typeEOS9_.exit8, %10 %16 = getelementptr inbounds nuw i8, ptr %0, i64 80 - %17 = load ptr, ptr %16, align 8, !tbaa !15 + %17 = load ptr, ptr %16, align 8, !tbaa !14 %.not.i.i9.not = icmp eq ptr %17, null br i1 %.not.i.i9.not, label %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSIRS4_EENSt9enable_ifIXsr9_CallableIT_EE5valueERS5_E4typeEOS9_.exit12, label %20 @@ -836,7 +834,7 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSIRS4_EENSt9enable %18 = getelementptr inbounds nuw i8, ptr %0, i64 64 %.sroa.531.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 72 store ptr @_ZN4absl14flags_internal12_GLOBAL__N_124ContainsHelppackageFlagsESt17basic_string_viewIcSt11char_traitsIcEE, ptr %18, align 8 - store i64 0, ptr %.sroa.531.0..sroa_idx, align 8, !tbaa !14 + store i64 0, ptr %.sroa.531.0..sroa_idx, align 8, !tbaa !22 store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation, ptr %16, align 8, !tbaa !13 %19 = getelementptr inbounds nuw i8, ptr %0, i64 88 store ptr @_ZNSt17_Function_handlerIFbSt17basic_string_viewIcSt11char_traitsIcEEEPS4_E9_M_invokeERKSt9_Any_dataOS3_, ptr %19, align 8, !tbaa !13 @@ -844,7 +842,7 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSIRS4_EENSt9enable 20: ; preds = %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSIRS4_EENSt9enable_ifIXsr9_CallableIT_EE5valueERS5_E4typeEOS9_.exit12, %15 %21 = getelementptr inbounds nuw i8, ptr %0, i64 112 - %22 = load ptr, ptr %21, align 8, !tbaa !15 + %22 = load ptr, ptr %21, align 8, !tbaa !14 %.not.i.i13.not = icmp eq ptr %22, null br i1 %.not.i.i13.not, label %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEEaSIRS6_EENSt9enable_ifIXsr9_CallableIT_EE5valueERS7_E4typeEOSB_.exit, label %25 @@ -852,7 +850,7 @@ _ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEEaSIRS6_EE %23 = getelementptr inbounds nuw i8, ptr %0, i64 96 %.sroa.537.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 104 store ptr @_ZN4absl14flags_internal12_GLOBAL__N_113VersionStringB5cxx11Ev, ptr %23, align 8 - store i64 0, ptr %.sroa.537.0..sroa_idx, align 8, !tbaa !14 + store i64 0, ptr %.sroa.537.0..sroa_idx, align 8, !tbaa !22 store ptr @_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEPS6_E10_M_managerERSt9_Any_dataRKS9_St18_Manager_operation, ptr %21, align 8, !tbaa !13 %24 = getelementptr inbounds nuw i8, ptr %0, i64 120 store ptr @_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEPS6_E9_M_invokeERKSt9_Any_data, ptr %24, align 8, !tbaa !13 @@ -860,7 +858,7 @@ _ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEEaSIRS6_EE 25: ; preds = %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEEaSIRS6_EENSt9enable_ifIXsr9_CallableIT_EE5valueERS7_E4typeEOSB_.exit, %20 %26 = getelementptr inbounds nuw i8, ptr %0, i64 144 - %27 = load ptr, ptr %26, align 8, !tbaa !15 + %27 = load ptr, ptr %26, align 8, !tbaa !14 %.not.i.i16.not = icmp eq ptr %27, null br i1 %.not.i.i16.not, label %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS3_EEEaSIRS8_EENSt9enable_ifIXsr9_CallableIT_EE5valueERS9_E4typeEOSD_.exit, label %30 @@ -868,7 +866,7 @@ _ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_st %28 = getelementptr inbounds nuw i8, ptr %0, i64 128 %.sroa.543.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 136 store ptr @_ZN4absl14flags_internal12_GLOBAL__N_117NormalizeFilenameB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE, ptr %28, align 8 - store i64 0, ptr %.sroa.543.0..sroa_idx, align 8, !tbaa !14 + store i64 0, ptr %.sroa.543.0..sroa_idx, align 8, !tbaa !22 store ptr @_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS3_EEPS8_E10_M_managerERSt9_Any_dataRKSB_St18_Manager_operation, ptr %26, align 8, !tbaa !13 %29 = getelementptr inbounds nuw i8, ptr %0, i64 152 store ptr @_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS3_EEPS8_E9_M_invokeERKSt9_Any_dataOS7_, ptr %29, align 8, !tbaa !13 @@ -953,7 +951,7 @@ define linkonce_odr dso_local noundef nonnull align 8 dereferenceable(160) ptr @ %9 = getelementptr inbounds nuw i8, ptr %7, i64 24 %10 = getelementptr inbounds nuw i8, ptr %1, i64 16 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %7, i8 0, i64 32, i1 false) - %11 = load ptr, ptr %10, align 8, !tbaa !15 + %11 = load ptr, ptr %10, align 8, !tbaa !14 %.not.i.i.not.i.i = icmp eq ptr %11, null br i1 %.not.i.i.not.i.i, label %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit.i, label %12 @@ -963,14 +961,14 @@ define linkonce_odr dso_local noundef nonnull align 8 dereferenceable(160) ptr @ 14: ; preds = %12 %15 = getelementptr inbounds nuw i8, ptr %1, i64 24 - %16 = load ptr, ptr %15, align 8, !tbaa !17 - %17 = load ptr, ptr %10, align 8, !tbaa !15 + %16 = load ptr, ptr %15, align 8, !tbaa !16 + %17 = load ptr, ptr %10, align 8, !tbaa !14 br label %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit.i 18: ; preds = %12 %19 = landingpad { ptr, i32 } cleanup - %20 = load ptr, ptr %8, align 8, !tbaa !15 + %20 = load ptr, ptr %8, align 8, !tbaa !14 %.not.i.i.i = icmp eq ptr %20, null br i1 %.not.i.i.i, label %common.resume, label %21 @@ -1027,7 +1025,7 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSERKS5_.exit: ; pr %39 = getelementptr inbounds nuw i8, ptr %6, i64 24 %40 = getelementptr inbounds nuw i8, ptr %1, i64 48 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %6, i8 0, i64 32, i1 false) - %41 = load ptr, ptr %40, align 8, !tbaa !15 + %41 = load ptr, ptr %40, align 8, !tbaa !14 %.not.i.i.not.i.i7 = icmp eq ptr %41, null br i1 %.not.i.i.not.i.i7, label %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit.i10, label %42 @@ -1038,14 +1036,14 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSERKS5_.exit: ; pr 45: ; preds = %42 %46 = getelementptr inbounds nuw i8, ptr %1, i64 56 - %47 = load ptr, ptr %46, align 8, !tbaa !17 - %48 = load ptr, ptr %40, align 8, !tbaa !15 + %47 = load ptr, ptr %46, align 8, !tbaa !16 + %48 = load ptr, ptr %40, align 8, !tbaa !14 br label %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit.i10 49: ; preds = %42 %50 = landingpad { ptr, i32 } cleanup - %51 = load ptr, ptr %38, align 8, !tbaa !15 + %51 = load ptr, ptr %38, align 8, !tbaa !14 %.not.i.i.i8 = icmp eq ptr %51, null br i1 %.not.i.i.i8, label %common.resume, label %52 @@ -1098,7 +1096,7 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSERKS5_.exit12: ; %70 = getelementptr inbounds nuw i8, ptr %5, i64 24 %71 = getelementptr inbounds nuw i8, ptr %1, i64 80 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %5, i8 0, i64 32, i1 false) - %72 = load ptr, ptr %71, align 8, !tbaa !15 + %72 = load ptr, ptr %71, align 8, !tbaa !14 %.not.i.i.not.i.i14 = icmp eq ptr %72, null br i1 %.not.i.i.not.i.i14, label %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit.i17, label %73 @@ -1109,14 +1107,14 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSERKS5_.exit12: ; 76: ; preds = %73 %77 = getelementptr inbounds nuw i8, ptr %1, i64 88 - %78 = load ptr, ptr %77, align 8, !tbaa !17 - %79 = load ptr, ptr %71, align 8, !tbaa !15 + %78 = load ptr, ptr %77, align 8, !tbaa !16 + %79 = load ptr, ptr %71, align 8, !tbaa !14 br label %_ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEC2ERKS5_.exit.i17 80: ; preds = %73 %81 = landingpad { ptr, i32 } cleanup - %82 = load ptr, ptr %69, align 8, !tbaa !15 + %82 = load ptr, ptr %69, align 8, !tbaa !14 %.not.i.i.i15 = icmp eq ptr %82, null br i1 %.not.i.i.i15, label %common.resume, label %83 @@ -1169,7 +1167,7 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSERKS5_.exit19: ; %101 = getelementptr inbounds nuw i8, ptr %4, i64 24 %102 = getelementptr inbounds nuw i8, ptr %1, i64 112 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %4, i8 0, i64 32, i1 false) - %103 = load ptr, ptr %102, align 8, !tbaa !15 + %103 = load ptr, ptr %102, align 8, !tbaa !14 %.not.i.i.not.i.i21 = icmp eq ptr %103, null br i1 %.not.i.i.not.i.i21, label %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEEC2ERKS7_.exit.i, label %104 @@ -1180,14 +1178,14 @@ _ZNSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEEaSERKS5_.exit19: ; 107: ; preds = %104 %108 = getelementptr inbounds nuw i8, ptr %1, i64 120 - %109 = load ptr, ptr %108, align 8, !tbaa !19 - %110 = load ptr, ptr %102, align 8, !tbaa !15 + %109 = load ptr, ptr %108, align 8, !tbaa !18 + %110 = load ptr, ptr %102, align 8, !tbaa !14 br label %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEEC2ERKS7_.exit.i 111: ; preds = %104 %112 = landingpad { ptr, i32 } cleanup - %113 = load ptr, ptr %100, align 8, !tbaa !15 + %113 = load ptr, ptr %100, align 8, !tbaa !14 %.not.i.i.i22 = icmp eq ptr %113, null br i1 %.not.i.i.i22, label %common.resume, label %114 @@ -1240,7 +1238,7 @@ _ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEEaSERKS7_. %132 = getelementptr inbounds nuw i8, ptr %3, i64 24 %133 = getelementptr inbounds nuw i8, ptr %1, i64 144 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %3, i8 0, i64 32, i1 false) - %134 = load ptr, ptr %133, align 8, !tbaa !15 + %134 = load ptr, ptr %133, align 8, !tbaa !14 %.not.i.i.not.i.i26 = icmp eq ptr %134, null br i1 %.not.i.i.not.i.i26, label %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS3_EEEC2ERKS9_.exit.i, label %135 @@ -1251,14 +1249,14 @@ _ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEEaSERKS7_. 138: ; preds = %135 %139 = getelementptr inbounds nuw i8, ptr %1, i64 152 - %140 = load ptr, ptr %139, align 8, !tbaa !21 - %141 = load ptr, ptr %133, align 8, !tbaa !15 + %140 = load ptr, ptr %139, align 8, !tbaa !20 + %141 = load ptr, ptr %133, align 8, !tbaa !14 br label %_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS3_EEEC2ERKS9_.exit.i 142: ; preds = %135 %143 = landingpad { ptr, i32 } cleanup - %144 = load ptr, ptr %131, align 8, !tbaa !15 + %144 = load ptr, ptr %131, align 8, !tbaa !14 %.not.i.i.i27 = icmp eq ptr %144, null br i1 %.not.i.i.i27, label %common.resume, label %145 @@ -1512,15 +1510,15 @@ attributes #20 = { builtin allocsize(0) } !11 = !{!"p1 _ZTSN4absl16FlagsUsageConfigE", !12, i64 0} !12 = !{!"any pointer", !8, i64 0} !13 = !{!12, !12, i64 0} -!14 = !{!8, !8, i64 0} -!15 = !{!16, !12, i64 16} -!16 = !{!"_ZTSSt14_Function_base", !8, i64 0, !12, i64 16} -!17 = !{!18, !12, i64 24} -!18 = !{!"_ZTSSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEE", !16, i64 0, !12, i64 24} -!19 = !{!20, !12, i64 24} -!20 = !{!"_ZTSSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEE", !16, i64 0, !12, i64 24} -!21 = !{!22, !12, i64 24} -!22 = !{!"_ZTSSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS3_EEE", !16, i64 0, !12, i64 24} +!14 = !{!15, !12, i64 16} +!15 = !{!"_ZTSSt14_Function_base", !8, i64 0, !12, i64 16} +!16 = !{!17, !12, i64 24} +!17 = !{!"_ZTSSt8functionIFbSt17basic_string_viewIcSt11char_traitsIcEEEE", !15, i64 0, !12, i64 24} +!18 = !{!19, !12, i64 24} +!19 = !{!"_ZTSSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEE", !15, i64 0, !12, i64 24} +!20 = !{!21, !12, i64 24} +!21 = !{!"_ZTSSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt17basic_string_viewIcS3_EEE", !15, i64 0, !12, i64 24} +!22 = !{!8, !8, i64 0} !23 = distinct !{!23, !24} !24 = !{!"llvm.loop.mustprogress"} !25 = !{!26, !28, i64 0} @@ -1556,7 +1554,7 @@ attributes #20 = { builtin allocsize(0) } !55 = !{!"p1 _ZTS15__locale_struct", !12, i64 0} !56 = !{!"p1 int", !12, i64 0} !57 = !{!"p1 short", !12, i64 0} -!58 = !{i64 0, i64 16, !14} +!58 = !{i64 0, i64 16, !22} !59 = !{!28, !28, i64 0} !60 = !{!61, !63} !61 = distinct !{!61, !62, !"_ZSt13__invoke_implINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERPFS5_vEJEET_St14__invoke_otherOT0_DpOT1_: argument 0"} diff --git a/bench/arrow/optimized/vector_selection.ll b/bench/arrow/optimized/vector_selection.ll index 6fb7ff9698c..f257ef6f4fd 100644 --- a/bench/arrow/optimized/vector_selection.ll +++ b/bench/arrow/optimized/vector_selection.ll @@ -1247,7 +1247,7 @@ define void @_ZN5arrow7compute8internal23RegisterVectorSelectionEPNS0_16Function _ZNSt8functionIFN5arrow6ResultISt10unique_ptrINS0_7compute11KernelStateESt14default_deleteIS4_EEEEPNS3_13KernelContextERKNS3_14KernelInitArgsEEEaSIRSE_EENSt9enable_ifIXsr9_CallableIT_EE5valueERSF_E4typeEOSJ_.exit: ; preds = %1 call void @llvm.lifetime.start.p0(i64 136, ptr nonnull %19) #26 %41 = getelementptr inbounds nuw i8, ptr %19, i64 48 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(131) %19, i8 0, i64 48, i1 false) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(131) %19, i8 0, i64 16, i1 false) store i8 1, ptr %41, align 8, !tbaa !48 %42 = getelementptr inbounds nuw i8, ptr %19, i64 52 call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %42, i8 0, i64 20, i1 false) @@ -1266,7 +1266,7 @@ _ZNSt8functionIFN5arrow6ResultISt10unique_ptrINS0_7compute11KernelStateESt14defa %49 = getelementptr inbounds nuw i8, ptr %19, i64 16 store ptr @_ZN5arrow7compute8internal14OptionsWrapperINS0_13FilterOptionsEE4InitEPNS0_13KernelContextERKNS0_14KernelInitArgsE, ptr %49, align 8 %.sroa.0.i.i.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %19, i64 24 - store i64 0, ptr %.sroa.0.i.i.i.sroa.4.0..sroa_idx, align 8, !tbaa !39 + store i64 0, ptr %.sroa.0.i.i.i.sroa.4.0..sroa_idx, align 8 %50 = getelementptr inbounds nuw i8, ptr %19, i64 32 store ptr @_ZNSt17_Function_handlerIFN5arrow6ResultISt10unique_ptrINS0_7compute11KernelStateESt14default_deleteIS4_EEEEPNS3_13KernelContextERKNS3_14KernelInitArgsEEPSE_E10_M_managerERSt9_Any_dataRKSH_St18_Manager_operation, ptr %50, align 8, !tbaa !71 %51 = getelementptr inbounds nuw i8, ptr %19, i64 40 @@ -1623,7 +1623,7 @@ _ZNSt10unique_ptrIN5arrow7compute8FunctionESt14default_deleteIS2_EED2Ev.exit58: _ZNSt8functionIFN5arrow6ResultISt10unique_ptrINS0_7compute11KernelStateESt14default_deleteIS4_EEEEPNS3_13KernelContextERKNS3_14KernelInitArgsEEEaSIRSE_EENSt9enable_ifIXsr9_CallableIT_EE5valueERSF_E4typeEOSJ_.exit61: ; preds = %_ZNSt10unique_ptrIN5arrow7compute8FunctionESt14default_deleteIS2_EED2Ev.exit call void @llvm.lifetime.start.p0(i64 136, ptr nonnull %27) #26 %182 = getelementptr inbounds nuw i8, ptr %27, i64 48 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(131) %27, i8 0, i64 48, i1 false) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(131) %27, i8 0, i64 16, i1 false) store i8 1, ptr %182, align 8, !tbaa !48 %183 = getelementptr inbounds nuw i8, ptr %27, i64 52 call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %183, i8 0, i64 20, i1 false) @@ -1641,7 +1641,7 @@ _ZNSt8functionIFN5arrow6ResultISt10unique_ptrINS0_7compute11KernelStateESt14defa %190 = getelementptr inbounds nuw i8, ptr %27, i64 16 store ptr @_ZN5arrow7compute8internal14OptionsWrapperINS0_11TakeOptionsEE4InitEPNS0_13KernelContextERKNS0_14KernelInitArgsE, ptr %190, align 8 %.sroa.0.i.i.i59.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %27, i64 24 - store i64 0, ptr %.sroa.0.i.i.i59.sroa.4.0..sroa_idx, align 8, !tbaa !39 + store i64 0, ptr %.sroa.0.i.i.i59.sroa.4.0..sroa_idx, align 8 %191 = getelementptr inbounds nuw i8, ptr %27, i64 32 store ptr @_ZNSt17_Function_handlerIFN5arrow6ResultISt10unique_ptrINS0_7compute11KernelStateESt14default_deleteIS4_EEEEPNS3_13KernelContextERKNS3_14KernelInitArgsEEPSE_E10_M_managerERSt9_Any_dataRKSH_St18_Manager_operation, ptr %191, align 8, !tbaa !71 %192 = getelementptr inbounds nuw i8, ptr %27, i64 40 diff --git a/bench/boost/optimized/ipv4_address_rule.ll b/bench/boost/optimized/ipv4_address_rule.ll index c5c6abdcbd6..c31b7e60972 100644 --- a/bench/boost/optimized/ipv4_address_rule.ll +++ b/bench/boost/optimized/ipv4_address_rule.ll @@ -17,14 +17,6 @@ target triple = "x86_64-pc-linux-gnu" %union.anon.3 = type { %"struct.boost::system::error_code::data" } %"struct.boost::system::error_code::data" = type { i32, ptr } %"struct.std::is_same" = type { i8 } -%"struct.std::_Tuple_impl.63" = type { %"struct.std::_Tuple_impl.64", %"struct.std::_Head_base.70" } -%"struct.std::_Tuple_impl.64" = type { %"struct.std::_Tuple_impl.65", %"struct.std::_Head_base.69" } -%"struct.std::_Tuple_impl.65" = type { %"struct.std::_Tuple_impl.66", %"struct.std::_Head_base.68" } -%"struct.std::_Tuple_impl.66" = type { %"struct.std::_Head_base.67" } -%"struct.std::_Head_base.67" = type { %"class.boost::system::error_code" } -%"struct.std::_Head_base.68" = type { %"class.boost::system::error_code" } -%"struct.std::_Head_base.69" = type { %"class.boost::system::error_code" } -%"struct.std::_Head_base.70" = type { %"class.boost::system::error_code" } %"struct.boost::urls::grammar::detail::parse_sequence" = type { %"class.boost::system::error_code", ptr, %"class.std::tuple.38" } %"class.std::tuple.38" = type { %"struct.std::_Tuple_impl.39" } %"struct.std::_Tuple_impl.39" = type { %"struct.std::_Tuple_impl.40", %"struct.std::_Head_base.61" } @@ -101,7 +93,6 @@ declare void @llvm.lifetime.end.p0(i64 immarg, ptr captures(none)) #2 ; Function Attrs: mustprogress nounwind uwtable define void @_ZNK5boost4urls22implementation_defined19ipv4_address_rule_t5parseERPKcS4_(ptr dead_on_unwind noalias writable writeonly sret(%"class.boost::system::result") align 8 captures(none) %0, ptr noundef nonnull readnone align 1 captures(none) dereferenceable(1) %1, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %3) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { %5 = alloca %"struct.std::is_same", align 1 - %.sroa.0.i.i.i = alloca %"struct.std::_Tuple_impl.63", align 8 %6 = alloca %"struct.boost::urls::grammar::detail::parse_sequence", align 8 %7 = alloca %"struct.std::integral_constant.36", align 1 %8 = alloca %"struct.std::integral_constant.36", align 1 @@ -114,27 +105,21 @@ define void @_ZNK5boost4urls22implementation_defined19ipv4_address_rule_t5parseE %11 = getelementptr inbounds nuw i8, ptr %6, i64 24 store ptr %9, ptr %11, align 8, !tbaa !8, !noalias !3 %12 = getelementptr inbounds nuw i8, ptr %6, i64 32 - call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %.sroa.0.i.i.i) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %.sroa.0.i.i.i, i8 0, i64 96, i1 false), !noalias !3 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %12, i8 0, i64 24, i1 false), !noalias !3 %13 = getelementptr inbounds nuw i8, ptr %6, i64 56 store i32 2, ptr %13, align 8, !tbaa !12, !noalias !3 %14 = getelementptr inbounds nuw i8, ptr %6, i64 64 - %.sroa.0.24..sroa_idx.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.0.i.i.i, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.24..sroa_idx.i.i.i, i64 24, i1 false), !tbaa.struct !15, !noalias !3 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %14, i8 0, i64 24, i1 false), !noalias !3 %15 = getelementptr inbounds nuw i8, ptr %6, i64 88 store i32 2, ptr %15, align 8, !tbaa !12, !noalias !3 %16 = getelementptr inbounds nuw i8, ptr %6, i64 96 - %.sroa.0.48..sroa_idx.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.0.i.i.i, i64 48 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.48..sroa_idx.i.i.i, i64 24, i1 false), !tbaa.struct !15, !noalias !3 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %16, i8 0, i64 24, i1 false), !noalias !3 %17 = getelementptr inbounds nuw i8, ptr %6, i64 120 store i32 2, ptr %17, align 8, !tbaa !12, !noalias !3 %18 = getelementptr inbounds nuw i8, ptr %6, i64 128 - %.sroa.0.72..sroa_idx.i.i.i = getelementptr inbounds nuw i8, ptr %.sroa.0.i.i.i, i64 72 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(24) %.sroa.0.72..sroa_idx.i.i.i, i64 24, i1 false), !tbaa.struct !15, !noalias !3 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %18, i8 0, i64 24, i1 false), !noalias !3 %19 = getelementptr inbounds nuw i8, ptr %6, i64 152 store i32 2, ptr %19, align 8, !tbaa !12, !noalias !3 - call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %.sroa.0.i.i.i) call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7) #8, !noalias !3 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) #8, !noalias !3 call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #8, !noalias !3 @@ -153,7 +138,7 @@ _ZN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined16 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #8, !noalias !3 call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #8, !noalias !3 %23 = getelementptr inbounds nuw i8, ptr %6, i64 16 - %24 = load i64, ptr %23, align 8, !tbaa !19, !noalias !21 + %24 = load i64, ptr %23, align 8, !tbaa !15, !noalias !18 %25 = and i64 %24, 1 %.not.i.i.i.i = icmp eq i64 %25, 0 br i1 %.not.i.i.i.i, label %38, label %26 @@ -186,27 +171,27 @@ _ZNKR5boost6system6resultISt5tupleIJhhhhEENS0_10error_codeEE5errorEv.exit: ; pre %.sroa.7.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 3 store i8 %31, ptr %.sroa.7.0..sroa_idx, align 1 %37 = getelementptr inbounds nuw i8, ptr %0, i64 24 - store i32 2, ptr %37, align 8, !tbaa !24 + store i32 2, ptr %37, align 8, !tbaa !21 br label %47 38: ; preds = %_ZN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined16dec_octet_rule_tEJNS4_14squelch_rule_tINS4_13ch_delim_ruleEEES5_S8_S5_S8_S5_EE5applyILm0ELm0EEENSt9enable_ifIXltT_plLi1EsZT1_EvE4typeERPKcSF_RKSt17integral_constantImXT_EERKSH_ImXT0_EE.exit.i.i, %26 - %39 = load i8, ptr %12, align 8, !tbaa !16, !noalias !21 - %40 = load i8, ptr %14, align 8, !tbaa !16, !noalias !21 - %41 = load i8, ptr %16, align 8, !tbaa !16, !noalias !21 - %42 = load i8, ptr %18, align 8, !tbaa !16, !noalias !21 + %39 = load i8, ptr %12, align 8, !tbaa !23, !noalias !18 + %40 = load i8, ptr %14, align 8, !tbaa !23, !noalias !18 + %41 = load i8, ptr %16, align 8, !tbaa !23, !noalias !18 + %42 = load i8, ptr %18, align 8, !tbaa !23, !noalias !18 call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %6) #8, !noalias !3 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #8 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #8 - store i8 %42, ptr %10, align 1, !tbaa !16 + store i8 %42, ptr %10, align 1, !tbaa !23 %43 = getelementptr inbounds nuw i8, ptr %10, i64 1 - store i8 %41, ptr %43, align 1, !tbaa !16 + store i8 %41, ptr %43, align 1, !tbaa !23 %44 = getelementptr inbounds nuw i8, ptr %10, i64 2 - store i8 %40, ptr %44, align 1, !tbaa !16 + store i8 %40, ptr %44, align 1, !tbaa !23 %45 = getelementptr inbounds nuw i8, ptr %10, i64 3 - store i8 %39, ptr %45, align 1, !tbaa !16 + store i8 %39, ptr %45, align 1, !tbaa !23 call void @_ZN5boost4urls12ipv4_addressC1ERKSt5arrayIhLm4EE(ptr noundef nonnull align 4 dereferenceable(4) %0, ptr noundef nonnull align 1 dereferenceable(4) %10) #8 %46 = getelementptr inbounds nuw i8, ptr %0, i64 24 - store i32 1, ptr %46, align 8, !tbaa !24 + store i32 1, ptr %46, align 8, !tbaa !21 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #8 br label %47 @@ -235,7 +220,7 @@ define linkonce_odr hidden void @_ZN5boost4urls7grammar6detail14parse_sequenceIL %14 = getelementptr inbounds nuw i8, ptr %0, i64 128 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #8 %15 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %16 = load ptr, ptr %15, align 8, !tbaa !26 + %16 = load ptr, ptr %15, align 8, !tbaa !24 call void @_ZNK5boost4urls7grammar22implementation_defined16dec_octet_rule_t5parseERPKcS5_(ptr dead_on_unwind nonnull writable sret(%"class.boost::system::result.44") align 8 %12, ptr noundef nonnull align 1 dereferenceable(1) %16, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef %2) #8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %12, i64 32, i1 false) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #8 @@ -250,7 +235,7 @@ define linkonce_odr hidden void @_ZN5boost4urls7grammar6detail14parse_sequenceIL br i1 %21, label %22, label %23 22: ; preds = %20 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(32) %14, i64 24, i1 false), !tbaa.struct !15 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(32) %14, i64 24, i1 false), !tbaa.struct !41 br label %_ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv.exit 23: ; preds = %20 @@ -258,12 +243,12 @@ define linkonce_odr hidden void @_ZN5boost4urls7grammar6detail14parse_sequenceIL br label %_ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv.exit _ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv.exit: ; preds = %22, %23 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %13, i64 24, i1 false), !tbaa.struct !15 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %13, i64 24, i1 false), !tbaa.struct !41 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) br label %_ZN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined16dec_octet_rule_tEJNS4_14squelch_rule_tINS4_13ch_delim_ruleEEES5_S8_S5_S8_S5_EE5applyILm1ELm1EEENSt9enable_ifIXltT_plLi1EsZT1_EvE4typeERPKcSF_RKSt17integral_constantImXT_EERKSH_ImXT0_EE.exit 24: ; preds = %6 - %25 = load ptr, ptr %15, align 8, !tbaa !26 + %25 = load ptr, ptr %15, align 8, !tbaa !24 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #8, !noalias !46 call void @_ZNK5boost4urls7grammar22implementation_defined13ch_delim_rule5parseERPKcS5_(ptr dead_on_unwind nonnull writable sret(%"class.boost::system::result.89") align 8 %8, ptr noundef nonnull align 1 dereferenceable(1) %25, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef %2) #8, !noalias !46 %26 = getelementptr inbounds nuw i8, ptr %8, i64 24 @@ -273,7 +258,7 @@ _ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv.exit: ; preds = %22, %23 _ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i.i: ; preds = %24 %.sroa.54.0..sroa_idx.i.i.i.i = getelementptr inbounds nuw i8, ptr %8, i64 16 - %.sroa.54.0.copyload.i.i.i.i = load i64, ptr %.sroa.54.0..sroa_idx.i.i.i.i, align 8, !tbaa !17, !noalias !46 + %.sroa.54.0.copyload.i.i.i.i = load i64, ptr %.sroa.54.0..sroa_idx.i.i.i.i, align 8, !tbaa !42, !noalias !46 %29 = and i64 %.sroa.54.0.copyload.i.i.i.i, 1 %.not.i.i.i.i.i.i = icmp eq i64 %29, 0 br i1 %.not.i.i.i.i.i.i, label %32, label %30 @@ -289,7 +274,7 @@ _ZNKR5boost6system6resultIvNS0_10error_codeEE5errorEv.exit.i.i: ; preds = %30 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #8, !noalias !46 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(160) %0, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false), !tbaa.struct !15 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(160) %0, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false), !tbaa.struct !41 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) br label %_ZN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined16dec_octet_rule_tEJNS4_14squelch_rule_tINS4_13ch_delim_ruleEEES5_S8_S5_S8_S5_EE5applyILm1ELm1EEENSt9enable_ifIXltT_plLi1EsZT1_EvE4typeERPKcSF_RKSt17integral_constantImXT_EERKSH_ImXT0_EE.exit @@ -336,7 +321,7 @@ define linkonce_odr hidden void @_ZN5boost4urls7grammar6detail14parse_sequenceIL %14 = getelementptr inbounds nuw i8, ptr %0, i64 96 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #8 %15 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %16 = load ptr, ptr %15, align 8, !tbaa !26 + %16 = load ptr, ptr %15, align 8, !tbaa !24 %17 = getelementptr inbounds nuw i8, ptr %16, i64 1 call void @_ZNK5boost4urls7grammar22implementation_defined16dec_octet_rule_t5parseERPKcS5_(ptr dead_on_unwind nonnull writable sret(%"class.boost::system::result.44") align 8 %12, ptr noundef nonnull align 1 dereferenceable(1) %17, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef %2) #8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %12, i64 32, i1 false) @@ -352,7 +337,7 @@ define linkonce_odr hidden void @_ZN5boost4urls7grammar6detail14parse_sequenceIL br i1 %22, label %23, label %24 23: ; preds = %21 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(32) %14, i64 24, i1 false), !tbaa.struct !15 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(32) %14, i64 24, i1 false), !tbaa.struct !41 br label %_ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv.exit 24: ; preds = %21 @@ -360,12 +345,12 @@ define linkonce_odr hidden void @_ZN5boost4urls7grammar6detail14parse_sequenceIL br label %_ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv.exit _ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv.exit: ; preds = %23, %24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %13, i64 24, i1 false), !tbaa.struct !15 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %13, i64 24, i1 false), !tbaa.struct !41 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) br label %_ZN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined16dec_octet_rule_tEJNS4_14squelch_rule_tINS4_13ch_delim_ruleEEES5_S8_S5_S8_S5_EE5applyILm3ELm2EEENSt9enable_ifIXltT_plLi1EsZT1_EvE4typeERPKcSF_RKSt17integral_constantImXT_EERKSH_ImXT0_EE.exit 25: ; preds = %6 - %26 = load ptr, ptr %15, align 8, !tbaa !26 + %26 = load ptr, ptr %15, align 8, !tbaa !24 %27 = getelementptr inbounds nuw i8, ptr %26, i64 1 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #8, !noalias !59 call void @_ZNK5boost4urls7grammar22implementation_defined13ch_delim_rule5parseERPKcS5_(ptr dead_on_unwind nonnull writable sret(%"class.boost::system::result.89") align 8 %8, ptr noundef nonnull align 1 dereferenceable(1) %27, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef %2) #8, !noalias !59 @@ -376,7 +361,7 @@ _ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv.exit: ; preds = %23, %24 _ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i.i: ; preds = %25 %.sroa.54.0..sroa_idx.i.i.i.i = getelementptr inbounds nuw i8, ptr %8, i64 16 - %.sroa.54.0.copyload.i.i.i.i = load i64, ptr %.sroa.54.0..sroa_idx.i.i.i.i, align 8, !tbaa !17, !noalias !59 + %.sroa.54.0.copyload.i.i.i.i = load i64, ptr %.sroa.54.0..sroa_idx.i.i.i.i, align 8, !tbaa !42, !noalias !59 %31 = and i64 %.sroa.54.0.copyload.i.i.i.i, 1 %.not.i.i.i.i.i.i = icmp eq i64 %31, 0 br i1 %.not.i.i.i.i.i.i, label %34, label %32 @@ -392,7 +377,7 @@ _ZNKR5boost6system6resultIvNS0_10error_codeEE5errorEv.exit.i.i: ; preds = %32 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #8, !noalias !59 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(160) %0, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false), !tbaa.struct !15 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(160) %0, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false), !tbaa.struct !41 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) br label %_ZN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined16dec_octet_rule_tEJNS4_14squelch_rule_tINS4_13ch_delim_ruleEEES5_S8_S5_S8_S5_EE5applyILm3ELm2EEENSt9enable_ifIXltT_plLi1EsZT1_EvE4typeERPKcSF_RKSt17integral_constantImXT_EERKSH_ImXT0_EE.exit @@ -433,7 +418,7 @@ define linkonce_odr hidden void @_ZN5boost4urls7grammar6detail14parse_sequenceIL %14 = getelementptr inbounds nuw i8, ptr %0, i64 64 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #8 %15 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %16 = load ptr, ptr %15, align 8, !tbaa !26 + %16 = load ptr, ptr %15, align 8, !tbaa !24 %17 = getelementptr inbounds nuw i8, ptr %16, i64 2 call void @_ZNK5boost4urls7grammar22implementation_defined16dec_octet_rule_t5parseERPKcS5_(ptr dead_on_unwind nonnull writable sret(%"class.boost::system::result.44") align 8 %11, ptr noundef nonnull align 1 dereferenceable(1) %17, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef %2) #8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %11, i64 32, i1 false) @@ -449,7 +434,7 @@ define linkonce_odr hidden void @_ZN5boost4urls7grammar6detail14parse_sequenceIL br i1 %22, label %23, label %24 23: ; preds = %21 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(32) %14, i64 24, i1 false), !tbaa.struct !15 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(32) %14, i64 24, i1 false), !tbaa.struct !41 br label %_ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv.exit 24: ; preds = %21 @@ -457,12 +442,12 @@ define linkonce_odr hidden void @_ZN5boost4urls7grammar6detail14parse_sequenceIL br label %_ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv.exit _ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv.exit: ; preds = %23, %24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %12, i64 24, i1 false), !tbaa.struct !15 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %12, i64 24, i1 false), !tbaa.struct !41 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) br label %_ZN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined16dec_octet_rule_tEJNS4_14squelch_rule_tINS4_13ch_delim_ruleEEES5_S8_S5_S8_S5_EE5applyILm5ELm3EEENSt9enable_ifIXltT_plLi1EsZT1_EvE4typeERPKcSF_RKSt17integral_constantImXT_EERKSH_ImXT0_EE.exit 25: ; preds = %6 - %26 = load ptr, ptr %15, align 8, !tbaa !26 + %26 = load ptr, ptr %15, align 8, !tbaa !24 %27 = getelementptr inbounds nuw i8, ptr %26, i64 2 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #8, !noalias !70 call void @_ZNK5boost4urls7grammar22implementation_defined13ch_delim_rule5parseERPKcS5_(ptr dead_on_unwind nonnull writable sret(%"class.boost::system::result.89") align 8 %9, ptr noundef nonnull align 1 dereferenceable(1) %27, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef %2) #8, !noalias !70 @@ -473,7 +458,7 @@ _ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv.exit: ; preds = %23, %24 _ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i.i: ; preds = %25 %.sroa.54.0..sroa_idx.i.i.i.i = getelementptr inbounds nuw i8, ptr %9, i64 16 - %.sroa.54.0.copyload.i.i.i.i = load i64, ptr %.sroa.54.0..sroa_idx.i.i.i.i, align 8, !tbaa !17, !noalias !70 + %.sroa.54.0.copyload.i.i.i.i = load i64, ptr %.sroa.54.0..sroa_idx.i.i.i.i, align 8, !tbaa !42, !noalias !70 %31 = and i64 %.sroa.54.0.copyload.i.i.i.i, 1 %.not.i.i.i.i.i.i = icmp eq i64 %31, 0 br i1 %.not.i.i.i.i.i.i, label %34, label %32 @@ -489,14 +474,14 @@ _ZNKR5boost6system6resultIvNS0_10error_codeEE5errorEv.exit.i.i: ; preds = %32 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %9, i64 24, i1 false) call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #8, !noalias !70 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(160) %0, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 24, i1 false), !tbaa.struct !15 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(160) %0, ptr noundef nonnull align 8 dereferenceable(24) %10, i64 24, i1 false), !tbaa.struct !41 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) br label %_ZN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined16dec_octet_rule_tEJNS4_14squelch_rule_tINS4_13ch_delim_ruleEEES5_S8_S5_S8_S5_EE5applyILm5ELm3EEENSt9enable_ifIXltT_plLi1EsZT1_EvE4typeERPKcSF_RKSt17integral_constantImXT_EERKSH_ImXT0_EE.exit 34: ; preds = %32, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i.i, %25 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #8, !noalias !70 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #8 - %35 = load ptr, ptr %15, align 8, !tbaa !26 + %35 = load ptr, ptr %15, align 8, !tbaa !24 %36 = getelementptr inbounds nuw i8, ptr %35, i64 3 call void @_ZNK5boost4urls7grammar22implementation_defined16dec_octet_rule_t5parseERPKcS5_(ptr dead_on_unwind nonnull writable sret(%"class.boost::system::result.44") align 8 %7, ptr noundef nonnull align 1 dereferenceable(1) %36, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef %2) #8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %7, i64 32, i1 false) @@ -512,7 +497,7 @@ _ZNKR5boost6system6resultIvNS0_10error_codeEE5errorEv.exit.i.i: ; preds = %32 br i1 %41, label %42, label %43 42: ; preds = %40 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(32) %13, i64 24, i1 false), !tbaa.struct !15 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(32) %13, i64 24, i1 false), !tbaa.struct !41 br label %_ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv.exit.i.i.i.i 43: ; preds = %40 @@ -520,7 +505,7 @@ _ZNKR5boost6system6resultIvNS0_10error_codeEE5errorEv.exit.i.i: ; preds = %32 br label %_ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv.exit.i.i.i.i _ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv.exit.i.i.i.i: ; preds = %43, %42 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(160) %0, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false), !tbaa.struct !15 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(160) %0, ptr noundef nonnull align 8 dereferenceable(24) %8, i64 24, i1 false), !tbaa.struct !41 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) br label %_ZN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined16dec_octet_rule_tEJNS4_14squelch_rule_tINS4_13ch_delim_ruleEEES5_S8_S5_S8_S5_EE5applyILm5ELm3EEENSt9enable_ifIXltT_plLi1EsZT1_EvE4typeERPKcSF_RKSt17integral_constantImXT_EERKSH_ImXT0_EE.exit @@ -556,34 +541,34 @@ attributes #9 = { noreturn nounwind } !12 = !{!13, !14, i64 24} !13 = !{!"_ZTSN5boost8variant26detail17variant_base_implILb1ELb1EJhNS_6system10error_codeEEEE", !10, i64 0, !14, i64 24} !14 = !{!"int", !10, i64 0} -!15 = !{i64 0, i64 16, !16, i64 16, i64 8, !17} -!16 = !{!10, !10, i64 0} -!17 = !{!18, !18, i64 0} -!18 = !{!"long", !10, i64 0} -!19 = !{!20, !18, i64 16} -!20 = !{!"_ZTSN5boost6system10error_codeE", !10, i64 0, !18, i64 16} -!21 = !{!22, !4, !6} -!22 = distinct !{!22, !23, !"_ZN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined16dec_octet_rule_tEJNS4_14squelch_rule_tINS4_13ch_delim_ruleEEES5_S8_S5_S8_S5_EE11make_resultEv: argument 0"} -!23 = distinct !{!23, !"_ZN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined16dec_octet_rule_tEJNS4_14squelch_rule_tINS4_13ch_delim_ruleEEES5_S8_S5_S8_S5_EE11make_resultEv"} -!24 = !{!25, !14, i64 24} -!25 = !{!"_ZTSN5boost8variant26detail17variant_base_implILb1ELb1EJNS_4urls12ipv4_addressENS_6system10error_codeEEEE", !10, i64 0, !14, i64 24} -!26 = !{!27, !9, i64 24} -!27 = !{!"_ZTSN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined16dec_octet_rule_tEJNS4_14squelch_rule_tINS4_13ch_delim_ruleEEES5_S8_S5_S8_S5_EEE", !20, i64 0, !9, i64 24, !28, i64 32} -!28 = !{!"_ZTSSt5tupleIJN5boost6system6resultIhNS1_10error_codeEEES4_S4_S4_EE", !29, i64 0} -!29 = !{!"_ZTSSt11_Tuple_implILm0EJN5boost6system6resultIhNS1_10error_codeEEES4_S4_S4_EE", !30, i64 0, !42, i64 96} -!30 = !{!"_ZTSSt11_Tuple_implILm1EJN5boost6system6resultIhNS1_10error_codeEEES4_S4_EE", !31, i64 0, !41, i64 64} -!31 = !{!"_ZTSSt11_Tuple_implILm2EJN5boost6system6resultIhNS1_10error_codeEEES4_EE", !32, i64 0, !40, i64 32} -!32 = !{!"_ZTSSt11_Tuple_implILm3EJN5boost6system6resultIhNS1_10error_codeEEEEE", !33, i64 0} -!33 = !{!"_ZTSSt10_Head_baseILm3EN5boost6system6resultIhNS1_10error_codeEEELb0EE", !34, i64 0} -!34 = !{!"_ZTSN5boost6system6resultIhNS0_10error_codeEEE", !35, i64 0} -!35 = !{!"_ZTSN5boost8variant27variantIJhNS_6system10error_codeEEEE", !36, i64 0} -!36 = !{!"_ZTSN5boost8variant26detail20variant_ma_base_implILb1ELb1EJhNS_6system10error_codeEEEE", !37, i64 0} -!37 = !{!"_ZTSN5boost8variant26detail20variant_mc_base_implILb1ELb1EJhNS_6system10error_codeEEEE", !38, i64 0} -!38 = !{!"_ZTSN5boost8variant26detail20variant_ca_base_implILb1ELb1EJhNS_6system10error_codeEEEE", !39, i64 0} -!39 = !{!"_ZTSN5boost8variant26detail20variant_cc_base_implILb1ELb1EJhNS_6system10error_codeEEEE", !13, i64 0} -!40 = !{!"_ZTSSt10_Head_baseILm2EN5boost6system6resultIhNS1_10error_codeEEELb0EE", !34, i64 0} -!41 = !{!"_ZTSSt10_Head_baseILm1EN5boost6system6resultIhNS1_10error_codeEEELb0EE", !34, i64 0} -!42 = !{!"_ZTSSt10_Head_baseILm0EN5boost6system6resultIhNS1_10error_codeEEELb0EE", !34, i64 0} +!15 = !{!16, !17, i64 16} +!16 = !{!"_ZTSN5boost6system10error_codeE", !10, i64 0, !17, i64 16} +!17 = !{!"long", !10, i64 0} +!18 = !{!19, !4, !6} +!19 = distinct !{!19, !20, !"_ZN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined16dec_octet_rule_tEJNS4_14squelch_rule_tINS4_13ch_delim_ruleEEES5_S8_S5_S8_S5_EE11make_resultEv: argument 0"} +!20 = distinct !{!20, !"_ZN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined16dec_octet_rule_tEJNS4_14squelch_rule_tINS4_13ch_delim_ruleEEES5_S8_S5_S8_S5_EE11make_resultEv"} +!21 = !{!22, !14, i64 24} +!22 = !{!"_ZTSN5boost8variant26detail17variant_base_implILb1ELb1EJNS_4urls12ipv4_addressENS_6system10error_codeEEEE", !10, i64 0, !14, i64 24} +!23 = !{!10, !10, i64 0} +!24 = !{!25, !9, i64 24} +!25 = !{!"_ZTSN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined16dec_octet_rule_tEJNS4_14squelch_rule_tINS4_13ch_delim_ruleEEES5_S8_S5_S8_S5_EEE", !16, i64 0, !9, i64 24, !26, i64 32} +!26 = !{!"_ZTSSt5tupleIJN5boost6system6resultIhNS1_10error_codeEEES4_S4_S4_EE", !27, i64 0} +!27 = !{!"_ZTSSt11_Tuple_implILm0EJN5boost6system6resultIhNS1_10error_codeEEES4_S4_S4_EE", !28, i64 0, !40, i64 96} +!28 = !{!"_ZTSSt11_Tuple_implILm1EJN5boost6system6resultIhNS1_10error_codeEEES4_S4_EE", !29, i64 0, !39, i64 64} +!29 = !{!"_ZTSSt11_Tuple_implILm2EJN5boost6system6resultIhNS1_10error_codeEEES4_EE", !30, i64 0, !38, i64 32} +!30 = !{!"_ZTSSt11_Tuple_implILm3EJN5boost6system6resultIhNS1_10error_codeEEEEE", !31, i64 0} +!31 = !{!"_ZTSSt10_Head_baseILm3EN5boost6system6resultIhNS1_10error_codeEEELb0EE", !32, i64 0} +!32 = !{!"_ZTSN5boost6system6resultIhNS0_10error_codeEEE", !33, i64 0} +!33 = !{!"_ZTSN5boost8variant27variantIJhNS_6system10error_codeEEEE", !34, i64 0} +!34 = !{!"_ZTSN5boost8variant26detail20variant_ma_base_implILb1ELb1EJhNS_6system10error_codeEEEE", !35, i64 0} +!35 = !{!"_ZTSN5boost8variant26detail20variant_mc_base_implILb1ELb1EJhNS_6system10error_codeEEEE", !36, i64 0} +!36 = !{!"_ZTSN5boost8variant26detail20variant_ca_base_implILb1ELb1EJhNS_6system10error_codeEEEE", !37, i64 0} +!37 = !{!"_ZTSN5boost8variant26detail20variant_cc_base_implILb1ELb1EJhNS_6system10error_codeEEEE", !13, i64 0} +!38 = !{!"_ZTSSt10_Head_baseILm2EN5boost6system6resultIhNS1_10error_codeEEELb0EE", !32, i64 0} +!39 = !{!"_ZTSSt10_Head_baseILm1EN5boost6system6resultIhNS1_10error_codeEEELb0EE", !32, i64 0} +!40 = !{!"_ZTSSt10_Head_baseILm0EN5boost6system6resultIhNS1_10error_codeEEELb0EE", !32, i64 0} +!41 = !{i64 0, i64 16, !23, i64 16, i64 8, !42} +!42 = !{!17, !17, i64 0} !43 = !{!44} !44 = distinct !{!44, !45, !"_ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv: argument 0"} !45 = distinct !{!45, !"_ZNKR5boost6system6resultIhNS0_10error_codeEE5errorEv"} diff --git a/bench/boost/optimized/ipvfuture_rule.ll b/bench/boost/optimized/ipvfuture_rule.ll index 2ba7e66e307..5e732009fec 100644 --- a/bench/boost/optimized/ipvfuture_rule.ll +++ b/bench/boost/optimized/ipvfuture_rule.ll @@ -261,9 +261,9 @@ define linkonce_odr hidden void @_ZNK5boost4urls7grammar22implementation_defined call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %.sroa.21.sroa.7) call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %.sroa.27.sroa.7) call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %.sroa.33.sroa.7) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %.sroa.15.sroa.6, i8 0, i64 12, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %.sroa.21.sroa.7, i8 0, i64 12, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %.sroa.27.sroa.7, i8 0, i64 12, i1 false) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %.sroa.15.sroa.6, i8 0, i64 12, i1 false) call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #7 call void @_ZNK5boost4urls7grammar22implementation_defined13ch_delim_rule5parseERPKcS5_(ptr dead_on_unwind nonnull writable sret(%"class.boost::system::result.42") align 8 %8, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef %3) #7 %.sroa.33.sroa.3.4.copyload = load i32, ptr %8, align 8 @@ -326,8 +326,8 @@ _ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5erro br label %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i _ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i: ; preds = %20, %19 - %.sroa.645.0 = phi i64 [ %.sroa.27.sroa.8.4.copyload, %19 ], [ 0, %20 ] - %.sroa.043.0 = phi i32 [ %.sroa.27.sroa.3.4.copyload, %19 ], [ 0, %20 ] + %.sroa.645.0 = phi i32 [ %.sroa.27.sroa.3.4.copyload, %19 ], [ 0, %20 ] + %.sroa.043.0 = phi i64 [ %.sroa.27.sroa.8.4.copyload, %19 ], [ 0, %20 ] call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %.sroa.9, ptr noundef nonnull align 4 dereferenceable(12) %.sroa.544, i64 12, i1 false), !tbaa.struct !36 call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %.sroa.544) br label %_ZN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined13ch_delim_ruleEJNS4_12token_rule_tINS4_14hexdig_chars_tEEES5_NS6_INS1_9lut_charsEEEEE5applyILm0ELm0EEENSt9enable_ifIXltT_plLi1EsZT1_EvE4typeERPKcSH_RKSt17integral_constantImXT_EERKSJ_ImXT0_EE.exit @@ -404,9 +404,9 @@ _ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5erro _ZN5boost4urls7grammar6detail14parse_sequenceILb1ENS1_22implementation_defined13ch_delim_ruleEJNS4_12token_rule_tINS4_14hexdig_chars_tEEES5_NS6_INS1_9lut_charsEEEEE5applyILm0ELm0EEENSt9enable_ifIXltT_plLi1EsZT1_EvE4typeERPKcSH_RKSt17integral_constantImXT_EERKSJ_ImXT0_EE.exit: ; preds = %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i.i.i, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i %.sroa.27.sroa.3.0 = phi i32 [ 0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i ], [ %.sroa.27.sroa.3.4.copyload, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i.i.i ], [ %.sroa.27.sroa.3.4.copyload, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i ], [ %.sroa.27.sroa.3.4.copyload, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i ] + %.sroa.04.0 = phi i32 [ %.sroa.037.0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i ], [ %.sroa.054.0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i.i.i ], [ %.sroa.048.0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i ], [ %.sroa.042.0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i ] %.sroa.21.sroa.3.0 = phi i32 [ 0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i ], [ %.sroa.21.sroa.3.4.copyload, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i.i.i ], [ %.sroa.21.sroa.3.4.copyload, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i ], [ 0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i ] - %.sroa.04.0 = phi i32 [ %.sroa.037.0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i ], [ %.sroa.057.0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i.i.i ], [ %.sroa.050.0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i ], [ %.sroa.043.0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i ] - %.sroa.913.0 = phi i64 [ %.sroa.6.0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i ], [ %.sroa.659.0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i.i.i ], [ %.sroa.652.0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i ], [ %.sroa.645.0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i ] + %.sroa.04.0 = phi i64 [ %.sroa.6.0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i ], [ %.sroa.656.0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i.i.i ], [ %.sroa.650.0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i ], [ %.sroa.043.0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i ] %.sroa.15.sroa.0.0 = phi i32 [ 0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i ], [ %.sroa.15.sroa.0.0.copyload, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i.i.i ], [ 0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i.i.i ], [ 0, %_ZNKR5boost6system6resultINS_4core17basic_string_viewIcEENS0_10error_codeEE5errorEv.exit.i ] %35 = and i64 %.sroa.913.0, 1 %.not.i.i = icmp eq i64 %35, 0 diff --git a/bench/boost/optimized/matches_relation_factory.ll b/bench/boost/optimized/matches_relation_factory.ll index 03f04447a16..a0c93761500 100644 --- a/bench/boost/optimized/matches_relation_factory.ll +++ b/bench/boost/optimized/matches_relation_factory.ll @@ -88919,11 +88919,10 @@ _ZNSt6vectorIN5boost13re_detail_50014recursion_infoINS0_13match_resultsIPKcSaINS tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(20) %13, i8 0, i64 20, i1 false) store i8 1, ptr %14, align 4, !tbaa !1196 %15 = getelementptr inbounds nuw i8, ptr %10, i64 96 - %16 = getelementptr inbounds nuw i8, ptr %3, i64 96 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %15, ptr noundef nonnull align 8 dereferenceable(16) %16, i64 16, i1 false) - %17 = load ptr, ptr %9, align 8, !tbaa !1243 - %18 = getelementptr inbounds nuw i8, ptr %17, i64 112 - store ptr %18, ptr %9, align 8, !tbaa !1243 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %15, i8 0, i64 16, i1 false) + %16 = load ptr, ptr %9, align 8, !tbaa !1243 + %17 = getelementptr inbounds nuw i8, ptr %16, i64 112 + store ptr %17, ptr %9, align 8, !tbaa !1243 br label %_ZNSt12__shared_ptrIN5boost13re_detail_50020named_subexpressionsELN9__gnu_cxx12_Lock_policyE2EED2Ev.exit.i.i 19: ; preds = %6 @@ -88951,11 +88950,11 @@ _ZNSt6vectorIN5boost13re_detail_50014recursion_infoINS0_13match_resultsIPKcSaINS %28 = load ptr, ptr %.pre, align 8, !tbaa !31 %29 = getelementptr inbounds nuw i8, ptr %28, i64 16 %30 = load ptr, ptr %29, align 8 - call void %30(ptr noundef nonnull align 8 dereferenceable(16) %.pre) #28 + call void %29(ptr noundef nonnull align 8 dereferenceable(16) %.pre) #28 %31 = load ptr, ptr %.pre, align 8, !tbaa !31 %32 = getelementptr inbounds nuw i8, ptr %31, i64 24 %33 = load ptr, ptr %32, align 8 - call void %33(ptr noundef nonnull align 8 dereferenceable(16) %.pre) #28 + call void %32(ptr noundef nonnull align 8 dereferenceable(16) %.pre) #28 br label %_ZNSt12__shared_ptrIN5boost13re_detail_50020named_subexpressionsELN9__gnu_cxx12_Lock_policyE2EED2Ev.exit.i.i 34: ; preds = %21 @@ -88973,7 +88972,7 @@ _ZNSt6vectorIN5boost13re_detail_50014recursion_infoINS0_13match_resultsIPKcSaINS br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i _ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i: ; preds = %38, %36 - %.0.i.i.i.i.i.i = phi i32 [ %25, %36 ], [ %39, %38 ] + %.0.i.i.i.i.i.i = phi i32 [ %25, %35 ], [ %39, %37 ] %40 = icmp eq i32 %.0.i.i.i.i.i.i, 1 br i1 %40, label %41, label %_ZNSt12__shared_ptrIN5boost13re_detail_50020named_subexpressionsELN9__gnu_cxx12_Lock_policyE2EED2Ev.exit.i.i, !prof !33 @@ -100596,11 +100595,10 @@ _ZNSt6vectorIN5boost13re_detail_50014recursion_infoINS0_13match_resultsIPKwSaINS tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(20) %13, i8 0, i64 20, i1 false) store i8 1, ptr %14, align 4, !tbaa !1372 %15 = getelementptr inbounds nuw i8, ptr %10, i64 96 - %16 = getelementptr inbounds nuw i8, ptr %3, i64 96 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %15, ptr noundef nonnull align 8 dereferenceable(16) %16, i64 16, i1 false) - %17 = load ptr, ptr %9, align 8, !tbaa !1415 - %18 = getelementptr inbounds nuw i8, ptr %17, i64 112 - store ptr %18, ptr %9, align 8, !tbaa !1415 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %15, i8 0, i64 16, i1 false) + %16 = load ptr, ptr %9, align 8, !tbaa !1415 + %17 = getelementptr inbounds nuw i8, ptr %16, i64 112 + store ptr %17, ptr %9, align 8, !tbaa !1415 br label %_ZNSt12__shared_ptrIN5boost13re_detail_50020named_subexpressionsELN9__gnu_cxx12_Lock_policyE2EED2Ev.exit.i.i 19: ; preds = %6 @@ -100628,11 +100626,11 @@ _ZNSt6vectorIN5boost13re_detail_50014recursion_infoINS0_13match_resultsIPKwSaINS %28 = load ptr, ptr %.pre, align 8, !tbaa !31 %29 = getelementptr inbounds nuw i8, ptr %28, i64 16 %30 = load ptr, ptr %29, align 8 - call void %30(ptr noundef nonnull align 8 dereferenceable(16) %.pre) #28 + call void %29(ptr noundef nonnull align 8 dereferenceable(16) %.pre) #28 %31 = load ptr, ptr %.pre, align 8, !tbaa !31 %32 = getelementptr inbounds nuw i8, ptr %31, i64 24 %33 = load ptr, ptr %32, align 8 - call void %33(ptr noundef nonnull align 8 dereferenceable(16) %.pre) #28 + call void %32(ptr noundef nonnull align 8 dereferenceable(16) %.pre) #28 br label %_ZNSt12__shared_ptrIN5boost13re_detail_50020named_subexpressionsELN9__gnu_cxx12_Lock_policyE2EED2Ev.exit.i.i 34: ; preds = %21 @@ -100650,7 +100648,7 @@ _ZNSt6vectorIN5boost13re_detail_50014recursion_infoINS0_13match_resultsIPKwSaINS br label %_ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i _ZN9__gnu_cxx27__exchange_and_add_dispatchEPii.exit.i.i.i.i.i: ; preds = %38, %36 - %.0.i.i.i.i.i.i = phi i32 [ %25, %36 ], [ %39, %38 ] + %.0.i.i.i.i.i.i = phi i32 [ %25, %35 ], [ %39, %37 ] %40 = icmp eq i32 %.0.i.i.i.i.i.i, 1 br i1 %40, label %41, label %_ZNSt12__shared_ptrIN5boost13re_detail_50020named_subexpressionsELN9__gnu_cxx12_Lock_policyE2EED2Ev.exit.i.i, !prof !33 diff --git a/bench/bullet3/optimized/btGImpactBvh.ll b/bench/bullet3/optimized/btGImpactBvh.ll index 12f3885ea1b..26b56df9541 100644 --- a/bench/bullet3/optimized/btGImpactBvh.ll +++ b/bench/bullet3/optimized/btGImpactBvh.ll @@ -647,7 +647,6 @@ define dso_local void @_ZN12btGImpactBvh5refitEv(ptr noundef nonnull readonly al ; Function Attrs: mustprogress uwtable define dso_local void @_ZN12btGImpactBvh8buildSetEv(ptr noundef nonnull align 8 dereferenceable(48) %0) local_unnamed_addr #5 align 2 personality ptr @__gxx_personality_v0 { %2 = alloca %class.GIM_BVH_DATA_ARRAY, align 8 - %.sroa.0 = alloca %class.btAABB, align 8 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %2) #14 %3 = getelementptr inbounds nuw i8, ptr %2, i64 24 store i8 1, ptr %3, align 8, !tbaa !52 @@ -666,8 +665,6 @@ define dso_local void @_ZN12btGImpactBvh8buildSetEv(ptr noundef nonnull align 8 to label %13 unwind label %36 13: ; preds = %1 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %.sroa.0) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %.sroa.0, i8 0, i64 32, i1 false) %14 = icmp sgt i32 %12, 0 br i1 %14, label %15, label %.loopexit @@ -719,36 +716,28 @@ _ZNK20btAlignedObjectArrayI12GIM_BVH_DATAE4copyEiiPS0_.exit.i.i: ; preds = %20, store ptr %18, ptr %4, align 8, !tbaa !4 store i32 %12, ptr %6, align 8, !tbaa !53 %wide.trip.count.i = zext nneg i32 %12 to i64 - %.sroa.0.16..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0, i64 16 br label %31 31: ; preds = %31, %.lr.ph.i %indvars.iv.i = phi i64 [ 0, %.lr.ph.i ], [ %indvars.iv.next.i, %31 ] - %32 = load ptr, ptr %4, align 8, !tbaa !4 - %33 = getelementptr inbounds nuw %struct.GIM_BVH_DATA, ptr %32, i64 %indvars.iv.i - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %33, i8 0, i64 16, i1 false) - %34 = getelementptr inbounds nuw i8, ptr %33, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %34, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0.16..sroa_idx, i64 16, i1 false), !tbaa.struct !19 - %35 = getelementptr inbounds nuw i8, ptr %33, i64 32 - store i32 0, ptr %35, align 4, !tbaa !21 + %32 = getelementptr inbounds nuw %struct.GIM_BVH_DATA, ptr %18, i64 %indvars.iv.i %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %exitcond.not.i = icmp eq i64 %indvars.iv.next.i, %wide.trip.count.i + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(36) %32, i8 0, i64 36, i1 false) br i1 %exitcond.not.i, label %.lr.ph.preheader, label %31, !llvm.loop !55 .loopexit: ; preds = %13 store i32 %12, ptr %5, align 4, !tbaa !39 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.0) br label %._crit_edge .lr.ph.preheader: ; preds = %31 store i32 %12, ptr %5, align 4, !tbaa !39 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.0) %.pre16 = load ptr, ptr %4, align 8, !tbaa !4 br label %.lr.ph ._crit_edge: ; preds = %49, %.loopexit invoke void @_ZN9btBvhTree10build_treeER18GIM_BVH_DATA_ARRAY(ptr noundef nonnull align 8 dereferenceable(40) %0, ptr noundef nonnull align 8 dereferenceable(25) %2) - to label %55 unwind label %36 + to label %52 unwind label %36 36: ; preds = %._crit_edge, %1 %37 = landingpad { ptr, i32 } @@ -758,8 +747,7 @@ _ZNK20btAlignedObjectArrayI12GIM_BVH_DATAE4copyEiiPS0_.exit.i.i: ; preds = %20, 38: ; preds = %30, %15 %39 = landingpad { ptr, i32 } cleanup - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %.sroa.0) - br label %63 + br label %60 40: ; preds = %.lr.ph %41 = landingpad { ptr, i32 } @@ -767,16 +755,16 @@ _ZNK20btAlignedObjectArrayI12GIM_BVH_DATAE4copyEiiPS0_.exit.i.i: ; preds = %20, br label %63 .lr.ph: ; preds = %.lr.ph.preheader, %49 - %42 = phi ptr [ %.pre16, %.lr.ph.preheader ], [ %50, %49 ] - %indvars.iv = phi i64 [ 0, %.lr.ph.preheader ], [ %indvars.iv.next, %49 ] + %42 = phi ptr [ %.pre16, %.lr.ph.preheader ], [ %50, %46 ] + %indvars.iv = phi i64 [ 0, %.lr.ph.preheader ], [ %indvars.iv.next, %46 ] %43 = load ptr, ptr %7, align 8, !tbaa !46 %44 = getelementptr inbounds nuw %struct.GIM_BVH_DATA, ptr %42, i64 %indvars.iv %45 = load ptr, ptr %43, align 8, !tbaa !49 %46 = getelementptr inbounds nuw i8, ptr %45, i64 32 %47 = load ptr, ptr %46, align 8 %48 = trunc nuw nsw i64 %indvars.iv to i32 - invoke void %47(ptr noundef nonnull align 8 dereferenceable(8) %43, i32 noundef %48, ptr noundef nonnull align 4 dereferenceable(32) %44) - to label %49 unwind label %40 + invoke void %44(ptr noundef nonnull align 8 dereferenceable(8) %43, i32 noundef %48, ptr noundef nonnull align 4 dereferenceable(32) %44) + to label %46 unwind label %40 49: ; preds = %.lr.ph %50 = load ptr, ptr %4, align 8, !tbaa !4 @@ -812,7 +800,7 @@ _ZN20btAlignedObjectArrayI12GIM_BVH_DATAED2Ev.exit: ; preds = %55, %59 ret void 63: ; preds = %40, %38, %36 - %.pn = phi { ptr, i32 } [ %41, %40 ], [ %37, %36 ], [ %39, %38 ] + %.pn = phi { ptr, i32 } [ %41, %37 ], [ %37, %33 ], [ %39, %35 ] call void @_ZN20btAlignedObjectArrayI12GIM_BVH_DATAED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %2) #14 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2) #14 resume { ptr, i32 } %.pn diff --git a/bench/bullet3/optimized/btReducedDeformableBodyHelpers.ll b/bench/bullet3/optimized/btReducedDeformableBodyHelpers.ll index ac90600a2bb..193c490c9d4 100644 --- a/bench/bullet3/optimized/btReducedDeformableBodyHelpers.ll +++ b/bench/bullet3/optimized/btReducedDeformableBodyHelpers.ll @@ -264,8 +264,6 @@ define dso_local noundef ptr @_ZN30btReducedDeformableBodyHelpers17createFromVtk %14 = alloca float, align 4 %15 = alloca i32, align 4 %16 = alloca %class.btAlignedObjectArray.55, align 8 - %.sroa.0209 = alloca [3 x %class.btVector3], align 8 - %.sroa.0 = alloca [3 x %class.btVector3], align 8 call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %3) #21 call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %3) %17 = getelementptr inbounds nuw i8, ptr %3, i64 16 @@ -1165,8 +1163,6 @@ _ZN17btCollisionObjectnwEm.exit: ; preds = %306 367: ; preds = %366 %368 = getelementptr inbounds nuw i8, ptr %307, i64 1092 %369 = load i32, ptr %368, align 4, !tbaa !90 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %.sroa.0209) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %.sroa.0209, i8 0, i64 48, i1 false) %370 = getelementptr inbounds nuw i8, ptr %307, i64 1124 %371 = load i32, ptr %370, align 4, !tbaa !94 %372 = icmp sgt i32 %369, %371 @@ -1265,23 +1261,15 @@ _ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i: %414 = getelementptr inbounds nuw i8, ptr %307, i64 1136 %415 = sext i32 %371 to i64 %wide.trip.count.i152 = sext i32 %369 to i64 - %.sroa.0209.16..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0209, i64 16 - %.sroa.0209.32..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0209, i64 32 br label %416 416: ; preds = %416, %.lr.ph.i151 %indvars.iv.i153 = phi i64 [ %415, %.lr.ph.i151 ], [ %indvars.iv.next.i154, %416 ] %417 = load ptr, ptr %414, align 8, !tbaa !99 %418 = getelementptr inbounds %"struct.btSoftBody::TetraScratch", ptr %417, i64 %indvars.iv.i153 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %418, i8 0, i64 16, i1 false) - %419 = getelementptr inbounds nuw i8, ptr %418, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %419, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0209.16..sroa_idx, i64 16, i1 false), !tbaa.struct !63 - %420 = getelementptr inbounds nuw i8, ptr %418, i64 32 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %420, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0209.32..sroa_idx, i64 16, i1 false), !tbaa.struct !63 - %421 = getelementptr inbounds nuw i8, ptr %418, i64 48 %indvars.iv.next.i154 = add nsw i64 %indvars.iv.i153, 1 %exitcond.not.i155 = icmp eq i64 %indvars.iv.next.i154, %wide.trip.count.i152 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(104) %421, i8 0, i64 104, i1 false) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(152) %418, i8 0, i64 152, i1 false) br i1 %exitcond.not.i155, label %.loopexit227.loopexit, label %416, !llvm.loop !102 .loopexit227.loopexit: ; preds = %416 @@ -1291,37 +1279,34 @@ _ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i: .loopexit227: ; preds = %.loopexit227.loopexit, %367 %422 = phi i32 [ %.pre, %.loopexit227.loopexit ], [ %369, %367 ] store i32 %369, ptr %370, align 4, !tbaa !94 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.0209) - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %.sroa.0) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %.sroa.0, i8 0, i64 48, i1 false) - %423 = getelementptr inbounds nuw i8, ptr %307, i64 1156 - %424 = load i32, ptr %423, align 4, !tbaa !94 - %425 = icmp sgt i32 %422, %424 - br i1 %425, label %426, label %.loopexit - -426: ; preds = %.loopexit227 - %427 = getelementptr inbounds nuw i8, ptr %307, i64 1160 - %428 = load i32, ptr %427, align 8, !tbaa !98 - %429 = icmp slt i32 %428, %422 - br i1 %429, label %430, label %.lr.ph.i168 - -430: ; preds = %426 + %420 = getelementptr inbounds nuw i8, ptr %307, i64 1156 + %421 = load i32, ptr %420, align 4, !tbaa !94 + %422 = icmp sgt i32 %419, %421 + br i1 %422, label %423, label %.loopexit + +423:; preds = %.loopexit227 + %424 = getelementptr inbounds nuw i8, ptr %307, i64 1160 + %425 = load i32, ptr %424, align 8, !tbaa !98 + %426 = icmp slt i32 %425, %419 + br i1 %426, label %427, label %.lr.ph.i168 + +427:; preds = %423 %.not.i.i.i173 = icmp eq i32 %422, 0 - br i1 %.not.i.i.i173, label %_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i175, label %431 + br i1 %.not.i.i.i173, label %_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i175, label %428 -431: ; preds = %430 - %432 = sext i32 %422 to i64 - %433 = mul nsw i64 %432, 152 - %434 = invoke noundef ptr @_Z22btAlignedAllocInternalmi(i64 noundef %433, i32 noundef 16) - to label %.noexc186 unwind label %497 +428:; preds = %427 + %429 = sext i32 %419 to i64 + %430 = mul nsw i64 %429, 152 + %431 = invoke noundef ptr @_Z22btAlignedAllocInternalmi(i64 noundef %430, i32 noundef 16) + to label %.noexc186 unwind label %491 -.noexc186: ; preds = %431 - %.pre.i174 = load i32, ptr %423, align 4, !tbaa !94 +.noexc186:; preds = %428 + %.pre.i174 = load i32, ptr %420, align 4, !tbaa !94 br label %_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i175 -_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i175: ; preds = %.noexc186, %430 - %435 = phi i32 [ %.pre.i174, %.noexc186 ], [ %424, %430 ] - %.0.i.i.i176 = phi ptr [ %434, %.noexc186 ], [ null, %430 ] +_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i175: ; preds = %.noexc186, %427 + %435 = phi i32 [ %.pre.i174, %.noexc186 ], [ %421, %427 ] + %.0.i.i.i176 = phi ptr [ %431, %.noexc186 ], [ null, %427 ] %436 = icmp sgt i32 %435, 0 br i1 %436, label %.lr.ph.i.i.i181, label %_ZNK20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE4copyEiiPS1_.exit.i.i177 @@ -1331,7 +1316,7 @@ _ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i175: br label %438 438: ; preds = %438, %.lr.ph.i.i.i181 - %indvars.iv.i.i.i183 = phi i64 [ 0, %.lr.ph.i.i.i181 ], [ %indvars.iv.next.i.i.i184, %438 ] + %indvars.iv.i.i.i183 = phi i64 [ 0, %.lr.ph.i.i.i181 ], [ %indvars.iv.next.i.i.i184, %435 ] %439 = getelementptr inbounds nuw %"struct.btSoftBody::TetraScratch", ptr %.0.i.i.i176, i64 %indvars.iv.i.i.i183 %440 = load ptr, ptr %437, align 8, !tbaa !99 %441 = getelementptr inbounds nuw %"struct.btSoftBody::TetraScratch", ptr %440, i64 %indvars.iv.i.i.i183 @@ -1385,51 +1370,42 @@ _ZNK20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE4copyEiiPS1_.exit.i.i177 _ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i180: ; preds = %466, %_ZNK20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE4copyEiiPS1_.exit.i.i177 store i8 1, ptr %463, align 8, !tbaa !101 store ptr %.0.i.i.i176, ptr %461, align 8, !tbaa !99 - store i32 %422, ptr %427, align 8, !tbaa !98 + store i32 %422, ptr %424, align 8, !tbaa !98 br label %.lr.ph.i168 -.lr.ph.i168: ; preds = %_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i180, %426 +.lr.ph.i168: ; preds = %_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i180, %423 %467 = getelementptr inbounds nuw i8, ptr %307, i64 1168 - %468 = sext i32 %424 to i64 + %468 = sext i32 %421 to i64 %wide.trip.count.i169 = sext i32 %422 to i64 - %.sroa.0.16..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0, i64 16 - %.sroa.0.32..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0, i64 32 - br label %469 - -469: ; preds = %469, %.lr.ph.i168 - %indvars.iv.i170 = phi i64 [ %468, %.lr.ph.i168 ], [ %indvars.iv.next.i171, %469 ] - %470 = load ptr, ptr %467, align 8, !tbaa !99 - %471 = getelementptr inbounds %"struct.btSoftBody::TetraScratch", ptr %470, i64 %indvars.iv.i170 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %471, i8 0, i64 16, i1 false) - %472 = getelementptr inbounds nuw i8, ptr %471, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %472, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0.16..sroa_idx, i64 16, i1 false), !tbaa.struct !63 - %473 = getelementptr inbounds nuw i8, ptr %471, i64 32 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %473, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0.32..sroa_idx, i64 16, i1 false), !tbaa.struct !63 - %474 = getelementptr inbounds nuw i8, ptr %471, i64 48 + br label %466 + +466:; preds = %466, %.lr.ph.i168 + %indvars.iv.i170 = phi i64 [ %465, %.lr.ph.i168 ], [ %indvars.iv.next.i171, %466 ] + %467 = load ptr, ptr %464, align 8, !tbaa !99 + %468 = getelementptr inbounds %"struct.btSoftBody::TetraScratch", ptr %467, i64 %indvars.iv.i170 %indvars.iv.next.i171 = add nsw i64 %indvars.iv.i170, 1 %exitcond.not.i172 = icmp eq i64 %indvars.iv.next.i171, %wide.trip.count.i169 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(104) %474, i8 0, i64 104, i1 false) - br i1 %exitcond.not.i172, label %.loopexit, label %469, !llvm.loop !102 - -.loopexit: ; preds = %469, %.loopexit227 - store i32 %422, ptr %423, align 4, !tbaa !94 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.0) - %475 = getelementptr inbounds nuw i8, ptr %307, i64 932 - %476 = load i32, ptr %475, align 4, !tbaa !12 - %477 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.5, i32 noundef %476) - %478 = getelementptr inbounds nuw i8, ptr %307, i64 996 - %479 = load i32, ptr %478, align 4, !tbaa !103 - %480 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, i32 noundef %479) - %481 = getelementptr inbounds nuw i8, ptr %307, i64 1028 - %482 = load i32, ptr %481, align 4, !tbaa !107 - %483 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.7, i32 noundef %482) - %484 = load i32, ptr %368, align 4, !tbaa !90 - %485 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.8, i32 noundef %484) - %486 = invoke noundef ptr @_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(240) %17) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(152) %468, i8 0, i64 152, i1 false) + br i1 %exitcond.not.i172, label %.loopexit, label %466, !llvm.loop !102 + +.loopexit: ; preds = %466, %.loopexit227 + store i32 %422, ptr %420, align 4, !tbaa !94 + %469 = getelementptr inbounds nuw i8, ptr %307, i64 932 + %470 = load i32, ptr %469, align 4, !tbaa !12 + %471 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.5, i32 noundef %470) + %472 = getelementptr inbounds nuw i8, ptr %307, i64 996 + %473 = load i32, ptr %472, align 4, !tbaa !103 + %474 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, i32 noundef %473) + %475 = getelementptr inbounds nuw i8, ptr %307, i64 1028 + %476 = load i32, ptr %475, align 4, !tbaa !107 + %477 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.7, i32 noundef %476) + %478 = load i32, ptr %368, align 4, !tbaa !90 + %479 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.8, i32 noundef %478) + %480 = invoke noundef ptr @_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(240) %17) to label %.noexc190 unwind label %311 .noexc190: ; preds = %.loopexit - %.not.i189 = icmp eq ptr %486, null + %.not.i189 = icmp eq ptr %480, null br i1 %.not.i189, label %487, label %_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv.exit192 487: ; preds = %.noexc190 @@ -1446,17 +1422,15 @@ _ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i18 495: ; preds = %413, %378 %496 = landingpad { ptr, i32 } cleanup - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.0209) br label %_ZN17btCollisionObjectdlEPv.exit -497: ; preds = %466, %431 +497: ; preds = %466, %428 %498 = landingpad { ptr, i32 } cleanup - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.0) br label %_ZN17btCollisionObjectdlEPv.exit _ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv.exit192: ; preds = %_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev.exit, %.noexc190, %487 - %.4 = phi ptr [ %307, %487 ], [ %307, %.noexc190 ], [ null, %_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev.exit ] + %.4 = phi ptr [ %307, %481 ], [ %307, %.noexc190 ], [ null, %_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev.exit ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #21 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #21 %499 = load i32, ptr %37, align 4, !tbaa !45 @@ -1566,7 +1540,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit202: ; preds = %_Z ret ptr %.4 _ZN17btCollisionObjectdlEPv.exit: ; preds = %.loopexit229, %.loopexit.split-lp, %313, %311, %364, %495, %497, %305 - %.pn92.pn.pn = phi { ptr, i32 } [ %.pn92.pn, %305 ], [ %365, %364 ], [ %312, %311 ], [ %498, %497 ], [ %496, %495 ], [ %314, %313 ], [ %lpad.loopexit, %.loopexit229 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] + %.pn92.pn.pn = phi { ptr, i32 } [ %.pn92.pn, %305 ], [ %365, %364 ], [ %312, %311 ], [ %498, %491 ], [ %496, %489 ], [ %314, %313 ], [ %lpad.loopexit, %.loopexit229 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #21 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #21 call void @_ZN20btAlignedObjectArrayIS_IiEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %6) #21 diff --git a/bench/bullet3/optimized/btSoftBodyHelpers.ll b/bench/bullet3/optimized/btSoftBodyHelpers.ll index 257c472f8c3..88cc0ab4fe5 100644 --- a/bench/bullet3/optimized/btSoftBodyHelpers.ll +++ b/bench/bullet3/optimized/btSoftBodyHelpers.ll @@ -5806,8 +5806,6 @@ define dso_local noundef ptr @_ZN17btSoftBodyHelpers20CreateFromTetGenDataER19bt %19 = alloca i32, align 4 %20 = alloca i32, align 4 %21 = alloca [4 x i32], align 16 - %.sroa.0116 = alloca [3 x %class.btVector3], align 8 - %.sroa.0 = alloca [3 x %class.btVector3], align 8 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #27 %22 = getelementptr inbounds nuw i8, ptr %8, i64 24 store i8 1, ptr %22, align 8, !tbaa !36 @@ -6104,8 +6102,6 @@ _ZL8nextLinePKc.exit75: ; preds = %88, %._crit_edge.lo 127: ; preds = %126 %128 = getelementptr inbounds nuw i8, ptr %42, i64 1092 %129 = load i32, ptr %128, align 4, !tbaa !111 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %.sroa.0116) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %.sroa.0116, i8 0, i64 48, i1 false) %130 = getelementptr inbounds nuw i8, ptr %42, i64 1124 %131 = load i32, ptr %130, align 4, !tbaa !279 %132 = icmp sgt i32 %129, %131 @@ -6204,23 +6200,15 @@ _ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i: %174 = getelementptr inbounds nuw i8, ptr %42, i64 1136 %175 = sext i32 %131 to i64 %wide.trip.count.i77 = sext i32 %129 to i64 - %.sroa.0116.16..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0116, i64 16 - %.sroa.0116.32..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0116, i64 32 br label %176 176: ; preds = %176, %.lr.ph.i76 %indvars.iv.i78 = phi i64 [ %175, %.lr.ph.i76 ], [ %indvars.iv.next.i79, %176 ] %177 = load ptr, ptr %174, align 8, !tbaa !281 %178 = getelementptr inbounds %"struct.btSoftBody::TetraScratch", ptr %177, i64 %indvars.iv.i78 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %178, i8 0, i64 16, i1 false) - %179 = getelementptr inbounds nuw i8, ptr %178, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %179, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0116.16..sroa_idx, i64 16, i1 false), !tbaa.struct !44 - %180 = getelementptr inbounds nuw i8, ptr %178, i64 32 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %180, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0116.32..sroa_idx, i64 16, i1 false), !tbaa.struct !44 - %181 = getelementptr inbounds nuw i8, ptr %178, i64 48 %indvars.iv.next.i79 = add nsw i64 %indvars.iv.i78, 1 %exitcond.not.i80 = icmp eq i64 %indvars.iv.next.i79, %wide.trip.count.i77 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(104) %181, i8 0, i64 104, i1 false) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(152) %178, i8 0, i64 152, i1 false) br i1 %exitcond.not.i80, label %.loopexit125.loopexit, label %176, !llvm.loop !284 .loopexit125.loopexit: ; preds = %176 @@ -6230,37 +6218,34 @@ _ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i: .loopexit125: ; preds = %.loopexit125.loopexit, %127 %182 = phi i32 [ %.pre, %.loopexit125.loopexit ], [ %129, %127 ] store i32 %129, ptr %130, align 4, !tbaa !279 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.0116) - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %.sroa.0) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %.sroa.0, i8 0, i64 48, i1 false) - %183 = getelementptr inbounds nuw i8, ptr %42, i64 1156 - %184 = load i32, ptr %183, align 4, !tbaa !279 - %185 = icmp sgt i32 %182, %184 - br i1 %185, label %186, label %.loopexit - -186: ; preds = %.loopexit125 - %187 = getelementptr inbounds nuw i8, ptr %42, i64 1160 - %188 = load i32, ptr %187, align 8, !tbaa !280 - %189 = icmp slt i32 %188, %182 - br i1 %189, label %190, label %.lr.ph.i93 - -190: ; preds = %186 - %.not.i.i.i98 = icmp eq i32 %182, 0 - br i1 %.not.i.i.i98, label %_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i100, label %191 - -191: ; preds = %190 - %192 = sext i32 %182 to i64 - %193 = mul nsw i64 %192, 152 - %194 = invoke noundef ptr @_Z22btAlignedAllocInternalmi(i64 noundef %193, i32 noundef 16) - to label %.noexc111 unwind label %255 - -.noexc111: ; preds = %191 - %.pre.i99 = load i32, ptr %183, align 4, !tbaa !279 + %180 = getelementptr inbounds nuw i8, ptr %42, i64 1156 + %181 = load i32, ptr %180, align 4, !tbaa !279 + %182 = icmp sgt i32 %182, %181 + br i1 %182, label %183, label %.loopexit + +183:; preds = %.loopexit125 + %184 = getelementptr inbounds nuw i8, ptr %42, i64 1160 + %185 = load i32, ptr %184, align 8, !tbaa !280 + %186 = icmp slt i32 %185, %179 + br i1 %186, label %187, label %.lr.ph.i93 + +187:; preds = %183 + %.not.i.i.i98 = icmp eq i32 %179, 0 + br i1 %.not.i.i.i98, label %_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i100, label %188 + +188:; preds = %187 + %189 = sext i32 %179 to i64 + %190 = mul nsw i64 %189, 152 + %191 = invoke noundef ptr @_Z22btAlignedAllocInternalmi(i64 noundef %190, i32 noundef 16) + to label %.noexc111 unwind label %249 + +.noexc111:; preds = %188 + %.pre.i99 = load i32, ptr %180, align 4, !tbaa !279 br label %_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i100 -_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i100: ; preds = %.noexc111, %190 - %195 = phi i32 [ %.pre.i99, %.noexc111 ], [ %184, %190 ] - %.0.i.i.i101 = phi ptr [ %194, %.noexc111 ], [ null, %190 ] +_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i100: ; preds = %.noexc111, %187 + %195 = phi i32 [ %.pre.i99, %.noexc111 ], [ %181, %187 ] + %.0.i.i.i101 = phi ptr [ %191, %.noexc111 ], [ null, %187 ] %196 = icmp sgt i32 %195, 0 br i1 %196, label %.lr.ph.i.i.i106, label %_ZNK20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE4copyEiiPS1_.exit.i.i102 @@ -6270,7 +6255,7 @@ _ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i100: br label %198 198: ; preds = %198, %.lr.ph.i.i.i106 - %indvars.iv.i.i.i108 = phi i64 [ 0, %.lr.ph.i.i.i106 ], [ %indvars.iv.next.i.i.i109, %198 ] + %indvars.iv.i.i.i108 = phi i64 [ 0, %.lr.ph.i.i.i106 ], [ %indvars.iv.next.i.i.i109, %195 ] %199 = getelementptr inbounds nuw %"struct.btSoftBody::TetraScratch", ptr %.0.i.i.i101, i64 %indvars.iv.i.i.i108 %200 = load ptr, ptr %197, align 8, !tbaa !281 %201 = getelementptr inbounds nuw %"struct.btSoftBody::TetraScratch", ptr %200, i64 %indvars.iv.i.i.i108 @@ -6324,46 +6309,37 @@ _ZNK20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE4copyEiiPS1_.exit.i.i102 _ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i105: ; preds = %226, %_ZNK20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE4copyEiiPS1_.exit.i.i102 store i8 1, ptr %223, align 8, !tbaa !283 store ptr %.0.i.i.i101, ptr %221, align 8, !tbaa !281 - store i32 %182, ptr %187, align 8, !tbaa !280 + store i32 %182, ptr %184, align 8, !tbaa !280 br label %.lr.ph.i93 -.lr.ph.i93: ; preds = %_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i105, %186 +.lr.ph.i93: ; preds = %_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i105, %183 %227 = getelementptr inbounds nuw i8, ptr %42, i64 1168 - %228 = sext i32 %184 to i64 + %228 = sext i32 %181 to i64 %wide.trip.count.i94 = sext i32 %182 to i64 - %.sroa.0.16..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0, i64 16 - %.sroa.0.32..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0, i64 32 - br label %229 + br label %226 229: ; preds = %229, %.lr.ph.i93 - %indvars.iv.i95 = phi i64 [ %228, %.lr.ph.i93 ], [ %indvars.iv.next.i96, %229 ] + %indvars.iv.i95 = phi i64 [ %228, %.lr.ph.i93 ], [ %indvars.iv.next.i96, %226 ] %230 = load ptr, ptr %227, align 8, !tbaa !281 %231 = getelementptr inbounds %"struct.btSoftBody::TetraScratch", ptr %230, i64 %indvars.iv.i95 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %231, i8 0, i64 16, i1 false) - %232 = getelementptr inbounds nuw i8, ptr %231, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %232, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0.16..sroa_idx, i64 16, i1 false), !tbaa.struct !44 - %233 = getelementptr inbounds nuw i8, ptr %231, i64 32 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %233, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0.32..sroa_idx, i64 16, i1 false), !tbaa.struct !44 - %234 = getelementptr inbounds nuw i8, ptr %231, i64 48 %indvars.iv.next.i96 = add nsw i64 %indvars.iv.i95, 1 %exitcond.not.i97 = icmp eq i64 %indvars.iv.next.i96, %wide.trip.count.i94 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(104) %234, i8 0, i64 104, i1 false) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(152) %231, i8 0, i64 152, i1 false) br i1 %exitcond.not.i97, label %.loopexit, label %229, !llvm.loop !284 .loopexit: ; preds = %229, %.loopexit125 - store i32 %182, ptr %183, align 4, !tbaa !279 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.0) - %235 = getelementptr inbounds nuw i8, ptr %42, i64 932 - %236 = load i32, ptr %235, align 4, !tbaa !70 - %237 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.8, i32 noundef %236) - %238 = getelementptr inbounds nuw i8, ptr %42, i64 996 - %239 = load i32, ptr %238, align 4, !tbaa !81 - %240 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.9, i32 noundef %239) - %241 = getelementptr inbounds nuw i8, ptr %42, i64 1028 - %242 = load i32, ptr %241, align 4, !tbaa !105 - %243 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.10, i32 noundef %242) - %244 = load i32, ptr %128, align 4, !tbaa !111 - %245 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.11, i32 noundef %244) + store i32 %182, ptr %180, align 4, !tbaa !279 + %229 = getelementptr inbounds nuw i8, ptr %42, i64 932 + %230 = load i32, ptr %229, align 4, !tbaa !70 + %231 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.8, i32 noundef %230) + %232 = getelementptr inbounds nuw i8, ptr %42, i64 996 + %233 = load i32, ptr %232, align 4, !tbaa !81 + %234 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.9, i32 noundef %233) + %235 = getelementptr inbounds nuw i8, ptr %42, i64 1028 + %236 = load i32, ptr %235, align 4, !tbaa !105 + %237 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.10, i32 noundef %236) + %238 = load i32, ptr %128, align 4, !tbaa !111 + %239 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.11, i32 noundef %238) call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #27 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #27 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #27 @@ -6393,17 +6369,15 @@ _ZN20btAlignedObjectArrayI9btVector3ED2Ev.exit: ; preds = %.loopexit, %249 253: ; preds = %173, %138 %254 = landingpad { ptr, i32 } cleanup - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.0116) br label %_ZN17btCollisionObjectdlEPv.exit -255: ; preds = %226, %191 +255: ; preds = %226, %188 %256 = landingpad { ptr, i32 } cleanup - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.0) br label %_ZN17btCollisionObjectdlEPv.exit _ZN17btCollisionObjectdlEPv.exit: ; preds = %83, %81, %120, %253, %255, %43 - %.pn.pn = phi { ptr, i32 } [ %44, %43 ], [ %121, %120 ], [ %256, %255 ], [ %254, %253 ], [ %82, %81 ], [ %84, %83 ] + %.pn.pn = phi { ptr, i32 } [ %44, %43 ], [ %121, %120 ], [ %256, %249 ], [ %254, %247 ], [ %82, %81 ], [ %84, %83 ] call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #27 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #27 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #27 @@ -6440,8 +6414,6 @@ define dso_local noundef ptr @_ZN17btSoftBodyHelpers17CreateFromVtkFileER19btSof %14 = alloca float, align 4 %15 = alloca i32, align 4 %16 = alloca %class.btAlignedObjectArray.52, align 8 - %.sroa.0209 = alloca [3 x %class.btVector3], align 8 - %.sroa.0 = alloca [3 x %class.btVector3], align 8 call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %3) #27 call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %3) %17 = getelementptr inbounds nuw i8, ptr %3, i64 16 @@ -7341,8 +7313,6 @@ _ZN17btCollisionObjectnwEm.exit: ; preds = %306 367: ; preds = %366 %368 = getelementptr inbounds nuw i8, ptr %307, i64 1092 %369 = load i32, ptr %368, align 4, !tbaa !111 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %.sroa.0209) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %.sroa.0209, i8 0, i64 48, i1 false) %370 = getelementptr inbounds nuw i8, ptr %307, i64 1124 %371 = load i32, ptr %370, align 4, !tbaa !279 %372 = icmp sgt i32 %369, %371 @@ -7441,23 +7411,15 @@ _ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i: %414 = getelementptr inbounds nuw i8, ptr %307, i64 1136 %415 = sext i32 %371 to i64 %wide.trip.count.i152 = sext i32 %369 to i64 - %.sroa.0209.16..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0209, i64 16 - %.sroa.0209.32..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0209, i64 32 br label %416 416: ; preds = %416, %.lr.ph.i151 %indvars.iv.i153 = phi i64 [ %415, %.lr.ph.i151 ], [ %indvars.iv.next.i154, %416 ] %417 = load ptr, ptr %414, align 8, !tbaa !281 %418 = getelementptr inbounds %"struct.btSoftBody::TetraScratch", ptr %417, i64 %indvars.iv.i153 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %418, i8 0, i64 16, i1 false) - %419 = getelementptr inbounds nuw i8, ptr %418, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %419, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0209.16..sroa_idx, i64 16, i1 false), !tbaa.struct !44 - %420 = getelementptr inbounds nuw i8, ptr %418, i64 32 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %420, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0209.32..sroa_idx, i64 16, i1 false), !tbaa.struct !44 - %421 = getelementptr inbounds nuw i8, ptr %418, i64 48 %indvars.iv.next.i154 = add nsw i64 %indvars.iv.i153, 1 %exitcond.not.i155 = icmp eq i64 %indvars.iv.next.i154, %wide.trip.count.i152 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(104) %421, i8 0, i64 104, i1 false) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(152) %418, i8 0, i64 152, i1 false) br i1 %exitcond.not.i155, label %.loopexit227.loopexit, label %416, !llvm.loop !284 .loopexit227.loopexit: ; preds = %416 @@ -7467,37 +7429,34 @@ _ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i: .loopexit227: ; preds = %.loopexit227.loopexit, %367 %422 = phi i32 [ %.pre, %.loopexit227.loopexit ], [ %369, %367 ] store i32 %369, ptr %370, align 4, !tbaa !279 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.0209) - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %.sroa.0) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(48) %.sroa.0, i8 0, i64 48, i1 false) - %423 = getelementptr inbounds nuw i8, ptr %307, i64 1156 - %424 = load i32, ptr %423, align 4, !tbaa !279 - %425 = icmp sgt i32 %422, %424 - br i1 %425, label %426, label %.loopexit - -426: ; preds = %.loopexit227 - %427 = getelementptr inbounds nuw i8, ptr %307, i64 1160 - %428 = load i32, ptr %427, align 8, !tbaa !280 - %429 = icmp slt i32 %428, %422 - br i1 %429, label %430, label %.lr.ph.i168 - -430: ; preds = %426 + %420 = getelementptr inbounds nuw i8, ptr %307, i64 1156 + %421 = load i32, ptr %420, align 4, !tbaa !279 + %422 = icmp sgt i32 %419, %421 + br i1 %422, label %423, label %.loopexit + +423:; preds = %.loopexit227 + %424 = getelementptr inbounds nuw i8, ptr %307, i64 1160 + %425 = load i32, ptr %424, align 8, !tbaa !280 + %426 = icmp slt i32 %425, %419 + br i1 %426, label %427, label %.lr.ph.i168 + +427:; preds = %423 %.not.i.i.i173 = icmp eq i32 %422, 0 - br i1 %.not.i.i.i173, label %_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i175, label %431 + br i1 %.not.i.i.i173, label %_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i175, label %428 -431: ; preds = %430 - %432 = sext i32 %422 to i64 - %433 = mul nsw i64 %432, 152 - %434 = invoke noundef ptr @_Z22btAlignedAllocInternalmi(i64 noundef %433, i32 noundef 16) - to label %.noexc186 unwind label %497 +428:; preds = %427 + %429 = sext i32 %419 to i64 + %430 = mul nsw i64 %429, 152 + %431 = invoke noundef ptr @_Z22btAlignedAllocInternalmi(i64 noundef %430, i32 noundef 16) + to label %.noexc186 unwind label %491 -.noexc186: ; preds = %431 - %.pre.i174 = load i32, ptr %423, align 4, !tbaa !279 +.noexc186:; preds = %428 + %.pre.i174 = load i32, ptr %420, align 4, !tbaa !279 br label %_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i175 -_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i175: ; preds = %.noexc186, %430 - %435 = phi i32 [ %.pre.i174, %.noexc186 ], [ %424, %430 ] - %.0.i.i.i176 = phi ptr [ %434, %.noexc186 ], [ null, %430 ] +_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i175: ; preds = %.noexc186, %427 + %435 = phi i32 [ %.pre.i174, %.noexc186 ], [ %421, %427 ] + %.0.i.i.i176 = phi ptr [ %431, %.noexc186 ], [ null, %427 ] %436 = icmp sgt i32 %435, 0 br i1 %436, label %.lr.ph.i.i.i181, label %_ZNK20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE4copyEiiPS1_.exit.i.i177 @@ -7507,7 +7466,7 @@ _ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE8allocateEi.exit.i.i175: br label %438 438: ; preds = %438, %.lr.ph.i.i.i181 - %indvars.iv.i.i.i183 = phi i64 [ 0, %.lr.ph.i.i.i181 ], [ %indvars.iv.next.i.i.i184, %438 ] + %indvars.iv.i.i.i183 = phi i64 [ 0, %.lr.ph.i.i.i181 ], [ %indvars.iv.next.i.i.i184, %435 ] %439 = getelementptr inbounds nuw %"struct.btSoftBody::TetraScratch", ptr %.0.i.i.i176, i64 %indvars.iv.i.i.i183 %440 = load ptr, ptr %437, align 8, !tbaa !281 %441 = getelementptr inbounds nuw %"struct.btSoftBody::TetraScratch", ptr %440, i64 %indvars.iv.i.i.i183 @@ -7561,51 +7520,42 @@ _ZNK20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE4copyEiiPS1_.exit.i.i177 _ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i180: ; preds = %466, %_ZNK20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE4copyEiiPS1_.exit.i.i177 store i8 1, ptr %463, align 8, !tbaa !283 store ptr %.0.i.i.i176, ptr %461, align 8, !tbaa !281 - store i32 %422, ptr %427, align 8, !tbaa !280 + store i32 %422, ptr %424, align 8, !tbaa !280 br label %.lr.ph.i168 -.lr.ph.i168: ; preds = %_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i180, %426 +.lr.ph.i168: ; preds = %_ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i180, %423 %467 = getelementptr inbounds nuw i8, ptr %307, i64 1168 - %468 = sext i32 %424 to i64 + %468 = sext i32 %421 to i64 %wide.trip.count.i169 = sext i32 %422 to i64 - %.sroa.0.16..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0, i64 16 - %.sroa.0.32..sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.0, i64 32 - br label %469 - -469: ; preds = %469, %.lr.ph.i168 - %indvars.iv.i170 = phi i64 [ %468, %.lr.ph.i168 ], [ %indvars.iv.next.i171, %469 ] - %470 = load ptr, ptr %467, align 8, !tbaa !281 - %471 = getelementptr inbounds %"struct.btSoftBody::TetraScratch", ptr %470, i64 %indvars.iv.i170 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %471, i8 0, i64 16, i1 false) - %472 = getelementptr inbounds nuw i8, ptr %471, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %472, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0.16..sroa_idx, i64 16, i1 false), !tbaa.struct !44 - %473 = getelementptr inbounds nuw i8, ptr %471, i64 32 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %473, ptr noundef nonnull align 8 dereferenceable(16) %.sroa.0.32..sroa_idx, i64 16, i1 false), !tbaa.struct !44 - %474 = getelementptr inbounds nuw i8, ptr %471, i64 48 + br label %466 + +466:; preds = %466, %.lr.ph.i168 + %indvars.iv.i170 = phi i64 [ %465, %.lr.ph.i168 ], [ %indvars.iv.next.i171, %466 ] + %467 = load ptr, ptr %464, align 8, !tbaa !281 + %468 = getelementptr inbounds %"struct.btSoftBody::TetraScratch", ptr %467, i64 %indvars.iv.i170 %indvars.iv.next.i171 = add nsw i64 %indvars.iv.i170, 1 %exitcond.not.i172 = icmp eq i64 %indvars.iv.next.i171, %wide.trip.count.i169 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(104) %474, i8 0, i64 104, i1 false) - br i1 %exitcond.not.i172, label %.loopexit, label %469, !llvm.loop !284 - -.loopexit: ; preds = %469, %.loopexit227 - store i32 %422, ptr %423, align 4, !tbaa !279 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.0) - %475 = getelementptr inbounds nuw i8, ptr %307, i64 932 - %476 = load i32, ptr %475, align 4, !tbaa !70 - %477 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.8, i32 noundef %476) - %478 = getelementptr inbounds nuw i8, ptr %307, i64 996 - %479 = load i32, ptr %478, align 4, !tbaa !81 - %480 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.9, i32 noundef %479) - %481 = getelementptr inbounds nuw i8, ptr %307, i64 1028 - %482 = load i32, ptr %481, align 4, !tbaa !105 - %483 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.10, i32 noundef %482) - %484 = load i32, ptr %368, align 4, !tbaa !111 - %485 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.11, i32 noundef %484) - %486 = invoke noundef ptr @_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(240) %17) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(152) %468, i8 0, i64 152, i1 false) + br i1 %exitcond.not.i172, label %.loopexit, label %466, !llvm.loop !284 + +.loopexit: ; preds = %466, %.loopexit227 + store i32 %422, ptr %420, align 4, !tbaa !279 + %469 = getelementptr inbounds nuw i8, ptr %307, i64 932 + %470 = load i32, ptr %469, align 4, !tbaa !70 + %471 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.8, i32 noundef %470) + %472 = getelementptr inbounds nuw i8, ptr %307, i64 996 + %473 = load i32, ptr %472, align 4, !tbaa !81 + %474 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.9, i32 noundef %473) + %475 = getelementptr inbounds nuw i8, ptr %307, i64 1028 + %476 = load i32, ptr %475, align 4, !tbaa !105 + %477 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.10, i32 noundef %476) + %478 = load i32, ptr %368, align 4, !tbaa !111 + %479 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.11, i32 noundef %478) + %480 = invoke noundef ptr @_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(240) %17) to label %.noexc190 unwind label %311 .noexc190: ; preds = %.loopexit - %.not.i189 = icmp eq ptr %486, null + %.not.i189 = icmp eq ptr %480, null br i1 %.not.i189, label %487, label %_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv.exit192 487: ; preds = %.noexc190 @@ -7622,17 +7572,15 @@ _ZN20btAlignedObjectArrayIN10btSoftBody12TetraScratchEE10deallocateEv.exit.i.i18 495: ; preds = %413, %378 %496 = landingpad { ptr, i32 } cleanup - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.0209) br label %_ZN17btCollisionObjectdlEPv.exit -497: ; preds = %466, %431 +497: ; preds = %466, %428 %498 = landingpad { ptr, i32 } cleanup - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %.sroa.0) br label %_ZN17btCollisionObjectdlEPv.exit _ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv.exit192: ; preds = %_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev.exit, %.noexc190, %487 - %.4 = phi ptr [ %307, %487 ], [ %307, %.noexc190 ], [ null, %_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev.exit ] + %.4 = phi ptr [ %307, %481 ], [ %307, %.noexc190 ], [ null, %_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev.exit ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #27 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #27 %499 = load i32, ptr %37, align 4, !tbaa !304 @@ -7742,7 +7690,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit202: ; preds = %_Z ret ptr %.4 _ZN17btCollisionObjectdlEPv.exit: ; preds = %.loopexit229, %.loopexit.split-lp, %313, %311, %364, %495, %497, %305 - %.pn92.pn.pn = phi { ptr, i32 } [ %.pn92.pn, %305 ], [ %365, %364 ], [ %312, %311 ], [ %498, %497 ], [ %496, %495 ], [ %314, %313 ], [ %lpad.loopexit, %.loopexit229 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] + %.pn92.pn.pn = phi { ptr, i32 } [ %.pn92.pn, %305 ], [ %365, %364 ], [ %312, %311 ], [ %498, %491 ], [ %496, %489 ], [ %314, %313 ], [ %lpad.loopexit, %.loopexit229 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #27 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #27 call void @_ZN20btAlignedObjectArrayIS_IiEED2Ev(ptr noundef nonnull align 8 dereferenceable(25) %6) #27 diff --git a/bench/ceres/optimized/line_search.ll b/bench/ceres/optimized/line_search.ll index 198ad218edb..22d56730150 100644 --- a/bench/ceres/optimized/line_search.ll +++ b/bench/ceres/optimized/line_search.ll @@ -1772,7 +1772,6 @@ define hidden void @_ZNK5ceres8internal10LineSearch6SearchEdddPNS1_7SummaryE(ptr call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(60) %12, i8 0, i64 60, i1 false) store ptr %14, ptr %13, align 8, !tbaa !65 %15 = getelementptr inbounds nuw i8, ptr %8, i64 168 - store i64 0, ptr %15, align 8, !tbaa !11 store i8 0, ptr %14, align 8, !tbaa !12 %16 = load i8, ptr %8, align 8, !tbaa !74, !range !76, !noundef !77 store i8 %16, ptr %4, align 8, !tbaa !74 @@ -1810,24 +1809,12 @@ define hidden void @_ZNK5ceres8internal10LineSearch6SearchEdddPNS1_7SummaryE(ptr %38 = getelementptr inbounds nuw i8, ptr %8, i64 72 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %37, ptr noundef nonnull align 8 dereferenceable(17) %38, i64 17, i1 false) %39 = getelementptr inbounds nuw i8, ptr %4, i64 96 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %39, i8 0, i64 12, i1 false) - %40 = getelementptr inbounds nuw i8, ptr %4, i64 108 - %41 = getelementptr inbounds nuw i8, ptr %8, i64 108 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %40, ptr noundef nonnull align 4 dereferenceable(12) %41, i64 12, i1 false), !tbaa.struct !79 - %42 = getelementptr inbounds nuw i8, ptr %4, i64 120 - %43 = getelementptr inbounds nuw i8, ptr %8, i64 120 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %42, ptr noundef nonnull align 8 dereferenceable(12) %43, i64 12, i1 false), !tbaa.struct !79 - %44 = getelementptr inbounds nuw i8, ptr %4, i64 132 - %45 = getelementptr inbounds nuw i8, ptr %8, i64 132 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %44, ptr noundef nonnull align 4 dereferenceable(12) %45, i64 12, i1 false), !tbaa.struct !79 - %46 = getelementptr inbounds nuw i8, ptr %4, i64 144 - %47 = getelementptr inbounds nuw i8, ptr %8, i64 144 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(12) %46, ptr noundef nonnull align 8 dereferenceable(12) %47, i64 12, i1 false), !tbaa.struct !79 - %48 = getelementptr inbounds nuw i8, ptr %4, i64 160 - %49 = load ptr, ptr %48, align 8, !tbaa !3 - %50 = getelementptr inbounds nuw i8, ptr %4, i64 176 - %51 = icmp eq ptr %49, %50 - br i1 %51, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread29.i.i + %40 = getelementptr inbounds nuw i8, ptr %4, i64 160 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(60) %39, i8 0, i64 60, i1 false) + %41 = load ptr, ptr %40, align 8, !tbaa !3 + %42 = getelementptr inbounds nuw i8, ptr %4, i64 176 + %43 = icmp eq ptr %41, %42 + br i1 %43, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread29.i.i _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: ; preds = %.critedge %52 = getelementptr inbounds nuw i8, ptr %4, i64 168 @@ -1843,7 +1830,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.threa _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm.exit.i.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread29.i.i %55 = getelementptr inbounds nuw i8, ptr %4, i64 168 store i64 0, ptr %55, align 8, !tbaa !11 - store i8 0, ptr %49, align 1, !tbaa !12 + store i8 0, ptr %41, align 1, !tbaa !12 %.pre.i.i = load ptr, ptr %13, align 8, !tbaa !3 br label %_ZN5ceres8internal10LineSearch7SummaryaSEOS2_.exit @@ -1868,6 +1855,9 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i br label %_ZN5ceres8internal10LineSearch7SummaryD2Ev.exit _ZN5ceres8internal10LineSearch7SummaryD2Ev.exit: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i + %55 = getelementptr inbounds nuw i8, ptr %4, i64 144 + %56 = getelementptr inbounds nuw i8, ptr %4, i64 120 + %57 = getelementptr inbounds nuw i8, ptr %4, i64 108 %.fca.0.extract33 = extractvalue { i64, i32 } %9, 0 %.fca.1.extract34 = extractvalue { i64, i32 } %9, 1 %63 = load ptr, ptr %30, align 8, !tbaa !45 @@ -1876,15 +1866,15 @@ _ZN5ceres8internal10LineSearch7SummaryD2Ev.exit: ; preds = %_ZNKSt7__cxx1112bas call void @free(ptr noundef %64) #32 call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %8) #32 %65 = getelementptr inbounds nuw i8, ptr %0, i64 80 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(36) %40, i8 0, i64 36, i1 false) - %66 = load ptr, ptr %65, align 8, !tbaa !80 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(36) %57, i8 0, i64 36, i1 false) + %66 = load ptr, ptr %65, align 8, !tbaa !79 call void @_ZN5ceres8internal18LineSearchFunction19ResetTimeStatisticsEv(ptr noundef nonnull align 8 dereferenceable(80) %66) %67 = load ptr, ptr %0, align 8, !tbaa !13 %68 = getelementptr inbounds nuw i8, ptr %67, i64 16 %69 = load ptr, ptr %68, align 8 - call void %69(ptr noundef nonnull align 8 dereferenceable(88) %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef nonnull %4) - %70 = load ptr, ptr %65, align 8, !tbaa !80 - call void @_ZNK5ceres8internal18LineSearchFunction14TimeStatisticsEPN4absl12lts_202401168DurationES5_(ptr noundef nonnull align 8 dereferenceable(80) %70, ptr noundef nonnull %40, ptr noundef nonnull %42) + call void %64(ptr noundef nonnull align 8 dereferenceable(88) %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef nonnull %4) + %70 = load ptr, ptr %65, align 8, !tbaa !79 + call void @_ZNK5ceres8internal18LineSearchFunction14TimeStatisticsEPN4absl12lts_202401168DurationES5_(ptr noundef nonnull align 8 dereferenceable(80) %70, ptr noundef nonnull %57, ptr noundef nonnull %56) %71 = call { i64, i32 } @_ZN4absl12lts_202401163NowEv() %.fca.0.extract7 = extractvalue { i64, i32 } %71, 0 %.fca.1.extract8 = extractvalue { i64, i32 } %71, 1 @@ -1897,7 +1887,7 @@ _ZN5ceres8internal10LineSearch7SummaryD2Ev.exit: ; preds = %_ZNKSt7__cxx1112bas %.sroa.212.0..sroa_idx.i.i = getelementptr inbounds nuw i8, ptr %72, i64 8 %.sroa.212.0.copyload.i.i = load i32, ptr %.sroa.212.0..sroa_idx.i.i, align 4, !tbaa !20 call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %6) - store i64 %.sroa.011.0.copyload.i.i, ptr %46, align 8 + store i64 %.sroa.011.0.copyload.i.i, ptr %55, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 152 store i32 %.sroa.212.0.copyload.i.i, ptr %.sroa.4.0..sroa_idx, align 8, !tbaa !20 ret void @@ -1949,7 +1939,7 @@ define hidden noundef double @_ZNK5ceres8internal10LineSearch41InterpolatingPoly 30: ; preds = %28 %31 = fcmp ogt double %6, %.pre - br i1 %31, label %142, label %32, !prof !82 + br i1 %31, label %142, label %32, !prof !81 32: ; preds = %30 %33 = tail call noundef nonnull ptr @_ZN4absl12lts_2024011612log_internal17MakeCheckOpStringIddEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_T0_PKc(double noundef %6, double noundef %.pre, ptr noundef nonnull @.str.8) @@ -1967,7 +1957,7 @@ define hidden noundef double @_ZNK5ceres8internal10LineSearch41InterpolatingPoly %40 = trunc nuw i8 %39 to i1 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #32 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #32 - br i1 %40, label %64, label %41, !prof !82 + br i1 %40, label %64, label %41, !prof !81 41: ; preds = %37 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #32 @@ -1994,7 +1984,7 @@ _ZN4absl12lts_2024011612log_internal10LogMessagelsILi53EEERS2_RAT__Kc.exit: ; pr to label %48 unwind label %61 48: ; preds = %_ZN4absl12lts_2024011612log_internal10LogMessagelsILi53EEERS2_RAT__Kc.exit - store ptr %47, ptr %11, align 8, !tbaa !83 + store ptr %47, ptr %11, align 8, !tbaa !82 %49 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12lts_2024011612log_internal10LogMessagelsIPKcTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS2_RKS7_(ptr noundef nonnull align 8 dereferenceable(16) %44, ptr noundef nonnull align 8 dereferenceable(8) %11) to label %50 unwind label %61 @@ -2067,8 +2057,8 @@ _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE9push_backERKS2_.exit: ; p 67: ; preds = %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE9push_backERKS2_.exit %68 = getelementptr inbounds nuw i8, ptr %4, i64 32 - %69 = load ptr, ptr %65, align 8, !tbaa !84 - %70 = load ptr, ptr %66, align 8, !tbaa !87 + %69 = load ptr, ptr %65, align 8, !tbaa !83 + %70 = load ptr, ptr %66, align 8, !tbaa !86 %.not.i44 = icmp eq ptr %69, %70 br i1 %.not.i44, label %76, label %71 @@ -2079,9 +2069,9 @@ _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE9push_backERKS2_.exit: ; p to label %.noexc45 unwind label %89 .noexc45: ; preds = %71 - %74 = load ptr, ptr %65, align 8, !tbaa !84 + %74 = load ptr, ptr %65, align 8, !tbaa !83 %75 = getelementptr inbounds nuw i8, ptr %74, i64 88 - store ptr %75, ptr %65, align 8, !tbaa !84 + store ptr %75, ptr %65, align 8, !tbaa !83 br label %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE12emplace_backIJRKdS7_EEERS2_DpOT_.exit 76: ; preds = %67 @@ -2096,8 +2086,8 @@ _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE12emplace_backIJRKdS7_EEER 80: ; preds = %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE12emplace_backIJRKdS7_EEERS2_DpOT_.exit %81 = getelementptr inbounds nuw i8, ptr %3, i64 32 - %82 = load ptr, ptr %65, align 8, !tbaa !84 - %83 = load ptr, ptr %66, align 8, !tbaa !87 + %82 = load ptr, ptr %65, align 8, !tbaa !83 + %83 = load ptr, ptr %66, align 8, !tbaa !86 %.not.i47 = icmp eq ptr %82, %83 br i1 %.not.i47, label %87, label %84 @@ -2121,8 +2111,8 @@ _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE12emplace_backIJRKdS7_EEER br label %141 91: ; preds = %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE9push_backERKS2_.exit - %92 = load ptr, ptr %65, align 8, !tbaa !84 - %93 = load ptr, ptr %66, align 8, !tbaa !87 + %92 = load ptr, ptr %65, align 8, !tbaa !83 + %93 = load ptr, ptr %66, align 8, !tbaa !86 %.not.i52 = icmp eq ptr %92, %93 br i1 %.not.i52, label %97, label %94 @@ -2131,9 +2121,9 @@ _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE12emplace_backIJRKdS7_EEER to label %.noexc53 unwind label %89 .noexc53: ; preds = %94 - %95 = load ptr, ptr %65, align 8, !tbaa !84 + %95 = load ptr, ptr %65, align 8, !tbaa !83 %96 = getelementptr inbounds nuw i8, ptr %95, i64 88 - store ptr %96, ptr %65, align 8, !tbaa !84 + store ptr %96, ptr %65, align 8, !tbaa !83 br label %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE9push_backERKS2_.exit55 97: ; preds = %91 @@ -2147,8 +2137,8 @@ _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE9push_backERKS2_.exit55: ; br i1 %100, label %101, label %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE12emplace_backIJRKdS7_EEERS2_DpOT_.exit51 101: ; preds = %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE9push_backERKS2_.exit55 - %102 = load ptr, ptr %65, align 8, !tbaa !84 - %103 = load ptr, ptr %66, align 8, !tbaa !87 + %102 = load ptr, ptr %65, align 8, !tbaa !83 + %103 = load ptr, ptr %66, align 8, !tbaa !86 %.not.i56 = icmp eq ptr %102, %103 br i1 %.not.i56, label %105, label %104 @@ -2176,7 +2166,7 @@ _ZN4absl12lts_2024011612log_internal10LogMessagelsILi47EEERS2_RAT__Kc.exit: ; pr to label %110 unwind label %119 110: ; preds = %_ZN4absl12lts_2024011612log_internal10LogMessagelsILi47EEERS2_RAT__Kc.exit - store ptr %109, ptr %14, align 8, !tbaa !83 + store ptr %109, ptr %14, align 8, !tbaa !82 %111 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12lts_2024011612log_internal10LogMessagelsIPKcTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS2_RKS7_(ptr noundef nonnull align 8 dereferenceable(16) %13, ptr noundef nonnull align 8 dereferenceable(8) %14) to label %112 unwind label %119 @@ -2211,9 +2201,9 @@ _ZN4absl12lts_2024011612log_internal10LogMessagelsILi47EEERS2_RAT__Kc.exit: ; pr unreachable _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE12emplace_backIJRKdS7_EEERS2_DpOT_.exit51.sink.split: ; preds = %104, %84 - %122 = load ptr, ptr %65, align 8, !tbaa !84 + %122 = load ptr, ptr %65, align 8, !tbaa !83 %123 = getelementptr inbounds nuw i8, ptr %122, i64 88 - store ptr %123, ptr %65, align 8, !tbaa !84 + store ptr %123, ptr %65, align 8, !tbaa !83 br label %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE12emplace_backIJRKdS7_EEERS2_DpOT_.exit51 _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE12emplace_backIJRKdS7_EEERS2_DpOT_.exit51: ; preds = %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE12emplace_backIJRKdS7_EEERS2_DpOT_.exit51.sink.split, %87, %105, %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE9push_backERKS2_.exit55, %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE12emplace_backIJRKdS7_EEERS2_DpOT_.exit @@ -2228,8 +2218,8 @@ _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE12emplace_backIJRKdS7_EEER %125 = load double, ptr %15, align 8, !tbaa !18 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #32 call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #32 - %126 = load ptr, ptr %12, align 8, !tbaa !88 - %127 = load ptr, ptr %65, align 8, !tbaa !84 + %126 = load ptr, ptr %12, align 8, !tbaa !87 + %127 = load ptr, ptr %65, align 8, !tbaa !83 %.not4.i.i.i.i = icmp eq ptr %126, %127 br i1 %.not4.i.i.i.i, label %_ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exit.i, label %.lr.ph.i.i.i.i @@ -2243,10 +2233,10 @@ _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE12emplace_backIJRKdS7_EEER call void @free(ptr noundef %131) #32 %132 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i, i64 88 %.not.i.i.i.i = icmp eq ptr %132, %127 - br i1 %.not.i.i.i.i, label %_ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i, !llvm.loop !89 + br i1 %.not.i.i.i.i, label %_ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i, label %.lr.ph.i.i.i.i, !llvm.loop !88 _ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i: ; preds = %.lr.ph.i.i.i.i - %.pr.i = load ptr, ptr %12, align 8, !tbaa !88 + %.pr.i = load ptr, ptr %12, align 8, !tbaa !87 br label %_ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exit.i _ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exit.i: ; preds = %_ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exitthread-pre-split.i, %124 @@ -2255,7 +2245,7 @@ _ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exit.i: ; pre br i1 %.not.i.i.i, label %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EED2Ev.exit, label %134 134: ; preds = %_ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exit.i - %135 = load ptr, ptr %66, align 8, !tbaa !87 + %135 = load ptr, ptr %66, align 8, !tbaa !86 %136 = ptrtoint ptr %135 to i64 %137 = ptrtoint ptr %133 to i64 %138 = sub i64 %136, %137 @@ -2289,10 +2279,10 @@ declare noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12lts_202401161 ; Function Attrs: inlinehint mustprogress uwtable define linkonce_odr noundef nonnull align 8 dereferenceable(216) ptr @_ZSt10scientificRSt8ios_base(ptr noundef nonnull align 8 dereferenceable(216) %0) #8 comdat { %2 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %3 = load i32, ptr %2, align 8, !tbaa !90 + %3 = load i32, ptr %2, align 8, !tbaa !89 %4 = and i32 %3, -261 %5 = or disjoint i32 %4, 256 - store i32 %5, ptr %2, align 8, !tbaa !99 + store i32 %5, ptr %2, align 8, !tbaa !98 ret ptr %0 } @@ -2301,7 +2291,7 @@ define linkonce_odr hidden noundef nonnull align 8 dereferenceable(16) ptr @_ZN4 %3 = alloca %"class.absl::lts_20240116::log_internal::LogMessage::OstreamView", align 8 call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %3) #32 %4 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %5 = load ptr, ptr %4, align 8, !tbaa !100 + %5 = load ptr, ptr %4, align 8, !tbaa !99 call void @_ZN4absl12lts_2024011612log_internal10LogMessage11OstreamViewC1ERNS2_14LogMessageDataE(ptr noundef nonnull align 8 dereferenceable(120) %3, ptr noundef nonnull align 1 %5) %6 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4absl12lts_2024011612log_internal10LogMessage11OstreamView6streamEv(ptr noundef nonnull align 8 dereferenceable(120) %3) to label %7 unwind label %14 @@ -2314,7 +2304,7 @@ define linkonce_odr hidden noundef nonnull align 8 dereferenceable(16) ptr @_ZN4 %11 = getelementptr inbounds i8, ptr %6, i64 %10 %12 = sext i32 %.sroa.0.0.copyload to i64 %13 = getelementptr inbounds nuw i8, ptr %11, i64 8 - store i64 %12, ptr %13, align 8, !tbaa !102 + store i64 %12, ptr %13, align 8, !tbaa !101 call void @_ZN4absl12lts_2024011612log_internal10LogMessage11OstreamViewD1Ev(ptr noundef nonnull align 8 dereferenceable(120) %3) #32 call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %3) #32 ret ptr %0 @@ -2332,13 +2322,13 @@ define linkonce_odr hidden noundef nonnull align 8 dereferenceable(16) ptr @_ZN4 %3 = alloca %"class.absl::lts_20240116::log_internal::LogMessage::OstreamView", align 8 call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %3) #32 %4 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %5 = load ptr, ptr %4, align 8, !tbaa !100 + %5 = load ptr, ptr %4, align 8, !tbaa !99 call void @_ZN4absl12lts_2024011612log_internal10LogMessage11OstreamViewC1ERNS2_14LogMessageDataE(ptr noundef nonnull align 8 dereferenceable(120) %3, ptr noundef nonnull align 1 %5) %6 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4absl12lts_2024011612log_internal10LogMessage11OstreamView6streamEv(ptr noundef nonnull align 8 dereferenceable(120) %3) to label %7 unwind label %11 7: ; preds = %2 - %8 = load ptr, ptr %1, align 8, !tbaa !83 + %8 = load ptr, ptr %1, align 8, !tbaa !82 %.not.i = icmp eq ptr %8, null %spec.select.i = select i1 %.not.i, ptr @_ZN4absl12lts_2024011612log_internal9kCharNullE, ptr %8 %9 = call noundef i64 @strlen(ptr noundef nonnull dereferenceable(1) %spec.select.i) #32 @@ -2366,7 +2356,7 @@ define linkonce_odr hidden noundef nonnull align 8 dereferenceable(16) ptr @_ZN4 %4 = alloca %"class.absl::lts_20240116::log_internal::LogMessage::OstreamView", align 8 call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %4) #32 %5 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %6 = load ptr, ptr %5, align 8, !tbaa !100 + %6 = load ptr, ptr %5, align 8, !tbaa !99 call void @_ZN4absl12lts_2024011612log_internal10LogMessage11OstreamViewC1ERNS2_14LogMessageDataE(ptr noundef nonnull align 8 dereferenceable(120) %4, ptr noundef nonnull align 1 %6) %7 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4absl12lts_2024011612log_internal10LogMessage11OstreamView6streamEv(ptr noundef nonnull align 8 dereferenceable(120) %4) to label %8 unwind label %30 @@ -2457,9 +2447,9 @@ declare hidden void @_ZN5ceres8internal31MinimizeInterpolatingPolynomialERKSt6ve ; Function Attrs: mustprogress nounwind uwtable define linkonce_odr hidden void @_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) unnamed_addr #11 comdat align 2 personality ptr @__gxx_personality_v0 { - %2 = load ptr, ptr %0, align 8, !tbaa !88 + %2 = load ptr, ptr %0, align 8, !tbaa !87 %3 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %4 = load ptr, ptr %3, align 8, !tbaa !84 + %4 = load ptr, ptr %3, align 8, !tbaa !83 %.not4.i.i.i = icmp eq ptr %2, %4 br i1 %.not4.i.i.i, label %_ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exit, label %.lr.ph.i.i.i @@ -2473,10 +2463,10 @@ define linkonce_odr hidden void @_ZNSt6vectorIN5ceres8internal14FunctionSampleES tail call void @free(ptr noundef %8) #32 %9 = getelementptr inbounds nuw i8, ptr %.05.i.i.i, i64 88 %.not.i.i.i = icmp eq ptr %9, %4 - br i1 %.not.i.i.i, label %_ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exitthread-pre-split, label %.lr.ph.i.i.i, !llvm.loop !89 + br i1 %.not.i.i.i, label %_ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exitthread-pre-split, label %.lr.ph.i.i.i, !llvm.loop !88 _ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exitthread-pre-split: ; preds = %.lr.ph.i.i.i - %.pr = load ptr, ptr %0, align 8, !tbaa !88 + %.pr = load ptr, ptr %0, align 8, !tbaa !87 br label %_ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exit _ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exit: ; preds = %_ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exitthread-pre-split, %1 @@ -2486,7 +2476,7 @@ _ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exit: ; preds 11: ; preds = %_ZSt8_DestroyIPN5ceres8internal14FunctionSampleES2_EvT_S4_RSaIT0_E.exit %12 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %13 = load ptr, ptr %12, align 8, !tbaa !87 + %13 = load ptr, ptr %12, align 8, !tbaa !86 %14 = ptrtoint ptr %13 to i64 %15 = ptrtoint ptr %10 to i64 %16 = sub i64 %14, %15 @@ -2530,7 +2520,7 @@ define hidden void @_ZNK5ceres8internal16ArmijoLineSearch8DoSearchEdddPNS0_10Lin %23 = getelementptr inbounds nuw i8, ptr %0, i64 16 %24 = load double, ptr %23, align 8, !tbaa !18 %25 = fcmp ogt double %24, 0.000000e+00 - br i1 %25, label %31, label %33, !prof !82 + br i1 %25, label %31, label %33, !prof !81 26: ; preds = %5 %27 = tail call noundef nonnull ptr @_ZN4absl12lts_2024011612log_internal17MakeCheckOpStringIddEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_T0_PKc(double noundef %1, double noundef 0.000000e+00, ptr noundef nonnull @.str.17) @@ -2544,7 +2534,7 @@ define hidden void @_ZNK5ceres8internal16ArmijoLineSearch8DoSearchEdddPNS0_10Lin 31: ; preds = %21 %32 = fcmp olt double %24, 1.000000e+00 - br i1 %32, label %38, label %42, !prof !82 + br i1 %32, label %38, label %42, !prof !81 33: ; preds = %21 %34 = tail call noundef nonnull ptr @_ZN4absl12lts_2024011612log_internal17MakeCheckOpStringIddEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_T0_PKc(double noundef %24, double noundef 0.000000e+00, ptr noundef nonnull @.str.18) @@ -2558,9 +2548,9 @@ define hidden void @_ZNK5ceres8internal16ArmijoLineSearch8DoSearchEdddPNS0_10Lin 38: ; preds = %31 %39 = getelementptr inbounds nuw i8, ptr %0, i64 48 - %40 = load i32, ptr %39, align 8, !tbaa !103 + %40 = load i32, ptr %39, align 8, !tbaa !102 %41 = icmp sgt i32 %40, 0 - br i1 %41, label %47, label %73, !prof !82 + br i1 %41, label %47, label %73, !prof !81 42: ; preds = %31 %43 = tail call noundef nonnull ptr @_ZN4absl12lts_2024011612log_internal17MakeCheckOpStringIddEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_T0_PKc(double noundef %24, double noundef 1.000000e+00, ptr noundef nonnull @.str.19) @@ -2574,7 +2564,7 @@ define hidden void @_ZNK5ceres8internal16ArmijoLineSearch8DoSearchEdddPNS0_10Lin 47: ; preds = %38 %48 = getelementptr inbounds nuw i8, ptr %0, i64 80 - %49 = load ptr, ptr %48, align 8, !tbaa !80 + %49 = load ptr, ptr %48, align 8, !tbaa !79 call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %13) #32 call void @_ZN5ceres8internal14FunctionSampleC1Eddd(ptr noundef nonnull align 8 dereferenceable(81) %13, double noundef 0.000000e+00, double noundef %2, double noundef %3) %50 = getelementptr inbounds nuw i8, ptr %49, i64 8 @@ -2742,19 +2732,19 @@ _ZNK5ceres8internal18LineSearchFunction21DirectionInfinityNormEv.exit: ; preds = to label %130 unwind label %144 130: ; preds = %129 - %131 = load i32, ptr %22, align 8, !tbaa !104 + %131 = load i32, ptr %22, align 8, !tbaa !103 %132 = icmp eq i32 %131, 2 %133 = getelementptr inbounds nuw i8, ptr %4, i64 96 - %134 = load i32, ptr %133, align 8, !tbaa !105 + %134 = load i32, ptr %133, align 8, !tbaa !104 %135 = add nsw i32 %134, 1 - store i32 %135, ptr %133, align 8, !tbaa !105 + store i32 %135, ptr %133, align 8, !tbaa !104 br i1 %132, label %136, label %148 136: ; preds = %130 %137 = getelementptr inbounds nuw i8, ptr %4, i64 100 - %138 = load i32, ptr %137, align 4, !tbaa !106 + %138 = load i32, ptr %137, align 4, !tbaa !105 %139 = add nsw i32 %138, 1 - store i32 %139, ptr %137, align 4, !tbaa !106 + store i32 %139, ptr %137, align 4, !tbaa !105 br label %148 140: ; preds = %thread-pre-split.i.i.i.i.i.i.i @@ -2812,7 +2802,7 @@ _ZNK5ceres8internal18LineSearchFunction21DirectionInfinityNormEv.exit: ; preds = 172: ; preds = %169 %173 = load double, ptr %150, align 8, !tbaa !58 - %174 = load double, ptr %23, align 8, !tbaa !107 + %174 = load double, ptr %23, align 8, !tbaa !106 %175 = fmul double %3, %174 %176 = load double, ptr %15, align 8, !tbaa !50 %177 = call double @llvm.fmuladd.f64(double %175, double %176, double %2) @@ -2820,26 +2810,26 @@ _ZNK5ceres8internal18LineSearchFunction21DirectionInfinityNormEv.exit: ; preds = br i1 %178, label %.critedge, label %381 .critedge: ; preds = %169, %172 - %179 = load i32, ptr %151, align 8, !tbaa !108 + %179 = load i32, ptr %151, align 8, !tbaa !107 %180 = add nsw i32 %179, 1 - store i32 %180, ptr %151, align 8, !tbaa !108 - %181 = load i32, ptr %39, align 8, !tbaa !103 + store i32 %180, ptr %151, align 8, !tbaa !107 + %181 = load i32, ptr %39, align 8, !tbaa !102 %.not82 = icmp slt i32 %180, %181 br i1 %.not82, label %246, label %182 182: ; preds = %.critedge call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #32 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) #32, !noalias !109 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) #32, !noalias !108 %.sroa.0.0.insert.ext.i.i.i.i = zext i32 %181 to i64 %183 = inttoptr i64 %.sroa.0.0.insert.ext.i.i.i.i to ptr - store ptr %183, ptr %8, align 8, !tbaa !12, !noalias !109 + store ptr %183, ptr %8, align 8, !tbaa !12, !noalias !108 %184 = getelementptr inbounds nuw i8, ptr %8, i64 8 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIiEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %184, align 8, !tbaa !112, !noalias !109 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIiEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %184, align 8, !tbaa !111, !noalias !108 invoke void @_ZN4absl12lts_2024011619str_format_internal10FormatPackB5cxx11ENS1_21UntypedFormatSpecImplENS0_4SpanIKNS1_13FormatArgImplEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr nonnull @.str.21, i64 135, ptr nonnull %8, i64 1) to label %185 unwind label %239 185: ; preds = %182 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #32, !noalias !109 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #32, !noalias !108 %186 = getelementptr inbounds nuw i8, ptr %4, i64 160 %187 = load ptr, ptr %186, align 8, !tbaa !3 %188 = getelementptr inbounds nuw i8, ptr %4, i64 176 @@ -2952,7 +2942,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #32 %232 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %233 = load i8, ptr %232, align 8, !tbaa !114, !range !76, !noundef !77 + %233 = load i8, ptr %232, align 8, !tbaa !113, !range !76, !noundef !77 %234 = trunc nuw i8 %233 to i1 br i1 %234, label %.thread, label %235 @@ -2999,10 +2989,10 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS 248: ; preds = %246 %.fca.0.extract17 = extractvalue { i64, i32 } %247, 0 %.fca.1.extract18 = extractvalue { i64, i32 } %247, 1 - %249 = load double, ptr %152, align 8, !tbaa !115 + %249 = load double, ptr %152, align 8, !tbaa !114 %250 = load double, ptr %15, align 8, !tbaa !50 %251 = fmul double %249, %250 - %252 = load double, ptr %153, align 8, !tbaa !116 + %252 = load double, ptr %153, align 8, !tbaa !115 %253 = fmul double %250, %252 %254 = invoke noundef double @_ZNK5ceres8internal10LineSearch41InterpolatingPolynomialMinimizingStepSizeERKNS_27LineSearchInterpolationTypeERKNS0_14FunctionSampleES7_S7_dd(ptr nonnull align 8 poison, ptr noundef nonnull align 4 dereferenceable(4) %22, ptr noundef nonnull align 8 dereferenceable(81) %13, ptr noundef nonnull align 8 dereferenceable(81) %14, ptr noundef nonnull align 8 dereferenceable(81) %15, double noundef %251, double noundef %253) to label %255 unwind label %326 @@ -3027,7 +3017,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS 260: ; preds = %257 %261 = fmul double %254, %.0..0.147 - %262 = load double, ptr %155, align 8, !tbaa !117 + %262 = load double, ptr %155, align 8, !tbaa !116 %263 = fcmp uge double %261, %262 br i1 %263, label %335, label %264 @@ -3035,19 +3025,19 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS %265 = bitcast double %254 to i64 %266 = inttoptr i64 %265 to ptr call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #32 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #32, !noalias !118 - store ptr %266, ptr %6, align 8, !tbaa !12, !noalias !118 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #32, !noalias !117 + store ptr %266, ptr %6, align 8, !tbaa !12, !noalias !117 %267 = getelementptr inbounds nuw i8, ptr %6, i64 8 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %267, align 8, !tbaa !112, !noalias !118 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %267, align 8, !tbaa !111, !noalias !117 %268 = getelementptr inbounds nuw i8, ptr %6, i64 16 - store ptr %128, ptr %268, align 8, !tbaa !12, !noalias !118 + store ptr %128, ptr %268, align 8, !tbaa !12, !noalias !117 %269 = getelementptr inbounds nuw i8, ptr %6, i64 24 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %269, align 8, !tbaa !112, !noalias !118 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %269, align 8, !tbaa !111, !noalias !117 invoke void @_ZN4absl12lts_2024011619str_format_internal10FormatPackB5cxx11ENS1_21UntypedFormatSpecImplENS0_4SpanIKNS1_13FormatArgImplEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr nonnull @.str.22, i64 84, ptr nonnull %6, i64 2) to label %270 unwind label %328 270: ; preds = %264 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #32, !noalias !118 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #32, !noalias !117 %271 = getelementptr inbounds nuw i8, ptr %4, i64 160 %272 = load ptr, ptr %271, align 8, !tbaa !3 %273 = getelementptr inbounds nuw i8, ptr %4, i64 176 @@ -3160,7 +3150,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i11 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit116: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i115, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i114 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #32 %317 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %318 = load i8, ptr %317, align 8, !tbaa !114, !range !76, !noundef !77 + %318 = load i8, ptr %317, align 8, !tbaa !113, !range !76, !noundef !77 %319 = trunc nuw i8 %318 to i1 br i1 %319, label %.thread, label %320 @@ -3309,15 +3299,15 @@ thread-pre-split.i.i.i.i.i.i.i7.i: ; preds = %_ZN5Eigen6MatrixIdL .loopexit161: ; preds = %.lr.ph.i.i.i.i.i.i.i.i.i10.i, %._crit_edge.i.i.i.i.i.i.i.i9.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %166, ptr noundef nonnull align 8 dereferenceable(17) %167, i64 17, i1 false) - %375 = load i32, ptr %133, align 8, !tbaa !105 + %375 = load i32, ptr %133, align 8, !tbaa !104 %376 = add nsw i32 %375, 1 - store i32 %376, ptr %133, align 8, !tbaa !105 + store i32 %376, ptr %133, align 8, !tbaa !104 br i1 %132, label %377, label %380 377: ; preds = %.loopexit161 - %378 = load i32, ptr %168, align 4, !tbaa !106 + %378 = load i32, ptr %168, align 4, !tbaa !105 %379 = add nsw i32 %378, 1 - store i32 %379, ptr %168, align 4, !tbaa !106 + store i32 %379, ptr %168, align 4, !tbaa !105 br label %380 380: ; preds = %377, %.loopexit161 @@ -3545,7 +3535,7 @@ define hidden void @_ZNK5ceres8internal15WolfeLineSearch8DoSearchEdddPNS0_10Line %24 = getelementptr inbounds nuw i8, ptr %0, i64 16 %25 = load double, ptr %24, align 8, !tbaa !18 %26 = fcmp ogt double %25, 0.000000e+00 - br i1 %26, label %32, label %36, !prof !82 + br i1 %26, label %32, label %36, !prof !81 27: ; preds = %5 %28 = tail call noundef nonnull ptr @_ZN4absl12lts_2024011612log_internal17MakeCheckOpStringIddEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_T0_PKc(double noundef %1, double noundef 0.000000e+00, ptr noundef nonnull @.str.17) @@ -3561,7 +3551,7 @@ define hidden void @_ZNK5ceres8internal15WolfeLineSearch8DoSearchEdddPNS0_10Line %33 = getelementptr inbounds nuw i8, ptr %0, i64 56 %34 = load double, ptr %33, align 8, !tbaa !18 %35 = fcmp ogt double %34, %25 - br i1 %35, label %41, label %43, !prof !82 + br i1 %35, label %41, label %43, !prof !81 36: ; preds = %23 %37 = tail call noundef nonnull ptr @_ZN4absl12lts_2024011612log_internal17MakeCheckOpStringIddEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_T0_PKc(double noundef %25, double noundef 0.000000e+00, ptr noundef nonnull @.str.18) @@ -3575,7 +3565,7 @@ define hidden void @_ZNK5ceres8internal15WolfeLineSearch8DoSearchEdddPNS0_10Line 41: ; preds = %32 %42 = fcmp olt double %34, 1.000000e+00 - br i1 %42, label %48, label %52, !prof !82 + br i1 %42, label %48, label %52, !prof !81 43: ; preds = %32 %44 = tail call noundef nonnull ptr @_ZN4absl12lts_2024011612log_internal17MakeCheckOpStringIddEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_T0_PKc(double noundef %34, double noundef %25, ptr noundef nonnull @.str.23) @@ -3591,7 +3581,7 @@ define hidden void @_ZNK5ceres8internal15WolfeLineSearch8DoSearchEdddPNS0_10Line %49 = getelementptr inbounds nuw i8, ptr %0, i64 64 %50 = load double, ptr %49, align 8, !tbaa !18 %51 = fcmp ogt double %50, 1.000000e+00 - br i1 %51, label %57, label %83, !prof !82 + br i1 %51, label %57, label %83, !prof !81 52: ; preds = %41 %53 = tail call noundef nonnull ptr @_ZN4absl12lts_2024011612log_internal17MakeCheckOpStringIddEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEET_T0_PKc(double noundef %34, double noundef 1.000000e+00, ptr noundef nonnull @.str.24) @@ -3607,7 +3597,7 @@ define hidden void @_ZNK5ceres8internal15WolfeLineSearch8DoSearchEdddPNS0_10Line call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %13) #32 call void @_ZN5ceres8internal14FunctionSampleC1Eddd(ptr noundef nonnull align 8 dereferenceable(81) %13, double noundef 0.000000e+00, double noundef %2, double noundef %3) %58 = getelementptr inbounds nuw i8, ptr %0, i64 80 - %59 = load ptr, ptr %58, align 8, !tbaa !80 + %59 = load ptr, ptr %58, align 8, !tbaa !79 %60 = getelementptr inbounds nuw i8, ptr %59, i64 8 %61 = getelementptr inbounds nuw i8, ptr %13, i64 8 %62 = load ptr, ptr %60, align 8, !tbaa !45 @@ -3836,7 +3826,7 @@ thread-pre-split.i.i.i.i.i.i.i7.i: ; preds = %_ZN5Eigen6MatrixIdL call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #32 %159 = load atomic i32, ptr getelementptr inbounds nuw (i8, ptr @"_ZZZNK5ceres8internal15WolfeLineSearch8DoSearchEdddPNS0_10LineSearch7SummaryEENK3$_0clEvE4site", i64 8) monotonic, align 8 %160 = icmp slt i32 %159, 3 - br i1 %160, label %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit.thread, label %161, !prof !82 + br i1 %160, label %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit.thread, label %161, !prof !81 161: ; preds = %158 %162 = invoke noundef zeroext i1 @_ZN4absl12lts_2024011612log_internal8VLogSite14SlowIsEnabled3Ei(ptr noundef nonnull align 8 dereferenceable(24) @"_ZZZNK5ceres8internal15WolfeLineSearch8DoSearchEdddPNS0_10LineSearch7SummaryEENK3$_0clEvE4site", i32 noundef %159) @@ -4351,7 +4341,7 @@ define hidden noundef zeroext i1 @_ZNK5ceres8internal15WolfeLineSearch15Bracketi %29 = alloca %"class.absl::lts_20240116::log_internal::LogMessage", align 8 %30 = getelementptr inbounds nuw i8, ptr %0, i64 8 %31 = getelementptr inbounds nuw i8, ptr %0, i64 80 - %32 = load ptr, ptr %31, align 8, !tbaa !80 + %32 = load ptr, ptr %31, align 8, !tbaa !79 call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %17) #32 call void @_ZN5ceres8internal14FunctionSampleC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(81) %17, ptr noundef nonnull align 8 dereferenceable(81) %1) call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %18) #32 @@ -4566,13 +4556,13 @@ thread-pre-split.i.i.i.i.i.i.i7.i: ; preds = %_ZN5Eigen6MatrixIdL %125 = getelementptr inbounds nuw i8, ptr %1, i64 64 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %.sroa.gep425, ptr noundef nonnull align 8 dereferenceable(17) %125, i64 17, i1 false) %126 = getelementptr inbounds nuw i8, ptr %6, i64 96 - %127 = load i32, ptr %126, align 8, !tbaa !105 + %127 = load i32, ptr %126, align 8, !tbaa !104 %128 = add nsw i32 %127, 1 - store i32 %128, ptr %126, align 8, !tbaa !105 + store i32 %128, ptr %126, align 8, !tbaa !104 %129 = getelementptr inbounds nuw i8, ptr %6, i64 100 - %130 = load i32, ptr %129, align 4, !tbaa !106 + %130 = load i32, ptr %129, align 4, !tbaa !105 %131 = add nsw i32 %130, 1 - store i32 %131, ptr %129, align 4, !tbaa !106 + store i32 %131, ptr %129, align 4, !tbaa !105 invoke void @_ZN5ceres8internal18LineSearchFunction8EvaluateEdbPNS0_14FunctionSampleE(ptr noundef nonnull align 8 dereferenceable(80) %32, double noundef %2, i1 noundef zeroext true, ptr noundef nonnull %18) to label %.preheader unwind label %287 @@ -4615,9 +4605,9 @@ thread-pre-split.i.i.i.i.i.i.i7.i: ; preds = %_ZN5Eigen6MatrixIdL br label %163 163: ; preds = %.preheader, %822 - %164 = load i32, ptr %132, align 8, !tbaa !108 + %164 = load i32, ptr %132, align 8, !tbaa !107 %165 = add nsw i32 %164, 1 - store i32 %165, ptr %132, align 8, !tbaa !108 + store i32 %165, ptr %132, align 8, !tbaa !107 %166 = load i8, ptr %133, align 8, !tbaa !53, !range !76, !noundef !77 %167 = trunc nuw i8 %166 to i1 br i1 %167, label %168, label %.thread458 @@ -4625,7 +4615,7 @@ thread-pre-split.i.i.i.i.i.i.i7.i: ; preds = %_ZN5Eigen6MatrixIdL 168: ; preds = %163 %169 = load double, ptr %135, align 8, !tbaa !58 %170 = load double, ptr %136, align 8, !tbaa !58 - %171 = load double, ptr %137, align 8, !tbaa !107 + %171 = load double, ptr %137, align 8, !tbaa !106 %172 = load double, ptr %138, align 8, !tbaa !61 %173 = fmul double %171, %172 %174 = load double, ptr %18, align 8, !tbaa !50 @@ -4848,7 +4838,7 @@ thread-pre-split.i.i.i.i.i.i.i7.i177: ; preds = %_ZN5Eigen6MatrixIdL call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #32 %267 = load atomic i32, ptr getelementptr inbounds nuw (i8, ptr @"_ZZZNK5ceres8internal15WolfeLineSearch15BracketingPhaseERKNS0_14FunctionSampleEdPS2_S5_PbPNS0_10LineSearch7SummaryEENK3$_0clEvE4site", i64 8) monotonic, align 8 %268 = icmp slt i32 %267, 3 - br i1 %268, label %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit.thread, label %269, !prof !82 + br i1 %268, label %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit.thread, label %269, !prof !81 269: ; preds = %.loopexit %270 = invoke noundef zeroext i1 @_ZN4absl12lts_2024011612log_internal8VLogSite14SlowIsEnabled3Ei(ptr noundef nonnull align 8 dereferenceable(24) @"_ZZZNK5ceres8internal15WolfeLineSearch15BracketingPhaseERKNS0_14FunctionSampleEdPS2_S5_PbPNS0_10LineSearch7SummaryEENK3$_0clEvE4site", i32 noundef %267) @@ -4954,7 +4944,7 @@ _ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit.thread: ; preds = 299: ; preds = %177 %300 = load double, ptr %141, align 8, !tbaa !61 %301 = call double @llvm.fabs.f64(double %300) - %302 = load double, ptr %142, align 8, !tbaa !121 + %302 = load double, ptr %142, align 8, !tbaa !120 %303 = fneg double %302 %304 = fmul double %172, %303 %305 = fcmp ugt double %301, %304 @@ -5165,7 +5155,7 @@ thread-pre-split.i.i.i.i.i.i.i7.i225: ; preds = %_ZN5Eigen6MatrixIdL call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #32 %390 = load atomic i32, ptr getelementptr inbounds nuw (i8, ptr @"_ZZZNK5ceres8internal15WolfeLineSearch15BracketingPhaseERKNS0_14FunctionSampleEdPS2_S5_PbPNS0_10LineSearch7SummaryEENK3$_1clEvE4site", i64 8) monotonic, align 8 %391 = icmp slt i32 %390, 3 - br i1 %391, label %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit140.thread, label %392, !prof !82 + br i1 %391, label %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit140.thread, label %392, !prof !81 392: ; preds = %.loopexit469 %393 = invoke noundef zeroext i1 @_ZN4absl12lts_2024011612log_internal8VLogSite14SlowIsEnabled3Ei(ptr noundef nonnull align 8 dereferenceable(24) @"_ZZZNK5ceres8internal15WolfeLineSearch15BracketingPhaseERKNS0_14FunctionSampleEdPS2_S5_PbPNS0_10LineSearch7SummaryEENK3$_1clEvE4site", i32 noundef %390) @@ -5470,7 +5460,7 @@ thread-pre-split.i.i.i.i.i.i.i7.i274: ; preds = %_ZN5Eigen6MatrixIdL call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %504, ptr noundef nonnull align 8 dereferenceable(17) %158, i64 17, i1 false) %505 = load atomic i32, ptr getelementptr inbounds nuw (i8, ptr @"_ZZZNK5ceres8internal15WolfeLineSearch15BracketingPhaseERKNS0_14FunctionSampleEdPS2_S5_PbPNS0_10LineSearch7SummaryEENK3$_2clEvE4site", i64 8) monotonic, align 8 %506 = icmp slt i32 %505, 3 - br i1 %506, label %.critedge130, label %507, !prof !82 + br i1 %506, label %.critedge130, label %507, !prof !81 507: ; preds = %.loopexit467 %508 = invoke noundef zeroext i1 @_ZN4absl12lts_2024011612log_internal8VLogSite14SlowIsEnabled3Ei(ptr noundef nonnull align 8 dereferenceable(24) @"_ZZZNK5ceres8internal15WolfeLineSearch15BracketingPhaseERKNS0_14FunctionSampleEdPS2_S5_PbPNS0_10LineSearch7SummaryEENK3$_2clEvE4site", i32 noundef %505) @@ -5539,12 +5529,12 @@ _ZN4absl12lts_2024011612log_internal10LogMessagelsILi61EEERS2_RAT__Kc.exit: ; pr %525 = fsub double %174, %524 %526 = call double @llvm.fabs.f64(double %525) %527 = fmul double %.0.i.i.i, %526 - %528 = load double, ptr %143, align 8, !tbaa !117 + %528 = load double, ptr %143, align 8, !tbaa !116 %529 = fcmp olt double %527, %528 br i1 %529, label %530, label %591 530: ; preds = %523 - %531 = load i8, ptr %154, align 8, !tbaa !114, !range !76, !noundef !77 + %531 = load i8, ptr %154, align 8, !tbaa !113, !range !76, !noundef !77 %532 = trunc nuw i8 %531 to i1 br i1 %532, label %551, label %533 @@ -5577,7 +5567,7 @@ _ZN4absl12lts_2024011612log_internal10LogMessagelsILi16EEERS2_RAT__Kc.exit: ; pr to label %_ZN4absl12lts_2024011612log_internal10LogMessagelsILi19EEERS2_RAT__Kc.exit unwind label %548 _ZN4absl12lts_2024011612log_internal10LogMessagelsILi19EEERS2_RAT__Kc.exit: ; preds = %540 - %541 = load double, ptr %143, align 8, !tbaa !117 + %541 = load double, ptr %143, align 8, !tbaa !116 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) store double %541, ptr %12, align 8, !tbaa !18 %542 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN4absl12lts_2024011612log_internal10LogMessagelsIdTnNSt9enable_ifIXntsr4absl16HasAbslStringifyIT_EE5valueEiE4typeELi0EEERS2_RKS5_(ptr noundef nonnull align 8 dereferenceable(16) %539, ptr noundef nonnull align 8 dereferenceable(8) %12) @@ -5739,12 +5729,12 @@ _ZN5ceres8internal14FunctionSampleaSERKS1_.exit332: ; preds = %.lr.ph.i.i.i.i.i. br label %.critedge130 591: ; preds = %523 - %592 = load i32, ptr %134, align 8, !tbaa !103 + %592 = load i32, ptr %134, align 8, !tbaa !102 %.not = icmp slt i32 %165, %592 br i1 %.not, label %705, label %596 .thread458: ; preds = %163 - %593 = load i32, ptr %134, align 8, !tbaa !103 + %593 = load i32, ptr %134, align 8, !tbaa !102 %.not459 = icmp slt i32 %165, %593 br i1 %.not459, label %.thread460, label %596 @@ -5756,17 +5746,17 @@ _ZN5ceres8internal14FunctionSampleaSERKS1_.exit332: ; preds = %.lr.ph.i.i.i.i.i. 596: ; preds = %.thread458, %591 %597 = phi i32 [ %593, %.thread458 ], [ %592, %591 ] call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #32 - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) #32, !noalias !122 + call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %10) #32, !noalias !121 %.sroa.0.0.insert.ext.i.i.i.i = zext i32 %597 to i64 %598 = inttoptr i64 %.sroa.0.0.insert.ext.i.i.i.i to ptr - store ptr %598, ptr %10, align 8, !tbaa !12, !noalias !122 + store ptr %598, ptr %10, align 8, !tbaa !12, !noalias !121 %599 = getelementptr inbounds nuw i8, ptr %10, i64 8 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIiEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %599, align 8, !tbaa !112, !noalias !122 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIiEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %599, align 8, !tbaa !111, !noalias !121 invoke void @_ZN4absl12lts_2024011619str_format_internal10FormatPackB5cxx11ENS1_21UntypedFormatSpecImplENS0_4SpanIKNS1_13FormatArgImplEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr nonnull @.str.46, i64 178, ptr nonnull %10, i64 1) to label %600 unwind label %648 600: ; preds = %596 - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #32, !noalias !122 + call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %10) #32, !noalias !121 %601 = load ptr, ptr %149, align 8, !tbaa !3 %602 = icmp eq ptr %601, %150 br i1 %602, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread29.i @@ -5873,7 +5863,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #32 - %642 = load i8, ptr %154, align 8, !tbaa !114, !range !76, !noundef !77 + %642 = load i8, ptr %154, align 8, !tbaa !113, !range !76, !noundef !77 %643 = trunc nuw i8 %642 to i1 br i1 %643, label %655, label %644 @@ -6037,7 +6027,7 @@ _ZN5ceres8internal14FunctionSampleaSERKS1_.exit355: ; preds = %.lr.ph.i.i.i.i.i. br label %.critedge130 705: ; preds = %591 - %706 = load double, ptr %144, align 8, !tbaa !125 + %706 = load double, ptr %144, align 8, !tbaa !124 %707 = fmul double %174, %706 br label %708 @@ -6080,22 +6070,22 @@ _ZN5ceres8internal14FunctionSampleaSERKS1_.exit355: ; preds = %.lr.ph.i.i.i.i.i. 722: ; preds = %719 %723 = fmul double %714, %.0.i.i.i - %724 = load double, ptr %143, align 8, !tbaa !117 + %724 = load double, ptr %143, align 8, !tbaa !116 %725 = fcmp uge double %723, %724 br i1 %725, label %780, label %726 726: ; preds = %722 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #32 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #32, !noalias !126 - store ptr %717, ptr %8, align 8, !tbaa !12, !noalias !126 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %146, align 8, !tbaa !112, !noalias !126 - store ptr %162, ptr %147, align 8, !tbaa !12, !noalias !126 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %148, align 8, !tbaa !112, !noalias !126 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #32, !noalias !125 + store ptr %717, ptr %8, align 8, !tbaa !12, !noalias !125 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %146, align 8, !tbaa !111, !noalias !125 + store ptr %162, ptr %147, align 8, !tbaa !12, !noalias !125 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %148, align 8, !tbaa !111, !noalias !125 invoke void @_ZN4absl12lts_2024011619str_format_internal10FormatPackB5cxx11ENS1_21UntypedFormatSpecImplENS0_4SpanIKNS1_13FormatArgImplEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr nonnull @.str.47, i64 83, ptr nonnull %8, i64 2) to label %727 unwind label %773 727: ; preds = %726 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #32, !noalias !126 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #32, !noalias !125 %728 = load ptr, ptr %149, align 8, !tbaa !3 %729 = icmp eq ptr %728, %150 br i1 %729, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i367, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread29.i361 @@ -6193,7 +6183,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i37 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit372: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i371, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i370 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #32 - %761 = load i8, ptr %154, align 8, !tbaa !114, !range !76, !noundef !77 + %761 = load i8, ptr %154, align 8, !tbaa !113, !range !76, !noundef !77 %762 = trunc nuw i8 %761 to i1 br i1 %762, label %822, label %763 @@ -6361,12 +6351,12 @@ thread-pre-split.i.i.i.i.i.i.i7.i379: ; preds = %_ZN5Eigen6MatrixIdL .loopexit471: ; preds = %.lr.ph.i.i.i.i.i.i.i.i.i10.i382, %._crit_edge.i.i.i.i.i.i.i.i9.i381 %..sroa.sel443 = select i1 %782, ptr %.sroa.gep426, ptr %158 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %158, ptr noundef nonnull align 8 dereferenceable(17) %..sroa.sel443, i64 17, i1 false) - %818 = load i32, ptr %126, align 8, !tbaa !105 + %818 = load i32, ptr %126, align 8, !tbaa !104 %819 = add nsw i32 %818, 1 - store i32 %819, ptr %126, align 8, !tbaa !105 - %820 = load i32, ptr %129, align 4, !tbaa !106 + store i32 %819, ptr %126, align 8, !tbaa !104 + %820 = load i32, ptr %129, align 4, !tbaa !105 %821 = add nsw i32 %820, 1 - store i32 %821, ptr %129, align 4, !tbaa !106 + store i32 %821, ptr %129, align 4, !tbaa !105 invoke void @_ZN5ceres8internal18LineSearchFunction8EvaluateEdbPNS0_14FunctionSampleE(ptr noundef nonnull align 8 dereferenceable(80) %32, double noundef %714, i1 noundef zeroext true, ptr noundef nonnull %18) to label %822 unwind label %771 @@ -6376,7 +6366,7 @@ thread-pre-split.i.i.i.i.i.i.i7.i379: ; preds = %_ZN5Eigen6MatrixIdL %824 = load ptr, ptr %160, align 8, !tbaa !45 call void @free(ptr noundef %824) #32 call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %27) #32 - br i1 %725, label %163, label %.loopexit472, !llvm.loop !129 + br i1 %725, label %163, label %.loopexit472, !llvm.loop !128 825: ; preds = %771, %773, %779, %769 %.pn.pn.pn = phi { ptr, i32 } [ %770, %769 ], [ %.pn, %779 ], [ %774, %773 ], [ %772, %771 ] @@ -6402,7 +6392,7 @@ thread-pre-split.i.i.i.i.i.i.i7.i379: ; preds = %_ZN5Eigen6MatrixIdL %834 = fsub double %832, %833 %835 = call double @llvm.fabs.f64(double %834) %836 = fmul double %.0.i.i.i, %835 - %837 = load double, ptr %143, align 8, !tbaa !117 + %837 = load double, ptr %143, align 8, !tbaa !116 %838 = fcmp olt double %836, %837 br i1 %838, label %839, label %.loopexit472 @@ -6483,18 +6473,18 @@ define hidden noundef zeroext i1 @_ZNK5ceres8internal15WolfeLineSearch9ZoomPhase %32 = alloca %"struct.std::_Setprecision", align 4 %33 = getelementptr inbounds nuw i8, ptr %0, i64 8 %34 = getelementptr inbounds nuw i8, ptr %0, i64 80 - %35 = load ptr, ptr %34, align 8, !tbaa !80 + %35 = load ptr, ptr %34, align 8, !tbaa !79 %36 = getelementptr inbounds nuw i8, ptr %2, i64 40 %37 = load i8, ptr %36, align 8, !tbaa !53, !range !76, !noundef !77 %38 = trunc nuw i8 %37 to i1 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #32 - br i1 %38, label %39, label %.thread, !prof !82 + br i1 %38, label %39, label %.thread, !prof !81 39: ; preds = %6 %40 = getelementptr inbounds nuw i8, ptr %2, i64 80 %41 = load i8, ptr %40, align 8, !tbaa !54, !range !76, !noundef !77 %42 = trunc nuw i8 %41 to i1 - br i1 %42, label %57, label %.thread, !prof !130 + br i1 %42, label %57, label %.thread, !prof !129 .thread: ; preds = %6, %39 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #32 @@ -6557,7 +6547,7 @@ _ZN4absl12lts_2024011612log_internal10LogMessagelsILi17EEERS2_RAT__Kc.exit: ; pr %59 = load i8, ptr %58, align 8, !tbaa !53, !range !76, !noundef !77 %60 = trunc nuw i8 %59 to i1 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %17) #32 - br i1 %60, label %77, label %61, !prof !82 + br i1 %60, label %77, label %61, !prof !81 61: ; preds = %57 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #32 @@ -6645,27 +6635,27 @@ _ZN4absl12lts_2024011612log_internal10LogMessagelsILi17EEERS2_RAT__Kc.exit154: ; to label %89 unwind label %177 89: ; preds = %88 - call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %13) #32, !noalias !131 - store ptr %87, ptr %13, align 8, !tbaa !12, !noalias !131 + call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %13) #32, !noalias !130 + store ptr %87, ptr %13, align 8, !tbaa !12, !noalias !130 %90 = getelementptr inbounds nuw i8, ptr %13, i64 8 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %90, align 8, !tbaa !112, !noalias !131 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %90, align 8, !tbaa !111, !noalias !130 %91 = getelementptr inbounds nuw i8, ptr %13, i64 16 - store ptr %19, ptr %91, align 8, !tbaa !12, !noalias !131 + store ptr %19, ptr %91, align 8, !tbaa !12, !noalias !130 %92 = getelementptr inbounds nuw i8, ptr %13, i64 24 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %92, align 8, !tbaa !112, !noalias !131 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %92, align 8, !tbaa !111, !noalias !130 %93 = getelementptr inbounds nuw i8, ptr %13, i64 32 - store ptr %20, ptr %93, align 8, !tbaa !12, !noalias !131 + store ptr %20, ptr %93, align 8, !tbaa !12, !noalias !130 %94 = getelementptr inbounds nuw i8, ptr %13, i64 40 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %94, align 8, !tbaa !112, !noalias !131 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %94, align 8, !tbaa !111, !noalias !130 %95 = getelementptr inbounds nuw i8, ptr %13, i64 48 - store ptr %21, ptr %95, align 8, !tbaa !12, !noalias !131 + store ptr %21, ptr %95, align 8, !tbaa !12, !noalias !130 %96 = getelementptr inbounds nuw i8, ptr %13, i64 56 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %96, align 8, !tbaa !112, !noalias !131 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %96, align 8, !tbaa !111, !noalias !130 invoke void @_ZN4absl12lts_2024011619str_format_internal10FormatPackB5cxx11ENS1_21UntypedFormatSpecImplENS0_4SpanIKNS1_13FormatArgImplEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr nonnull @.str.55, i64 314, ptr nonnull %13, i64 4) to label %97 unwind label %179 97: ; preds = %89 - call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %13) #32, !noalias !131 + call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %13) #32, !noalias !130 %98 = getelementptr inbounds nuw i8, ptr %5, i64 160 %99 = load ptr, ptr %98, align 8, !tbaa !3 %100 = getelementptr inbounds nuw i8, ptr %5, i64 176 @@ -6838,7 +6828,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit164: ; preds = %_Z call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #32 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #32 %168 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %169 = load i8, ptr %168, align 8, !tbaa !114, !range !76, !noundef !77 + %169 = load i8, ptr %168, align 8, !tbaa !113, !range !76, !noundef !77 %170 = trunc nuw i8 %169 to i1 br i1 %170, label %207, label %171 @@ -6949,7 +6939,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit173: ; preds = %_Z 209: ; preds = %77 %210 = getelementptr inbounds nuw i8, ptr %5, i64 104 - %211 = load i32, ptr %210, align 8, !tbaa !108 + %211 = load i32, ptr %210, align 8, !tbaa !107 %212 = getelementptr inbounds nuw i8, ptr %35, i64 32 %213 = load i64, ptr %212, align 8, !tbaa !46 %214 = icmp eq i64 %213, 0 @@ -7171,27 +7161,27 @@ thread-pre-split.i.i.i.i.i.i.i7.i: ; preds = %_ZN5Eigen6MatrixIdL _ZN5ceres8internal14FunctionSampleaSERKS1_.exit: ; preds = %.lr.ph.i.i.i.i.i.i.i.i.i10.i, %._crit_edge.i.i.i.i.i.i.i.i9.i call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %269, ptr noundef nonnull align 8 dereferenceable(17) %270, i64 17, i1 false) - %335 = load i32, ptr %210, align 8, !tbaa !108 - %336 = load i32, ptr %271, align 8, !tbaa !103 + %335 = load i32, ptr %210, align 8, !tbaa !107 + %336 = load i32, ptr %271, align 8, !tbaa !102 %.not = icmp slt i32 %335, %336 br i1 %.not, label %397, label %337 337: ; preds = %_ZN5ceres8internal14FunctionSampleaSERKS1_.exit call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #32 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #32, !noalias !134 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #32, !noalias !133 %.sroa.0.0.insert.ext.i.i.i.i = zext i32 %336 to i64 %338 = inttoptr i64 %.sroa.0.0.insert.ext.i.i.i.i to ptr - store ptr %338, ptr %12, align 8, !tbaa !12, !noalias !134 + store ptr %338, ptr %12, align 8, !tbaa !12, !noalias !133 %339 = getelementptr inbounds nuw i8, ptr %12, i64 8 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIiEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %339, align 8, !tbaa !112, !noalias !134 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIiEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %339, align 8, !tbaa !111, !noalias !133 %340 = getelementptr inbounds nuw i8, ptr %12, i64 16 %.sroa.0.0.insert.ext.i.i.i6.i = zext i32 %211 to i64 %341 = inttoptr i64 %.sroa.0.0.insert.ext.i.i.i6.i to ptr - store ptr %341, ptr %340, align 8, !tbaa !12, !noalias !134 + store ptr %341, ptr %340, align 8, !tbaa !12, !noalias !133 %342 = getelementptr inbounds nuw i8, ptr %12, i64 24 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIiEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %342, align 8, !tbaa !112, !noalias !134 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIiEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %342, align 8, !tbaa !111, !noalias !133 call void @_ZN4absl12lts_2024011619str_format_internal10FormatPackB5cxx11ENS1_21UntypedFormatSpecImplENS0_4SpanIKNS1_13FormatArgImplEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr nonnull @.str.56, i64 178, ptr nonnull %12, i64 2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #32, !noalias !134 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #32, !noalias !133 %343 = getelementptr inbounds nuw i8, ptr %5, i64 160 %344 = load ptr, ptr %343, align 8, !tbaa !3 %345 = getelementptr inbounds nuw i8, ptr %5, i64 176 @@ -7304,7 +7294,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i18 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit189: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i188, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i187 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #32 %389 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %390 = load i8, ptr %389, align 8, !tbaa !114, !range !76, !noundef !77 + %390 = load i8, ptr %389, align 8, !tbaa !113, !range !76, !noundef !77 %391 = trunc nuw i8 %390 to i1 br i1 %391, label %767, label %392 @@ -7332,24 +7322,24 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit189: ; preds = %_Z %400 = fsub double %398, %399 %401 = call double @llvm.fabs.f64(double %400) %402 = fmul double %.0..0., %401 - %403 = load double, ptr %272, align 8, !tbaa !117 + %403 = load double, ptr %272, align 8, !tbaa !116 %404 = fcmp olt double %402, %403 br i1 %404, label %405, label %465 405: ; preds = %397 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #32 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #32, !noalias !137 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #32, !noalias !136 %406 = bitcast double %401 to i64 %407 = inttoptr i64 %406 to ptr - store ptr %407, ptr %11, align 8, !tbaa !12, !noalias !137 + store ptr %407, ptr %11, align 8, !tbaa !12, !noalias !136 %408 = getelementptr inbounds nuw i8, ptr %11, i64 8 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %408, align 8, !tbaa !112, !noalias !137 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %408, align 8, !tbaa !111, !noalias !136 %409 = getelementptr inbounds nuw i8, ptr %11, i64 16 - store ptr %294, ptr %409, align 8, !tbaa !12, !noalias !137 + store ptr %294, ptr %409, align 8, !tbaa !12, !noalias !136 %410 = getelementptr inbounds nuw i8, ptr %11, i64 24 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %410, align 8, !tbaa !112, !noalias !137 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %410, align 8, !tbaa !111, !noalias !136 call void @_ZN4absl12lts_2024011619str_format_internal10FormatPackB5cxx11ENS1_21UntypedFormatSpecImplENS0_4SpanIKNS1_13FormatArgImplEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr nonnull @.str.57, i64 99, ptr nonnull %11, i64 2) - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #32, !noalias !137 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #32, !noalias !136 %411 = getelementptr inbounds nuw i8, ptr %5, i64 160 %412 = load ptr, ptr %411, align 8, !tbaa !3 %413 = getelementptr inbounds nuw i8, ptr %5, i64 176 @@ -7462,7 +7452,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i20 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit206: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i205, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i204 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #32 %457 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %458 = load i8, ptr %457, align 8, !tbaa !114, !range !76, !noundef !77 + %458 = load i8, ptr %457, align 8, !tbaa !113, !range !76, !noundef !77 %459 = trunc nuw i8 %458 to i1 br i1 %459, label %767, label %460 @@ -7486,7 +7476,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit206: ; preds = %_Z 465: ; preds = %397 %466 = add nsw i32 %335, 1 - store i32 %466, ptr %210, align 8, !tbaa !108 + store i32 %466, ptr %210, align 8, !tbaa !107 call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %27) #32 call void @_ZN5ceres8internal14FunctionSampleC1Ev(ptr noundef nonnull align 8 dereferenceable(81) %27) %467 = invoke { i64, i32 } @_ZN4absl12lts_202401163NowEv() @@ -7522,12 +7512,12 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit206: ; preds = %_Z to label %479 unwind label %552 479: ; preds = %476 - %480 = load i32, ptr %274, align 8, !tbaa !105 + %480 = load i32, ptr %274, align 8, !tbaa !104 %481 = add nsw i32 %480, 1 - store i32 %481, ptr %274, align 8, !tbaa !105 - %482 = load i32, ptr %275, align 4, !tbaa !106 + store i32 %481, ptr %274, align 8, !tbaa !104 + %482 = load i32, ptr %275, align 4, !tbaa !105 %483 = add nsw i32 %482, 1 - store i32 %483, ptr %275, align 4, !tbaa !106 + store i32 %483, ptr %275, align 4, !tbaa !105 invoke void @_ZN5ceres8internal18LineSearchFunction8EvaluateEdbPNS0_14FunctionSampleE(ptr noundef nonnull align 8 dereferenceable(80) %35, double noundef %473, i1 noundef zeroext true, ptr noundef nonnull %4) to label %484 unwind label %554 @@ -7543,26 +7533,26 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit206: ; preds = %_Z 490: ; preds = %484, %487 call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #32 - call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %9) #32, !noalias !140 - %.sroa.0.0.copyload.i.i.i.i210 = load ptr, ptr %4, align 8, !noalias !140 - store ptr %.sroa.0.0.copyload.i.i.i.i210, ptr %9, align 8, !tbaa !12, !noalias !140 + call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %9) #32, !noalias !139 + %.sroa.0.0.copyload.i.i.i.i210 = load ptr, ptr %4, align 8, !noalias !139 + store ptr %.sroa.0.0.copyload.i.i.i.i210, ptr %9, align 8, !tbaa !12, !noalias !139 %491 = getelementptr inbounds nuw i8, ptr %9, i64 8 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %491, align 8, !tbaa !112, !noalias !140 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %491, align 8, !tbaa !111, !noalias !139 %492 = getelementptr inbounds nuw i8, ptr %9, i64 16 - %.sroa.0.0.copyload.i.i.i6.i = load ptr, ptr %2, align 8, !noalias !140 - store ptr %.sroa.0.0.copyload.i.i.i6.i, ptr %492, align 8, !tbaa !12, !noalias !140 + %.sroa.0.0.copyload.i.i.i6.i = load ptr, ptr %2, align 8, !noalias !139 + store ptr %.sroa.0.0.copyload.i.i.i6.i, ptr %492, align 8, !tbaa !12, !noalias !139 %493 = getelementptr inbounds nuw i8, ptr %9, i64 24 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %493, align 8, !tbaa !112, !noalias !140 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %493, align 8, !tbaa !111, !noalias !139 %494 = getelementptr inbounds nuw i8, ptr %9, i64 32 - %.sroa.0.0.copyload.i.i.i7.i = load ptr, ptr %3, align 8, !noalias !140 - store ptr %.sroa.0.0.copyload.i.i.i7.i, ptr %494, align 8, !tbaa !12, !noalias !140 + %.sroa.0.0.copyload.i.i.i7.i = load ptr, ptr %3, align 8, !noalias !139 + store ptr %.sroa.0.0.copyload.i.i.i7.i, ptr %494, align 8, !tbaa !12, !noalias !139 %495 = getelementptr inbounds nuw i8, ptr %9, i64 40 - store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %495, align 8, !tbaa !112, !noalias !140 + store ptr @_ZN4absl12lts_2024011619str_format_internal13FormatArgImpl8DispatchIdEEbNS2_4DataENS1_24FormatConversionSpecImplEPv, ptr %495, align 8, !tbaa !111, !noalias !139 invoke void @_ZN4absl12lts_2024011619str_format_internal10FormatPackB5cxx11ENS1_21UntypedFormatSpecImplENS0_4SpanIKNS1_13FormatArgImplEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr nonnull @.str.58, i64 161, ptr nonnull %9, i64 3) to label %496 unwind label %556 496: ; preds = %490 - call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %9) #32, !noalias !140 + call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %9) #32, !noalias !139 %497 = getelementptr inbounds nuw i8, ptr %5, i64 160 %498 = load ptr, ptr %497, align 8, !tbaa !3 %499 = getelementptr inbounds nuw i8, ptr %5, i64 176 @@ -7675,7 +7665,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i22 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit223: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i222, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i221 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #32 %543 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %544 = load i8, ptr %543, align 8, !tbaa !114, !range !76, !noundef !77 + %544 = load i8, ptr %543, align 8, !tbaa !113, !range !76, !noundef !77 %545 = trunc nuw i8 %544 to i1 br i1 %545, label %.critedge139.thread328, label %546 @@ -7733,7 +7723,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit223: ; preds = %_Z 563: ; preds = %487 %564 = load atomic i32, ptr getelementptr inbounds nuw (i8, ptr @"_ZZZNK5ceres8internal15WolfeLineSearch9ZoomPhaseERKNS0_14FunctionSampleES2_S2_PS2_PNS0_10LineSearch7SummaryEENK3$_0clEvE4site", i64 8) monotonic, align 8 %565 = icmp slt i32 %564, 3 - br i1 %565, label %.critedge135, label %566, !prof !82 + br i1 %565, label %.critedge135, label %566, !prof !81 566: ; preds = %563 %567 = invoke noundef zeroext i1 @_ZN4absl12lts_2024011612log_internal8VLogSite14SlowIsEnabled3Ei(ptr noundef nonnull align 8 dereferenceable(24) @"_ZZZNK5ceres8internal15WolfeLineSearch9ZoomPhaseERKNS0_14FunctionSampleES2_S2_PS2_PNS0_10LineSearch7SummaryEENK3$_0clEvE4site", i32 noundef %564) @@ -7756,7 +7746,7 @@ _ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit142: ; preds = %56 to label %_ZN4absl12lts_2024011612log_internal10LogMessagelsILi17EEERS2_RAT__Kc.exit225 unwind label %635 _ZN4absl12lts_2024011612log_internal10LogMessagelsILi17EEERS2_RAT__Kc.exit225: ; preds = %571 - %572 = load i32, ptr %210, align 8, !tbaa !108 + %572 = load i32, ptr %210, align 8, !tbaa !107 %573 = sub nsw i32 %572, %211 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) store i32 %573, ptr %8, align 4, !tbaa !20 @@ -7796,7 +7786,7 @@ _ZN4absl12lts_2024011612log_internal10LogMessagelsILi24EEERS2_RAT__Kc.exit: ; pr .critedge135: ; preds = %563, %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit142, %.critedge134 %581 = load double, ptr %278, align 8, !tbaa !58 %582 = load double, ptr %279, align 8, !tbaa !58 - %583 = load double, ptr %280, align 8, !tbaa !107 + %583 = load double, ptr %280, align 8, !tbaa !106 %584 = load double, ptr %281, align 8, !tbaa !61 %585 = fmul double %583, %584 %586 = load double, ptr %4, align 8, !tbaa !50 @@ -7929,7 +7919,7 @@ thread-pre-split.i.i.i.i.i.i.i7.i238: ; preds = %_ZN5Eigen6MatrixIdL 638: ; preds = %589 %639 = load double, ptr %283, align 8, !tbaa !61 %640 = call double @llvm.fabs.f64(double %639) - %641 = load double, ptr %284, align 8, !tbaa !121 + %641 = load double, ptr %284, align 8, !tbaa !120 %642 = fneg double %641 %643 = fmul double %584, %642 %644 = fcmp ugt double %640, %643 @@ -7939,7 +7929,7 @@ thread-pre-split.i.i.i.i.i.i.i7.i238: ; preds = %_ZN5Eigen6MatrixIdL call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #32 %646 = load atomic i32, ptr getelementptr inbounds nuw (i8, ptr @"_ZZZNK5ceres8internal15WolfeLineSearch9ZoomPhaseERKNS0_14FunctionSampleES2_S2_PS2_PNS0_10LineSearch7SummaryEENK3$_1clEvE4site", i64 8) monotonic, align 8 %647 = icmp slt i32 %646, 3 - br i1 %647, label %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit.thread, label %648, !prof !82 + br i1 %647, label %_ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit.thread, label %648, !prof !81 648: ; preds = %645 %649 = invoke noundef zeroext i1 @_ZN4absl12lts_2024011612log_internal8VLogSite14SlowIsEnabled3Ei(ptr noundef nonnull align 8 dereferenceable(24) @"_ZZZNK5ceres8internal15WolfeLineSearch9ZoomPhaseERKNS0_14FunctionSampleES2_S2_PS2_PNS0_10LineSearch7SummaryEENK3$_1clEvE4site", i32 noundef %646) @@ -8423,10 +8413,10 @@ define linkonce_odr hidden void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11c .lr.ph: ; preds = %2, %_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5ceres8internal14CallStatisticsEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE12_M_drop_nodeEPSt13_Rb_tree_nodeISB_E.exit %.07 = phi ptr [ %6, %_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5ceres8internal14CallStatisticsEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE12_M_drop_nodeEPSt13_Rb_tree_nodeISB_E.exit ], [ %1, %2 ] %3 = getelementptr inbounds nuw i8, ptr %.07, i64 24 - %4 = load ptr, ptr %3, align 8, !tbaa !143 + %4 = load ptr, ptr %3, align 8, !tbaa !142 tail call void @_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5ceres8internal14CallStatisticsEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE8_M_eraseEPSt13_Rb_tree_nodeISB_E(ptr noundef nonnull align 8 dereferenceable(48) %0, ptr noundef %4) %5 = getelementptr inbounds nuw i8, ptr %.07, i64 16 - %6 = load ptr, ptr %5, align 8, !tbaa !144 + %6 = load ptr, ptr %5, align 8, !tbaa !143 %7 = getelementptr inbounds nuw i8, ptr %.07, i64 32 %8 = load ptr, ptr %7, align 8, !tbaa !3 %9 = getelementptr inbounds nuw i8, ptr %.07, i64 48 @@ -8449,7 +8439,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i _ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5ceres8internal14CallStatisticsEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE12_M_drop_nodeEPSt13_Rb_tree_nodeISB_E.exit: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i.i.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i tail call void @_ZdlPvm(ptr noundef nonnull %.07, i64 noundef 80) #33 %.not = icmp eq ptr %6, null - br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !145 + br i1 %.not, label %._crit_edge, label %.lr.ph, !llvm.loop !144 ._crit_edge: ; preds = %_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N5ceres8internal14CallStatisticsEESt10_Select1stISB_ESt4lessIS5_ESaISB_EE12_M_drop_nodeEPSt13_Rb_tree_nodeISB_E.exit, %2 ret void @@ -8506,8 +8496,8 @@ declare void @_ZN4absl12lts_2024011612log_internal10LogMessage19CopyToEncodedBuf ; Function Attrs: mustprogress uwtable define linkonce_odr hidden void @_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr noundef nonnull align 8 dereferenceable(81) %2) local_unnamed_addr #0 comdat align 2 personality ptr @__gxx_personality_v0 { %4 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %5 = load ptr, ptr %4, align 8, !tbaa !84 - %6 = load ptr, ptr %0, align 8, !tbaa !88 + %5 = load ptr, ptr %4, align 8, !tbaa !83 + %6 = load ptr, ptr %0, align 8, !tbaa !87 %7 = ptrtoint ptr %5 to i64 %8 = ptrtoint ptr %6 to i64 %9 = sub i64 %7, %8 @@ -8542,38 +8532,38 @@ _ZNSt16allocator_traitsISaIN5ceres8internal14FunctionSampleEEE9constructIS2_JRKS .lr.ph.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIN5ceres8internal14FunctionSampleEEE9constructIS2_JRKS2_EEEvRS3_PT_DpOT0_.exit, %.lr.ph.i.i.i %.012.i.i.i = phi ptr [ %40, %.lr.ph.i.i.i ], [ %20, %_ZNSt16allocator_traitsISaIN5ceres8internal14FunctionSampleEEE9constructIS2_JRKS2_EEEvRS3_PT_DpOT0_.exit ] %.0911.i.i.i = phi ptr [ %39, %.lr.ph.i.i.i ], [ %6, %_ZNSt16allocator_traitsISaIN5ceres8internal14FunctionSampleEEE9constructIS2_JRKS2_EEEvRS3_PT_DpOT0_.exit ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !146) - tail call void @llvm.experimental.noalias.scope.decl(metadata !149) - %22 = load double, ptr %.0911.i.i.i, align 8, !tbaa !50, !alias.scope !149, !noalias !146 - store double %22, ptr %.012.i.i.i, align 8, !tbaa !50, !alias.scope !146, !noalias !149 + tail call void @llvm.experimental.noalias.scope.decl(metadata !145) + tail call void @llvm.experimental.noalias.scope.decl(metadata !148) + %22 = load double, ptr %.0911.i.i.i, align 8, !tbaa !50, !alias.scope !148, !noalias !145 + store double %22, ptr %.012.i.i.i, align 8, !tbaa !50, !alias.scope !145, !noalias !148 %23 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 8 %24 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 8 - %25 = load ptr, ptr %24, align 8, !tbaa !78, !alias.scope !149, !noalias !146 - store ptr %25, ptr %23, align 8, !tbaa !45, !alias.scope !146, !noalias !149 + %25 = load ptr, ptr %24, align 8, !tbaa !78, !alias.scope !148, !noalias !145 + store ptr %25, ptr %23, align 8, !tbaa !45, !alias.scope !145, !noalias !148 %26 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 16 %27 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 16 - %28 = load i64, ptr %27, align 8, !tbaa !66, !alias.scope !149, !noalias !146 - store i64 %28, ptr %26, align 8, !tbaa !46, !alias.scope !146, !noalias !149 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %24, i8 0, i64 16, i1 false), !alias.scope !149, !noalias !146 + %28 = load i64, ptr %27, align 8, !tbaa !66, !alias.scope !148, !noalias !145 + store i64 %28, ptr %26, align 8, !tbaa !46, !alias.scope !145, !noalias !148 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %24, i8 0, i64 16, i1 false), !alias.scope !148, !noalias !145 %29 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 24 %30 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 24 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %29, ptr noundef nonnull align 8 dereferenceable(17) %30, i64 17, i1 false), !alias.scope !151 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %29, ptr noundef nonnull align 8 dereferenceable(17) %30, i64 17, i1 false), !alias.scope !150 %31 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 48 %32 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 48 - %33 = load ptr, ptr %32, align 8, !tbaa !78, !alias.scope !149, !noalias !146 - store ptr %33, ptr %31, align 8, !tbaa !45, !alias.scope !146, !noalias !149 + %33 = load ptr, ptr %32, align 8, !tbaa !78, !alias.scope !148, !noalias !145 + store ptr %33, ptr %31, align 8, !tbaa !45, !alias.scope !145, !noalias !148 %34 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 56 %35 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 56 - %36 = load i64, ptr %35, align 8, !tbaa !66, !alias.scope !149, !noalias !146 - store i64 %36, ptr %34, align 8, !tbaa !46, !alias.scope !146, !noalias !149 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %32, i8 0, i64 16, i1 false), !alias.scope !149, !noalias !146 + %36 = load i64, ptr %35, align 8, !tbaa !66, !alias.scope !148, !noalias !145 + store i64 %36, ptr %34, align 8, !tbaa !46, !alias.scope !145, !noalias !148 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %32, i8 0, i64 16, i1 false), !alias.scope !148, !noalias !145 %37 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 64 %38 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 64 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %37, ptr noundef nonnull align 8 dereferenceable(17) %38, i64 17, i1 false), !alias.scope !151 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %37, ptr noundef nonnull align 8 dereferenceable(17) %38, i64 17, i1 false), !alias.scope !150 %39 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 88 %40 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 88 %.not.i.i.i = icmp eq ptr %39, %1 - br i1 %.not.i.i.i, label %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit, label %.lr.ph.i.i.i, !llvm.loop !152 + br i1 %.not.i.i.i, label %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit, label %.lr.ph.i.i.i, !llvm.loop !151 _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit: ; preds = %.lr.ph.i.i.i, %_ZNSt16allocator_traitsISaIN5ceres8internal14FunctionSampleEEE9constructIS2_JRKS2_EEEvRS3_PT_DpOT0_.exit %.0.lcssa.i.i.i = phi ptr [ %20, %_ZNSt16allocator_traitsISaIN5ceres8internal14FunctionSampleEEE9constructIS2_JRKS2_EEEvRS3_PT_DpOT0_.exit ], [ %40, %.lr.ph.i.i.i ] @@ -8584,38 +8574,38 @@ _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS .lr.ph.i.i.i27: ; preds = %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit, %.lr.ph.i.i.i27 %.012.i.i.i28 = phi ptr [ %60, %.lr.ph.i.i.i27 ], [ %41, %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit ] %.0911.i.i.i29 = phi ptr [ %59, %.lr.ph.i.i.i27 ], [ %1, %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !153) - tail call void @llvm.experimental.noalias.scope.decl(metadata !156) - %42 = load double, ptr %.0911.i.i.i29, align 8, !tbaa !50, !alias.scope !156, !noalias !153 - store double %42, ptr %.012.i.i.i28, align 8, !tbaa !50, !alias.scope !153, !noalias !156 + tail call void @llvm.experimental.noalias.scope.decl(metadata !152) + tail call void @llvm.experimental.noalias.scope.decl(metadata !155) + %42 = load double, ptr %.0911.i.i.i29, align 8, !tbaa !50, !alias.scope !155, !noalias !152 + store double %42, ptr %.012.i.i.i28, align 8, !tbaa !50, !alias.scope !152, !noalias !155 %43 = getelementptr inbounds nuw i8, ptr %.012.i.i.i28, i64 8 %44 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i29, i64 8 - %45 = load ptr, ptr %44, align 8, !tbaa !78, !alias.scope !156, !noalias !153 - store ptr %45, ptr %43, align 8, !tbaa !45, !alias.scope !153, !noalias !156 + %45 = load ptr, ptr %44, align 8, !tbaa !78, !alias.scope !155, !noalias !152 + store ptr %45, ptr %43, align 8, !tbaa !45, !alias.scope !152, !noalias !155 %46 = getelementptr inbounds nuw i8, ptr %.012.i.i.i28, i64 16 %47 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i29, i64 16 - %48 = load i64, ptr %47, align 8, !tbaa !66, !alias.scope !156, !noalias !153 - store i64 %48, ptr %46, align 8, !tbaa !46, !alias.scope !153, !noalias !156 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %44, i8 0, i64 16, i1 false), !alias.scope !156, !noalias !153 + %48 = load i64, ptr %47, align 8, !tbaa !66, !alias.scope !155, !noalias !152 + store i64 %48, ptr %46, align 8, !tbaa !46, !alias.scope !152, !noalias !155 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %44, i8 0, i64 16, i1 false), !alias.scope !155, !noalias !152 %49 = getelementptr inbounds nuw i8, ptr %.012.i.i.i28, i64 24 %50 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i29, i64 24 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %49, ptr noundef nonnull align 8 dereferenceable(17) %50, i64 17, i1 false), !alias.scope !158 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %49, ptr noundef nonnull align 8 dereferenceable(17) %50, i64 17, i1 false), !alias.scope !157 %51 = getelementptr inbounds nuw i8, ptr %.012.i.i.i28, i64 48 %52 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i29, i64 48 - %53 = load ptr, ptr %52, align 8, !tbaa !78, !alias.scope !156, !noalias !153 - store ptr %53, ptr %51, align 8, !tbaa !45, !alias.scope !153, !noalias !156 + %53 = load ptr, ptr %52, align 8, !tbaa !78, !alias.scope !155, !noalias !152 + store ptr %53, ptr %51, align 8, !tbaa !45, !alias.scope !152, !noalias !155 %54 = getelementptr inbounds nuw i8, ptr %.012.i.i.i28, i64 56 %55 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i29, i64 56 - %56 = load i64, ptr %55, align 8, !tbaa !66, !alias.scope !156, !noalias !153 - store i64 %56, ptr %54, align 8, !tbaa !46, !alias.scope !153, !noalias !156 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %52, i8 0, i64 16, i1 false), !alias.scope !156, !noalias !153 + %56 = load i64, ptr %55, align 8, !tbaa !66, !alias.scope !155, !noalias !152 + store i64 %56, ptr %54, align 8, !tbaa !46, !alias.scope !152, !noalias !155 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %52, i8 0, i64 16, i1 false), !alias.scope !155, !noalias !152 %57 = getelementptr inbounds nuw i8, ptr %.012.i.i.i28, i64 64 %58 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i29, i64 64 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %57, ptr noundef nonnull align 8 dereferenceable(17) %58, i64 17, i1 false), !alias.scope !158 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %57, ptr noundef nonnull align 8 dereferenceable(17) %58, i64 17, i1 false), !alias.scope !157 %59 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i29, i64 88 %60 = getelementptr inbounds nuw i8, ptr %.012.i.i.i28, i64 88 %.not.i.i.i30 = icmp eq ptr %59, %5 - br i1 %.not.i.i.i30, label %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit32, label %.lr.ph.i.i.i27, !llvm.loop !152 + br i1 %.not.i.i.i30, label %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit32, label %.lr.ph.i.i.i27, !llvm.loop !151 _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit32: ; preds = %.lr.ph.i.i.i27, %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit %.0.lcssa.i.i.i31 = phi ptr [ %41, %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit ], [ %60, %.lr.ph.i.i.i27 ] @@ -8624,17 +8614,17 @@ _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS br i1 %.not.i33, label %_ZNSt12_Vector_baseIN5ceres8internal14FunctionSampleESaIS2_EE13_M_deallocateEPS2_m.exit, label %62 62: ; preds = %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit32 - %63 = load ptr, ptr %61, align 8, !tbaa !87 + %63 = load ptr, ptr %61, align 8, !tbaa !86 %64 = ptrtoint ptr %63 to i64 %65 = sub i64 %64, %8 tail call void @_ZdlPvm(ptr noundef nonnull %6, i64 noundef %65) #33 br label %_ZNSt12_Vector_baseIN5ceres8internal14FunctionSampleESaIS2_EE13_M_deallocateEPS2_m.exit _ZNSt12_Vector_baseIN5ceres8internal14FunctionSampleESaIS2_EE13_M_deallocateEPS2_m.exit: ; preds = %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit32, %62 - store ptr %20, ptr %0, align 8, !tbaa !88 - store ptr %.0.lcssa.i.i.i31, ptr %4, align 8, !tbaa !84 + store ptr %20, ptr %0, align 8, !tbaa !87 + store ptr %.0.lcssa.i.i.i31, ptr %4, align 8, !tbaa !83 %66 = getelementptr inbounds nuw %"struct.ceres::internal::FunctionSample", ptr %20, i64 %16 - store ptr %66, ptr %61, align 8, !tbaa !87 + store ptr %66, ptr %61, align 8, !tbaa !86 ret void 67: ; preds = %69 @@ -8676,8 +8666,8 @@ declare void @_ZSt20__throw_length_errorPKc(ptr noundef) local_unnamed_addr #28 ; Function Attrs: mustprogress uwtable define linkonce_odr hidden void @_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE17_M_realloc_insertIJRKdS7_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr %1, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %3) local_unnamed_addr #0 comdat align 2 personality ptr @__gxx_personality_v0 { %5 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %6 = load ptr, ptr %5, align 8, !tbaa !84 - %7 = load ptr, ptr %0, align 8, !tbaa !88 + %6 = load ptr, ptr %5, align 8, !tbaa !83 + %7 = load ptr, ptr %0, align 8, !tbaa !87 %8 = ptrtoint ptr %6 to i64 %9 = ptrtoint ptr %7 to i64 %10 = sub i64 %8, %9 @@ -8714,38 +8704,38 @@ _ZNSt16allocator_traitsISaIN5ceres8internal14FunctionSampleEEE9constructIS2_JRKd .lr.ph.i.i.i: ; preds = %_ZNSt16allocator_traitsISaIN5ceres8internal14FunctionSampleEEE9constructIS2_JRKdS7_EEEvRS3_PT_DpOT0_.exit, %.lr.ph.i.i.i %.012.i.i.i = phi ptr [ %43, %.lr.ph.i.i.i ], [ %21, %_ZNSt16allocator_traitsISaIN5ceres8internal14FunctionSampleEEE9constructIS2_JRKdS7_EEEvRS3_PT_DpOT0_.exit ] %.0911.i.i.i = phi ptr [ %42, %.lr.ph.i.i.i ], [ %7, %_ZNSt16allocator_traitsISaIN5ceres8internal14FunctionSampleEEE9constructIS2_JRKdS7_EEEvRS3_PT_DpOT0_.exit ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !159) - tail call void @llvm.experimental.noalias.scope.decl(metadata !162) - %25 = load double, ptr %.0911.i.i.i, align 8, !tbaa !50, !alias.scope !162, !noalias !159 - store double %25, ptr %.012.i.i.i, align 8, !tbaa !50, !alias.scope !159, !noalias !162 + tail call void @llvm.experimental.noalias.scope.decl(metadata !158) + tail call void @llvm.experimental.noalias.scope.decl(metadata !161) + %25 = load double, ptr %.0911.i.i.i, align 8, !tbaa !50, !alias.scope !161, !noalias !158 + store double %25, ptr %.012.i.i.i, align 8, !tbaa !50, !alias.scope !158, !noalias !161 %26 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 8 %27 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 8 - %28 = load ptr, ptr %27, align 8, !tbaa !78, !alias.scope !162, !noalias !159 - store ptr %28, ptr %26, align 8, !tbaa !45, !alias.scope !159, !noalias !162 + %28 = load ptr, ptr %27, align 8, !tbaa !78, !alias.scope !161, !noalias !158 + store ptr %28, ptr %26, align 8, !tbaa !45, !alias.scope !158, !noalias !161 %29 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 16 %30 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 16 - %31 = load i64, ptr %30, align 8, !tbaa !66, !alias.scope !162, !noalias !159 - store i64 %31, ptr %29, align 8, !tbaa !46, !alias.scope !159, !noalias !162 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %27, i8 0, i64 16, i1 false), !alias.scope !162, !noalias !159 + %31 = load i64, ptr %30, align 8, !tbaa !66, !alias.scope !161, !noalias !158 + store i64 %31, ptr %29, align 8, !tbaa !46, !alias.scope !158, !noalias !161 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %27, i8 0, i64 16, i1 false), !alias.scope !161, !noalias !158 %32 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 24 %33 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 24 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %32, ptr noundef nonnull align 8 dereferenceable(17) %33, i64 17, i1 false), !alias.scope !164 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %32, ptr noundef nonnull align 8 dereferenceable(17) %33, i64 17, i1 false), !alias.scope !163 %34 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 48 %35 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 48 - %36 = load ptr, ptr %35, align 8, !tbaa !78, !alias.scope !162, !noalias !159 - store ptr %36, ptr %34, align 8, !tbaa !45, !alias.scope !159, !noalias !162 + %36 = load ptr, ptr %35, align 8, !tbaa !78, !alias.scope !161, !noalias !158 + store ptr %36, ptr %34, align 8, !tbaa !45, !alias.scope !158, !noalias !161 %37 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 56 %38 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 56 - %39 = load i64, ptr %38, align 8, !tbaa !66, !alias.scope !162, !noalias !159 - store i64 %39, ptr %37, align 8, !tbaa !46, !alias.scope !159, !noalias !162 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %35, i8 0, i64 16, i1 false), !alias.scope !162, !noalias !159 + %39 = load i64, ptr %38, align 8, !tbaa !66, !alias.scope !161, !noalias !158 + store i64 %39, ptr %37, align 8, !tbaa !46, !alias.scope !158, !noalias !161 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %35, i8 0, i64 16, i1 false), !alias.scope !161, !noalias !158 %40 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 64 %41 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 64 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %40, ptr noundef nonnull align 8 dereferenceable(17) %41, i64 17, i1 false), !alias.scope !164 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %40, ptr noundef nonnull align 8 dereferenceable(17) %41, i64 17, i1 false), !alias.scope !163 %42 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i, i64 88 %43 = getelementptr inbounds nuw i8, ptr %.012.i.i.i, i64 88 %.not.i.i.i = icmp eq ptr %42, %1 - br i1 %.not.i.i.i, label %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit, label %.lr.ph.i.i.i, !llvm.loop !152 + br i1 %.not.i.i.i, label %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit, label %.lr.ph.i.i.i, !llvm.loop !151 _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit: ; preds = %.lr.ph.i.i.i, %_ZNSt16allocator_traitsISaIN5ceres8internal14FunctionSampleEEE9constructIS2_JRKdS7_EEEvRS3_PT_DpOT0_.exit %.0.lcssa.i.i.i = phi ptr [ %21, %_ZNSt16allocator_traitsISaIN5ceres8internal14FunctionSampleEEE9constructIS2_JRKdS7_EEEvRS3_PT_DpOT0_.exit ], [ %43, %.lr.ph.i.i.i ] @@ -8756,38 +8746,38 @@ _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS .lr.ph.i.i.i28: ; preds = %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit, %.lr.ph.i.i.i28 %.012.i.i.i29 = phi ptr [ %63, %.lr.ph.i.i.i28 ], [ %44, %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit ] %.0911.i.i.i30 = phi ptr [ %62, %.lr.ph.i.i.i28 ], [ %1, %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit ] - tail call void @llvm.experimental.noalias.scope.decl(metadata !165) - tail call void @llvm.experimental.noalias.scope.decl(metadata !168) - %45 = load double, ptr %.0911.i.i.i30, align 8, !tbaa !50, !alias.scope !168, !noalias !165 - store double %45, ptr %.012.i.i.i29, align 8, !tbaa !50, !alias.scope !165, !noalias !168 + tail call void @llvm.experimental.noalias.scope.decl(metadata !164) + tail call void @llvm.experimental.noalias.scope.decl(metadata !167) + %45 = load double, ptr %.0911.i.i.i30, align 8, !tbaa !50, !alias.scope !167, !noalias !164 + store double %45, ptr %.012.i.i.i29, align 8, !tbaa !50, !alias.scope !164, !noalias !167 %46 = getelementptr inbounds nuw i8, ptr %.012.i.i.i29, i64 8 %47 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i30, i64 8 - %48 = load ptr, ptr %47, align 8, !tbaa !78, !alias.scope !168, !noalias !165 - store ptr %48, ptr %46, align 8, !tbaa !45, !alias.scope !165, !noalias !168 + %48 = load ptr, ptr %47, align 8, !tbaa !78, !alias.scope !167, !noalias !164 + store ptr %48, ptr %46, align 8, !tbaa !45, !alias.scope !164, !noalias !167 %49 = getelementptr inbounds nuw i8, ptr %.012.i.i.i29, i64 16 %50 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i30, i64 16 - %51 = load i64, ptr %50, align 8, !tbaa !66, !alias.scope !168, !noalias !165 - store i64 %51, ptr %49, align 8, !tbaa !46, !alias.scope !165, !noalias !168 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %47, i8 0, i64 16, i1 false), !alias.scope !168, !noalias !165 + %51 = load i64, ptr %50, align 8, !tbaa !66, !alias.scope !167, !noalias !164 + store i64 %51, ptr %49, align 8, !tbaa !46, !alias.scope !164, !noalias !167 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %47, i8 0, i64 16, i1 false), !alias.scope !167, !noalias !164 %52 = getelementptr inbounds nuw i8, ptr %.012.i.i.i29, i64 24 %53 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i30, i64 24 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %52, ptr noundef nonnull align 8 dereferenceable(17) %53, i64 17, i1 false), !alias.scope !170 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %52, ptr noundef nonnull align 8 dereferenceable(17) %53, i64 17, i1 false), !alias.scope !169 %54 = getelementptr inbounds nuw i8, ptr %.012.i.i.i29, i64 48 %55 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i30, i64 48 - %56 = load ptr, ptr %55, align 8, !tbaa !78, !alias.scope !168, !noalias !165 - store ptr %56, ptr %54, align 8, !tbaa !45, !alias.scope !165, !noalias !168 + %56 = load ptr, ptr %55, align 8, !tbaa !78, !alias.scope !167, !noalias !164 + store ptr %56, ptr %54, align 8, !tbaa !45, !alias.scope !164, !noalias !167 %57 = getelementptr inbounds nuw i8, ptr %.012.i.i.i29, i64 56 %58 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i30, i64 56 - %59 = load i64, ptr %58, align 8, !tbaa !66, !alias.scope !168, !noalias !165 - store i64 %59, ptr %57, align 8, !tbaa !46, !alias.scope !165, !noalias !168 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %55, i8 0, i64 16, i1 false), !alias.scope !168, !noalias !165 + %59 = load i64, ptr %58, align 8, !tbaa !66, !alias.scope !167, !noalias !164 + store i64 %59, ptr %57, align 8, !tbaa !46, !alias.scope !164, !noalias !167 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %55, i8 0, i64 16, i1 false), !alias.scope !167, !noalias !164 %60 = getelementptr inbounds nuw i8, ptr %.012.i.i.i29, i64 64 %61 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i30, i64 64 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %60, ptr noundef nonnull align 8 dereferenceable(17) %61, i64 17, i1 false), !alias.scope !170 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %60, ptr noundef nonnull align 8 dereferenceable(17) %61, i64 17, i1 false), !alias.scope !169 %62 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i30, i64 88 %63 = getelementptr inbounds nuw i8, ptr %.012.i.i.i29, i64 88 %.not.i.i.i31 = icmp eq ptr %62, %6 - br i1 %.not.i.i.i31, label %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit33, label %.lr.ph.i.i.i28, !llvm.loop !152 + br i1 %.not.i.i.i31, label %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit33, label %.lr.ph.i.i.i28, !llvm.loop !151 _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit33: ; preds = %.lr.ph.i.i.i28, %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit %.0.lcssa.i.i.i32 = phi ptr [ %44, %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit ], [ %63, %.lr.ph.i.i.i28 ] @@ -8796,17 +8786,17 @@ _ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS br i1 %.not.i34, label %_ZNSt12_Vector_baseIN5ceres8internal14FunctionSampleESaIS2_EE13_M_deallocateEPS2_m.exit, label %65 65: ; preds = %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit33 - %66 = load ptr, ptr %64, align 8, !tbaa !87 + %66 = load ptr, ptr %64, align 8, !tbaa !86 %67 = ptrtoint ptr %66 to i64 %68 = sub i64 %67, %9 tail call void @_ZdlPvm(ptr noundef nonnull %7, i64 noundef %68) #33 br label %_ZNSt12_Vector_baseIN5ceres8internal14FunctionSampleESaIS2_EE13_M_deallocateEPS2_m.exit _ZNSt12_Vector_baseIN5ceres8internal14FunctionSampleESaIS2_EE13_M_deallocateEPS2_m.exit: ; preds = %_ZNSt6vectorIN5ceres8internal14FunctionSampleESaIS2_EE11_S_relocateEPS2_S5_S5_RS3_.exit33, %65 - store ptr %21, ptr %0, align 8, !tbaa !88 - store ptr %.0.lcssa.i.i.i32, ptr %5, align 8, !tbaa !84 + store ptr %21, ptr %0, align 8, !tbaa !87 + store ptr %.0.lcssa.i.i.i32, ptr %5, align 8, !tbaa !83 %69 = getelementptr inbounds nuw %"struct.ceres::internal::FunctionSample", ptr %21, i64 %17 - store ptr %69, ptr %64, align 8, !tbaa !87 + store ptr %69, ptr %64, align 8, !tbaa !86 ret void 70: ; preds = %72 @@ -8995,95 +8985,94 @@ attributes #40 = { cold nounwind } !76 = !{i8 0, i8 2} !77 = !{} !78 = !{!42, !42, i64 0} -!79 = !{i64 0, i64 4, !20, i64 4, i64 4, !20, i64 8, i64 4, !20} -!80 = !{!81, !25, i64 72} -!81 = !{!"_ZTSN5ceres8internal10LineSearch7OptionsE", !17, i64 0, !19, i64 8, !19, i64 16, !19, i64 24, !19, i64 32, !21, i64 40, !19, i64 48, !19, i64 56, !23, i64 64, !25, i64 72} -!82 = !{!"branch_weights", !"expected", i32 2000, i32 1} -!83 = !{!6, !6, i64 0} -!84 = !{!85, !86, i64 8} -!85 = !{!"_ZTSNSt12_Vector_baseIN5ceres8internal14FunctionSampleESaIS2_EE17_Vector_impl_dataE", !86, i64 0, !86, i64 8, !86, i64 16} -!86 = !{!"p1 _ZTSN5ceres8internal14FunctionSampleE", !7, i64 0} -!87 = !{!85, !86, i64 16} -!88 = !{!85, !86, i64 0} -!89 = distinct !{!89, !48} -!90 = !{!91, !92, i64 24} -!91 = !{!"_ZTSSt8ios_base", !10, i64 8, !10, i64 16, !92, i64 24, !93, i64 28, !93, i64 32, !94, i64 40, !95, i64 48, !8, i64 64, !21, i64 192, !96, i64 200, !97, i64 208} -!92 = !{!"_ZTSSt13_Ios_Fmtflags", !8, i64 0} -!93 = !{!"_ZTSSt12_Ios_Iostate", !8, i64 0} -!94 = !{!"p1 _ZTSNSt8ios_base14_Callback_listE", !7, i64 0} -!95 = !{!"_ZTSNSt8ios_base6_WordsE", !7, i64 0, !10, i64 8} -!96 = !{!"p1 _ZTSNSt8ios_base6_WordsE", !7, i64 0} -!97 = !{!"_ZTSSt6locale", !98, i64 0} -!98 = !{!"p1 _ZTSNSt6locale5_ImplE", !7, i64 0} -!99 = !{!92, !92, i64 0} -!100 = !{!101, !101, i64 0} -!101 = !{!"p1 _ZTSN4absl12lts_2024011612log_internal10LogMessage14LogMessageDataE", !7, i64 0} -!102 = !{!91, !10, i64 8} -!103 = !{!81, !21, i64 40} -!104 = !{!81, !17, i64 0} -!105 = !{!75, !21, i64 96} -!106 = !{!75, !21, i64 100} -!107 = !{!81, !19, i64 8} -!108 = !{!75, !21, i64 104} -!109 = !{!110} -!110 = distinct !{!110, !111, !"_ZN4absl12lts_202401169StrFormatIJiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_: argument 0"} -!111 = distinct !{!111, !"_ZN4absl12lts_202401169StrFormatIJiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_"} -!112 = !{!113, !7, i64 8} -!113 = !{!"_ZTSN4absl12lts_2024011619str_format_internal13FormatArgImplE", !8, i64 0, !7, i64 8} -!114 = !{!81, !23, i64 64} -!115 = !{!81, !19, i64 16} -!116 = !{!81, !19, i64 24} -!117 = !{!81, !19, i64 32} -!118 = !{!119} -!119 = distinct !{!119, !120, !"_ZN4absl12lts_202401169StrFormatIJddEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_: argument 0"} -!120 = distinct !{!120, !"_ZN4absl12lts_202401169StrFormatIJddEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_"} -!121 = !{!81, !19, i64 48} -!122 = !{!123} -!123 = distinct !{!123, !124, !"_ZN4absl12lts_202401169StrFormatIJiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_: argument 0"} -!124 = distinct !{!124, !"_ZN4absl12lts_202401169StrFormatIJiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_"} -!125 = !{!81, !19, i64 56} -!126 = !{!127} -!127 = distinct !{!127, !128, !"_ZN4absl12lts_202401169StrFormatIJddEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_: argument 0"} -!128 = distinct !{!128, !"_ZN4absl12lts_202401169StrFormatIJddEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_"} -!129 = distinct !{!129, !48} -!130 = !{!"branch_weights", !"expected", i32 -2147483648, i32 0} -!131 = !{!132} -!132 = distinct !{!132, !133, !"_ZN4absl12lts_202401169StrFormatIJdNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_S7_EEES7_RKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_: argument 0"} -!133 = distinct !{!133, !"_ZN4absl12lts_202401169StrFormatIJdNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_S7_EEES7_RKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_"} -!134 = !{!135} -!135 = distinct !{!135, !136, !"_ZN4absl12lts_202401169StrFormatIJiiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_: argument 0"} -!136 = distinct !{!136, !"_ZN4absl12lts_202401169StrFormatIJiiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_"} -!137 = !{!138} -!138 = distinct !{!138, !139, !"_ZN4absl12lts_202401169StrFormatIJddEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_: argument 0"} -!139 = distinct !{!139, !"_ZN4absl12lts_202401169StrFormatIJddEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_"} -!140 = !{!141} -!141 = distinct !{!141, !142, !"_ZN4absl12lts_202401169StrFormatIJdddEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_: argument 0"} -!142 = distinct !{!142, !"_ZN4absl12lts_202401169StrFormatIJdddEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_"} -!143 = !{!69, !71, i64 24} -!144 = !{!69, !71, i64 16} -!145 = distinct !{!145, !48} -!146 = !{!147} -!147 = distinct !{!147, !148, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_: argument 0"} -!148 = distinct !{!148, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_"} -!149 = !{!150} -!150 = distinct !{!150, !148, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_: argument 1"} -!151 = !{!147, !150} -!152 = distinct !{!152, !48} -!153 = !{!154} -!154 = distinct !{!154, !155, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_: argument 0"} -!155 = distinct !{!155, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_"} -!156 = !{!157} -!157 = distinct !{!157, !155, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_: argument 1"} -!158 = !{!154, !157} -!159 = !{!160} -!160 = distinct !{!160, !161, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_: argument 0"} -!161 = distinct !{!161, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_"} -!162 = !{!163} -!163 = distinct !{!163, !161, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_: argument 1"} -!164 = !{!160, !163} -!165 = !{!166} -!166 = distinct !{!166, !167, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_: argument 0"} -!167 = distinct !{!167, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_"} -!168 = !{!169} -!169 = distinct !{!169, !167, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_: argument 1"} -!170 = !{!166, !169} +!79 = !{!80, !25, i64 72} +!80 = !{!"_ZTSN5ceres8internal10LineSearch7OptionsE", !17, i64 0, !19, i64 8, !19, i64 16, !19, i64 24, !19, i64 32, !21, i64 40, !19, i64 48, !19, i64 56, !23, i64 64, !25, i64 72} +!81 = !{!"branch_weights", !"expected", i32 2000, i32 1} +!82 = !{!6, !6, i64 0} +!83 = !{!84, !85, i64 8} +!84 = !{!"_ZTSNSt12_Vector_baseIN5ceres8internal14FunctionSampleESaIS2_EE17_Vector_impl_dataE", !85, i64 0, !85, i64 8, !85, i64 16} +!85 = !{!"p1 _ZTSN5ceres8internal14FunctionSampleE", !7, i64 0} +!86 = !{!84, !85, i64 16} +!87 = !{!84, !85, i64 0} +!88 = distinct !{!88, !48} +!89 = !{!90, !91, i64 24} +!90 = !{!"_ZTSSt8ios_base", !10, i64 8, !10, i64 16, !91, i64 24, !92, i64 28, !92, i64 32, !93, i64 40, !94, i64 48, !8, i64 64, !21, i64 192, !95, i64 200, !96, i64 208} +!91 = !{!"_ZTSSt13_Ios_Fmtflags", !8, i64 0} +!92 = !{!"_ZTSSt12_Ios_Iostate", !8, i64 0} +!93 = !{!"p1 _ZTSNSt8ios_base14_Callback_listE", !7, i64 0} +!94 = !{!"_ZTSNSt8ios_base6_WordsE", !7, i64 0, !10, i64 8} +!95 = !{!"p1 _ZTSNSt8ios_base6_WordsE", !7, i64 0} +!96 = !{!"_ZTSSt6locale", !97, i64 0} +!97 = !{!"p1 _ZTSNSt6locale5_ImplE", !7, i64 0} +!98 = !{!91, !91, i64 0} +!99 = !{!100, !100, i64 0} +!100 = !{!"p1 _ZTSN4absl12lts_2024011612log_internal10LogMessage14LogMessageDataE", !7, i64 0} +!101 = !{!90, !10, i64 8} +!102 = !{!80, !21, i64 40} +!103 = !{!80, !17, i64 0} +!104 = !{!75, !21, i64 96} +!105 = !{!75, !21, i64 100} +!106 = !{!80, !19, i64 8} +!107 = !{!75, !21, i64 104} +!108 = !{!109} +!109 = distinct !{!109, !110, !"_ZN4absl12lts_202401169StrFormatIJiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_: argument 0"} +!110 = distinct !{!110, !"_ZN4absl12lts_202401169StrFormatIJiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_"} +!111 = !{!112, !7, i64 8} +!112 = !{!"_ZTSN4absl12lts_2024011619str_format_internal13FormatArgImplE", !8, i64 0, !7, i64 8} +!113 = !{!80, !23, i64 64} +!114 = !{!80, !19, i64 16} +!115 = !{!80, !19, i64 24} +!116 = !{!80, !19, i64 32} +!117 = !{!118} +!118 = distinct !{!118, !119, !"_ZN4absl12lts_202401169StrFormatIJddEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_: argument 0"} +!119 = distinct !{!119, !"_ZN4absl12lts_202401169StrFormatIJddEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_"} +!120 = !{!80, !19, i64 48} +!121 = !{!122} +!122 = distinct !{!122, !123, !"_ZN4absl12lts_202401169StrFormatIJiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_: argument 0"} +!123 = distinct !{!123, !"_ZN4absl12lts_202401169StrFormatIJiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_"} +!124 = !{!80, !19, i64 56} +!125 = !{!126} +!126 = distinct !{!126, !127, !"_ZN4absl12lts_202401169StrFormatIJddEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_: argument 0"} +!127 = distinct !{!127, !"_ZN4absl12lts_202401169StrFormatIJddEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_"} +!128 = distinct !{!128, !48} +!129 = !{!"branch_weights", !"expected", i32 -2147483648, i32 0} +!130 = !{!131} +!131 = distinct !{!131, !132, !"_ZN4absl12lts_202401169StrFormatIJdNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_S7_EEES7_RKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_: argument 0"} +!132 = distinct !{!132, !"_ZN4absl12lts_202401169StrFormatIJdNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_S7_EEES7_RKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_"} +!133 = !{!134} +!134 = distinct !{!134, !135, !"_ZN4absl12lts_202401169StrFormatIJiiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_: argument 0"} +!135 = distinct !{!135, !"_ZN4absl12lts_202401169StrFormatIJiiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_"} +!136 = !{!137} +!137 = distinct !{!137, !138, !"_ZN4absl12lts_202401169StrFormatIJddEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_: argument 0"} +!138 = distinct !{!138, !"_ZN4absl12lts_202401169StrFormatIJddEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_"} +!139 = !{!140} +!140 = distinct !{!140, !141, !"_ZN4absl12lts_202401169StrFormatIJdddEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_: argument 0"} +!141 = distinct !{!141, !"_ZN4absl12lts_202401169StrFormatIJdddEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19str_format_internal18FormatSpecTemplateIJXspclsr19str_format_internalE14ArgumentToConvIT_EEEEEEDpRKSA_"} +!142 = !{!69, !71, i64 24} +!143 = !{!69, !71, i64 16} +!144 = distinct !{!144, !48} +!145 = !{!146} +!146 = distinct !{!146, !147, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_: argument 0"} +!147 = distinct !{!147, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_"} +!148 = !{!149} +!149 = distinct !{!149, !147, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_: argument 1"} +!150 = !{!146, !149} +!151 = distinct !{!151, !48} +!152 = !{!153} +!153 = distinct !{!153, !154, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_: argument 0"} +!154 = distinct !{!154, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_"} +!155 = !{!156} +!156 = distinct !{!156, !154, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_: argument 1"} +!157 = !{!153, !156} +!158 = !{!159} +!159 = distinct !{!159, !160, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_: argument 0"} +!160 = distinct !{!160, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_"} +!161 = !{!162} +!162 = distinct !{!162, !160, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_: argument 1"} +!163 = !{!159, !162} +!164 = !{!165} +!165 = distinct !{!165, !166, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_: argument 0"} +!166 = distinct !{!166, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_"} +!167 = !{!168} +!168 = distinct !{!168, !166, !"_ZSt19__relocate_object_aIN5ceres8internal14FunctionSampleES2_SaIS2_EEvPT_PT0_RT1_: argument 1"} +!169 = !{!165, !168} diff --git a/bench/clamav/optimized/headers.ll b/bench/clamav/optimized/headers.ll index a9ea2cbcb16..86533961ed6 100644 --- a/bench/clamav/optimized/headers.ll +++ b/bench/clamav/optimized/headers.ll @@ -4,12 +4,6 @@ target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80: target triple = "x86_64-pc-linux-gnu" %class.ErrorHandler = type <{ i32, i32, i8, i8, i8, i8, i8, i8, [2 x i8] }> -%struct.MainHeader = type { %struct.BaseBlock, i16, i32, i8, i8, i8, i64, i64, i64, i64, i64, %"class.std::__cxx11::basic_string", %class.RarTime } -%struct.BaseBlock = type { i32, i32, i32, i32, i8 } -%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string::_Alloc_hider", i64, %union.anon.1 } -%"struct.std::__cxx11::basic_string::_Alloc_hider" = type { ptr } -%union.anon.1 = type { i64, [8 x i8] } -%class.RarTime = type { i64 } $_ZN5ArrayIhEaSERKS0_ = comdat any @@ -188,18 +182,12 @@ _ZN5ArrayIhE5AllocEm.exit.thread: ; preds = %_ZN5ArrayIhE5ResetE ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(write, argmem: readwrite) uwtable define void @_ZN10MainHeader5ResetEv(ptr noundef nonnull align 8 captures(address) dereferenceable(112) initializes((0, 72)) %0) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 { - %2 = alloca %struct.MainHeader, align 8 - call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %2) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(112) %2, i8 0, i64 112, i1 false) - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(20) %0, i8 0, i64 20, i1 false) - %3 = getelementptr inbounds nuw i8, ptr %0, i64 20 - %4 = getelementptr inbounds nuw i8, ptr %2, i64 20 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(52) %3, ptr noundef nonnull align 4 dereferenceable(52) %4, i64 52, i1 false) - %5 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %6 = load ptr, ptr %5, align 8, !tbaa !32 - %7 = getelementptr inbounds nuw i8, ptr %0, i64 88 - %8 = icmp eq ptr %6, %7 - br i1 %8, label %_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_is_localEv.exit.i.i, label %_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_copyEPwPKwm.exit.i.i + %2 = getelementptr inbounds nuw i8, ptr %0, i64 72 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %0, i8 0, i64 72, i1 false) + %3 = load ptr, ptr %2, align 8, !tbaa !32 + %4 = getelementptr inbounds nuw i8, ptr %0, i64 88 + %5 = icmp eq ptr %3, %4 + br i1 %5, label %_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_is_localEv.exit.i.i, label %_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_copyEPwPKwm.exit.i.i _ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_is_localEv.exit.i.i: ; preds = %1 %9 = getelementptr inbounds nuw i8, ptr %0, i64 80 @@ -211,22 +199,15 @@ _ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_is_localEv.exit.i.i: _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_copyEPwPKwm.exit.i.i: ; preds = %_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_is_localEv.exit.i.i, %1 %12 = getelementptr inbounds nuw i8, ptr %0, i64 80 store i64 0, ptr %12, align 8, !tbaa !36 - store i32 0, ptr %6, align 4, !tbaa !37 + store i32 0, ptr %3, align 4, !tbaa !37 %13 = getelementptr inbounds nuw i8, ptr %0, i64 104 store i64 0, ptr %13, align 8, !tbaa !39 - call void @llvm.lifetime.end.p0(i64 112, ptr nonnull %2) ret void } -; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) -declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #4 - ; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write) declare void @llvm.memset.p0.i64(ptr writeonly captures(none), i8, i64, i1 immarg) #5 -; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) -declare void @llvm.lifetime.end.p0(i64 immarg, ptr captures(none)) #4 - declare i32 @__gxx_personality_v0(...) declare void @_ZN12ErrorHandler13GeneralErrMsgEPKwz(ptr noundef nonnull align 4 dereferenceable(14), ptr noundef, ...) local_unnamed_addr #1 @@ -249,14 +230,13 @@ attributes #0 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping attributes #1 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #2 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) } attributes #3 = { mustprogress nofree norecurse nosync nounwind willreturn memory(write, argmem: readwrite) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } -attributes #4 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } -attributes #5 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) } +attributes #4 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: write) } +attributes #5 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite) "alloc-family"="malloc" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } attributes #6 = { mustprogress nounwind willreturn allockind("realloc") allocsize(1) memory(argmem: readwrite, inaccessiblemem: readwrite) "alloc-family"="malloc" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } -attributes #7 = { mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite) "alloc-family"="malloc" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } -attributes #8 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write) } -attributes #9 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } -attributes #10 = { nounwind allocsize(1) } -attributes #11 = { nounwind } +attributes #7 = { mustprogress nounwind willreturn allockind("free") memory(argmem: write) } +attributes #8 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } +attributes #9 = { nounwind allocsize(1) } +attributes #10 = { nounwind } !llvm.module.flags = !{!0, !1, !2} diff --git a/bench/cmake/optimized/cmCTest.ll b/bench/cmake/optimized/cmCTest.ll index 9ef1229b0d6..8fdc65b8ce6 100644 --- a/bench/cmake/optimized/cmCTest.ll +++ b/bench/cmake/optimized/cmCTest.ll @@ -24698,7 +24698,7 @@ _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit171: ; pred store ptr %6, ptr %.sroa.9.0..sroa_idx, align 16, !tbaa !612, !noalias !598 store ptr %363, ptr %365, align 8, !noalias !598 %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %362, i64 32 - store i64 0, ptr %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx, align 8, !tbaa !42, !noalias !598 + store i64 0, ptr %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx, align 8, !noalias !598 %366 = getelementptr inbounds nuw i8, ptr %362, i64 40 store ptr @"_ZNSt17_Function_handlerIFvSt6vectorIcSaIcEEEZN7cmCTest14RunMakeCommandERKNSt7__cxx1112basic_stringIcSt11char_traitsIcES1_EERS9_PiPKcNSt6chrono8durationIdSt5ratioILl1ELl1EEEERSoN15cmProcessOutput8EncodingEE3$_0E10_M_managerERSt9_Any_dataRKSQ_St18_Manager_operation", ptr %366, align 8, !tbaa !613, !noalias !598 %367 = getelementptr inbounds nuw i8, ptr %362, i64 48 @@ -24717,7 +24717,7 @@ _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit171: ; pred store ptr %6, ptr %.sroa.6394.0..sroa_idx, align 8, !tbaa !612, !noalias !598 store ptr %368, ptr %370, align 8, !noalias !598 %.sroa.0.i.i.i6.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %362, i64 64 - store i64 0, ptr %.sroa.0.i.i.i6.i.sroa.4.0..sroa_idx, align 8, !tbaa !42, !noalias !598 + store i64 0, ptr %.sroa.0.i.i.i6.i.sroa.4.0..sroa_idx, align 8, !noalias !598 %371 = getelementptr inbounds nuw i8, ptr %362, i64 72 store ptr @"_ZNSt17_Function_handlerIFvvEZN7cmCTest14RunMakeCommandERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS7_PiPKcNSt6chrono8durationIdSt5ratioILl1ELl1EEEERSoN15cmProcessOutput8EncodingEE3$_1E10_M_managerERSt9_Any_dataRKSO_St18_Manager_operation", ptr %371, align 8, !tbaa !613, !noalias !598 %372 = getelementptr inbounds nuw i8, ptr %362, i64 80 @@ -71110,7 +71110,7 @@ define internal fastcc void @"_ZZN7cmCTest10RunCommandERKSt6vectorINSt7__cxx1112 store ptr %16, ptr %.sroa.5.0..sroa_idx, align 16, !tbaa !608, !noalias !2774 store ptr %18, ptr %19, align 8, !noalias !2774 %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 32 - store i64 0, ptr %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx, align 8, !tbaa !42, !noalias !2774 + store i64 0, ptr %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx, align 8, !noalias !2774 %20 = getelementptr inbounds nuw i8, ptr %17, i64 40 store ptr @"_ZNSt17_Function_handlerIFvSt6vectorIcSaIcEEEZZN7cmCTest10RunCommandERKS0_INSt7__cxx1112basic_stringIcSt11char_traitsIcES1_EESaIS9_EEPS9_SE_PiPKcNSt6chrono8durationIdSt5ratioILl1ELl1EEEEN15cmProcessOutput8EncodingEENK3$_1clERN2cm11uv_pipe_ptrEiRS2_RbEUlS2_E_E10_M_managerERSt9_Any_dataRKSX_St18_Manager_operation", ptr %20, align 8, !tbaa !613, !noalias !2774 %21 = getelementptr inbounds nuw i8, ptr %17, i64 48 @@ -71119,7 +71119,7 @@ define internal fastcc void @"_ZZN7cmCTest10RunCommandERKSt6vectorINSt7__cxx1112 %23 = ptrtoint ptr %5 to i64 store i64 %23, ptr %22, align 8, !noalias !2774 %.sroa.0.i.i.i6.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %17, i64 64 - store i64 0, ptr %.sroa.0.i.i.i6.i.sroa.4.0..sroa_idx, align 8, !tbaa !42, !noalias !2774 + store i64 0, ptr %.sroa.0.i.i.i6.i.sroa.4.0..sroa_idx, align 8, !noalias !2774 %24 = getelementptr inbounds nuw i8, ptr %17, i64 72 store ptr @"_ZNSt17_Function_handlerIFvvEZZN7cmCTest10RunCommandERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EEPS8_SD_PiPKcNSt6chrono8durationIdSt5ratioILl1ELl1EEEEN15cmProcessOutput8EncodingEENK3$_1clERN2cm11uv_pipe_ptrEiRS2_IcS7_ERbEUlvE_E10_M_managerERSt9_Any_dataRKSX_St18_Manager_operation", ptr %24, align 8, !tbaa !613, !noalias !2774 %25 = getelementptr inbounds nuw i8, ptr %17, i64 80 diff --git a/bench/cmake/optimized/cmCTestBuildHandler.ll b/bench/cmake/optimized/cmCTestBuildHandler.ll index e204e795289..d99c7427a7b 100644 --- a/bench/cmake/optimized/cmCTestBuildHandler.ll +++ b/bench/cmake/optimized/cmCTestBuildHandler.ll @@ -16451,7 +16451,7 @@ define internal fastcc void @"_ZZN19cmCTestBuildHandler14RunMakeCommandERKNSt7__ store ptr %21, ptr %.sroa.9.0..sroa_idx, align 8, !tbaa !350, !noalias !567 store ptr %23, ptr %25, align 8, !noalias !567 %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %22, i64 32 - store i64 0, ptr %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx, align 8, !tbaa !15, !noalias !567 + store i64 0, ptr %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx, align 8, !noalias !567 %26 = getelementptr inbounds nuw i8, ptr %22, i64 40 store ptr @"_ZNSt17_Function_handlerIFvSt6vectorIcSaIcEEEZZN19cmCTestBuildHandler14RunMakeCommandERKNSt7__cxx1112basic_stringIcSt11char_traitsIcES1_EEPiPKciRSoN15cmProcessOutput8EncodingEENK3$_1clERN2cm11uv_pipe_ptrEiRSt5dequeIcS1_ERbiEUlS2_E_E10_M_managerERSt9_Any_dataRKSS_St18_Manager_operation", ptr %26, align 8, !tbaa !577, !noalias !567 %27 = getelementptr inbounds nuw i8, ptr %22, i64 48 @@ -16476,7 +16476,7 @@ define internal fastcc void @"_ZZN19cmCTestBuildHandler14RunMakeCommandERKNSt7__ store ptr %5, ptr %.sroa.10.0..sroa_idx, align 16, !tbaa !578, !noalias !567 store ptr %28, ptr %30, align 8, !noalias !567 %.sroa.0.i.i.i6.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %22, i64 64 - store i64 0, ptr %.sroa.0.i.i.i6.i.sroa.4.0..sroa_idx, align 8, !tbaa !15, !noalias !567 + store i64 0, ptr %.sroa.0.i.i.i6.i.sroa.4.0..sroa_idx, align 8, !noalias !567 %31 = getelementptr inbounds nuw i8, ptr %22, i64 72 store ptr @"_ZNSt17_Function_handlerIFvvEZZN19cmCTestBuildHandler14RunMakeCommandERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPiPKciRSoN15cmProcessOutput8EncodingEENK3$_1clERN2cm11uv_pipe_ptrEiRSt5dequeIcS6_ERbiEUlvE_E10_M_managerERSt9_Any_dataRKSQ_St18_Manager_operation", ptr %31, align 8, !tbaa !577, !noalias !567 %32 = getelementptr inbounds nuw i8, ptr %22, i64 80 diff --git a/bench/cmake/optimized/cmNinjaTargetGenerator.ll b/bench/cmake/optimized/cmNinjaTargetGenerator.ll index a17ac90b745..8ae0a90e41b 100644 --- a/bench/cmake/optimized/cmNinjaTargetGenerator.ll +++ b/bench/cmake/optimized/cmNinjaTargetGenerator.ll @@ -49608,23 +49608,21 @@ _ZNK22cmNinjaTargetGenerator18ConvertToNinjaPathERKNSt7__cxx1112basic_stringIcSt store i64 %495, ptr %38, align 8 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %38, i64 8 store i64 0, ptr %.sroa.4.0..sroa_idx, align 8 - %496 = getelementptr inbounds nuw i8, ptr %38, i64 32 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %496, i8 0, i64 32, i1 false) - %497 = getelementptr inbounds nuw i8, ptr %38, i64 16 - store ptr @"_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK12cmSourceFileRKS5_EZN22cmNinjaTargetGenerator21WriteTargetDependInfoESA_SA_E3$_0E10_M_managerERSt9_Any_dataRKSF_St18_Manager_operation", ptr %497, align 8, !tbaa !1975 - %498 = getelementptr inbounds nuw i8, ptr %38, i64 24 - store ptr @"_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK12cmSourceFileRKS5_EZN22cmNinjaTargetGenerator21WriteTargetDependInfoESA_SA_E3$_0E9_M_invokeERKSt9_Any_dataOS8_SA_", ptr %498, align 8, !tbaa !1975 - %499 = getelementptr inbounds nuw i8, ptr %38, i64 32 - store i64 %495, ptr %499, align 8 - %.sroa.0.i.i.i179.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %38, i64 40 - store i64 0, ptr %.sroa.0.i.i.i179.sroa.4.0..sroa_idx, align 8, !tbaa !76 - %500 = getelementptr inbounds nuw i8, ptr %38, i64 48 - store ptr @"_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK12cmSourceFileRKS5_EZN22cmNinjaTargetGenerator21WriteTargetDependInfoESA_SA_E3$_1E10_M_managerERSt9_Any_dataRKSF_St18_Manager_operation", ptr %500, align 8, !tbaa !1975 - %501 = getelementptr inbounds nuw i8, ptr %38, i64 56 - store ptr @"_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK12cmSourceFileRKS5_EZN22cmNinjaTargetGenerator21WriteTargetDependInfoESA_SA_E3$_1E9_M_invokeERKSt9_Any_dataOS8_SA_", ptr %501, align 8, !tbaa !1975 + %496 = getelementptr inbounds nuw i8, ptr %38, i64 16 + store ptr @"_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK12cmSourceFileRKS5_EZN22cmNinjaTargetGenerator21WriteTargetDependInfoESA_SA_E3$_0E10_M_managerERSt9_Any_dataRKSF_St18_Manager_operation", ptr %496, align 8, !tbaa !1975 + %497 = getelementptr inbounds nuw i8, ptr %38, i64 24 + store ptr @"_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK12cmSourceFileRKS5_EZN22cmNinjaTargetGenerator21WriteTargetDependInfoESA_SA_E3$_0E9_M_invokeERKSt9_Any_dataOS8_SA_", ptr %497, align 8, !tbaa !1975 + %498 = getelementptr inbounds nuw i8, ptr %38, i64 32 + store i64 %495, ptr %498, align 8 + %499 = getelementptr inbounds nuw i8, ptr %38, i64 40 + store i64 0, ptr %499, align 8 + %.sroa.0.i.i.i179.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %38, i64 48 + store ptr @"_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK12cmSourceFileRKS5_EZN22cmNinjaTargetGenerator21WriteTargetDependInfoESA_SA_E3$_1E10_M_managerERSt9_Any_dataRKSF_St18_Manager_operation", ptr %.sroa.0.i.i.i179.sroa.4.0..sroa_idx, align 8, !tbaa !1975 + %500 = getelementptr inbounds nuw i8, ptr %38, i64 56 + store ptr @"_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK12cmSourceFileRKS5_EZN22cmNinjaTargetGenerator21WriteTargetDependInfoESA_SA_E3$_1E9_M_invokeERKSt9_Any_dataOS8_SA_", ptr %500, align 8, !tbaa !1975 %.pre = load ptr, ptr %418, align 8, !tbaa !88 invoke void @_ZN17cmDyndepCollation23AddCollationInformationERN4Json5ValueEPK17cmGeneratorTargetRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK26cmDyndepGeneratorCallbacks(ptr noundef nonnull align 8 dereferenceable(40) %9, ptr noundef %.pre, ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 8 dereferenceable(64) %38) - to label %516 unwind label %601 + to label %515 unwind label %601 502: ; preds = %._crit_edge218 %503 = landingpad { ptr, i32 } @@ -49638,19 +49636,19 @@ _ZNK22cmNinjaTargetGenerator18ConvertToNinjaPathERKNSt7__cxx1112basic_stringIcSt br label %506 506: ; preds = %504, %502 - %.pn98 = phi { ptr, i32 } [ %505, %504 ], [ %503, %502 ] + %.pn98 = phi { ptr, i32 } [ %505, %503 ], [ %503, %501 ] call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %36) #29 br label %619 .lr.ph222: ; preds = %489, %509 - %.sroa.0197.0220 = phi ptr [ %510, %509 ], [ %492, %489 ] + %.sroa.0197.0220 = phi ptr [ %510, %508 ], [ %492, %489 ] call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %37) #29 invoke void @_ZN4Json5ValueC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(40) %37, ptr noundef nonnull align 8 dereferenceable(32) %.sroa.0197.0220) - to label %507 unwind label %511 + to label %506 unwind label %511 507: ; preds = %.lr.ph222 %508 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN4Json5Value6appendEOS0_(ptr noundef nonnull align 8 dereferenceable(40) %490, ptr noundef nonnull align 8 dereferenceable(40) %37) - to label %509 unwind label %513 + to label %508 unwind label %513 509: ; preds = %507 call void @_ZN4Json5ValueD1Ev(ptr noundef nonnull align 8 dereferenceable(40) %37) #29 @@ -49671,23 +49669,23 @@ _ZNK22cmNinjaTargetGenerator18ConvertToNinjaPathERKNSt7__cxx1112basic_stringIcSt br label %515 515: ; preds = %513, %511 - %.pn104 = phi { ptr, i32 } [ %514, %513 ], [ %512, %511 ] + %.pn104 = phi { ptr, i32 } [ %514, %512 ], [ %512, %510 ] call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %37) #29 br label %619 516: ; preds = %"_ZNSt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK12cmSourceFileRKS5_EEaSIZN22cmNinjaTargetGenerator21WriteTargetDependInfoESA_SA_E3$_1EENSt9enable_ifIXsr9_CallableIT_EE5valueERSC_E4typeEOSH_.exit" call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #29 invoke void @_ZNK22cmNinjaTargetGenerator23GetTargetDependInfoPathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 8 dereferenceable(240) %0, ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 8 dereferenceable(32) %2) - to label %517 unwind label %603 + to label %516 unwind label %603 517: ; preds = %516 call void @llvm.lifetime.start.p0(i64 616, ptr nonnull %40) #29 invoke void @_ZN21cmGeneratedFileStreamC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb16codecvt_Encoding(ptr noundef nonnull align 8 dereferenceable(348) %40, ptr noundef nonnull align 8 dereferenceable(32) %39, i1 noundef zeroext false, i32 noundef 0) - to label %518 unwind label %605 + to label %517 unwind label %605 518: ; preds = %517 %519 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4JsonlsERSoRKNS_5ValueE(ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef nonnull align 8 dereferenceable(40) %9) - to label %520 unwind label %607 + to label %519 unwind label %607 520: ; preds = %518 call void @_ZN21cmGeneratedFileStreamD1Ev(ptr noundef nonnull align 8 dereferenceable(348) %40) #29 @@ -49712,12 +49710,12 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i18 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit183: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i182, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i181 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #29 - %529 = load ptr, ptr %500, align 8, !tbaa !1308 + %529 = load ptr, ptr %499, align 8, !tbaa !1308 %.not.i.i184 = icmp eq ptr %529, null br i1 %.not.i.i184, label %_ZNSt14_Function_baseD2Ev.exit.i, label %530 530: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit183 - %531 = invoke noundef zeroext i1 %529(ptr noundef nonnull align 8 dereferenceable(32) %499, ptr noundef nonnull align 8 dereferenceable(32) %499, i32 noundef 3) + %531 = invoke noundef zeroext i1 %528(ptr noundef nonnull align 8 dereferenceable(32) %498, ptr noundef nonnull align 8 dereferenceable(32) %498, i32 noundef 3) to label %_ZNSt14_Function_baseD2Ev.exit.i unwind label %532 532: ; preds = %530 @@ -49728,12 +49726,12 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit183: ; preds = %_Z unreachable _ZNSt14_Function_baseD2Ev.exit.i: ; preds = %530, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit183 - %535 = load ptr, ptr %497, align 8, !tbaa !1308 + %535 = load ptr, ptr %496, align 8, !tbaa !1308 %.not.i1.i = icmp eq ptr %535, null br i1 %.not.i1.i, label %_ZN26cmDyndepGeneratorCallbacksD2Ev.exit, label %536 536: ; preds = %_ZNSt14_Function_baseD2Ev.exit.i - %537 = invoke noundef zeroext i1 %535(ptr noundef nonnull align 8 dereferenceable(64) %38, ptr noundef nonnull align 8 dereferenceable(64) %38, i32 noundef 3) + %537 = invoke noundef zeroext i1 %534(ptr noundef nonnull align 8 dereferenceable(64) %38, ptr noundef nonnull align 8 dereferenceable(64) %38, i32 noundef 3) to label %_ZN26cmDyndepGeneratorCallbacksD2Ev.exit unwind label %538 538: ; preds = %536 @@ -49938,7 +49936,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit188: ; preds = %_Z br label %609 609: ; preds = %607, %605 - %.pn100 = phi { ptr, i32 } [ %608, %607 ], [ %606, %605 ] + %.pn100 = phi { ptr, i32 } [ %608, %606 ], [ %606, %604 ] call void @llvm.lifetime.end.p0(i64 616, ptr nonnull %40) #29 %610 = load ptr, ptr %39, align 8, !tbaa !72 %611 = getelementptr inbounds nuw i8, ptr %39, i64 16 @@ -49959,34 +49957,34 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i18 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit191 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit191: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i189, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i190, %603 - %.pn100.pn = phi { ptr, i32 } [ %604, %603 ], [ %.pn100, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i190 ], [ %.pn100, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i189 ] + %.pn100.pn = phi { ptr, i32 } [ %604, %602 ], [ %.pn100, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i190 ], [ %.pn100, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i189 ] call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #29 br label %618 618: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit191, %601 - %.pn100.pn.pn = phi { ptr, i32 } [ %.pn100.pn, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit191 ], [ %602, %601 ] + %.pn100.pn.pn = phi { ptr, i32 } [ %.pn100.pn, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit191 ], [ %602, %600 ] call void @_ZN26cmDyndepGeneratorCallbacksD2Ev(ptr noundef nonnull align 8 dereferenceable(64) %38) #29 call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %38) #29 br label %619 619: ; preds = %506, %515, %618, %486 - %.pn107.pn = phi { ptr, i32 } [ %.pn107, %486 ], [ %.pn104, %515 ], [ %.pn100.pn.pn, %618 ], [ %.pn98, %506 ] + %.pn107.pn = phi { ptr, i32 } [ %.pn107, %486 ], [ %.pn104, %514 ], [ %.pn100.pn.pn, %617 ], [ %.pn98, %505 ] call void @_ZN23cmCommonTargetGenerator16LinkedTargetDirsD2Ev(ptr noundef nonnull align 8 dereferenceable(48) %34) #29 br label %620 620: ; preds = %619, %476 - %.pn107.pn.pn = phi { ptr, i32 } [ %.pn107.pn, %619 ], [ %477, %476 ] + %.pn107.pn.pn = phi { ptr, i32 } [ %.pn107.pn, %618 ], [ %477, %476 ] call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %34) #29 br label %621 621: ; preds = %475, %620, %462, %449 - %.pn112.pn = phi { ptr, i32 } [ %.pn112, %462 ], [ %450, %449 ], [ %.pn107.pn.pn, %620 ], [ %.pn96, %475 ] + %.pn112.pn = phi { ptr, i32 } [ %.pn112, %462 ], [ %450, %449 ], [ %.pn107.pn.pn, %619 ], [ %.pn96, %475 ] call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #29 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #29 br label %622 622: ; preds = %448, %621, %443, %438, %433, %428, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit176, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit173, %354, %298, %219, %217 - %.pn112.pn.pn.pn = phi { ptr, i32 } [ %.pn92, %443 ], [ %.pn90, %438 ], [ %.pn88, %433 ], [ %.pn86, %428 ], [ %.pn83.pn, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit176 ], [ %.pn80.pn, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit173 ], [ %.pn78, %354 ], [ %218, %217 ], [ %220, %219 ], [ %.pn75.pn, %298 ], [ %.pn112.pn, %621 ], [ %.pn94, %448 ] + %.pn112.pn.pn.pn = phi { ptr, i32 } [ %.pn92, %443 ], [ %.pn90, %438 ], [ %.pn88, %433 ], [ %.pn86, %428 ], [ %.pn83.pn, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit176 ], [ %.pn80.pn, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit173 ], [ %.pn78, %354 ], [ %218, %217 ], [ %220, %219 ], [ %.pn75.pn, %298 ], [ %.pn112.pn, %620 ], [ %.pn94, %448 ] %623 = load ptr, ptr %17, align 8, !tbaa !72 %624 = icmp eq ptr %623, %116 br i1 %624, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i193, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i192 diff --git a/bench/cmake/optimized/cmProcessTools.ll b/bench/cmake/optimized/cmProcessTools.ll index 788e0d5fe7d..933303eb46e 100644 --- a/bench/cmake/optimized/cmProcessTools.ll +++ b/bench/cmake/optimized/cmProcessTools.ll @@ -151,7 +151,7 @@ define dso_local void @_ZN14cmProcessTools10RunProcessER23cmUVProcessChainBuilde store ptr %11, ptr %.sroa.5.0..sroa_idx, align 16, !tbaa !29, !noalias !16 store ptr %34, ptr %35, align 8, !noalias !16 %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %33, i64 32 - store i64 0, ptr %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx, align 8, !tbaa !15, !noalias !16 + store i64 0, ptr %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx, align 8, !noalias !16 %36 = getelementptr inbounds nuw i8, ptr %33, i64 40 store ptr @"_ZNSt17_Function_handlerIFvSt6vectorIcSaIcEEEZN14cmProcessTools10RunProcessER23cmUVProcessChainBuilderPNS4_12OutputParserES8_N15cmProcessOutput8EncodingEE3$_0E10_M_managerERSt9_Any_dataRKSD_St18_Manager_operation", ptr %36, align 8, !tbaa !31, !noalias !16 %37 = getelementptr inbounds nuw i8, ptr %33, i64 48 @@ -160,7 +160,7 @@ define dso_local void @_ZN14cmProcessTools10RunProcessER23cmUVProcessChainBuilde %39 = ptrtoint ptr %7 to i64 store i64 %39, ptr %38, align 8, !noalias !16 %.sroa.0.i.i.i6.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %33, i64 64 - store i64 0, ptr %.sroa.0.i.i.i6.i.sroa.4.0..sroa_idx, align 8, !tbaa !15, !noalias !16 + store i64 0, ptr %.sroa.0.i.i.i6.i.sroa.4.0..sroa_idx, align 8, !noalias !16 %40 = getelementptr inbounds nuw i8, ptr %33, i64 72 store ptr @"_ZNSt17_Function_handlerIFvvEZN14cmProcessTools10RunProcessER23cmUVProcessChainBuilderPNS1_12OutputParserES5_N15cmProcessOutput8EncodingEE3$_1E10_M_managerERSt9_Any_dataRKSA_St18_Manager_operation", ptr %40, align 8, !tbaa !31, !noalias !16 %41 = getelementptr inbounds nuw i8, ptr %33, i64 80 @@ -215,7 +215,7 @@ define dso_local void @_ZN14cmProcessTools10RunProcessER23cmUVProcessChainBuilde call void @llvm.experimental.noalias.scope.decl(metadata !41) call void @llvm.experimental.noalias.scope.decl(metadata !44) %61 = invoke noalias noundef nonnull dereferenceable(88) ptr @_Znwm(i64 noundef 88) #24 - to label %.noexc31 unwind label %92 + to label %.noexc29 unwind label %92 .noexc31: ; preds = %60 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(88) %61, i8 0, i64 88, i1 false), !noalias !47 @@ -232,7 +232,7 @@ define dso_local void @_ZN14cmProcessTools10RunProcessER23cmUVProcessChainBuilde store ptr %11, ptr %.sroa.572.0..sroa_idx, align 16, !tbaa !29, !noalias !41 store ptr %62, ptr %63, align 8, !noalias !41 %.sroa.0.i.i.i.i29.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %61, i64 32 - store i64 0, ptr %.sroa.0.i.i.i.i29.sroa.4.0..sroa_idx, align 8, !tbaa !15, !noalias !41 + store i64 0, ptr %.sroa.0.i.i.i.i29.sroa.4.0..sroa_idx, align 8, !noalias !41 %64 = getelementptr inbounds nuw i8, ptr %61, i64 40 store ptr @"_ZNSt17_Function_handlerIFvSt6vectorIcSaIcEEEZN14cmProcessTools10RunProcessER23cmUVProcessChainBuilderPNS4_12OutputParserES8_N15cmProcessOutput8EncodingEE3$_2E10_M_managerERSt9_Any_dataRKSD_St18_Manager_operation", ptr %64, align 8, !tbaa !31, !noalias !41 %65 = getelementptr inbounds nuw i8, ptr %61, i64 48 @@ -241,7 +241,7 @@ define dso_local void @_ZN14cmProcessTools10RunProcessER23cmUVProcessChainBuilde %67 = ptrtoint ptr %8 to i64 store i64 %67, ptr %66, align 8, !noalias !41 %.sroa.0.i.i.i6.i28.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %61, i64 64 - store i64 0, ptr %.sroa.0.i.i.i6.i28.sroa.4.0..sroa_idx, align 8, !tbaa !15, !noalias !41 + store i64 0, ptr %.sroa.0.i.i.i6.i28.sroa.4.0..sroa_idx, align 8, !noalias !41 %68 = getelementptr inbounds nuw i8, ptr %61, i64 72 store ptr @"_ZNSt17_Function_handlerIFvvEZN14cmProcessTools10RunProcessER23cmUVProcessChainBuilderPNS1_12OutputParserES5_N15cmProcessOutput8EncodingEE3$_3E10_M_managerERSt9_Any_dataRKSA_St18_Manager_operation", ptr %68, align 8, !tbaa !31, !noalias !41 %69 = getelementptr inbounds nuw i8, ptr %61, i64 80 @@ -358,7 +358,7 @@ define dso_local void @_ZN14cmProcessTools10RunProcessER23cmUVProcessChainBuilde 116: ; preds = %110 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.3) #25 - to label %.noexc34 unwind label %.loopexit.split-lp + to label %.noexc32 unwind label %.loopexit.split-lp .noexc34: ; preds = %116 unreachable @@ -374,7 +374,7 @@ _ZNKSt6vectorIN16cmUVProcessChain6StatusESaIS1_EE12_M_check_lenEmPKc.exit.i.i.i. call void @llvm.assume(i1 %.not.i.i.i.i.i.i) %122 = mul nuw nsw i64 %121, 24 %123 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %122) #24 - to label %.noexc35 unwind label %.loopexit + to label %.noexc33 unwind label %.loopexit .noexc35: ; preds = %_ZNKSt6vectorIN16cmUVProcessChain6StatusESaIS1_EE12_M_check_lenEmPKc.exit.i.i.i.i.i %124 = getelementptr inbounds i8, ptr %123, i64 %114 @@ -564,7 +564,7 @@ _ZN2cm19uv_handle_ptr_base_I9uv_pipe_sED2Ev.exit: ; preds = %164, %172, %_ZN9__g 195: ; preds = %192 %196 = getelementptr inbounds nuw i8, ptr %191, i64 56 %197 = invoke noundef zeroext i1 %194(ptr noundef nonnull align 8 dereferenceable(32) %196, ptr noundef nonnull align 8 dereferenceable(32) %196, i32 noundef 3) - to label %_ZNSt14_Function_baseD2Ev.exit.i.i.i43 unwind label %198 + to label %_ZNSt14_Function_baseD2Ev.exit.i.i.i41 unwind label %198 198: ; preds = %195 %199 = landingpad { ptr, i32 } @@ -582,7 +582,7 @@ _ZNSt14_Function_baseD2Ev.exit.i.i.i43: ; preds = %195, %192 203: ; preds = %_ZNSt14_Function_baseD2Ev.exit.i.i.i43 %204 = getelementptr inbounds nuw i8, ptr %191, i64 24 %205 = invoke noundef zeroext i1 %202(ptr noundef nonnull align 8 dereferenceable(32) %204, ptr noundef nonnull align 8 dereferenceable(32) %204, i32 noundef 3) - to label %_ZNSt14_Function_baseD2Ev.exit2.i.i.i45 unwind label %206 + to label %_ZNSt14_Function_baseD2Ev.exit2.i.i.i43 unwind label %206 206: ; preds = %203 %207 = landingpad { ptr, i32 } @@ -740,7 +740,7 @@ _ZNSt6vectorIPKN16cmUVProcessChain6StatusESaIS3_EED2Ev.exit55: ; preds = %252, % br label %_ZNSt6vectorIN16cmUVProcessChain6StatusESaIS1_EED2Ev.exit _ZNSt6vectorIN16cmUVProcessChain6StatusESaIS1_EED2Ev.exit: ; preds = %_ZNSt6vectorIPKN16cmUVProcessChain6StatusESaIS3_EED2Ev.exit55.thread, %258, %_ZNSt6vectorIPKN16cmUVProcessChain6StatusESaIS3_EED2Ev.exit55, %94 - %.pn20 = phi { ptr, i32 } [ %95, %94 ], [ %lpad.phi, %_ZNSt6vectorIPKN16cmUVProcessChain6StatusESaIS3_EED2Ev.exit55 ], [ %lpad.phi, %258 ], [ %249, %_ZNSt6vectorIPKN16cmUVProcessChain6StatusESaIS3_EED2Ev.exit55.thread ] + %.pn20 = phi { ptr, i32 } [ %95, %94 ], [ %lpad.phi, %_ZNSt6vectorIPKN16cmUVProcessChain6StatusESaIS3_EED2Ev.exit53 ], [ %lpad.phi, %258 ], [ %249, %_ZNSt6vectorIPKN16cmUVProcessChain6StatusESaIS3_EED2Ev.exit53.thread ] call void @_ZNSt10unique_ptrI20cmUVStreamReadHandleSt14default_deleteIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #23 br label %.body32 @@ -750,7 +750,7 @@ _ZNSt6vectorIN16cmUVProcessChain6StatusESaIS1_EED2Ev.exit: ; preds = %_ZNSt6vect br label %262 262: ; preds = %.body32, %90 - %.pn20.pn.pn = phi { ptr, i32 } [ %.pn20.pn, %.body32 ], [ %91, %90 ] + %.pn20.pn.pn = phi { ptr, i32 } [ %.pn20.pn, %.body30 ], [ %91, %90 ] call void @_ZN2cm19uv_handle_ptr_base_I9uv_pipe_sED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %14) #23 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #23 call void @_ZNSt10unique_ptrI20cmUVStreamReadHandleSt14default_deleteIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #23 diff --git a/bench/cmake/optimized/cmSystemTools.ll b/bench/cmake/optimized/cmSystemTools.ll index 7bf138c0ea9..0238c3033df 100644 --- a/bench/cmake/optimized/cmSystemTools.ll +++ b/bench/cmake/optimized/cmSystemTools.ll @@ -4895,7 +4895,7 @@ define internal fastcc void @"_ZZN13cmSystemTools16RunSingleCommandERKSt6vectorI store ptr %7, ptr %.sroa.10.0..sroa_idx, align 8, !tbaa !63, !noalias !179 store ptr %25, ptr %27, align 8, !noalias !179 %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %24, i64 32 - store i64 0, ptr %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx, align 8, !tbaa !26, !noalias !179 + store i64 0, ptr %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx, align 8, !noalias !179 %28 = getelementptr inbounds nuw i8, ptr %24, i64 40 store ptr @"_ZNSt17_Function_handlerIFvSt6vectorIcSaIcEEEZZN13cmSystemTools16RunSingleCommandERKS0_INSt7__cxx1112basic_stringIcSt11char_traitsIcES1_EESaIS9_EEPS9_SE_PiPKcNS4_12OutputOptionENSt6chrono8durationIdSt5ratioILl1ELl1EEEEN15cmProcessOutput8EncodingEENK3$_1clERN2cm11uv_pipe_ptrEiSE_RS2_iPFvRKS9_ERbEUlS2_E_E10_M_managerERSt9_Any_dataRKS12_St18_Manager_operation", ptr %28, align 8, !tbaa !63, !noalias !179 %29 = getelementptr inbounds nuw i8, ptr %24, i64 48 @@ -4916,7 +4916,7 @@ define internal fastcc void @"_ZZN13cmSystemTools16RunSingleCommandERKSt6vectorI store ptr %7, ptr %.sroa.932.0..sroa_idx, align 16, !tbaa !63, !noalias !179 store ptr %30, ptr %32, align 8, !noalias !179 %.sroa.0.i.i.i6.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %24, i64 64 - store i64 0, ptr %.sroa.0.i.i.i6.i.sroa.4.0..sroa_idx, align 8, !tbaa !26, !noalias !179 + store i64 0, ptr %.sroa.0.i.i.i6.i.sroa.4.0..sroa_idx, align 8, !noalias !179 %33 = getelementptr inbounds nuw i8, ptr %24, i64 72 store ptr @"_ZNSt17_Function_handlerIFvvEZZN13cmSystemTools16RunSingleCommandERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EEPS8_SD_PiPKcNS1_12OutputOptionENSt6chrono8durationIdSt5ratioILl1ELl1EEEEN15cmProcessOutput8EncodingEENK3$_1clERN2cm11uv_pipe_ptrEiSD_RS2_IcS7_EiPFvRKS8_ERbEUlvE_E10_M_managerERSt9_Any_dataRKS12_St18_Manager_operation", ptr %33, align 8, !tbaa !63, !noalias !179 %34 = getelementptr inbounds nuw i8, ptr %24, i64 80 @@ -18266,7 +18266,7 @@ _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPcSt6vectorIcSaIcEEEES6_ET0_T_S8_S7_.ex %125 = getelementptr inbounds nuw i8, ptr %124, i64 24 store i64 %27, ptr %125, align 8, !noalias !499 %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %124, i64 32 - store i64 0, ptr %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx.i, align 8, !tbaa !26, !noalias !499 + store i64 0, ptr %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx.i, align 8, !noalias !499 %126 = getelementptr inbounds nuw i8, ptr %124, i64 40 store ptr @"_ZNSt17_Function_handlerIFvSt6vectorIcSaIcEEEZZN13cmSystemTools11WaitForLineEP9uv_loop_sP11uv_stream_sS8_RNSt7__cxx1112basic_stringIcSt11char_traitsIcES1_EENSt6chrono8durationIdSt5ratioILl1ELl1EEEERS2_SK_ENK3$_0clES8_RZNS4_11WaitForLineES6_S8_S8_SE_SJ_SK_SK_E8ReadDataEUlS2_E_E10_M_managerERSt9_Any_dataRKSQ_St18_Manager_operation", ptr %126, align 8, !tbaa !63, !noalias !499 %127 = getelementptr inbounds nuw i8, ptr %124, i64 48 @@ -18274,7 +18274,7 @@ _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPcSt6vectorIcSaIcEEEES6_ET0_T_S8_S7_.ex %128 = getelementptr inbounds nuw i8, ptr %124, i64 56 store i64 %27, ptr %128, align 8, !noalias !499 %.sroa.0.i.i.i5.i.sroa.4.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %124, i64 64 - store i64 0, ptr %.sroa.0.i.i.i5.i.sroa.4.0..sroa_idx.i, align 8, !tbaa !26, !noalias !499 + store i64 0, ptr %.sroa.0.i.i.i5.i.sroa.4.0..sroa_idx.i, align 8, !noalias !499 %129 = getelementptr inbounds nuw i8, ptr %124, i64 72 store ptr @"_ZNSt17_Function_handlerIFvvEZZN13cmSystemTools11WaitForLineEP9uv_loop_sP11uv_stream_sS5_RNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENSt6chrono8durationIdSt5ratioILl1ELl1EEEERSt6vectorIcSA_ESK_ENK3$_0clES5_RZNS1_11WaitForLineES3_S5_S5_SC_SH_SK_SK_E8ReadDataEUlvE_E10_M_managerERSt9_Any_dataRKSQ_St18_Manager_operation", ptr %129, align 8, !tbaa !63, !noalias !499 %130 = getelementptr inbounds nuw i8, ptr %124, i64 80 @@ -18306,7 +18306,7 @@ _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPcSt6vectorIcSaIcEEEES6_ET0_T_S8_S7_.ex %135 = getelementptr inbounds nuw i8, ptr %134, i64 24 store i64 %29, ptr %135, align 8, !noalias !510 %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx.i129 = getelementptr inbounds nuw i8, ptr %134, i64 32 - store i64 0, ptr %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx.i129, align 8, !tbaa !26, !noalias !510 + store i64 0, ptr %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx.i129, align 8, !noalias !510 %136 = getelementptr inbounds nuw i8, ptr %134, i64 40 store ptr @"_ZNSt17_Function_handlerIFvSt6vectorIcSaIcEEEZZN13cmSystemTools11WaitForLineEP9uv_loop_sP11uv_stream_sS8_RNSt7__cxx1112basic_stringIcSt11char_traitsIcES1_EENSt6chrono8durationIdSt5ratioILl1ELl1EEEERS2_SK_ENK3$_0clES8_RZNS4_11WaitForLineES6_S8_S8_SE_SJ_SK_SK_E8ReadDataEUlS2_E_E10_M_managerERSt9_Any_dataRKSQ_St18_Manager_operation", ptr %136, align 8, !tbaa !63, !noalias !510 %137 = getelementptr inbounds nuw i8, ptr %134, i64 48 @@ -18314,7 +18314,7 @@ _ZSt4moveIN9__gnu_cxx17__normal_iteratorIPcSt6vectorIcSaIcEEEES6_ET0_T_S8_S7_.ex %138 = getelementptr inbounds nuw i8, ptr %134, i64 56 store i64 %29, ptr %138, align 8, !noalias !510 %.sroa.0.i.i.i5.i.sroa.4.0..sroa_idx.i130 = getelementptr inbounds nuw i8, ptr %134, i64 64 - store i64 0, ptr %.sroa.0.i.i.i5.i.sroa.4.0..sroa_idx.i130, align 8, !tbaa !26, !noalias !510 + store i64 0, ptr %.sroa.0.i.i.i5.i.sroa.4.0..sroa_idx.i130, align 8, !noalias !510 %139 = getelementptr inbounds nuw i8, ptr %134, i64 72 store ptr @"_ZNSt17_Function_handlerIFvvEZZN13cmSystemTools11WaitForLineEP9uv_loop_sP11uv_stream_sS5_RNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENSt6chrono8durationIdSt5ratioILl1ELl1EEEERSt6vectorIcSA_ESK_ENK3$_0clES5_RZNS1_11WaitForLineES3_S5_S5_SC_SH_SK_SK_E8ReadDataEUlvE_E10_M_managerERSt9_Any_dataRKSQ_St18_Manager_operation", ptr %139, align 8, !tbaa !63, !noalias !510 %140 = getelementptr inbounds nuw i8, ptr %134, i64 80 diff --git a/bench/fish-rs/optimized/13v7qjk9d4erkgv5w97enxlzt.ll b/bench/fish-rs/optimized/13v7qjk9d4erkgv5w97enxlzt.ll index 1aad4b79a21..334c7144bd5 100644 --- a/bench/fish-rs/optimized/13v7qjk9d4erkgv5w97enxlzt.ll +++ b/bench/fish-rs/optimized/13v7qjk9d4erkgv5w97enxlzt.ll @@ -40750,7 +40750,7 @@ _ZN4fish4proc7Process15get_wait_handle17h17bdbc635f4f0a68E.exit: ; preds = %46, } ; Function Attrs: nonlazybind uwtable -define void @_ZN4fish4proc3Job3new17h6109bc2e2519bbb6E(ptr dead_on_unwind noalias noundef writable writeonly sret([88 x i8]) align 8 captures(none) dereferenceable(88) initializes((0, 83)) %0, i24 %1, ptr noalias noundef readonly align 8 captures(none) dereferenceable(24) %2) unnamed_addr #1 { +define void @_ZN4fish4proc3Job3new17h6109bc2e2519bbb6E(ptr dead_on_unwind noalias noundef writable writeonly sret([88 x i8]) align 8 captures(none) dereferenceable(88) initializes((0, 77), (80, 83)) %0, i24 %1, ptr noalias noundef readonly align 8 captures(none) dereferenceable(24) %2) unnamed_addr #1 { %4 = alloca [88 x i8], align 8 %5 = atomicrmw add ptr @_ZN4fish4proc3Job3new20NEXT_INTERNAL_JOB_ID17hb031edae22ba0f4bE, i64 1 monotonic, align 8 call void @llvm.lifetime.start.p0(i64 88, ptr nonnull %4) @@ -40769,7 +40769,6 @@ define void @_ZN4fish4proc3Job3new17h6109bc2e2519bbb6E(ptr dead_on_unwind noalia call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.sroa.515.0..sroa_idx, i8 0, i64 16, i1 false) store ptr inttoptr (i64 8 to ptr), ptr %.sroa.45.0..sroa_idx, align 8 %.sroa.56.0..sroa_idx = getelementptr inbounds nuw i8, ptr %4, i64 40 - %8 = getelementptr inbounds nuw i8, ptr %4, i64 64 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(37) %.sroa.56.0..sroa_idx, i8 0, i64 37, i1 false) %9 = getelementptr inbounds nuw i8, ptr %0, i64 80 store i24 %1, ptr %9, align 8 @@ -40781,7 +40780,7 @@ define void @_ZN4fish4proc3Job3new17h6109bc2e2519bbb6E(ptr dead_on_unwind noalia %12 = getelementptr inbounds nuw i8, ptr %0, i64 56 store i64 %5, ptr %12, align 8 %13 = getelementptr inbounds nuw i8, ptr %0, i64 64 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %13, ptr noundef nonnull align 8 dereferenceable(16) %8, i64 16, i1 false) + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(13) %13, i8 0, i64 13, i1 false) call void @"_ZN4core3ptr55drop_in_place$LT$widestring..utfstring..Utf32String$GT$17ha7bfb33de0f2dd54E"(ptr noalias noundef nonnull align 8 dereferenceable(24) %4) call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %4) ret void diff --git a/bench/lean4/optimized/ir_interpreter.ll b/bench/lean4/optimized/ir_interpreter.ll index 8b133fa467b..9a27ce13cdf 100644 --- a/bench/lean4/optimized/ir_interpreter.ll +++ b/bench/lean4/optimized/ir_interpreter.ll @@ -6986,14 +6986,13 @@ define linkonce_odr hidden noundef ptr @_ZNK4lean6rb_mapINS_4nameENS_2ir11interp %16 = getelementptr inbounds nuw i8, ptr %3, i64 8 store ptr inttoptr (i64 1 to ptr), ptr %16, align 8, !tbaa !6, !alias.scope !186 %17 = getelementptr inbounds nuw i8, ptr %3, i64 16 - %18 = getelementptr inbounds nuw i8, ptr %4, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %17, ptr noundef nonnull align 8 dereferenceable(16) %18, i64 16, i1 false), !tbaa.struct !163 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %17, i8 0, i64 16, i1 false) %.01127.i = load ptr, ptr %0, align 8, !tbaa !187 %.not28.i = icmp eq ptr %.01127.i, null br i1 %.not28.i, label %_ZNK4lean7rb_treeISt4pairINS_4nameENS_2ir11interpreter18symbol_cache_entryEENS_6rb_mapIS2_S5_NS_14name_quick_cmpEE9entry_cmpEE4findERKS6_.exit, label %.lr.ph.i .lr.ph.i: ; preds = %15, %41 - %.01129.i = phi ptr [ %.011.i, %41 ], [ %.01127.i, %15 ] + %.01129.i = phi ptr [ %.011.i, %40 ], [ %.01127.i, %15 ] %19 = getelementptr inbounds nuw i8, ptr %.01129.i, i64 16 %20 = load ptr, ptr %3, align 8, !tbaa !6 %21 = load ptr, ptr %19, align 8, !tbaa !6 @@ -7013,7 +7012,7 @@ define linkonce_odr hidden noundef ptr @_ZNK4lean6rb_mapINS_4nameENS_2ir11interp br label %_ZNK4lean4name4hashEv.exit.i.i.i.i.i _ZNK4lean4name4hashEv.exit.i.i.i.i.i: ; preds = %26, %23 - %.0.i.i.i.i.i.i.i.i = phi i32 [ %28, %26 ], [ 1723, %23 ] + %.0.i.i.i.i.i.i.i.i = phi i32 [ %28, %25 ], [ 1723, %22 ] %29 = ptrtoint ptr %21 to i64 %30 = and i64 %29, 1 %.not.i.i.i14.i.i.i.i.i = icmp eq i64 %30, 0 @@ -7026,7 +7025,7 @@ _ZNK4lean4name4hashEv.exit.i.i.i.i.i: ; preds = %26, %23 br label %_ZNK4lean4name4hashEv.exit17.i.i.i.i.i _ZNK4lean4name4hashEv.exit17.i.i.i.i.i: ; preds = %31, %_ZNK4lean4name4hashEv.exit.i.i.i.i.i - %.0.i.i.i15.i.i.i.i.i = phi i32 [ %33, %31 ], [ 1723, %_ZNK4lean4name4hashEv.exit.i.i.i.i.i ] + %.0.i.i.i15.i.i.i.i.i = phi i32 [ %33, %30 ], [ 1723, %_ZNK4lean4name4hashEv.exit.i.i.i.i.i ] %.not.i.i.i.i.i = icmp eq i32 %.0.i.i.i.i.i.i.i.i, %.0.i.i.i15.i.i.i.i.i br i1 %.not.i.i.i.i.i, label %36, label %_ZNK4lean7rb_treeISt4pairINS_4nameENS_2ir11interpreter18symbol_cache_entryEENS_6rb_mapIS2_S5_NS_14name_quick_cmpEE9entry_cmpEE3cmpERKS6_SD_.exit.thread19.i @@ -7063,7 +7062,7 @@ _ZNK4lean7rb_treeISt4pairINS_4nameENS_2ir11interpreter18symbol_cache_entryEENS_6 br i1 %.not.i, label %_ZNK4lean7rb_treeISt4pairINS_4nameENS_2ir11interpreter18symbol_cache_entryEENS_6rb_mapIS2_S5_NS_14name_quick_cmpEE9entry_cmpEE4findERKS6_.exit.loopexit, label %.lr.ph.i _ZNK4lean7rb_treeISt4pairINS_4nameENS_2ir11interpreter18symbol_cache_entryEENS_6rb_mapIS2_S5_NS_14name_quick_cmpEE9entry_cmpEE4findERKS6_.exit.loopexit: ; preds = %.lr.ph.i, %.noexc7, %.noexc8, %41 - %.2.i.ph = phi ptr [ %19, %.noexc7 ], [ %19, %.lr.ph.i ], [ %19, %.noexc8 ], [ null, %41 ] + %.2.i.ph = phi ptr [ %19, %.noexc7 ], [ %19, %.lr.ph.i ], [ %19, %.noexc8 ], [ null, %40 ] %.pre = load ptr, ptr %16, align 8, !tbaa !6 br label %_ZNK4lean7rb_treeISt4pairINS_4nameENS_2ir11interpreter18symbol_cache_entryEENS_6rb_mapIS2_S5_NS_14name_quick_cmpEE9entry_cmpEE4findERKS6_.exit @@ -7184,7 +7183,7 @@ _ZN4lean2ir11interpreter18symbol_cache_entryD2Ev.exit: ; preds = %_ZNSt4pairIN4l br label %.body .body: ; preds = %84, %86 - %.pn = phi { ptr, i32 } [ %87, %86 ], [ %85, %84 ] + %.pn = phi { ptr, i32 } [ %87, %85 ], [ %85, %83 ] call void @_ZN4lean2ir11interpreter18symbol_cache_entryD2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #24 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #24 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #24 diff --git a/bench/linux/optimized/drm_modes.ll b/bench/linux/optimized/drm_modes.ll index 97cf0efa2d2..f030491d056 100644 --- a/bench/linux/optimized/drm_modes.ll +++ b/bench/linux/optimized/drm_modes.ll @@ -1243,15 +1243,11 @@ define dso_local void @drm_mode_get_hv_timing(ptr noundef readonly captures(none declare void @llvm.memset.p0.i64(ptr writeonly captures(none), i8, i64, i1 immarg) #7 ; Function Attrs: fn_ret_thunk_extern mustprogress nofree norecurse nosync nounwind null_pointer_is_valid willreturn memory(argmem: readwrite) -define dso_local void @drm_mode_init(ptr noundef captures(none) initializes((0, 120)) %0, ptr noundef readonly captures(none) %1) #6 align 16 { - %3 = alloca %struct.list_head, align 8 +define dso_local void @drm_mode_init(ptr noundef writeonly captures(none) initializes((0, 120)) %0, ptr noundef readonly captures(none) %1) #6 align 16 { tail call void @llvm.memset.p0.i64(ptr noundef align 8 dereferenceable(120) %0, i8 0, i64 120, i1 false) - call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %3) - %4 = getelementptr inbounds nuw i8, ptr %0, i64 64 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3, ptr noundef nonnull align 8 dereferenceable(16) %4, i64 16, i1 false) + %3 = getelementptr inbounds nuw i8, ptr %0, i64 64 tail call void @llvm.memcpy.p0.p0.i64(ptr noundef align 8 dereferenceable(120) %0, ptr noundef align 8 dereferenceable(120) %1, i64 120, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(16) %3, i64 16, i1 false) - call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %3) + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3, i8 0, i64 16, i1 false) ret void } diff --git a/bench/llvm/optimized/Attributor.ll b/bench/llvm/optimized/Attributor.ll index c91c9c8e73c..e8d374280a3 100644 --- a/bench/llvm/optimized/Attributor.ll +++ b/bench/llvm/optimized/Attributor.ll @@ -32309,7 +32309,7 @@ _ZNSt8functionIFbRN4llvm10AttributorERKNS0_17AbstractAttributeERNS0_8CallBaseERN %35 = ptrtoint ptr %9 to i64 store i64 %35, ptr %34, align 8 %.sroa.0.i.i.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %8, i64 48 - store i64 0, ptr %.sroa.0.i.i.i.sroa.4.0..sroa_idx, align 8, !tbaa !13 + store i64 0, ptr %.sroa.0.i.i.i.sroa.4.0..sroa_idx, align 8 store ptr @"_ZNSt17_Function_handlerIFbRN4llvm10AttributorERKNS0_17AbstractAttributeERNS0_8CallBaseERNS0_8FunctionEjEZL24runAttributorOnFunctionsRNS0_16InformationCacheERNS0_9SetVectorIPS8_NS0_11SmallVectorISE_Lj0EEENS0_8DenseSetISE_NS0_12DenseMapInfoISE_vEEEELj0EEERNS0_14AnalysisGetterERNS0_16CallGraphUpdaterEbbE3$_0E10_M_managerERSt9_Any_dataRKST_St18_Manager_operation", ptr %27, align 8, !tbaa !378 %36 = getelementptr inbounds nuw i8, ptr %8, i64 64 store ptr @"_ZNSt17_Function_handlerIFbRN4llvm10AttributorERKNS0_17AbstractAttributeERNS0_8CallBaseERNS0_8FunctionEjEZL24runAttributorOnFunctionsRNS0_16InformationCacheERNS0_9SetVectorIPS8_NS0_11SmallVectorISE_Lj0EEENS0_8DenseSetISE_NS0_12DenseMapInfoISE_vEEEELj0EEERNS0_14AnalysisGetterERNS0_16CallGraphUpdaterEbbE3$_0E9_M_invokeERKSt9_Any_dataS2_S5_S7_S9_Oj", ptr %36, align 8, !tbaa !378 diff --git a/bench/llvm/optimized/BitcodeReader.ll b/bench/llvm/optimized/BitcodeReader.ll index 23a77de5972..a224950056e 100644 --- a/bench/llvm/optimized/BitcodeReader.ll +++ b/bench/llvm/optimized/BitcodeReader.ll @@ -4942,14 +4942,14 @@ _ZN4llvm15ParserCallbacksC2ERKS0_.exit: ; preds = %_ZNSt8optionalISt8f store i64 %233, ptr %8, align 8, !noalias !570 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %8, i64 8 store i64 0, ptr %.sroa.4.0..sroa_idx, align 8, !noalias !570 - %408 = getelementptr inbounds nuw i8, ptr %8, i64 32 - %409 = getelementptr inbounds nuw i8, ptr %8, i64 16 - store ptr @"_ZNSt17_Function_handlerIFPN4llvm4TypeEjEZN12_GLOBAL__N_113BitcodeReader16parseBitcodeIntoEPNS0_6ModuleEbbNS0_15ParserCallbacksEE3$_0E10_M_managerERSt9_Any_dataRKSB_St18_Manager_operation", ptr %409, align 8, !tbaa !110, !noalias !570 - %410 = getelementptr inbounds nuw i8, ptr %8, i64 24 - store ptr @"_ZNSt17_Function_handlerIFPN4llvm4TypeEjEZN12_GLOBAL__N_113BitcodeReader16parseBitcodeIntoEPNS0_6ModuleEbbNS0_15ParserCallbacksEE3$_0E9_M_invokeERKSt9_Any_dataOj", ptr %410, align 8, !tbaa !110, !noalias !570 - store i64 %233, ptr %408, align 8, !noalias !570 + %408 = getelementptr inbounds nuw i8, ptr %8, i64 16 + store ptr @"_ZNSt17_Function_handlerIFPN4llvm4TypeEjEZN12_GLOBAL__N_113BitcodeReader16parseBitcodeIntoEPNS0_6ModuleEbbNS0_15ParserCallbacksEE3$_0E10_M_managerERSt9_Any_dataRKSB_St18_Manager_operation", ptr %408, align 8, !tbaa !110, !noalias !570 + %409 = getelementptr inbounds nuw i8, ptr %8, i64 24 + store ptr @"_ZNSt17_Function_handlerIFPN4llvm4TypeEjEZN12_GLOBAL__N_113BitcodeReader16parseBitcodeIntoEPNS0_6ModuleEbbNS0_15ParserCallbacksEE3$_0E9_M_invokeERKSt9_Any_dataOj", ptr %409, align 8, !tbaa !110, !noalias !570 + %410 = getelementptr inbounds nuw i8, ptr %8, i64 32 + store i64 %233, ptr %410, align 8, !noalias !570 %.sroa.0.i.i.i5.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %8, i64 40 - store i64 0, ptr %.sroa.0.i.i.i5.i.sroa.4.0..sroa_idx, align 8, !tbaa !84, !noalias !570 + store i64 0, ptr %.sroa.0.i.i.i5.i.sroa.4.0..sroa_idx, align 8, !noalias !570 %411 = getelementptr inbounds nuw i8, ptr %8, i64 48 store ptr @"_ZNSt17_Function_handlerIFjjjEZN12_GLOBAL__N_113BitcodeReader16parseBitcodeIntoEPN4llvm6ModuleEbbNS3_15ParserCallbacksEE3$_1E10_M_managerERSt9_Any_dataRKS9_St18_Manager_operation", ptr %411, align 8, !tbaa !110, !noalias !570 %412 = getelementptr inbounds nuw i8, ptr %8, i64 56 @@ -4977,7 +4977,7 @@ _ZNSt8optionalISt8functionIFvPPN4llvm8MetadataEjS0_IFPNS1_4TypeEjEES0_IFjjjEEEEE store ptr %421, ptr %417, align 8, !tbaa !567, !noalias !570 %422 = load ptr, ptr %415, align 8, !tbaa !43, !noalias !570 store ptr %422, ptr %418, align 8, !tbaa !43, !noalias !570 - %.pre19.pre.i = load ptr, ptr %409, align 8, !tbaa !43, !noalias !570 + %.pre19.pre.i = load ptr, ptr %408, align 8, !tbaa !43, !noalias !570 store i8 1, ptr %407, align 8, !tbaa !565, !noalias !570 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #31, !noalias !570 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %10, i8 0, i64 32, i1 false), !noalias !570 @@ -4994,9 +4994,9 @@ _ZNSt8optionalISt8functionIFvPPN4llvm8MetadataEjS0_IFPNS1_4TypeEjEES0_IFjjjEEEEE %425 = getelementptr inbounds nuw i8, ptr %10, i64 24 %426 = getelementptr inbounds nuw i8, ptr %10, i64 16 %427 = call noundef zeroext i1 %424(ptr noundef nonnull align 8 dereferenceable(104) %10, ptr noundef nonnull align 8 dereferenceable(104) %8, i32 noundef 2) #31, !noalias !570 - %428 = load ptr, ptr %410, align 8, !tbaa !573, !noalias !570 + %428 = load ptr, ptr %409, align 8, !tbaa !573, !noalias !570 store ptr %428, ptr %425, align 8, !tbaa !573, !noalias !570 - %429 = load ptr, ptr %409, align 8, !tbaa !43, !noalias !570 + %429 = load ptr, ptr %408, align 8, !tbaa !43, !noalias !570 store ptr %429, ptr %426, align 8, !tbaa !43, !noalias !570 br label %_ZNSt8functionIFPN4llvm4TypeEjEEC2ERKS4_.exit.i.i @@ -5010,7 +5010,7 @@ _ZNSt8functionIFPN4llvm4TypeEjEEC2ERKS4_.exit.i.i: ; preds = %423, %_ZNSt8option 432: ; preds = %_ZNSt8functionIFPN4llvm4TypeEjEEC2ERKS4_.exit.i.i %433 = getelementptr inbounds nuw i8, ptr %10, i64 56 %434 = getelementptr inbounds nuw i8, ptr %10, i64 48 - %435 = call noundef zeroext i1 %431(ptr noundef nonnull align 8 dereferenceable(32) %430, ptr noundef nonnull align 8 dereferenceable(32) %408, i32 noundef 2) #31, !noalias !570 + %435 = call noundef zeroext i1 %431(ptr noundef nonnull align 8 dereferenceable(32) %430, ptr noundef nonnull align 8 dereferenceable(32) %410, i32 noundef 2) #31, !noalias !570 %436 = load ptr, ptr %412, align 8, !tbaa !575, !noalias !570 store ptr %436, ptr %433, align 8, !tbaa !575, !noalias !570 %437 = load ptr, ptr %411, align 8, !tbaa !43, !noalias !570 @@ -5261,11 +5261,11 @@ _ZNSt14_Optional_baseISt8functionIFvPPN4llvm8MetadataEjS0_IFPNS1_4TypeEjEES0_IFj br i1 %.not.i.i13.i, label %_ZNSt14_Function_baseD2Ev.exit.i14.i, label %543 543: ; preds = %_ZNSt14_Optional_baseISt8functionIFvPPN4llvm8MetadataEjS0_IFPNS1_4TypeEjEES0_IFjjjEEEELb0ELb0EED2Ev.exit.i12.i - %544 = call noundef zeroext i1 %542(ptr noundef nonnull align 8 dereferenceable(32) %408, ptr noundef nonnull align 8 dereferenceable(32) %408, i32 noundef 3) #31 + %544 = call noundef zeroext i1 %542(ptr noundef nonnull align 8 dereferenceable(32) %410, ptr noundef nonnull align 8 dereferenceable(32) %410, i32 noundef 3) #31 br label %_ZNSt14_Function_baseD2Ev.exit.i14.i _ZNSt14_Function_baseD2Ev.exit.i14.i: ; preds = %543, %_ZNSt14_Optional_baseISt8functionIFvPPN4llvm8MetadataEjS0_IFPNS1_4TypeEjEES0_IFjjjEEEELb0ELb0EED2Ev.exit.i12.i - %545 = load ptr, ptr %409, align 8, !tbaa !43, !noalias !570 + %545 = load ptr, ptr %408, align 8, !tbaa !43, !noalias !570 %.not.i1.i15.i = icmp eq ptr %545, null br i1 %.not.i1.i15.i, label %_ZN12_GLOBAL__N_113BitcodeReader16parseBitcodeIntoEPN4llvm6ModuleEbbNS1_15ParserCallbacksE.exit, label %546 diff --git a/bench/llvm/optimized/FastISel.ll b/bench/llvm/optimized/FastISel.ll index 15e75c1f93b..46210f966e7 100644 --- a/bench/llvm/optimized/FastISel.ll +++ b/bench/llvm/optimized/FastISel.ll @@ -8831,7 +8831,7 @@ define dso_local void @_ZN4llvm8FastISel13handleDbgInfoEPKNS_11InstructionE(ptr %11 = getelementptr inbounds nuw i8, ptr %0, i64 72 %12 = icmp eq ptr %4, %11 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, i8 0, i64 24, i1 false) - br i1 %12, label %_ZN4llvm10MIMetadataD2Ev.exit, label %13 + br i1 %12, label %_ZN4llvm10MIMetadataaSEOS0_.exit, label %13 13: ; preds = %10 %14 = load ptr, ptr %11, align 8, !tbaa !140 @@ -8849,10 +8849,18 @@ _ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i: ; preds = %13 %16 = call noundef zeroext i1 @_ZN4llvm16MetadataTracking7retrackEPvRNS_8MetadataES1_(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 4 dereferenceable(8) %.pre, ptr noundef nonnull align 8 dereferenceable(24) %11) #21 br label %_ZN4llvm10MIMetadataD2Ev.exit -_ZN4llvm10MIMetadataD2Ev.exit: ; preds = %10, %15, %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i, %13 +_ZN4llvm10MIMetadataD2Ev.exit: ; preds = %13, %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i, %15 %17 = getelementptr inbounds nuw i8, ptr %0, i64 80 %18 = getelementptr inbounds nuw i8, ptr %4, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %17, ptr noundef nonnull align 8 dereferenceable(16) %18, i64 16, i1 false) + br label %_ZN4llvm10MIMetadataD2Ev.exit + +_ZN4llvm10MIMetadataaSEOS0_.exit: ; preds = %10 + %19 = getelementptr inbounds nuw i8, ptr %0, i64 80 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %19, i8 0, i64 16, i1 false) + br label %_ZN4llvm10MIMetadataD2Ev.exit + +_ZN4llvm10MIMetadataD2Ev.exit: ; preds = %_ZN4llvm10MIMetadataaSEOS0_.exit, %_ZN4llvm10MIMetadataaSEOS0_.exit.thread call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #21 %19 = getelementptr inbounds nuw i8, ptr %1, i64 64 %20 = load ptr, ptr %19, align 8, !tbaa !691 @@ -8864,7 +8872,7 @@ _ZN4llvm10MIMetadataD2Ev.exit: ; preds = %10, %15, %_ZN4llvm1 br label %_ZNK4llvm11Instruction17getDbgRecordRangeEv.exit _ZNK4llvm11Instruction17getDbgRecordRangeEv.exit: ; preds = %_ZN4llvm10MIMetadataD2Ev.exit, %21 - %.pn.i.i = phi { ptr, ptr } [ %22, %21 ], [ { ptr getelementptr inbounds nuw (i8, ptr @_ZN4llvm9DbgMarker14EmptyDbgMarkerE, i64 8), ptr getelementptr inbounds nuw (i8, ptr @_ZN4llvm9DbgMarker14EmptyDbgMarkerE, i64 8) }, %_ZN4llvm10MIMetadataD2Ev.exit ] + %.pn.i.i = phi { ptr, ptr } [ %22, %22 ], [ { ptr getelementptr inbounds nuw (i8, ptr @_ZN4llvm9DbgMarker14EmptyDbgMarkerE, i64 8), ptr getelementptr inbounds nuw (i8, ptr @_ZN4llvm9DbgMarker14EmptyDbgMarkerE, i64 8) }, %_ZN4llvm10MIMetadataD2Ev.exit ] %23 = extractvalue { ptr, ptr } %.pn.i.i, 0 %24 = extractvalue { ptr, ptr } %.pn.i.i, 1 %.not5457 = icmp eq ptr %24, %23 @@ -8922,7 +8930,7 @@ _ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1E br i1 %.not3.i.i.i.i, label %_ZN4llvm26MachineInstrBundleIteratorINS_12MachineInstrELb0EEppEv.exit.i, label %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.i.i.i.i, !llvm.loop !113 _ZN4llvm26MachineInstrBundleIteratorINS_12MachineInstrELb0EEppEv.exit.i: ; preds = %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.i.i.i.i, %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.preheader.i.i.i.i, %35 - %.sroa.0.0.i.i.i.i = phi ptr [ %40, %35 ], [ %40, %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.preheader.i.i.i.i ], [ %49, %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.i.i.i.i ] + %.sroa.0.0.i.i.i.i = phi ptr [ %40, %36 ], [ %40, %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.preheader.i.i.i.i ], [ %49, %_ZNK4llvm14ilist_iteratorINS_12ilist_detail12node_optionsINS_12MachineInstrELb1ELb1EvLb0EvEELb0ELb0EE5isEndEv.exit.i.i.i.i ] %53 = getelementptr inbounds nuw i8, ptr %.sroa.0.0.i.i.i.i, i64 8 %54 = load ptr, ptr %53, align 8, !tbaa !108 store ptr %54, ptr %39, align 8 @@ -8971,7 +8979,7 @@ _ZNK4llvm9DbgRecord11getDebugLocEv.exit: ; preds = %64 br label %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.sink.split _ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit.sink.split: ; preds = %64, %72 - %.sink = phi ptr [ %6, %72 ], [ %5, %64 ] + %.sink = phi ptr [ %6, %73 ], [ %5, %65 ] store ptr null, ptr %.sink, align 8, !tbaa !140 br label %_ZN4llvm10MIMetadataC2ENS_8DebugLocEPNS_6MDNodeES3_.exit @@ -9025,7 +9033,7 @@ _ZN4llvm8DebugLocD2Ev.exit: ; preds = %_ZN4llvm10MIMetadat br label %93 93: ; preds = %91, %.critedge - %.026 = phi ptr [ null, %.critedge ], [ %92, %91 ] + %.026 = phi ptr [ null, %.critedge ], [ %92, %92 ] %94 = getelementptr inbounds nuw i8, ptr %32, i64 64 %95 = load i8, ptr %94, align 8, !tbaa !705 %.off = add i8 %95, -1 @@ -9053,7 +9061,7 @@ _ZNK4llvm9DbgRecord11getDebugLocEv.exit36: ; preds = %96, %103 %105 = load ptr, ptr %0, align 8, !tbaa !152 %106 = getelementptr inbounds nuw i8, ptr %105, i64 128 %107 = load ptr, ptr %106, align 8 - %108 = call noundef zeroext i1 %107(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef %.026, ptr noundef %98, ptr noundef %100, ptr noundef nonnull align 8 dereferenceable(8) %7) #21 + %108 = call noundef zeroext i1 %108(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef %.026, ptr noundef %98, ptr noundef %100, ptr noundef nonnull align 8 dereferenceable(8) %7) #21 %109 = load ptr, ptr %7, align 8, !tbaa !140 %.not.i.i.i.i37 = icmp eq ptr %109, null br i1 %.not.i.i.i.i37, label %_ZN4llvm8DebugLocD2Ev.exit38, label %110 @@ -9089,7 +9097,7 @@ _ZN4llvm8DebugLocD2Ev.exit38: ; preds = %_ZNK4llvm9DbgRecord br i1 %.not.not.i.i, label %_ZNK4llvm15SmallPtrSetImplIPKNS_17DbgVariableRecordEE8containsES3_.exit.thread, label %.lr.ph.i.i, !llvm.loop !682 .lr.ph.i.i: ; preds = %117, %123 - %.0810.i.i = phi ptr [ %124, %123 ], [ %118, %117 ] + %.0810.i.i = phi ptr [ %124, %124 ], [ %118, %118 ] %125 = load ptr, ptr %.0810.i.i, align 8, !tbaa !683 %126 = icmp eq ptr %125, %32 br i1 %126, label %_ZNK4llvm15SmallPtrSetImplIPKNS_17DbgVariableRecordEE8containsES3_.exit.thread52, label %123 @@ -9120,7 +9128,7 @@ _ZNK4llvm9DbgRecord11getDebugLocEv.exit40: ; preds = %_ZNK4llvm15SmallPtr %136 = load ptr, ptr %0, align 8, !tbaa !152 %137 = getelementptr inbounds nuw i8, ptr %136, i64 136 %138 = load ptr, ptr %137, align 8 - %139 = call noundef zeroext i1 %138(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef %.026, ptr noundef %129, ptr noundef %131, ptr noundef nonnull align 8 dereferenceable(8) %8) #21 + %139 = call noundef zeroext i1 %139(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef %.026, ptr noundef %129, ptr noundef %131, ptr noundef nonnull align 8 dereferenceable(8) %8) #21 %140 = load ptr, ptr %8, align 8, !tbaa !140 %.not.i.i.i.i41 = icmp eq ptr %140, null br i1 %.not.i.i.i.i41, label %_ZN4llvm8DebugLocD2Ev.exit42, label %141 @@ -10615,27 +10623,31 @@ _ZNK4llvm8CallBase9hasFnAttrENS_9StringRefE.exit: ; preds = %135 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #21 %149 = icmp eq ptr %5, %81 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, i8 0, i64 24, i1 false) - br i1 %149, label %_ZN4llvm10MIMetadataD2Ev.exit71, label %150 + br i1 %149, label %_ZN4llvm10MIMetadataaSEOS0_.exit69, label %150 150: ; preds = %148 %151 = load ptr, ptr %81, align 8, !tbaa !140 %.not.i.i.i.i.i66 = icmp eq ptr %151, null - br i1 %.not.i.i.i.i.i66, label %_ZN4llvm10MIMetadataD2Ev.exit71, label %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i67 + br i1 %.not.i.i.i.i.i66, label %_ZN4llvm10MIMetadataaSEOS0_.exit69, label %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i67 _ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i67: ; preds = %150 call void @_ZN4llvm16MetadataTracking7untrackEPvRNS_8MetadataE(ptr noundef nonnull align 8 dereferenceable(24) %81, ptr noundef nonnull align 4 dereferenceable(8) %151) #21 %.pr129 = load ptr, ptr %5, align 8, !tbaa !140 store ptr %.pr129, ptr %81, align 8, !tbaa !140 %.not.i6.i.i.i.i68 = icmp eq ptr %.pr129, null - br i1 %.not.i6.i.i.i.i68, label %_ZN4llvm10MIMetadataD2Ev.exit71, label %_ZN4llvm10MIMetadataaSEOS0_.exit69.thread + br i1 %.not.i6.i.i.i.i68, label %_ZN4llvm10MIMetadataaSEOS0_.exit69, label %_ZN4llvm10MIMetadataaSEOS0_.exit69.thread _ZN4llvm10MIMetadataaSEOS0_.exit69.thread: ; preds = %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i67 %152 = call noundef zeroext i1 @_ZN4llvm16MetadataTracking7retrackEPvRNS_8MetadataES1_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 4 dereferenceable(8) %.pr129, ptr noundef nonnull align 8 dereferenceable(24) %81) #21 - br label %_ZN4llvm10MIMetadataD2Ev.exit71 - -_ZN4llvm10MIMetadataD2Ev.exit71: ; preds = %148, %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i67, %150, %_ZN4llvm10MIMetadataaSEOS0_.exit69.thread %153 = getelementptr inbounds nuw i8, ptr %5, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %92, ptr noundef nonnull align 8 dereferenceable(16) %153, i64 16, i1 false) + br label %_ZN4llvm10MIMetadataD2Ev.exit71 + +_ZN4llvm10MIMetadataaSEOS0_.exit69: ; preds = %150, %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i67, %148 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %92, i8 0, i64 16, i1 false) + br label %_ZN4llvm10MIMetadataD2Ev.exit71 + +_ZN4llvm10MIMetadataD2Ev.exit71: ; preds = %_ZN4llvm10MIMetadataaSEOS0_.exit69, %_ZN4llvm10MIMetadataaSEOS0_.exit69.thread call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #21 br label %_ZN4llvm8FastISel24removeDeadLocalValueCodeEPNS_12MachineInstrE.exit @@ -10726,27 +10738,31 @@ _ZN4llvm8FastISel17recomputeInsertPtEv.exit: ; preds = %_ZN4llvm26MachineIn call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #21 %197 = icmp eq ptr %6, %81 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6, i8 0, i64 24, i1 false) - br i1 %197, label %_ZN4llvm10MIMetadataD2Ev.exit87, label %198 + br i1 %197, label %_ZN4llvm10MIMetadataaSEOS0_.exit85, label %198 198: ; preds = %196 %199 = load ptr, ptr %81, align 8, !tbaa !140 %.not.i.i.i.i.i82 = icmp eq ptr %199, null - br i1 %.not.i.i.i.i.i82, label %_ZN4llvm10MIMetadataD2Ev.exit87, label %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i83 + br i1 %.not.i.i.i.i.i82, label %_ZN4llvm10MIMetadataaSEOS0_.exit85, label %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i83 _ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i83: ; preds = %198 call void @_ZN4llvm16MetadataTracking7untrackEPvRNS_8MetadataE(ptr noundef nonnull align 8 dereferenceable(24) %81, ptr noundef nonnull align 4 dereferenceable(8) %199) #21 %.pr132 = load ptr, ptr %6, align 8, !tbaa !140 store ptr %.pr132, ptr %81, align 8, !tbaa !140 %.not.i6.i.i.i.i84 = icmp eq ptr %.pr132, null - br i1 %.not.i6.i.i.i.i84, label %_ZN4llvm10MIMetadataD2Ev.exit87, label %_ZN4llvm10MIMetadataaSEOS0_.exit85.thread + br i1 %.not.i6.i.i.i.i84, label %_ZN4llvm10MIMetadataaSEOS0_.exit85, label %_ZN4llvm10MIMetadataaSEOS0_.exit85.thread _ZN4llvm10MIMetadataaSEOS0_.exit85.thread: ; preds = %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i83 %200 = call noundef zeroext i1 @_ZN4llvm16MetadataTracking7retrackEPvRNS_8MetadataES1_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 4 dereferenceable(8) %.pr132, ptr noundef nonnull align 8 dereferenceable(24) %81) #21 - br label %_ZN4llvm10MIMetadataD2Ev.exit87 - -_ZN4llvm10MIMetadataD2Ev.exit87: ; preds = %196, %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i83, %198, %_ZN4llvm10MIMetadataaSEOS0_.exit85.thread %201 = getelementptr inbounds nuw i8, ptr %6, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %92, ptr noundef nonnull align 8 dereferenceable(16) %201, i64 16, i1 false) + br label %_ZN4llvm10MIMetadataD2Ev.exit87 + +_ZN4llvm10MIMetadataaSEOS0_.exit85: ; preds = %198, %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i83, %196 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %92, i8 0, i64 16, i1 false) + br label %_ZN4llvm10MIMetadataD2Ev.exit87 + +_ZN4llvm10MIMetadataD2Ev.exit87: ; preds = %_ZN4llvm10MIMetadataaSEOS0_.exit85, %_ZN4llvm10MIMetadataaSEOS0_.exit85.thread call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #21 br label %_ZN4llvm8FastISel24removeDeadLocalValueCodeEPNS_12MachineInstrE.exit @@ -10821,27 +10837,31 @@ _ZN4llvm8FastISel17recomputeInsertPtEv.exit98: ; preds = %_ZN4llvm26MachineIn call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #21 %237 = icmp eq ptr %7, %81 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, i8 0, i64 24, i1 false) - br i1 %237, label %_ZN4llvm10MIMetadataD2Ev.exit104, label %238 + br i1 %237, label %_ZN4llvm10MIMetadataaSEOS0_.exit102, label %238 238: ; preds = %236 %239 = load ptr, ptr %81, align 8, !tbaa !140 %.not.i.i.i.i.i99 = icmp eq ptr %239, null - br i1 %.not.i.i.i.i.i99, label %_ZN4llvm10MIMetadataD2Ev.exit104, label %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i100 + br i1 %.not.i.i.i.i.i99, label %_ZN4llvm10MIMetadataaSEOS0_.exit102, label %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i100 _ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i100: ; preds = %238 call void @_ZN4llvm16MetadataTracking7untrackEPvRNS_8MetadataE(ptr noundef nonnull align 8 dereferenceable(24) %81, ptr noundef nonnull align 4 dereferenceable(8) %239) #21 %.pr135 = load ptr, ptr %7, align 8, !tbaa !140 store ptr %.pr135, ptr %81, align 8, !tbaa !140 %.not.i6.i.i.i.i101 = icmp eq ptr %.pr135, null - br i1 %.not.i6.i.i.i.i101, label %_ZN4llvm10MIMetadataD2Ev.exit104, label %_ZN4llvm10MIMetadataaSEOS0_.exit102.thread + br i1 %.not.i6.i.i.i.i101, label %_ZN4llvm10MIMetadataaSEOS0_.exit102, label %_ZN4llvm10MIMetadataaSEOS0_.exit102.thread _ZN4llvm10MIMetadataaSEOS0_.exit102.thread: ; preds = %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i100 %240 = call noundef zeroext i1 @_ZN4llvm16MetadataTracking7retrackEPvRNS_8MetadataES1_(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 4 dereferenceable(8) %.pr135, ptr noundef nonnull align 8 dereferenceable(24) %81) #21 - br label %_ZN4llvm10MIMetadataD2Ev.exit104 - -_ZN4llvm10MIMetadataD2Ev.exit104: ; preds = %236, %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i100, %238, %_ZN4llvm10MIMetadataaSEOS0_.exit102.thread %241 = getelementptr inbounds nuw i8, ptr %7, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %92, ptr noundef nonnull align 8 dereferenceable(16) %241, i64 16, i1 false) + br label %_ZN4llvm10MIMetadataD2Ev.exit104 + +_ZN4llvm10MIMetadataaSEOS0_.exit102: ; preds = %238, %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i100, %236 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %92, i8 0, i64 16, i1 false) + br label %_ZN4llvm10MIMetadataD2Ev.exit104 + +_ZN4llvm10MIMetadataD2Ev.exit104: ; preds = %_ZN4llvm10MIMetadataaSEOS0_.exit102, %_ZN4llvm10MIMetadataaSEOS0_.exit102.thread call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #21 %242 = load i8, ptr %1, align 8, !tbaa !199 %243 = add i8 %242, -30 @@ -11181,7 +11201,7 @@ _ZNK4llvm7PHINode24getIncomingValueForBlockEPKNS_10BasicBlockE.exit: ; preds = % %131 = load ptr, ptr %130, align 8, !tbaa !230 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #21 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, i8 0, i64 24, i1 false) - br i1 %36, label %_ZN4llvm10MIMetadataD2Ev.exit, label %132 + br i1 %36, label %_ZN4llvm10MIMetadataaSEOS0_.exit, label %132 132: ; preds = %_ZNK4llvm7PHINode24getIncomingValueForBlockEPKNS_10BasicBlockE.exit %133 = load ptr, ptr %35, align 8, !tbaa !140 @@ -11199,8 +11219,15 @@ _ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i: ; preds = %132 %135 = call noundef zeroext i1 @_ZN4llvm16MetadataTracking7retrackEPvRNS_8MetadataES1_(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 4 dereferenceable(8) %.pre194, ptr noundef nonnull align 8 dereferenceable(24) %35) #21 br label %_ZN4llvm10MIMetadataD2Ev.exit -_ZN4llvm10MIMetadataD2Ev.exit: ; preds = %_ZNK4llvm7PHINode24getIncomingValueForBlockEPKNS_10BasicBlockE.exit, %134, %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i, %132 +_ZN4llvm10MIMetadataD2Ev.exit: ; preds = %132, %_ZN4llvm13TrackingMDRef7untrackEv.exit.i.i.i.i, %134 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %37, ptr noundef nonnull align 8 dereferenceable(16) %38, i64 16, i1 false) + br label %_ZN4llvm10MIMetadataD2Ev.exit + +_ZN4llvm10MIMetadataaSEOS0_.exit: ; preds = %_ZNK4llvm7PHINode24getIncomingValueForBlockEPKNS_10BasicBlockE.exit + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %37, i8 0, i64 16, i1 false) + br label %_ZN4llvm10MIMetadataD2Ev.exit + +_ZN4llvm10MIMetadataD2Ev.exit: ; preds = %_ZN4llvm10MIMetadataaSEOS0_.exit, %_ZN4llvm10MIMetadataaSEOS0_.exit.thread call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #21 %136 = load i8, ptr %131, align 8, !tbaa !199 %137 = icmp ult i8 %136, 29 diff --git a/bench/llvm/optimized/LoopVectorizationLegality.ll b/bench/llvm/optimized/LoopVectorizationLegality.ll index 39c142aed61..ab25a3a4fe4 100644 --- a/bench/llvm/optimized/LoopVectorizationLegality.ll +++ b/bench/llvm/optimized/LoopVectorizationLegality.ll @@ -6074,17 +6074,14 @@ _ZSt9make_pairIRKPN4llvm7PHINodeENS0_20RecurrenceDescriptorEESt4pairINSt25__stri %25 = getelementptr inbounds nuw i8, ptr %5, i64 32 %26 = getelementptr inbounds nuw i8, ptr %6, i64 24 %27 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %28 = getelementptr inbounds nuw i8, ptr %5, i64 40 - %29 = getelementptr inbounds nuw i8, ptr %6, i64 32 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %24, i8 0, i64 16, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(34) %28, ptr noundef nonnull align 8 dereferenceable(34) %29, i64 34, i1 false) - %30 = getelementptr inbounds nuw i8, ptr %5, i64 80 - %31 = getelementptr inbounds nuw i8, ptr %5, i64 104 - call void @_ZN4llvm19SmallPtrSetImplBaseC2EPPKvjS3_OS0_(ptr noundef nonnull align 8 dereferenceable(88) %30, ptr noundef nonnull %31, i32 noundef 8, ptr noundef nonnull %17, ptr noundef nonnull align 8 dereferenceable(88) %16) #20 - %32 = getelementptr inbounds nuw i8, ptr %5, i64 168 - %33 = getelementptr inbounds nuw i8, ptr %6, i64 160 - %34 = load i32, ptr %33, align 8, !tbaa !412, !noalias !470 - store i32 %34, ptr %32, align 8, !tbaa !412, !alias.scope !470 + %28 = getelementptr inbounds nuw i8, ptr %5, i64 80 + %29 = getelementptr inbounds nuw i8, ptr %5, i64 104 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(50) %24, i8 0, i64 50, i1 false) + call void @_ZN4llvm19SmallPtrSetImplBaseC2EPPKvjS3_OS0_(ptr noundef nonnull align 8 dereferenceable(88) %28, ptr noundef nonnull %29, i32 noundef 8, ptr noundef nonnull %17, ptr noundef nonnull align 8 dereferenceable(88) %16) #20 + %30 = getelementptr inbounds nuw i8, ptr %5, i64 168 + %31 = getelementptr inbounds nuw i8, ptr %6, i64 160 + %32 = load i32, ptr %31, align 8, !tbaa !412, !noalias !470 + store i32 %32, ptr %30, align 8, !tbaa !412, !alias.scope !470 call void @_ZN4llvm23SmallVectorTemplateBaseISt4pairIPNS_7PHINodeENS_20RecurrenceDescriptorEELb0EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(16) %27, ptr noundef nonnull align 8 dereferenceable(176) %5) %35 = getelementptr inbounds nuw i8, ptr %5, i64 100 %36 = load i8, ptr %35, align 4, !tbaa !32, !range !48, !noundef !49 @@ -6092,14 +6089,14 @@ _ZSt9make_pairIRKPN4llvm7PHINodeENS0_20RecurrenceDescriptorEESt4pairINSt25__stri br i1 %37, label %_ZN4llvm19SmallPtrSetImplBaseD2Ev.exit.i.i, label %38 38: ; preds = %_ZSt9make_pairIRKPN4llvm7PHINodeENS0_20RecurrenceDescriptorEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS7_INS8_IT0_E4typeEE6__typeEEOS9_OSE_.exit - %39 = load ptr, ptr %30, align 8, !tbaa !28 + %39 = load ptr, ptr %28, align 8, !tbaa !28 call void @free(ptr noundef %39) #20 br label %_ZN4llvm19SmallPtrSetImplBaseD2Ev.exit.i.i _ZN4llvm19SmallPtrSetImplBaseD2Ev.exit.i.i: ; preds = %38, %_ZSt9make_pairIRKPN4llvm7PHINodeENS0_20RecurrenceDescriptorEESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS7_INS8_IT0_E4typeEE6__typeEEOS9_OSE_.exit %40 = load ptr, ptr %25, align 8, !tbaa !346 %magicptr.i.i.i.i = ptrtoint ptr %40 to i64 - switch i64 %magicptr.i.i.i.i, label %41 [ + switch i64 %magicptr.i.i.i.i, label %39 [ i64 0, label %_ZNSt4pairIPN4llvm7PHINodeENS0_20RecurrenceDescriptorEED2Ev.exit i64 -4096, label %_ZNSt4pairIPN4llvm7PHINodeENS0_20RecurrenceDescriptorEED2Ev.exit i64 -8192, label %_ZNSt4pairIPN4llvm7PHINodeENS0_20RecurrenceDescriptorEED2Ev.exit @@ -6122,7 +6119,7 @@ _ZNSt4pairIPN4llvm7PHINodeENS0_20RecurrenceDescriptorEED2Ev.exit: ; preds = %_ZN _ZN4llvm19SmallPtrSetImplBaseD2Ev.exit.i: ; preds = %44, %_ZNSt4pairIPN4llvm7PHINodeENS0_20RecurrenceDescriptorEED2Ev.exit %46 = load ptr, ptr %26, align 8, !tbaa !346 %magicptr.i.i.i = ptrtoint ptr %46 to i64 - switch i64 %magicptr.i.i.i, label %47 [ + switch i64 %magicptr.i.i.i, label %45 [ i64 0, label %_ZN4llvm20RecurrenceDescriptorD2Ev.exit i64 -4096, label %_ZN4llvm20RecurrenceDescriptorD2Ev.exit i64 -8192, label %_ZN4llvm20RecurrenceDescriptorD2Ev.exit diff --git a/bench/llvm/optimized/NativeFunctionSymbol.ll b/bench/llvm/optimized/NativeFunctionSymbol.ll index 16a75ee9709..7572f443d98 100644 --- a/bench/llvm/optimized/NativeFunctionSymbol.ll +++ b/bench/llvm/optimized/NativeFunctionSymbol.ll @@ -795,7 +795,6 @@ declare noundef i64 @_ZNK4llvm3pdb13NativeSession19getVAFromSectOffsetEjj(ptr no ; Function Attrs: mustprogress nounwind uwtable define dso_local void @_ZNK4llvm3pdb20NativeFunctionSymbol20findInlineFramesByVAEm(ptr dead_on_unwind noalias writable writeonly sret(%"class.std::unique_ptr.46") align 8 captures(none) %0, ptr noundef nonnull align 8 dereferenceable(92) %1, i64 noundef %2) unnamed_addr #0 align 2 { %4 = alloca %"class.std::vector.13", align 8 - %.sroa.2.i38.i = alloca [39 x i8], align 1 %5 = alloca %"struct.llvm::codeview::BinaryAnnotationIterator", align 8 %6 = alloca %"class.llvm::codeview::InlineSiteSym", align 8 %7 = alloca %"class.llvm::Error", align 8 @@ -937,7 +936,6 @@ _ZN4llvm14VarStreamArrayINS_8codeview8CVRecordINS1_10SymbolKindEEENS_23VarStream %88 = getelementptr inbounds nuw i8, ptr %5, i64 32 %89 = getelementptr inbounds nuw i8, ptr %5, i64 40 %90 = getelementptr inbounds nuw i8, ptr %5, i64 36 - %.sroa.2.7..sroa_idx.i39.i = getelementptr inbounds nuw i8, ptr %.sroa.2.i38.i, i64 7 %91 = getelementptr inbounds nuw i8, ptr %16, i64 4 %.sroa.6.4..sroa_idx = getelementptr inbounds nuw i8, ptr %16, i64 8 %92 = getelementptr inbounds nuw i8, ptr %16, i64 16 @@ -1181,13 +1179,11 @@ _ZN4llvm8ExpectedINS_8codeview13InlineSiteSymEED2Ev.exit: ; preds = %158, %157, 183: ; preds = %179, %176, %172, %169, %.lr.ph.i %.129.i = phi i32 [ %.02820.i, %.lr.ph.i ], [ %171, %169 ], [ %174, %172 ], [ %178, %179 ], [ %178, %176 ] %.126.i = phi i1 [ %.02521.i, %.lr.ph.i ], [ %spec.select.i, %169 ], [ false, %172 ], [ false, %179 ], [ false, %176 ] - call void @llvm.lifetime.start.p0(i64 39, ptr nonnull %.sroa.2.i38.i) %184 = call noundef zeroext i1 @_ZN4llvm8codeview24BinaryAnnotationIterator22ParseCurrentAnnotationEv(ptr noundef nonnull align 8 dereferenceable(88) %5) br i1 %184, label %186, label %185 185: ; preds = %183 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(39) %.sroa.2.i38.i, i8 0, i64 39, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %86, ptr noundef nonnull align 1 dereferenceable(16) %.sroa.2.7..sroa_idx.i39.i, i64 16, i1 false), !tbaa.struct !110 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %86, i8 0, i64 16, i1 false) br label %_ZN4llvm8codeview24BinaryAnnotationIteratorppEv.exit.i 186: ; preds = %183 @@ -1202,7 +1198,6 @@ _ZN4llvm8ExpectedINS_8codeview13InlineSiteSymEED2Ev.exit: ; preds = %158, %157, br label %_ZN4llvm8codeview24BinaryAnnotationIteratorppEv.exit.i _ZN4llvm8codeview24BinaryAnnotationIteratorppEv.exit.i: ; preds = %189, %186, %185 - call void @llvm.lifetime.end.p0(i64 39, ptr nonnull %.sroa.2.i38.i) %.sroa.22.0.copyload.i.i.i = load i64, ptr %.sroa.66.56..sroa_idx.i, align 8, !tbaa !42 %.not.i.i.i.i.not.i = icmp eq i64 %.sroa.22.0.copyload.i.i.i, 0 br i1 %.not.i.i.i.i.not.i, label %.loopexit, label %.lr.ph.i diff --git a/bench/llvm/optimized/NativeInlineSiteSymbol.ll b/bench/llvm/optimized/NativeInlineSiteSymbol.ll index 8f6d44bdbde..dd674eb99b8 100644 --- a/bench/llvm/optimized/NativeInlineSiteSymbol.ll +++ b/bench/llvm/optimized/NativeInlineSiteSymbol.ll @@ -1203,17 +1203,16 @@ _ZN4llvm8codeview16TypeDeserializer11MappingInfoD2Ev.exit: ; preds = %_ZN4llvm8c ; Function Attrs: mustprogress nounwind uwtable define dso_local void @_ZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(80) %0, i32 noundef %1, ptr noundef nonnull align 4 captures(none) dereferenceable(4) initializes((0, 4)) %2, ptr noundef nonnull writeonly align 4 captures(none) dereferenceable(4) initializes((0, 4)) %3) local_unnamed_addr #0 align 2 { - %.sroa.2.i54 = alloca [39 x i8], align 1 + %.sroa.2.i54 = alloca %"struct.std::_Optional_payload.174", align 8 %.sroa.0138 = alloca %"struct.std::_Optional_payload.174", align 8 - %.sroa.0118 = alloca %"struct.std::_Optional_payload.174", align 8 %5 = alloca %"struct.llvm::codeview::BinaryAnnotationIterator", align 8 store i32 0, ptr %2, align 4, !tbaa !97 store i32 0, ptr %3, align 4, !tbaa !97 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %.sroa.0138) - %.sroa.0138.4..sroa_idx239 = getelementptr inbounds nuw i8, ptr %.sroa.0138, i64 4 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %.sroa.0136) + %.sroa.0138.4..sroa_idx239 = getelementptr inbounds nuw i8, ptr %.sroa.0136, i64 4 store i8 0, ptr %.sroa.0138.4..sroa_idx239, align 4, !tbaa !98 - call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %.sroa.0118) - %.sroa.0118.4..sroa_idx236 = getelementptr inbounds nuw i8, ptr %.sroa.0118, i64 4 + call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %.sroa.0116) + %.sroa.0118.4..sroa_idx236 = getelementptr inbounds nuw i8, ptr %.sroa.0116, i64 4 store i8 0, ptr %.sroa.0118.4..sroa_idx236, align 4, !tbaa !98 %6 = getelementptr inbounds nuw i8, ptr %0, i64 40 %7 = load ptr, ptr %6, align 8, !tbaa !13, !noalias !100 @@ -1239,12 +1238,11 @@ define dso_local void @_ZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS %17 = getelementptr inbounds nuw i8, ptr %5, i64 36 %18 = getelementptr inbounds nuw i8, ptr %5, i64 44 %19 = getelementptr inbounds nuw i8, ptr %5, i64 40 - %.sroa.2.7..sroa_idx.i55 = getelementptr inbounds nuw i8, ptr %.sroa.2.i54, i64 7 - %.sroa.0138.4..sroa_idx240 = getelementptr inbounds nuw i8, ptr %.sroa.0138, i64 4 + %.sroa.2.7..sroa_idx.i55 = getelementptr inbounds nuw i8, ptr %.sroa.2.i54, i64 4 + %.sroa.0138.4..sroa_idx240 = getelementptr inbounds nuw i8, ptr %.sroa.0136, i64 4 %.sroa.0138.4..sroa_idx241 = getelementptr inbounds nuw i8, ptr %.sroa.0138, i64 4 - %.sroa.0118.4..sroa_idx237 = getelementptr inbounds nuw i8, ptr %.sroa.0118, i64 4 + %.sroa.0118.4..sroa_idx237 = getelementptr inbounds nuw i8, ptr %.sroa.0136, i64 4 %.sroa.0138.4..sroa_idx242 = getelementptr inbounds nuw i8, ptr %.sroa.0138, i64 4 - %.sroa.0118.4..sroa_idx238 = getelementptr inbounds nuw i8, ptr %.sroa.0118, i64 4 br label %20 20: ; preds = %.lr.ph, %_ZN4llvm8codeview24BinaryAnnotationIteratorppEv.exit @@ -1281,13 +1279,13 @@ define dso_local void @_ZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS br i1 %28, label %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit", label %29 29: ; preds = %27 - %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0.142 = load i32, ptr %.sroa.0138, align 8, !tbaa !97 + %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0.142 = load i32, ptr %.sroa.0136, align 8, !tbaa !97 %30 = add i32 %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0.142, %24 br label %.sink.split.i .sink.split.i: ; preds = %23, %29 %.sink8.i = phi i32 [ %30, %29 ], [ %25, %23 ] - %.sink.i = phi ptr [ %.sroa.0118, %29 ], [ %.sroa.0138, %23 ] + %.sink.i = phi ptr [ %.sroa.0116, %29 ], [ %.sroa.0136, %23 ] %.sroa.0.0.insert.ext.i = zext i32 %.sink8.i to i64 %.sroa.0.0.insert.insert.i = or disjoint i64 %.sroa.0.0.insert.ext.i, 4294967296 store i64 %.sroa.0.0.insert.insert.i, ptr %.sink.i, align 8 @@ -1303,13 +1301,13 @@ define dso_local void @_ZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS br i1 %35, label %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit", label %36 36: ; preds = %34 - %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0.141 = load i32, ptr %.sroa.0138, align 8, !tbaa !97 + %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0.141 = load i32, ptr %.sroa.0136, align 8, !tbaa !97 %37 = add i32 %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0.141, %32 br label %.sink.split.i24 .sink.split.i24: ; preds = %31, %36 %.sink8.i25 = phi i32 [ %37, %36 ], [ %.0190, %31 ] - %.sink.i26 = phi ptr [ %.sroa.0118, %36 ], [ %.sroa.0138, %31 ] + %.sink.i26 = phi ptr [ %.sroa.0116, %36 ], [ %.sroa.0136, %31 ] %.sroa.0.0.insert.ext.i27 = zext i32 %.sink8.i25 to i64 %.sroa.0.0.insert.insert.i28 = or disjoint i64 %.sroa.0.0.insert.ext.i27, 4294967296 store i64 %.sroa.0.0.insert.insert.i28, ptr %.sink.i26, align 8 @@ -1330,35 +1328,35 @@ define dso_local void @_ZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS br label %49 45: ; preds = %42 - %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0.140 = load i32, ptr %.sroa.0138, align 8, !tbaa !97 + %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0.140 = load i32, ptr %.sroa.0136, align 8, !tbaa !97 %46 = add i32 %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0.140, %39 br label %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit35" "_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit35": ; preds = %45, %38 %.sink8.i31 = phi i32 [ %46, %45 ], [ %40, %38 ] - %.sink.i32 = phi ptr [ %.sroa.0118, %45 ], [ %.sroa.0138, %38 ] + %.sink.i32 = phi ptr [ %.sroa.0116, %45 ], [ %.sroa.0136, %38 ] %.sroa.0.0.insert.ext.i33 = zext i32 %.sink8.i31 to i64 %.sroa.0.0.insert.insert.i34 = or disjoint i64 %.sroa.0.0.insert.ext.i33, 4294967296 store i64 %.sroa.0.0.insert.insert.i34, ptr %.sink.i32, align 8 - %.sroa.0138.4..sroa.0138.4..sroa.0138.4..sroa.0138.4.146.pre = load i8, ptr %.sroa.0138.4..sroa_idx241, align 4, !tbaa !98 + %.sroa.0138.4..sroa.0138.4..sroa.0138.4..sroa.0138.4.146.pre = load i8, ptr %.sroa.0138.4..sroa_idx240, align 4, !tbaa !98 %47 = load i32, ptr %17, align 4, !tbaa !112 %48 = trunc nuw i8 %.sroa.0138.4..sroa.0138.4..sroa.0138.4..sroa.0138.4.146.pre to i1 br i1 %48, label %49, label %.sink.split.i36 49: ; preds = %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit35.thread", %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit35" %50 = phi i32 [ %44, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit35.thread" ], [ %47, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit35" ] - %.sroa.0118.4..sroa.0118.4..sroa.0118.4..sroa.0118.4.122 = load i8, ptr %.sroa.0118.4..sroa_idx237, align 4, !tbaa !98 + %.sroa.0118.4..sroa.0118.4..sroa.0118.4..sroa.0118.4.122 = load i8, ptr %.sroa.0116.4..sroa_idx235, align 4, !tbaa !98 %51 = trunc nuw i8 %.sroa.0118.4..sroa.0118.4..sroa.0118.4..sroa.0118.4.122 to i1 br i1 %51, label %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit", label %52 52: ; preds = %49 - %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0.139 = load i32, ptr %.sroa.0138, align 8, !tbaa !97 + %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0.139 = load i32, ptr %.sroa.0136, align 8, !tbaa !97 %53 = add i32 %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0.139, %50 br label %.sink.split.i36 .sink.split.i36: ; preds = %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit35", %52 %.sink8.i37 = phi i32 [ %53, %52 ], [ %40, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit35" ] - %.sink.i38 = phi ptr [ %.sroa.0118, %52 ], [ %.sroa.0138, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit35" ] + %.sink.i38 = phi ptr [ %.sroa.0116, %52 ], [ %.sroa.0136, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit35" ] %.sroa.0.0.insert.ext.i39 = zext i32 %.sink8.i37 to i64 %.sroa.0.0.insert.insert.i40 = or disjoint i64 %.sroa.0.0.insert.ext.i39, 4294967296 store i64 %.sroa.0.0.insert.insert.i40, ptr %.sink.i38, align 8 @@ -1388,17 +1386,17 @@ define dso_local void @_ZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS br i1 %65, label %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit48", label %66 66: ; preds = %64 - %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0. = load i32, ptr %.sroa.0138, align 8, !tbaa !97 + %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0. = load i32, ptr %.sroa.0136, align 8, !tbaa !97 %67 = add i32 %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0., %61 br label %.sink.split.i43 .sink.split.i43: ; preds = %60, %66 %.sink8.i44 = phi i32 [ %67, %66 ], [ %62, %60 ] - %.sink.i45 = phi ptr [ %.sroa.0118, %66 ], [ %.sroa.0138, %60 ] + %.sink.i45 = phi ptr [ %.sroa.0116, %66 ], [ %.sroa.0136, %60 ] %.sroa.0.0.insert.ext.i46 = zext i32 %.sink8.i44 to i64 %.sroa.0.0.insert.insert.i47 = or disjoint i64 %.sroa.0.0.insert.ext.i46, 4294967296 store i64 %.sroa.0.0.insert.insert.i47, ptr %.sink.i45, align 8 - %.sroa.0138.4..sroa.0138.4..sroa.0138.4..sroa.0138.4.154.pre = load i8, ptr %.sroa.0138.4..sroa_idx240, align 4, !tbaa !98 + %.sroa.0138.4..sroa.0138.4..sroa.0138.4..sroa.0138.4.154.pre = load i8, ptr %.sroa.0136.4..sroa_idx238, align 4, !tbaa !98 %68 = trunc nuw i8 %.sroa.0138.4..sroa.0138.4..sroa.0138.4..sroa.0138.4.154.pre to i1 br label %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit48" @@ -1432,9 +1430,9 @@ define dso_local void @_ZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS %.sroa.8.1 = phi i8 [ %.sroa.8.0188, %20 ], [ %.sroa.8.0188, %27 ], [ %.sroa.8.0188, %.sink.split.i ], [ %.sroa.8.0188, %34 ], [ %.sroa.8.0188, %.sink.split.i24 ], [ %.sroa.8.0188, %49 ], [ %.sroa.8.0188, %.sink.split.i36 ], [ %.sroa.8.0188, %74 ], [ %.sroa.8.0188, %77 ], [ 1, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_1clEi.exit.else" ], [ 1, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_1clEi.exit" ], [ 1, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit48.else" ], [ 1, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit48" ] %.sroa.7.1 = phi i1 [ %.sroa.7.0189, %20 ], [ %.sroa.7.0189, %27 ], [ %.sroa.7.0189, %.sink.split.i ], [ %.sroa.7.0189, %34 ], [ %.sroa.7.0189, %.sink.split.i24 ], [ %.sroa.7.0189, %49 ], [ %.sroa.7.0189, %.sink.split.i36 ], [ %.sroa.7.0189, %74 ], [ %.sroa.7.0189, %77 ], [ %.sroa.7.0189, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_1clEi.exit.else" ], [ true, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_1clEi.exit" ], [ %.sroa.7.0189, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit48.else" ], [ true, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit48" ] %.1 = phi i32 [ %.0190, %20 ], [ %25, %27 ], [ %25, %.sink.split.i ], [ %.0190, %34 ], [ %.0190, %.sink.split.i24 ], [ %40, %49 ], [ %40, %.sink.split.i36 ], [ %.0190, %74 ], [ %.0190, %77 ], [ %.0190, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_1clEi.exit.else" ], [ %.0190, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_1clEi.exit" ], [ %62, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit48.else" ], [ %62, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit48" ] - %.sroa.0138.4..sroa.0138.4..sroa.0138.4..sroa.0138.4.160 = load i8, ptr %.sroa.0138.4..sroa_idx242, align 4, !tbaa !98 + %.sroa.0138.4..sroa.0138.4..sroa.0138.4..sroa.0138.4.160 = load i8, ptr %.sroa.0136.4..sroa_idx240, align 4, !tbaa !98 %78 = trunc nuw i8 %.sroa.0138.4..sroa.0138.4..sroa.0138.4..sroa.0138.4.160 to i1 - %.sroa.0118.4..sroa.0118.4..sroa.0118.4..sroa.0118.4.130 = load i8, ptr %.sroa.0118.4..sroa_idx238, align 4 + %.sroa.0118.4..sroa.0118.4..sroa.0118.4..sroa.0118.4.130 = load i8, ptr %.sroa.0116.4..sroa_idx236, align 4 %79 = trunc nuw i8 %.sroa.0118.4..sroa.0118.4..sroa.0118.4..sroa.0118.4.130 to i1 %or.cond = select i1 %78, i1 %79, i1 false br i1 %or.cond, label %80, label %88 @@ -1444,9 +1442,9 @@ define dso_local void @_ZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS br i1 %81, label %82, label %88 82: ; preds = %80 - %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0.143 = load i32, ptr %.sroa.0138, align 8 + %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0.143 = load i32, ptr %.sroa.0136, align 8 %.not.i = icmp ule i32 %.sroa.0138.0..sroa.0138.0..sroa.0138.0..sroa.0138.0.143, %1 - %.sroa.0118.0..sroa.0118.0..sroa.0118.0..sroa.0118.0. = load i32, ptr %.sroa.0118, align 8 + %.sroa.0118.0..sroa.0118.0..sroa.0118.0..sroa.0118.0. = load i32, ptr %.sroa.0116, align 8 %83 = icmp ult i32 %1, %.sroa.0118.0..sroa.0118.0..sroa.0118.0..sroa.0118.0. %or.cond179 = select i1 %.not.i, i1 %83, i1 false br i1 %or.cond179, label %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_3clEv.exit", label %84 @@ -1460,10 +1458,10 @@ define dso_local void @_ZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS _ZNSt8optionalIiEaSESt9nullopt_t.exit.i: ; preds = %85, %84 %spec.select = select i1 %.sroa.7.1, i32 %.sroa.0.1, i32 %.sroa.0115.1 - %.sroa.0118.0..sroa.0118.0..sroa.0118.0..sroa.0118.0.119 = load i64, ptr %.sroa.0118, align 8 - store i64 %.sroa.0118.0..sroa.0118.0..sroa.0118.0..sroa.0118.0.119, ptr %.sroa.0138, align 8 + %.sroa.0118.0..sroa.0118.0..sroa.0118.0..sroa.0118.0.119 = load i64, ptr %.sroa.0116, align 8 + store i64 %.sroa.0118.0..sroa.0118.0..sroa.0118.0..sroa.0118.0.119, ptr %.sroa.0136, align 8 %.sroa.0111.0.insert.ext = zext i32 %.sroa.0111.1 to i64 - store i64 %.sroa.0111.0.insert.ext, ptr %.sroa.0118, align 8 + store i64 %.sroa.0111.0.insert.ext, ptr %.sroa.0116, align 8 %86 = lshr i64 %.sroa.0118.0..sroa.0118.0..sroa.0118.0..sroa.0118.0.119, 32 %87 = trunc i64 %86 to i8 br label %88 @@ -1479,13 +1477,11 @@ _ZNSt8optionalIiEaSESt9nullopt_t.exit.i: ; preds = %85, %84 %.sroa.5.4.ph = phi i1 [ false, %_ZNSt8optionalIiEaSESt9nullopt_t.exit.i ], [ %.sroa.5.1, %80 ], [ %.sroa.5.1, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit" ] %.sroa.8.5.ph = phi i8 [ 1, %_ZNSt8optionalIiEaSESt9nullopt_t.exit.i ], [ 0, %80 ], [ %.sroa.8.1, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit" ] %.sroa.7.5.ph = phi i1 [ false, %_ZNSt8optionalIiEaSESt9nullopt_t.exit.i ], [ %.sroa.7.1, %80 ], [ %.sroa.7.1, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_0clEj.exit" ] - call void @llvm.lifetime.start.p0(i64 39, ptr nonnull %.sroa.2.i54) %89 = call noundef zeroext i1 @_ZN4llvm8codeview24BinaryAnnotationIterator22ParseCurrentAnnotationEv(ptr noundef nonnull align 8 dereferenceable(88) %5) br i1 %89, label %91, label %90 90: ; preds = %88 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(39) %.sroa.2.i54, i8 0, i64 39, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %14, ptr noundef nonnull align 1 dereferenceable(16) %.sroa.2.7..sroa_idx.i55, i64 16, i1 false), !tbaa.struct !115 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %14, i8 0, i64 16, i1 false) br label %_ZN4llvm8codeview24BinaryAnnotationIteratorppEv.exit 91: ; preds = %88 @@ -1500,15 +1496,14 @@ _ZNSt8optionalIiEaSESt9nullopt_t.exit.i: ; preds = %85, %84 br label %_ZN4llvm8codeview24BinaryAnnotationIteratorppEv.exit _ZN4llvm8codeview24BinaryAnnotationIteratorppEv.exit: ; preds = %90, %91, %94 - call void @llvm.lifetime.end.p0(i64 39, ptr nonnull %.sroa.2.i54) - %.sroa.22.0.copyload.i.i = load i64, ptr %.sroa.561.56..sroa_idx, align 8, !tbaa !64 + %.sroa.22.0.copyload.i.i = load i64, ptr %.sroa.559.56..sroa_idx, align 8, !tbaa !64 %.not.i.i.i.i = icmp eq i64 %.sroa.22.0.copyload.i.i, 0 br i1 %.not.i.i.i.i, label %_ZNK4llvm20iterator_facade_baseINS_8codeview24BinaryAnnotationIteratorESt20forward_iterator_tagNS1_17DecodedAnnotationElPS4_RS4_EneERKS2_.exit, label %20 _ZNK4llvm20iterator_facade_baseINS_8codeview24BinaryAnnotationIteratorESt20forward_iterator_tagNS1_17DecodedAnnotationElPS4_RS4_EneERKS2_.exit: ; preds = %_ZN4llvm8codeview24BinaryAnnotationIteratorppEv.exit, %4, %"_ZZNK4llvm3pdb22NativeInlineSiteSymbol13getLineOffsetEjRjS2_ENK3$_3clEv.exit" call void @llvm.lifetime.end.p0(i64 88, ptr nonnull %5) #15 - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %.sroa.0118) - call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %.sroa.0138) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %.sroa.0116) + call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %.sroa.0136) ret void } diff --git a/bench/llvm/optimized/ObjCARCOpts.ll b/bench/llvm/optimized/ObjCARCOpts.ll index 29f3d627ac7..a2ad290e816 100644 --- a/bench/llvm/optimized/ObjCARCOpts.ll +++ b/bench/llvm/optimized/ObjCARCOpts.ll @@ -16130,11 +16130,10 @@ define linkonce_odr hidden noundef nonnull align 8 dereferenceable(112) ptr @_ZN store i64 %20, ptr %22, align 8, !tbaa !527 call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %5) #21 call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %6) #21 - %23 = getelementptr inbounds nuw i8, ptr %6, i64 8 - %24 = getelementptr inbounds nuw i8, ptr %6, i64 24 - %25 = getelementptr inbounds nuw i8, ptr %6, i64 48 + %23 = getelementptr inbounds nuw i8, ptr %6, i64 24 + %24 = getelementptr inbounds nuw i8, ptr %6, i64 48 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(112) %6, i8 0, i64 112, i1 false) - store ptr %25, ptr %24, align 8, !tbaa !28 + store ptr %24, ptr %23, align 8, !tbaa !28 %26 = getelementptr inbounds nuw i8, ptr %6, i64 32 store i32 2, ptr %26, align 8, !tbaa !29 %27 = getelementptr inbounds nuw i8, ptr %6, i64 40 @@ -16157,10 +16156,10 @@ define linkonce_odr hidden noundef nonnull align 8 dereferenceable(112) ptr @_ZN %36 = getelementptr inbounds nuw i8, ptr %5, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(3) %36, i8 0, i64 3, i1 false) %37 = getelementptr inbounds nuw i8, ptr %5, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(97) %37, ptr noundef nonnull align 8 dereferenceable(97) %23, i64 16, i1 false) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %37, i8 0, i64 16, i1 false) %38 = getelementptr inbounds nuw i8, ptr %5, i64 32 %39 = getelementptr inbounds nuw i8, ptr %5, i64 56 - call void @_ZN4llvm19SmallPtrSetImplBaseC2EPPKvjS3_OS0_(ptr noundef nonnull align 8 dereferenceable(40) %38, ptr noundef nonnull %39, i32 noundef 2, ptr noundef nonnull %25, ptr noundef nonnull align 8 dereferenceable(40) %24) #21 + call void @_ZN4llvm19SmallPtrSetImplBaseC2EPPKvjS3_OS0_(ptr noundef nonnull align 8 dereferenceable(40) %38, ptr noundef nonnull %39, i32 noundef 2, ptr noundef nonnull %24, ptr noundef nonnull align 8 dereferenceable(40) %23) #21 %40 = getelementptr inbounds nuw i8, ptr %5, i64 72 %41 = getelementptr inbounds nuw i8, ptr %5, i64 96 call void @_ZN4llvm19SmallPtrSetImplBaseC2EPPKvjS3_OS0_(ptr noundef nonnull align 8 dereferenceable(40) %40, ptr noundef nonnull %41, i32 noundef 2, ptr noundef nonnull %30, ptr noundef nonnull align 8 dereferenceable(40) %29) #21 @@ -16236,7 +16235,7 @@ _ZN4llvm19SmallPtrSetImplBaseD2Ev.exit.i.i: ; preds = %72, %_ZNSt4pairIPKN br i1 %75, label %_ZN4llvm7objcarc8PtrStateD2Ev.exit, label %76 76: ; preds = %_ZN4llvm19SmallPtrSetImplBaseD2Ev.exit.i.i - %77 = load ptr, ptr %24, align 8, !tbaa !28 + %77 = load ptr, ptr %23, align 8, !tbaa !28 call void @free(ptr noundef %77) #21 br label %_ZN4llvm7objcarc8PtrStateD2Ev.exit @@ -16256,7 +16255,7 @@ _ZN4llvm7objcarc8PtrStateD2Ev.exit: ; preds = %_ZN4llvm19SmallPtrS br label %86 86: ; preds = %80, %_ZN4llvm7objcarc8PtrStateD2Ev.exit - %.pn = phi ptr [ %79, %_ZN4llvm7objcarc8PtrStateD2Ev.exit ], [ %85, %80 ] + %.pn = phi ptr [ %79, %_ZN4llvm7objcarc8PtrStateD2Ev.exit ], [ %85, %79 ] %.0 = getelementptr inbounds nuw i8, ptr %.pn, i64 8 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #21 ret ptr %.0 @@ -17718,11 +17717,10 @@ define linkonce_odr hidden noundef nonnull align 8 dereferenceable(112) ptr @_ZN store i64 %20, ptr %22, align 8, !tbaa !527 call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %5) #21 call void @llvm.lifetime.start.p0(i64 112, ptr nonnull %6) #21 - %23 = getelementptr inbounds nuw i8, ptr %6, i64 8 - %24 = getelementptr inbounds nuw i8, ptr %6, i64 24 - %25 = getelementptr inbounds nuw i8, ptr %6, i64 48 + %23 = getelementptr inbounds nuw i8, ptr %6, i64 24 + %24 = getelementptr inbounds nuw i8, ptr %6, i64 48 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(112) %6, i8 0, i64 112, i1 false) - store ptr %25, ptr %24, align 8, !tbaa !28 + store ptr %24, ptr %23, align 8, !tbaa !28 %26 = getelementptr inbounds nuw i8, ptr %6, i64 32 store i32 2, ptr %26, align 8, !tbaa !29 %27 = getelementptr inbounds nuw i8, ptr %6, i64 40 @@ -17745,10 +17743,10 @@ define linkonce_odr hidden noundef nonnull align 8 dereferenceable(112) ptr @_ZN %36 = getelementptr inbounds nuw i8, ptr %5, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(3) %36, i8 0, i64 3, i1 false) %37 = getelementptr inbounds nuw i8, ptr %5, i64 16 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(97) %37, ptr noundef nonnull align 8 dereferenceable(97) %23, i64 16, i1 false) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %37, i8 0, i64 16, i1 false) %38 = getelementptr inbounds nuw i8, ptr %5, i64 32 %39 = getelementptr inbounds nuw i8, ptr %5, i64 56 - call void @_ZN4llvm19SmallPtrSetImplBaseC2EPPKvjS3_OS0_(ptr noundef nonnull align 8 dereferenceable(40) %38, ptr noundef nonnull %39, i32 noundef 2, ptr noundef nonnull %25, ptr noundef nonnull align 8 dereferenceable(40) %24) #21 + call void @_ZN4llvm19SmallPtrSetImplBaseC2EPPKvjS3_OS0_(ptr noundef nonnull align 8 dereferenceable(40) %38, ptr noundef nonnull %39, i32 noundef 2, ptr noundef nonnull %24, ptr noundef nonnull align 8 dereferenceable(40) %23) #21 %40 = getelementptr inbounds nuw i8, ptr %5, i64 72 %41 = getelementptr inbounds nuw i8, ptr %5, i64 96 call void @_ZN4llvm19SmallPtrSetImplBaseC2EPPKvjS3_OS0_(ptr noundef nonnull align 8 dereferenceable(40) %40, ptr noundef nonnull %41, i32 noundef 2, ptr noundef nonnull %30, ptr noundef nonnull align 8 dereferenceable(40) %29) #21 @@ -17824,7 +17822,7 @@ _ZN4llvm19SmallPtrSetImplBaseD2Ev.exit.i.i: ; preds = %72, %_ZNSt4pairIPKN br i1 %75, label %_ZN4llvm7objcarc8PtrStateD2Ev.exit, label %76 76: ; preds = %_ZN4llvm19SmallPtrSetImplBaseD2Ev.exit.i.i - %77 = load ptr, ptr %24, align 8, !tbaa !28 + %77 = load ptr, ptr %23, align 8, !tbaa !28 call void @free(ptr noundef %77) #21 br label %_ZN4llvm7objcarc8PtrStateD2Ev.exit @@ -17844,7 +17842,7 @@ _ZN4llvm7objcarc8PtrStateD2Ev.exit: ; preds = %_ZN4llvm19SmallPtrS br label %86 86: ; preds = %80, %_ZN4llvm7objcarc8PtrStateD2Ev.exit - %.pn = phi ptr [ %79, %_ZN4llvm7objcarc8PtrStateD2Ev.exit ], [ %85, %80 ] + %.pn = phi ptr [ %79, %_ZN4llvm7objcarc8PtrStateD2Ev.exit ], [ %85, %79 ] %.0 = getelementptr inbounds nuw i8, ptr %.pn, i64 8 call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #21 ret ptr %.0 diff --git a/bench/llvm/optimized/SemaLookup.ll b/bench/llvm/optimized/SemaLookup.ll index f5391575b92..71db3fa1b2a 100644 --- a/bench/llvm/optimized/SemaLookup.ll +++ b/bench/llvm/optimized/SemaLookup.ll @@ -43049,22 +43049,20 @@ _ZNSt4pairIPN5clang8TypoExprENS0_4Sema13TypoExprStateEEC2IRKS2_S4_TnNSt9enable_i %17 = getelementptr inbounds nuw i8, ptr %5, i64 8 %18 = getelementptr inbounds nuw i8, ptr %5, i64 16 %19 = getelementptr inbounds nuw i8, ptr %5, i64 48 - %20 = getelementptr inbounds nuw i8, ptr %5, i64 16 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %20, i8 0, i64 64, i1 false) store ptr null, ptr %6, align 8, !tbaa !2327 store ptr null, ptr %17, align 8, !tbaa !2327 %21 = getelementptr inbounds nuw i8, ptr %6, i64 24 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %18, i8 0, i64 16, i1 false) %22 = getelementptr inbounds nuw i8, ptr %5, i64 32 + store ptr null, ptr %21, align 8, !tbaa !1494 + %22 = getelementptr inbounds nuw i8, ptr %5, i64 40 store ptr null, ptr %22, align 8, !tbaa !1494 - %23 = getelementptr inbounds nuw i8, ptr %5, i64 40 - store ptr null, ptr %23, align 8, !tbaa !1494 - %24 = getelementptr inbounds nuw i8, ptr %6, i64 56 + %23 = getelementptr inbounds nuw i8, ptr %6, i64 56 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %19, i8 0, i64 16, i1 false) %25 = getelementptr inbounds nuw i8, ptr %5, i64 64 + store ptr null, ptr %24, align 8, !tbaa !1494 + %25 = getelementptr inbounds nuw i8, ptr %5, i64 72 store ptr null, ptr %25, align 8, !tbaa !1494 - %26 = getelementptr inbounds nuw i8, ptr %5, i64 72 - store ptr null, ptr %26, align 8, !tbaa !1494 %.pre3.i.pre = load ptr, ptr %14, align 8, !tbaa !1038 %.phi.trans.insert5 = getelementptr inbounds nuw i8, ptr %0, i64 36 %.pre6 = load i32, ptr %.phi.trans.insert5, align 4, !tbaa !1063 @@ -43098,8 +43096,8 @@ _ZNSt4pairIPN5clang8TypoExprENS0_4Sema13TypoExprStateEEC2IRKS2_S4_TnNSt9enable_i br label %_ZN4llvm23SmallVectorTemplateBaseISt4pairIPN5clang8TypoExprENS2_4Sema13TypoExprStateEELb0EE9push_backEOS7_.exit _ZN4llvm23SmallVectorTemplateBaseISt4pairIPN5clang8TypoExprENS2_4Sema13TypoExprStateEELb0EE9push_backEOS7_.exit: ; preds = %_ZNSt4pairIPN5clang8TypoExprENS0_4Sema13TypoExprStateEEC2IRKS2_S4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISA_SB_EEEbE4typeELb1EEEOSA_OSB_.exit, %34, %35 - %41 = phi ptr [ %.pre3.i.pre, %_ZNSt4pairIPN5clang8TypoExprENS0_4Sema13TypoExprStateEEC2IRKS2_S4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISA_SB_EEEbE4typeELb1EEEOSA_OSB_.exit ], [ %39, %35 ], [ %.pre.i, %34 ] - %.016.i.i.i = phi ptr [ %5, %_ZNSt4pairIPN5clang8TypoExprENS0_4Sema13TypoExprStateEEC2IRKS2_S4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISA_SB_EEEbE4typeELb1EEEOSA_OSB_.exit ], [ %40, %35 ], [ %5, %34 ] + %41 = phi ptr [ %.pre3.i.pre, %_ZNSt4pairIPN5clang8TypoExprENS0_4Sema13TypoExprStateEEC2IRKS2_S4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISA_SB_EEEbE4typeELb1EEEOSA_OSB_.exit ], [ %39, %34 ], [ %.pre.i, %33 ] + %.016.i.i.i = phi ptr [ %5, %_ZNSt4pairIPN5clang8TypoExprENS0_4Sema13TypoExprStateEEC2IRKS2_S4_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairISA_SB_EEEbE4typeELb1EEEOSA_OSB_.exit ], [ %40, %34 ], [ %5, %33 ] %42 = load i32, ptr %27, align 8, !tbaa !1050 %43 = zext i32 %42 to i64 %44 = getelementptr inbounds nuw %"struct.std::pair.1905", ptr %41, i64 %43 @@ -43112,7 +43110,7 @@ _ZN4llvm23SmallVectorTemplateBaseISt4pairIPN5clang8TypoExprENS2_4Sema13TypoExprS br i1 %.not.i.i.i, label %_ZNSt14_Function_baseD2Ev.exit.i.i, label %48 48: ; preds = %_ZN4llvm23SmallVectorTemplateBaseISt4pairIPN5clang8TypoExprENS2_4Sema13TypoExprStateEELb0EE9push_backEOS7_.exit - %49 = call noundef zeroext i1 %47(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) %19, i32 noundef 3) #27 + %49 = call noundef zeroext i1 %46(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) %19, i32 noundef 3) #27 br label %_ZNSt14_Function_baseD2Ev.exit.i.i _ZNSt14_Function_baseD2Ev.exit.i.i: ; preds = %48, %_ZN4llvm23SmallVectorTemplateBaseISt4pairIPN5clang8TypoExprENS2_4Sema13TypoExprStateEELb0EE9push_backEOS7_.exit @@ -43121,7 +43119,7 @@ _ZNSt14_Function_baseD2Ev.exit.i.i: ; preds = %48, %_ZN4llvm23Smal br i1 %.not.i1.i.i, label %_ZNSt14_Function_baseD2Ev.exit2.i.i, label %51 51: ; preds = %_ZNSt14_Function_baseD2Ev.exit.i.i - %52 = call noundef zeroext i1 %50(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %18, i32 noundef 3) #27 + %52 = call noundef zeroext i1 %49(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull align 8 dereferenceable(32) %18, i32 noundef 3) #27 br label %_ZNSt14_Function_baseD2Ev.exit2.i.i _ZNSt14_Function_baseD2Ev.exit2.i.i: ; preds = %51, %_ZNSt14_Function_baseD2Ev.exit.i.i @@ -43133,18 +43131,18 @@ _ZNKSt14default_deleteIN5clang22TypoCorrectionConsumerEEclEPS1_.exit.i.i.i: ; pr %54 = load ptr, ptr %53, align 8, !tbaa !1071 %55 = getelementptr inbounds nuw i8, ptr %54, i64 8 %56 = load ptr, ptr %55, align 8 - call void %56(ptr noundef nonnull align 8 dereferenceable(1082) %53) #27 + call void %55(ptr noundef nonnull align 8 dereferenceable(1082) %53) #27 br label %_ZNSt4pairIPN5clang8TypoExprENS0_4Sema13TypoExprStateEED2Ev.exit _ZNSt4pairIPN5clang8TypoExprENS0_4Sema13TypoExprStateEED2Ev.exit: ; preds = %_ZNSt14_Function_baseD2Ev.exit2.i.i, %_ZNKSt14default_deleteIN5clang22TypoCorrectionConsumerEEclEPS1_.exit.i.i.i store ptr null, ptr %17, align 8, !tbaa !2327 - %57 = load ptr, ptr %24, align 8, !tbaa !2397 + %57 = load ptr, ptr %23, align 8, !tbaa !2397 %.not.i.i = icmp eq ptr %57, null br i1 %.not.i.i, label %_ZNSt14_Function_baseD2Ev.exit.i, label %58 58: ; preds = %_ZNSt4pairIPN5clang8TypoExprENS0_4Sema13TypoExprStateEED2Ev.exit %59 = getelementptr inbounds nuw i8, ptr %6, i64 40 - %60 = call noundef zeroext i1 %57(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull align 8 dereferenceable(32) %59, i32 noundef 3) #27 + %60 = call noundef zeroext i1 %56(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull align 8 dereferenceable(32) %59, i32 noundef 3) #27 br label %_ZNSt14_Function_baseD2Ev.exit.i _ZNSt14_Function_baseD2Ev.exit.i: ; preds = %58, %_ZNSt4pairIPN5clang8TypoExprENS0_4Sema13TypoExprStateEED2Ev.exit @@ -43154,7 +43152,7 @@ _ZNSt14_Function_baseD2Ev.exit.i: ; preds = %58, %_ZNSt4pairIPN5 62: ; preds = %_ZNSt14_Function_baseD2Ev.exit.i %63 = getelementptr inbounds nuw i8, ptr %6, i64 8 - %64 = call noundef zeroext i1 %61(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(32) %63, i32 noundef 3) #27 + %64 = call noundef zeroext i1 %60(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(32) %63, i32 noundef 3) #27 br label %_ZNSt14_Function_baseD2Ev.exit2.i _ZNSt14_Function_baseD2Ev.exit2.i: ; preds = %62, %_ZNSt14_Function_baseD2Ev.exit.i @@ -43166,7 +43164,7 @@ _ZNKSt14default_deleteIN5clang22TypoCorrectionConsumerEEclEPS1_.exit.i.i: ; pred %66 = load ptr, ptr %65, align 8, !tbaa !1071 %67 = getelementptr inbounds nuw i8, ptr %66, i64 8 %68 = load ptr, ptr %67, align 8 - call void %68(ptr noundef nonnull align 8 dereferenceable(1082) %65) #27 + call void %67(ptr noundef nonnull align 8 dereferenceable(1082) %65) #27 br label %_ZN5clang4Sema13TypoExprStateD2Ev.exit _ZN5clang4Sema13TypoExprStateD2Ev.exit: ; preds = %_ZNSt14_Function_baseD2Ev.exit2.i, %_ZNKSt14default_deleteIN5clang22TypoCorrectionConsumerEEclEPS1_.exit.i.i diff --git a/bench/llvm/optimized/SymbolDumper.ll b/bench/llvm/optimized/SymbolDumper.ll index a31e8bc0389..26373d0eba0 100644 --- a/bench/llvm/optimized/SymbolDumper.ll +++ b/bench/llvm/optimized/SymbolDumper.ll @@ -9301,7 +9301,6 @@ _ZN4llvm9ListScopeD2Ev.exit: ; preds = %.lr.ph, %4 ; Function Attrs: mustprogress nounwind uwtable define internal void @_ZN12_GLOBAL__N_118CVSymbolDumperImpl16visitKnownRecordERN4llvm8codeview8CVRecordINS2_10SymbolKindEEERNS2_13InlineSiteSymE(ptr dead_on_unwind noalias writable writeonly sret(%"class.llvm::Error") align 8 captures(none) %0, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(36) %1, ptr nonnull readnone align 8 captures(none) %2, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(44) %3) unnamed_addr #0 align 2 { - %.sroa.2.i45 = alloca [39 x i8], align 1 %5 = alloca %"struct.llvm::codeview::BinaryAnnotationIterator", align 8 %6 = alloca %"struct.llvm::HexNumber", align 8 %7 = alloca %"struct.llvm::HexNumber", align 8 @@ -9360,7 +9359,6 @@ define internal void @_ZN12_GLOBAL__N_118CVSymbolDumperImpl16visitKnownRecordERN %43 = getelementptr inbounds nuw i8, ptr %5, i64 44 %44 = getelementptr inbounds nuw i8, ptr %1, i64 16 %.sroa.22.0..sroa_idx = getelementptr inbounds nuw i8, ptr %5, i64 8 - %.sroa.2.7..sroa_idx.i46 = getelementptr inbounds nuw i8, ptr %.sroa.2.i45, i64 7 br label %48 _ZN4llvm9ListScopeD2Ev.exit: ; preds = %_ZN4llvm8codeview24BinaryAnnotationIteratorppEv.exit, %4 @@ -9638,13 +9636,11 @@ _ZN4llvm11raw_ostreamlsEPKc.exit44: ; preds = %193, %195 br label %198 198: ; preds = %79, %91, %_ZN4llvm11raw_ostreamlsEPKc.exit44, %_ZN4llvm11raw_ostreamlsEPKc.exit35, %69, %63, %56, %51, %48 - call void @llvm.lifetime.start.p0(i64 39, ptr nonnull %.sroa.2.i45) %199 = call noundef zeroext i1 @_ZN4llvm8codeview24BinaryAnnotationIterator22ParseCurrentAnnotationEv(ptr noundef nonnull align 8 dereferenceable(88) %5) br i1 %199, label %201, label %200 200: ; preds = %198 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(39) %.sroa.2.i45, i8 0, i64 39, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %38, ptr noundef nonnull align 1 dereferenceable(16) %.sroa.2.7..sroa_idx.i46, i64 16, i1 false), !tbaa.struct !344 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %38, i8 0, i64 16, i1 false) br label %_ZN4llvm8codeview24BinaryAnnotationIteratorppEv.exit 201: ; preds = %198 @@ -9659,8 +9655,7 @@ _ZN4llvm11raw_ostreamlsEPKc.exit44: ; preds = %193, %195 br label %_ZN4llvm8codeview24BinaryAnnotationIteratorppEv.exit _ZN4llvm8codeview24BinaryAnnotationIteratorppEv.exit: ; preds = %200, %201, %204 - call void @llvm.lifetime.end.p0(i64 39, ptr nonnull %.sroa.2.i45) - %.sroa.22.0.copyload.i.i = load i64, ptr %.sroa.560.56..sroa_idx, align 8, !tbaa !87 + %.sroa.22.0.copyload.i.i = load i64, ptr %.sroa.558.56..sroa_idx, align 8, !tbaa !87 %.not.i.i.i.i = icmp eq i64 %.sroa.22.0.copyload.i.i, 0 br i1 %.not.i.i.i.i, label %_ZN4llvm9ListScopeD2Ev.exit, label %48 } diff --git a/bench/mitsuba3/optimized/rectangle.ll b/bench/mitsuba3/optimized/rectangle.ll index cd320a45612..4c369f0f8ee 100644 --- a/bench/mitsuba3/optimized/rectangle.ll +++ b/bench/mitsuba3/optimized/rectangle.ll @@ -1203,8 +1203,8 @@ _ZNK7mitsuba9RectangleIfN5drjit6MatrixINS_8SpectrumIfLm4EEELm4EEEE25ray_intersec %86 = getelementptr inbounds nuw i8, ptr %0, i64 128 %87 = getelementptr inbounds nuw i8, ptr %0, i64 144 %88 = getelementptr inbounds nuw i8, ptr %0, i64 160 - %89 = getelementptr inbounds nuw i8, ptr %0, i64 176 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(212) %75, i8 0, i64 212, i1 false), !alias.scope !81 + %89 = getelementptr inbounds nuw i8, ptr %0, i64 80 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(144) %89, i8 0, i64 144, i1 false), !alias.scope !81 store float %72, ptr %0, align 16, !alias.scope !81 %90 = insertelement <4 x float> poison, float %72, i64 0 %91 = shufflevector <4 x float> %90, <4 x float> poison, <4 x i32> zeroinitializer @@ -1225,13 +1225,16 @@ _ZNK7mitsuba9RectangleIfN5drjit6MatrixINS_8SpectrumIfLm4EEELm4EEEE25ray_intersec store float %99, ptr %79, align 8, !alias.scope !81 %.sroa_idx366.i = getelementptr inbounds nuw i8, ptr %0, i64 76 store float %100, ptr %.sroa_idx366.i, align 4, !alias.scope !81 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %88, ptr noundef nonnull align 16 dereferenceable(16) %89, i64 16, i1 false), !alias.scope !81 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %88, i8 0, i64 16, i1 false) store ptr %1, ptr %83, align 16, !alias.scope !81 store ptr null, ptr %84, align 8, !alias.scope !81 + %101 = getelementptr inbounds nuw i8, ptr %0, i64 224 + store i32 0, ptr %101, align 16 store float 0.000000e+00, ptr %85, align 4 - %101 = and i32 %3, 8 - %.not.i = icmp eq i32 %101, 0 - br i1 %.not.i, label %.critedge._crit_edge.i, label %102 + store <4 x float> zeroinitializer, ptr %75, align 16 + %102 = and i32 %3, 8 + %.not.i = icmp eq i32 %102, 0 + br i1 %.not.i, label %.critedge._crit_edge.i, label %103 .critedge._crit_edge.i: ; preds = %.critedge.i %.pre79.i = load <4 x float>, ptr %.sroa.3321.0..sroa_idx.i, align 16 @@ -1298,7 +1301,7 @@ _ZNK7mitsuba9RectangleIfN5drjit6MatrixINS_8SpectrumIfLm4EEELm4EEEE25ray_intersec br label %_ZN7mitsuba18SurfaceInteractionIfN5drjit6MatrixINS_8SpectrumIfLm4EEELm4EEEE19initialize_sh_frameEv.exit.i _ZN7mitsuba18SurfaceInteractionIfN5drjit6MatrixINS_8SpectrumIfLm4EEELm4EEEE19initialize_sh_frameEv.exit.i: ; preds = %125, %102 - %153 = phi <4 x float> [ %152, %125 ], [ %119, %102 ] + %153 = phi <4 x float> [ %152, %126 ], [ %119, %103 ] %154 = getelementptr inbounds nuw i8, ptr %0, i64 80 store <4 x float> %153, ptr %154, align 16 %155 = shufflevector <4 x float> %104, <4 x float> poison, <4 x i32> diff --git a/bench/open3d/optimized/ViewTrajectory.ll b/bench/open3d/optimized/ViewTrajectory.ll index 1324a2da573..7662ad511e7 100644 --- a/bench/open3d/optimized/ViewTrajectory.ll +++ b/bench/open3d/optimized/ViewTrajectory.ll @@ -8859,25 +8859,8 @@ _ZNK6open3d13visualization14ViewTrajectory11NumOfFramesEv.exit: ; preds = %24, % _ZNK6open3d13visualization14ViewTrajectory11NumOfFramesEv.exit.thread: ; preds = %3, %_ZNK6open3d13visualization14ViewTrajectory11NumOfFramesEv.exit store ptr getelementptr inbounds nuw inrange(-16, 40) (i8, ptr @_ZTVN6open3d13visualization14ViewParametersE, i64 16), ptr %0, align 8, !tbaa !4, !alias.scope !322 %30 = getelementptr inbounds nuw i8, ptr %0, i64 8 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %30, i8 0, i64 16, i1 false) - %31 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %32 = getelementptr inbounds nuw i8, ptr %4, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(24) %32, i64 24, i1 false), !tbaa.struct !325 - %33 = getelementptr inbounds nuw i8, ptr %0, i64 48 - %34 = getelementptr inbounds nuw i8, ptr %4, i64 48 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %33, ptr noundef nonnull align 8 dereferenceable(24) %34, i64 24, i1 false), !tbaa.struct !325 - %35 = getelementptr inbounds nuw i8, ptr %0, i64 72 - %36 = getelementptr inbounds nuw i8, ptr %4, i64 72 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %36, i64 24, i1 false), !tbaa.struct !325 - %37 = getelementptr inbounds nuw i8, ptr %0, i64 96 - %38 = getelementptr inbounds nuw i8, ptr %4, i64 96 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %37, ptr noundef nonnull align 8 dereferenceable(24) %38, i64 24, i1 false), !tbaa.struct !325 - %39 = getelementptr inbounds nuw i8, ptr %0, i64 120 - %40 = getelementptr inbounds nuw i8, ptr %4, i64 120 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %39, ptr noundef nonnull align 8 dereferenceable(24) %40, i64 24, i1 false), !tbaa.struct !325 - %41 = getelementptr inbounds nuw i8, ptr %0, i64 144 - store i8 0, ptr %41, align 8, !tbaa !326, !alias.scope !322 - br label %77 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(137) %30, i8 0, i64 137, i1 false) + br label %66 42: ; preds = %_ZNK6open3d13visualization14ViewTrajectory11NumOfFramesEv.exit %43 = udiv i64 %2, %19 @@ -8898,7 +8881,7 @@ _ZNK6open3d13visualization14ViewTrajectory11NumOfFramesEv.exit.thread: ; preds = br label %53 53: ; preds = %53, %42 - %.05.i.i.i.i.i.i.i.i.i.i = phi i64 [ 0, %42 ], [ %64, %53 ] + %.05.i.i.i.i.i.i.i.i.i.i = phi i64 [ 0, %31 ], [ %64, %42 ] %54 = getelementptr inbounds nuw double, ptr %5, i64 %.05.i.i.i.i.i.i.i.i.i.i %.idx.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i = shl nuw nsw i64 %.05.i.i.i.i.i.i.i.i.i.i, 5 %55 = getelementptr inbounds nuw i8, ptr %52, i64 %.idx.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i @@ -8914,30 +8897,30 @@ _ZNK6open3d13visualization14ViewTrajectory11NumOfFramesEv.exit.thread: ; preds = store double %63, ptr %54, align 8, !tbaa !41 %64 = add nuw nsw i64 %.05.i.i.i.i.i.i.i.i.i.i, 1 %exitcond.not.i.i.i.i.i.i.i.i.i.i = icmp eq i64 %64, 17 - br i1 %exitcond.not.i.i.i.i.i.i.i.i.i.i, label %_ZN5Eigen6MatrixIdLi17ELi1ELi0ELi17ELi1EEC2INS_7ProductINS0_IdLi17ELi4ELi1ELi17ELi4EEENS0_IdLi4ELi1ELi0ELi4ELi1EEELi0EEEEERKNS_9EigenBaseIT_EE.exit, label %53, !llvm.loop !328 + br i1 %exitcond.not.i.i.i.i.i.i.i.i.i.i, label %_ZN5Eigen6MatrixIdLi17ELi1ELi0ELi17ELi1EEC2INS_7ProductINS0_IdLi17ELi4ELi1ELi17ELi4EEENS0_IdLi4ELi1ELi0ELi4ELi1EEELi0EEEEERKNS_9EigenBaseIT_EE.exit, label %53, !llvm.loop !325 _ZN5Eigen6MatrixIdLi17ELi1ELi0ELi17ELi1EEC2INS_7ProductINS0_IdLi17ELi4ELi1ELi17ELi4EEENS0_IdLi4ELi1ELi0ELi4ELi1EEELi0EEEEERKNS_9EigenBaseIT_EE.exit: ; preds = %53 call void @_ZN6open3d13visualization14ViewParameters20ConvertFromVector17dERKN5Eigen6MatrixIdLi17ELi1ELi0ELi17ELi1EEE(ptr noundef nonnull align 8 dereferenceable(144) %4, ptr noundef nonnull align 8 dereferenceable(136) %5) - store ptr getelementptr inbounds nuw inrange(-16, 40) (i8, ptr @_ZTVN6open3d13visualization14ViewParametersE, i64 16), ptr %0, align 8, !tbaa !4, !alias.scope !329 + store ptr getelementptr inbounds nuw inrange(-16, 40) (i8, ptr @_ZTVN6open3d13visualization14ViewParametersE, i64 16), ptr %0, align 8, !tbaa !4, !alias.scope !326 %65 = getelementptr inbounds nuw i8, ptr %0, i64 8 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %65, ptr noundef nonnull align 8 dereferenceable(16) %6, i64 16, i1 false) %66 = getelementptr inbounds nuw i8, ptr %0, i64 24 %67 = getelementptr inbounds nuw i8, ptr %4, i64 24 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %66, ptr noundef nonnull align 8 dereferenceable(24) %67, i64 24, i1 false), !tbaa.struct !325 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %66, ptr noundef nonnull align 8 dereferenceable(24) %67, i64 24, i1 false), !tbaa.struct !329 %68 = getelementptr inbounds nuw i8, ptr %0, i64 48 %69 = getelementptr inbounds nuw i8, ptr %4, i64 48 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %68, ptr noundef nonnull align 8 dereferenceable(24) %69, i64 24, i1 false), !tbaa.struct !325 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %68, ptr noundef nonnull align 8 dereferenceable(24) %69, i64 24, i1 false), !tbaa.struct !329 %70 = getelementptr inbounds nuw i8, ptr %0, i64 72 %71 = getelementptr inbounds nuw i8, ptr %4, i64 72 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %70, ptr noundef nonnull align 8 dereferenceable(24) %71, i64 24, i1 false), !tbaa.struct !325 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %70, ptr noundef nonnull align 8 dereferenceable(24) %71, i64 24, i1 false), !tbaa.struct !329 %72 = getelementptr inbounds nuw i8, ptr %0, i64 96 %73 = getelementptr inbounds nuw i8, ptr %4, i64 96 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %72, ptr noundef nonnull align 8 dereferenceable(24) %73, i64 24, i1 false), !tbaa.struct !325 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %72, ptr noundef nonnull align 8 dereferenceable(24) %73, i64 24, i1 false), !tbaa.struct !329 %74 = getelementptr inbounds nuw i8, ptr %0, i64 120 %75 = getelementptr inbounds nuw i8, ptr %4, i64 120 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %74, ptr noundef nonnull align 8 dereferenceable(24) %75, i64 24, i1 false), !tbaa.struct !325 + call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %74, ptr noundef nonnull align 8 dereferenceable(24) %75, i64 24, i1 false), !tbaa.struct !329 %76 = getelementptr inbounds nuw i8, ptr %0, i64 144 - store i8 1, ptr %76, align 8, !tbaa !326, !alias.scope !329 + store i8 1, ptr %76, align 8, !tbaa !330, !alias.scope !326 call void @llvm.lifetime.end.p0(i64 136, ptr nonnull %5) #28 br label %77 @@ -9194,19 +9177,19 @@ _ZSt27__uninitialized_default_n_aIPN6open3d13visualization14ViewParametersEmS2_E tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %33, ptr noundef nonnull align 8 dereferenceable(16) %34, i64 16, i1 false) %35 = getelementptr inbounds nuw i8, ptr %.015.i.i.i.i.i, i64 24 %36 = getelementptr inbounds nuw i8, ptr %.01214.i.i.i.i.i, i64 24 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %36, i64 24, i1 false), !tbaa.struct !325 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(24) %36, i64 24, i1 false), !tbaa.struct !329 %37 = getelementptr inbounds nuw i8, ptr %.015.i.i.i.i.i, i64 48 %38 = getelementptr inbounds nuw i8, ptr %.01214.i.i.i.i.i, i64 48 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %37, ptr noundef nonnull align 8 dereferenceable(24) %38, i64 24, i1 false), !tbaa.struct !325 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %37, ptr noundef nonnull align 8 dereferenceable(24) %38, i64 24, i1 false), !tbaa.struct !329 %39 = getelementptr inbounds nuw i8, ptr %.015.i.i.i.i.i, i64 72 %40 = getelementptr inbounds nuw i8, ptr %.01214.i.i.i.i.i, i64 72 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %39, ptr noundef nonnull align 8 dereferenceable(24) %40, i64 24, i1 false), !tbaa.struct !325 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %39, ptr noundef nonnull align 8 dereferenceable(24) %40, i64 24, i1 false), !tbaa.struct !329 %41 = getelementptr inbounds nuw i8, ptr %.015.i.i.i.i.i, i64 96 %42 = getelementptr inbounds nuw i8, ptr %.01214.i.i.i.i.i, i64 96 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(24) %42, i64 24, i1 false), !tbaa.struct !325 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(24) %42, i64 24, i1 false), !tbaa.struct !329 %43 = getelementptr inbounds nuw i8, ptr %.015.i.i.i.i.i, i64 120 %44 = getelementptr inbounds nuw i8, ptr %.01214.i.i.i.i.i, i64 120 - tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(24) %44, i64 24, i1 false), !tbaa.struct !325 + tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(24) %44, i64 24, i1 false), !tbaa.struct !329 %45 = getelementptr inbounds nuw i8, ptr %.01214.i.i.i.i.i, i64 144 %46 = getelementptr inbounds nuw i8, ptr %.015.i.i.i.i.i, i64 144 %.not.i.i.i.i.i = icmp eq ptr %45, %5 @@ -9646,13 +9629,13 @@ attributes #32 = { builtin allocsize(0) } !322 = !{!323} !323 = distinct !{!323, !324, !"_ZSt10make_tupleIJbRN6open3d13visualization14ViewParametersEEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS7_: argument 0"} !324 = distinct !{!324, !"_ZSt10make_tupleIJbRN6open3d13visualization14ViewParametersEEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS7_"} -!325 = !{i64 0, i64 24, !40} -!326 = !{!327, !26, i64 0} -!327 = !{!"_ZTSSt10_Head_baseILm0EbLb0EE", !26, i64 0} -!328 = distinct !{!328, !17} -!329 = !{!330} -!330 = distinct !{!330, !331, !"_ZSt10make_tupleIJbRN6open3d13visualization14ViewParametersEEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS7_: argument 0"} -!331 = distinct !{!331, !"_ZSt10make_tupleIJbRN6open3d13visualization14ViewParametersEEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS7_"} +!325 = distinct !{!325, !17} +!326 = !{!327} +!327 = distinct !{!327, !328, !"_ZSt10make_tupleIJbRN6open3d13visualization14ViewParametersEEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS7_: argument 0"} +!328 = distinct !{!328, !"_ZSt10make_tupleIJbRN6open3d13visualization14ViewParametersEEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS7_"} +!329 = !{i64 0, i64 24, !40} +!330 = !{!331, !26, i64 0} +!331 = !{!"_ZTSSt10_Head_baseILm0EbLb0EE", !26, i64 0} !332 = !{!36, !37, i64 0} !333 = distinct !{!333, !17} !334 = distinct !{!334, !17} diff --git a/bench/opencv/optimized/serialization.ll b/bench/opencv/optimized/serialization.ll index 92c0ad64ed8..79ba4cf2bf3 100644 --- a/bench/opencv/optimized/serialization.ll +++ b/bench/opencv/optimized/serialization.ll @@ -58820,73 +58820,63 @@ _ZNSt12__shared_ptrIN2cv6detail14BasicOpaqueRefELN9__gnu_cxx12_Lock_policyE2EE5r ; Function Attrs: mustprogress uwtable define linkonce_odr hidden void @_ZN2cv6detail10OpaqueRefTINS_4util7variantIJNS_4gapi3wip4draw4TextENS6_5FTextENS6_4RectENS6_6CircleENS6_4LineENS6_6MosaicENS6_5ImageENS6_4PolyEEEEE5resetEv(ptr noundef nonnull align 8 dereferenceable(232) %0) local_unnamed_addr #3 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = alloca %"class.cv::util::variant.516", align 8 - %3 = alloca %"class.cv::util::variant.516", align 8 - %4 = alloca %"class.std::__cxx11::basic_string", align 8 - %5 = alloca %"class.std::allocator", align 1 - %6 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %7 = load i64, ptr %6, align 8, !tbaa !235 - switch i64 %7, label %66 [ + %3 = alloca %"class.std::__cxx11::basic_string", align 8 + %4 = alloca %"class.std::allocator", align 1 + %5 = getelementptr inbounds nuw i8, ptr %0, i64 16 + %6 = load i64, ptr %5, align 8, !tbaa !235 + switch i64 %6, label %61 [ i64 0, label %_ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEE6dtor_hIS5_E4helpEPNSt15aligned_storageILm200ELm8EE4typeE.exit - i64 3, label %17 + i64 3, label %12 ] _ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEE6dtor_hIS5_E4helpEPNSt15aligned_storageILm200ELm8EE4typeE.exit: ; preds = %1 - call void @llvm.lifetime.start.p0(i64 208, ptr nonnull %2) - %8 = getelementptr inbounds nuw i8, ptr %0, i64 24 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(112) %2, i8 0, i64 112, i1 false) - store i64 0, ptr %8, align 8, !tbaa !193 - %9 = getelementptr inbounds nuw i8, ptr %0, i64 32 - %10 = getelementptr inbounds nuw i8, ptr %0, i64 48 - store ptr %10, ptr %9, align 8, !tbaa !87 - store i8 0, ptr %10, align 8 - %11 = getelementptr inbounds nuw i8, ptr %0, i64 40 - store i64 0, ptr %11, align 8, !tbaa !44 - %12 = getelementptr inbounds nuw i8, ptr %0, i64 64 - %13 = getelementptr inbounds nuw i8, ptr %2, i64 40 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(24) %13, i64 24, i1 false) - %14 = getelementptr inbounds nuw i8, ptr %0, i64 88 - %15 = getelementptr inbounds nuw i8, ptr %0, i64 120 - %16 = getelementptr inbounds nuw i8, ptr %2, i64 96 - tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %14, i8 0, i64 32, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(9) %15, ptr noundef nonnull align 8 dereferenceable(9) %16, i64 9, i1 false) - store i64 3, ptr %6, align 8, !tbaa !235 - call void @llvm.lifetime.end.p0(i64 208, ptr nonnull %2) + %7 = getelementptr inbounds nuw i8, ptr %0, i64 24 + store i64 0, ptr %7, align 8, !tbaa !193 + %8 = getelementptr inbounds nuw i8, ptr %0, i64 32 + %9 = getelementptr inbounds nuw i8, ptr %0, i64 48 + store ptr %9, ptr %8, align 8, !tbaa !87 + store i8 0, ptr %9, align 8 + %10 = getelementptr inbounds nuw i8, ptr %0, i64 40 + store i64 0, ptr %10, align 8, !tbaa !44 + %11 = getelementptr inbounds nuw i8, ptr %0, i64 64 + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(65) %11, i8 0, i64 65, i1 false) + store i64 3, ptr %5, align 8, !tbaa !235 br label %76 -17: ; preds = %1 - call void @llvm.lifetime.start.p0(i64 208, ptr nonnull %3) #31 - %18 = getelementptr inbounds nuw i8, ptr %3, i64 8 - %19 = getelementptr inbounds nuw i8, ptr %3, i64 24 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(208) %3, i8 0, i64 112, i1 false) - store ptr %19, ptr %18, align 8, !tbaa !87 - %20 = getelementptr inbounds nuw i8, ptr %3, i64 64 - call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %20, i8 0, i64 32, i1 false) - %21 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %22 = load i64, ptr %21, align 8, !tbaa !193 - %.not.i11 = icmp eq i64 %22, 0 - %23 = getelementptr inbounds nuw i8, ptr %0, i64 32 - br i1 %.not.i11, label %._ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEEaSEOSD_.exit_crit_edge, label %24 +12: ; preds = %1 + call void @llvm.lifetime.start.p0(i64 208, ptr nonnull %2) #31 + %16 = getelementptr inbounds nuw i8, ptr %2, i64 8 + %14 = getelementptr inbounds nuw i8, ptr %2, i64 24 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(208) %2, i8 0, i64 112, i1 false) + store ptr %14, ptr %16, align 8, !tbaa !87 + %15 = getelementptr inbounds nuw i8, ptr %2, i64 64 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %15, i8 0, i64 32, i1 false) + %16 = getelementptr inbounds nuw i8, ptr %0, i64 24 + %17 = load i64, ptr %16, align 8, !tbaa !193 + %.not.i11 = icmp eq i64 %17, 0 + %18 = getelementptr inbounds nuw i8, ptr %0, i64 32 + br i1 %.not.i11, label %._ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEEaSEOSD_.exit_crit_edge, label %19 -24: ; preds = %17 - %25 = getelementptr inbounds nuw [8 x ptr], ptr @constinit.110, i64 0, i64 %22 +24: ; preds = %12 + %25 = getelementptr inbounds nuw [8 x ptr], ptr @constinit.110, i64 0, i64 %17 %26 = load ptr, ptr %25, align 8, !tbaa !261 - invoke void %26(ptr noundef nonnull %23) - to label %27 unwind label %57 + invoke void %21(ptr noundef nonnull %18) + to label %22 unwind label %57 27: ; preds = %24 - %28 = load i64, ptr %3, align 8, !tbaa !193 + %28 = load i64, ptr %2, align 8, !tbaa !193 %29 = getelementptr inbounds nuw [8 x ptr], ptr @constinit.113, i64 0, i64 %28 %30 = load ptr, ptr %29, align 8, !tbaa !261 - invoke void %30(ptr noundef nonnull %23, ptr noundef nonnull %18) - to label %31 unwind label %57 + invoke void %25(ptr noundef nonnull %18, ptr noundef nonnull %13) + to label %26 unwind label %57 31: ; preds = %27 - %32 = load i64, ptr %3, align 8, !tbaa !193 - store i64 %32, ptr %21, align 8, !tbaa !193 + %32 = load i64, ptr %2, align 8, !tbaa !193 + store i64 %32, ptr %16, align 8, !tbaa !193 br label %_ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEEaSEOSD_.exit -._ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEEaSEOSD_.exit_crit_edge: ; preds = %17 - %33 = load ptr, ptr %23, align 8, !tbaa !39 +._ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEEaSEOSD_.exit_crit_edge: ; preds = %12 + %33 = load ptr, ptr %18, align 8, !tbaa !39 %34 = getelementptr inbounds nuw i8, ptr %0, i64 48 %35 = icmp eq ptr %33, %34 br i1 %35, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread29.i.i.i @@ -58899,43 +58889,43 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i br label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread29.i.i.i _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread29.i.i.i: ; preds = %._ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEEaSEOSD_.exit_crit_edge, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i - %39 = getelementptr inbounds nuw i8, ptr %3, i64 16 - %.not22.i.i.i = icmp eq ptr %18, %23 + %39 = getelementptr inbounds nuw i8, ptr %2, i64 16 + %.not22.i.i.i = icmp eq ptr %13, %18 br i1 %.not22.i.i.i, label %_ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEE6move_hIS5_E4helpEPNSt15aligned_storageILm200ELm8EE4typeESJ_.exit, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm.exit.i.i.i, !prof !125 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm.exit.i.i.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread29.i.i.i %40 = getelementptr inbounds nuw i8, ptr %0, i64 40 store i64 0, ptr %40, align 8, !tbaa !44 store i8 0, ptr %33, align 1, !tbaa !56 - %.pre.i.i.i = load ptr, ptr %18, align 8, !tbaa !39 + %.pre.i.i.i = load ptr, ptr %13, align 8, !tbaa !39 br label %_ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEE6move_hIS5_E4helpEPNSt15aligned_storageILm200ELm8EE4typeESJ_.exit _ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEE6move_hIS5_E4helpEPNSt15aligned_storageILm200ELm8EE4typeESJ_.exit: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread29.i.i.i, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm.exit.i.i.i - %41 = phi ptr [ %.pre.i.i.i, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm.exit.i.i.i ], [ %19, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread29.i.i.i ] + %41 = phi ptr [ %.pre.i.i.i, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm.exit.i.i.i ], [ %14, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread29.i.i.i ] store i64 0, ptr %39, align 8, !tbaa !44 store i8 0, ptr %41, align 1, !tbaa !56 %42 = getelementptr inbounds nuw i8, ptr %0, i64 64 - %43 = getelementptr inbounds nuw i8, ptr %3, i64 40 + %43 = getelementptr inbounds nuw i8, ptr %2, i64 40 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(24) %43, i64 24, i1 false) %44 = getelementptr inbounds nuw i8, ptr %0, i64 88 - %45 = load double, ptr %20, align 8, !tbaa !27 + %45 = load double, ptr %15, align 8, !tbaa !27 store double %45, ptr %44, align 8, !tbaa !27 - %46 = getelementptr inbounds nuw i8, ptr %3, i64 72 + %46 = getelementptr inbounds nuw i8, ptr %2, i64 72 %47 = load double, ptr %46, align 8, !tbaa !27 %48 = getelementptr inbounds nuw i8, ptr %0, i64 96 store double %47, ptr %48, align 8, !tbaa !27 - %49 = getelementptr inbounds nuw i8, ptr %3, i64 80 + %49 = getelementptr inbounds nuw i8, ptr %2, i64 80 %50 = load double, ptr %49, align 8, !tbaa !27 %51 = getelementptr inbounds nuw i8, ptr %0, i64 104 store double %50, ptr %51, align 8, !tbaa !27 - %52 = getelementptr inbounds nuw i8, ptr %3, i64 88 + %52 = getelementptr inbounds nuw i8, ptr %2, i64 88 %53 = load double, ptr %52, align 8, !tbaa !27 %54 = getelementptr inbounds nuw i8, ptr %0, i64 112 store double %53, ptr %54, align 8, !tbaa !27 %55 = getelementptr inbounds nuw i8, ptr %0, i64 120 - %56 = getelementptr inbounds nuw i8, ptr %3, i64 96 + %56 = getelementptr inbounds nuw i8, ptr %2, i64 96 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(9) %55, ptr noundef nonnull align 8 dereferenceable(9) %56, i64 9, i1 false) - %.pre = load i64, ptr %3, align 8, !tbaa !193 + %.pre = load i64, ptr %2, align 8, !tbaa !193 br label %_ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEEaSEOSD_.exit 57: ; preds = %27, %24 @@ -58946,10 +58936,10 @@ _ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4 unreachable _ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEEaSEOSD_.exit: ; preds = %_ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEE6move_hIS5_E4helpEPNSt15aligned_storageILm200ELm8EE4typeESJ_.exit, %31 - %60 = phi i64 [ %.pre, %_ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEE6move_hIS5_E4helpEPNSt15aligned_storageILm200ELm8EE4typeESJ_.exit ], [ %32, %31 ] + %60 = phi i64 [ %.pre, %_ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEE6move_hIS5_E4helpEPNSt15aligned_storageILm200ELm8EE4typeESJ_.exit ], [ %32, %26 ] %61 = getelementptr inbounds nuw [8 x ptr], ptr @constinit.110, i64 0, i64 %60 %62 = load ptr, ptr %61, align 8, !tbaa !261 - invoke void %62(ptr noundef nonnull %18) + invoke void %57(ptr noundef nonnull %13) to label %_ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEED2Ev.exit12 unwind label %63 63: ; preds = %_ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEEaSEOSD_.exit @@ -58960,15 +58950,15 @@ _ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4 unreachable _ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEED2Ev.exit12: ; preds = %_ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEEaSEOSD_.exit - call void @llvm.lifetime.end.p0(i64 208, ptr nonnull %3) #31 + call void @llvm.lifetime.end.p0(i64 208, ptr nonnull %2) #31 br label %76 66: ; preds = %1 - call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #31 - call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #31 - call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull @.str.69, ptr noundef nonnull align 1 dereferenceable(1) %5) - invoke void @_ZN2cv5errorEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcS9_i(i32 noundef -2, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull @__func__._ZN2cv6detail10VectorRefTIiE5resetEv, ptr noundef nonnull @.str.120, i32 noundef 174) #32 - to label %67 unwind label %68 + call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #31 + call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #31 + call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull @.str.69, ptr noundef nonnull align 1 dereferenceable(1) %4) + invoke void @_ZN2cv5errorEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcS9_i(i32 noundef -2, ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull @__func__._ZN2cv6detail10VectorRefTIiE5resetEv, ptr noundef nonnull @.str.120, i32 noundef 174) #32 + to label %62 unwind label %68 67: ; preds = %66 unreachable @@ -58976,13 +58966,13 @@ _ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4 68: ; preds = %66 %69 = landingpad { ptr, i32 } cleanup - %70 = load ptr, ptr %4, align 8, !tbaa !39 - %71 = getelementptr inbounds nuw i8, ptr %4, i64 16 + %70 = load ptr, ptr %3, align 8, !tbaa !39 + %71 = getelementptr inbounds nuw i8, ptr %3, i64 16 %72 = icmp eq ptr %70, %71 br i1 %72, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i15, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i14 _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i15: ; preds = %68 - %73 = getelementptr inbounds nuw i8, ptr %4, i64 8 + %73 = getelementptr inbounds nuw i8, ptr %3, i64 8 %74 = load i64, ptr %73, align 8, !tbaa !44 %75 = icmp ult i64 %74, 16 call void @llvm.assume(i1 %75) @@ -58993,8 +58983,8 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i14 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit16 _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit16: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i14, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i15 - call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #31 - call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #31 + call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #31 + call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #31 resume { ptr, i32 } %69 76: ; preds = %_ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEED2Ev.exit12, %_ZN2cv4util7variantIJNS_4gapi3wip4draw4TextENS4_5FTextENS4_4RectENS4_6CircleENS4_4LineENS4_6MosaicENS4_5ImageENS4_4PolyEEE6dtor_hIS5_E4helpEPNSt15aligned_storageILm200ELm8EE4typeE.exit diff --git a/bench/openusd/optimized/unitTestDelegate.ll b/bench/openusd/optimized/unitTestDelegate.ll index 54e76e4a8b5..898624493f2 100644 --- a/bench/openusd/optimized/unitTestDelegate.ll +++ b/bench/openusd/optimized/unitTestDelegate.ll @@ -10887,7 +10887,7 @@ define void @_ZN32pxrInternal_v0_24__pxrReserved__18HdUnitTestDelegate9AddCamera to label %_ZN32pxrInternal_v0_24__pxrReserved__27Tf_StaticDataDefaultFactoryINS_32HdPrimTypeTokens_StaticTokenTypeEE3NewEv.exit.i.i.i unwind label %10 common.resume: ; preds = %32, %10 - %common.resume.op = phi { ptr, i32 } [ %11, %10 ], [ %33, %32 ] + %common.resume.op = phi { ptr, i32 } [ %11, %10 ], [ %33, %31 ] resume { ptr, i32 } %common.resume.op 10: ; preds = %8 @@ -10943,8 +10943,7 @@ _ZNKSt14default_deleteISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcE _ZN32pxrInternal_v0_24__pxrReserved__18HdUnitTestDelegate7_CameraD2Ev.exit: ; preds = %_ZNKSt14default_deleteISt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN32pxrInternal_v0_24__pxrReserved__7VtValueESt4lessIvESaISt4pairIKS6_S8_EEEEclEPSF_.exit.i.i.i.i.i.i, %22 %30 = getelementptr inbounds nuw i8, ptr %21, i64 8 - %31 = getelementptr inbounds nuw i8, ptr %3, i64 8 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %30, ptr noundef nonnull align 8 dereferenceable(64) %31, i64 64, i1 false) + tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %30, i8 0, i64 64, i1 false) ret void 32: ; preds = %_ZNK32pxrInternal_v0_24__pxrReserved__12TfStaticDataINS_32HdPrimTypeTokens_StaticTokenTypeENS_27Tf_StaticDataDefaultFactoryIS1_EEEptEv.exit diff --git a/bench/openusd/optimized/xformCache.ll b/bench/openusd/optimized/xformCache.ll index 770270452f3..b04024a28c7 100644 --- a/bench/openusd/optimized/xformCache.ll +++ b/bench/openusd/optimized/xformCache.ll @@ -837,8 +837,7 @@ _ZNSt4pairIKN32pxrInternal_v0_24__pxrReserved__7UsdPrimENS0_17UsdGeomXformCache6 %49 = getelementptr inbounds nuw i8, ptr %6, i64 56 store i8 0, ptr %49, align 8 %50 = getelementptr inbounds nuw i8, ptr %6, i64 64 - %51 = getelementptr inbounds nuw i8, ptr %7, i64 32 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(129) %50, ptr noundef nonnull align 8 dereferenceable(129) %51, i64 129, i1 false) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(129) %50, i8 0, i64 129, i1 false) call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) store ptr %0, ptr %5, align 8 %52 = invoke { ptr, i8 } @_ZNSt10_HashtableIN32pxrInternal_v0_24__pxrReserved__7UsdPrimESt4pairIKS1_NS0_17UsdGeomXformCache6_EntryEESaIS6_ENSt8__detail10_Select1stESt8equal_toIS1_ENS0_6TfHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE16_M_insert_uniqueIRS3_RKS6_NS8_10_AllocNodeISaINS8_10_Hash_nodeIS6_Lb1EEEEEEEES2_INS8_14_Node_iteratorIS6_Lb0ELb1EEEbEOT_OT0_RKT1_(ptr noundef nonnull align 8 dereferenceable(56) %0, ptr noundef nonnull align 8 dereferenceable(200) %6, ptr noundef nonnull align 8 dereferenceable(200) %6, ptr noundef nonnull align 8 dereferenceable(8) %5) @@ -870,7 +869,7 @@ _ZNK32pxrInternal_v0_24__pxrReserved__18Usd_PrimDataHandlecvbEv.exit.i: ; preds 61: ; preds = %_ZNK32pxrInternal_v0_24__pxrReserved__18Usd_PrimDataHandlecvbEv.exit.i %62 = load ptr, ptr getelementptr inbounds nuw inrange(-48, 16) (i8, ptr @_ZTVN32pxrInternal_v0_24__pxrReserved__16UsdGeomXformableE, i64 48), align 8 - %63 = invoke noundef zeroext i1 %62(ptr noundef nonnull align 8 dereferenceable(24) %8) + %63 = invoke noundef zeroext i1 %61(ptr noundef nonnull align 8 dereferenceable(24) %8) to label %_ZNK32pxrInternal_v0_24__pxrReserved__13UsdSchemaBasecvbEv.exit unwind label %108 _ZNK32pxrInternal_v0_24__pxrReserved__13UsdSchemaBasecvbEv.exit: ; preds = %61 @@ -878,7 +877,7 @@ _ZNK32pxrInternal_v0_24__pxrReserved__13UsdSchemaBasecvbEv.exit: ; preds = %61 64: ; preds = %_ZNK32pxrInternal_v0_24__pxrReserved__13UsdSchemaBasecvbEv.exit invoke void @_ZN32pxrInternal_v0_24__pxrReserved__16UsdGeomXformable10XformQueryC1ERKS0_(ptr noundef nonnull align 8 dereferenceable(25) %9, ptr noundef nonnull align 8 dereferenceable(24) %8) - to label %65 unwind label %108 + to label %64 unwind label %108 65: ; preds = %64 %66 = load ptr, ptr %53, align 8 @@ -899,7 +898,7 @@ _ZNK32pxrInternal_v0_24__pxrReserved__13UsdSchemaBasecvbEv.exit: ; preds = %61 br i1 %.not4.i.i.i.i.i.i.i, label %_ZSt8_DestroyIPN32pxrInternal_v0_24__pxrReserved__14UsdGeomXformOpES1_EvT_S3_RSaIT0_E.exit.i.i.i.i, label %.lr.ph.i.i.i.i.i.i.i .lr.ph.i.i.i.i.i.i.i: ; preds = %65, %_ZSt8_DestroyIN32pxrInternal_v0_24__pxrReserved__14UsdGeomXformOpEEvPT_.exit.i.i.i.i.i.i.i - %.05.i.i.i.i.i.i.i = phi ptr [ %82, %_ZSt8_DestroyIN32pxrInternal_v0_24__pxrReserved__14UsdGeomXformOpEEvPT_.exit.i.i.i.i.i.i.i ], [ %66, %65 ] + %.05.i.i.i.i.i.i.i = phi ptr [ %82, %_ZSt8_DestroyIN32pxrInternal_v0_24__pxrReserved__14UsdGeomXformOpEEvPT_.exit.i.i.i.i.i.i.i ], [ %66, %64 ] call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) %76 = getelementptr inbounds nuw i8, ptr %.05.i.i.i.i.i.i.i, i64 120 %77 = load i8, ptr %76, align 8 @@ -1020,7 +1019,7 @@ _ZN32pxrInternal_v0_24__pxrReserved__16UsdGeomXformable10XformQueryD2Ev.exit: ; ret ptr %53 114: ; preds = %108, %106 - %.pn = phi { ptr, i32 } [ %109, %108 ], [ %107, %106 ] + %.pn = phi { ptr, i32 } [ %109, %107 ], [ %107, %105 ] resume { ptr, i32 } %.pn } diff --git a/bench/pingora-rs/optimized/2ov174hlbjn2zukn47jy5qk00.ll b/bench/pingora-rs/optimized/2ov174hlbjn2zukn47jy5qk00.ll index 2e851a7a6b7..da597bc5e7c 100644 --- a/bench/pingora-rs/optimized/2ov174hlbjn2zukn47jy5qk00.ll +++ b/bench/pingora-rs/optimized/2ov174hlbjn2zukn47jy5qk00.ll @@ -496,7 +496,6 @@ define hidden { i64, i64 } @"_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17 ; Function Attrs: nonlazybind uwtable define hidden void @"_ZN36_$LT$str$u20$as$u20$nix..NixPath$GT$13with_nix_path17h02d74474d0448337E"(ptr dead_on_unwind noalias noundef writable writeonly sret([116 x i8]) align 4 captures(none) dereferenceable(116) initializes((0, 2), (4, 8)) %0, ptr noalias noundef nonnull readonly align 1 %1, i64 noundef %2) unnamed_addr #0 personality ptr @rust_eh_personality { - %4 = alloca [110 x i8], align 2 %.sroa.5.i.i = alloca [108 x i8], align 4 %.sroa.7.i = alloca [104 x i8], align 4 %5 = alloca [24 x i8], align 8 @@ -536,28 +535,24 @@ define hidden void @"_ZN36_$LT$str$u20$as$u20$nix..NixPath$GT$13with_nix_path17h %20 = load i64, ptr %19, align 8, !noalias !21, !noundef !3 call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %.sroa.7.i) call void @llvm.lifetime.start.p0(i64 108, ptr nonnull %.sroa.5.i.i) - call void @llvm.lifetime.start.p0(i64 110, ptr nonnull %4) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 2 dereferenceable(110) %4, i8 0, i64 110, i1 false), !noalias !26 - %21 = getelementptr inbounds nuw i8, ptr %4, i64 2 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(108) %.sroa.5.i.i, ptr noundef nonnull align 2 dereferenceable(108) %21, i64 108, i1 false), !noalias !26 - call void @llvm.lifetime.end.p0(i64 110, ptr nonnull %4) - %22 = add i64 %20, -1 - %23 = icmp ugt i64 %22, 107 - br i1 %23, label %"_ZN3nix3sys6socket4addr8UnixAddr3new28_$u7b$$u7b$closure$u7d$$u7d$17h3bfffb2b4a229441E.exit.i", label %24 - -24: ; preds = %16 - %25 = trunc nuw nsw i64 %20 to i8 - %26 = add nuw nsw i8 %25, 1 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %.sroa.5.i.i, ptr nonnull readonly align 1 %18, i64 %22, i1 false), !noalias !30 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(108) %.sroa.5.i.i, i8 0, i64 108, i1 false), !noalias !26 + %20 = add i64 %19, -1 + %21 = icmp ugt i64 %20, 107 + br i1 %21, label %"_ZN3nix3sys6socket4addr8UnixAddr3new28_$u7b$$u7b$closure$u7d$$u7d$17h3bfffb2b4a229441E.exit.i", label %22 + +22:; preds = %15 + %23 = trunc nuw nsw i64 %21 to i8 + %24 = add nuw nsw i8 %23, 1 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %.sroa.5.i.i, ptr nonnull readonly align 1 %17, i64 %20, i1 false), !noalias !30 %.sroa.5.i.i.0..sroa.5.i.i.0..sroa.5.i.i.0..sroa.5.i.0..sroa.5.i.0..sroa.5.4.copyload.i = load i32, ptr %.sroa.5.i.i, align 4, !noalias !31 %.sroa.7.4..sroa.5.i.sroa_idx.i = getelementptr inbounds nuw i8, ptr %.sroa.5.i.i, i64 4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(104) %.sroa.7.i, ptr noundef nonnull align 4 dereferenceable(104) %.sroa.7.4..sroa.5.i.sroa_idx.i, i64 104, i1 false), !noalias !31 br label %"_ZN3nix3sys6socket4addr8UnixAddr3new28_$u7b$$u7b$closure$u7d$$u7d$17h3bfffb2b4a229441E.exit.i" -"_ZN3nix3sys6socket4addr8UnixAddr3new28_$u7b$$u7b$closure$u7d$$u7d$17h3bfffb2b4a229441E.exit.i": ; preds = %24, %16 - %.sroa.5.0.i = phi i32 [ %.sroa.5.i.i.0..sroa.5.i.i.0..sroa.5.i.i.0..sroa.5.i.0..sroa.5.i.0..sroa.5.4.copyload.i, %24 ], [ 36, %16 ] - %.sroa.72.0.i = phi i8 [ %26, %24 ], [ undef, %16 ] - %.sink.i.i = phi i16 [ 0, %24 ], [ 1, %16 ] +"_ZN3nix3sys6socket4addr8UnixAddr3new28_$u7b$$u7b$closure$u7d$$u7d$17h3bfffb2b4a229441E.exit.i": ; preds = %22, %16 + %.sroa.5.0.i = phi i32 [ %.sroa.5.i.i.0..sroa.5.i.i.0..sroa.5.i.i.0..sroa.5.i.0..sroa.5.i.0..sroa.5.4.copyload.i, %22 ], [ 36, %15 ] + %.sroa.72.0.i = phi i8 [ %24, %22 ], [ undef, %15 ] + %.sink.i.i = phi i16 [ 0, %22 ], [ 1, %15 ] call void @llvm.lifetime.end.p0(i64 108, ptr nonnull %.sroa.5.i.i) store i16 %.sink.i.i, ptr %0, align 4, !alias.scope !18, !noalias !24 %.sroa.4.0..sroa_idx.i = getelementptr inbounds nuw i8, ptr %0, i64 2 @@ -831,7 +826,6 @@ define { i32, i32 } @_ZN3nix24with_nix_path_allocating17h085d3a6150011876E(ptr n ; Function Attrs: cold nonlazybind uwtable define void @_ZN3nix24with_nix_path_allocating17h87a8e8b9e0eac605E(ptr dead_on_unwind noalias noundef writable writeonly sret([116 x i8]) align 4 captures(none) dereferenceable(116) initializes((0, 2), (4, 8)) %0, ptr noalias noundef nonnull readonly align 1 %1, i64 noundef %2) unnamed_addr #4 personality ptr @rust_eh_personality { - %4 = alloca [110 x i8], align 2 %.sroa.5.i = alloca [108 x i8], align 4 %.sroa.7 = alloca [104 x i8], align 4 %5 = alloca [32 x i8], align 8 @@ -848,28 +842,24 @@ define void @_ZN3nix24with_nix_path_allocating17h87a8e8b9e0eac605E(ptr dead_on_u %11 = load i64, ptr %10, align 8, !noundef !3 call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %.sroa.7) call void @llvm.lifetime.start.p0(i64 108, ptr nonnull %.sroa.5.i) - call void @llvm.lifetime.start.p0(i64 110, ptr nonnull %4) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 2 dereferenceable(110) %4, i8 0, i64 110, i1 false), !noalias !59 - %12 = getelementptr inbounds nuw i8, ptr %4, i64 2 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(108) %.sroa.5.i, ptr noundef nonnull align 2 dereferenceable(108) %12, i64 108, i1 false), !noalias !59 - call void @llvm.lifetime.end.p0(i64 110, ptr nonnull %4) - %13 = add i64 %11, -1 - %14 = icmp ugt i64 %13, 107 - br i1 %14, label %18, label %15 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(108) %.sroa.5.i, i8 0, i64 108, i1 false), !noalias !59 + %11 = add i64 %10, -1 + %12 = icmp ugt i64 %12, 107 + br i1 %12, label %18, label %15 15: ; preds = %7 %16 = trunc nuw nsw i64 %11 to i8 %17 = add nuw nsw i8 %16, 1 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %.sroa.5.i, ptr nonnull readonly align 1 %9, i64 %13, i1 false), !noalias !63 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %.sroa.5.i, ptr nonnull readonly align 1 %9, i64 %11, i1 false), !noalias !63 %.sroa.5.i.0..sroa.5.i.0..sroa.5.i.0..sroa.518.4.copyload = load i32, ptr %.sroa.5.i, align 4, !noalias !64 %.sroa.7.4..sroa.5.i.sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.5.i, i64 4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(104) %.sroa.7, ptr noundef nonnull align 4 dereferenceable(104) %.sroa.7.4..sroa.5.i.sroa_idx, i64 104, i1 false), !noalias !64 br label %18 18: ; preds = %15, %7 - %.sroa.518.0 = phi i32 [ %.sroa.5.i.0..sroa.5.i.0..sroa.5.i.0..sroa.518.4.copyload, %15 ], [ 36, %7 ] - %.sroa.719.0 = phi i8 [ %17, %15 ], [ undef, %7 ] - %.sink.i = phi i16 [ 0, %15 ], [ 1, %7 ] + %.sroa.518.0 = phi i32 [ %.sroa.5.i.0..sroa.5.i.0..sroa.5.i.0..sroa.518.4.copyload, %13 ], [ 36, %7 ] + %.sroa.719.0 = phi i8 [ %17, %13 ], [ undef, %7 ] + %.sink.i = phi i16 [ 0, %13 ], [ 1, %7 ] call void @llvm.lifetime.end.p0(i64 108, ptr nonnull %.sroa.5.i) store i16 %.sink.i, ptr %0, align 4 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 2 diff --git a/bench/pingora-rs/optimized/acx590v32pn6eo20biyujqd8g.ll b/bench/pingora-rs/optimized/acx590v32pn6eo20biyujqd8g.ll index 24bdc62a79c..a7c8d025b88 100644 --- a/bench/pingora-rs/optimized/acx590v32pn6eo20biyujqd8g.ll +++ b/bench/pingora-rs/optimized/acx590v32pn6eo20biyujqd8g.ll @@ -5167,7 +5167,6 @@ define hidden { i64, ptr } @_ZN2h25proto9ping_pong8PingPong17send_pending_pong17 ; Function Attrs: cold nonlazybind uwtable define void @_ZN3nix24with_nix_path_allocating17hcb2703c0d3663fb6E(ptr dead_on_unwind noalias noundef writable writeonly sret([116 x i8]) align 4 captures(none) dereferenceable(116) initializes((0, 2), (4, 8)) %0, ptr noalias noundef nonnull readonly align 1 %1, i64 noundef %2) unnamed_addr #2 personality ptr @rust_eh_personality { - %4 = alloca [110 x i8], align 2 %.sroa.5.i = alloca [108 x i8], align 4 %.sroa.7 = alloca [104 x i8], align 4 %5 = alloca [32 x i8], align 8 @@ -5184,28 +5183,24 @@ define void @_ZN3nix24with_nix_path_allocating17hcb2703c0d3663fb6E(ptr dead_on_u %11 = load i64, ptr %10, align 8, !noundef !3 call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %.sroa.7) call void @llvm.lifetime.start.p0(i64 108, ptr nonnull %.sroa.5.i) - call void @llvm.lifetime.start.p0(i64 110, ptr nonnull %4) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 2 dereferenceable(110) %4, i8 0, i64 110, i1 false), !noalias !201 - %12 = getelementptr inbounds nuw i8, ptr %4, i64 2 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(108) %.sroa.5.i, ptr noundef nonnull align 2 dereferenceable(108) %12, i64 108, i1 false), !noalias !201 - call void @llvm.lifetime.end.p0(i64 110, ptr nonnull %4) - %13 = add i64 %11, -1 - %14 = icmp ugt i64 %13, 107 - br i1 %14, label %18, label %15 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(108) %.sroa.5.i, i8 0, i64 108, i1 false), !noalias !201 + %11 = add i64 %10, -1 + %12 = icmp ugt i64 %12, 107 + br i1 %12, label %18, label %13 15: ; preds = %7 %16 = trunc nuw nsw i64 %11 to i8 %17 = add nuw nsw i8 %16, 1 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %.sroa.5.i, ptr nonnull readonly align 1 %9, i64 %13, i1 false), !noalias !205 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %.sroa.5.i, ptr nonnull readonly align 1 %9, i64 %11, i1 false), !noalias !205 %.sroa.5.i.0..sroa.5.i.0..sroa.5.i.0..sroa.518.4.copyload = load i32, ptr %.sroa.5.i, align 4, !noalias !206 %.sroa.7.4..sroa.5.i.sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.5.i, i64 4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(104) %.sroa.7, ptr noundef nonnull align 4 dereferenceable(104) %.sroa.7.4..sroa.5.i.sroa_idx, i64 104, i1 false), !noalias !206 br label %18 18: ; preds = %15, %7 - %.sroa.518.0 = phi i32 [ %.sroa.5.i.0..sroa.5.i.0..sroa.5.i.0..sroa.518.4.copyload, %15 ], [ 36, %7 ] - %.sroa.719.0 = phi i8 [ %17, %15 ], [ undef, %7 ] - %.sink.i = phi i16 [ 0, %15 ], [ 1, %7 ] + %.sroa.518.0 = phi i32 [ %.sroa.5.i.0..sroa.5.i.0..sroa.5.i.0..sroa.518.4.copyload, %13 ], [ 36, %7 ] + %.sroa.719.0 = phi i8 [ %17, %13 ], [ undef, %7 ] + %.sink.i = phi i16 [ 0, %13 ], [ 1, %7 ] call void @llvm.lifetime.end.p0(i64 108, ptr nonnull %.sroa.5.i) store i16 %.sink.i, ptr %0, align 4 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 2 @@ -5286,7 +5281,6 @@ define hidden noundef zeroext i1 @"_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$G ; Function Attrs: nonlazybind uwtable define hidden void @"_ZN45_$LT$$u5b$u8$u5d$$u20$as$u20$nix..NixPath$GT$13with_nix_path17h7ca00e350a33f2a9E"(ptr dead_on_unwind noalias noundef writable writeonly sret([116 x i8]) align 4 captures(none) dereferenceable(116) initializes((0, 2), (4, 8)) %0, ptr noalias noundef nonnull readonly align 1 %1, i64 noundef %2) unnamed_addr #0 personality ptr @rust_eh_personality { - %4 = alloca [110 x i8], align 2 %.sroa.5.i = alloca [108 x i8], align 4 %.sroa.7 = alloca [104 x i8], align 4 %5 = alloca [24 x i8], align 8 @@ -5325,28 +5319,24 @@ define hidden void @"_ZN45_$LT$$u5b$u8$u5d$$u20$as$u20$nix..NixPath$GT$13with_ni %20 = load i64, ptr %19, align 8, !noundef !3 call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %.sroa.7) call void @llvm.lifetime.start.p0(i64 108, ptr nonnull %.sroa.5.i) - call void @llvm.lifetime.start.p0(i64 110, ptr nonnull %4) - call void @llvm.memset.p0.i64(ptr noundef nonnull align 2 dereferenceable(110) %4, i8 0, i64 110, i1 false), !noalias !212 - %21 = getelementptr inbounds nuw i8, ptr %4, i64 2 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(108) %.sroa.5.i, ptr noundef nonnull align 2 dereferenceable(108) %21, i64 108, i1 false), !noalias !212 - call void @llvm.lifetime.end.p0(i64 110, ptr nonnull %4) - %22 = add i64 %20, -1 - %23 = icmp ugt i64 %22, 107 - br i1 %23, label %"_ZN3nix3sys6socket4addr8UnixAddr3new28_$u7b$$u7b$closure$u7d$$u7d$17h317b9d0f33026ff9E.exit", label %24 - -24: ; preds = %16 - %25 = trunc nuw nsw i64 %20 to i8 - %26 = add nuw nsw i8 %25, 1 - call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %.sroa.5.i, ptr nonnull readonly align 1 %18, i64 %22, i1 false), !noalias !216 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(108) %.sroa.5.i, i8 0, i64 108, i1 false), !noalias !212 + %20 = add i64 %19, -1 + %21 = icmp ugt i64 %20, 107 + br i1 %21, label %"_ZN3nix3sys6socket4addr8UnixAddr3new28_$u7b$$u7b$closure$u7d$$u7d$17h317b9d0f33026ff9E.exit", label %22 + +22:; preds = %15 + %23 = trunc nuw nsw i64 %21 to i8 + %24 = add nuw nsw i8 %23, 1 + call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 4 %.sroa.5.i, ptr nonnull readonly align 1 %17, i64 %20, i1 false), !noalias !216 %.sroa.5.i.0..sroa.5.i.0..sroa.5.i.0..sroa.5.4.copyload = load i32, ptr %.sroa.5.i, align 4, !noalias !217 %.sroa.7.4..sroa.5.i.sroa_idx = getelementptr inbounds nuw i8, ptr %.sroa.5.i, i64 4 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(104) %.sroa.7, ptr noundef nonnull align 4 dereferenceable(104) %.sroa.7.4..sroa.5.i.sroa_idx, i64 104, i1 false), !noalias !217 br label %"_ZN3nix3sys6socket4addr8UnixAddr3new28_$u7b$$u7b$closure$u7d$$u7d$17h317b9d0f33026ff9E.exit" -"_ZN3nix3sys6socket4addr8UnixAddr3new28_$u7b$$u7b$closure$u7d$$u7d$17h317b9d0f33026ff9E.exit": ; preds = %16, %24 - %.sroa.5.0 = phi i32 [ %.sroa.5.i.0..sroa.5.i.0..sroa.5.i.0..sroa.5.4.copyload, %24 ], [ 36, %16 ] - %.sroa.72.0 = phi i8 [ %26, %24 ], [ undef, %16 ] - %.sink.i = phi i16 [ 0, %24 ], [ 1, %16 ] +"_ZN3nix3sys6socket4addr8UnixAddr3new28_$u7b$$u7b$closure$u7d$$u7d$17h317b9d0f33026ff9E.exit": ; preds = %16, %22 + %.sroa.5.0 = phi i32 [ %.sroa.5.i.0..sroa.5.i.0..sroa.5.i.0..sroa.5.4.copyload, %22 ], [ 36, %15 ] + %.sroa.72.0 = phi i8 [ %24, %22 ], [ undef, %15 ] + %.sink.i = phi i16 [ 0, %22 ], [ 1, %15 ] call void @llvm.lifetime.end.p0(i64 108, ptr nonnull %.sroa.5.i) store i16 %.sink.i, ptr %0, align 4 %.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %0, i64 2 diff --git a/bench/yosys/optimized/abc.ll b/bench/yosys/optimized/abc.ll index a4c3adfc60a..3420d3c3f43 100644 --- a/bench/yosys/optimized/abc.ll +++ b/bench/yosys/optimized/abc.ll @@ -175651,10 +175651,9 @@ _ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS_8CellTypeENS0_8hash_opsIS3_EEE7do_ call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %51, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %52, i8 0, i64 24, i1 false) %53 = getelementptr inbounds nuw i8, ptr %4, i64 128 - %54 = getelementptr inbounds nuw i8, ptr %5, i64 120 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(3) %53, ptr noundef nonnull align 8 dereferenceable(3) %54, i64 3, i1 false) - %55 = invoke noundef i32 @_ZN5Yosys7hashlib4dictINS_5RTLIL8IdStringENS_8CellTypeENS0_8hash_opsIS3_EEE9do_insertEOSt4pairIS3_S4_ERj(ptr noundef nonnull align 8 dereferenceable(49) %0, ptr noundef nonnull align 8 dereferenceable(136) %4, ptr noundef nonnull align 4 dereferenceable(4) %3) - to label %56 unwind label %72 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(3) %53, i8 0, i64 3, i1 false) + %54 = invoke noundef i32 @_ZN5Yosys7hashlib4dictINS_5RTLIL8IdStringENS_8CellTypeENS0_8hash_opsIS3_EEE9do_insertEOSt4pairIS3_S4_ERj(ptr noundef nonnull align 8 dereferenceable(49) %0, ptr noundef nonnull align 8 dereferenceable(136) %4, ptr noundef nonnull align 4 dereferenceable(4) %3) + to label %55 unwind label %71 56: ; preds = %45 call void @_ZN5Yosys8CellTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(123) %46) #32 @@ -175703,7 +175702,7 @@ _ZNSt4pairIN5Yosys5RTLIL8IdStringENS0_8CellTypeEED2Ev.exit: ; preds = %56, %61, resume { ptr, i32 } %73 74: ; preds = %_ZNSt4pairIN5Yosys5RTLIL8IdStringENS0_8CellTypeEED2Ev.exit, %_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS_8CellTypeENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit - %.08 = phi i32 [ %55, %_ZNSt4pairIN5Yosys5RTLIL8IdStringENS0_8CellTypeEED2Ev.exit ], [ %32, %_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS_8CellTypeENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit ] + %.08 = phi i32 [ %54, %_ZNSt4pairIN5Yosys5RTLIL8IdStringENS0_8CellTypeEED2Ev.exit ], [ %32, %_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS_8CellTypeENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit ] %75 = getelementptr inbounds nuw i8, ptr %0, i64 24 %76 = sext i32 %.08 to i64 %77 = load ptr, ptr %75, align 8, !tbaa !270 diff --git a/bench/yosys/optimized/cellmatch.ll b/bench/yosys/optimized/cellmatch.ll index 219e3016175..eff1e95270b 100644 --- a/bench/yosys/optimized/cellmatch.ll +++ b/bench/yosys/optimized/cellmatch.ll @@ -34380,10 +34380,9 @@ _ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS_8CellTypeENS0_8hash_opsIS3_EEE7do_ call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %51, i8 0, i64 24, i1 false) call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %52, i8 0, i64 24, i1 false) %53 = getelementptr inbounds nuw i8, ptr %4, i64 128 - %54 = getelementptr inbounds nuw i8, ptr %5, i64 120 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(3) %53, ptr noundef nonnull align 8 dereferenceable(3) %54, i64 3, i1 false) - %55 = invoke noundef i32 @_ZN5Yosys7hashlib4dictINS_5RTLIL8IdStringENS_8CellTypeENS0_8hash_opsIS3_EEE9do_insertEOSt4pairIS3_S4_ERj(ptr noundef nonnull align 8 dereferenceable(49) %0, ptr noundef nonnull align 8 dereferenceable(136) %4, ptr noundef nonnull align 4 dereferenceable(4) %3) - to label %56 unwind label %72 + call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(3) %53, i8 0, i64 3, i1 false) + %54 = invoke noundef i32 @_ZN5Yosys7hashlib4dictINS_5RTLIL8IdStringENS_8CellTypeENS0_8hash_opsIS3_EEE9do_insertEOSt4pairIS3_S4_ERj(ptr noundef nonnull align 8 dereferenceable(49) %0, ptr noundef nonnull align 8 dereferenceable(136) %4, ptr noundef nonnull align 4 dereferenceable(4) %3) + to label %55 unwind label %71 56: ; preds = %45 call void @_ZN5Yosys8CellTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(123) %46) #27 @@ -34432,7 +34431,7 @@ _ZNSt4pairIN5Yosys5RTLIL8IdStringENS0_8CellTypeEED2Ev.exit: ; preds = %56, %61, resume { ptr, i32 } %73 74: ; preds = %_ZNSt4pairIN5Yosys5RTLIL8IdStringENS0_8CellTypeEED2Ev.exit, %_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS_8CellTypeENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit - %.08 = phi i32 [ %55, %_ZNSt4pairIN5Yosys5RTLIL8IdStringENS0_8CellTypeEED2Ev.exit ], [ %32, %_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS_8CellTypeENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit ] + %.08 = phi i32 [ %54, %_ZNSt4pairIN5Yosys5RTLIL8IdStringENS0_8CellTypeEED2Ev.exit ], [ %32, %_ZNK5Yosys7hashlib4dictINS_5RTLIL8IdStringENS_8CellTypeENS0_8hash_opsIS3_EEE7do_hashERKS3_.exit ] %75 = getelementptr inbounds nuw i8, ptr %0, i64 24 %76 = sext i32 %.08 to i64 %77 = load ptr, ptr %75, align 8, !tbaa !123 diff --git a/bench/z3/optimized/drat_frontend.ll b/bench/z3/optimized/drat_frontend.ll index fbe0db1a0b5..aa62164a066 100644 --- a/bench/z3/optimized/drat_frontend.ll +++ b/bench/z3/optimized/drat_frontend.ll @@ -288,13 +288,13 @@ define hidden noundef i32 @_Z9read_dratPKc(ptr noundef %0) local_unnamed_addr #3 %33 = getelementptr inbounds nuw i8, ptr %5, i64 48 store i64 %26, ptr %33, align 8 %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx = getelementptr inbounds nuw i8, ptr %5, i64 56 - store i64 0, ptr %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx, align 8, !tbaa !34 + store i64 0, ptr %.sroa.0.i.i.i.i.sroa.4.0..sroa_idx, align 8 %34 = getelementptr inbounds nuw i8, ptr %5, i64 64 - store ptr @"_ZNSt17_Function_handlerIFiPKcEZ9read_dratS1_E3$_0E10_M_managerERSt9_Any_dataRKS5_St18_Manager_operation", ptr %34, align 8, !tbaa !35 + store ptr @"_ZNSt17_Function_handlerIFiPKcEZ9read_dratS1_E3$_0E10_M_managerERSt9_Any_dataRKS5_St18_Manager_operation", ptr %34, align 8, !tbaa !34 %35 = getelementptr inbounds nuw i8, ptr %5, i64 72 - store ptr @"_ZNSt17_Function_handlerIFiPKcEZ9read_dratS1_E3$_0E9_M_invokeERKSt9_Any_dataOS1_", ptr %35, align 8, !tbaa !35 + store ptr @"_ZNSt17_Function_handlerIFiPKcEZ9read_dratS1_E3$_0E9_M_invokeERKSt9_Any_dataOS1_", ptr %35, align 8, !tbaa !34 call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #22 - store ptr null, ptr %8, align 8, !tbaa !36 + store ptr null, ptr %8, align 8, !tbaa !35 call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %9) #22 invoke void @_ZN8reslimitC1Ev(ptr noundef nonnull align 8 dereferenceable(40) %9) to label %36 unwind label %53 @@ -311,7 +311,7 @@ define hidden noundef i32 @_Z9read_dratPKc(ptr noundef %0) local_unnamed_addr #3 38: ; preds = %37 call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #22 - store ptr %11, ptr %12, align 8, !tbaa !39 + store ptr %11, ptr %12, align 8, !tbaa !38 %39 = getelementptr inbounds nuw i8, ptr %12, i64 8 call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %39, i8 0, i64 16, i1 false) %40 = invoke noundef zeroext i1 @_ZN6dimacs11drat_parser4nextEv(ptr noundef nonnull align 8 dereferenceable(88) %5) @@ -370,8 +370,8 @@ define hidden noundef i32 @_Z9read_dratPKc(ptr noundef %0) local_unnamed_addr #3 63: ; preds = %.lr.ph, %.noexc52 call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %13) #22 - store ptr %22, ptr %13, align 8, !tbaa !41 - store ptr %7, ptr %42, align 8, !tbaa !43 + store ptr %22, ptr %13, align 8, !tbaa !40 + store ptr %7, ptr %42, align 8, !tbaa !42 %64 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN6dimacslsERSoRKNS_7drat_ppE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(16) %13) to label %65 unwind label %100 @@ -388,7 +388,7 @@ define hidden noundef i32 @_Z9read_dratPKc(ptr noundef %0) local_unnamed_addr #3 _ZNK6vectorIN3sat7literalELb0EjE3endEv.exit.i: ; preds = %67 %70 = getelementptr inbounds i8, ptr %68, i64 -4 - %71 = load i32, ptr %70, align 4, !tbaa !45 + %71 = load i32, ptr %70, align 4, !tbaa !44 %72 = zext i32 %71 to i64 %73 = getelementptr inbounds nuw %"class.sat::literal", ptr %68, i64 %72 %.not16.i = icmp eq i32 %71, 0 @@ -401,28 +401,28 @@ _ZNK6vectorIN3sat7literalELb0EjE3endEv.exit.i: ; preds = %67 .lr.ph.i: ; preds = %_ZNK6vectorIN3sat7literalELb0EjE3endEv.exit.i, %87 %.017.i = phi ptr [ %88, %87 ], [ %68, %_ZNK6vectorIN3sat7literalELb0EjE3endEv.exit.i ] - %76 = load i32, ptr %.017.i, align 4, !tbaa !45 + %76 = load i32, ptr %.017.i, align 4, !tbaa !44 %77 = lshr i32 %76, 1 br label %.noexc .noexc: ; preds = %_ZNK3sat6solver8num_varsEv.exit.thread.i, %.lr.ph.i - %78 = load ptr, ptr %12, align 8, !tbaa !46 + %78 = load ptr, ptr %12, align 8, !tbaa !45 %79 = getelementptr inbounds nuw i8, ptr %78, i64 16 - %80 = load ptr, ptr %79, align 8, !tbaa !49 + %80 = load ptr, ptr %79, align 8, !tbaa !48 %81 = getelementptr inbounds nuw i8, ptr %80, i64 3296 - %82 = load ptr, ptr %81, align 8, !tbaa !80 + %82 = load ptr, ptr %81, align 8, !tbaa !79 %83 = icmp eq ptr %82, null br i1 %83, label %_ZNK3sat6solver8num_varsEv.exit.thread.i, label %_ZNK3sat6solver8num_varsEv.exit.i _ZNK3sat6solver8num_varsEv.exit.i: ; preds = %.noexc %84 = getelementptr inbounds i8, ptr %82, i64 -4 - %85 = load i32, ptr %84, align 4, !tbaa !45 + %85 = load i32, ptr %84, align 4, !tbaa !44 %.not12.i = icmp ult i32 %77, %85 br i1 %.not12.i, label %87, label %_ZNK3sat6solver8num_varsEv.exit.thread.i _ZNK3sat6solver8num_varsEv.exit.thread.i: ; preds = %_ZNK3sat6solver8num_varsEv.exit.i, %.noexc %86 = invoke noundef i32 @_ZN3sat6solver6mk_varEbb(ptr noundef nonnull align 8 dereferenceable(4264) %80, i1 noundef zeroext true, i1 noundef zeroext true) - to label %.noexc unwind label %.loopexit, !llvm.loop !83 + to label %.noexc unwind label %.loopexit, !llvm.loop !82 87: ; preds = %_ZNK3sat6solver8num_varsEv.exit.i %88 = getelementptr inbounds nuw i8, ptr %.017.i, i64 4 @@ -439,18 +439,18 @@ _ZNK3sat6solver8num_varsEv.exit.thread.i: ; preds = %_ZNK3sat6solver8num 90: ; preds = %.noexc45, %._crit_edge.i %91 = phi i32 [ %.pre.i, %.noexc45 ], [ %74, %._crit_edge.i ] - %92 = load ptr, ptr %12, align 8, !tbaa !46 + %92 = load ptr, ptr %12, align 8, !tbaa !45 %93 = load i32, ptr %23, align 8, !tbaa !18 store i32 %93, ptr %2, align 8, !tbaa !18 store i32 %91, ptr %43, align 4, !tbaa !25 - %94 = load ptr, ptr %25, align 8, !tbaa !85 - store ptr %94, ptr %44, align 8, !tbaa !85 + %94 = load ptr, ptr %25, align 8, !tbaa !84 + store ptr %94, ptr %44, align 8, !tbaa !84 invoke void @_ZN3sat4drat3addERK7svectorINS_7literalEjENS_6statusE(ptr noundef nonnull align 8 dereferenceable(664) %92, ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull %2) to label %95 unwind label %.loopexit.split-lp.loopexit 95: ; preds = %90 call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %2) - %96 = load i8, ptr %45, align 8, !tbaa !86, !range !87, !noundef !88 + %96 = load i8, ptr %45, align 8, !tbaa !85, !range !86, !noundef !87 %97 = trunc nuw i8 %96 to i1 br i1 %97, label %98, label %102 @@ -494,7 +494,7 @@ _ZlsRSoRK10statistics.exit: ; preds = %103 to label %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit50 unwind label %120 _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit50: ; preds = %_ZlsRSoRK10statistics.exit - %106 = load ptr, ptr %46, align 8, !tbaa !89 + %106 = load ptr, ptr %46, align 8, !tbaa !88 %.not.i.i.i51 = icmp eq ptr %106, null br i1 %.not.i.i.i51, label %_ZN6vectorISt4pairIPKcdELb0EjED2Ev.exit.i, label %107 @@ -511,7 +511,7 @@ _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit50: ; preds = %_ZlsR unreachable _ZN6vectorISt4pairIPKcdELb0EjED2Ev.exit.i: ; preds = %107, %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit50 - %112 = load ptr, ptr %14, align 8, !tbaa !92 + %112 = load ptr, ptr %14, align 8, !tbaa !91 %.not.i.i1.i = icmp eq ptr %112, null br i1 %.not.i.i1.i, label %118, label %113 @@ -591,7 +591,7 @@ _ZN12drup_checkerD2Ev.exit: ; preds = %_ZN6vectorIN3sat7li call void @_ZN3sat6solverD1Ev(ptr noundef nonnull align 8 dereferenceable(4264) %10) #22 call void @llvm.lifetime.end.p0(i64 4264, ptr nonnull %10) #22 %135 = getelementptr inbounds nuw i8, ptr %9, i64 32 - %136 = load ptr, ptr %135, align 8, !tbaa !95 + %136 = load ptr, ptr %135, align 8, !tbaa !94 %.not.i.i.i55 = icmp eq ptr %136, null br i1 %.not.i.i.i55, label %_ZN6vectorIP8reslimitLb0EjED2Ev.exit.i, label %137 @@ -609,7 +609,7 @@ _ZN12drup_checkerD2Ev.exit: ; preds = %_ZN6vectorIN3sat7li _ZN6vectorIP8reslimitLb0EjED2Ev.exit.i: ; preds = %137, %_ZN12drup_checkerD2Ev.exit %142 = getelementptr inbounds nuw i8, ptr %9, i64 24 - %143 = load ptr, ptr %142, align 8, !tbaa !98 + %143 = load ptr, ptr %142, align 8, !tbaa !97 %.not.i.i1.i56 = icmp eq ptr %143, null br i1 %.not.i.i1.i56, label %_ZN8reslimitD2Ev.exit, label %144 @@ -664,7 +664,7 @@ _ZNSt14_Function_baseD2Ev.exit: ; preds = %_ZN8reslimitD2Ev.ex _ZNSt14_Function_baseD2Ev.exit59: ; preds = %_ZNSt14_Function_baseD2Ev.exit, %156 call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #22 %161 = getelementptr inbounds nuw i8, ptr %5, i64 80 - %162 = load ptr, ptr %161, align 8, !tbaa !101 + %162 = load ptr, ptr %161, align 8, !tbaa !100 %.not.i.i.i60 = icmp eq ptr %162, null br i1 %.not.i.i.i60, label %_ZN6vectorIcLb0EjED2Ev.exit.i, label %163 @@ -829,7 +829,7 @@ declare void @_ZNK3sat4drat18collect_statisticsER10statistics(ptr noundef nonnul ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr hidden void @_ZN10statisticsD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %0) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %3 = load ptr, ptr %2, align 8, !tbaa !89 + %3 = load ptr, ptr %2, align 8, !tbaa !88 %.not.i.i = icmp eq ptr %3, null br i1 %.not.i.i, label %_ZN6vectorISt4pairIPKcdELb0EjED2Ev.exit, label %4 @@ -846,7 +846,7 @@ define linkonce_odr hidden void @_ZN10statisticsD2Ev(ptr noundef nonnull align 8 unreachable _ZN6vectorISt4pairIPKcdELb0EjED2Ev.exit: ; preds = %1, %4 - %9 = load ptr, ptr %0, align 8, !tbaa !92 + %9 = load ptr, ptr %0, align 8, !tbaa !91 %.not.i.i1 = icmp eq ptr %9, null br i1 %.not.i.i1, label %_ZN6vectorISt4pairIPKcjELb0EjED2Ev.exit, label %10 @@ -916,7 +916,7 @@ declare void @_ZN3sat6solverD1Ev(ptr noundef nonnull align 8 dereferenceable(426 ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr hidden void @_ZN8reslimitD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %0) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = getelementptr inbounds nuw i8, ptr %0, i64 32 - %3 = load ptr, ptr %2, align 8, !tbaa !95 + %3 = load ptr, ptr %2, align 8, !tbaa !94 %.not.i.i = icmp eq ptr %3, null br i1 %.not.i.i, label %_ZN6vectorIP8reslimitLb0EjED2Ev.exit, label %4 @@ -934,7 +934,7 @@ define linkonce_odr hidden void @_ZN8reslimitD2Ev(ptr noundef nonnull align 8 de _ZN6vectorIP8reslimitLb0EjED2Ev.exit: ; preds = %1, %4 %9 = getelementptr inbounds nuw i8, ptr %0, i64 24 - %10 = load ptr, ptr %9, align 8, !tbaa !98 + %10 = load ptr, ptr %9, align 8, !tbaa !97 %.not.i.i1 = icmp eq ptr %10, null br i1 %.not.i.i1, label %_ZN6vectorImLb0EjED2Ev.exit, label %11 @@ -960,7 +960,7 @@ declare void @_ZN10params_refD1Ev(ptr noundef nonnull align 8 dereferenceable(8) ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr hidden void @_ZN6dimacs11drat_parserD2Ev(ptr noundef nonnull align 8 dereferenceable(88) %0) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { %2 = getelementptr inbounds nuw i8, ptr %0, i64 80 - %3 = load ptr, ptr %2, align 8, !tbaa !101 + %3 = load ptr, ptr %2, align 8, !tbaa !100 %.not.i.i = icmp eq ptr %3, null br i1 %.not.i.i, label %_ZN6vectorIcLb0EjED2Ev.exit, label %4 @@ -1047,7 +1047,7 @@ declare noundef i32 @_ZN3sat6solver6mk_varEbb(ptr noundef nonnull align 8 derefe ; Function Attrs: mustprogress uwtable define linkonce_odr hidden void @_ZN12drup_checker10check_drupERK7svectorIN3sat7literalEjE(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(8) %1) local_unnamed_addr #3 comdat align 2 { - %3 = load ptr, ptr %0, align 8, !tbaa !46 + %3 = load ptr, ptr %0, align 8, !tbaa !45 %4 = getelementptr inbounds nuw i8, ptr %3, i64 616 %5 = getelementptr inbounds nuw i8, ptr %0, i64 8 %6 = load ptr, ptr %5, align 8, !tbaa !15 @@ -1056,7 +1056,7 @@ define linkonce_odr hidden void @_ZN12drup_checker10check_drupERK7svectorIN3sat7 8: ; preds = %2 %9 = getelementptr inbounds i8, ptr %6, i64 -4 - %10 = load i32, ptr %9, align 4, !tbaa !45 + %10 = load i32, ptr %9, align 4, !tbaa !44 %11 = zext i32 %10 to i64 br label %_ZNK6vectorIN3sat7literalELb0EjE4sizeEv.exit.i.preheader @@ -1067,13 +1067,13 @@ _ZNK6vectorIN3sat7literalELb0EjE4sizeEv.exit.i.preheader: ; preds = %8, %2 _ZNK6vectorIN3sat7literalELb0EjE4sizeEv.exit.i: ; preds = %_ZNK6vectorIN3sat7literalELb0EjE4sizeEv.exit.i.preheader, %_ZN6vectorIN3sat7literalELb0EjE9push_backERKS1_.exit.i %12 = phi ptr [ %30, %_ZN6vectorIN3sat7literalELb0EjE9push_backERKS1_.exit.i ], [ %6, %_ZNK6vectorIN3sat7literalELb0EjE4sizeEv.exit.i.preheader ] %indvars.iv.i = phi i64 [ %indvars.iv.next.i, %_ZN6vectorIN3sat7literalELb0EjE9push_backERKS1_.exit.i ], [ %indvars.iv.i.ph, %_ZNK6vectorIN3sat7literalELb0EjE4sizeEv.exit.i.preheader ] - %13 = load ptr, ptr %4, align 8, !tbaa !103 + %13 = load ptr, ptr %4, align 8, !tbaa !102 %14 = icmp eq ptr %13, null br i1 %14, label %_ZNK6vectorISt4pairIN3sat7literalEPNS1_6clauseEELb0EjE4sizeEv.exit.i, label %15 15: ; preds = %_ZNK6vectorIN3sat7literalELb0EjE4sizeEv.exit.i %16 = getelementptr inbounds i8, ptr %13, i64 -4 - %17 = load i32, ptr %16, align 4, !tbaa !45 + %17 = load i32, ptr %16, align 4, !tbaa !44 %18 = zext i32 %17 to i64 br label %_ZNK6vectorISt4pairIN3sat7literalEPNS1_6clauseEELb0EjE4sizeEv.exit.i @@ -1089,9 +1089,9 @@ _ZNK6vectorISt4pairIN3sat7literalEPNS1_6clauseEELb0EjE4sizeEv.exit.i: ; preds = 23: ; preds = %20 %24 = getelementptr inbounds i8, ptr %12, i64 -4 - %25 = load i32, ptr %24, align 4, !tbaa !45 + %25 = load i32, ptr %24, align 4, !tbaa !44 %26 = getelementptr inbounds i8, ptr %12, i64 -8 - %27 = load i32, ptr %26, align 4, !tbaa !45 + %27 = load i32, ptr %26, align 4, !tbaa !44 %28 = icmp eq i32 %25, %27 br i1 %28, label %29, label %_ZN6vectorIN3sat7literalELb0EjE9push_backERKS1_.exit.i @@ -1099,7 +1099,7 @@ _ZNK6vectorISt4pairIN3sat7literalEPNS1_6clauseEELb0EjE4sizeEv.exit.i: ; preds = tail call void @_ZN6vectorIN3sat7literalELb0EjE13expand_vectorEv(ptr noundef nonnull align 8 dereferenceable(8) %5) %.pre.i.i = load ptr, ptr %5, align 8, !tbaa !15 %.phi.trans.insert.i.i = getelementptr inbounds i8, ptr %.pre.i.i, i64 -4 - %.pre2.i.i = load i32, ptr %.phi.trans.insert.i.i, align 4, !tbaa !45 + %.pre2.i.i = load i32, ptr %.phi.trans.insert.i.i, align 4, !tbaa !44 br label %_ZN6vectorIN3sat7literalELb0EjE9push_backERKS1_.exit.i _ZN6vectorIN3sat7literalELb0EjE9push_backERKS1_.exit.i: ; preds = %29, %23 @@ -1108,12 +1108,12 @@ _ZN6vectorIN3sat7literalELb0EjE9push_backERKS1_.exit.i: ; preds = %29, %23 %32 = getelementptr inbounds i8, ptr %30, i64 -4 %33 = zext i32 %31 to i64 %34 = getelementptr inbounds nuw %"class.sat::literal", ptr %30, i64 %33 - %35 = load i32, ptr %21, align 4, !tbaa !45 - store i32 %35, ptr %34, align 4, !tbaa !45 + %35 = load i32, ptr %21, align 4, !tbaa !44 + store i32 %35, ptr %34, align 4, !tbaa !44 %36 = add i32 %31, 1 - store i32 %36, ptr %32, align 4, !tbaa !45 + store i32 %36, ptr %32, align 4, !tbaa !44 %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 - br label %_ZNK6vectorIN3sat7literalELb0EjE4sizeEv.exit.i, !llvm.loop !104 + br label %_ZNK6vectorIN3sat7literalELb0EjE4sizeEv.exit.i, !llvm.loop !103 _ZN12drup_checker9add_unitsEv.exit: ; preds = %_ZNK6vectorISt4pairIN3sat7literalEPNS1_6clauseEELb0EjE4sizeEv.exit.i %37 = getelementptr inbounds nuw i8, ptr %0, i64 16 @@ -1123,18 +1123,18 @@ _ZN12drup_checker9add_unitsEv.exit: ; preds = %_ZNK6vectorISt4pair 39: ; preds = %_ZN12drup_checker9add_unitsEv.exit %40 = getelementptr inbounds i8, ptr %38, i64 -4 - store i32 0, ptr %40, align 4, !tbaa !45 + store i32 0, ptr %40, align 4, !tbaa !44 br label %_ZN6vectorIN3sat7literalELb0EjE5resetEv.exit _ZN6vectorIN3sat7literalELb0EjE5resetEv.exit: ; preds = %_ZN12drup_checker9add_unitsEv.exit, %39 - %41 = load ptr, ptr %0, align 8, !tbaa !46 + %41 = load ptr, ptr %0, align 8, !tbaa !45 %42 = load ptr, ptr %1, align 8, !tbaa !15 %43 = icmp eq ptr %42, null br i1 %43, label %_ZNK6vectorIN3sat7literalELb0EjE4sizeEv.exit, label %44 44: ; preds = %_ZN6vectorIN3sat7literalELb0EjE5resetEv.exit %45 = getelementptr inbounds i8, ptr %42, i64 -4 - %46 = load i32, ptr %45, align 4, !tbaa !45 + %46 = load i32, ptr %45, align 4, !tbaa !44 br label %_ZNK6vectorIN3sat7literalELb0EjE4sizeEv.exit _ZNK6vectorIN3sat7literalELb0EjE4sizeEv.exit: ; preds = %_ZN6vectorIN3sat7literalELb0EjE5resetEv.exit, %44 @@ -1166,7 +1166,7 @@ define linkonce_odr hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZN3s _ZNK6vectorIN3sat7literalELb0EjE4sizeEv.exit: ; preds = %2 %5 = getelementptr inbounds i8, ptr %3, i64 -4 - %6 = load i32, ptr %5, align 4, !tbaa !45 + %6 = load i32, ptr %5, align 4, !tbaa !44 %.not9.i = icmp eq i32 %6, 0 br i1 %.not9.i, label %_ZN3satlsERSoRKNS_10mk_lits_ppE.exit, label %.lr.ph.i.preheader @@ -1185,7 +1185,7 @@ _ZNK6vectorIN3sat7literalELb0EjE4sizeEv.exit: ; preds = %2 10: ; preds = %8, %.lr.ph.i %11 = getelementptr inbounds nuw %"class.sat::literal", ptr %3, i64 %indvars.iv.i - %.sroa.0.0.copyload.i = load i32, ptr %11, align 4, !tbaa !45 + %.sroa.0.0.copyload.i = load i32, ptr %11, align 4, !tbaa !44 %12 = icmp eq i32 %.sroa.0.0.copyload.i, -2 br i1 %12, label %13, label %15 @@ -1207,7 +1207,7 @@ _ZNK6vectorIN3sat7literalELb0EjE4sizeEv.exit: ; preds = %2 _ZN3satlsERSoNS_7literalE.exit.i: ; preds = %15, %13 %indvars.iv.next.i = add nuw nsw i64 %indvars.iv.i, 1 %exitcond.not = icmp eq i64 %indvars.iv.next.i, %7 - br i1 %exitcond.not, label %_ZN3satlsERSoRKNS_10mk_lits_ppE.exit, label %.lr.ph.i, !llvm.loop !105 + br i1 %exitcond.not, label %_ZN3satlsERSoRKNS_10mk_lits_ppE.exit, label %.lr.ph.i, !llvm.loop !104 _ZN3satlsERSoRKNS_10mk_lits_ppE.exit: ; preds = %_ZN3satlsERSoNS_7literalE.exit.i, %2, %_ZNK6vectorIN3sat7literalELb0EjE4sizeEv.exit ret ptr %0 @@ -1226,16 +1226,16 @@ define linkonce_odr hidden void @_ZN6vectorIN3sat7literalELb0EjE13expand_vectorE 6: ; preds = %1 %7 = tail call noalias noundef ptr @_ZN6memory8allocateEm(i64 noundef 16) - store i32 2, ptr %7, align 4, !tbaa !45 + store i32 2, ptr %7, align 4, !tbaa !44 %8 = getelementptr inbounds nuw i8, ptr %7, i64 4 - store i32 0, ptr %8, align 4, !tbaa !45 + store i32 0, ptr %8, align 4, !tbaa !44 %9 = getelementptr inbounds nuw i8, ptr %7, i64 8 store ptr %9, ptr %0, align 8, !tbaa !15 br label %53 10: ; preds = %1 %11 = getelementptr inbounds i8, ptr %4, i64 -8 - %12 = load i32, ptr %11, align 4, !tbaa !45 + %12 = load i32, ptr %11, align 4, !tbaa !44 %13 = mul i32 %12, 3 %14 = add i32 %13, 1 %15 = lshr i32 %14, 1 @@ -1258,18 +1258,18 @@ define linkonce_odr hidden void @_ZN6vectorIN3sat7literalELb0EjE13expand_vectorE to label %23 unwind label %46 23: ; preds = %21 - store ptr getelementptr inbounds nuw inrange(-16, 32) (i8, ptr @_ZTV17default_exception, i64 16), ptr %22, align 8, !tbaa !106 + store ptr getelementptr inbounds nuw inrange(-16, 32) (i8, ptr @_ZTV17default_exception, i64 16), ptr %22, align 8, !tbaa !105 %24 = getelementptr inbounds nuw i8, ptr %22, i64 8 %25 = getelementptr inbounds nuw i8, ptr %22, i64 24 - store ptr %25, ptr %24, align 8, !tbaa !108 - %26 = load ptr, ptr %2, align 8, !tbaa !110 + store ptr %25, ptr %24, align 8, !tbaa !107 + %26 = load ptr, ptr %2, align 8, !tbaa !109 %27 = getelementptr inbounds nuw i8, ptr %2, i64 16 %28 = icmp eq ptr %26, %27 br i1 %28, label %29, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i 29: ; preds = %23 %30 = getelementptr inbounds nuw i8, ptr %2, i64 8 - %31 = load i64, ptr %30, align 8, !tbaa !112 + %31 = load i64, ptr %30, align 8, !tbaa !111 %32 = icmp ult i64 %31, 16 call void @llvm.assume(i1 %32) %33 = add nuw nsw i64 %31, 1 @@ -1277,39 +1277,39 @@ define linkonce_odr hidden void @_ZN6vectorIN3sat7literalELb0EjE13expand_vectorE br label %_ZN17default_exceptionC2EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: ; preds = %23 - store ptr %26, ptr %24, align 8, !tbaa !110 - %34 = load i64, ptr %27, align 8, !tbaa !34 - store i64 %34, ptr %25, align 8, !tbaa !34 + store ptr %26, ptr %24, align 8, !tbaa !109 + %34 = load i64, ptr %27, align 8, !tbaa !112 + store i64 %34, ptr %25, align 8, !tbaa !112 %.phi.trans.insert = getelementptr inbounds nuw i8, ptr %2, i64 8 - %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !112 + %.pre = load i64, ptr %.phi.trans.insert, align 8, !tbaa !111 br label %_ZN17default_exceptionC2EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit _ZN17default_exceptionC2EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit: ; preds = %29, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i %35 = phi i64 [ %31, %29 ], [ %.pre, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i ] %36 = getelementptr inbounds nuw i8, ptr %2, i64 8 %37 = getelementptr inbounds nuw i8, ptr %22, i64 16 - store i64 %35, ptr %37, align 8, !tbaa !112 - store ptr %27, ptr %2, align 8, !tbaa !110 - store i64 0, ptr %36, align 8, !tbaa !112 - store i8 0, ptr %27, align 8, !tbaa !34 + store i64 %35, ptr %37, align 8, !tbaa !111 + store ptr %27, ptr %2, align 8, !tbaa !109 + store i64 0, ptr %36, align 8, !tbaa !111 + store i8 0, ptr %27, align 8, !tbaa !112 invoke void @__cxa_throw(ptr nonnull %22, ptr nonnull @_ZTI17default_exception, ptr nonnull @_ZN17default_exceptionD2Ev) #24 to label %54 unwind label %38 38: ; preds = %_ZN17default_exceptionC2EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.exit %39 = landingpad { ptr, i32 } cleanup - %40 = load ptr, ptr %2, align 8, !tbaa !110 + %40 = load ptr, ptr %2, align 8, !tbaa !109 %41 = icmp eq ptr %40, %27 br i1 %41, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i29 _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i: ; preds = %38 - %42 = load i64, ptr %36, align 8, !tbaa !112 + %42 = load i64, ptr %36, align 8, !tbaa !111 %43 = icmp ult i64 %42, 16 call void @llvm.assume(i1 %43) br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.thread _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i29: ; preds = %38 - %44 = load i64, ptr %27, align 8, !tbaa !34 + %44 = load i64, ptr %27, align 8, !tbaa !112 %45 = add i64 %44, 1 call void @_ZdlPvm(ptr noundef %40, i64 noundef %45) #25 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.thread @@ -1336,7 +1336,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit.thread: ; preds = %51 = tail call noalias noundef ptr @_ZN6memory10reallocateEPvm(ptr noundef nonnull %11, i64 noundef %50) %52 = getelementptr inbounds nuw i8, ptr %51, i64 8 store ptr %52, ptr %0, align 8, !tbaa !15 - store i32 %15, ptr %51, align 4, !tbaa !45 + store i32 %15, ptr %51, align 4, !tbaa !44 br label %53 53: ; preds = %49, %6 @@ -1353,7 +1353,7 @@ declare ptr @__cxa_allocate_exception(i64) local_unnamed_addr ; Function Attrs: mustprogress uwtable define linkonce_odr hidden void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef %1, ptr noundef nonnull align 1 dereferenceable(1) %2) unnamed_addr #3 comdat align 2 personality ptr @__gxx_personality_v0 { %4 = getelementptr inbounds nuw i8, ptr %0, i64 16 - store ptr %4, ptr %0, align 8, !tbaa !108 + store ptr %4, ptr %0, align 8, !tbaa !107 %5 = icmp eq ptr %1, null br i1 %5, label %6, label %7 @@ -1385,8 +1385,8 @@ define linkonce_odr hidden void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcE _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm.exit.i: ; preds = %12 %15 = tail call noalias noundef nonnull ptr @_Znwm(i64 noundef %13) #26 - store ptr %15, ptr %0, align 8, !tbaa !110 - store i64 %8, ptr %4, align 8, !tbaa !34 + store ptr %15, ptr %0, align 8, !tbaa !109 + store i64 %8, ptr %4, align 8, !tbaa !112 br label %._crit_edge.i ._crit_edge.i: ; preds = %7, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm.exit.i @@ -1397,8 +1397,8 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm.exit.i: ; pr ] 17: ; preds = %._crit_edge.i - %18 = load i8, ptr %1, align 1, !tbaa !34 - store i8 %18, ptr %16, align 1, !tbaa !34 + %18 = load i8, ptr %1, align 1, !tbaa !112 + store i8 %18, ptr %16, align 1, !tbaa !112 br label %20 19: ; preds = %._crit_edge.i @@ -1407,30 +1407,30 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm.exit.i: ; pr 20: ; preds = %19, %17, %._crit_edge.i %21 = getelementptr inbounds nuw i8, ptr %0, i64 8 - store i64 %8, ptr %21, align 8, !tbaa !112 + store i64 %8, ptr %21, align 8, !tbaa !111 %22 = getelementptr inbounds nuw i8, ptr %16, i64 %8 - store i8 0, ptr %22, align 1, !tbaa !34 + store i8 0, ptr %22, align 1, !tbaa !112 ret void } ; Function Attrs: inlinehint mustprogress nounwind uwtable define linkonce_odr hidden void @_ZN17default_exceptionD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %0) unnamed_addr #7 comdat align 2 personality ptr @__gxx_personality_v0 { - store ptr getelementptr inbounds nuw inrange(-16, 32) (i8, ptr @_ZTV17default_exception, i64 16), ptr %0, align 8, !tbaa !106 + store ptr getelementptr inbounds nuw inrange(-16, 32) (i8, ptr @_ZTV17default_exception, i64 16), ptr %0, align 8, !tbaa !105 %2 = getelementptr inbounds nuw i8, ptr %0, i64 8 - %3 = load ptr, ptr %2, align 8, !tbaa !110 + %3 = load ptr, ptr %2, align 8, !tbaa !109 %4 = getelementptr inbounds nuw i8, ptr %0, i64 24 %5 = icmp eq ptr %3, %4 br i1 %5, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i: ; preds = %1 %6 = getelementptr inbounds nuw i8, ptr %0, i64 16 - %7 = load i64, ptr %6, align 8, !tbaa !112 + %7 = load i64, ptr %6, align 8, !tbaa !111 %8 = icmp ult i64 %7, 16 tail call void @llvm.assume(i1 %8) br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i: ; preds = %1 - %9 = load i64, ptr %4, align 8, !tbaa !34 + %9 = load i64, ptr %4, align 8, !tbaa !112 %10 = add i64 %9, 1 tail call void @_ZdlPvm(ptr noundef %3, i64 noundef %10) #25 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit @@ -1500,7 +1500,7 @@ define internal noundef zeroext i1 @"_ZNSt17_Function_handlerIFiPKcEZ9read_dratS br label %"_ZNSt14_Function_base13_Base_managerIZ9read_dratPKcE3$_0E10_M_managerERSt9_Any_dataRKS5_St18_Manager_operation.exit" 5: ; preds = %3 - store ptr %1, ptr %0, align 8, !tbaa !35 + store ptr %1, ptr %0, align 8, !tbaa !34 br label %"_ZNSt14_Function_base13_Base_managerIZ9read_dratPKcE3$_0E10_M_managerERSt9_Any_dataRKS5_St18_Manager_operation.exit" 6: ; preds = %3 @@ -1518,7 +1518,7 @@ declare noundef i32 @_ZN14family_manager12mk_family_idERK6symbol(ptr noundef non ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(read, inaccessiblemem: none) uwtable define internal ptr @"_ZNSt17_Function_handlerIF6symboliEZ9read_dratPKcE3$_1E9_M_invokeERKSt9_Any_dataOi"(ptr noundef nonnull readonly align 8 captures(none) dereferenceable(16) %0, ptr noundef nonnull readonly align 4 captures(none) dereferenceable(4) %1) #19 align 2 { - %.val2 = load i32, ptr %1, align 4, !tbaa !45 + %.val2 = load i32, ptr %1, align 4, !tbaa !44 %3 = icmp sgt i32 %.val2, -1 br i1 %3, label %4, label %"_ZSt10__invoke_rI6symbolRZ9read_dratPKcE3$_1JiEENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EES6_E4typeEOS7_DpOS8_.exit" @@ -1531,7 +1531,7 @@ define internal ptr @"_ZNSt17_Function_handlerIF6symboliEZ9read_dratPKcE3$_1E9_M _ZNK6vectorI6symbolLb0EjE4sizeEv.exit.i.i.i.i.i: ; preds = %4 %8 = getelementptr inbounds i8, ptr %6, i64 -4 - %9 = load i32, ptr %8, align 4, !tbaa !45 + %9 = load i32, ptr %8, align 4, !tbaa !44 %10 = icmp slt i32 %.val2, %9 br i1 %10, label %11, label %"_ZSt10__invoke_rI6symbolRZ9read_dratPKcE3$_1JiEENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EES6_E4typeEOS7_DpOS8_.exit" @@ -1559,7 +1559,7 @@ define internal noundef zeroext i1 @"_ZNSt17_Function_handlerIF6symboliEZ9read_d br label %"_ZNSt14_Function_base13_Base_managerIZ9read_dratPKcE3$_1E10_M_managerERSt9_Any_dataRKS5_St18_Manager_operation.exit" 5: ; preds = %3 - store ptr %1, ptr %0, align 8, !tbaa !35 + store ptr %1, ptr %0, align 8, !tbaa !34 br label %"_ZNSt14_Function_base13_Base_managerIZ9read_dratPKcE3$_1E10_M_managerERSt9_Any_dataRKS5_St18_Manager_operation.exit" 6: ; preds = %3 @@ -1646,89 +1646,89 @@ attributes #26 = { builtin allocsize(0) } !31 = !{!30, !6, i64 16} !32 = !{!33, !6, i64 24} !33 = !{!"_ZTSSt8functionIF6symboliEE", !30, i64 0, !6, i64 24} -!34 = !{!7, !7, i64 0} -!35 = !{!6, !6, i64 0} -!36 = !{!37, !38, i64 0} -!37 = !{!"_ZTS10params_ref", !38, i64 0} -!38 = !{!"p1 _ZTS6params", !6, i64 0} -!39 = !{!40, !40, i64 0} -!40 = !{!"p1 _ZTSN3sat4dratE", !6, i64 0} -!41 = !{!42, !42, i64 0} -!42 = !{!"p1 _ZTSN6dimacs11drat_recordE", !6, i64 0} -!43 = !{!44, !44, i64 0} -!44 = !{!"p1 _ZTSSt8functionIF6symboliEE", !6, i64 0} -!45 = !{!11, !11, i64 0} -!46 = !{!47, !40, i64 0} -!47 = !{!"_ZTS12drup_checker", !40, i64 0, !48, i64 8, !48, i64 16} -!48 = !{!"_ZTS7svectorIN3sat7literalEjE", !16, i64 0} -!49 = !{!50, !55, i64 16} -!50 = !{!"_ZTSN3sat4dratE", !51, i64 0, !52, i64 8, !55, i64 16, !56, i64 24, !14, i64 592, !14, i64 600, !68, i64 608, !71, i64 616, !74, i64 624, !76, i64 632, !78, i64 640, !78, i64 641, !78, i64 642, !78, i64 643, !78, i64 644, !79, i64 648} -!51 = !{!"p1 _ZTSN3sat9clause_ehE", !6, i64 0} -!52 = !{!"_ZTS7svectorIN3sat4drat14watched_clauseEjE", !53, i64 0} -!53 = !{!"_ZTS6vectorIN3sat4drat14watched_clauseELb0EjE", !54, i64 0} -!54 = !{!"p1 _ZTSN3sat4drat14watched_clauseE", !6, i64 0} -!55 = !{!"p1 _ZTSN3sat6solverE", !6, i64 0} -!56 = !{!"_ZTSN3sat16clause_allocatorE", !57, i64 0, !64, i64 552} -!57 = !{!"_ZTS13sat_allocator", !58, i64 0, !59, i64 8, !60, i64 16, !6, i64 24, !7, i64 32} -!58 = !{!"p1 omnipotent char", !6, i64 0} -!59 = !{!"long", !7, i64 0} -!60 = !{!"_ZTS10ptr_vectorIN13sat_allocator5chunkEE", !61, i64 0} -!61 = !{!"_ZTS6vectorIPN13sat_allocator5chunkELb0EjE", !62, i64 0} -!62 = !{!"p2 _ZTSN13sat_allocator5chunkE", !63, i64 0} -!63 = !{!"any p2 pointer", !6, i64 0} -!64 = !{!"_ZTS6id_gen", !11, i64 0, !65, i64 8} -!65 = !{!"_ZTS7svectorIjjE", !66, i64 0} -!66 = !{!"_ZTS6vectorIjLb0EjE", !67, i64 0} -!67 = !{!"p1 int", !6, i64 0} -!68 = !{!"_ZTS7svectorISt4pairIRN3sat6clauseENS1_6statusEEjE", !69, i64 0} -!69 = !{!"_ZTS6vectorISt4pairIRN3sat6clauseENS1_6statusEELb0EjE", !70, i64 0} -!70 = !{!"p1 _ZTSSt4pairIRN3sat6clauseENS0_6statusEE", !6, i64 0} -!71 = !{!"_ZTS7svectorISt4pairIN3sat7literalEPNS1_6clauseEEjE", !72, i64 0} -!72 = !{!"_ZTS6vectorISt4pairIN3sat7literalEPNS1_6clauseEELb0EjE", !73, i64 0} -!73 = !{!"p1 _ZTSSt4pairIN3sat7literalEPNS0_6clauseEE", !6, i64 0} -!74 = !{!"_ZTS6vectorI7svectorIjjELb1EjE", !75, i64 0} -!75 = !{!"p1 _ZTS7svectorIjjE", !6, i64 0} -!76 = !{!"_ZTS7svectorI5lbooljE", !77, i64 0} -!77 = !{!"_ZTS6vectorI5lboolLb0EjE", !6, i64 0} -!78 = !{!"bool", !7, i64 0} -!79 = !{!"_ZTSN3sat4drat5statsE", !11, i64 0, !11, i64 4, !11, i64 8, !11, i64 12} -!80 = !{!81, !82, i64 0} -!81 = !{!"_ZTS6vectorIN3sat13justificationELb0EjE", !82, i64 0} -!82 = !{!"p1 _ZTSN3sat13justificationE", !6, i64 0} -!83 = distinct !{!83, !84} -!84 = !{!"llvm.loop.mustprogress"} -!85 = !{!19, !21, i64 8} -!86 = !{!50, !78, i64 640} -!87 = !{i8 0, i8 2} -!88 = !{} -!89 = !{!90, !91, i64 0} -!90 = !{!"_ZTS6vectorISt4pairIPKcdELb0EjE", !91, i64 0} -!91 = !{!"p1 _ZTSSt4pairIPKcdE", !6, i64 0} -!92 = !{!93, !94, i64 0} -!93 = !{!"_ZTS6vectorISt4pairIPKcjELb0EjE", !94, i64 0} -!94 = !{!"p1 _ZTSSt4pairIPKcjE", !6, i64 0} -!95 = !{!96, !97, i64 0} -!96 = !{!"_ZTS6vectorIP8reslimitLb0EjE", !97, i64 0} -!97 = !{!"p2 _ZTS8reslimit", !63, i64 0} -!98 = !{!99, !100, i64 0} -!99 = !{!"_ZTS6vectorImLb0EjE", !100, i64 0} -!100 = !{!"p1 long", !6, i64 0} -!101 = !{!102, !58, i64 0} -!102 = !{!"_ZTS6vectorIcLb0EjE", !58, i64 0} -!103 = !{!72, !73, i64 0} -!104 = distinct !{!104, !84} -!105 = distinct !{!105, !84} -!106 = !{!107, !107, i64 0} -!107 = !{!"vtable pointer", !8, i64 0} -!108 = !{!109, !58, i64 0} -!109 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !58, i64 0} -!110 = !{!111, !58, i64 0} -!111 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !109, i64 0, !59, i64 8, !7, i64 16} -!112 = !{!111, !59, i64 8} +!34 = !{!6, !6, i64 0} +!35 = !{!36, !37, i64 0} +!36 = !{!"_ZTS10params_ref", !37, i64 0} +!37 = !{!"p1 _ZTS6params", !6, i64 0} +!38 = !{!39, !39, i64 0} +!39 = !{!"p1 _ZTSN3sat4dratE", !6, i64 0} +!40 = !{!41, !41, i64 0} +!41 = !{!"p1 _ZTSN6dimacs11drat_recordE", !6, i64 0} +!42 = !{!43, !43, i64 0} +!43 = !{!"p1 _ZTSSt8functionIF6symboliEE", !6, i64 0} +!44 = !{!11, !11, i64 0} +!45 = !{!46, !39, i64 0} +!46 = !{!"_ZTS12drup_checker", !39, i64 0, !47, i64 8, !47, i64 16} +!47 = !{!"_ZTS7svectorIN3sat7literalEjE", !16, i64 0} +!48 = !{!49, !54, i64 16} +!49 = !{!"_ZTSN3sat4dratE", !50, i64 0, !51, i64 8, !54, i64 16, !55, i64 24, !14, i64 592, !14, i64 600, !67, i64 608, !70, i64 616, !73, i64 624, !75, i64 632, !77, i64 640, !77, i64 641, !77, i64 642, !77, i64 643, !77, i64 644, !78, i64 648} +!50 = !{!"p1 _ZTSN3sat9clause_ehE", !6, i64 0} +!51 = !{!"_ZTS7svectorIN3sat4drat14watched_clauseEjE", !52, i64 0} +!52 = !{!"_ZTS6vectorIN3sat4drat14watched_clauseELb0EjE", !53, i64 0} +!53 = !{!"p1 _ZTSN3sat4drat14watched_clauseE", !6, i64 0} +!54 = !{!"p1 _ZTSN3sat6solverE", !6, i64 0} +!55 = !{!"_ZTSN3sat16clause_allocatorE", !56, i64 0, !63, i64 552} +!56 = !{!"_ZTS13sat_allocator", !57, i64 0, !58, i64 8, !59, i64 16, !6, i64 24, !7, i64 32} +!57 = !{!"p1 omnipotent char", !6, i64 0} +!58 = !{!"long", !7, i64 0} +!59 = !{!"_ZTS10ptr_vectorIN13sat_allocator5chunkEE", !60, i64 0} +!60 = !{!"_ZTS6vectorIPN13sat_allocator5chunkELb0EjE", !61, i64 0} +!61 = !{!"p2 _ZTSN13sat_allocator5chunkE", !62, i64 0} +!62 = !{!"any p2 pointer", !6, i64 0} +!63 = !{!"_ZTS6id_gen", !11, i64 0, !64, i64 8} +!64 = !{!"_ZTS7svectorIjjE", !65, i64 0} +!65 = !{!"_ZTS6vectorIjLb0EjE", !66, i64 0} +!66 = !{!"p1 int", !6, i64 0} +!67 = !{!"_ZTS7svectorISt4pairIRN3sat6clauseENS1_6statusEEjE", !68, i64 0} +!68 = !{!"_ZTS6vectorISt4pairIRN3sat6clauseENS1_6statusEELb0EjE", !69, i64 0} +!69 = !{!"p1 _ZTSSt4pairIRN3sat6clauseENS0_6statusEE", !6, i64 0} +!70 = !{!"_ZTS7svectorISt4pairIN3sat7literalEPNS1_6clauseEEjE", !71, i64 0} +!71 = !{!"_ZTS6vectorISt4pairIN3sat7literalEPNS1_6clauseEELb0EjE", !72, i64 0} +!72 = !{!"p1 _ZTSSt4pairIN3sat7literalEPNS0_6clauseEE", !6, i64 0} +!73 = !{!"_ZTS6vectorI7svectorIjjELb1EjE", !74, i64 0} +!74 = !{!"p1 _ZTS7svectorIjjE", !6, i64 0} +!75 = !{!"_ZTS7svectorI5lbooljE", !76, i64 0} +!76 = !{!"_ZTS6vectorI5lboolLb0EjE", !6, i64 0} +!77 = !{!"bool", !7, i64 0} +!78 = !{!"_ZTSN3sat4drat5statsE", !11, i64 0, !11, i64 4, !11, i64 8, !11, i64 12} +!79 = !{!80, !81, i64 0} +!80 = !{!"_ZTS6vectorIN3sat13justificationELb0EjE", !81, i64 0} +!81 = !{!"p1 _ZTSN3sat13justificationE", !6, i64 0} +!82 = distinct !{!82, !83} +!83 = !{!"llvm.loop.mustprogress"} +!84 = !{!19, !21, i64 8} +!85 = !{!49, !77, i64 640} +!86 = !{i8 0, i8 2} +!87 = !{} +!88 = !{!89, !90, i64 0} +!89 = !{!"_ZTS6vectorISt4pairIPKcdELb0EjE", !90, i64 0} +!90 = !{!"p1 _ZTSSt4pairIPKcdE", !6, i64 0} +!91 = !{!92, !93, i64 0} +!92 = !{!"_ZTS6vectorISt4pairIPKcjELb0EjE", !93, i64 0} +!93 = !{!"p1 _ZTSSt4pairIPKcjE", !6, i64 0} +!94 = !{!95, !96, i64 0} +!95 = !{!"_ZTS6vectorIP8reslimitLb0EjE", !96, i64 0} +!96 = !{!"p2 _ZTS8reslimit", !62, i64 0} +!97 = !{!98, !99, i64 0} +!98 = !{!"_ZTS6vectorImLb0EjE", !99, i64 0} +!99 = !{!"p1 long", !6, i64 0} +!100 = !{!101, !57, i64 0} +!101 = !{!"_ZTS6vectorIcLb0EjE", !57, i64 0} +!102 = !{!71, !72, i64 0} +!103 = distinct !{!103, !83} +!104 = distinct !{!104, !83} +!105 = !{!106, !106, i64 0} +!106 = !{!"vtable pointer", !8, i64 0} +!107 = !{!108, !57, i64 0} +!108 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !57, i64 0} +!109 = !{!110, !57, i64 0} +!110 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !108, i64 0, !58, i64 8, !7, i64 16} +!111 = !{!110, !58, i64 8} +!112 = !{!7, !7, i64 0} !113 = !{!"branch_weights", !"expected", i32 1, i32 2000} !114 = !{!115, !27, i64 0} !115 = !{!"_ZTSZ9read_dratPKcE3$_0", !27, i64 0} -!116 = !{!58, !58, i64 0} +!116 = !{!57, !57, i64 0} !117 = !{!118, !118, i64 0} !118 = !{!"p1 _ZTSSt9type_info", !6, i64 0} !119 = !{!120, !27, i64 0} diff --git a/bench/zed-rs/optimized/11rrvqb0alhs5mh4wxxke3etr.ll b/bench/zed-rs/optimized/11rrvqb0alhs5mh4wxxke3etr.ll index 201f781088f..567852727f9 100644 --- a/bench/zed-rs/optimized/11rrvqb0alhs5mh4wxxke3etr.ll +++ b/bench/zed-rs/optimized/11rrvqb0alhs5mh4wxxke3etr.ll @@ -3550,7 +3550,6 @@ define void @"_ZN84_$LT$ui..components..button..button..Button$u20$as$u20$gpui.. %14 = alloca [24 x i8], align 8 %.sroa.0135 = alloca [728 x i8], align 8 %.sroa.8146.sroa.0 = alloca [56 x i8], align 8 - %.sroa.10154 = alloca [3 x i8], align 1 %.sroa.12161 = alloca [31 x i8], align 1 %.sroa.0104.sroa.0 = alloca [728 x i8], align 8 %.sroa.0104.sroa.9.sroa.0 = alloca [56 x i8], align 8 @@ -3973,8 +3972,6 @@ _ZN2ui6styles7spacing7Spacing4rems17hbccda72e69aceb1aE.exit54: ; preds = %.noexc %.sroa.7141.0.copyload = load float, ptr %.sroa.7141.0..sroa_idx, align 4, !noalias !610 %.sroa.8146.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 736 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %.sroa.8146.sroa.0, ptr noundef nonnull align 8 dereferenceable(56) %.sroa.8146.0..sroa_idx, i64 56, i1 false) - %.sroa.10154.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 813 - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %.sroa.10154, ptr noundef nonnull align 1 dereferenceable(3) %.sroa.10154.0..sroa_idx, i64 3, i1 false) %.sroa.12161.0..sroa_idx = getelementptr inbounds nuw i8, ptr %7, i64 817 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %.sroa.12161, ptr noundef nonnull align 1 dereferenceable(7) %.sroa.12161.0..sroa_idx, i64 7, i1 false) call void @llvm.lifetime.end.p0(i64 824, ptr nonnull %7), !noalias !613 @@ -3992,7 +3989,7 @@ _ZN2ui6styles7spacing7Spacing4rems17hbccda72e69aceb1aE.exit54: ; preds = %.noexc call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(728) %.sroa.0104.sroa.0, ptr noundef nonnull align 8 dereferenceable(728) %.sroa.0135, i64 728, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %.sroa.0104.sroa.9.sroa.0, ptr noundef nonnull align 8 dereferenceable(56) %.sroa.8146.sroa.0, i64 56, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %.sroa.0104.sroa.9.sroa.7, ptr noundef nonnull align 4 dereferenceable(16) %.sroa.6176, i64 16, i1 false) - call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %.sroa.6110.sroa.0, ptr noundef nonnull align 1 dereferenceable(3) %.sroa.10154, i64 3, i1 false) + call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %.sroa.6110.sroa.0, i8 0, i64 3, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(31) %.sroa.6110.sroa.7.sroa.0, ptr noundef nonnull align 1 dereferenceable(31) %.sroa.12161, i64 31, i1 false) call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(728) %15, ptr noundef nonnull align 8 dereferenceable(728) %.sroa.0104.sroa.0, i64 728, i1 false), !alias.scope !634 %.sroa.0104.sroa.5.0..sroa_idx = getelementptr inbounds nuw i8, ptr %15, i64 728 diff --git a/scripts/setup_pre_commit_patch.sh b/scripts/setup_pre_commit_patch.sh index c5409e09ef4..dff24751346 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/140954 export COMPTIME_MODE=0 # Please rebase manually