Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 12 additions & 14 deletions bench/abc/optimized/giaTransduction.ll
Original file line number Diff line number Diff line change
Expand Up @@ -16982,15 +16982,14 @@ _ZSt13copy_backwardISt13_Bit_iteratorS0_ET0_T_S2_S1_.exit: ; preds = %_ZNSt14_Bi
%59 = add nsw i64 %3, %29
%60 = sdiv i64 %59, 64
%.idx = shl nsw i64 %60, 3
%61 = getelementptr inbounds i8, ptr %1, i64 %.idx
%62 = and i64 %59, -9223372036854775745
%63 = icmp ugt i64 %62, -9223372036854775808
%storemerge.idx.i.i.i75.neg = select i1 %63, i64 8, i64 0
%storemerge.idx.i.i.i75 = select i1 %63, i64 -8, i64 0
%storemerge.i.i.i76 = getelementptr inbounds i8, ptr %61, i64 %storemerge.idx.i.i.i75
%61 = and i64 %59, -9223372036854775745
%62 = icmp ugt i64 %61, -9223372036854775808
%storemerge.idx.i.i.i75 = select i1 %62, i64 -8, i64 0
%63 = add nsw i64 %storemerge.idx.i.i.i75, %.idx
%storemerge.i.i.i76 = getelementptr inbounds i8, ptr %1, i64 %63
%64 = trunc i64 %59 to i32
%65 = and i32 %64, 63
%.not.i.i.i = icmp eq i64 %.idx, %storemerge.idx.i.i.i75.neg
%.not.i.i.i = icmp eq i64 %63, 0
br i1 %.not.i.i.i, label %91, label %66

66: ; preds = %_ZSt13copy_backwardISt13_Bit_iteratorS0_ET0_T_S2_S1_.exit
Expand Down Expand Up @@ -17181,15 +17180,14 @@ _ZNSt6vectorIbSaIbEE15_M_copy_alignedESt19_Bit_const_iteratorS2_St13_Bit_iterato
%152 = add nsw i64 %3, %151
%153 = sdiv i64 %152, 64
%.idx158 = shl nsw i64 %153, 3
%154 = getelementptr inbounds i8, ptr %.sroa.03.0.lcssa.i.i.i.i.i.i, i64 %.idx158
%155 = and i64 %152, -9223372036854775745
%156 = icmp ugt i64 %155, -9223372036854775808
%storemerge.idx.i.i.i85.neg = select i1 %156, i64 8, i64 0
%storemerge.idx.i.i.i85 = select i1 %156, i64 -8, i64 0
%storemerge.i.i.i86 = getelementptr inbounds i8, ptr %154, i64 %storemerge.idx.i.i.i85
%154 = and i64 %152, -9223372036854775745
%155 = icmp ugt i64 %154, -9223372036854775808
%storemerge.idx.i.i.i85 = select i1 %155, i64 -8, i64 0
%156 = add nsw i64 %storemerge.idx.i.i.i85, %.idx158
%storemerge.i.i.i86 = getelementptr inbounds i8, ptr %.sroa.03.0.lcssa.i.i.i.i.i.i, i64 %156
%157 = trunc i64 %152 to i32
%158 = and i32 %157, 63
%.not.i.i.i89 = icmp eq i64 %.idx158, %storemerge.idx.i.i.i85.neg
%.not.i.i.i89 = icmp eq i64 %156, 0
br i1 %.not.i.i.i89, label %185, label %159

159: ; preds = %_ZNSt6vectorIbSaIbEE15_M_copy_alignedESt19_Bit_const_iteratorS2_St13_Bit_iterator.exit
Expand Down
28 changes: 14 additions & 14 deletions bench/abseil-cpp/optimized/container_test.ll
Original file line number Diff line number Diff line change
Expand Up @@ -20461,12 +20461,13 @@ _ZSt8distanceISt20_List_const_iteratorIiEENSt15iterator_traitsIT_E15difference_t
.lr.ph.i.i42.i191.preheader: ; preds = %310
%313 = load i32, ptr %.sroa.054.091.i168.ptr, align 4, !tbaa !20
%314 = and i64 %gepdiff347, -16
%315 = add i64 %.sroa.063.0.lcssa.i151.idx, %314
%scevgep374 = getelementptr i8, ptr %.sroa.063.0.lcssa.i151.ptr.ptr, i64 %314
br label %.lr.ph.i.i42.i191

.lr.ph.i.i42.i191: ; preds = %.lr.ph.i.i42.i191.preheader, %329
%.058.i.i.i192 = phi i64 [ %331, %329 ], [ %311, %.lr.ph.i.i42.i191.preheader ]
%.sroa.038.057.i.i.i193 = phi ptr [ %330, %329 ], [ %.sroa.063.0.lcssa.i151.ptr.ptr, %.lr.ph.i.i42.i191.preheader ]
%.058.i.i.i192 = phi i64 [ %331, %330 ], [ %311, %.lr.ph.i.i42.i191.preheader ]
%.sroa.038.057.i.i.i193 = phi ptr [ %330, %330 ], [ %.sroa.063.0.lcssa.i151.ptr.ptr, %.lr.ph.i.i42.i191.preheader ]
%315 = load i32, ptr %.sroa.038.057.i.i.i193, align 4, !tbaa !20
%316 = icmp eq i32 %315, %313
br i1 %316, label %_ZSt9__find_ifIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEENS0_5__ops18_Iter_comp_to_iterIPFbiiES7_EEET_SD_SD_T0_.exit.i174, label %317
Expand Down Expand Up @@ -20496,8 +20497,7 @@ _ZSt8distanceISt20_List_const_iteratorIiEENSt15iterator_traitsIT_E15difference_t
br i1 %332, label %.lr.ph.i.i42.i191, label %._crit_edge.loopexit.i.i.i194, !llvm.loop !340

._crit_edge.loopexit.i.i.i194: ; preds = %329
%333 = add i64 %.sroa.063.0.lcssa.i151.idx, %314
%gepdiff380 = sub i64 %.sroa.054.091.i168.idx, %333
%gepdiff380 = sub i64 %.sroa.054.091.i168.idx, %315
br label %._crit_edge.i.i.i169

._crit_edge.i.i.i169: ; preds = %._crit_edge.loopexit.i.i.i194, %310
Expand Down Expand Up @@ -27549,15 +27549,15 @@ _ZSt7advanceIPilEvRT_T0_.exit.i.i.i.i: ; preds = %22, %_ZSt7advanceIP
_ZSt13__lower_boundIPiiN9__gnu_cxx5__ops14_Iter_less_valEET_S4_S4_RKT0_T1_.exit.i.i.i: ; preds = %_ZSt7advanceIPilEvRT_T0_.exit.i.i.i.i, %22
%.0.lcssa.i.i.i.i = phi ptr [ %.048.i.i.i, %22 ], [ %.1.i.i.i.i, %_ZSt7advanceIPilEvRT_T0_.exit.i.i.i.i ]
%.idx = shl nuw nsw i64 %.01249.i.i.i, 2
%31 = getelementptr inbounds nuw i8, ptr %14, i64 4
%32 = add nuw nsw i64 %.idx52, 4
%gepdiff = sub nsw i64 %.idx, %32
%31 = add nuw nsw i64 %.idx52, 4
%32 = getelementptr inbounds nuw i8, ptr %14, i64 4
%gepdiff = sub nsw i64 %.idx, %31
%33 = ashr exact i64 %gepdiff, 2
%34 = icmp sgt i64 %33, 0
br i1 %34, label %_ZSt7advanceIPilEvRT_T0_.exit.i18.i.i.i, label %_ZN4absl13c_equal_rangeIA3_iiEEDTclsr3stdE9make_paircvDTcl5beginclsr3stdE7declvalIRT_EEEE_EcvS4__EEES3_RKT0_.exit

_ZSt7advanceIPilEvRT_T0_.exit.i18.i.i.i: ; preds = %_ZSt13__lower_boundIPiiN9__gnu_cxx5__ops14_Iter_less_valEET_S4_S4_RKT0_T1_.exit.i.i.i, %_ZSt7advanceIPilEvRT_T0_.exit.i18.i.i.i
%.017.i19.i.i.i = phi ptr [ %.1.i24.i.i.i, %_ZSt7advanceIPilEvRT_T0_.exit.i18.i.i.i ], [ %31, %_ZSt13__lower_boundIPiiN9__gnu_cxx5__ops14_Iter_less_valEET_S4_S4_RKT0_T1_.exit.i.i.i ]
%.017.i19.i.i.i = phi ptr [ %.1.i24.i.i.i, %_ZSt7advanceIPilEvRT_T0_.exit.i18.i.i.i ], [ %32, %_ZSt13__lower_boundIPiiN9__gnu_cxx5__ops14_Iter_less_valEET_S4_S4_RKT0_T1_.exit.i.i.i ]
%.01116.i20.i.i.i = phi i64 [ %.112.i23.i.i.i, %_ZSt7advanceIPilEvRT_T0_.exit.i18.i.i.i ], [ %33, %_ZSt13__lower_boundIPiiN9__gnu_cxx5__ops14_Iter_less_valEET_S4_S4_RKT0_T1_.exit.i.i.i ]
%35 = lshr i64 %.01116.i20.i.i.i, 1
%36 = getelementptr inbounds nuw i32, ptr %.017.i19.i.i.i, i64 %35
Expand All @@ -27579,7 +27579,7 @@ _ZSt13__upper_boundIPiiN9__gnu_cxx5__ops14_Val_less_iterEET_S4_S4_RKT0_T1_.exit.

_ZN4absl13c_equal_rangeIA3_iiEEDTclsr3stdE9make_paircvDTcl5beginclsr3stdE7declvalIRT_EEEE_EcvS4__EEES3_RKT0_.exit: ; preds = %_ZSt13__upper_boundIPiiN9__gnu_cxx5__ops14_Val_less_iterEET_S4_S4_RKT0_T1_.exit.i.i.i, %_ZSt7advanceIPilEvRT_T0_.exit.i18.i.i.i, %_ZSt13__lower_boundIPiiN9__gnu_cxx5__ops14_Iter_less_valEET_S4_S4_RKT0_T1_.exit.i.i.i
%.sroa.0.2.i.i.i = phi ptr [ %.0.lcssa.i.i.i.i, %_ZSt13__lower_boundIPiiN9__gnu_cxx5__ops14_Iter_less_valEET_S4_S4_RKT0_T1_.exit.i.i.i ], [ %.0.lcssa.i.i.i.i, %_ZSt7advanceIPilEvRT_T0_.exit.i18.i.i.i ], [ %.1.i.i.i, %_ZSt13__upper_boundIPiiN9__gnu_cxx5__ops14_Val_less_iterEET_S4_S4_RKT0_T1_.exit.i.i.i ]
%.sroa.3.2.i.i.i = phi ptr [ %31, %_ZSt13__lower_boundIPiiN9__gnu_cxx5__ops14_Iter_less_valEET_S4_S4_RKT0_T1_.exit.i.i.i ], [ %.1.i24.i.i.i, %_ZSt7advanceIPilEvRT_T0_.exit.i18.i.i.i ], [ %.1.i.i.i, %_ZSt13__upper_boundIPiiN9__gnu_cxx5__ops14_Val_less_iterEET_S4_S4_RKT0_T1_.exit.i.i.i ]
%.sroa.3.2.i.i.i = phi ptr [ %32, %_ZSt13__lower_boundIPiiN9__gnu_cxx5__ops14_Iter_less_valEET_S4_S4_RKT0_T1_.exit.i.i.i ], [ %.1.i24.i.i.i, %_ZSt7advanceIPilEvRT_T0_.exit.i18.i.i.i ], [ %.1.i.i.i, %_ZSt13__upper_boundIPiiN9__gnu_cxx5__ops14_Val_less_iterEET_S4_S4_RKT0_T1_.exit.i.i.i ]
call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %2) #32
call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #32
store i32 1, ptr %3, align 4, !tbaa !20
Expand Down Expand Up @@ -28170,16 +28170,16 @@ _ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElEvRT_T0_.exit.
_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.i.i.i: ; preds = %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElEvRT_T0_.exit.i.i.i.i, %75
%.sroa.011.0.lcssa.i.i.i.i = phi ptr [ %.sroa.038.054.i.i.i, %75 ], [ %.sroa.011.1.i.i.i.i, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElEvRT_T0_.exit.i.i.i.i ]
%.idx = shl nuw nsw i64 %.02155.i.i.i, 2
%84 = getelementptr inbounds nuw i8, ptr %67, i64 4
%85 = add nuw nsw i64 %.idx95, 4
%gepdiff = sub nsw i64 %.idx, %85
%84 = add nuw nsw i64 %.idx95, 4
%85 = getelementptr inbounds nuw i8, ptr %67, i64 4
%gepdiff = sub nsw i64 %.idx, %84
%86 = ashr exact i64 %gepdiff, 2
%87 = icmp sgt i64 %86, 0
br i1 %87, label %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElEvRT_T0_.exit.i27.i.i.i, label %.loopexit

_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElEvRT_T0_.exit.i27.i.i.i: ; preds = %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.i.i.i, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElEvRT_T0_.exit.i27.i.i.i
%.013.i28.i.i.i = phi i64 [ %.1.i33.i.i.i, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElEvRT_T0_.exit.i27.i.i.i ], [ %86, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.i.i.i ]
%.sroa.011.012.i29.i.i.i = phi ptr [ %.sroa.011.1.i32.i.i.i, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElEvRT_T0_.exit.i27.i.i.i ], [ %84, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.i.i.i ]
%.sroa.011.012.i29.i.i.i = phi ptr [ %.sroa.011.1.i32.i.i.i, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElEvRT_T0_.exit.i27.i.i.i ], [ %85, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.i.i.i ]
%88 = lshr i64 %.013.i28.i.i.i, 1
%89 = getelementptr inbounds nuw i32, ptr %.sroa.011.012.i29.i.i.i, i64 %88
%90 = load i32, ptr %89, align 4, !tbaa !20
Expand All @@ -28200,7 +28200,7 @@ _ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElEvRT_T0_.exit.

.loopexit: ; preds = %96, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElEvRT_T0_.exit.i27.i.i.i, %_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEESt7greaterIiEEvT_S9_T0_.exit, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.i.i.i
%.sroa.043.2.i.i.i = phi ptr [ %.sroa.011.0.lcssa.i.i.i.i, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.i.i.i ], [ %26, %_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEESt7greaterIiEEvT_S9_T0_.exit ], [ %.sroa.011.0.lcssa.i.i.i.i, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElEvRT_T0_.exit.i27.i.i.i ], [ %.sroa.038.1.i.i.i, %96 ]
%.sroa.3.2.i.i.i = phi ptr [ %84, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.i.i.i ], [ %26, %_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEESt7greaterIiEEvT_S9_T0_.exit ], [ %.sroa.011.1.i32.i.i.i, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElEvRT_T0_.exit.i27.i.i.i ], [ %.sroa.038.1.i.i.i, %96 ]
%.sroa.3.2.i.i.i = phi ptr [ %85, %_ZSt13__lower_boundIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiNS0_5__ops14_Iter_comp_valISt7greaterIiEEEET_SC_SC_RKT0_T1_.exit.i.i.i ], [ %26, %_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEESt7greaterIiEEvT_S9_T0_.exit ], [ %.sroa.011.1.i32.i.i.i, %_ZSt7advanceIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEElEvRT_T0_.exit.i27.i.i.i ], [ %.sroa.038.1.i.i.i, %96 ]
call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %2) #32
call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #32
store i32 1, ptr %3, align 4, !tbaa !20
Expand Down
4 changes: 2 additions & 2 deletions bench/abseil-cpp/optimized/parser_test.ll
Original file line number Diff line number Diff line change
Expand Up @@ -24981,8 +24981,8 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc.exit: ; preds = %_ZNKS
br i1 %exitcond.not, label %84, label %86, !llvm.loop !306

.lr.ph.i.i.preheader: ; preds = %84
%110 = getelementptr inbounds nuw i8, ptr %.pre402, i64 %.pre400
%.sroa.0.08.i.i = getelementptr inbounds i8, ptr %110, i64 -1
%110 = getelementptr i8, ptr %.pre402, i64 %.pre400
%.sroa.0.08.i.i = getelementptr i8, ptr %110, i64 -1
br label %.lr.ph.i.i

.lr.ph.i.i: ; preds = %.lr.ph.i.i.preheader, %.lr.ph.i.i
Expand Down
8 changes: 4 additions & 4 deletions bench/boost/optimized/algorithm.ll
Original file line number Diff line number Diff line change
Expand Up @@ -86263,9 +86263,9 @@ define linkonce_odr hidden noundef zeroext i1 @_ZNK5boost9unit_test9framework4im

65: ; preds = %59
%66 = sub i64 0, %62
%67 = getelementptr inbounds i8, ptr %7, i64 %66
%68 = sub nuw i64 %6, %62
%.not11.i = icmp eq i64 %68, -1
%67 = sub nuw i64 %6, %62
%68 = getelementptr inbounds i8, ptr %7, i64 %66
%.not11.i = icmp eq i64 %67, -1
br i1 %.not11.i, label %_ZN5boost9unit_testeqIKcS2_EEbRKNS0_13basic_cstringIT_EERKNS3_IT0_EE.exit, label %.lr.ph.i.preheader.i

.lr.ph.i.preheader.i: ; preds = %65, %_ZN5boost9unit_test9ut_detail20bcs_char_traits_implIKcE7compareEPS3_S5_m.exit.i
Expand Down Expand Up @@ -86296,7 +86296,7 @@ _ZN5boost9unit_test9ut_detail20bcs_char_traits_implIKcE7compareEPS3_S5_m.exit.th

_ZN5boost9unit_test9ut_detail20bcs_char_traits_implIKcE7compareEPS3_S5_m.exit.i: ; preds = %.lr.ph.i.i12
%79 = getelementptr inbounds nuw i8, ptr %.0712.i, i64 1
%.not.i = icmp eq ptr %.0712.i, %67
%.not.i = icmp eq ptr %.0712.i, %68
br i1 %.not.i, label %_ZN5boost9unit_testeqIKcS2_EEbRKNS0_13basic_cstringIT_EERKNS3_IT0_EE.exit, label %.lr.ph.i.preheader.i, !llvm.loop !298

80: ; preds = %2
Expand Down
49 changes: 27 additions & 22 deletions bench/ceres/optimized/compressed_row_sparse_matrix.ll
Original file line number Diff line number Diff line change
Expand Up @@ -3164,7 +3164,7 @@ _ZN4absl12lts_2024011612log_internal10LogMessagelsILi13EEERS2_RAT__Kc.exit52: ;
%62 = getelementptr inbounds nuw i8, ptr %1, i64 8
%63 = load i32, ptr %62, align 8, !tbaa !6
%64 = icmp eq i32 %63, 0
br i1 %64, label %202, label %65
br i1 %64, label %204, label %65

65: ; preds = %.critedge
%66 = getelementptr inbounds nuw i8, ptr %0, i64 40
Expand Down Expand Up @@ -3336,39 +3336,44 @@ _ZNSt6vectorIiSaIiEE6resizeEm.exit56: ; preds = %159, %161, %163, %1
%170 = getelementptr inbounds i32, ptr %168, i64 %169
%171 = sext i32 %166 to i64
%.idx73 = shl nsw i64 %171, 2
%172 = getelementptr inbounds i8, ptr %170, i64 %.idx73
%173 = load i32, ptr %170, align 4, !tbaa !31
%.not5.i.i.i.i = icmp eq i32 %166, -1
br i1 %.not5.i.i.i.i, label %._crit_edge, label %.lr.ph.i.i.i.i
%172 = add nsw i64 %.idx73, 4
%173 = getelementptr inbounds i8, ptr %170, i64 %172
%174 = load i32, ptr %170, align 4, !tbaa !31
%.not5.i.i.i.i = icmp eq i64 %172, 0
br i1 %.not5.i.i.i.i, label %_ZSt4fillIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_RKT0_.exit, label %.lr.ph.i.i.i.i

.lr.ph.i.i.i.i: ; preds = %_ZNSt6vectorIiSaIiEE6resizeEm.exit56, %.lr.ph.i.i.i.i
%.06.i.i.i.i = phi ptr [ %174, %.lr.ph.i.i.i.i ], [ %170, %_ZNSt6vectorIiSaIiEE6resizeEm.exit56 ]
store i32 %173, ptr %.06.i.i.i.i, align 4, !tbaa !31
store i32 %174, ptr %.06.i.i.i.i, align 4, !tbaa !31
%174 = getelementptr inbounds nuw i8, ptr %.06.i.i.i.i, i64 4
%.not.i.i.i.i = icmp eq ptr %.06.i.i.i.i, %172
%.not.i.i.i.i = icmp eq ptr %175, %173
br i1 %.not.i.i.i.i, label %_ZSt4fillIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_RKT0_.exit, label %.lr.ph.i.i.i.i, !llvm.loop !161

_ZSt4fillIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_RKT0_.exit: ; preds = %.lr.ph.i.i.i.i
%.pre91 = load i32, ptr %62, align 8, !tbaa !6
%.not4874 = icmp slt i32 %.pre91, 0
br label %_ZSt4fillIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_RKT0_.exit

_ZSt4fillIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_RKT0_.exit: ; preds = %_ZSt4fillIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_RKT0_.exit.loopexit, %_ZNSt6vectorIiSaIiEE6resizeEm.exit56
%176 = phi i32 [ %.pre91, %_ZSt4fillIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_RKT0_.exit.loopexit ], [ %166, %_ZNSt6vectorIiSaIiEE6resizeEm.exit56 ]
%.not4874 = icmp slt i32 %176, 0
br i1 %.not4874, label %._crit_edge, label %.lr.ph

.lr.ph: ; preds = %_ZSt4fillIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_RKT0_.exit
%175 = load ptr, ptr %81, align 8, !tbaa !33
br label %181

._crit_edge: ; preds = %181, %_ZNSt6vectorIiSaIiEE6resizeEm.exit56, %_ZSt4fillIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_RKT0_.exit
%.lcssa = phi i32 [ %.pre91, %_ZSt4fillIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_RKT0_.exit ], [ -1, %_ZNSt6vectorIiSaIiEE6resizeEm.exit56 ], [ %191, %181 ]
._crit_edge: ; preds = %181, %_ZSt4fillIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_RKT0_.exit
%.lcssa = phi i32 [ %176, %_ZSt4fillIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_RKT0_.exit ], [ %191, %183 ]
%176 = load i32, ptr %75, align 8, !tbaa !6
%177 = add nsw i32 %176, %.lcssa
store i32 %177, ptr %75, align 8, !tbaa !6
%178 = load ptr, ptr %24, align 8, !tbaa !149
%179 = load ptr, ptr %26, align 8, !tbaa !149
%180 = icmp eq ptr %178, %179
br i1 %180, label %202, label %193
br i1 %180, label %204, label %193

181: ; preds = %.lr.ph, %181
%indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %181 ]
%indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %183 ]
%182 = getelementptr inbounds nuw i32, ptr %175, i64 %indvars.iv
%183 = load i32, ptr %182, align 4, !tbaa !31
%184 = load i32, ptr %75, align 8, !tbaa !6
Expand All @@ -3387,17 +3392,17 @@ _ZSt4fillIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_RKT0_.exit

193: ; preds = %._crit_edge
%194 = getelementptr inbounds nuw i8, ptr %1, i64 96
%195 = load ptr, ptr %194, align 8, !tbaa !149
%196 = getelementptr inbounds nuw i8, ptr %1, i64 104
%197 = load ptr, ptr %196, align 8, !tbaa !149
%198 = ptrtoint ptr %179 to i64
%199 = ptrtoint ptr %178 to i64
%200 = sub i64 %198, %199
%201 = getelementptr inbounds i8, ptr %178, i64 %200
tail call void @_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEvNS7_IPS2_S4_EET_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr nonnull %201, ptr %195, ptr %197)
br label %202

202: ; preds = %._crit_edge, %.critedge, %193
%198 = getelementptr inbounds nuw i8, ptr %1, i64 104
%199 = load ptr, ptr %198, align 8, !tbaa !149
%200 = ptrtoint ptr %181 to i64
%201 = ptrtoint ptr %178 to i64
%202 = sub i64 %200, %201
%203 = getelementptr inbounds i8, ptr %180, i64 %202
tail call void @_ZNSt6vectorIN5ceres8internal5BlockESaIS2_EE15_M_range_insertIN9__gnu_cxx17__normal_iteratorIPKS2_S4_EEEEvNS7_IPS2_S4_EET_SD_St20forward_iterator_tag(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr nonnull %203, ptr %197, ptr %199)
br label %204

204: ; preds = %._crit_edge, %.critedge, %195
ret void
}

Expand Down
Loading