Skip to content
Open
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
33 changes: 16 additions & 17 deletions bench/abc/optimized/bmcMaj.ll
Original file line number Diff line number Diff line change
Expand Up @@ -5010,13 +5010,13 @@ define internal fastcc void @Abc_TtReadHex(ptr noundef nonnull captures(none) %0
%40 = xor i64 %indvars.iv66, -1
%41 = getelementptr i8, ptr %39, i64 %40
%42 = load i8, ptr %41, align 1, !tbaa !152
%43 = sext i8 %42 to i32
%43 = sext i8 %42 to i64
%44 = add i8 %42, -48
%or.cond.i43 = icmp ult i8 %44, 10
br i1 %or.cond.i43, label %45, label %47

45: ; preds = %.lr.ph57
%46 = add nsw i32 %43, -48
%46 = add nsw i64 %43, -48
br label %Abc_TtReadHexDigit.exit

47: ; preds = %.lr.ph57
Expand All @@ -5025,28 +5025,27 @@ define internal fastcc void @Abc_TtReadHex(ptr noundef nonnull captures(none) %0
br i1 %or.cond5.i, label %49, label %51

49: ; preds = %47
%50 = add nsw i32 %43, -55
%50 = add nsw i64 %43, -55
br label %Abc_TtReadHexDigit.exit

51: ; preds = %47
%52 = add i8 %42, -97
%or.cond8.i = icmp ult i8 %52, 6
%53 = add nsw i32 %43, -87
%spec.select.i = select i1 %or.cond8.i, i32 %53, i32 -1
%53 = add nsw i64 %43, -87
%spec.select.i = select i1 %or.cond8.i, i64 %53, i64 -1
br label %Abc_TtReadHexDigit.exit

Abc_TtReadHexDigit.exit: ; preds = %45, %49, %51
%.0.i = phi i32 [ %46, %45 ], [ %50, %49 ], [ %spec.select.i, %51 ]
%54 = sext i32 %.0.i to i64
%55 = shl i64 %indvars.iv66, 2
%56 = and i64 %55, 60
%57 = shl i64 %54, %56
%58 = lshr i64 %indvars.iv66, 4
%59 = and i64 %58, 268435455
%60 = getelementptr inbounds nuw i64, ptr %0, i64 %59
%61 = load i64, ptr %60, align 8, !tbaa !21
%62 = or i64 %57, %61
store i64 %62, ptr %60, align 8, !tbaa !21
%.0.i = phi i64 [ %46, %45 ], [ %50, %49 ], [ %spec.select.i, %51 ]
%54 = shl i64 %indvars.iv66, 2
%55 = and i64 %54, 60
%56 = shl i64 %.0.i, %55
%57 = lshr i64 %indvars.iv66, 4
%58 = and i64 %57, 268435455
%59 = getelementptr inbounds nuw i64, ptr %0, i64 %58
%60 = load i64, ptr %59, align 8, !tbaa !21
%61 = or i64 %60, %56
store i64 %61, ptr %59, align 8, !tbaa !21
%indvars.iv.next67 = add nuw nsw i64 %indvars.iv66, 1
%exitcond.not = icmp eq i64 %indvars.iv.next67, %wide.trip.count
br i1 %exitcond.not, label %._crit_edge58, label %.lr.ph57, !llvm.loop !154
Expand Down Expand Up @@ -5074,7 +5073,7 @@ Abc_TtReadHexDigit.exit: ; preds = %45, %49, %51
br label %.sink.split

.sink.split: ; preds = %.thread83, %64, %22, %25
%.sink = phi i64 [ %27, %25 ], [ %24, %22 ], [ 0, %.thread83 ], [ %76, %64 ]
%.sink = phi i64 [ %27, %25 ], [ %24, %22 ], [ 0, %.thread83 ], [ %76, %63 ]
store i64 %.sink, ptr %0, align 8, !tbaa !21
br label %77

Expand Down
31 changes: 16 additions & 15 deletions bench/abc/optimized/ioReadPla.ll
Original file line number Diff line number Diff line change
Expand Up @@ -900,39 +900,40 @@ Abc_TtImply.exit83.us: ; preds = %.lr.ph.i78.us
%98 = icmp eq i64 %97, 0
%99 = lshr exact i64 %94, 32
%spec.select.i.i.us.us = select i1 %98, i64 %99, i64 %94
%spec.select27.i.i.us.us = select i1 %98, i32 32, i32 0
%spec.select27.i.i.us.us = select i1 %98, i8 32, i8 0
%100 = and i64 %spec.select.i.i.us.us, 21845
%101 = icmp eq i64 %100, 0
%102 = or disjoint i32 %spec.select27.i.i.us.us, 16
%102 = or disjoint i8 %spec.select27.i.i.us.us, 16
%103 = lshr exact i64 %spec.select.i.i.us.us, 16
%.121.i.i.us.us = select i1 %101, i64 %103, i64 %spec.select.i.i.us.us
%.1.i.i.us.us = select i1 %101, i32 %102, i32 %spec.select27.i.i.us.us
%.1.i.i.us.us = select i1 %101, i8 %102, i8 %spec.select27.i.i.us.us
%104 = and i64 %.121.i.i.us.us, 85
%105 = icmp eq i64 %104, 0
%106 = or disjoint i32 %.1.i.i.us.us, 8
%106 = or disjoint i8 %.1.i.i.us.us, 8
%107 = lshr exact i64 %.121.i.i.us.us, 8
%.222.i.i.us.us = select i1 %105, i64 %107, i64 %.121.i.i.us.us
%.2.i.i.us.us = select i1 %105, i32 %106, i32 %.1.i.i.us.us
%.2.i.i.us.us = select i1 %105, i8 %106, i8 %.1.i.i.us.us
%108 = and i64 %.222.i.i.us.us, 15
%109 = icmp eq i64 %108, 0
%110 = or disjoint i32 %.2.i.i.us.us, 4
%110 = or disjoint i8 %.2.i.i.us.us, 4
%111 = lshr exact i64 %.222.i.i.us.us, 4
%.323.i.i.us.us = select i1 %109, i64 %111, i64 %.222.i.i.us.us
%.3.i.i.us.us = select i1 %109, i32 %110, i32 %.2.i.i.us.us
%.3.i.i.us.us = select i1 %109, i8 %110, i8 %.2.i.i.us.us
%112 = and i64 %.323.i.i.us.us, 3
%113 = icmp eq i64 %112, 0
%114 = add nuw nsw i32 %.3.i.i.us.us, 2
%114 = add nuw nsw i8 %.3.i.i.us.us, 2
%115 = lshr exact i64 %.323.i.i.us.us, 2
%.424.i.i.us.us = select i1 %113, i64 %115, i64 %.323.i.i.us.us
%.4.i.i.us.us = select i1 %113, i32 %114, i32 %.3.i.i.us.us
%116 = trunc i64 %.424.i.i.us.us to i32
%117 = and i32 %116, 1
%118 = xor i32 %117, 1
%.5.i.i.us.us = add nuw nsw i32 %118, %.4.i.i.us.us
%119 = lshr i32 %.5.i.i.us.us, 1
%.4.i.i.us.us = select i1 %113, i8 %114, i8 %.3.i.i.us.us
%116 = trunc i64 %.424.i.i.us.us to i8
%117 = and i8 %116, 1
%118 = xor i8 %117, 1
%.5.i.i.us.us = add nuw nsw i8 %118, %.4.i.i.us.us
%119 = lshr i8 %.5.i.i.us.us, 1
%.zext.i.us.us = zext nneg i8 %119 to i32
%indvars.iv.tr.i.us.us = trunc i64 %indvars.iv.i.us.us to i32
%120 = shl i32 %indvars.iv.tr.i.us.us, 5
%121 = add nuw nsw i32 %119, %120
%121 = add nuw nsw i32 %120, %.zext.i.us.us
%indvars.iv.next.i.us.us147 = add nuw nsw i64 %indvars.iv.i.us.us, 1
%exitcond.not.i.us.us148 = icmp eq i64 %indvars.iv.next.i.us.us147, %wide.trip.count.i
br i1 %exitcond.not.i.us.us148, label %.lr.ph.preheader.i68.split.us.us, label %.lr.ph.i67.us.us.outer, !llvm.loop !31
Expand Down
39 changes: 19 additions & 20 deletions bench/abc/optimized/luckyRead.ll
Original file line number Diff line number Diff line change
Expand Up @@ -165,10 +165,10 @@ Abc_TruthStoreAlloc.exit: ; preds = %49, %Abc_TruthGetPa
br label %.lr.ph.split.us.i

.lr.ph.split.us.i: ; preds = %.lr.ph.i10, %96
%indvars.iv26.i = phi i64 [ %indvars.iv.next27.i, %96 ], [ 0, %.lr.ph.i10 ]
%60 = phi i8 [ %99, %96 ], [ %54, %.lr.ph.i10 ]
%61 = phi ptr [ %98, %96 ], [ %52, %.lr.ph.i10 ]
%.01216.us.i = phi i64 [ %indvars.iv.next24.i, %96 ], [ 0, %.lr.ph.i10 ]
%indvars.iv26.i = phi i64 [ %indvars.iv.next27.i, %95 ], [ 0, %.lr.ph.i10 ]
%60 = phi i8 [ %99, %95 ], [ %54, %.lr.ph.i10 ]
%61 = phi ptr [ %98, %95 ], [ %52, %.lr.ph.i10 ]
%.01216.us.i = phi i64 [ %indvars.iv.next24.i, %95 ], [ 0, %.lr.ph.i10 ]
%indvars.iv.next27.i = add nuw nsw i64 %indvars.iv26.i, 1
%62 = getelementptr inbounds nuw ptr, ptr %41, i64 %indvars.iv26.i
%63 = load ptr, ptr %62, align 8, !tbaa !10
Expand All @@ -193,7 +193,7 @@ Abc_TruthStoreAlloc.exit: ; preds = %49, %Abc_TruthGetPa
%70 = xor i64 %indvars.iv.i.us.i, -1
%71 = getelementptr i8, ptr %69, i64 %70
%72 = load i8, ptr %71, align 1, !tbaa !12
%73 = sext i8 %72 to i32
%73 = sext i8 %72 to i64
%74 = add i8 %72, -48
%or.cond.i.i.us.i = icmp ult i8 %74, 10
br i1 %or.cond.i.i.us.i, label %82, label %75
Expand All @@ -206,30 +206,29 @@ Abc_TruthStoreAlloc.exit: ; preds = %49, %Abc_TruthGetPa
77: ; preds = %75
%78 = add i8 %72, -97
%or.cond8.i.i.us.i = icmp ult i8 %78, 6
%79 = add nsw i32 %73, -87
%spec.select.i.i.us.i = select i1 %or.cond8.i.i.us.i, i32 %79, i32 -1
%79 = add nsw i64 %73, -87
%spec.select.i.i.us.i = select i1 %or.cond8.i.i.us.i, i64 %79, i64 -1
br label %Abc_TruthReadHexDigit.exit.i.us.i

80: ; preds = %75
%81 = add nsw i32 %73, -55
%81 = add nsw i64 %73, -55
br label %Abc_TruthReadHexDigit.exit.i.us.i

82: ; preds = %.lr.ph.i.us.i
%83 = add nsw i32 %73, -48
%83 = add nsw i64 %73, -48
br label %Abc_TruthReadHexDigit.exit.i.us.i

Abc_TruthReadHexDigit.exit.i.us.i: ; preds = %82, %80, %77
%.0.i.i.us.i = phi i32 [ %83, %82 ], [ %81, %80 ], [ %spec.select.i.i.us.i, %77 ]
%84 = sext i32 %.0.i.i.us.i to i64
%85 = shl i64 %indvars.iv.i.us.i, 2
%86 = and i64 %85, 60
%87 = shl i64 %84, %86
%88 = lshr i64 %indvars.iv.i.us.i, 4
%89 = and i64 %88, 268435455
%90 = getelementptr inbounds nuw i64, ptr %63, i64 %89
%91 = load i64, ptr %90, align 8, !tbaa !21
%92 = or i64 %87, %91
store i64 %92, ptr %90, align 8, !tbaa !21
%.0.i.i.us.i = phi i64 [ %83, %82 ], [ %81, %80 ], [ %spec.select.i.i.us.i, %77 ]
%84 = shl i64 %indvars.iv.i.us.i, 2
%85 = and i64 %84, 60
%86 = shl i64 %.0.i.i.us.i, %85
%87 = lshr i64 %indvars.iv.i.us.i, 4
%88 = and i64 %87, 268435455
%89 = getelementptr inbounds nuw i64, ptr %63, i64 %88
%90 = load i64, ptr %89, align 8, !tbaa !21
%91 = or i64 %90, %86
store i64 %91, ptr %89, align 8, !tbaa !21
%indvars.iv.next.i.us.i = add nuw nsw i64 %indvars.iv.i.us.i, 1
%exitcond.not.i.us.i = icmp eq i64 %indvars.iv.next.i.us.i, %59
br i1 %exitcond.not.i.us.i, label %Abc_TruthReadHex.exit.loopexit.us.preheader.i, label %.lr.ph.i.us.i, !llvm.loop !23
Expand Down
33 changes: 16 additions & 17 deletions bench/abc/optimized/wlcReadVer.ll
Original file line number Diff line number Diff line change
Expand Up @@ -9436,13 +9436,13 @@ Vec_IntFill.exit99: ; preds = %Vec_IntGrow.exit.i9
%145 = xor i64 %indvars.iv25.i, -1
%146 = getelementptr i8, ptr %138, i64 %145
%147 = load i8, ptr %146, align 1, !tbaa !39
%148 = sext i8 %147 to i32
%148 = sext i8 %147 to i64
%149 = add i8 %147, -48
%or.cond.i14.i = icmp ult i8 %149, 10
br i1 %or.cond.i14.i, label %150, label %152

150: ; preds = %.lr.ph21.i
%151 = add nsw i32 %148, -48
%151 = add nsw i64 %148, -48
br label %Abc_TtReadHexDigit.exit.i

152: ; preds = %.lr.ph21.i
Expand All @@ -9451,28 +9451,27 @@ Vec_IntFill.exit99: ; preds = %Vec_IntGrow.exit.i9
br i1 %or.cond5.i.i, label %154, label %156

154: ; preds = %152
%155 = add nsw i32 %148, -55
%155 = add nsw i64 %148, -55
br label %Abc_TtReadHexDigit.exit.i

156: ; preds = %152
%157 = add i8 %147, -97
%or.cond8.i.i = icmp ult i8 %157, 6
%158 = add nsw i32 %148, -87
%spec.select.i.i = select i1 %or.cond8.i.i, i32 %158, i32 -1
%158 = add nsw i64 %148, -87
%spec.select.i.i = select i1 %or.cond8.i.i, i64 %158, i64 -1
br label %Abc_TtReadHexDigit.exit.i

Abc_TtReadHexDigit.exit.i: ; preds = %156, %154, %150
%.0.i.i = phi i32 [ %151, %150 ], [ %155, %154 ], [ %spec.select.i.i, %156 ]
%159 = sext i32 %.0.i.i to i64
%160 = shl i64 %indvars.iv25.i, 2
%161 = and i64 %160, 60
%162 = shl i64 %159, %161
%163 = lshr i64 %indvars.iv25.i, 4
%164 = and i64 %163, 268435455
%165 = getelementptr inbounds nuw i64, ptr %128, i64 %164
%166 = load i64, ptr %165, align 8, !tbaa !107
%167 = or i64 %162, %166
store i64 %167, ptr %165, align 8, !tbaa !107
%.0.i.i = phi i64 [ %151, %150 ], [ %155, %154 ], [ %spec.select.i.i, %156 ]
%159 = shl i64 %indvars.iv25.i, 2
%160 = and i64 %159, 60
%161 = shl i64 %.0.i.i, %160
%162 = lshr i64 %indvars.iv25.i, 4
%163 = and i64 %162, 268435455
%164 = getelementptr inbounds nuw i64, ptr %128, i64 %163
%165 = load i64, ptr %164, align 8, !tbaa !107
%166 = or i64 %165, %161
store i64 %166, ptr %164, align 8, !tbaa !107
%indvars.iv.next26.i = add nuw nsw i64 %indvars.iv25.i, 1
%exitcond.not.i105 = icmp eq i64 %indvars.iv.next26.i, %136
br i1 %exitcond.not.i105, label %Abc_TtReadHexNumber.exit, label %.lr.ph21.i, !llvm.loop !109
Expand Down Expand Up @@ -9504,7 +9503,7 @@ Wlc_PrsIsChar.exit.thread: ; preds = %172, %172, %172, %1
br label %168, !llvm.loop !110

.loopexit: ; preds = %172, %101, %._crit_edge, %94, %Vec_IntGrow.exit.i
%.0 = phi ptr [ %.061, %Vec_IntGrow.exit.i ], [ null, %94 ], [ %100, %._crit_edge ], [ null, %101 ], [ %.2, %172 ]
%.0 = phi ptr [ %.061, %Vec_IntGrow.exit.i ], [ null, %94 ], [ %100, %._crit_edge ], [ null, %101 ], [ %.2, %171 ]
ret ptr %.0
}

Expand Down
20 changes: 7 additions & 13 deletions bench/abseil-cpp/optimized/charconv_parse.ll
Original file line number Diff line number Diff line change
Expand Up @@ -780,15 +780,9 @@ define weak_odr dso_local void @_ZN4absl16strings_internal10ParseFloatILi16EEENS
%exitcond72.not.i = icmp eq ptr %49, %scevgep71.i
br i1 %exitcond72.not.i, label %.critedge4.i, label %.lr.ph62.i, !llvm.loop !34

.critedge4.i: ; preds = %47, %.lr.ph62.i
%.2.lcssa.i = phi ptr [ %.260.i, %.lr.ph62.i ], [ %scevgep71.i, %47 ]
%.0.lcssa.i = phi i1 [ %.061.i, %.lr.ph62.i ], [ %spec.select.i, %47 ]
%spec.select155 = zext i1 %.0.lcssa.i to i8
br label %_ZN4absl12_GLOBAL__N_113ConsumeDigitsILi16EmEEiPKcS3_iPT0_Pb.exit

_ZN4absl12_GLOBAL__N_113ConsumeDigitsILi16EmEEiPKcS3_iPT0_Pb.exit: ; preds = %.critedge4.i, %.critedge2.i
%.1147 = phi i8 [ 0, %.critedge2.i ], [ %spec.select155, %.critedge4.i ]
%.2.lcssa80.i = phi ptr [ %.1.lcssa.i, %.critedge2.i ], [ %.2.lcssa.i, %.critedge4.i ]
.critedge4.i: ; preds = %.lr.ph62.i, %47, %.critedge2.i
%.2.lcssa.i = phi i1 [ false, %.critedge2.i ], [ %spec.select.i, %47 ], [ %.061.i, %.lr.ph62.i ]
%.0.lcssa.i = phi ptr [ %.1.lcssa.i, %.critedge2.i ], [ %scevgep71.i, %47 ], [ %.260.i, %.lr.ph62.i ]
%50 = ptrtoint ptr %.2.lcssa80.i to i64
%51 = sub i64 %50, %.pre-phi
%52 = trunc i64 %51 to i32
Expand Down Expand Up @@ -952,11 +946,11 @@ _ZN4absl12_GLOBAL__N_113ConsumeDigitsILi16EmEEiPKcS3_iPT0_Pb.exit: ; preds = %.c
.critedge4.i124: ; preds = %111, %.lr.ph62.i121
%.2.lcssa.i125 = phi ptr [ %.260.i123, %.lr.ph62.i121 ], [ %scevgep71.i120, %111 ]
%.0.lcssa.i126 = phi i1 [ %.061.i122, %.lr.ph62.i121 ], [ %spec.select.i127, %111 ]
%spec.select156 = select i1 %.0.lcssa.i126, i8 1, i8 %.1147
%spec.select156 = select i1 %.0.lcssa.i126, i1 true, i1 %.1147
br label %_ZN4absl12_GLOBAL__N_113ConsumeDigitsILi16EmEEiPKcS3_iPT0_Pb.exit140

_ZN4absl12_GLOBAL__N_113ConsumeDigitsILi16EmEEiPKcS3_iPT0_Pb.exit140: ; preds = %.critedge4.i124, %.critedge2.i114
%.2148 = phi i8 [ %.1147, %.critedge2.i114 ], [ %spec.select156, %.critedge4.i124 ]
%.2148 = phi i1 [ %.1147, %.critedge2.i114 ], [ %spec.select156, %.critedge4.i124 ]
%.2.lcssa80.i118 = phi ptr [ %.1.lcssa.i117, %.critedge2.i114 ], [ %.2.lcssa.i125, %.critedge4.i124 ]
%114 = ptrtoint ptr %.2.lcssa80.i118 to i64
%115 = sub i64 %114, %.pre-phi175204
Expand All @@ -971,7 +965,7 @@ _ZN4absl12_GLOBAL__N_113ConsumeDigitsILi16EmEEiPKcS3_iPT0_Pb.exit140: ; preds =

120: ; preds = %_ZN4absl12_GLOBAL__N_113ConsumeDigitsILi16EmEEiPKcS3_iPT0_Pb.exit140, %61, %56
%.0149 = phi i64 [ %.039.lcssa.i116, %_ZN4absl12_GLOBAL__N_113ConsumeDigitsILi16EmEEiPKcS3_iPT0_Pb.exit140 ], [ %.039.lcssa.i, %61 ], [ %.039.lcssa.i, %56 ]
%.0146 = phi i8 [ %.2148, %_ZN4absl12_GLOBAL__N_113ConsumeDigitsILi16EmEEiPKcS3_iPT0_Pb.exit140 ], [ %.1147, %61 ], [ %.1147, %56 ]
%.0146 = phi i1 [ %.2148, %_ZN4absl12_GLOBAL__N_113ConsumeDigitsILi16EmEEiPKcS3_iPT0_Pb.exit140 ], [ %.1147, %61 ], [ %.1147, %56 ]
%.182 = phi i32 [ %.586, %_ZN4absl12_GLOBAL__N_113ConsumeDigitsILi16EmEEiPKcS3_iPT0_Pb.exit140 ], [ %.081, %61 ], [ %.081, %56 ]
%.1 = phi ptr [ %118, %_ZN4absl12_GLOBAL__N_113ConsumeDigitsILi16EmEEiPKcS3_iPT0_Pb.exit140 ], [ %54, %61 ], [ %54, %56 ]
%121 = icmp eq ptr %1, %.1
Expand All @@ -989,7 +983,7 @@ _ZN4absl12_GLOBAL__N_113ConsumeDigitsILi16EmEEiPKcS3_iPT0_Pb.exit140: ; preds =
br i1 %128, label %166, label %129

129: ; preds = %126, %122
%130 = zext nneg i8 %.0146 to i64
%130 = zext i1 %.0146 to i64
%spec.select157 = or i64 %.0149, %130
store i64 %spec.select157, ptr %0, align 8, !tbaa !21
%131 = getelementptr inbounds nuw i8, ptr %0, i64 12
Expand Down
Loading