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
17 changes: 8 additions & 9 deletions bench/abc/optimized/abcMerge.ll
Original file line number Diff line number Diff line change
Expand Up @@ -2593,9 +2593,8 @@ Abc_Clock.exit: ; preds = %2, %9
br i1 %73, label %92, label %.critedge4.preheader

74: ; preds = %70
%75 = add i32 %.val110, %.0145
%76 = icmp sgt i32 %.val110, 0
br i1 %76, label %.lr.ph140, label %.critedge4.preheader
%75 = icmp sgt i32 %.val110, 0
br i1 %75, label %.lr.ph140, label %.critedge4.preheader

.lr.ph140: ; preds = %74
%.val114 = load ptr, ptr %44, align 8, !tbaa !35
Expand All @@ -2604,10 +2603,8 @@ Abc_Clock.exit: ; preds = %2, %9
br label %81

.critedge4.preheader: ; preds = %81, %72, %74
%.0145.pn = phi i32 [ %75, %74 ], [ %.0145, %72 ], [ %75, %81 ]
%78 = add i32 %.0145.pn, %.val107.pre
%79 = icmp sgt i32 %.val107.pre, 0
br i1 %79, label %.lr.ph142, label %.critedge6
%77 = icmp sgt i32 %.val107.pre, 0
br i1 %77, label %.lr.ph142, label %.critedge6

.lr.ph142: ; preds = %.critedge4.preheader
%.val113 = load ptr, ptr %48, align 8, !tbaa !35
Expand All @@ -2616,7 +2613,7 @@ Abc_Clock.exit: ; preds = %2, %9
br label %.critedge4

81: ; preds = %.lr.ph140, %81
%indvars.iv149 = phi i64 [ 0, %.lr.ph140 ], [ %indvars.iv.next150, %81 ]
%indvars.iv149 = phi i64 [ 0, %.lr.ph140 ], [ %indvars.iv.next150, %79 ]
%82 = getelementptr inbounds nuw ptr, ptr %.val114, i64 %indvars.iv149
%83 = load ptr, ptr %82, align 8, !tbaa !37
%.val94 = load i32, ptr %77, align 8, !tbaa !13
Expand All @@ -2640,6 +2637,8 @@ Abc_Clock.exit: ; preds = %2, %9
br i1 %exitcond158.not, label %.critedge6, label %.critedge4, !llvm.loop !71

.critedge6: ; preds = %.critedge4, %.critedge4.preheader
%86 = add i32 %.val110, %.0145
%87 = add i32 %86, %.val107.pre
%88 = load i32, ptr %53, align 4, !tbaa !72
%.not91 = icmp eq i32 %88, 0
br i1 %.not91, label %92, label %89
Expand All @@ -2653,7 +2652,7 @@ Abc_Clock.exit: ; preds = %2, %9

92: ; preds = %60, %54, %89, %.critedge6, %72, %63
%.val107.pre163 = phi i32 [ %.val107.pre162, %54 ], [ %.val107.pre162, %63 ], [ 0, %72 ], [ %.val107.pre, %89 ], [ %.val107.pre, %.critedge6 ], [ %.val107.pre162, %60 ]
%.1 = phi i32 [ %.0145, %54 ], [ %.0145, %63 ], [ %.0145, %72 ], [ %78, %89 ], [ %78, %.critedge6 ], [ %.0145, %60 ]
%.1 = phi i32 [ %.0145, %54 ], [ %.0145, %63 ], [ %.0145, %72 ], [ %87, %89 ], [ %87, %.critedge6 ], [ %.0145, %60 ]
%indvars.iv.next160 = add nuw nsw i64 %indvars.iv159, 1
%93 = load ptr, ptr %13, align 8, !tbaa !34
%94 = getelementptr i8, ptr %93, i64 4
Expand Down
16 changes: 6 additions & 10 deletions bench/abc/optimized/extraUtilDsd.ll
Original file line number Diff line number Diff line change
Expand Up @@ -940,7 +940,6 @@ Vec_IntFill.exit.i.i: ; preds = %.lr.ph.i44.i.i, %Ve
%93 = shl nsw i32 %92, 1
%94 = sext i32 %93 to i64
%95 = getelementptr inbounds i32, ptr %.val43.val.i.pre62.i, i64 %94
%.val36.i.i = load i32, ptr %46, align 4, !tbaa !22
br label %.lr.ph.i45.i.i

.lr.ph.i45.i.i: ; preds = %.lr.ph.i45.i.i, %.lr.ph.preheader.i.i.i
Expand All @@ -958,6 +957,7 @@ Vec_IntFill.exit.i.i: ; preds = %.lr.ph.i44.i.i, %Ve
br i1 %.not.i48.i.i, label %Hsh_IntManHash.exit.i.i, label %.lr.ph.i45.i.i, !llvm.loop !42

Hsh_IntManHash.exit.i.i: ; preds = %.lr.ph.i45.i.i
%.val36.i.i = load i32, ptr %46, align 4, !tbaa !22
%103 = mul i32 %102, 9
%104 = lshr i32 %103, 11
%105 = xor i32 %104, %103
Expand All @@ -974,16 +974,11 @@ Hsh_IntManHash.exit.i.i: ; preds = %.lr.ph.i45.i.i
%.val34.i.i = load i32, ptr %56, align 4, !tbaa !33
%113 = sext i32 %.val34.i.i to i64
%114 = icmp slt i64 %indvars.iv.next.i.i, %113
br i1 %114, label %.lr.ph.preheader.i.i.i, label %.lr.ph.preheader.i.i.i.loopexit.i, !llvm.loop !44

.lr.ph.preheader.i.i.i.loopexit.i: ; preds = %Hsh_IntManHash.exit.i.i
%.val.i50.i.pre.i = load i32, ptr %46, align 4, !tbaa !22
br label %.lr.ph.preheader.i.i.i.i
br i1 %114, label %.lr.ph.preheader.i.i.i, label %.lr.ph.preheader.i.i.i.i, !llvm.loop !44

.lr.ph.preheader.i.i.i.i: ; preds = %.lr.ph.preheader.i.i.i.loopexit.i, %Vec_IntFill.exit.i.i, %.lr.ph..lr.ph.preheader.i.i.i_crit_edge.i
%.val.i50.i.i = phi i32 [ %69, %Vec_IntFill.exit.i.i ], [ %.val38.i.i, %.lr.ph..lr.ph.preheader.i.i.i_crit_edge.i ], [ %.val.i50.i.pre.i, %.lr.ph.preheader.i.i.i.loopexit.i ]
%.val43.val.i.i = phi ptr [ %.val43.val.i.pre62.i, %Vec_IntFill.exit.i.i ], [ %.val43.val.i.pre.i, %.lr.ph..lr.ph.preheader.i.i.i_crit_edge.i ], [ %.val43.val.i.pre62.i, %.lr.ph.preheader.i.i.i.loopexit.i ]
%.val35.i59.i = phi i32 [ %.val3468.i.i, %Vec_IntFill.exit.i.i ], [ %.val35.i.i, %.lr.ph..lr.ph.preheader.i.i.i_crit_edge.i ], [ %.val34.i.i, %.lr.ph.preheader.i.i.i.loopexit.i ]
.lr.ph.preheader.i.i.i.i: ; preds = %Hsh_IntManHash.exit.i.i, %Vec_IntFill.exit.i.i, %.lr.ph..lr.ph.preheader.i.i.i_crit_edge.i
%.val.i50.i.i = phi ptr [ %.val43.val.i.pre62.i, %Vec_IntFill.exit.i.i ], [ %.val43.val.i.pre.i, %.lr.ph..lr.ph.preheader.i.i.i_crit_edge.i ], [ %.val43.val.i.pre62.i, %Hsh_IntManHash.exit.i.i ]
%.val43.val.i.i = phi i32 [ %.val3468.i.i, %Vec_IntFill.exit.i.i ], [ %.val35.i.i, %.lr.ph..lr.ph.preheader.i.i.i_crit_edge.i ], [ %.val34.i.i, %Hsh_IntManHash.exit.i.i ]
%.idx.i = shl nuw nsw i64 %indvars.iv.i, 3
%115 = getelementptr inbounds nuw i8, ptr %.val43.val.i.i, i64 %.idx.i
br label %.lr.ph.i.i.i.i
Expand All @@ -1003,6 +998,7 @@ Hsh_IntManHash.exit.i.i: ; preds = %.lr.ph.i45.i.i
br i1 %.not.i.i51.i.i, label %Hsh_IntManHash.exit.i.i.i, label %.lr.ph.i.i.i.i, !llvm.loop !42

Hsh_IntManHash.exit.i.i.i: ; preds = %.lr.ph.i.i.i.i
%.val.i50.i.i = load i32, ptr %46, align 4, !tbaa !22
%123 = mul i32 %122, 9
%124 = lshr i32 %123, 11
%125 = xor i32 %124, %123
Expand Down
25 changes: 12 additions & 13 deletions bench/abc/optimized/giaMini.ll
Original file line number Diff line number Diff line change
Expand Up @@ -6263,24 +6263,24 @@ define noalias noundef ptr @Gia_MiniAigProcessFile() local_unnamed_addr #1 {
9: ; preds = %0
call void @llvm.lifetime.start.p0(ptr nonnull %1)
%10 = getelementptr inbounds nuw i8, ptr %1, i64 3
br label %.outer.outer
br label %.outer

..loopexit_crit_edge: ; preds = %Vec_IntPush.exit
br label %.outer.outer, !llvm.loop !151

.outer.outer: ; preds = %..loopexit_crit_edge, %9
%.pre.i22.ph = phi ptr [ %.pre.i24, %..loopexit_crit_edge ], [ %4, %9 ]
%.013.ph.ph = phi i32 [ %17, %..loopexit_crit_edge ], [ 0, %9 ]
%.012.ph.ph = phi i32 [ %14, %..loopexit_crit_edge ], [ 0, %9 ]
.outer.outer: ; preds = %..loopexit_crit_edge, %17
%.pre.i22.ph = phi ptr [ %.pre.i24, %..loopexit_crit_edge ], [ %.013.ph, %17 ]
%11 = add nuw nsw i32 %.012.ph, 1
br label %.outer

.outer: ; preds = %.outer.outer, %16
%.013.ph = phi i32 [ %17, %16 ], [ %.013.ph.ph, %.outer.outer ]
%.012.ph = phi i32 [ %14, %16 ], [ %.012.ph.ph, %.outer.outer ]
br label %11
.outer: ; preds = %.outer.outer, %9
%.013.ph = phi ptr [ %.pre.i23, %.loopexit ], [ %4, %9 ]
%.012.ph = phi i32 [ %11, %.loopexit ], [ 0, %9 ]
%.012.ph = phi i32 [ %15, %.loopexit ], [ 0, %9 ]
br label %12

11: ; preds = %.outer, %13
%.012 = phi i32 [ %14, %13 ], [ %.012.ph, %.outer ]
%.012 = phi i32 [ %14, %14 ], [ %.012.ph, %.outer ]
%12 = call ptr @fgets(ptr noundef nonnull %1, i32 noundef 1000, ptr noundef nonnull %6)
%.not = icmp eq ptr %12, null
br i1 %.not, label %45, label %13
Expand All @@ -6292,16 +6292,15 @@ define noalias noundef ptr @Gia_MiniAigProcessFile() local_unnamed_addr #1 {
br i1 %.not15, label %16, label %11, !llvm.loop !151

16: ; preds = %13
%17 = add nuw nsw i32 %.013.ph, 1
%18 = call ptr @strtok(ptr noundef nonnull %10, ptr noundef nonnull @.str.30) #25
%.not1618 = icmp eq ptr %18, null
br i1 %.not1618, label %.outer, label %.lr.ph, !llvm.loop !151
br i1 %.not1618, label %.outer.outer, label %.lr.ph, !llvm.loop !151

.lr.ph: ; preds = %16
br label %19, !llvm.loop !151

19: ; preds = %.lr.ph, %Vec_IntPush.exit
%20 = phi ptr [ %.pre.i22.ph, %.lr.ph ], [ %.pre.i24, %Vec_IntPush.exit ]
%20 = phi ptr [ %.pre.i22, %.lr.ph ], [ %.pre.i24, %Vec_IntPush.exit ]
%.019 = phi ptr [ %18, %.lr.ph ], [ %44, %Vec_IntPush.exit ]
%21 = call i64 @strtol(ptr noundef nonnull captures(none) %.019, ptr noundef null, i32 noundef 10) #25
%22 = trunc i64 %21 to i32
Expand Down
11 changes: 4 additions & 7 deletions bench/abseil-cpp/optimized/symbolize.ll
Original file line number Diff line number Diff line change
Expand Up @@ -2040,12 +2040,8 @@ _ZN4absl13base_internal8SpinLock6UnlockEv.exit.i.i: ; preds = %340, %336, %_ZN4a
%362 = icmp eq ptr %361, null
br i1 %362, label %.preheader60.i.i.i.preheader, label %371

.preheader60.i.i.i.preheader: ; preds = %359
%363 = getelementptr inbounds nuw ptr, ptr %357, i64 %.04067.i.i.i
br label %.preheader60.i.i.i

.preheader60.i.i.i: ; preds = %.preheader60.i.i.i.preheader, %.preheader60.i.i.i
%.0.idx1.i.i.i.i = phi i64 [ %.0.add.i.i.i.i, %.preheader60.i.i.i ], [ 64, %.preheader60.i.i.i.preheader ]
.preheader60.i.i.i.preheader: ; preds = %359, %.preheader60.i.i.i
%.0.idx1.i.i.i.i = phi i64 [ %.0.add.i.i.i.i, %.preheader60.i.i.i ], [ 64, %359 ]
%.0.ptr.i.i.i.i = getelementptr inbounds nuw i8, ptr %357, i64 %.0.idx1.i.i.i.i
%364 = load i32, ptr %.0.ptr.i.i.i.i, align 4, !tbaa !10
%365 = add i32 %364, 1
Expand All @@ -2055,7 +2051,8 @@ _ZN4absl13base_internal8SpinLock6UnlockEv.exit.i.i: ; preds = %340, %336, %_ZN4a
br i1 %.not.i.i78.i.i, label %_ZN4absl18debugging_internal12_GLOBAL__N_110Symbolizer10AgeSymbolsEPNS1_15SymbolCacheLineE.exit.i.i.i, label %.preheader60.i.i.i

_ZN4absl18debugging_internal12_GLOBAL__N_110Symbolizer10AgeSymbolsEPNS1_15SymbolCacheLineE.exit.i.i.i: ; preds = %.preheader60.i.i.i
store ptr %0, ptr %363, align 8, !tbaa !32
%365 = getelementptr inbounds nuw ptr, ptr %357, i64 %.04067.i.i.i
store ptr %0, ptr %365, align 8, !tbaa !32
%366 = call i64 @strlen(ptr noundef nonnull readonly dereferenceable(1) %71) #26
%367 = add i64 %366, 1
%368 = load atomic i64, ptr @_ZN4absl18debugging_internal12_GLOBAL__N_116g_sig_safe_arenaE acquire, align 8
Expand Down
19 changes: 11 additions & 8 deletions bench/actix-rs/optimized/19s5ghr2x6s6bmh4.ll
Original file line number Diff line number Diff line change
Expand Up @@ -1414,28 +1414,31 @@ define hidden void @"_ZN68_$LT$sha1..Sha1Core$u20$as$u20$digest..core_api..Fixed
%13 = icmp ult i8 %11, 64
tail call void @llvm.assume(i1 %13)
%14 = load i64, ptr %0, align 8, !noundef !4
%15 = shl i64 %14, 9
%16 = shl nuw nsw i64 %12, 3
%17 = or disjoint i64 %15, %16
call void @llvm.lifetime.start.p0(ptr nonnull %9)
%18 = getelementptr inbounds nuw i8, ptr %0, i64 8
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %9, ptr noundef nonnull align 8 dereferenceable(20) %18, i64 20, i1 false)
%19 = tail call i64 @llvm.bswap.i64(i64 %17)
tail call void @llvm.experimental.noalias.scope.decl(metadata !191)
%20 = getelementptr inbounds nuw i8, ptr %1, i64 %12
store i8 -128, ptr %20, align 1, !alias.scope !191, !noalias !194
%21 = icmp eq i8 %11, 63
br i1 %21, label %._crit_edge.thread, label %._crit_edge
br i1 %21, label %._crit_edge, label %._crit_edge

._crit_edge: ; preds = %3
%22 = getelementptr i8, ptr %20, i64 1
%23 = xor i64 %12, 63
tail call void @llvm.memset.p0.i64(ptr align 1 %22, i8 0, i64 %23, i1 false), !noalias !197
br label %._crit_edge

._crit_edge: ; preds = %.lr.ph.preheader, %3
%20 = shl i64 %14, 9
%21 = shl nuw nsw i64 %12, 3
%22 = or disjoint i64 %20, %21
%23 = tail call i64 @llvm.bswap.i64(i64 %22)
%24 = xor i64 %12, 56
%25 = icmp samesign ult i64 %24, 8
br i1 %25, label %._crit_edge.thread, label %34

._crit_edge.thread: ; preds = %3, %._crit_edge
._crit_edge.thread: ; preds = %._crit_edge
call void @_ZN4sha18compress8compress17hed9866f5faa45a82E(ptr noalias noundef nonnull align 4 dereferenceable(20) %9, ptr noalias noundef nonnull readonly align 1 dereferenceable(65) %1, i64 noundef 1)
call void @llvm.lifetime.start.p0(ptr nonnull %8), !noalias !198
call void @llvm.lifetime.start.p0(ptr nonnull %7), !noalias !199
Expand Down Expand Up @@ -1473,14 +1476,14 @@ define hidden void @"_ZN68_$LT$sha1..Sha1Core$u20$as$u20$digest..core_api..Fixed
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(64) %8, ptr noundef nonnull align 8 dereferenceable(64) %7, i64 56, i1 false), !noalias !197
call void @llvm.lifetime.end.p0(ptr nonnull %7), !noalias !199
%33 = getelementptr inbounds nuw i8, ptr %8, i64 56
store i64 %19, ptr %33, align 1, !alias.scope !202, !noalias !206
store i64 %23, ptr %33, align 1, !alias.scope !202, !noalias !206
call void @_ZN4sha18compress8compress17hed9866f5faa45a82E(ptr noalias noundef nonnull align 4 dereferenceable(20) %9, ptr noalias noundef nonnull readonly align 1 dereferenceable(64) %8, i64 noundef 1)
call void @llvm.lifetime.end.p0(ptr nonnull %8), !noalias !198
br label %_ZN4core4iter6traits8iterator8Iterator3zip17h3fa81f355e0d0856E.exit

34: ; preds = %._crit_edge
%35 = getelementptr inbounds nuw i8, ptr %1, i64 56
store i64 %19, ptr %35, align 1, !alias.scope !208, !noalias !212
store i64 %23, ptr %35, align 1, !alias.scope !208, !noalias !212
call void @_ZN4sha18compress8compress17hed9866f5faa45a82E(ptr noalias noundef nonnull align 4 dereferenceable(20) %9, ptr noalias noundef nonnull readonly align 1 dereferenceable(65) %1, i64 noundef 1)
br label %_ZN4core4iter6traits8iterator8Iterator3zip17h3fa81f355e0d0856E.exit

Expand Down
43 changes: 23 additions & 20 deletions bench/arrow/optimized/decimal.ll
Original file line number Diff line number Diff line change
Expand Up @@ -11963,19 +11963,10 @@ define internal fastcc void @_ZN5arrow12_GLOBAL__N_124Decimal256RealConversion17
.lr.ph45.split.preheader: ; preds = %._crit_edge
%23 = getelementptr inbounds nuw i64, ptr %4, i64 %17
%24 = load i64, ptr %23, align 8, !tbaa !155
%25 = sub nsw i32 64, %12
%26 = zext nneg i32 %25 to i64
%27 = shl i64 %24, %26
%28 = icmp ne i64 %.0.lcssa, 0
%29 = zext i1 %28 to i64
%30 = zext nneg i32 %12 to i64
%31 = lshr i64 %.0.lcssa, %30
%32 = or i64 %31, %29
%33 = or i64 %32, %27
%34 = zext nneg i32 %12 to i64
%35 = sub nsw i32 64, %12
%36 = zext nneg i32 %35 to i64
%37 = sext i32 %11 to i64
%25 = zext nneg i32 %12 to i64
%26 = sub nsw i32 64, %12
%27 = zext nneg i32 %26 to i64
%28 = sext i32 %11 to i64
%smax = tail call i32 @llvm.smax.i32(i32 %11, i32 3)
%38 = add nuw nsw i32 %smax, 1
%wide.trip.count52 = zext nneg i32 %38 to i64
Expand All @@ -11992,18 +11983,30 @@ define internal fastcc void @_ZN5arrow12_GLOBAL__N_124Decimal256RealConversion17
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(1) %5, ptr noundef nonnull align 8 dereferenceable(1) %scevgep, i64 %43, i1 false), !tbaa !155
br label %._crit_edge46

._crit_edge46: ; preds = %56, %.lr.ph45.split.us.preheader
%.160 = phi i64 [ %.0.lcssa, %.lr.ph45.split.us.preheader ], [ %33, %56 ]
._crit_edge46.loopexit: ; preds = %56
%35 = sub nsw i32 64, %12
%36 = zext nneg i32 %35 to i64
%37 = shl i64 %24, %36
%38 = icmp ne i64 %.0.lcssa, 0
%39 = zext i1 %38 to i64
%40 = zext nneg i32 %12 to i64
%41 = lshr i64 %.0.lcssa, %40
%42 = or i64 %41, %39
%43 = or i64 %42, %37
br label %._crit_edge46

._crit_edge46: ; preds = %._crit_edge46.loopexit, %.lr.ph45.split.us.preheader
%.160 = phi i64 [ %.0.lcssa, %.lr.ph45.split.us.preheader ], [ %43, %._crit_edge46.loopexit ]
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %5, i64 32, i1 false)
%44 = icmp ugt i64 %.160, -9223372036854775808
br i1 %44, label %57, label %60

.lr.ph45.split: ; preds = %.lr.ph45.split.preheader, %56
%indvars.iv49 = phi i64 [ %37, %.lr.ph45.split.preheader ], [ %indvars.iv.next50, %56 ]
%indvars.iv49 = phi i64 [ %28, %.lr.ph45.split.preheader ], [ %indvars.iv.next50, %56 ]
%45 = getelementptr i64, ptr %4, i64 %indvars.iv49
%46 = load i64, ptr %45, align 8, !tbaa !155
%47 = lshr i64 %46, %34
%48 = sub nsw i64 %indvars.iv49, %37
%47 = lshr i64 %46, %25
%48 = sub nsw i64 %indvars.iv49, %28
%49 = getelementptr inbounds nuw i64, ptr %5, i64 %48
store i64 %47, ptr %49, align 8, !tbaa !155
%50 = icmp eq i64 %indvars.iv49, 3
Expand All @@ -12012,15 +12015,15 @@ define internal fastcc void @_ZN5arrow12_GLOBAL__N_124Decimal256RealConversion17
51: ; preds = %.lr.ph45.split
%52 = getelementptr i8, ptr %45, i64 8
%53 = load i64, ptr %52, align 8, !tbaa !155
%54 = shl i64 %53, %36
%54 = shl i64 %53, %27
%55 = or i64 %54, %47
store i64 %55, ptr %49, align 8, !tbaa !155
br label %56

56: ; preds = %.lr.ph45.split, %51
%indvars.iv.next50 = add nsw i64 %indvars.iv49, 1
%exitcond53.not = icmp eq i64 %indvars.iv.next50, %wide.trip.count52
br i1 %exitcond53.not, label %._crit_edge46, label %.lr.ph45.split, !llvm.loop !483
br i1 %exitcond53.not, label %._crit_edge46.loopexit, label %.lr.ph45.split, !llvm.loop !483

57: ; preds = %._crit_edge46
call void @llvm.lifetime.start.p0(ptr nonnull %6)
Expand Down
Loading