diff --git a/bench/actix-rs/optimized/1kr0tdq4l6v38mbk.ll b/bench/actix-rs/optimized/1kr0tdq4l6v38mbk.ll index 5bf745b2d8e..047db9f7477 100644 --- a/bench/actix-rs/optimized/1kr0tdq4l6v38mbk.ll +++ b/bench/actix-rs/optimized/1kr0tdq4l6v38mbk.ll @@ -3431,7 +3431,7 @@ define void @"_ZN101_$LT$actix_web..http..header..cache_control..CacheDirective$ br label %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h2f36cec9fbdea1b7E.exit" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit142": ; preds = %3 - %bcmp.i141 = tail call i32 @bcmp(ptr nonnull readonly align 1 %1, ptr nonnull @anon.cf8ce5e1de4a78c7021e8ff3b6c4351c.91, i64 %2), !alias.scope !504 + %bcmp.i141 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(6) %1, ptr noundef nonnull dereferenceable(6) @anon.cf8ce5e1de4a78c7021e8ff3b6c4351c.91, i64 6), !alias.scope !504 %15 = icmp eq i32 %bcmp.i141, 0 br i1 %15, label %18, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit150.thread" @@ -3440,7 +3440,7 @@ define void @"_ZN101_$LT$actix_web..http..header..cache_control..CacheDirective$ br label %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h2f36cec9fbdea1b7E.exit" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit146": ; preds = %3 - %bcmp.i145 = tail call i32 @bcmp(ptr nonnull readonly align 1 %1, ptr nonnull @anon.cf8ce5e1de4a78c7021e8ff3b6c4351c.92, i64 %2), !alias.scope !508 + %bcmp.i145 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(7) %1, ptr noundef nonnull dereferenceable(7) @anon.cf8ce5e1de4a78c7021e8ff3b6c4351c.92, i64 7), !alias.scope !508 %17 = icmp eq i32 %bcmp.i145, 0 br i1 %17, label %20, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit150.thread" @@ -3449,7 +3449,7 @@ define void @"_ZN101_$LT$actix_web..http..header..cache_control..CacheDirective$ br label %"_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h2f36cec9fbdea1b7E.exit" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit150": ; preds = %3 - %bcmp.i149 = tail call i32 @bcmp(ptr nonnull readonly align 1 %1, ptr nonnull @anon.cf8ce5e1de4a78c7021e8ff3b6c4351c.93, i64 %2), !alias.scope !512 + %bcmp.i149 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(16) %1, ptr noundef nonnull dereferenceable(16) @anon.cf8ce5e1de4a78c7021e8ff3b6c4351c.93, i64 16), !alias.scope !512 %19 = icmp eq i32 %bcmp.i149, 0 br i1 %19, label %24, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb277773516156c9aE.exit150.thread" diff --git a/bench/arrow/optimized/string.ll b/bench/arrow/optimized/string.ll index 78dc8665863..bb712482e97 100644 --- a/bench/arrow/optimized/string.ll +++ b/bench/arrow/optimized/string.ll @@ -58,7 +58,6 @@ $_ZN5arrow4util13StringBuilderIJRA39_KcRSt17basic_string_viewIcSt11char_traitsIc @.str.8 = private unnamed_addr constant [5 x i8] c"true\00", align 1 @.str.9 = private unnamed_addr constant [2 x i8] c"1\00", align 1 @.str.10 = private unnamed_addr constant [6 x i8] c"false\00", align 1 -@.str.11 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @.str.12 = private unnamed_addr constant [39 x i8] c"String is not a valid boolean value: '\00", align 1 @.str.13 = private unnamed_addr constant [3 x i8] c"'.\00", align 1 @__libc_single_threaded = external local_unnamed_addr global i8, align 1 @@ -2079,8 +2078,8 @@ _ZN5arrow8internal26AsciiEqualsCaseInsensitiveESt17basic_string_viewIcSt11char_t br i1 %30, label %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i15, label %_ZN5arrow8internal26AsciiEqualsCaseInsensitiveESt17basic_string_viewIcSt11char_traitsIcEES4_.exit _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i15: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i, %_ZN5arrow8internal26AsciiEqualsCaseInsensitiveESt17basic_string_viewIcSt11char_traitsIcEES4_.exit14 - %bcmp.i16 = tail call i32 @bcmp(ptr %2, ptr nonnull @.str.11, i64 %1) - %31 = icmp eq i32 %bcmp.i16, 0 + %lhsc = load i8, ptr %2, align 1 + %31 = icmp eq i8 %lhsc, 48 br i1 %31, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit18, label %_ZN5arrow8internal26AsciiEqualsCaseInsensitiveESt17basic_string_viewIcSt11char_traitsIcEES4_.exit _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit18: ; preds = %20, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i15 diff --git a/bench/c3c/optimized/c_abi_x64.ll b/bench/c3c/optimized/c_abi_x64.ll index 69f09db5d13..26ebb5c7bdf 100644 --- a/bench/c3c/optimized/c_abi_x64.ll +++ b/bench/c3c/optimized/c_abi_x64.ll @@ -961,7 +961,7 @@ x64_merge.exit63: ; preds = %x64_merge.exit, %67 br i1 %or.cond53, label %.loopexit, label %28 .loopexit: ; preds = %x64_merge.exit63, %.thread-pre-split_crit_edge - %74 = phi i32 [ %.pr.pre, %.thread-pre-split_crit_edge ], [ %.0.i62, %x64_merge.exit63 ] + %74 = phi i32 [ %.pr.pre, %.thread-pre-split_crit_edge ], [ %.0.i62, %x64_merge.exit64 ] %75 = icmp eq i32 %74, 1 br i1 %75, label %85, label %.loopexit.thread diff --git a/bench/ceres/optimized/dynamic_sparse_normal_cholesky_solver.ll b/bench/ceres/optimized/dynamic_sparse_normal_cholesky_solver.ll index 8040028f3bf..a78553fd892 100644 --- a/bench/ceres/optimized/dynamic_sparse_normal_cholesky_solver.ll +++ b/bench/ceres/optimized/dynamic_sparse_normal_cholesky_solver.ll @@ -3745,7 +3745,7 @@ _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.thread: ; preds = %_ZN5Ei %17 = tail call ptr @__cxa_allocate_exception(i64 8) #36 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVSt9bad_alloc, i64 16), ptr %17, align 8, !tbaa !16 invoke void @__cxa_throw(ptr nonnull %17, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #40 - to label %.noexc137 unwind label %163 + to label %.noexc138 unwind label %163 .noexc137: ; preds = %16 unreachable @@ -3775,7 +3775,7 @@ _ZN5Eigen8internal14aligned_mallocEm.exit140.thread: ; preds = %_ZN5Eigen8intern %32 = tail call ptr @__cxa_allocate_exception(i64 8) #36 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVSt9bad_alloc, i64 16), ptr %32, align 8, !tbaa !16 invoke void @__cxa_throw(ptr nonnull %32, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #40 - to label %.noexc139 unwind label %165 + to label %.noexc140 unwind label %165 .noexc139: ; preds = %31 unreachable @@ -3789,16 +3789,16 @@ _ZN5Eigen8internal14aligned_mallocEm.exit140: ; preds = %26 %36 = tail call ptr @__cxa_allocate_exception(i64 8) #36 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVSt9bad_alloc, i64 16), ptr %36, align 8, !tbaa !16 invoke void @__cxa_throw(ptr nonnull %36, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #40 - to label %.noexc144 unwind label %167 + to label %.noexc145 unwind label %167 .noexc144: ; preds = %35 unreachable 37: ; preds = %_ZN5Eigen8internal14aligned_mallocEm.exit140.thread, %_ZN5Eigen8internal14aligned_mallocEm.exit140 - %38 = phi i1 [ false, %_ZN5Eigen8internal14aligned_mallocEm.exit140.thread ], [ true, %_ZN5Eigen8internal14aligned_mallocEm.exit140 ] - %39 = phi ptr [ %23, %_ZN5Eigen8internal14aligned_mallocEm.exit140.thread ], [ %29, %_ZN5Eigen8internal14aligned_mallocEm.exit140 ] - %40 = phi ptr [ %19, %_ZN5Eigen8internal14aligned_mallocEm.exit140.thread ], [ %28, %_ZN5Eigen8internal14aligned_mallocEm.exit140 ] - %41 = phi ptr [ %25, %_ZN5Eigen8internal14aligned_mallocEm.exit140.thread ], [ %33, %_ZN5Eigen8internal14aligned_mallocEm.exit140 ] + %38 = phi i1 [ false, %_ZN5Eigen8internal14aligned_mallocEm.exit141.thread ], [ true, %_ZN5Eigen8internal14aligned_mallocEm.exit141 ] + %39 = phi ptr [ %23, %_ZN5Eigen8internal14aligned_mallocEm.exit141.thread ], [ %29, %_ZN5Eigen8internal14aligned_mallocEm.exit141 ] + %40 = phi ptr [ %19, %_ZN5Eigen8internal14aligned_mallocEm.exit141.thread ], [ %28, %_ZN5Eigen8internal14aligned_mallocEm.exit141 ] + %41 = phi ptr [ %25, %_ZN5Eigen8internal14aligned_mallocEm.exit141.thread ], [ %33, %_ZN5Eigen8internal14aligned_mallocEm.exit141 ] call void @llvm.memset.p0.i64(ptr nonnull align 1 %40, i8 0, i64 %5, i1 false) %42 = getelementptr inbounds nuw i8, ptr %0, i64 28 %43 = load i32, ptr %42, align 4, !tbaa !99 @@ -4060,7 +4060,7 @@ _ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit._crit_edge: ; preds = %_ZN5Eigen1 br label %.body 171: ; preds = %.lr.ph212, %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit - %.0116211 = phi i64 [ 0, %.lr.ph212 ], [ %284, %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit ] + %.0116211 = phi i64 [ 0, %.lr.ph213 ], [ %284, %_ZN5Eigen12SparseMatrixIdLi1EiE7reserveEl.exit ] %172 = load ptr, ptr %126, align 8, !tbaa !209 %173 = getelementptr inbounds nuw i32, ptr %172, i64 %.0116211 %174 = load i32, ptr %173, align 4, !tbaa !99 @@ -4111,8 +4111,8 @@ _ZN5Eigen20SparseCompressedBaseINS_12SparseMatrixIdLi1EiEEE13InnerIteratorC2ERKS br label %.lr.ph209 200: ; preds = %.lr.ph206, %._crit_edge - %.0118205 = phi i64 [ 0, %.lr.ph206 ], [ %.1119.lcssa, %._crit_edge ] - %.sroa.8160.0204 = phi i64 [ %181, %.lr.ph206 ], [ %219, %._crit_edge ] + %.0118205 = phi i64 [ 0, %.lr.ph207 ], [ %.1119.lcssa, %._crit_edge ] + %.sroa.8160.0204 = phi i64 [ %181, %.lr.ph207 ], [ %219, %._crit_edge ] %201 = getelementptr inbounds double, ptr %176, i64 %.sroa.8160.0204 %202 = load double, ptr %201, align 8, !tbaa !42 %203 = getelementptr inbounds i32, ptr %177, i64 %.sroa.8160.0204 @@ -4184,8 +4184,8 @@ _ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6Stride br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !220 .lr.ph209: ; preds = %.lr.ph209.preheader, %275 - %239 = phi i64 [ %250, %275 ], [ %.pre, %.lr.ph209.preheader ] - %.0117208 = phi i64 [ %283, %275 ], [ 0, %.lr.ph209.preheader ] + %239 = phi i64 [ %250, %275 ], [ %.pre, %.lr.ph210.preheader ] + %.0117208 = phi i64 [ %283, %275 ], [ 0, %.lr.ph210.preheader ] %240 = getelementptr inbounds nuw i64, ptr %41, i64 %.0117208 %241 = load i64, ptr %240, align 8, !tbaa !164 %242 = getelementptr inbounds double, ptr %39, i64 %241 @@ -4214,7 +4214,7 @@ _ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6Stride %257 = tail call ptr @__cxa_allocate_exception(i64 8) #36 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVSt9bad_alloc, i64 16), ptr %257, align 8, !tbaa !16 invoke void @__cxa_throw(ptr nonnull %257, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #40 - to label %.noexc152 unwind label %.loopexit.split-lp + to label %.noexc153 unwind label %.loopexit.split-lp .noexc152: ; preds = %256 unreachable @@ -4224,7 +4224,7 @@ _ZN5Eigen20SparseCompressedBaseINS_3MapINS_12SparseMatrixIdLi1EiEELi0ENS_6Stride %260 = shl nuw i64 %.sroa.speculated.i, 3 %261 = select i1 %259, i64 -1, i64 %260 %262 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %261) #34 - to label %.noexc153 unwind label %.loopexit + to label %.noexc154 unwind label %.loopexit .noexc153: ; preds = %258 %263 = icmp ugt i64 %.sroa.speculated.i, 4611686018427387903 diff --git a/bench/ceres/optimized/iterative_schur_complement_solver.ll b/bench/ceres/optimized/iterative_schur_complement_solver.ll index 6ebdaf898a3..aa986062187 100644 --- a/bench/ceres/optimized/iterative_schur_complement_solver.ll +++ b/bench/ceres/optimized/iterative_schur_complement_solver.ll @@ -668,7 +668,7 @@ define hidden void @_ZN5ceres8internal30IterativeSchurComplementSolver9SolveImpl 44: ; preds = %40 %45 = invoke noalias noundef nonnull dereferenceable(144) ptr @_Znwm(i64 noundef 144) #38 - to label %.noexc79 unwind label %51 + to label %.noexc84 unwind label %51 .noexc79: ; preds = %44 invoke void @_ZN5ceres8internal23ImplicitSchurComplementC1ERKNS0_12LinearSolver7OptionsE(ptr noundef nonnull align 8 dereferenceable(144) %45, ptr noundef nonnull align 8 dereferenceable(128) %32) @@ -703,7 +703,7 @@ _ZNKSt14default_deleteIN5ceres8internal23ImplicitSchurComplementEEclEPS2_.exit.i br label %.body _ZNSt10unique_ptrIN5ceres8internal23ImplicitSchurComplementESt14default_deleteIS2_EED2Ev.exit: ; preds = %_ZSt11make_uniqueIN5ceres8internal23ImplicitSchurComplementEJRNS1_12LinearSolver7OptionsEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit, %_ZNKSt14default_deleteIN5ceres8internal23ImplicitSchurComplementEEclEPS2_.exit.i.i.i.i, %.critedge74 - %53 = phi ptr [ %45, %_ZSt11make_uniqueIN5ceres8internal23ImplicitSchurComplementEJRNS1_12LinearSolver7OptionsEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit ], [ %.pre, %_ZNKSt14default_deleteIN5ceres8internal23ImplicitSchurComplementEEclEPS2_.exit.i.i.i.i ], [ %37, %.critedge74 ] + %53 = phi ptr [ %45, %_ZSt11make_uniqueIN5ceres8internal23ImplicitSchurComplementEJRNS1_12LinearSolver7OptionsEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_.exit ], [ %.pre, %_ZNKSt14default_deleteIN5ceres8internal23ImplicitSchurComplementEEclEPS2_.exit.i.i.i.i ], [ %37, %.critedge79 ] %54 = load ptr, ptr %4, align 8, !tbaa !36 invoke void @_ZN5ceres8internal23ImplicitSchurComplement4InitERKNS0_17BlockSparseMatrixEPKdS6_(ptr noundef nonnull align 8 dereferenceable(144) %53, ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef %54, ptr noundef %3) to label %55 unwind label %49 @@ -747,7 +747,7 @@ _ZN4absl12lts_2024011612log_internal8VLogSite9IsEnabledEi.exit: ; preds = %70 75: ; preds = %73 invoke void @_ZN4absl12lts_2024011612log_internal10LogMessage19CopyToEncodedBufferILNS2_10StringTypeE0EEEvSt17basic_string_viewIcSt11char_traitsIcEE(ptr noundef nonnull align 8 dereferenceable(16) %74, i64 49, ptr nonnull @.str.7) - to label %.critedge76 unwind label %88 + to label %.critedge81 unwind label %88 .critedge76: ; preds = %75 call void @_ZN4absl12lts_2024011612log_internal10LogMessageD1Ev(ptr noundef nonnull align 8 dereferenceable(16) %10) #39 @@ -849,7 +849,7 @@ _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i: ; preds = %111 %118 = call ptr @__cxa_allocate_exception(i64 8) #34 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVSt9bad_alloc, i64 16), ptr %118, align 8, !tbaa !16 invoke void @__cxa_throw(ptr nonnull %118, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #41 - to label %.noexc84 unwind label %82 + to label %.noexc89 unwind label %82 .noexc84: ; preds = %117 unreachable @@ -922,7 +922,7 @@ _ZN5Eigen9DenseBaseINS_6MatrixIdLin1ELi1ELi0ELin1ELi1EEEE7setZeroEv.exit: ; pred .noexc.i.i.i: ; preds = %149 invoke void @_ZSt28__throw_bad_array_new_lengthv() #41 - to label %.noexc85 unwind label %189 + to label %.noexc90 unwind label %189 .noexc85: ; preds = %.noexc.i.i.i unreachable @@ -942,9 +942,9 @@ _ZNSt16allocator_traitsISaIiEE8allocateERS0_m.exit.i.i.i.i.i: ; preds = %149 br label %156 156: ; preds = %152, %.noexc86.thread - %157 = phi ptr [ %148, %.noexc86.thread ], [ %155, %152 ] - %158 = phi ptr [ %147, %.noexc86.thread ], [ %154, %152 ] - %159 = phi ptr [ %146, %.noexc86.thread ], [ %153, %152 ] + %157 = phi ptr [ %148, %.noexc91.thread ], [ %155, %152 ] + %158 = phi ptr [ %147, %.noexc91.thread ], [ %154, %152 ] + %159 = phi ptr [ %146, %.noexc91.thread ], [ %153, %152 ] store ptr %158, ptr %159, align 8, !tbaa !21 %160 = getelementptr inbounds nuw i8, ptr %11, i64 48 %161 = getelementptr inbounds nuw i8, ptr %1, i64 188 @@ -1170,13 +1170,13 @@ _ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i98: ; preds = %261 %268 = call ptr @__cxa_allocate_exception(i64 8) #34 store ptr getelementptr inbounds nuw inrange(-16, 24) (i8, ptr @_ZTVSt9bad_alloc, i64 16), ptr %268, align 8, !tbaa !16 invoke void @__cxa_throw(ptr nonnull %268, ptr nonnull @_ZTISt9bad_alloc, ptr nonnull @_ZNSt9bad_allocD1Ev) #41 - to label %.noexc100 unwind label %.loopexit.split-lp + to label %.noexc105 unwind label %.loopexit.split-lp .noexc100: ; preds = %267 unreachable .sink.split.i.i96: ; preds = %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i98, %261 - %.sink.i.i97 = phi ptr [ %265, %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i98 ], [ null, %261 ] + %.sink.i.i97 = phi ptr [ %265, %_ZN5Eigen8internal23check_size_for_overflowIdEEvm.exit.i.i.i103 ], [ null, %261 ] store ptr %.sink.i.i97, ptr %257, align 16, !tbaa !23 br label %269 @@ -1264,7 +1264,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i br label %295 _ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i102, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i103, %280 - %.pn61 = phi { ptr, i32 } [ %281, %280 ], [ %283, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i103 ], [ %283, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i102 ] + %.pn61 = phi { ptr, i32 } [ %281, %280 ], [ %283, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i108 ], [ %283, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i107 ] call void @llvm.lifetime.end.p0(ptr nonnull %16) br label %301 @@ -1283,7 +1283,7 @@ _ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104: ; preds = %_ZNKSt7__cxx111 br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc.exit 301: ; preds = %.loopexit, %.loopexit.split-lp, %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104 - %.pn63 = phi { ptr, i32 } [ %.pn61, %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit104 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] + %.pn63 = phi { ptr, i32 } [ %.pn61, %_ZN5ceres8internal12LinearSolver7SummaryD2Ev.exit109 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ] br label %302 302: ; preds = %302, %301 @@ -1306,7 +1306,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc.exit: ; preds = %213 ret void .body: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i91, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i92, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i, %84, %90, %51, %46, %49, %307, %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit89, %82, %30, %24, %22 - %.pn69.pn.pn = phi { ptr, i32 } [ %31, %30 ], [ %23, %22 ], [ %25, %24 ], [ %50, %49 ], [ %.pn63, %307 ], [ %83, %82 ], [ %.pn.pn, %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit89 ], [ %52, %51 ], [ %47, %46 ], [ %.pn66, %90 ], [ %85, %84 ], [ %92, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i ], [ %92, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i ], [ %221, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i92 ], [ %221, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i91 ] + %.pn69.pn.pn = phi { ptr, i32 } [ %31, %30 ], [ %23, %22 ], [ %25, %24 ], [ %50, %49 ], [ %.pn63, %307 ], [ %83, %82 ], [ %.pn.pn, %_ZN5ceres8internal14Preconditioner7OptionsD2Ev.exit94 ], [ %52, %51 ], [ %47, %46 ], [ %.pn66, %90 ], [ %85, %84 ], [ %92, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i ], [ %92, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i ], [ %221, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i.i97 ], [ %221, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i96 ] call void @_ZN5ceres8internal11EventLoggerD1Ev(ptr noundef nonnull align 8 dereferenceable(56) %7) #34 call void @llvm.lifetime.end.p0(ptr nonnull %7) resume { ptr, i32 } %.pn69.pn.pn diff --git a/bench/coreutils-rs/optimized/icw7irkz6mu05a9.ll b/bench/coreutils-rs/optimized/icw7irkz6mu05a9.ll index 9b1dae73c91..09b834d383a 100644 --- a/bench/coreutils-rs/optimized/icw7irkz6mu05a9.ll +++ b/bench/coreutils-rs/optimized/icw7irkz6mu05a9.ll @@ -1830,7 +1830,7 @@ define internal fastcc void @_ZN6uucore8features14backup_control12match_method17 br i1 %41, label %43, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb4e512201672a880E.exit94.thread" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb4e512201672a880E.exit90": ; preds = %19 - %bcmp.i89 = call i32 @bcmp(ptr nonnull readonly align 1 %23, ptr nonnull @anon.760280bf321f50b9070dd398863d3d36.34, i64 %25), !alias.scope !400 + %bcmp.i89 = call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(4) %23, ptr noundef nonnull dereferenceable(4) @anon.760280bf321f50b9070dd398863d3d36.34, i64 4), !alias.scope !400 %42 = icmp eq i32 %bcmp.i89, 0 br i1 %42, label %43, label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17hb4e512201672a880E.exit94.thread" diff --git a/bench/csmith/optimized/Constant.ll b/bench/csmith/optimized/Constant.ll index 1e8c2a9f4e1..fd521a912e7 100644 --- a/bench/csmith/optimized/Constant.ll +++ b/bench/csmith/optimized/Constant.ll @@ -604,7 +604,7 @@ _ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv.exit: ; pred br label %111 111: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit126, %_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv.exit - %112 = phi ptr [ %110, %_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv.exit ], [ %113, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit126 ] + %112 = phi ptr [ %110, %_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv.exit ], [ %113, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit132 ] %113 = getelementptr inbounds i8, ptr %112, i64 -32 %114 = load ptr, ptr %113, align 8, !tbaa !20 %115 = getelementptr inbounds i8, ptr %112, i64 -16 @@ -673,7 +673,7 @@ _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev.exit: ; preds = br label %142 142: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit129, %.body - %143 = phi ptr [ %141, %.body ], [ %144, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit129 ] + %143 = phi ptr [ %141, %.body ], [ %144, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit135 ] %144 = getelementptr inbounds i8, ptr %143, i64 -32 %145 = load ptr, ptr %144, align 8, !tbaa !20 %146 = getelementptr inbounds i8, ptr %143, i64 -16 diff --git a/bench/csmith/optimized/Function.ll b/bench/csmith/optimized/Function.ll index de4063f816b..52c24ed5877 100644 --- a/bench/csmith/optimized/Function.ll +++ b/bench/csmith/optimized/Function.ll @@ -6878,7 +6878,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %19) store i64 31, ptr %19, align 8, !tbaa !34 %30 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(8) %19, i64 noundef 0) - to label %.noexc74 unwind label %170 + to label %.noexc80 unwind label %170 .noexc74: ; preds = %.noexc.i store ptr %30, ptr %28, align 16, !tbaa !23 @@ -6897,7 +6897,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %18) store i64 33, ptr %18, align 8, !tbaa !34 %37 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull align 8 dereferenceable(8) %18, i64 noundef 0) - to label %.noexc78 unwind label %172 + to label %.noexc84 unwind label %172 .noexc78: ; preds = %.noexc74 store ptr %37, ptr %35, align 16, !tbaa !23 @@ -6916,7 +6916,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %17) store i64 38, ptr %17, align 8, !tbaa !34 %44 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(8) %17, i64 noundef 0) - to label %.noexc82 unwind label %174 + to label %.noexc88 unwind label %174 .noexc82: ; preds = %.noexc78 store ptr %44, ptr %42, align 16, !tbaa !23 @@ -6935,7 +6935,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %16) store i64 31, ptr %16, align 8, !tbaa !34 %51 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(8) %16, i64 noundef 0) - to label %.noexc86 unwind label %176 + to label %.noexc92 unwind label %176 .noexc86: ; preds = %.noexc82 store ptr %51, ptr %49, align 16, !tbaa !23 @@ -6954,7 +6954,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %15) store i64 33, ptr %15, align 8, !tbaa !34 %58 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull align 8 dereferenceable(8) %15, i64 noundef 0) - to label %.noexc90 unwind label %178 + to label %.noexc96 unwind label %178 .noexc90: ; preds = %.noexc86 store ptr %58, ptr %56, align 16, !tbaa !23 @@ -6973,7 +6973,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %14) store i64 38, ptr %14, align 8, !tbaa !34 %65 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(8) %14, i64 noundef 0) - to label %.noexc94 unwind label %180 + to label %.noexc100 unwind label %180 .noexc94: ; preds = %.noexc90 store ptr %65, ptr %63, align 16, !tbaa !23 @@ -6992,7 +6992,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %13) store i64 30, ptr %13, align 8, !tbaa !34 %72 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull align 8 dereferenceable(8) %13, i64 noundef 0) - to label %.noexc98 unwind label %182 + to label %.noexc104 unwind label %182 .noexc98: ; preds = %.noexc94 store ptr %72, ptr %70, align 16, !tbaa !23 @@ -7011,7 +7011,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %12) store i64 32, ptr %12, align 8, !tbaa !34 %79 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(8) %12, i64 noundef 0) - to label %.noexc102 unwind label %184 + to label %.noexc108 unwind label %184 .noexc102: ; preds = %.noexc98 store ptr %79, ptr %77, align 16, !tbaa !23 @@ -7030,7 +7030,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %11) store i64 37, ptr %11, align 8, !tbaa !34 %86 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull align 8 dereferenceable(8) %11, i64 noundef 0) - to label %.noexc106 unwind label %186 + to label %.noexc112 unwind label %186 .noexc106: ; preds = %.noexc102 store ptr %86, ptr %84, align 16, !tbaa !23 @@ -7049,7 +7049,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %10) store i64 34, ptr %10, align 8, !tbaa !34 %93 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull align 8 dereferenceable(8) %10, i64 noundef 0) - to label %.noexc110 unwind label %188 + to label %.noexc116 unwind label %188 .noexc110: ; preds = %.noexc106 store ptr %93, ptr %91, align 16, !tbaa !23 @@ -7068,7 +7068,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %9) store i64 36, ptr %9, align 8, !tbaa !34 %100 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef nonnull align 8 dereferenceable(8) %9, i64 noundef 0) - to label %.noexc114 unwind label %190 + to label %.noexc120 unwind label %190 .noexc114: ; preds = %.noexc110 store ptr %100, ptr %98, align 16, !tbaa !23 @@ -7087,7 +7087,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %8) store i64 41, ptr %8, align 8, !tbaa !34 %107 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef nonnull align 8 dereferenceable(8) %8, i64 noundef 0) - to label %.noexc118 unwind label %192 + to label %.noexc124 unwind label %192 .noexc118: ; preds = %.noexc114 store ptr %107, ptr %105, align 16, !tbaa !23 @@ -7106,7 +7106,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %7) store i64 36, ptr %7, align 8, !tbaa !34 %114 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull align 8 dereferenceable(8) %7, i64 noundef 0) - to label %.noexc122 unwind label %194 + to label %.noexc128 unwind label %194 .noexc122: ; preds = %.noexc118 store ptr %114, ptr %112, align 16, !tbaa !23 @@ -7125,7 +7125,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %6) store i64 38, ptr %6, align 8, !tbaa !34 %121 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef nonnull align 8 dereferenceable(8) %6, i64 noundef 0) - to label %.noexc126 unwind label %196 + to label %.noexc132 unwind label %196 .noexc126: ; preds = %.noexc122 store ptr %121, ptr %119, align 16, !tbaa !23 @@ -7144,7 +7144,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %5) store i64 43, ptr %5, align 8, !tbaa !34 %128 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull align 8 dereferenceable(8) %5, i64 noundef 0) - to label %.noexc130 unwind label %198 + to label %.noexc136 unwind label %198 .noexc130: ; preds = %.noexc126 store ptr %128, ptr %126, align 16, !tbaa !23 @@ -7163,7 +7163,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %4) store i64 36, ptr %4, align 8, !tbaa !34 %135 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef 0) - to label %.noexc134 unwind label %200 + to label %.noexc140 unwind label %200 .noexc134: ; preds = %.noexc130 store ptr %135, ptr %133, align 16, !tbaa !23 @@ -7182,7 +7182,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %3) store i64 46, ptr %3, align 8, !tbaa !34 %142 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef nonnull align 8 dereferenceable(8) %3, i64 noundef 0) - to label %.noexc138 unwind label %202 + to label %.noexc144 unwind label %202 .noexc138: ; preds = %.noexc134 store ptr %142, ptr %140, align 16, !tbaa !23 @@ -7201,7 +7201,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %2) store i64 36, ptr %2, align 8, !tbaa !34 %149 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %147, ptr noundef nonnull align 8 dereferenceable(8) %2, i64 noundef 0) - to label %.noexc142 unwind label %204 + to label %.noexc148 unwind label %204 .noexc142: ; preds = %.noexc138 store ptr %149, ptr %147, align 16, !tbaa !23 @@ -7220,7 +7220,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %1) store i64 36, ptr %1, align 8, !tbaa !34 %156 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %154, ptr noundef nonnull align 8 dereferenceable(8) %1, i64 noundef 0) - to label %.noexc146 unwind label %206 + to label %.noexc152 unwind label %206 .noexc146: ; preds = %.noexc142 store ptr %156, ptr %154, align 16, !tbaa !23 @@ -7239,7 +7239,7 @@ define dso_local void @_ZN8Function28initialize_builtin_functionsEv() local_unna call void @llvm.lifetime.start.p0(ptr nonnull %0) store i64 48, ptr %0, align 8, !tbaa !34 %163 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %161, ptr noundef nonnull align 8 dereferenceable(8) %0, i64 noundef 0) - to label %.noexc150 unwind label %208 + to label %.noexc156 unwind label %208 .noexc150: ; preds = %.noexc146 store ptr %163, ptr %161, align 16, !tbaa !23 @@ -7389,7 +7389,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS br i1 %222, label %.loopexit, label %211 223: ; preds = %.noexc150, %225 - %indvars.iv = phi i64 [ 0, %.noexc150 ], [ %indvars.iv.next, %225 ] + %indvars.iv = phi i64 [ 0, %.noexc156 ], [ %indvars.iv.next, %225 ] %224 = getelementptr inbounds nuw %"class.std::__cxx11::basic_string", ptr %21, i64 %indvars.iv invoke void @_ZN8Function21make_builtin_functionERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(32) %224) to label %225 unwind label %226 @@ -7406,7 +7406,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit: ; preds = %_ZNKS br label %242 229: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit154, %168 - %230 = phi ptr [ %169, %168 ], [ %231, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit154 ] + %230 = phi ptr [ %169, %168 ], [ %231, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit160 ] %231 = getelementptr inbounds i8, ptr %230, i64 -32 %232 = load ptr, ptr %231, align 8, !tbaa !23 %233 = getelementptr inbounds i8, ptr %230, i64 -16 @@ -7435,7 +7435,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit154: ; preds = %_Z ret void 242: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157, %226 - %243 = phi ptr [ %228, %226 ], [ %244, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157 ] + %243 = phi ptr [ %228, %226 ], [ %244, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit163 ] %244 = getelementptr inbounds i8, ptr %243, i64 -32 %245 = load ptr, ptr %244, align 8, !tbaa !23 %246 = getelementptr inbounds i8, ptr %243, i64 -16 @@ -7460,7 +7460,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157: ; preds = %_Z br i1 %253, label %.loopexit, label %242 .loopexit: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157 - %.pn70 = phi { ptr, i32 } [ %227, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit157 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit ] + %.pn70 = phi { ptr, i32 } [ %227, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit163 ], [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit ] call void @llvm.lifetime.end.p0(ptr nonnull %21) resume { ptr, i32 } %.pn70 } diff --git a/bench/cvc5/optimized/SimpSolver.ll b/bench/cvc5/optimized/SimpSolver.ll index cfbbae8cb00..49a28433fcb 100644 --- a/bench/cvc5/optimized/SimpSolver.ll +++ b/bench/cvc5/optimized/SimpSolver.ll @@ -7334,7 +7334,7 @@ define linkonce_odr hidden noundef zeroext i1 @_ZN4cvc58internal7Minisat12Double br label %_ZN4cvc58internal7MinisatL5matchIPKcEEbRT_S4_.exit _ZN4cvc58internal7MinisatL5matchIPKcEEbRT_S4_.exit: ; preds = %.lr.ph.i15, %.lr.ph.i, %.loopexit, %50 - %.0 = phi i1 [ %21, %50 ], [ false, %.loopexit ], [ false, %.lr.ph.i ], [ false, %.lr.ph.i15 ] + %.0 = phi i1 [ %21, %50 ], [ false, %.loopexit ], [ false, %.lr.ph.i ], [ false, %.lr.ph.i16 ] ret i1 %.0 } diff --git a/bench/cvc5/optimized/theory_sep_rewriter.ll b/bench/cvc5/optimized/theory_sep_rewriter.ll index c9331d71646..aa890b76722 100644 --- a/bench/cvc5/optimized/theory_sep_rewriter.ll +++ b/bench/cvc5/optimized/theory_sep_rewriter.ll @@ -1086,8 +1086,8 @@ _ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt br label %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit _ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit: ; preds = %458, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit199, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201, %490, %484, %478 - %497 = phi ptr [ %479, %478 ], [ %485, %484 ], [ %491, %490 ], [ %456, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201 ], [ %456, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit199 ], [ %456, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit ], [ %456, %458 ] - %.sroa.08.0.in.sroa.speculated.i.i.i = phi ptr [ %.sroa.032.0.lcssa.i.i.i, %478 ], [ %.sroa.032.1.i.i.i, %484 ], [ %spec.select.i.i.i, %490 ], [ %496, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit201 ], [ %495, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit199 ], [ %494, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit ], [ %.sroa.032.051.i.i.i, %458 ] + %497 = phi ptr [ %479, %478 ], [ %485, %484 ], [ %491, %490 ], [ %456, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit202 ], [ %456, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit200 ], [ %456, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit ], [ %456, %458 ] + %.sroa.08.0.in.sroa.speculated.i.i.i = phi ptr [ %.sroa.032.0.lcssa.i.i.i, %478 ], [ %.sroa.032.1.i.i.i, %484 ], [ %spec.select.i.i.i, %490 ], [ %496, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit202 ], [ %495, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit200 ], [ %494, %_ZSt4findIN9__gnu_cxx17__normal_iteratorIPN4cvc58internal12NodeTemplateILb1EEESt6vectorIS5_SaIS5_EEEES5_ET_SB_SB_RKT0_.exit.loopexit.split.loop.exit ], [ %.sroa.032.051.i.i.i, %458 ] %498 = icmp ne ptr %.sroa.08.0.in.sroa.speculated.i.i.i, %450 %.not.i = icmp eq ptr %441, %497 %or.cond = select i1 %498, i1 true, i1 %.not.i diff --git a/bench/delta-rs/optimized/4zvphat0q9a964bz.ll b/bench/delta-rs/optimized/4zvphat0q9a964bz.ll index 34c622e51b7..e61fb87dd80 100644 --- a/bench/delta-rs/optimized/4zvphat0q9a964bz.ll +++ b/bench/delta-rs/optimized/4zvphat0q9a964bz.ll @@ -18535,8 +18535,8 @@ default.unreachable: ; preds = %114 br label %.invoke .invoke: ; preds = %114, %.invoke.loopexit176 - %124 = phi ptr [ @str.5, %.invoke.loopexit176 ], [ @str.4, %114 ] - %125 = phi i64 [ 34, %.invoke.loopexit176 ], [ 35, %114 ] + %124 = phi ptr [ @str.5, %.invoke.loopexit177 ], [ @str.4, %114 ] + %125 = phi i64 [ 34, %.invoke.loopexit177 ], [ 35, %114 ] invoke void @_ZN4core9panicking5panic17h44790a89027c670fE(ptr noalias noundef nonnull readonly align 1 %124, i64 noundef %125, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.fa082ecd109e1e9e48d31b7779f57bae.642) #45 to label %.cont unwind label %112 diff --git a/bench/double_conversion/optimized/string-to-double.ll b/bench/double_conversion/optimized/string-to-double.ll index d1101dcfecf..2edb03a51eb 100644 --- a/bench/double_conversion/optimized/string-to-double.ll +++ b/bench/double_conversion/optimized/string-to-double.ll @@ -1207,9 +1207,9 @@ _ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327.thread: ; preds br label %.thread368 498: ; preds = %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327.thread594, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327.thread386, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327 - %499 = phi i32 [ %480, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327.thread386 ], [ %484, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327 ], [ %482, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327.thread594 ] - %.2175393 = phi i8 [ %.2175.ph, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327.thread386 ], [ %.2175, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327 ], [ %.5178, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327.thread594 ] - %.2187392 = phi i32 [ %.2187.ph385, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327.thread386 ], [ %.2187, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327 ], [ %.5190, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327.thread594 ] + %499 = phi i32 [ %480, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327.thread386 ], [ %484, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327 ], [ %482, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327.thread601 ] + %.2175393 = phi i8 [ %.2175.ph, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327.thread386 ], [ %.2175, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327 ], [ %.5178, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327.thread601 ] + %.2187392 = phi i32 [ %.2187.ph385, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327.thread386 ], [ %.2187, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327 ], [ %.5190, %_ZN17double_conversionL17AdvanceToNonspaceIPKcEEbPT_S3_.exit327.thread601 ] %500 = trunc nuw i8 %.2175393 to i1 br i1 %500, label %501, label %506 diff --git a/bench/eastl/optimized/TestRingBuffer.ll b/bench/eastl/optimized/TestRingBuffer.ll index a8265da663b..54e211f6c6c 100644 --- a/bench/eastl/optimized/TestRingBuffer.ll +++ b/bench/eastl/optimized/TestRingBuffer.ll @@ -47499,7 +47499,7 @@ invoke.cont312: ; preds = %invoke.cont312.lr.p %shr.i = lshr i64 %mul.i, 32 %conv3.i = trunc nuw nsw i64 %shr.i to i32 %231 = load i64, ptr %mSize.i276, align 8 - switch i32 %conv3.i, label %default.unreachable9162 [ + switch i32 %conv3.i, label %default.unreachable9322 [ i32 0, label %if.then i32 1, label %if.then333 i32 2, label %if.then362 @@ -54895,7 +54895,7 @@ invoke.cont1671: ; preds = %invoke.cont1671.lr. %shr.i5107 = lshr i64 %mul.i5106, 32 %conv3.i5108 = trunc nuw nsw i64 %shr.i5107 to i32 %1430 = load i64, ptr %mSize.i4365, align 8 - switch i32 %conv3.i5108, label %default.unreachable9162 [ + switch i32 %conv3.i5108, label %default.unreachable9322 [ i32 0, label %if.then1677 i32 1, label %if.then1696 i32 2, label %if.then1726 diff --git a/bench/flac/optimized/ogg_decoder_aspect.ll b/bench/flac/optimized/ogg_decoder_aspect.ll index 8d0bc52d49e..1aebad767b6 100644 --- a/bench/flac/optimized/ogg_decoder_aspect.ll +++ b/bench/flac/optimized/ogg_decoder_aspect.ll @@ -1065,11 +1065,11 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound br label %100 100: ; preds = %.lr.ph326, %check_size_of_link_allocation_.exit264 - %.0173324 = phi i64 [ %88, %.lr.ph326 ], [ %.1174, %check_size_of_link_allocation_.exit264 ] - %.0180323 = phi i64 [ %89, %.lr.ph326 ], [ %.1181, %check_size_of_link_allocation_.exit264 ] - %.0185322 = phi i32 [ %72, %.lr.ph326 ], [ %.1186, %check_size_of_link_allocation_.exit264 ] - %.0190321 = phi i32 [ 0, %.lr.ph326 ], [ %.1191, %check_size_of_link_allocation_.exit264 ] - %.0197320 = phi i32 [ 0, %.lr.ph326 ], [ %.1198, %check_size_of_link_allocation_.exit264 ] + %.0173324 = phi i64 [ %88, %.lr.ph329 ], [ %.1174, %check_size_of_link_allocation_.exit267 ] + %.0180323 = phi i64 [ %89, %.lr.ph329 ], [ %.1181, %check_size_of_link_allocation_.exit267 ] + %.0185322 = phi i32 [ %72, %.lr.ph329 ], [ %.1186, %check_size_of_link_allocation_.exit267 ] + %.0190321 = phi i32 [ 0, %.lr.ph329 ], [ %.1191, %check_size_of_link_allocation_.exit267 ] + %.0197320 = phi i32 [ 0, %.lr.ph329 ], [ %.1198, %check_size_of_link_allocation_.exit267 ] %101 = sub nuw i64 %.0180323, %.0173324 %102 = icmp ult i64 %101, 9 br i1 %102, label %.thread, label %103 @@ -1120,10 +1120,10 @@ define hidden range(i32 0, 10) i32 @FLAC__ogg_decoder_aspect_skip_link(ptr nound br label %126 126: ; preds = %.thread269, %109, %103, %123 - %.not235 = phi i1 [ false, %123 ], [ true, %103 ], [ true, %109 ], [ true, %.thread269 ] - %.2199 = phi i32 [ 0, %123 ], [ %.0197320, %103 ], [ %.0197320, %109 ], [ %.0197320, %.thread269 ] - %.2192 = phi i32 [ %.3193, %123 ], [ 1, %103 ], [ 0, %109 ], [ 0, %.thread269 ] - %.0168 = phi i64 [ %.1169, %123 ], [ %105, %103 ], [ %105, %109 ], [ %105, %.thread269 ] + %.not235 = phi i1 [ false, %123 ], [ true, %103 ], [ true, %109 ], [ true, %.thread272 ] + %.2199 = phi i32 [ 0, %123 ], [ %.0197320, %103 ], [ %.0197320, %109 ], [ %.0197320, %.thread272 ] + %.2192 = phi i32 [ %.3193, %123 ], [ 1, %103 ], [ 0, %109 ], [ 0, %.thread272 ] + %.0168 = phi i64 [ %.1169, %123 ], [ %105, %103 ], [ %105, %109 ], [ %105, %.thread272 ] %127 = call i64 @ogg_sync_pageseek(ptr noundef nonnull %80, ptr noundef nonnull %92) #15 %128 = trunc i64 %127 to i32 %129 = icmp slt i32 %128, 1 @@ -1222,8 +1222,8 @@ read_more_data_.exit: ; preds = %145, %135 br label %172 172: ; preds = %.lr.ph317, %172 - %indvars.iv = phi i64 [ 0, %.lr.ph317 ], [ %indvars.iv.next, %172 ] - %.1171315 = phi i32 [ %spec.select, %.lr.ph317 ], [ %spec.select254, %172 ] + %indvars.iv = phi i64 [ 0, %.lr.ph320 ], [ %indvars.iv.next, %172 ] + %.1171315 = phi i32 [ %spec.select, %.lr.ph320 ], [ %spec.select254, %172 ] %173 = getelementptr inbounds nuw i64, ptr %171, i64 %indvars.iv %174 = load i64, ptr %173, align 8, !tbaa !52 %175 = icmp eq i64 %174, %161 @@ -1297,7 +1297,7 @@ read_more_data_.exit: ; preds = %145, %135 br label %214 214: ; preds = %186, %.thread.i261 - %.pre-phi = phi i32 [ %201, %186 ], [ %.pre347, %.thread.i261 ] + %.pre-phi = phi i32 [ %201, %186 ], [ %.pre347, %.thread.i264 ] store i32 1, ptr %71, align 8, !tbaa !23 store i32 0, ptr %99, align 8, !tbaa !26 store i32 %.pre-phi, ptr %16, align 4, !tbaa !33 @@ -1430,7 +1430,7 @@ check_size_of_link_allocation_.exit264: ; preds = %268, %267, %250, %2 br i1 %.not226, label %100, label %.thread .thread: ; preds = %100, %check_size_of_link_allocation_.exit264, %120, %267, %268, %230, %203, %243, %246, %145, %139, %78, %.thread.i259, %258, %234, %261, %237, %75, %70, %77, %74 - %.4 = phi i32 [ 9, %75 ], [ 9, %70 ], [ 7, %77 ], [ 7, %74 ], [ 3, %258 ], [ 3, %234 ], [ 1, %261 ], [ 1, %237 ], [ 6, %.thread.i259 ], [ 7, %78 ], [ 7, %145 ], [ 8, %139 ], [ 7, %100 ], [ 7, %check_size_of_link_allocation_.exit264 ], [ 0, %120 ], [ 7, %267 ], [ 3, %268 ], [ 7, %230 ], [ 8, %203 ], [ %245, %243 ], [ 0, %246 ] + %.4 = phi i32 [ 9, %75 ], [ 9, %70 ], [ 7, %77 ], [ 7, %74 ], [ 3, %258 ], [ 3, %234 ], [ 1, %261 ], [ 1, %237 ], [ 6, %.thread.i262 ], [ 7, %78 ], [ 7, %145 ], [ 8, %139 ], [ 7, %100 ], [ 7, %check_size_of_link_allocation_.exit267 ], [ 0, %120 ], [ 7, %267 ], [ 3, %268 ], [ 7, %230 ], [ 8, %203 ], [ %245, %243 ], [ 0, %246 ] call void @llvm.lifetime.end.p0(ptr nonnull %11) call void @llvm.lifetime.end.p0(ptr nonnull %10) br label %check_size_of_link_allocation_.exit diff --git a/bench/freetype/optimized/truetype.ll b/bench/freetype/optimized/truetype.ll index 454a1afc624..93dabde0c49 100644 --- a/bench/freetype/optimized/truetype.ll +++ b/bench/freetype/optimized/truetype.ll @@ -14778,9 +14778,9 @@ define internal fastcc void @ft_var_load_avar(ptr noundef %0) unnamed_addr #2 { br i1 %34, label %.lr.ph85, label %._crit_edge86 .lr.ph85: ; preds = %.preheader80, %._crit_edge - %indvars.iv95 = phi i64 [ %indvars.iv.next96, %._crit_edge ], [ 0, %.preheader80 ] - %.084 = phi i32 [ %69, %._crit_edge ], [ 0, %.preheader80 ] - %.07183 = phi ptr [ %70, %._crit_edge ], [ %32, %.preheader80 ] + %indvars.iv95 = phi i64 [ %indvars.iv.next96, %._crit_edge ], [ 0, %.preheader82 ] + %.084 = phi i32 [ %69, %._crit_edge ], [ 0, %.preheader82 ] + %.07183 = phi ptr [ %70, %._crit_edge ], [ %32, %.preheader82 ] %35 = call zeroext i16 @FT_Stream_GetUShort(ptr noundef nonnull %5) #22 store i16 %35, ptr %.07183, align 8, !tbaa !588 %36 = zext i16 %35 to i64 @@ -14808,8 +14808,8 @@ define internal fastcc void @ft_var_load_avar(ptr noundef %0) unnamed_addr #2 { br i1 %.not92, label %._crit_edge90, label %.lr.ph89 .lr.ph89: ; preds = %45, %.lr.ph89 - %46 = phi ptr [ %50, %.lr.ph89 ], [ %.pre101, %45 ] - %indvars.iv98 = phi i64 [ %indvars.iv.next99, %.lr.ph89 ], [ %indvars.iv95, %45 ] + %46 = phi ptr [ %50, %.lr.ph91 ], [ %.pre101, %45 ] + %indvars.iv98 = phi i64 [ %indvars.iv.next99, %.lr.ph91 ], [ %indvars.iv95, %45 ] %indvars.iv.next99 = add nsw i64 %indvars.iv98, -1 %47 = getelementptr inbounds nuw %struct.GX_AVarSegmentRec_, ptr %46, i64 %indvars.iv.next99 %48 = getelementptr inbounds nuw i8, ptr %47, i64 8 @@ -14823,7 +14823,7 @@ define internal fastcc void @ft_var_load_avar(ptr noundef %0) unnamed_addr #2 { br i1 %53, label %.lr.ph89, label %._crit_edge90, !llvm.loop !616 ._crit_edge90: ; preds = %.lr.ph89, %45 - %54 = phi ptr [ %.pre101, %45 ], [ %50, %.lr.ph89 ] + %54 = phi ptr [ %.pre101, %45 ], [ %50, %.lr.ph91 ] call void @ft_mem_free(ptr noundef %7, ptr noundef %54) #22 store ptr null, ptr %28, align 8, !tbaa !551 br label %90 diff --git a/bench/git/optimized/diffcore-rename.ll b/bench/git/optimized/diffcore-rename.ll index 1a6b87327d0..be3e748125e 100644 --- a/bench/git/optimized/diffcore-rename.ll +++ b/bench/git/optimized/diffcore-rename.ll @@ -198,7 +198,7 @@ define dso_local void @diffcore_rename_extended(ptr noundef captures(none) %0, p unreachable 44: ; preds = %.thread467, %41 - %45 = phi i1 [ %39, %.thread467 ], [ %42, %41 ] + %45 = phi i1 [ %39, %.thread469 ], [ %42, %41 ] %.not198 = icmp eq i32 %29, 0 %spec.store.select = select i1 %.not198, i32 30000, i32 %29 %46 = load i32, ptr getelementptr inbounds nuw (i8, ptr @diff_queued_diff, i64 12), align 4, !tbaa !53 @@ -692,7 +692,7 @@ record_rename_pair.exit.i.i: ; preds = %279, %253 br label %find_identical_files.exit.i find_identical_files.exit.i: ; preds = %record_rename_pair.exit.i.i, %.thread63.i.i, %hash_filespec.exit.i.i - %.032.i.i = phi i32 [ 1, %record_rename_pair.exit.i.i ], [ 0, %.thread63.i.i ], [ 0, %hash_filespec.exit.i.i ] + %.032.i.i = phi i32 [ 1, %record_rename_pair.exit.i.i ], [ 0, %.thread64.i.i ], [ 0, %hash_filespec.exit.i.i ] %283 = add nuw nsw i32 %.032.i.i, %.024.i %indvars.iv.next34.i = add nuw nsw i64 %indvars.iv33.i, 1 %284 = load i32, ptr @rename_dst_nr, align 4, !tbaa !81 diff --git a/bench/grpc/optimized/timeout_encoding.ll b/bench/grpc/optimized/timeout_encoding.ll index 34d38e18396..64182f3d1ee 100644 --- a/bench/grpc/optimized/timeout_encoding.ll +++ b/bench/grpc/optimized/timeout_encoding.ll @@ -797,9 +797,9 @@ define { i64, i8 } @_ZN9grpc_core12ParseTimeoutERKNS_5SliceE(ptr noundef nonnull br i1 %or.cond55, label %.lr.ph115, label %.critedge2, !llvm.loop !17 .lr.ph115: ; preds = %.lr.ph77.preheader, %.lr.ph77 - %20 = phi i8 [ %18, %.lr.ph77 ], [ %16, %.lr.ph77.preheader ] - %.14775114 = phi ptr [ %30, %.lr.ph77 ], [ %.046.lcssa, %.lr.ph77.preheader ] - %.076113 = phi i32 [ %29, %.lr.ph77 ], [ 0, %.lr.ph77.preheader ] + %20 = phi i8 [ %18, %.lr.ph78 ], [ %16, %.lr.ph78.preheader ] + %.14775114 = phi ptr [ %30, %.lr.ph78 ], [ %.046.lcssa, %.lr.ph78.preheader ] + %.076113 = phi i32 [ %29, %.lr.ph78 ], [ 0, %.lr.ph78.preheader ] %21 = zext nneg i8 %20 to i32 %22 = add nsw i32 %21, -48 %23 = icmp sgt i32 %.076113, 99999999 @@ -822,8 +822,8 @@ define { i64, i8 } @_ZN9grpc_core12ParseTimeoutERKNS_5SliceE(ptr noundef nonnull br label %.critedge2, !llvm.loop !17 .critedge2: ; preds = %.lr.ph77, %..critedge2_crit_edge, %.lr.ph77.preheader - %.147.lcssa = phi ptr [ %30, %..critedge2_crit_edge ], [ %.046.lcssa, %.lr.ph77.preheader ], [ %30, %.lr.ph77 ] - %.0.lcssa = phi i32 [ %29, %..critedge2_crit_edge ], [ 0, %.lr.ph77.preheader ], [ %29, %.lr.ph77 ] + %.147.lcssa = phi ptr [ %30, %..critedge2_crit_edge ], [ %.046.lcssa, %.lr.ph78.preheader ], [ %30, %.lr.ph78 ] + %.0.lcssa = phi i32 [ %29, %..critedge2_crit_edge ], [ 0, %.lr.ph78.preheader ], [ %29, %.lr.ph78 ] %.not5485 = icmp eq ptr %.147.lcssa, %11 %or.cond88 = or i1 %or.cond55112, %.not5485 br i1 %or.cond88, label %.critedge57, label %.lr.ph87 @@ -831,7 +831,7 @@ define { i64, i8 } @_ZN9grpc_core12ParseTimeoutERKNS_5SliceE(ptr noundef nonnull .lr.ph87: ; preds = %.critedge2, %32 %.286 = phi ptr [ %33, %32 ], [ %.147.lcssa, %.critedge2 ] %31 = load i8, ptr %.286, align 1, !tbaa !10 - switch i8 %31, label %.critedge57 [ + switch i8 %31, label %.critedge58 [ i8 32, label %32 i8 110, label %34 i8 117, label %41 @@ -901,8 +901,8 @@ define { i64, i8 } @_ZN9grpc_core12ParseTimeoutERKNS_5SliceE(ptr noundef nonnull br i1 %64, label %61, label %.critedge57 .critedge57: ; preds = %14, %24, %32, %.lr.ph87, %.lr.ph.i, %61, %.critedge, %59, %.critedge2 - %.sroa.061.0 = phi i64 [ undef, %.critedge2 ], [ %.sroa.0.0, %59 ], [ undef, %.critedge ], [ %.sroa.0.0, %61 ], [ undef, %.lr.ph.i ], [ undef, %.lr.ph87 ], [ undef, %32 ], [ 9223372036854775807, %24 ], [ undef, %14 ] - %.sroa.3.0 = phi i8 [ 0, %.critedge2 ], [ 1, %59 ], [ 0, %.critedge ], [ 1, %61 ], [ 0, %.lr.ph.i ], [ 0, %.lr.ph87 ], [ 0, %32 ], [ 1, %24 ], [ 0, %14 ] + %.sroa.061.0 = phi i64 [ undef, %.critedge2 ], [ %.sroa.0.0, %59 ], [ undef, %.critedge ], [ %.sroa.0.0, %61 ], [ undef, %.lr.ph.i ], [ undef, %.lr.ph88 ], [ undef, %32 ], [ 9223372036854775807, %24 ], [ undef, %14 ] + %.sroa.3.0 = phi i8 [ 0, %.critedge2 ], [ 1, %59 ], [ 0, %.critedge ], [ 1, %61 ], [ 0, %.lr.ph.i ], [ 0, %.lr.ph88 ], [ 0, %32 ], [ 1, %24 ], [ 0, %14 ] %.fca.0.insert = insertvalue { i64, i8 } poison, i64 %.sroa.061.0, 0 %.fca.1.insert = insertvalue { i64, i8 } %.fca.0.insert, i8 %.sroa.3.0, 1 ret { i64, i8 } %.fca.1.insert diff --git a/bench/hwloc/optimized/base64.ll b/bench/hwloc/optimized/base64.ll index 784ae66cc56..8efd666f40c 100644 --- a/bench/hwloc/optimized/base64.ll +++ b/bench/hwloc/optimized/base64.ll @@ -194,7 +194,7 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) br i1 %17, label %.loopexit, label %18 18: ; preds = %15 - switch i32 %.056.ph, label %.unreachabledefault177 [ + switch i32 %.056.ph, label %.unreachabledefault179 [ i32 0, label %19 i32 1, label %26 i32 2, label %40 @@ -391,7 +391,7 @@ define hidden i32 @hwloc_decode_from_base64(ptr noundef readonly captures(none) br label %.loopexit .loopexit: ; preds = %20, %15, %57, %43, %27, %76, %.lr.ph118, %.preheader, %98, %94, %80, %68, %68, %99 - %.0 = phi i32 [ %.058.ph.ph, %99 ], [ -1, %68 ], [ -1, %68 ], [ -1, %80 ], [ -1, %94 ], [ -1, %98 ], [ -1, %.preheader ], [ -1, %.lr.ph118 ], [ -1, %76 ], [ -1, %27 ], [ -1, %43 ], [ -1, %57 ], [ -1, %15 ], [ -1, %20 ] + %.0 = phi i32 [ %.058.ph.ph, %99 ], [ -1, %68 ], [ -1, %68 ], [ -1, %80 ], [ -1, %94 ], [ -1, %98 ], [ -1, %.preheader ], [ -1, %.lr.ph120 ], [ -1, %76 ], [ -1, %27 ], [ -1, %43 ], [ -1, %57 ], [ -1, %15 ], [ -1, %20 ] ret i32 %.0 } diff --git a/bench/jsonnet/optimized/lexer.ll b/bench/jsonnet/optimized/lexer.ll index 6c8115f8be0..422a7bc3ffe 100644 --- a/bench/jsonnet/optimized/lexer.ll +++ b/bench/jsonnet/optimized/lexer.ll @@ -3207,7 +3207,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit309: ; preds = %_Z br label %763 763: ; preds = %.preheader1810, %766 - %764 = phi ptr [ %767, %766 ], [ %.ph, %.preheader1810 ] + %764 = phi ptr [ %767, %766 ], [ %.ph, %.preheader1814 ] %765 = load i8, ptr %764, align 1, !tbaa !19 switch i8 %765, label %768 [ i8 32, label %766 @@ -4338,9 +4338,9 @@ _ZSt8_DestroyIPN7jsonnet8internal13FodderElementES2_EvT_S4_RSaIT0_E.exit.i.i: ; br i1 %1128, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399, label %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i398 _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i399: ; preds = %.thread1322, %1127 - %.1671331 = phi i8 [ %.066, %.thread1322 ], [ %.3, %1127 ] - %.24861329 = phi i64 [ %.14, %.thread1322 ], [ %.8, %1127 ] - %.24911327 = phi ptr [ %.11500, %.thread1322 ], [ %.8497, %1127 ] + %.1671331 = phi i8 [ %.066, %.thread1326 ], [ %.3, %1127 ] + %.24861329 = phi i64 [ %.14, %.thread1326 ], [ %.8, %1127 ] + %.24911327 = phi ptr [ %.11500, %.thread1326 ], [ %.8497, %1127 ] %1129 = load i64, ptr %77, align 8, !tbaa !18 %1130 = icmp ult i64 %1129, 16 call void @llvm.assume(i1 %1130) diff --git a/bench/just-rs/optimized/1uppz7l1e89fp8n7.ll b/bench/just-rs/optimized/1uppz7l1e89fp8n7.ll index c0f9ae4c96f..39e9b6cea83 100644 --- a/bench/just-rs/optimized/1uppz7l1e89fp8n7.ll +++ b/bench/just-rs/optimized/1uppz7l1e89fp8n7.ll @@ -13298,14 +13298,14 @@ define noundef range(i8 0, 22) i8 @"_ZN69_$LT$just..keyword..Keyword$u20$as$u20$ br label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164": ; preds = %2 - %bcmp.i163 = tail call i32 @bcmp(ptr nonnull readonly align 1 %0, ptr nonnull @anon.c7970f49f530d4f5fc2450af5a27db93.303.llvm.7385733070074733004, i64 %1), !alias.scope !3213 + %bcmp.i163 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(13) %0, ptr noundef nonnull dereferenceable(13) @anon.c7970f49f530d4f5fc2450af5a27db93.303.llvm.7385733070074733004, i64 13), !alias.scope !3213 %bcmp.i163.fr = freeze i32 %bcmp.i163 %23 = icmp eq i32 %bcmp.i163.fr, 0 %spec.select = select i1 %23, i8 20, i8 21 br label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164.thread": ; preds = %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit152", %2, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit160", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit92", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit96", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit104", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit108", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit112", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit116", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit132", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit136", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit140", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit144", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit148", %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156" - %.0 = phi i8 [ 0, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit" ], [ 1, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88" ], [ 2, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit92" ], [ 3, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit96" ], [ 4, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100" ], [ 5, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit104" ], [ 6, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit108" ], [ 7, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit112" ], [ 8, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit116" ], [ 9, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120" ], [ 10, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124" ], [ 11, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128" ], [ 12, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit132" ], [ 13, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit136" ], [ 14, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit140" ], [ 15, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit144" ], [ 16, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit148" ], [ 18, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156" ], [ 21, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread" ], [ %spec.select, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164" ], [ %spec.select353, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit160" ], [ 21, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread400" ], [ %spec.select402, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit152" ], [ 21, %2 ] + %.0 = phi i8 [ 0, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit" ], [ 1, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit88" ], [ 2, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit92" ], [ 3, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit96" ], [ 4, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit100" ], [ 5, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit104" ], [ 6, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit108" ], [ 7, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit112" ], [ 8, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit116" ], [ 9, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit120" ], [ 10, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit124" ], [ 11, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit128" ], [ 12, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit132" ], [ 13, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit136" ], [ 14, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit140" ], [ 15, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit144" ], [ 16, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit148" ], [ 18, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156" ], [ 21, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread" ], [ %spec.select, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit164" ], [ %spec.select353, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit160" ], [ 21, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit156.thread.thread401" ], [ %spec.select402, %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h03a4955529edbd10E.exit152" ], [ 21, %2 ] ret i8 %.0 } diff --git a/bench/libevent/optimized/evdns.ll b/bench/libevent/optimized/evdns.ll index a613f0c20c1..6acd5734ed9 100644 --- a/bench/libevent/optimized/evdns.ll +++ b/bench/libevent/optimized/evdns.ll @@ -2666,7 +2666,7 @@ define internal fastcc range(i32 -8, 4) i32 @evdns_nameserver_add_impl_(ptr noun br label %86 37: ; preds = %._crit_edge95, %29, %26 - %.pre91.pre93 = phi i32 [ %.pre91.pre93.pre, %._crit_edge95 ], [ %.pre91.pre93.pre96, %29 ], [ %24, %26 ] + %.pre91.pre93 = phi i32 [ %.pre91.pre93.pre, %._crit_edge96 ], [ %.pre91.pre93.pre96, %29 ], [ %24, %26 ] %38 = getelementptr inbounds nuw i8, ptr %0, i64 288 %39 = load i32, ptr %38, align 8 %.not84 = icmp eq i32 %39, 0 @@ -2687,7 +2687,7 @@ define internal fastcc range(i32 -8, 4) i32 @evdns_nameserver_add_impl_(ptr noun br label %86 44: ; preds = %._crit_edge92, %37 - %.pre91 = phi i32 [ %.pre91.pre, %._crit_edge92 ], [ %.pre91.pre93, %37 ] + %.pre91 = phi i32 [ %.pre91.pre, %._crit_edge93 ], [ %.pre91.pre93, %37 ] %45 = getelementptr inbounds nuw i8, ptr %0, i64 292 %46 = load i32, ptr %45, align 4 %.not86 = icmp eq i32 %46, 0 diff --git a/bench/libjpeg-turbo/optimized/transupp.ll b/bench/libjpeg-turbo/optimized/transupp.ll index d8627feb472..b04c35fe29b 100644 --- a/bench/libjpeg-turbo/optimized/transupp.ll +++ b/bench/libjpeg-turbo/optimized/transupp.ll @@ -5504,8 +5504,8 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon br label %26 26: ; preds = %.lr.ph121, %._crit_edge - %27 = phi i32 [ %15, %.lr.ph121 ], [ %132, %._crit_edge ] - %indvars.iv135 = phi i64 [ 0, %.lr.ph121 ], [ %indvars.iv.next136, %._crit_edge ] + %27 = phi i32 [ %15, %.lr.ph123 ], [ %132, %._crit_edge ] + %indvars.iv135 = phi i64 [ 0, %.lr.ph123 ], [ %indvars.iv.next136, %._crit_edge ] %28 = load ptr, ptr %22, align 8, !tbaa !104 %29 = getelementptr inbounds nuw %struct.jpeg_component_info, ptr %28, i64 %indvars.iv135 %30 = getelementptr inbounds nuw i8, ptr %29, i64 8 @@ -5536,8 +5536,8 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon br label %50 50: ; preds = %.lr.ph118, %.loopexit108 - %51 = phi i32 [ %34, %.lr.ph118 ], [ %128, %.loopexit108 ] - %.097116 = phi i32 [ 0, %.lr.ph118 ], [ %129, %.loopexit108 ] + %51 = phi i32 [ %34, %.lr.ph120 ], [ %128, %.loopexit110 ] + %.097116 = phi i32 [ 0, %.lr.ph120 ], [ %129, %.loopexit110 ] %52 = load ptr, ptr %23, align 8, !tbaa !83 %53 = getelementptr inbounds nuw i8, ptr %52, i64 64 %54 = load ptr, ptr %53, align 8, !tbaa !118 @@ -5560,7 +5560,7 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon br i1 %64, label %.lr.ph115, label %.loopexit108 .lr.ph115: ; preds = %62, %.lr.ph115 - %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph115 ], [ 0, %62 ] + %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph117 ], [ 0, %62 ] %65 = getelementptr inbounds nuw ptr, ptr %56, i64 %indvars.iv %66 = load ptr, ptr %65, align 8, !tbaa !16 %67 = load i32, ptr %44, align 4, !tbaa !119 @@ -5629,8 +5629,8 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon br i1 %exitcond.not, label %.loopexit107, label %99, !llvm.loop !231 .loopexit107: ; preds = %99, %.lr.ph113..loopexit107_crit_edge - %101 = phi ptr [ %.pre139, %.lr.ph113..loopexit107_crit_edge ], [ %98, %99 ] - %102 = phi ptr [ %.pre, %.lr.ph113..loopexit107_crit_edge ], [ %96, %99 ] + %101 = phi ptr [ %.pre139, %.lr.ph115..loopexit109_crit_edge ], [ %98, %99 ] + %102 = phi ptr [ %.pre, %.lr.ph115..loopexit109_crit_edge ], [ %96, %99 ] %103 = getelementptr inbounds nuw ptr, ptr %56, i64 %indvars.iv132 %104 = getelementptr inbounds nuw [64 x i16], ptr %101, i64 %42 tail call void @jcopy_block_row(ptr noundef %102, ptr noundef %104, i32 noundef %32) #8 @@ -5675,7 +5675,7 @@ define internal fastcc void @do_crop_ext_flat(ptr noundef %0, ptr noundef readon br i1 %127, label %.lr.ph113, label %.loopexit108, !llvm.loop !233 .loopexit108: ; preds = %.lr.ph115, %.loopexit, %89, %62 - %128 = phi i32 [ %90, %89 ], [ %63, %62 ], [ %125, %.loopexit ], [ %70, %.lr.ph115 ] + %128 = phi i32 [ %90, %89 ], [ %63, %62 ], [ %125, %.loopexit ], [ %70, %.lr.ph117 ] %129 = add i32 %128, %.097116 %130 = load i32, ptr %36, align 8, !tbaa !117 %131 = icmp ult i32 %129, %130 diff --git a/bench/libpng/optimized/pngset.ll b/bench/libpng/optimized/pngset.ll index 91de6679b41..6adbece5439 100644 --- a/bench/libpng/optimized/pngset.ll +++ b/bench/libpng/optimized/pngset.ll @@ -2302,8 +2302,8 @@ add_one_chunk.exit.us: ; preds = %40, %.sink.split.i. br i1 %.not100, label %._crit_edge.thread, label %.lr.ph .preheader90.split: ; preds = %.preheader90, %.sink.split.i - %indvars.iv = phi i64 [ 0, %.preheader90 ], [ %indvars.iv.next, %.sink.split.i ] - %.06592 = phi i32 [ %spec.store.select, %.preheader90 ], [ %.016.ph.i, %.sink.split.i ] + %indvars.iv = phi i64 [ 0, %.preheader91 ], [ %indvars.iv.next, %.sink.split.i ] + %.06592 = phi i32 [ %spec.store.select, %.preheader91 ], [ %.016.ph.i, %.sink.split.i ] %44 = mul i64 %indvars.iv, 5 %45 = and i64 %44, 4294967295 %46 = getelementptr inbounds nuw i8, ptr %.071, i64 %45 @@ -2311,8 +2311,8 @@ add_one_chunk.exit.us: ; preds = %40, %.sink.split.i. br i1 %.not24.i, label %._crit_edge.i, label %.lr.ph.i .lr.ph.i: ; preds = %.preheader90.split, %48 - %.023.i = phi i32 [ %49, %48 ], [ 0, %.preheader90.split ] - %.01722.i = phi ptr [ %50, %48 ], [ %28, %.preheader90.split ] + %.023.i = phi i32 [ %49, %48 ], [ 0, %.preheader91.split ] + %.01722.i = phi ptr [ %50, %48 ], [ %28, %.preheader91.split ] %bcmp.i = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(4) %.01722.i, ptr noundef nonnull readonly dereferenceable(4) %46, i64 4) %47 = icmp eq i32 %bcmp.i, 0 br i1 %47, label %.sink.split.i, label %48 @@ -2324,7 +2324,7 @@ add_one_chunk.exit.us: ; preds = %40, %.sink.split.i. br i1 %exitcond.not.i, label %._crit_edge.i, label %.lr.ph.i, !llvm.loop !199 ._crit_edge.i: ; preds = %48, %.preheader90.split - %.017.lcssa.i = phi ptr [ %28, %.preheader90.split ], [ %50, %48 ] + %.017.lcssa.i = phi ptr [ %28, %.preheader91.split ], [ %50, %48 ] %51 = add i32 %.06592, 1 %52 = load i32, ptr %46, align 1 store i32 %52, ptr %.017.lcssa.i, align 1 diff --git a/bench/libquic/optimized/s3_pkt.ll b/bench/libquic/optimized/s3_pkt.ll index d72a857a5ab..e4ba7416488 100644 --- a/bench/libquic/optimized/s3_pkt.ll +++ b/bench/libquic/optimized/s3_pkt.ll @@ -734,7 +734,7 @@ thread-pre-split: ; preds = %90, %122 %200 = shl nuw nsw i32 %199, 8 %201 = zext i8 %192 to i32 %202 = or disjoint i32 %200, %201 - call void %.1120154(ptr noundef nonnull %0, i32 noundef 16388, i32 noundef %202) #5 + call void %.1120155(ptr noundef nonnull %0, i32 noundef 16388, i32 noundef %202) #5 br label %203 203: ; preds = %.thread, %195 @@ -766,7 +766,7 @@ thread-pre-split: ; preds = %90, %122 br i1 %215, label %216, label %.outer .outer: ; preds = %.preheader163, %211 - %.0119.ph = phi ptr [ null, %.preheader163 ], [ %.1120155, %211 ] + %.0119.ph = phi ptr [ null, %.preheader164 ], [ %.1120155, %211 ] br label %.backedge 216: ; preds = %211 diff --git a/bench/libsodium/optimized/aegis256_soft.ll b/bench/libsodium/optimized/aegis256_soft.ll index 78e260c6ac2..fd1c8b23206 100644 --- a/bench/libsodium/optimized/aegis256_soft.ll +++ b/bench/libsodium/optimized/aegis256_soft.ll @@ -281,8 +281,8 @@ define internal i32 @decrypt_detached(ptr noundef %0, ptr noundef readonly captu br i1 %.not, label %.preheader81, label %.lr.ph, !llvm.loop !16 28: ; preds = %.lr.ph86, %28 - %29 = phi i64 [ %14, %.lr.ph86 ], [ %72, %28 ] - %.185 = phi i64 [ %.052.lcssa, %.lr.ph86 ], [ %29, %28 ] + %29 = phi i64 [ %14, %.lr.ph92 ], [ %72, %28 ] + %.185 = phi i64 [ %.052.lcssa, %.lr.ph92 ], [ %29, %28 ] %30 = getelementptr i8, ptr %5, i64 %.185 %.val = load i64, ptr %30, align 1 %31 = getelementptr i8, ptr %30, i64 8 @@ -346,7 +346,7 @@ define internal i32 @decrypt_detached(ptr noundef %0, ptr noundef readonly captu br i1 %.not64, label %._crit_edge, label %28, !llvm.loop !17 ._crit_edge: ; preds = %28, %.preheader81 - %.1.lcssa = phi i64 [ %.052.lcssa, %.preheader81 ], [ %29, %28 ] + %.1.lcssa = phi i64 [ %.052.lcssa, %.preheader87 ], [ %29, %28 ] %73 = and i64 %6, 15 %.not65 = icmp eq i64 %73, 0 br i1 %.not65, label %128, label %74 @@ -437,8 +437,8 @@ define internal i32 @decrypt_detached(ptr noundef %0, ptr noundef readonly captu br i1 %.not6792, label %.loopexit, label %.lr.ph94 .lr.ph94: ; preds = %.preheader, %.lr.ph94 - %130 = phi i64 [ %134, %.lr.ph94 ], [ 16, %.preheader ] - %.293 = phi i64 [ %130, %.lr.ph94 ], [ 0, %.preheader ] + %130 = phi i64 [ %134, %.lr.ph100 ], [ 16, %.preheader ] + %.293 = phi i64 [ %130, %.lr.ph100 ], [ 0, %.preheader ] %131 = getelementptr i8, ptr %0, i64 %.293 %132 = getelementptr i8, ptr %1, i64 %.293 %.val72 = load i64, ptr %132, align 1 @@ -450,8 +450,8 @@ define internal i32 @decrypt_detached(ptr noundef %0, ptr noundef readonly captu br i1 %.not67, label %.loopexit, label %.lr.ph94, !llvm.loop !22 .lr.ph90: ; preds = %.preheader79, %.lr.ph90 - %135 = phi i64 [ %138, %.lr.ph90 ], [ 16, %.preheader79 ] - %.489 = phi i64 [ %135, %.lr.ph90 ], [ 0, %.preheader79 ] + %135 = phi i64 [ %138, %.lr.ph96 ], [ 16, %.preheader85 ] + %.489 = phi i64 [ %135, %.lr.ph96 ], [ 0, %.preheader85 ] %136 = getelementptr i8, ptr %1, i64 %.489 %.val74 = load i64, ptr %136, align 1 %137 = getelementptr i8, ptr %136, i64 8 @@ -462,7 +462,7 @@ define internal i32 @decrypt_detached(ptr noundef %0, ptr noundef readonly captu br i1 %.not66, label %.loopexit, label %.lr.ph90, !llvm.loop !23 .loopexit: ; preds = %.lr.ph90, %.lr.ph94, %.preheader79, %.preheader - %.3 = phi i64 [ 0, %.preheader ], [ 0, %.preheader79 ], [ %130, %.lr.ph94 ], [ %135, %.lr.ph90 ] + %.3 = phi i64 [ 0, %.preheader ], [ 0, %.preheader85 ], [ %130, %.lr.ph100 ], [ %135, %.lr.ph96 ] %139 = and i64 %2, 15 %.not68 = icmp eq i64 %139, 0 br i1 %.not68, label %142, label %.sink.split diff --git a/bench/libsodium/optimized/crypto_secretbox_easy.ll b/bench/libsodium/optimized/crypto_secretbox_easy.ll index 178b51a3b97..0bc9657636f 100644 --- a/bench/libsodium/optimized/crypto_secretbox_easy.ll +++ b/bench/libsodium/optimized/crypto_secretbox_easy.ll @@ -191,7 +191,7 @@ define dso_local range(i32 -1, 1) i32 @crypto_secretbox_open_detached(ptr nounde br label %.sink.split .sink.split: ; preds = %._crit_edge59, %27, %._crit_edge59.thread, %._crit_edge - %.044.ph = phi i32 [ -1, %._crit_edge ], [ 0, %._crit_edge59.thread ], [ 0, %27 ], [ 0, %._crit_edge59 ] + %.044.ph = phi i32 [ -1, %._crit_edge ], [ 0, %._crit_edge60.thread ], [ 0, %27 ], [ 0, %._crit_edge60 ] call void @sodium_memzero(ptr noundef nonnull %8, i64 noundef 32) #7 br label %32 diff --git a/bench/libwebp/optimized/dwebp.ll b/bench/libwebp/optimized/dwebp.ll index a68c41deec3..513c6afe39d 100644 --- a/bench/libwebp/optimized/dwebp.ll +++ b/bench/libwebp/optimized/dwebp.ll @@ -567,7 +567,7 @@ sub_1366: ; preds = %sub_0365 br label %.thread312 .thread312: ; preds = %.thread503, %.loopexit369, %79, %44 - %.3.ph = phi i32 [ 0, %44 ], [ 0, %79 ], [ 1, %.loopexit369 ], [ 1, %.thread503 ] + %.3.ph = phi i32 [ 0, %44 ], [ 0, %79 ], [ 1, %.loopexit369 ], [ 1, %.thread504 ] call void @llvm.lifetime.end.p0(ptr nonnull %6) br label %427 @@ -623,7 +623,7 @@ sub_1366: ; preds = %sub_0365 br label %427 226: ; preds = %224 - switch i32 %.0206402, label %default.unreachable494 [ + switch i32 %.0206402, label %default.unreachable495 [ i32 0, label %227 i32 1, label %231 i32 2, label %232 diff --git a/bench/llvm/optimized/SemaDeclCXX.ll b/bench/llvm/optimized/SemaDeclCXX.ll index 15758b4d878..c80a7047ab5 100644 --- a/bench/llvm/optimized/SemaDeclCXX.ll +++ b/bench/llvm/optimized/SemaDeclCXX.ll @@ -127891,7 +127891,6 @@ define dso_local noundef ptr @_ZN5clang4Sema28BuildStaticAssertDeclarationENS_14 %45 = and i64 %43, -2 %46 = inttoptr i64 %45 to ptr %47 = or i1 %40, %44 - %narrow = or i1 %5, %47 %.0 = select i1 %44, ptr %2, ptr %46 call void @llvm.lifetime.start.p0(ptr nonnull %7) %48 = getelementptr inbounds nuw i8, ptr %7, i64 8 @@ -127900,7 +127899,7 @@ define dso_local noundef ptr @_ZN5clang4Sema28BuildStaticAssertDeclarationENS_14 %49 = getelementptr inbounds nuw i8, ptr %7, i64 12 store i8 0, ptr %49, align 4, !tbaa !1297 %50 = getelementptr inbounds nuw i8, ptr %0, i64 232 - br i1 %narrow, label %.critedge.thread, label %.critedge + br i1 %47, label %.critedge.thread, label %.critedge .critedge: ; preds = %38 %51 = load ptr, ptr %50, align 8, !tbaa !1065 diff --git a/bench/lvgl/optimized/lv_sprintf_builtin.ll b/bench/lvgl/optimized/lv_sprintf_builtin.ll index ce5782f9637..0baa42dacf8 100644 --- a/bench/lvgl/optimized/lv_sprintf_builtin.ll +++ b/bench/lvgl/optimized/lv_sprintf_builtin.ll @@ -1868,8 +1868,8 @@ define internal fastcc noundef i64 @_ntoa_format(ptr noundef readonly captures(n br label %.critedge .critedge: ; preds = %.lr.ph106.preheader, %.preheader, %.lr.ph98, %11 - %.073 = phi i32 [ %9, %11 ], [ %.174, %.lr.ph98 ], [ %.174, %.preheader ], [ %.174, %.lr.ph106.preheader ] - %.0 = phi i64 [ %5, %11 ], [ %.1.lcssa, %.lr.ph98 ], [ %.1.lcssa, %.preheader ], [ %invariant.umin102, %.lr.ph106.preheader ] + %.073 = phi i32 [ %9, %11 ], [ %.174, %.lr.ph99 ], [ %.174, %.preheader ], [ %.174, %.lr.ph107.preheader ] + %.0 = phi i64 [ %5, %11 ], [ %.1.lcssa, %.lr.ph99 ], [ %.1.lcssa, %.preheader ], [ %invariant.umin102, %.lr.ph107.preheader ] %26 = and i32 %10, 16 %.not82 = icmp eq i32 %26, 0 br i1 %.not82, label %57, label %27 @@ -1922,14 +1922,14 @@ define internal fastcc noundef i64 @_ntoa_format(ptr noundef readonly captures(n br i1 %or.cond9, label %.critedge90.thread.sink.split, label %.critedge90.thread .critedge90.thread.sink.split: ; preds = %.critedge90, %47, %43 - %.sink = phi i8 [ 120, %43 ], [ 88, %47 ], [ 98, %.critedge90 ] + %.sink = phi i8 [ 120, %43 ], [ 88, %47 ], [ 98, %.critedge91 ] %51 = add nuw nsw i64 %.4, 1 %52 = getelementptr inbounds nuw i8, ptr %4, i64 %.4 store i8 %.sink, ptr %52, align 1, !tbaa !3 br label %.critedge90.thread .critedge90.thread: ; preds = %.critedge90.thread.sink.split, %47, %.critedge90 - %.5 = phi i64 [ %.4, %.critedge90 ], [ %.4, %47 ], [ %51, %.critedge90.thread.sink.split ] + %.5 = phi i64 [ %.4, %.critedge91 ], [ %.4, %47 ], [ %51, %.critedge91.thread.sink.split ] %53 = icmp ult i64 %.5, 32 br i1 %53, label %54, label %.thread @@ -1965,7 +1965,7 @@ define internal fastcc noundef i64 @_ntoa_format(ptr noundef readonly captures(n br label %.thread .thread: ; preds = %.thread.sink.split, %.critedge90.thread, %62, %57 - %.6 = phi i64 [ %.3, %62 ], [ %.3, %57 ], [ %.5, %.critedge90.thread ], [ %64, %.thread.sink.split ] + %.6 = phi i64 [ %.3, %62 ], [ %.3, %57 ], [ %.5, %.critedge91.thread ], [ %64, %.thread.sink.split ] %66 = and i32 %10, 3 %or.cond.i = icmp eq i32 %66, 0 br i1 %or.cond.i, label %.preheader30.i, label %.loopexit31.i diff --git a/bench/mold/optimized/cmdline.cc.X86_64.ll b/bench/mold/optimized/cmdline.cc.X86_64.ll index fd53a091176..5c4c02b4cc2 100644 --- a/bench/mold/optimized/cmdline.cc.X86_64.ll +++ b/bench/mold/optimized/cmdline.cc.X86_64.ll @@ -5051,7 +5051,7 @@ _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_ br label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1296 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1025: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1013 - %bcmp.i1026 = call i32 @bcmp(ptr %.sroa.2317.0.copyload, ptr nonnull @.str.28, i64 %.sroa.0316.0.copyload) + %bcmp.i1026 = call i32 @bcmp(ptr noundef nonnull dereferenceable(11) %.sroa.2317.0.copyload, ptr noundef nonnull dereferenceable(11) @.str.28, i64 11) %1910 = icmp eq i32 %bcmp.i1026, 0 br i1 %1910, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1028, label %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1029 @@ -5101,7 +5101,7 @@ _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_ br label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1296 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1049: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1041 - %bcmp.i1050 = call i32 @bcmp(ptr %.sroa.2317.0.copyload, ptr nonnull @.str.34, i64 %.sroa.0316.0.copyload) + %bcmp.i1050 = call i32 @bcmp(ptr noundef nonnull dereferenceable(8) %.sroa.2317.0.copyload, ptr noundef nonnull dereferenceable(8) @.str.34, i64 8) %1916 = icmp eq i32 %bcmp.i1050, 0 br i1 %1916, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1052, label %1927 @@ -5165,7 +5165,7 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1077: ; preds = %1902 br i1 %1923, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1080, label %1927 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1081: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1061 - %bcmp.i1082 = call i32 @bcmp(ptr nonnull %.sroa.2317.0.copyload, ptr nonnull @.str.42, i64 %.sroa.0316.0.copyload) + %bcmp.i1082 = call i32 @bcmp(ptr noundef nonnull dereferenceable(11) %.sroa.2317.0.copyload, ptr noundef nonnull dereferenceable(11) @.str.42, i64 11) %1924 = icmp eq i32 %bcmp.i1082, 0 br i1 %1924, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1080, label %1927 @@ -13354,7 +13354,7 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2091: ; preds = %4511 br i1 %4516, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit2094, label %4518 _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2095: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2087 - %bcmp.i2096 = call i32 @bcmp(ptr nonnull %.sroa.273.0.copyload, ptr nonnull @.str.339, i64 %.sroa.072.0.copyload) + %bcmp.i2096 = call i32 @bcmp(ptr noundef nonnull dereferenceable(4) %.sroa.273.0.copyload, ptr noundef nonnull dereferenceable(4) @.str.339, i64 4) %4517 = icmp eq i32 %bcmp.i2096, 0 br i1 %4517, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit2094, label %4518 diff --git a/bench/mold/optimized/passes.cc.X86_64.ll b/bench/mold/optimized/passes.cc.X86_64.ll index dfd7cea1537..38e792bf138 100644 --- a/bench/mold/optimized/passes.cc.X86_64.ll +++ b/bench/mold/optimized/passes.cc.X86_64.ll @@ -54799,7 +54799,7 @@ define linkonce_odr dso_local noundef i64 @_ZN3tbb6detail2d116quick_sort_rangeIN br label %.backedge47 .backedge47: ; preds = %.backedge47.backedge, %29 - %.129 = phi i64 [ %.028, %29 ], [ %36, %.backedge47.backedge ] + %.129 = phi i64 [ %.028, %29 ], [ %36, %.backedge48.backedge ] %36 = add i64 %.129, -1 %37 = getelementptr inbounds ptr, ptr %28, i64 %36 %38 = load ptr, ptr %37, align 8, !tbaa !442 @@ -95465,7 +95465,7 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i33: ; preds = %3 br label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i37: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i29 - %bcmp.i38 = tail call i32 @bcmp(ptr %.sroa.10.0.copyload, ptr nonnull @.str.59, i64 %.sroa.013.0.copyload) + %bcmp.i38 = tail call i32 @bcmp(ptr noundef nonnull dereferenceable(11) %.sroa.10.0.copyload, ptr noundef nonnull dereferenceable(11) @.str.59, i64 11) %11 = icmp ne i32 %bcmp.i38, 0 br label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit @@ -111202,7 +111202,7 @@ define linkonce_odr dso_local noundef i64 @_ZN3tbb6detail2d116quick_sort_rangeIN br label %.backedge41 .backedge41: ; preds = %.backedge41.backedge, %36 - %.129 = phi i64 [ %.028, %36 ], [ %49, %.backedge41.backedge ] + %.129 = phi i64 [ %.028, %36 ], [ %49, %.backedge44.backedge ] %49 = add i64 %.129, -1 %50 = getelementptr inbounds ptr, ptr %29, i64 %49 %51 = load ptr, ptr %50, align 8, !tbaa !318 @@ -111287,7 +111287,7 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.thread.i.i.i.i.i.i.i38: ; preds = %_Z br label %_ZSt11__tuple_cmpISt15strong_orderingSt5tupleIJjSt17basic_string_viewIcSt11char_traitsIcEEEES6_Lm1ETpTnmJEET_RKT0_RKT1_St16integer_sequenceImJXT2_EXspT3_EEE.exit.i.i.i36 _ZSt11__tuple_cmpISt15strong_orderingSt5tupleIJjSt17basic_string_viewIcSt11char_traitsIcEEEES6_Lm1ETpTnmJEET_RKT0_RKT1_St16integer_sequenceImJXT2_EXspT3_EEE.exit.i.i.i36: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.thread.i.i.i.i.i.i.i38, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i.i.i.i.i34 - %.0.i.i.i.i.i.i.i37 = phi i32 [ %94, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.thread.i.i.i.i.i.i.i38 ], [ %92, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i.i.i.i.i34 ] + %.0.i.i.i.i.i.i.i37 = phi i32 [ %94, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.thread.i.i.i.i.i.i.i41 ], [ %92, %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i.i.i.i.i.i37 ] %95 = icmp slt i32 %.0.i.i.i.i.i.i.i37, 0 br i1 %95, label %.backedge, label %98 @@ -124437,7 +124437,7 @@ define linkonce_odr dso_local noundef i64 @_ZN3tbb6detail2d116quick_sort_rangeIP br label %.backedge42 .backedge42: ; preds = %.backedge42.backedge, %30 - %.127 = phi i64 [ %.026, %30 ], [ %32, %.backedge42.backedge ] + %.127 = phi i64 [ %.026, %30 ], [ %32, %.backedge45.backedge ] %32 = add i64 %.127, -1 %33 = getelementptr inbounds nuw %"struct.mold::ElfRel", ptr %.pre, i64 %32 %34 = getelementptr inbounds nuw i8, ptr %33, i64 8 diff --git a/bench/nghttp2/optimized/nghttp2_submit.ll b/bench/nghttp2/optimized/nghttp2_submit.ll index 7fd55759706..519c241bf2a 100644 --- a/bench/nghttp2/optimized/nghttp2_submit.ll +++ b/bench/nghttp2/optimized/nghttp2_submit.ll @@ -518,7 +518,7 @@ define i32 @nghttp2_submit_altsvc(ptr noundef %0, i8 noundef zeroext %1, i32 nou br label %31 31: ; preds = %29, %.thread64 - %.1 = phi ptr [ %30, %29 ], [ %28, %.thread64 ] + %.1 = phi ptr [ %30, %29 ], [ %28, %.thread65 ] store i8 0, ptr %.1, align 1, !tbaa !7 %32 = tail call ptr @nghttp2_mem_malloc(ptr noundef nonnull %8, i64 noundef 160) #8 %33 = icmp eq ptr %32, null diff --git a/bench/nuttx/optimized/lib_base64.ll b/bench/nuttx/optimized/lib_base64.ll index 4a25a6aafeb..637647c950d 100644 --- a/bench/nuttx/optimized/lib_base64.ll +++ b/bench/nuttx/optimized/lib_base64.ll @@ -176,7 +176,7 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture br i1 %12, label %.loopexit, label %13 13: ; preds = %11 - switch i32 %.044.ph, label %.unreachabledefault162 [ + switch i32 %.044.ph, label %.unreachabledefault163 [ i32 0, label %14 i32 1, label %20 i32 2, label %32 @@ -361,7 +361,7 @@ define i32 @b64_pton(ptr noundef readonly captures(none) %0, ptr noundef capture unreachable .loopexit: ; preds = %15, %11, %33, %21, %59, %.lr.ph107, %.preheader, %76, %74, %63, %54, %54, %77 - %.049 = phi i32 [ %78, %77 ], [ -1, %54 ], [ -1, %54 ], [ -1, %63 ], [ -1, %74 ], [ -1, %76 ], [ -1, %.preheader ], [ -1, %.lr.ph107 ], [ -1, %59 ], [ -1, %21 ], [ -1, %33 ], [ -1, %11 ], [ -1, %15 ] + %.049 = phi i32 [ %78, %77 ], [ -1, %54 ], [ -1, %54 ], [ -1, %63 ], [ -1, %74 ], [ -1, %76 ], [ -1, %.preheader ], [ -1, %.lr.ph108 ], [ -1, %59 ], [ -1, %21 ], [ -1, %33 ], [ -1, %11 ], [ -1, %15 ] ret i32 %.049 } diff --git a/bench/openblas/optimized/dggesx.ll b/bench/openblas/optimized/dggesx.ll index eeebe240206..703487390a2 100644 --- a/bench/openblas/optimized/dggesx.ll +++ b/bench/openblas/optimized/dggesx.ll @@ -607,7 +607,7 @@ define void @dggesx_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef br label %301 301: ; preds = %.sink.split677, %296, %258 - %.4 = phi i32 [ %.5, %296 ], [ %.2, %258 ], [ %.5, %.sink.split677 ] + %.4 = phi i32 [ %.5, %296 ], [ %.2, %258 ], [ %.5, %.sink.split681 ] %302 = load i32, ptr %34, align 4, !tbaa !3 %.not562 = icmp eq i32 %302, 0 br i1 %.not562, label %304, label %303 diff --git a/bench/opencc/optimized/Config.ll b/bench/opencc/optimized/Config.ll index 71fca34bf78..c09e8907929 100644 --- a/bench/opencc/optimized/Config.ll +++ b/bench/opencc/optimized/Config.ll @@ -11440,13 +11440,13 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu br label %_ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12NumberStreamINS_25GenericInsituStringStreamIS2_EELb0ELb0EEEEEbRT_NSA_2ChE.exit196.thread .lr.ph532.preheader: ; preds = %109, %.thread616 - %.398615 = phi double [ %114, %.thread616 ], [ %.196, %109 ] - %.0115614 = phi i32 [ %.1116517, %.thread616 ], [ 0, %109 ] - %.1121613 = phi i8 [ 1, %.thread616 ], [ %.0120369, %109 ] - %.6133612 = phi i32 [ %.7134516, %.thread616 ], [ %.3130368, %109 ] - %.4141611 = phi i64 [ %.6143515, %.thread616 ], [ %.1138367, %109 ] - %.sroa.0.9610 = phi ptr [ %.sroa.0.10514, %.thread616 ], [ %101, %109 ] - %128 = phi i8 [ %111, %.thread616 ], [ %102, %109 ] + %.398615 = phi double [ %114, %.thread619 ], [ %.196, %109 ] + %.0115614 = phi i32 [ %.1116517, %.thread619 ], [ 0, %109 ] + %.1121613 = phi i8 [ 1, %.thread619 ], [ %.0120369, %109 ] + %.6133612 = phi i32 [ %.7134516, %.thread619 ], [ %.3130368, %109 ] + %.4141611 = phi i64 [ %.6143515, %.thread619 ], [ %.1138367, %109 ] + %.sroa.0.9610 = phi ptr [ %.sroa.0.10514, %.thread619 ], [ %101, %109 ] + %128 = phi i8 [ %111, %.thread619 ], [ %102, %109 ] br label %.lr.ph532 .lr.ph532: ; preds = %.lr.ph532.preheader, %142 @@ -11568,8 +11568,8 @@ _ZN9rapidjson13GenericReaderINS_4UTF8IcEES2_NS_12CrtAllocatorEE7ConsumeINS4_12Nu br i1 %172, label %.lr.ph539, label %.thread423, !prof !334, !llvm.loop !335 173: ; preds = %.thread627, %156 - %174 = phi i32 [ %155, %.thread627 ], [ %159, %156 ] - %175 = phi ptr [ %153, %.thread627 ], [ %157, %156 ] + %174 = phi i32 [ %155, %.thread630 ], [ %159, %156 ] + %175 = phi ptr [ %153, %.thread630 ], [ %157, %156 ] %176 = sub nsw i32 308, %.4119 br label %177 diff --git a/bench/openjdk/optimized/lowMemoryDetector.ll b/bench/openjdk/optimized/lowMemoryDetector.ll index c561eed1911..32a99a2d228 100644 --- a/bench/openjdk/optimized/lowMemoryDetector.ll +++ b/bench/openjdk/optimized/lowMemoryDetector.ll @@ -402,9 +402,9 @@ _ZN11MutexLockerC2EP5MutexNS0_18SafepointCheckFlagE.exit: ; preds = %0, %3 br label %7 7: ; preds = %.lr.ph, %80 - %8 = phi ptr [ %4, %.lr.ph ], [ %81, %80 ] - %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %80 ] - %.024 = phi i8 [ 0, %.lr.ph ], [ %.1, %80 ] + %8 = phi ptr [ %4, %.lr.ph ], [ %81, %79 ] + %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %79 ] + %.024 = phi i8 [ 0, %.lr.ph ], [ %.1, %79 ] %9 = getelementptr inbounds nuw i8, ptr %8, i64 8 %10 = load ptr, ptr %9, align 8 %11 = getelementptr inbounds nuw ptr, ptr %10, i64 %indvars.iv @@ -518,8 +518,7 @@ _ZN16ThresholdSupport24is_low_threshold_crossedE11MemoryUsage.exit.i: ; preds = br i1 %or.cond14.i, label %68, label %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit 68: ; preds = %64, %57 - %69 = add nuw nsw i32 %62, 1 - store i32 %69, ptr %61, align 4 + store i32 1, ptr %61, align 4 br label %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit _ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit: ; preds = %52, %55, %56, %64, %68 @@ -539,8 +538,8 @@ _ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit: ; br label %80 80: ; preds = %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit, %71, %7, %15, %20 - %81 = phi ptr [ %8, %20 ], [ %8, %15 ], [ %8, %7 ], [ %.pre, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit ], [ %.pre, %71 ] - %.1 = phi i8 [ %.024, %20 ], [ %.024, %15 ], [ %.024, %7 ], [ 1, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit ], [ %79, %71 ] + %81 = phi ptr [ %8, %20 ], [ %8, %15 ], [ %8, %7 ], [ %.pre, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit ], [ %.pre, %70 ] + %.1 = phi i8 [ %.024, %20 ], [ %.024, %15 ], [ %.024, %7 ], [ 1, %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit ], [ %79, %70 ] %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count br i1 %exitcond.not, label %._crit_edge, label %7, !llvm.loop !9 @@ -645,9 +644,8 @@ _ZN16ThresholdSupport24is_low_threshold_crossedE11MemoryUsage.exit: ; preds = %1 br i1 %or.cond14, label %44, label %46 44: ; preds = %40, %33 - %45 = add nuw nsw i32 %38, 1 - store i32 %45, ptr %37, align 4 - br label %46 + store i32 1, ptr %37, align 4 + br label %45 46: ; preds = %32, %40, %44, %28, %31 ret void @@ -783,9 +781,8 @@ _ZN16ThresholdSupport24is_low_threshold_crossedE11MemoryUsage.exit.i: ; preds = br i1 %or.cond14.i, label %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit.thread, label %_ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit _ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit.thread: ; preds = %51, %58 - %62 = add nuw nsw i32 %56, 1 - store i32 %62, ptr %55, align 4 - br label %69 + store i32 1, ptr %55, align 4 + br label %68 _ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit: ; preds = %._ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit_crit_edge, %46, %49, %58 %63 = phi i32 [ %.pre, %._ZN10SensorInfo22set_gauge_sensor_levelE11MemoryUsageP16ThresholdSupport.exit_crit_edge ], [ %44, %46 ], [ 0, %49 ], [ %56, %58 ] diff --git a/bench/openmpi/optimized/pmix_pointer_array.ll b/bench/openmpi/optimized/pmix_pointer_array.ll index 2dd6869986d..e8fe455d127 100644 --- a/bench/openmpi/optimized/pmix_pointer_array.ll +++ b/bench/openmpi/optimized/pmix_pointer_array.ll @@ -396,7 +396,7 @@ pmix_tma_realloc.exit55: ; preds = %46, %50 br label %66 66: ; preds = %pmix_tma_realloc.exit55, %pmix_tma_realloc.exit, %12, %.loopexit - %.0 = phi i1 [ true, %.loopexit ], [ false, %12 ], [ false, %pmix_tma_realloc.exit ], [ false, %pmix_tma_realloc.exit55 ] + %.0 = phi i1 [ true, %.loopexit ], [ false, %12 ], [ false, %pmix_tma_realloc.exit ], [ false, %pmix_tma_realloc.exit57 ] ret i1 %.0 } diff --git a/bench/pbrt-v4/optimized/parser.ll b/bench/pbrt-v4/optimized/parser.ll index 651dda0ef8b..e883c774797 100644 --- a/bench/pbrt-v4/optimized/parser.ll +++ b/bench/pbrt-v4/optimized/parser.ll @@ -7081,7 +7081,7 @@ _ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_ .invoke9858: ; preds = %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit546, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit563, %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit556, %458 invoke void @_ZN4pbrt8LogFatalIJRA4_KcEEEvNS_8LogLevelEPS1_iS5_DpOT_(i32 noundef 2, ptr noundef nonnull @.str.306, i32 noundef 235, ptr noundef nonnull @.str.6, ptr noundef nonnull align 1 dereferenceable(4) @.str.307) #36 - to label %.cont9859 unwind label %.loopexit.split-lp2648 + to label %.cont9860 unwind label %.loopexit.split-lp2648 .cont9859: ; preds = %.invoke9858 unreachable @@ -7564,7 +7564,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEED2Ev.exit664: ; preds = %_ZNSt11char_traitsI .invoke9860: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEED2Ev.exit664, %551 invoke void @_ZN4pbrt8LogFatalIJRA4_KcEEEvNS_8LogLevelEPS1_iS5_DpOT_(i32 noundef 2, ptr noundef nonnull @.str.306, i32 noundef 235, ptr noundef nonnull @.str.6, ptr noundef nonnull align 1 dereferenceable(4) @.str.307) #36 - to label %.cont9861 unwind label %.loopexit.split-lp2638 + to label %.cont9862 unwind label %.loopexit.split-lp2638 .cont9861: ; preds = %.invoke9860 unreachable @@ -8449,7 +8449,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692: ; preds = %_ZN4pstd8optionalIN br i1 %793, label %.noexc.i.i.i851, label %._crit_edge.i.i.i.i846 .noexc.i.i.i851: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6629, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692 - %794 = phi ptr [ %791, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6629 ], [ %792, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692 ] + %794 = phi ptr [ %791, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692.thread6631 ], [ %792, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit692 ] %795 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull align 8 dereferenceable(8) %82, i64 noundef 0) to label %.noexc854 unwind label %.loopexit.split-lp2428 @@ -10791,7 +10791,7 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1213: ; preds = %_ZN4pstd8optional br i1 %1493, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit526.invoke, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1223: ; preds = %_ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i1203 - %bcmp.i1224 = call i32 @bcmp(ptr nonnull %424, ptr nonnull @.str.65, i64 %.sroa.0115.0.copyload) + %bcmp.i1224 = call i32 @bcmp(ptr noundef nonnull dereferenceable(15) %424, ptr noundef nonnull dereferenceable(15) @.str.65, i64 15) %1494 = icmp eq i32 %bcmp.i1224, 0 br i1 %1494, label %_ZSteqIcSt11char_traitsIcEEbSt17basic_string_viewIT_T0_ENSt15__type_identityIS5_E4typeE.exit1226, label %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread @@ -11408,7 +11408,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202: ; preds = %_ZN4pstd8optionalIN br i1 %1679, label %.noexc.i.i.i1348, label %._crit_edge.i.i.i.i1343 .noexc.i.i.i1348: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6643, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202 - %1680 = phi ptr [ %1491, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6643 ], [ %1678, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202 ] + %1680 = phi ptr [ %1491, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202.thread6645 ], [ %1678, %_ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1202 ] %1681 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(8) %53, i64 noundef 0) to label %.noexc1351 unwind label %.loopexit.split-lp2428 @@ -13021,7 +13021,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1677: ; preds = %2084 br i1 %2112, label %.noexc.i.i.i1703, label %._crit_edge.i.i.i.i1698 .noexc.i.i.i1703: ; preds = %.thread6658, %2110 - %2113 = phi ptr [ %2081, %.thread6658 ], [ %2111, %2110 ] + %2113 = phi ptr [ %2081, %.thread6660 ], [ %2111, %2110 ] %2114 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull align 8 dereferenceable(8) %30, i64 noundef 0) to label %.noexc1706 unwind label %.loopexit.split-lp2428 @@ -13257,8 +13257,8 @@ _ZN4pstd8optionalIN4pbrt5TokenEEptEv.exit1739: ; preds = %2140 br label %._crit_edge.i.i.i.i1760 ._crit_edge.i.i.i.i1760: ; preds = %.thread6660, %.noexc1768, %2165 - %2170 = phi ptr [ %2166, %.noexc1768 ], [ %2166, %2165 ], [ %2164, %.thread6660 ] - %2171 = phi ptr [ %2168, %.noexc1768 ], [ %2166, %2165 ], [ %2164, %.thread6660 ] + %2170 = phi ptr [ %2166, %.noexc1768 ], [ %2166, %2165 ], [ %2164, %.thread6662 ] + %2171 = phi ptr [ %2168, %.noexc1768 ], [ %2166, %2165 ], [ %2164, %.thread6662 ] switch i64 %.sroa.056.0.copyload, label %2174 [ i64 1, label %2172 i64 0, label %_ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i1761 @@ -13657,7 +13657,7 @@ _ZN4pstd8optionalIN4pbrt5TokenEED2Ev.exit1870: ; preds = %_ZNSt11char_traitsI .invoke9862: ; preds = %_ZN4pstd8optionalIN4pbrt5TokenEED2Ev.exit1870, %2265 invoke void @_ZN4pbrt8LogFatalIJRA4_KcEEEvNS_8LogLevelEPS1_iS5_DpOT_(i32 noundef 2, ptr noundef nonnull @.str.306, i32 noundef 235, ptr noundef nonnull @.str.6, ptr noundef nonnull align 1 dereferenceable(4) @.str.307) #36 - to label %.cont9863 unwind label %.loopexit.split-lp2473 + to label %.cont9864 unwind label %.loopexit.split-lp2473 .cont9863: ; preds = %.invoke9862 unreachable @@ -14914,8 +14914,8 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit2087: ; preds = %_ br label %._crit_edge.i.i.i.i2095 ._crit_edge.i.i.i.i2095: ; preds = %.thread6662, %.noexc2103, %2608 - %2613 = phi ptr [ %2609, %.noexc2103 ], [ %2609, %2608 ], [ %2607, %.thread6662 ] - %2614 = phi ptr [ %2611, %.noexc2103 ], [ %2609, %2608 ], [ %2607, %.thread6662 ] + %2613 = phi ptr [ %2609, %.noexc2103 ], [ %2609, %2608 ], [ %2607, %.thread6664 ] + %2614 = phi ptr [ %2611, %.noexc2103 ], [ %2609, %2608 ], [ %2607, %.thread6664 ] switch i64 %.sroa.043.0.copyload, label %2617 [ i64 1, label %2615 i64 0, label %_ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i2096 @@ -15017,8 +15017,8 @@ _ZNSt11char_traitsIcE7compareEPKcS2_m.exit.i.i2120: ; preds = %_ZN4pstd8optional br label %._crit_edge.i.i.i.i2131 ._crit_edge.i.i.i.i2131: ; preds = %.thread6664, %.noexc2139, %2636 - %2641 = phi ptr [ %2637, %.noexc2139 ], [ %2637, %2636 ], [ %2635, %.thread6664 ] - %2642 = phi ptr [ %2639, %.noexc2139 ], [ %2637, %2636 ], [ %2635, %.thread6664 ] + %2641 = phi ptr [ %2637, %.noexc2139 ], [ %2637, %2636 ], [ %2635, %.thread6666 ] + %2642 = phi ptr [ %2639, %.noexc2139 ], [ %2637, %2636 ], [ %2635, %.thread6666 ] switch i64 %.sroa.07.0.copyload, label %2645 [ i64 1, label %2643 i64 0, label %_ZN4pbrtL8toStringB5cxx11ESt17basic_string_viewIcSt11char_traitsIcEE.exit.i2132 diff --git a/bench/php/optimized/ir_check.ll b/bench/php/optimized/ir_check.ll index 27e8ab39ed3..80f8f8b7d9b 100644 --- a/bench/php/optimized/ir_check.ll +++ b/bench/php/optimized/ir_check.ll @@ -71,9 +71,9 @@ define hidden zeroext i1 @ir_check(ptr noundef readonly captures(none) %0) local br label %15 15: ; preds = %.lr.ph392, %448 - %.0262390 = phi i32 [ 1, %.lr.ph392 ], [ %451, %448 ] - %.0266389 = phi i1 [ true, %.lr.ph392 ], [ %.11, %448 ] - %.0274388 = phi ptr [ %6, %.lr.ph392 ], [ %453, %448 ] + %.0262390 = phi i32 [ 1, %.lr.ph392 ], [ %451, %447 ] + %.0266389 = phi i1 [ true, %.lr.ph392 ], [ %.11, %447 ] + %.0274388 = phi ptr [ %6, %.lr.ph392 ], [ %453, %447 ] %16 = load i8, ptr %.0274388, align 8, !tbaa !27 %17 = icmp ugt i8 %16, 107 br i1 %17, label %18, label %22 @@ -893,10 +893,10 @@ ir_check_input_list.exit: ; preds = %.lr.ph.i346, %.loop 420: ; preds = %.thread431 %421 = icmp eq i8 %368, 100 %or.cond16 = and i1 %421, %418 - br i1 %or.cond16, label %423, label %439 + br i1 %or.cond16, label %423, label %438 422: ; preds = %.thread431 - br i1 %418, label %423, label %439 + br i1 %418, label %423, label %438 423: ; preds = %420, %422 %424 = load ptr, ptr %0, align 8, !tbaa !26 @@ -905,20 +905,19 @@ ir_check_input_list.exit: ; preds = %.lr.ph.i346, %.loop %427 = getelementptr inbounds %struct._ir_insn, ptr %424, i64 %426 %428 = load i8, ptr %427, align 8, !tbaa !27 %429 = icmp eq i8 %428, 92 - %430 = sext i1 %429 to i32 - %spec.select335 = add nsw i32 %.0.lcssa430434, %430 - %431 = getelementptr i8, ptr %400, i64 4 - %432 = load i32, ptr %431, align 4, !tbaa !30 - %433 = sext i32 %432 to i64 - %434 = getelementptr inbounds %struct._ir_insn, ptr %424, i64 %433 - %435 = load i8, ptr %434, align 8, !tbaa !27 - %436 = icmp eq i8 %435, 92 - %437 = sext i1 %436 to i32 - %.4 = add nsw i32 %spec.select335, %437 - %438 = icmp eq i32 %.4, 1 - br i1 %438, label %448, label %439 - -439: ; preds = %423, %422, %420 + %spec.select335 = select i1 %429, i32 1, i32 2 + %430 = getelementptr i8, ptr %400, i64 4 + %431 = load i32, ptr %430, align 4, !tbaa !30 + %432 = sext i32 %431 to i64 + %433 = getelementptr inbounds %struct._ir_insn, ptr %424, i64 %432 + %434 = load i8, ptr %433, align 8, !tbaa !27 + %435 = icmp eq i8 %434, 92 + %436 = sext i1 %435 to i32 + %.4 = add nsw i32 %spec.select335, %436 + %437 = icmp eq i32 %.4, 1 + br i1 %437, label %447, label %438 + +438: ; preds = %423, %422, %420 %.2 = phi i32 [ %.4, %423 ], [ %.0.lcssa430434, %422 ], [ %.0.lcssa430434, %420 ] %440 = icmp eq i32 %.2, 0 %441 = and i8 %368, -2 @@ -926,7 +925,7 @@ ir_check_input_list.exit: ; preds = %.lr.ph.i346, %.loop %or.cond361 = and i1 %switch339, %440 br i1 %or.cond361, label %448, label %442 -442: ; preds = %439 +442: ; preds = %438 %443 = load ptr, ptr @stderr, align 8, !tbaa !28 %444 = zext i8 %368 to i64 %445 = getelementptr inbounds nuw ptr, ptr @ir_op_name, i64 %444 @@ -934,8 +933,8 @@ ir_check_input_list.exit: ; preds = %.lr.ph.i346, %.loop %447 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %443, ptr noundef nonnull @.str.24, i32 noundef %.0262390, ptr noundef %446, i32 noundef %.2) #4 br label %448 -448: ; preds = %439, %378, %._crit_edge378, %._crit_edge386, %442, %423, %415, %390, %.thread357, %379, %374, %375, %369, %371, %330 - %.11 = phi i1 [ %.10, %330 ], [ %.12.lcssa, %415 ], [ %.12.lcssa, %423 ], [ false, %442 ], [ %.12.lcssa, %._crit_edge386 ], [ false, %371 ], [ %.12.lcssa, %369 ], [ false, %375 ], [ %.12.lcssa, %374 ], [ %.12.lcssa, %379 ], [ false, %.thread357 ], [ %.12.lcssa, %390 ], [ %.12.lcssa, %._crit_edge378 ], [ %.12.lcssa, %378 ], [ %.12.lcssa, %439 ] +448: ; preds = %438, %378, %._crit_edge378, %._crit_edge386, %442, %423, %415, %390, %.thread357, %379, %374, %375, %369, %371, %330 + %.11 = phi i1 [ %.10, %330 ], [ %.12.lcssa, %415 ], [ %.12.lcssa, %423 ], [ false, %441 ], [ %.12.lcssa, %._crit_edge386 ], [ false, %371 ], [ %.12.lcssa, %369 ], [ false, %375 ], [ %.12.lcssa, %374 ], [ %.12.lcssa, %379 ], [ false, %.thread357 ], [ %.12.lcssa, %390 ], [ %.12.lcssa, %._crit_edge378 ], [ %.12.lcssa, %378 ], [ %.12.lcssa, %438 ] %449 = lshr i32 %.0.i, 2 %450 = add nuw nsw i32 %449, 1 %451 = add nuw nsw i32 %450, %.0262390 @@ -946,7 +945,7 @@ ir_check_input_list.exit: ; preds = %.lr.ph.i346, %.loop br i1 %455, label %15, label %.loopexit364 .loopexit364: ; preds = %448, %1, %18 - %.1267 = phi i1 [ false, %18 ], [ true, %1 ], [ %.11, %448 ] + %.1267 = phi i1 [ false, %18 ], [ true, %1 ], [ %.11, %447 ] ret i1 %.1267 } diff --git a/bench/raylib/optimized/rmodels.ll b/bench/raylib/optimized/rmodels.ll index 4453de84513..cb28df892e7 100644 --- a/bench/raylib/optimized/rmodels.ll +++ b/bench/raylib/optimized/rmodels.ll @@ -11264,8 +11264,8 @@ cgltf_buffer_view_data.exit.thread60: ; preds = %cgltf_buffer_view_d br label %44 44: ; preds = %.lr.ph69, %cgltf_component_read_index.exit - %.04468 = phi i64 [ 0, %.lr.ph69 ], [ %55, %cgltf_component_read_index.exit ] - %.04567 = phi ptr [ %33, %.lr.ph69 ], [ %57, %cgltf_component_read_index.exit ] + %.04468 = phi i64 [ 0, %.lr.ph70 ], [ %55, %cgltf_component_read_index.exit ] + %.04567 = phi ptr [ %33, %.lr.ph70 ], [ %57, %cgltf_component_read_index.exit ] %45 = load i32, ptr %9, align 8 switch i32 %45, label %cgltf_component_read_index.exit [ i32 4, label %46 @@ -11298,10 +11298,10 @@ cgltf_component_read_index.exit: ; preds = %44, %46, %48, %51 br i1 %exitcond73.not, label %cgltf_buffer_view_data.exit.thread, label %44 58: ; preds = %.lr.ph, %cgltf_component_read_index.exit58 - %.066 = phi i64 [ 0, %.lr.ph ], [ %69, %cgltf_component_read_index.exit58 ] - %.165 = phi ptr [ %33, %.lr.ph ], [ %71, %cgltf_component_read_index.exit58 ] + %.066 = phi i64 [ 0, %.lr.ph ], [ %69, %cgltf_component_read_index.exit59 ] + %.165 = phi ptr [ %33, %.lr.ph ], [ %71, %cgltf_component_read_index.exit59 ] %59 = load i32, ptr %9, align 8 - switch i32 %59, label %cgltf_component_read_index.exit58 [ + switch i32 %59, label %cgltf_component_read_index.exit59 [ i32 4, label %60 i32 5, label %63 i32 2, label %65 @@ -11332,7 +11332,7 @@ cgltf_component_read_index.exit58: ; preds = %58, %60, %63, %65 br i1 %exitcond.not, label %cgltf_buffer_view_data.exit.thread, label %58 cgltf_buffer_view_data.exit.thread: ; preds = %cgltf_component_read_index.exit58, %cgltf_component_read_index.exit, %4, %.preheader63, %.preheader, %23, %cgltf_component_size.exit, %15, %41, %39 - %.046 = phi i64 [ 0, %cgltf_component_size.exit ], [ 0, %15 ], [ %., %39 ], [ %., %41 ], [ 0, %23 ], [ 0, %.preheader ], [ 0, %.preheader63 ], [ %7, %4 ], [ %., %cgltf_component_read_index.exit ], [ %., %cgltf_component_read_index.exit58 ] + %.046 = phi i64 [ 0, %cgltf_component_size.exit ], [ 0, %15 ], [ %., %39 ], [ %., %41 ], [ 0, %23 ], [ 0, %.preheader ], [ 0, %.preheader64 ], [ %7, %4 ], [ %., %cgltf_component_read_index.exit ], [ %., %cgltf_component_read_index.exit59 ] ret i64 %.046 } diff --git a/bench/re2/optimized/compile.ll b/bench/re2/optimized/compile.ll index d1d1531c04c..3b3b3d4ac11 100644 --- a/bench/re2/optimized/compile.ll +++ b/bench/re2/optimized/compile.ll @@ -3171,7 +3171,7 @@ if.end18.i64: ; preds = %if.end12.i61 br label %return.sink.split.i68 return.sink.split.i68: ; preds = %if.end18.i64, %if.end12.i61, %if.then7.i70, %if.end.i55 - %call13.sink.i69 = phi i32 [ %call13.i62, %if.end18.i64 ], [ %call.i71, %if.then7.i70 ], [ %id.2, %if.end.i55 ], [ 0, %if.end12.i61 ] + %call13.sink.i69 = phi i32 [ %call13.i62, %if.end18.i66 ], [ %call.i71, %if.then7.i72 ], [ %id.2, %if.end.i57 ], [ 0, %if.end12.i63 ] store i32 %call13.sink.i69, ptr %rune_range_.i56, align 8 br label %return diff --git a/bench/ripgrep-rs/optimized/79zj4cmg2a4glb1.ll b/bench/ripgrep-rs/optimized/79zj4cmg2a4glb1.ll index 202e316fe5e..a31276561e0 100644 --- a/bench/ripgrep-rs/optimized/79zj4cmg2a4glb1.ll +++ b/bench/ripgrep-rs/optimized/79zj4cmg2a4glb1.ll @@ -192,8 +192,8 @@ default.unreachable: ; preds = %.backedge br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62" "_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62": ; preds = %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i59", %76, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i60", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i61" - %98 = phi ptr [ %69, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i59" ], [ %79, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i60" ], [ %89, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i61" ], [ %63, %76 ] - %99 = phi i32 [ %74, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i59" ], [ %86, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i60" ], [ %97, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i61" ], [ %77, %76 ] + %98 = phi ptr [ %69, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i60" ], [ %79, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i61" ], [ %89, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i62" ], [ %63, %76 ] + %99 = phi i32 [ %74, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i60" ], [ %86, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i61" ], [ %97, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit17.i.i62" ], [ %77, %76 ] switch i32 %99, label %192 [ i32 1114112, label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62.thread" i32 48, label %193 @@ -348,8 +348,8 @@ default.unreachable: ; preds = %.backedge br label %thread-pre-split.backedge "_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread": ; preds = %15, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit", %190, %191, %211, %206, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread73", %203, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread71", %197, %196, %195, %194, %193, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62.thread" - %.sroa.14.0 = phi i8 [ 92, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62.thread" ], [ 0, %193 ], [ 92, %194 ], [ 13, %195 ], [ 10, %196 ], [ 9, %197 ], [ 92, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread71" ], [ 92, %203 ], [ 92, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread73" ], [ %210, %206 ], [ 92, %211 ], [ %187, %191 ], [ %187, %190 ], [ undef, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit" ], [ undef, %15 ] - %.sroa.0.0 = phi i1 [ true, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit62.thread" ], [ true, %193 ], [ true, %194 ], [ true, %195 ], [ true, %196 ], [ true, %197 ], [ true, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread71" ], [ true, %203 ], [ true, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread73" ], [ true, %206 ], [ true, %211 ], [ true, %191 ], [ true, %190 ], [ false, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit" ], [ false, %15 ] + %.sroa.14.0 = phi i8 [ 92, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63.thread" ], [ 0, %193 ], [ 92, %194 ], [ 13, %195 ], [ 10, %196 ], [ 9, %197 ], [ 92, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread72" ], [ 92, %203 ], [ 92, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread74" ], [ %210, %206 ], [ 92, %211 ], [ %187, %191 ], [ %187, %190 ], [ undef, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit" ], [ undef, %15 ] + %.sroa.0.0 = phi i1 [ true, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit63.thread" ], [ true, %193 ], [ true, %194 ], [ true, %195 ], [ true, %196 ], [ true, %197 ], [ true, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67.thread72" ], [ true, %203 ], [ true, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71.thread74" ], [ true, %206 ], [ true, %211 ], [ true, %191 ], [ true, %190 ], [ false, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit" ], [ false, %15 ] %181 = insertvalue { i1, i8 } poison, i1 %.sroa.0.0, 0 %182 = insertvalue { i1, i8 } %181, i8 %.sroa.14.0, 1 ret { i1, i8 } %182 @@ -423,8 +423,8 @@ thread-pre-split.backedge: ; preds = %192, %180 br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" "_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66.thread": ; preds = %116, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i64", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i63", %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66" - %199 = phi ptr [ %129, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66" ], [ %103, %116 ], [ %119, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i64" ], [ %109, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i63" ] - %200 = phi i32 [ %137, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit66" ], [ %117, %116 ], [ %126, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i64" ], [ %114, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i63" ] + %199 = phi ptr [ %129, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67" ], [ %103, %116 ], [ %119, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i65" ], [ %109, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i64" ] + %200 = phi i32 [ %137, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit67" ], [ %117, %116 ], [ %126, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i65" ], [ %114, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i64" ] %.fr74 = freeze i32 %200 %201 = add i32 %.fr74, -48 %or.cond = icmp ult i32 %201, 10 @@ -466,7 +466,7 @@ switch.early.test: ; preds = %"_ZN81_$LT$core..st br label %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit.thread" "_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70.thread": ; preds = %156, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i68", %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i67", %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70" - %204 = phi i32 [ %177, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit70" ], [ %157, %156 ], [ %166, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i68" ], [ %154, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i67" ] + %204 = phi i32 [ %177, %"_ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0282f441031caae2E.exit71" ], [ %157, %156 ], [ %166, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit15.i.i69" ], [ %154, %"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he9c021f1ed5e2956E.exit13.i.i68" ] %.fr = freeze i32 %204 %205 = add i32 %.fr, -48 %or.cond3 = icmp ult i32 %205, 10 diff --git a/bench/rust-analyzer-rs/optimized/44ayynfm08lnhjsw.ll b/bench/rust-analyzer-rs/optimized/44ayynfm08lnhjsw.ll index 5848c43399b..754c41a26ed 100644 --- a/bench/rust-analyzer-rs/optimized/44ayynfm08lnhjsw.ll +++ b/bench/rust-analyzer-rs/optimized/44ayynfm08lnhjsw.ll @@ -6080,41 +6080,26 @@ define hidden { i64, ptr } @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..op %9 = getelementptr inbounds nuw i8, ptr %1, i64 28 %10 = load i8, ptr %9, align 4, !range !81, !alias.scope !1250, !noalias !1241, !noundef !11 %11 = trunc nuw i8 %10 to i1 - %12 = getelementptr inbounds nuw i8, ptr %1, i64 29 - %13 = load i8, ptr %12, align 1, !range !81, !alias.scope !1250, !noalias !1241, !noundef !11 - %14 = trunc nuw i8 %13 to i1 - br i1 %11, label %19, label %15 + br i1 %11, label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit", label %12 15: ; preds = %2 + %13 = getelementptr inbounds nuw i8, ptr %1, i64 29 + %14 = load i8, ptr %13, align 1, !range !81, !alias.scope !1250, !noalias !1241, !noundef !11 + %15 = trunc nuw i8 %14 to i1 %16 = getelementptr inbounds nuw i8, ptr %1, i64 30 %17 = load i8, ptr %16, align 2, !range !81, !alias.scope !1250, !noalias !1241, !noundef !11 %18 = trunc nuw i8 %17 to i1 %.not.i.i.i = xor i1 %18, true - %brmerge.i.i.i = select i1 %14, i1 true, i1 %.not.i.i.i - br i1 %brmerge.i.i.i, label %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i, label %20 - -19: ; preds = %2 - br i1 %14, label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit", label %20 - -20: ; preds = %19, %15 - %21 = xor i1 %14, true - tail call void @llvm.assume(i1 %21) - br label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit" - -_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i: ; preds = %15 - %switch.not.i.i = icmp eq i8 %13, 0 - br i1 %switch.not.i.i, label %22, label %24 - -22: ; preds = %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i - %23 = tail call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %7, ptr noundef %8, i1 noundef zeroext false), !noalias !1249 - br label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit" + %brmerge.i.i.i = select i1 %15, i1 true, i1 %.not.i.i.i + br i1 %brmerge.i.i.i, label %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i, label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit" -24: ; preds = %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i - %25 = tail call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %7, ptr noundef %8, i1 noundef zeroext true), !noalias !1249 +_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i:; preds = %12 + %switch.not.i.i = icmp ne i8 %14, 0 + %19 = tail call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %7, ptr noundef %8, i1 noundef zeroext %switch.not.i.i), !noalias !1249 br label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit" -"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit": ; preds = %19, %20, %22, %24 - %.merged.i.i = phi { i64, ptr } [ %23, %22 ], [ %25, %24 ], [ %6, %20 ], [ %6, %19 ] +"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.llvm.6977743830891006301.exit": ; preds = %2, %12, %24 + %.merged.i.i = phi { i64, ptr } [ %6, %12 ], [ %6, %2 ], [ %19, %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i ] ret { i64, ptr } %.merged.i.i } @@ -40204,41 +40189,26 @@ define hidden { i64, ptr } @"_ZN11ide_assists8handlers16extract_function9make_ca %9 = getelementptr inbounds nuw i8, ptr %1, i64 28 %10 = load i8, ptr %9, align 4, !range !81, !alias.scope !9903, !noundef !11 %11 = trunc nuw i8 %10 to i1 - %12 = getelementptr inbounds nuw i8, ptr %1, i64 29 - %13 = load i8, ptr %12, align 1, !range !81, !alias.scope !9903, !noundef !11 - %14 = trunc nuw i8 %13 to i1 - br i1 %11, label %19, label %15 + br i1 %11, label %_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit, label %12 15: ; preds = %2 + %13 = getelementptr inbounds nuw i8, ptr %1, i64 29 + %14 = load i8, ptr %13, align 1, !range !81, !alias.scope !9903, !noundef !11 + %15 = trunc nuw i8 %14 to i1 %16 = getelementptr inbounds nuw i8, ptr %1, i64 30 %17 = load i8, ptr %16, align 2, !range !81, !alias.scope !9903, !noundef !11 %18 = trunc nuw i8 %17 to i1 %.not.i.i = xor i1 %18, true - %brmerge.i.i = select i1 %14, i1 true, i1 %.not.i.i - br i1 %brmerge.i.i, label %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i, label %20 - -19: ; preds = %2 - br i1 %14, label %_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit, label %20 - -20: ; preds = %19, %15 - %21 = xor i1 %14, true - tail call void @llvm.assume(i1 %21) - br label %_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit - -_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i: ; preds = %15 - %switch.not.i = icmp eq i8 %13, 0 - br i1 %switch.not.i, label %22, label %24 - -22: ; preds = %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i - %23 = tail call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %7, ptr noundef %8, i1 noundef zeroext false), !noalias !9900 - br label %_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit + %brmerge.i.i = select i1 %15, i1 true, i1 %.not.i.i + br i1 %brmerge.i.i, label %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i, label %_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit -24: ; preds = %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i - %25 = tail call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %7, ptr noundef %8, i1 noundef zeroext true), !noalias !9900 +_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i:; preds = %12 + %switch.not.i = icmp ne i8 %14, 0 + %19 = tail call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %7, ptr noundef %8, i1 noundef zeroext %switch.not.i), !noalias !9900 br label %_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit -_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit: ; preds = %19, %20, %22, %24 - %.merged.i = phi { i64, ptr } [ %23, %22 ], [ %25, %24 ], [ %6, %20 ], [ %6, %19 ] +_ZN11ide_assists8handlers16extract_function5Param6to_arg17h4bd6d3442770a134E.exit: ; preds = %2, %12, %24 + %.merged.i = phi { i64, ptr } [ %6, %12 ], [ %6, %2 ], [ %19, %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i ] ret { i64, ptr } %.merged.i } diff --git a/bench/rust-analyzer-rs/optimized/5fgtm3ees9sdsrsg.ll b/bench/rust-analyzer-rs/optimized/5fgtm3ees9sdsrsg.ll index b6737b4bed4..b5b9750884e 100644 --- a/bench/rust-analyzer-rs/optimized/5fgtm3ees9sdsrsg.ll +++ b/bench/rust-analyzer-rs/optimized/5fgtm3ees9sdsrsg.ll @@ -38681,46 +38681,32 @@ define hidden noundef zeroext i1 @_ZN4core4iter6traits8iterator8Iterator8try_fol %21 = getelementptr inbounds nuw i8, ptr %14, i64 28 %22 = load i8, ptr %21, align 4, !range !2175, !alias.scope !12413, !noalias !12412, !noundef !4 %23 = trunc nuw i8 %22 to i1 - %24 = getelementptr inbounds nuw i8, ptr %14, i64 29 - %25 = load i8, ptr %24, align 1, !range !2175, !alias.scope !12413, !noalias !12412, !noundef !4 - %26 = trunc nuw i8 %25 to i1 - br i1 %23, label %31, label %27 + br i1 %23, label %31, label %24 27: ; preds = %15 + %25 = getelementptr inbounds nuw i8, ptr %14, i64 29 + %26 = load i8, ptr %25, align 1, !range !2175, !alias.scope !12413, !noalias !12412, !noundef !4 + %27 = trunc nuw i8 %26 to i1 %28 = getelementptr inbounds nuw i8, ptr %14, i64 30 %29 = load i8, ptr %28, align 2, !range !2175, !alias.scope !12413, !noalias !12412, !noundef !4 %30 = trunc nuw i8 %29 to i1 %.not.i.i.i.i = xor i1 %30, true - %brmerge.i.i.i.i = select i1 %26, i1 true, i1 %.not.i.i.i.i - br i1 %brmerge.i.i.i.i, label %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i, label %32 - -31: ; preds = %15 - br i1 %26, label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i", label %32 - -32: ; preds = %31, %27 - %33 = xor i1 %26, true - call void @llvm.assume(i1 %33) - br label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" + %brmerge.i.i.i.i = select i1 %27, i1 true, i1 %.not.i.i.i.i + br i1 %brmerge.i.i.i.i, label %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i, label %31 -_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i: ; preds = %27 - %switch.not.i.i.i = icmp eq i8 %25, 0 - br i1 %switch.not.i.i.i, label %34, label %36 - -34: ; preds = %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i - %35 = call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %19, ptr noundef %20, i1 noundef zeroext false), !noalias !12411 - br label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" - -36: ; preds = %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i - %37 = call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %19, ptr noundef %20, i1 noundef zeroext true), !noalias !12411 +31: ; preds = %24 + %switch.not.i.i.i = icmp ne i8 %26, 0 + %31 = call { i64, ptr } @_ZN6syntax3ast4make8expr_ref17h5efd536a6e9bceccE(i64 noundef %19, ptr noundef %20, i1 noundef zeroext %switch.not.i.i.i), !noalias !12411 + %.pre.i = extractvalue { i64, ptr } %31, 0 + %.pre3.i = extractvalue { i64, ptr } %31, 1 br label %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" -"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i": ; preds = %36, %34, %32, %31 - %.merged.i.i.i = phi { i64, ptr } [ %35, %34 ], [ %37, %36 ], [ %18, %32 ], [ %18, %31 ] - %38 = extractvalue { i64, ptr } %.merged.i.i.i, 0 - %39 = extractvalue { i64, ptr } %.merged.i.i.i, 1 +_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i: ; preds = %31, %27, %15 + %.pre-phi4.i = phi ptr [ %20, %15 ], [ %20, %24 ], [ %.pre3.i, %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i ] + %.pre-phi.i = phi i64 [ %19, %15 ], [ %19, %24 ], [ %.pre.i, %_ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm.14339125420948612040.exit.i.i.i ] call void @llvm.lifetime.start.p0(ptr nonnull %3), !noalias !12416 - store i64 %38, ptr %3, align 8, !noalias !12419 - store ptr %39, ptr %9, align 8, !noalias !12419 + store i64 %.pre-phi.i, ptr %3, align 8, !noalias !12419 + store ptr %.pre-phi4.i, ptr %9, align 8, !noalias !12419 %40 = load ptr, ptr %10, align 8, !noalias !12419, !nonnull !4, !align !51, !noundef !4 %41 = getelementptr inbounds nuw i8, ptr %40, i64 8 %42 = load i64, ptr %41, align 8, !noalias !12419, !noundef !4 @@ -38731,19 +38717,19 @@ _ZN11ide_assists8handlers16extract_function5Param4kind17h4c0a60a6cf946b48E.llvm. %45 = load ptr, ptr %.pre.i.i.i, align 8, !noalias !12419, !nonnull !4, !align !51, !noundef !4 %46 = load ptr, ptr %40, align 8, !noalias !12419, !nonnull !4, !align !123, !noundef !4 %47 = invoke noundef zeroext i1 @_ZN4core3fmt9Formatter9write_str17h1ee02ebd428ca6deE(ptr noalias noundef nonnull align 8 dereferenceable(64) %45, ptr noalias noundef nonnull readonly align 1 %46, i64 noundef %42) - to label %53 unwind label %51, !noalias !12419 + to label %45 unwind label %51, !noalias !12419 ._crit_edge.i.i.i: ; preds = %53, %"_ZN11ide_assists8handlers16extract_function9make_call28_$u7b$$u7b$closure$u7d$$u7d$17h6535d11d2b32da8aE.exit.i" %48 = load ptr, ptr %12, align 8, !noalias !12419, !nonnull !4, !noundef !4 %49 = load ptr, ptr %.pre.i.i.i, align 8, !noalias !12419, !nonnull !4, !align !51, !noundef !4 - %50 = invoke noundef zeroext i1 %48(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %3, ptr noalias noundef nonnull align 8 dereferenceable(64) %49) + %50 = invoke noundef zeroext i1 %40(ptr noalias noundef nonnull readonly align 8 dereferenceable(16) %3, ptr noalias noundef nonnull align 8 dereferenceable(64) %49) to label %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit" unwind label %51, !noalias !12419 51: ; preds = %._crit_edge.i.i.i, %44 %52 = landingpad { ptr, i32 } cleanup invoke void @"_ZN4core3ptr56drop_in_place$LT$syntax..ast..generated..nodes..Expr$GT$17h87baedda7c371808E.llvm.6055058659040047083"(ptr noalias noundef nonnull align 8 dereferenceable(16) %3) #38 - to label %56 unwind label %54, !noalias !12419 + to label %48 unwind label %54, !noalias !12419 53: ; preds = %44 br i1 %47, label %"_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h81204b3e08807624E.exit.thread", label %._crit_edge.i.i.i diff --git a/bench/sentencepiece/optimized/builder.ll b/bench/sentencepiece/optimized/builder.ll index 6f44ca979d7..4ca79bc707b 100644 --- a/bench/sentencepiece/optimized/builder.ll +++ b/bench/sentencepiece/optimized/builder.ll @@ -18346,7 +18346,7 @@ _ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit: ; preds 32: ; preds = %27 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.50) #28 - to label %.noexc27 unwind label %.loopexit.split-lp + to label %.noexc28 unwind label %.loopexit.split-lp .noexc27: ; preds = %32 unreachable @@ -18362,7 +18362,7 @@ _ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEm tail call void @llvm.assume(i1 %.not.i.i.i.i) %38 = shl nuw nsw i64 %37, 4 %39 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %38) #29 - to label %.noexc28 unwind label %.loopexit + to label %.noexc29 unwind label %.loopexit .noexc28: ; preds = %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i %40 = getelementptr inbounds nuw i8, ptr %39, i64 %30 @@ -18373,8 +18373,8 @@ _ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEm br i1 %.not10.i.i.i.i.i.i, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i, label %.lr.ph.i.i.i.i.i.i .lr.ph.i.i.i.i.i.i: ; preds = %.noexc28, %.lr.ph.i.i.i.i.i.i - %.012.i.i.i.i.i.i = phi ptr [ %42, %.lr.ph.i.i.i.i.i.i ], [ %39, %.noexc28 ] - %.0911.i.i.i.i.i.i = phi ptr [ %41, %.lr.ph.i.i.i.i.i.i ], [ %10, %.noexc28 ] + %.012.i.i.i.i.i.i = phi ptr [ %42, %.lr.ph.i.i.i.i.i.i ], [ %39, %.noexc29 ] + %.0911.i.i.i.i.i.i = phi ptr [ %41, %.lr.ph.i.i.i.i.i.i ], [ %10, %.noexc29 ] tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.012.i.i.i.i.i.i, ptr noundef nonnull align 8 dereferenceable(16) %.0911.i.i.i.i.i.i, i64 16, i1 false), !tbaa.struct !384, !alias.scope !385 %41 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i.i, i64 16 %42 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i.i, i64 16 @@ -18382,7 +18382,7 @@ _ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEm br i1 %.not.i.i.i.i.i.i, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i, label %.lr.ph.i.i.i.i.i.i, !llvm.loop !389 _ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i: ; preds = %.lr.ph.i.i.i.i.i.i, %.noexc28 - %.0.lcssa.i.i.i.i.i.i = phi ptr [ %39, %.noexc28 ], [ %42, %.lr.ph.i.i.i.i.i.i ] + %.0.lcssa.i.i.i.i.i.i = phi ptr [ %39, %.noexc29 ], [ %42, %.lr.ph.i.i.i.i.i.i ] %43 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i, i64 16 %.not.i23.i.i.i = icmp eq ptr %10, null br i1 %.not.i23.i.i.i, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i, label %44 @@ -18448,7 +18448,7 @@ _ZNKSt17basic_string_viewIcSt11char_traitsIcEE13find_first_ofES2_m.exit.thread.t 65: ; preds = %60 invoke void @_ZSt20__throw_length_errorPKc(ptr noundef nonnull @.str.50) #28 - to label %.noexc47 unwind label %79 + to label %.noexc48 unwind label %79 .noexc47: ; preds = %65 unreachable @@ -18464,7 +18464,7 @@ _ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEm tail call void @llvm.assume(i1 %.not.i.i.i.i37) %71 = shl nuw nsw i64 %70, 4 %72 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef %71) #29 - to label %.noexc48 unwind label %79 + to label %.noexc49 unwind label %79 .noexc48: ; preds = %_ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEmPKc.exit.i.i.i35 %73 = getelementptr inbounds nuw i8, ptr %72, i64 %63 @@ -18475,8 +18475,8 @@ _ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEm br i1 %.not10.i.i.i.i.i.i38, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i43, label %.lr.ph.i.i.i.i.i.i39 .lr.ph.i.i.i.i.i.i39: ; preds = %.noexc48, %.lr.ph.i.i.i.i.i.i39 - %.012.i.i.i.i.i.i40 = phi ptr [ %75, %.lr.ph.i.i.i.i.i.i39 ], [ %72, %.noexc48 ] - %.0911.i.i.i.i.i.i41 = phi ptr [ %74, %.lr.ph.i.i.i.i.i.i39 ], [ %53, %.noexc48 ] + %.012.i.i.i.i.i.i40 = phi ptr [ %75, %.lr.ph.i.i.i.i.i.i40 ], [ %72, %.noexc49 ] + %.0911.i.i.i.i.i.i41 = phi ptr [ %74, %.lr.ph.i.i.i.i.i.i40 ], [ %53, %.noexc49 ] tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %.012.i.i.i.i.i.i40, ptr noundef nonnull align 8 dereferenceable(16) %.0911.i.i.i.i.i.i41, i64 16, i1 false), !tbaa.struct !384, !alias.scope !391 %74 = getelementptr inbounds nuw i8, ptr %.0911.i.i.i.i.i.i41, i64 16 %75 = getelementptr inbounds nuw i8, ptr %.012.i.i.i.i.i.i40, i64 16 @@ -18484,7 +18484,7 @@ _ZNKSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE12_M_check_lenEm br i1 %.not.i.i.i.i.i.i42, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i43, label %.lr.ph.i.i.i.i.i.i39, !llvm.loop !389 _ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_.exit22.i.i.i43: ; preds = %.lr.ph.i.i.i.i.i.i39, %.noexc48 - %.0.lcssa.i.i.i.i.i.i44 = phi ptr [ %72, %.noexc48 ], [ %75, %.lr.ph.i.i.i.i.i.i39 ] + %.0.lcssa.i.i.i.i.i.i44 = phi ptr [ %72, %.noexc49 ], [ %75, %.lr.ph.i.i.i.i.i.i40 ] %76 = getelementptr inbounds nuw i8, ptr %.0.lcssa.i.i.i.i.i.i44, i64 16 %.not.i23.i.i.i45 = icmp eq ptr %53, null br i1 %.not.i23.i.i.i45, label %_ZNSt6vectorISt17basic_string_viewIcSt11char_traitsIcEESaIS3_EE17_M_realloc_insertIJS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_.exit.i.i46, label %77 diff --git a/bench/stb/optimized/stb_tilemap_editor.ll b/bench/stb/optimized/stb_tilemap_editor.ll index 0ff6f045a58..ec0b5b70f9f 100644 --- a/bench/stb/optimized/stb_tilemap_editor.ll +++ b/bench/stb/optimized/stb_tilemap_editor.ll @@ -8649,7 +8649,7 @@ stbte__hittest.exit: ; preds = %6, %13, %25 br label %stbte__clear_stack.exit 160: ; preds = %175, %.lr.ph.i168 - %indvars.iv.i = phi i64 [ 0, %.lr.ph.i168 ], [ %indvars.iv.next.i, %175 ] + %indvars.iv.i = phi i64 [ 0, %.lr.ph.i171 ], [ %indvars.iv.next.i, %175 ] %161 = getelementptr inbounds nuw %struct.stbte__layer, ptr %149, i64 %indvars.iv.i %162 = getelementptr inbounds nuw i8, ptr %161, i64 12 %163 = load i32, ptr %162, align 4, !tbaa !131 @@ -8829,7 +8829,7 @@ stbte__paste_stack.exit: ; preds = %84, %121, %119, %10 br label %254 254: ; preds = %286, %.lr.ph.i170 - %indvars.iv.i172 = phi i64 [ 0, %.lr.ph.i170 ], [ %indvars.iv.next.i175, %286 ] + %indvars.iv.i172 = phi i64 [ 0, %.lr.ph.i173 ], [ %indvars.iv.next.i175, %286 ] %255 = trunc nuw nsw i64 %indvars.iv.i172 to i32 %256 = shl nuw i32 1, %255 %257 = and i32 %256, %249 @@ -8895,7 +8895,7 @@ stbte__paste_stack.exit: ; preds = %84, %121, %119, %10 br i1 %exitcond.not.i176, label %stbte__brush_predict.exit, label %254, !llvm.loop !133 stbte__brush_predict.exit: ; preds = %286, %.preheader, %282, %._crit_edge187, %232, %stbte__paste_stack.exit - %.3 = phi ptr [ %.0119, %232 ], [ %.0119, %stbte__paste_stack.exit ], [ %7, %._crit_edge187 ], [ %7, %282 ], [ %7, %.preheader ], [ %7, %286 ] + %.3 = phi ptr [ %.0119, %232 ], [ %.0119, %stbte__paste_stack.exit ], [ %7, %._crit_edge190 ], [ %7, %282 ], [ %7, %.preheader ], [ %7, %286 ] %287 = getelementptr inbounds nuw i8, ptr %0, i64 801040 %288 = load i32, ptr %287, align 8, !tbaa !40 %289 = icmp eq i32 %5, %288 diff --git a/bench/stb/optimized/stb_vorbis.ll b/bench/stb/optimized/stb_vorbis.ll index b895a347e32..90bde87fc4a 100644 --- a/bench/stb/optimized/stb_vorbis.ll +++ b/bench/stb/optimized/stb_vorbis.ll @@ -3259,7 +3259,7 @@ define i32 @get_bits(ptr noundef captures(none) %0, i32 noundef %1) local_unname br label %get_bits.exit common.ret42: ; preds = %.critedge, %2, %.loopexit32, %get_bits.exit - %common.ret42.op = phi i32 [ %35, %get_bits.exit ], [ %54, %.loopexit32 ], [ 0, %2 ], [ 0, %.critedge ] + %common.ret42.op = phi i32 [ %35, %get_bits.exit ], [ %54, %.loopexit34 ], [ 0, %2 ], [ 0, %.critedge ] ret i32 %common.ret42.op get_bits.exit: ; preds = %17, %.loopexit @@ -3790,10 +3790,10 @@ define range(i32 0, 2) i32 @codebook_decode_deinterleave_repeat(ptr noundef capt br label %.thread120 27: ; preds = %.lr.ph146, %.loopexit - %.080145 = phi i32 [ %7, %.lr.ph146 ], [ %116, %.loopexit ] - %.082144 = phi i32 [ %9, %.lr.ph146 ], [ %.4, %.loopexit ] - %.087143 = phi i32 [ %11, %.lr.ph146 ], [ %.289, %.loopexit ] - %.094142 = phi i32 [ %10, %.lr.ph146 ], [ %.498, %.loopexit ] + %.080145 = phi i32 [ %7, %.lr.ph149 ], [ %116, %.loopexit ] + %.082144 = phi i32 [ %9, %.lr.ph149 ], [ %.4, %.loopexit ] + %.087143 = phi i32 [ %11, %.lr.ph149 ], [ %.289, %.loopexit ] + %.094142 = phi i32 [ %10, %.lr.ph149 ], [ %.498, %.loopexit ] %28 = load i32, ptr %16, align 8, !tbaa !80 %29 = icmp slt i32 %28, 10 br i1 %29, label %30, label %prep_huffman.exit @@ -3947,9 +3947,9 @@ prep_huffman.exit: ; preds = %40, %37, %35, %27 br i1 %exitcond.not, label %.loopexit, label %84, !llvm.loop !98 .lr.ph139: ; preds = %.lr.ph139.preheader, %112 - %indvars.iv151 = phi i64 [ 0, %.lr.ph139.preheader ], [ %indvars.iv.next152, %112 ] - %.5138 = phi i32 [ %.082144, %.lr.ph139.preheader ], [ %spec.select115, %112 ] - %.599136 = phi i32 [ %.094142, %.lr.ph139.preheader ], [ %spec.select114, %112 ] + %indvars.iv151 = phi i64 [ 0, %.lr.ph142.preheader ], [ %indvars.iv.next152, %112 ] + %.5138 = phi i32 [ %.082144, %.lr.ph142.preheader ], [ %spec.select115, %112 ] + %.599136 = phi i32 [ %.094142, %.lr.ph142.preheader ], [ %spec.select114, %112 ] %99 = sext i32 %.5138 to i64 %100 = getelementptr inbounds ptr, ptr %2, i64 %99 %101 = load ptr, ptr %100, align 8, !tbaa !53 @@ -3980,15 +3980,15 @@ prep_huffman.exit: ; preds = %40, %37, %35, %27 br i1 %exitcond155.not, label %.loopexit, label %.lr.ph139, !llvm.loop !99 .loopexit: ; preds = %95, %112, %.preheader126, %.preheader - %.498 = phi i32 [ %.094142, %.preheader ], [ %.094142, %.preheader126 ], [ %spec.select114, %112 ], [ %spec.select112, %95 ] - %.4 = phi i32 [ %.082144, %.preheader ], [ %.082144, %.preheader126 ], [ %spec.select115, %112 ], [ %spec.select113, %95 ] + %.498 = phi i32 [ %.094142, %.preheader ], [ %.094142, %.preheader129 ], [ %spec.select114, %112 ], [ %spec.select112, %95 ] + %.4 = phi i32 [ %.082144, %.preheader ], [ %.082144, %.preheader129 ], [ %spec.select115, %112 ], [ %spec.select113, %95 ] %116 = sub nsw i32 %.080145, %.289 %117 = icmp sgt i32 %116, 0 br i1 %117, label %27, label %._crit_edge, !llvm.loop !100 ._crit_edge: ; preds = %.loopexit, %.preheader128 - %.094.lcssa = phi i32 [ %10, %.preheader128 ], [ %.498, %.loopexit ] - %.082.lcssa = phi i32 [ %9, %.preheader128 ], [ %.4, %.loopexit ] + %.094.lcssa = phi i32 [ %10, %.preheader131 ], [ %.498, %.loopexit ] + %.082.lcssa = phi i32 [ %9, %.preheader131 ], [ %.4, %.loopexit ] store i32 %.082.lcssa, ptr %4, align 4, !tbaa !21 store i32 %.094.lcssa, ptr %5, align 4, !tbaa !21 br label %.thread120 @@ -8759,8 +8759,8 @@ get_bits.exit66: ; preds = %173, %.get_bits.exi br label %216 204: ; preds = %.critedge.i71, %.loopexit32.i67, %164, %.critedge.i65 - %common.ret.op.i6278 = phi i32 [ %182, %.loopexit32.i67 ], [ %182, %.critedge.i71 ], [ 0, %164 ], [ 0, %.critedge.i65 ] - %common.ret.op.i68 = phi i1 [ %200, %.loopexit32.i67 ], [ false, %.critedge.i71 ], [ false, %164 ], [ false, %.critedge.i65 ] + %common.ret.op.i6278 = phi i32 [ %182, %.loopexit34.i67 ], [ %182, %.critedge.i71 ], [ 0, %164 ], [ 0, %.critedge.i65 ] + %common.ret.op.i68 = phi i1 [ %200, %.loopexit34.i67 ], [ false, %.critedge.i71 ], [ false, %164 ], [ false, %.critedge.i65 ] %205 = icmp ne i32 %common.ret.op.i6278, 0 %.pre94 = load i8, ptr %162, align 2, !tbaa !158 %206 = icmp eq i8 %.pre94, 0 diff --git a/bench/typst-rs/optimized/3rk2ctuzbghb17s4.ll b/bench/typst-rs/optimized/3rk2ctuzbghb17s4.ll index bd1716118f5..575389e482a 100644 --- a/bench/typst-rs/optimized/3rk2ctuzbghb17s4.ll +++ b/bench/typst-rs/optimized/3rk2ctuzbghb17s4.ll @@ -103140,7 +103140,6 @@ _ZN5typst4util7Numeric7is_zero17h8b8e138031b37f84E.exit: ; preds = %_ZN5typst4ut br label %48 41: ; preds = %31, %30 - tail call void @llvm.assume(i1 %29) call void @llvm.lifetime.start.p0(ptr nonnull %8), !noalias !25267 call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !25267 call void @llvm.lifetime.start.p0(ptr nonnull %6), !noalias !25267 @@ -103262,7 +103261,6 @@ _ZN5typst4util7Numeric7is_zero17h8b8e138031b37f84E.exit: ; preds = %_ZN5typst4ut to label %"_ZN74_$LT$typst..layout..abs..Abs$u20$as$u20$typst..foundations..repr..Repr$GT$4repr17h7872e6fe54bf8a67E.exit" unwind label %35 31: ; preds = %29, %28 - tail call void @llvm.assume(i1 %27) tail call void @_ZN5typst11foundations4repr12format_float17h3cb6b2212318be92E(ptr noalias noundef nonnull sret({ { { [2 x i64] } } }) align 8 captures(none) dereferenceable(16) %0, double noundef %11, i1 noundef zeroext true, i8 2, i1 noundef zeroext false, ptr noalias noundef nonnull readonly align 1 @anon.984efe779a4077b66be6415f964eeb42.459.llvm.13383457361836014260, i64 noundef 2), !noalias !25303 br label %68 @@ -135858,7 +135856,7 @@ define noundef range(i8 0, 10) i8 @"_ZN78_$LT$typst..model..figure.._..Fields$u2 br label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h45ed752b1ddb1024E.exit66.thread" "_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h45ed752b1ddb1024E.exit62": ; preds = %2 - %bcmp.i61 = tail call i32 @bcmp(ptr nonnull readonly align 1 %0, ptr nonnull @anon.9bf146a73cb71d9c7e3fe69f46c42f4a.683, i64 %1), !alias.scope !34277 + %bcmp.i61 = tail call i32 @bcmp(ptr noundef nonnull readonly align 1 dereferenceable(8) %0, ptr noundef nonnull dereferenceable(8) @anon.9bf146a73cb71d9c7e3fe69f46c42f4a.683, i64 8), !alias.scope !34277 %11 = icmp eq i32 %bcmp.i61, 0 %spec.select164 = select i1 %11, i8 7, i8 9 br label %"_ZN73_$LT$$u5b$A$u5d$$u20$as$u20$core..slice..cmp..SlicePartialEq$LT$B$GT$$GT$5equal17h45ed752b1ddb1024E.exit66.thread" diff --git a/bench/verilator/optimized/V3Options.ll b/bench/verilator/optimized/V3Options.ll index a74d355733e..b7f9ab17c87 100644 --- a/bench/verilator/optimized/V3Options.ll +++ b/bench/verilator/optimized/V3Options.ll @@ -11882,7 +11882,7 @@ define linkonce_odr dso_local void @_ZN4V3Os12filenameJoinIJNSt7__cxx1112basic_s .noexc.i6: ; preds = %18 %29 = invoke noundef ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(8) %4, i64 noundef 0) - to label %.noexc7 unwind label %55 + to label %.noexc9 unwind label %55 .noexc7: ; preds = %.noexc.i6 store ptr %29, ptr %23, align 8, !tbaa !20 @@ -11891,7 +11891,7 @@ define linkonce_odr dso_local void @_ZN4V3Os12filenameJoinIJNSt7__cxx1112basic_s br label %._crit_edge.i.i5 ._crit_edge.i.i5: ; preds = %.noexc7, %18 - %31 = phi ptr [ %29, %.noexc7 ], [ %24, %18 ] + %31 = phi ptr [ %29, %.noexc9 ], [ %24, %18 ] switch i64 %27, label %34 [ i64 1, label %32 i64 0, label %35 @@ -11978,7 +11978,7 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i9: br label %68 68: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14, %65 - %69 = phi ptr [ %67, %65 ], [ %70, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14 ] + %69 = phi ptr [ %67, %65 ], [ %70, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit16 ] %70 = getelementptr inbounds i8, ptr %69, i64 -32 %71 = load ptr, ptr %70, align 8, !tbaa !20 %72 = getelementptr inbounds i8, ptr %69, i64 -16 @@ -12003,7 +12003,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14: ; preds = %_ZN br i1 %79, label %.loopexit, label %68 .loopexit: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i9, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i10 - %.pn = phi { ptr, i32 } [ %56, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i10 ], [ %56, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i9 ], [ %66, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit14 ] + %.pn = phi { ptr, i32 } [ %56, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.thread.i.i12 ], [ %56, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i11 ], [ %66, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev.exit16 ] call void @llvm.lifetime.end.p0(ptr nonnull %6) resume { ptr, i32 } %.pn } diff --git a/bench/wasmi-rs/optimized/1z05d6joihj04oihu2i4irshf.ll b/bench/wasmi-rs/optimized/1z05d6joihj04oihu2i4irshf.ll index a475776868a..d84fd31d7bc 100644 --- a/bench/wasmi-rs/optimized/1z05d6joihj04oihu2i4irshf.ll +++ b/bench/wasmi-rs/optimized/1z05d6joihj04oihu2i4irshf.ll @@ -2421,7 +2421,7 @@ common.resume: ; preds = %.body, %80 .invoke.i: ; preds = %.noexc172.i, %.noexc.i %237 = phi ptr [ %232, %.noexc172.i ], [ %223, %.noexc.i ] %238 = invoke noundef nonnull ptr @"_ZN6anyhow5error72_$LT$impl$u20$core..convert..From$LT$E$GT$$u20$for$u20$anyhow..Error$GT$4from17h6deace87c6175f09E"(ptr noalias noundef nonnull align 8 %237) - to label %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i.thread184 unwind label %.thread227.loopexit.split-lp.i, !noalias !128 + to label %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i.thread185 unwind label %.thread227.loopexit.split-lp.i, !noalias !128 239: ; preds = %194 call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %49, ptr noundef nonnull align 8 dereferenceable(80) %106, i64 80, i1 false), !noalias !125 @@ -2525,7 +2525,7 @@ common.resume: ; preds = %.body, %80 br label %.thread _ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.i: ; preds = %399, %341 - switch i64 %175, label %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.i.thread178 [ + switch i64 %175, label %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.i.thread179 [ i64 0, label %.thread i64 1, label %.thread i64 3, label %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.i.thread179 @@ -2836,7 +2836,7 @@ select.unfold.i: ; preds = %._crit_edge.i.i.i, %357 = icmp ne i64 %355, 8 call void @llvm.assume(i1 %357) %358 = select i1 %356, i64 %355, i64 8 - switch i64 %358, label %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.i.thread178 [ + switch i64 %358, label %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.i.thread179 [ i64 0, label %.thread i64 1, label %.thread i64 3, label %.thread @@ -3195,7 +3195,7 @@ _ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.i.thread179: ; pre _ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i: ; preds = %.invoke280.i, %401, %343 %.sroa.0.0.i50 = phi ptr [ %.sroa.0.3.i, %343 ], [ %.sroa.0.5.i, %401 ], [ %410, %.invoke280.i ] - switch i64 %175, label %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i.thread184 [ + switch i64 %175, label %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i.thread185 [ i64 0, label %.sink.split i64 1, label %.sink.split i64 3, label %.sink.split @@ -3286,7 +3286,7 @@ _ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i.thread184 br i1 %.not44, label %442, label %440 .sink.split: ; preds = %265, %353, %367, %368, %376, %411, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i.thread184, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i, %.thread109 - %.sroa.0.2.i112.ph = phi ptr [ %199, %.thread109 ], [ %.sroa.0.0.i50186, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i.thread184 ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %258, %265 ], [ %352, %353 ], [ %366, %367 ], [ %240, %368 ], [ %371, %376 ], [ %404, %411 ] + %.sroa.0.2.i112.ph = phi ptr [ %199, %.thread109 ], [ %.sroa.0.0.i50186, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i.thread185 ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %.sroa.0.0.i50, %_ZN10wasmi_wast10WastRunner8register17h88f78eb7c34b9778E.exit.thread.i ], [ %258, %265 ], [ %352, %353 ], [ %366, %367 ], [ %240, %368 ], [ %371, %376 ], [ %404, %411 ] call void @llvm.lifetime.end.p0(ptr nonnull %22) call void @llvm.lifetime.end.p0(ptr nonnull %23) call void @llvm.lifetime.end.p0(ptr nonnull %24) diff --git a/bench/zlib/optimized/deflate.ll b/bench/zlib/optimized/deflate.ll index f3657f1283a..432db099c57 100644 --- a/bench/zlib/optimized/deflate.ll +++ b/bench/zlib/optimized/deflate.ll @@ -3631,8 +3631,8 @@ split: ; preds = %44, %22, %._crit_ed br label %224 224: ; preds = %._crit_edge286, %221 - %.pre-phi = phi i64 [ %.pre288, %._crit_edge286 ], [ %223, %221 ] - %225 = phi i32 [ %.pre287, %._crit_edge286 ], [ %222, %221 ] + %.pre-phi = phi i64 [ %.pre288, %._crit_edge287 ], [ %223, %221 ] + %225 = phi i32 [ %.pre287, %._crit_edge287 ], [ %222, %221 ] %226 = getelementptr inbounds nuw i8, ptr %0, i64 5952 %227 = load i64, ptr %226, align 8, !tbaa !39 %228 = icmp ult i64 %227, %.pre-phi @@ -3736,7 +3736,7 @@ split: ; preds = %44, %22, %._crit_ed %285 = load ptr, ptr %284, align 8, !tbaa !16 %286 = getelementptr inbounds nuw i8, ptr %285, i64 48 %287 = load i32, ptr %286, align 8, !tbaa !27 - switch i32 %287, label %read_buf.exit273 [ + switch i32 %287, label %read_buf.exit274 [ i32 1, label %288 i32 2, label %292 ] @@ -3776,7 +3776,7 @@ read_buf.exit273: ; preds = %277, %288, %292 br label %308 308: ; preds = %read_buf.exit273, %272 - %309 = phi i32 [ %302, %read_buf.exit273 ], [ %273, %272 ] + %309 = phi i32 [ %302, %read_buf.exit274 ], [ %273, %272 ] %310 = load i64, ptr %226, align 8, !tbaa !39 %311 = zext i32 %309 to i64 %312 = icmp ult i64 %310, %311 @@ -3891,13 +3891,13 @@ flush_pending.exit275: ; preds = %342, %358, %376 br i1 %379, label %.critedge, label %.critedge.sink.split .critedge.sink.split: ; preds = %flush_pending.exit275, %230 - %.0228.ph = phi i32 [ 3, %230 ], [ 2, %flush_pending.exit275 ] + %.0228.ph = phi i32 [ 3, %230 ], [ 2, %flush_pending.exit276 ] %380 = getelementptr inbounds nuw i8, ptr %0, i64 5944 store i32 8, ptr %380, align 8, !tbaa !86 br label %.critedge .critedge: ; preds = %.critedge.sink.split, %flush_pending.exit275, %326, %328, %237 - %.0228 = phi i32 [ 1, %237 ], [ 0, %flush_pending.exit275 ], [ 0, %326 ], [ 0, %328 ], [ %.0228.ph, %.critedge.sink.split ] + %.0228 = phi i32 [ 1, %237 ], [ 0, %flush_pending.exit276 ], [ 0, %326 ], [ 0, %328 ], [ %.0228.ph, %.critedge.sink.split ] ret i32 %.0228 } diff --git a/bench/zstd/optimized/zstd_opt.ll b/bench/zstd/optimized/zstd_opt.ll index e8e68cd2a04..e283b3c14f8 100644 --- a/bench/zstd/optimized/zstd_opt.ll +++ b/bench/zstd/optimized/zstd_opt.ll @@ -9902,10 +9902,10 @@ ZSTD_count.exit80: ; preds = %290, %.thread63.i79 br i1 %.not, label %.thread114, label %358 358: ; preds = %.thread101.thread244, %.thread101 - %.1401.i255 = phi i32 [ %68, %.thread101.thread244 ], [ %.2402.i, %.thread101 ] - %.10423.i254 = phi i32 [ %.4417.i, %.thread101.thread244 ], [ %.11.i, %.thread101 ] - %.10442.i253 = phi i64 [ %.4436.i, %.thread101.thread244 ], [ %.11443.i, %.thread101 ] - %.0427.i.lcssa252 = phi i32 [ %71, %.thread101.thread244 ], [ %.0427.i.lcssa, %.thread101 ] + %.1401.i255 = phi i32 [ %68, %.thread101.thread253 ], [ %.2402.i, %.thread101 ] + %.10423.i254 = phi i32 [ %.4417.i, %.thread101.thread253 ], [ %.11.i, %.thread101 ] + %.10442.i253 = phi i64 [ %.4436.i, %.thread101.thread253 ], [ %.11443.i, %.thread101 ] + %.0427.i.lcssa252 = phi i32 [ %71, %.thread101.thread253 ], [ %.0427.i.lcssa, %.thread101 ] %.val = load i32, ptr %3, align 1, !tbaa !23 %359 = mul i32 %.val, -1640531535 %360 = sub i32 32, %85 @@ -10551,10 +10551,10 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 br i1 %.not, label %.thread77, label %278 278: ; preds = %.thread64.thread196, %.thread64 - %.1401.i207 = phi i32 [ %68, %.thread64.thread196 ], [ %.2402.i, %.thread64 ] - %.10423.i206 = phi i32 [ %.0413.i.lcssa, %.thread64.thread196 ], [ %.11.i, %.thread64 ] - %.10442.i205 = phi i64 [ %.0432.i.lcssa, %.thread64.thread196 ], [ %.11443.i, %.thread64 ] - %.0427.i.lcssa204 = phi i32 [ %71, %.thread64.thread196 ], [ %.0427.i.lcssa, %.thread64 ] + %.1401.i207 = phi i32 [ %68, %.thread64.thread202 ], [ %.2402.i, %.thread64 ] + %.10423.i206 = phi i32 [ %.0413.i.lcssa, %.thread64.thread202 ], [ %.11.i, %.thread64 ] + %.10442.i205 = phi i64 [ %.0432.i.lcssa, %.thread64.thread202 ], [ %.11443.i, %.thread64 ] + %.0427.i.lcssa204 = phi i32 [ %71, %.thread64.thread202 ], [ %.0427.i.lcssa, %.thread64 ] %.val = load i32, ptr %3, align 1, !tbaa !23 %279 = mul i32 %.val, -1640531535 %280 = sub i32 32, %85 @@ -11195,10 +11195,10 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 br i1 %.not, label %.thread77, label %278 278: ; preds = %.thread64.thread196, %.thread64 - %.1401.i207 = phi i32 [ %68, %.thread64.thread196 ], [ %.2402.i, %.thread64 ] - %.10423.i206 = phi i32 [ %.0413.i.lcssa, %.thread64.thread196 ], [ %.11.i, %.thread64 ] - %.10442.i205 = phi i64 [ %.0432.i.lcssa, %.thread64.thread196 ], [ %.11443.i, %.thread64 ] - %.0427.i.lcssa204 = phi i32 [ %71, %.thread64.thread196 ], [ %.0427.i.lcssa, %.thread64 ] + %.1401.i207 = phi i32 [ %68, %.thread64.thread203 ], [ %.2402.i, %.thread64 ] + %.10423.i206 = phi i32 [ %.0413.i.lcssa, %.thread64.thread203 ], [ %.11.i, %.thread64 ] + %.10442.i205 = phi i64 [ %.0432.i.lcssa, %.thread64.thread203 ], [ %.11443.i, %.thread64 ] + %.0427.i.lcssa204 = phi i32 [ %71, %.thread64.thread203 ], [ %.0427.i.lcssa, %.thread64 ] %279 = sub i32 64, %85 %280 = zext nneg i32 %279 to i64 %281 = lshr i64 %36, %280 @@ -11837,10 +11837,10 @@ ZSTD_count.exit50: ; preds = %210, %.thread63.i49 br i1 %.not, label %.thread77, label %278 278: ; preds = %.thread64.thread196, %.thread64 - %.1401.i207 = phi i32 [ %68, %.thread64.thread196 ], [ %.2402.i, %.thread64 ] - %.10423.i206 = phi i32 [ %.0413.i.lcssa, %.thread64.thread196 ], [ %.11.i, %.thread64 ] - %.10442.i205 = phi i64 [ %.0432.i.lcssa, %.thread64.thread196 ], [ %.11443.i, %.thread64 ] - %.0427.i.lcssa204 = phi i32 [ %71, %.thread64.thread196 ], [ %.0427.i.lcssa, %.thread64 ] + %.1401.i207 = phi i32 [ %68, %.thread64.thread204 ], [ %.2402.i, %.thread64 ] + %.10423.i206 = phi i32 [ %.0413.i.lcssa, %.thread64.thread204 ], [ %.11.i, %.thread64 ] + %.10442.i205 = phi i64 [ %.0432.i.lcssa, %.thread64.thread204 ], [ %.11443.i, %.thread64 ] + %.0427.i.lcssa204 = phi i32 [ %71, %.thread64.thread204 ], [ %.0427.i.lcssa, %.thread64 ] %279 = sub i32 64, %85 %280 = zext nneg i32 %279 to i64 %281 = lshr i64 %36, %280 diff --git a/scripts/setup_pre_commit_patch.sh b/scripts/setup_pre_commit_patch.sh index c5409e09ef4..1f2f6144bc1 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/151132 export COMPTIME_MODE=0 # Please rebase manually