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
344 changes: 172 additions & 172 deletions bench/abc/optimized/giaKf.c.ll

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions bench/abc/optimized/sfmLib.c.ll
Original file line number Diff line number Diff line change
Expand Up @@ -3587,8 +3587,7 @@ Abc_TtSwapAdjacent.exit: ; preds = %._crit_edge.us.i, %
br i1 %191, label %.lr.ph268.preheader, label %._crit_edge269

.lr.ph268.preheader: ; preds = %184
%smax = call i32 @llvm.smax.i32(i32 %190, i32 1)
%wide.trip.count314 = zext nneg i32 %smax to i64
%wide.trip.count314 = zext i32 %190 to i64
br label %.lr.ph268

.lr.ph268: ; preds = %.lr.ph268.preheader, %.lr.ph268
Expand Down
112 changes: 58 additions & 54 deletions bench/casadi/optimized/sundials_iterative.c.ll
Original file line number Diff line number Diff line change
Expand Up @@ -504,76 +504,80 @@ define range(i32 0, -2147483648) i32 @QRsol(i32 noundef %0, ptr nocapture nounde
br label %.lr.ph

.lr.ph56.preheader: ; preds = %.lr.ph
%6 = zext nneg i32 %0 to i64
%6 = add nsw i32 %0, -1
%7 = zext nneg i32 %6 to i64
%8 = zext nneg i32 %0 to i64
br label %.lr.ph56

.lr.ph: ; preds = %.lr.ph.preheader, %.lr.ph
%7 = phi double [ %.pre, %.lr.ph.preheader ], [ %21, %.lr.ph ]
%9 = phi double [ %.pre, %.lr.ph.preheader ], [ %23, %.lr.ph ]
%indvars.iv = phi i64 [ 0, %.lr.ph.preheader ], [ %indvars.iv.next, %.lr.ph ]
%8 = shl nuw nsw i64 %indvars.iv, 1
%9 = getelementptr inbounds nuw double, ptr %2, i64 %8
%10 = load double, ptr %9, align 8
%11 = or disjoint i64 %8, 1
%12 = getelementptr inbounds nuw double, ptr %2, i64 %11
%13 = load double, ptr %12, align 8
%14 = getelementptr inbounds nuw double, ptr %3, i64 %indvars.iv
%10 = shl nuw nsw i64 %indvars.iv, 1
%11 = getelementptr inbounds nuw double, ptr %2, i64 %10
%12 = load double, ptr %11, align 8
%13 = or disjoint i64 %10, 1
%14 = getelementptr inbounds nuw double, ptr %2, i64 %13
%15 = load double, ptr %14, align 8
%16 = getelementptr inbounds nuw double, ptr %3, i64 %indvars.iv
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
%15 = getelementptr inbounds nuw double, ptr %3, i64 %indvars.iv.next
%16 = load double, ptr %15, align 8
%17 = fneg double %16
%18 = fmul double %13, %17
%19 = tail call double @llvm.fmuladd.f64(double %10, double %7, double %18)
store double %19, ptr %14, align 8
%20 = fmul double %10, %16
%21 = tail call double @llvm.fmuladd.f64(double %13, double %7, double %20)
store double %21, ptr %15, align 8
%17 = getelementptr inbounds nuw double, ptr %3, i64 %indvars.iv.next
%18 = load double, ptr %17, align 8
%19 = fneg double %18
%20 = fmul double %15, %19
%21 = tail call double @llvm.fmuladd.f64(double %12, double %9, double %20)
store double %21, ptr %16, align 8
%22 = fmul double %12, %18
%23 = tail call double @llvm.fmuladd.f64(double %15, double %9, double %22)
store double %23, ptr %17, align 8
%exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
br i1 %exitcond.not, label %.lr.ph56.preheader, label %.lr.ph, !llvm.loop !14

.loopexit: ; preds = %.lr.ph52
%22 = icmp sgt i64 %indvars.iv63, 1
br i1 %22, label %.lr.ph56, label %._crit_edge, !llvm.loop !15
%24 = icmp sgt i64 %indvars.iv69, 1
%indvars.iv.next68 = add nsw i64 %indvars.iv67, -1
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regression.

br i1 %24, label %.lr.ph56, label %._crit_edge, !llvm.loop !15

.lr.ph56: ; preds = %.lr.ph56.preheader, %.loopexit
%indvars.iv63 = phi i64 [ %6, %.lr.ph56.preheader ], [ %indvars.iv.next64, %.loopexit ]
%indvars.iv.next64 = add nsw i64 %indvars.iv63, -1
%23 = getelementptr inbounds nuw ptr, ptr %1, i64 %indvars.iv.next64
%24 = load ptr, ptr %23, align 8
%25 = getelementptr inbounds nuw double, ptr %24, i64 %indvars.iv.next64
%26 = load double, ptr %25, align 8
%27 = fcmp oeq double %26, 0.000000e+00
br i1 %27, label %._crit_edge.loopexit.split.loop.exit66, label %28

28: ; preds = %.lr.ph56
%29 = getelementptr inbounds nuw double, ptr %3, i64 %indvars.iv.next64
%30 = load double, ptr %29, align 8
%31 = fdiv double %30, %26
store double %31, ptr %29, align 8
%32 = icmp samesign ugt i64 %indvars.iv63, 1
br i1 %32, label %.lr.ph52, label %._crit_edge

.lr.ph52: ; preds = %28, %.lr.ph52
%indvars.iv60 = phi i64 [ %indvars.iv.next61, %.lr.ph52 ], [ 0, %28 ]
%33 = load double, ptr %29, align 8
%34 = getelementptr inbounds nuw ptr, ptr %1, i64 %indvars.iv60
%35 = load ptr, ptr %34, align 8
%36 = getelementptr inbounds nuw double, ptr %35, i64 %indvars.iv.next64
%37 = load double, ptr %36, align 8
%38 = getelementptr inbounds nuw double, ptr %3, i64 %indvars.iv60
%indvars.iv69 = phi i64 [ %8, %.lr.ph56.preheader ], [ %indvars.iv.next70, %.loopexit ]
%indvars.iv67 = phi i64 [ %7, %.lr.ph56.preheader ], [ %indvars.iv.next68, %.loopexit ]
%indvars.iv.next70 = add nsw i64 %indvars.iv69, -1
%25 = getelementptr inbounds nuw ptr, ptr %1, i64 %indvars.iv.next70
%26 = load ptr, ptr %25, align 8
%27 = getelementptr inbounds nuw double, ptr %26, i64 %indvars.iv.next70
%28 = load double, ptr %27, align 8
%29 = fcmp oeq double %28, 0.000000e+00
br i1 %29, label %._crit_edge.loopexit.split.loop.exit75, label %30

30: ; preds = %.lr.ph56
%31 = getelementptr inbounds nuw double, ptr %3, i64 %indvars.iv.next70
%32 = load double, ptr %31, align 8
%33 = fdiv double %32, %28
store double %33, ptr %31, align 8
%34 = icmp samesign ugt i64 %indvars.iv69, 1
br i1 %34, label %.lr.ph52, label %._crit_edge

.lr.ph52: ; preds = %30, %.lr.ph52
%indvars.iv60 = phi i64 [ %indvars.iv.next61, %.lr.ph52 ], [ 0, %30 ]
%35 = load double, ptr %31, align 8
%36 = getelementptr inbounds nuw ptr, ptr %1, i64 %indvars.iv60
%37 = load ptr, ptr %36, align 8
%38 = getelementptr inbounds nuw double, ptr %37, i64 %indvars.iv.next70
%39 = load double, ptr %38, align 8
%40 = fneg double %33
%41 = tail call double @llvm.fmuladd.f64(double %40, double %37, double %39)
store double %41, ptr %38, align 8
%40 = getelementptr inbounds nuw double, ptr %3, i64 %indvars.iv60
%41 = load double, ptr %40, align 8
%42 = fneg double %35
%43 = tail call double @llvm.fmuladd.f64(double %42, double %39, double %41)
store double %43, ptr %40, align 8
%indvars.iv.next61 = add nuw nsw i64 %indvars.iv60, 1
%42 = icmp slt i64 %indvars.iv.next61, %indvars.iv.next64
br i1 %42, label %.lr.ph52, label %.loopexit, !llvm.loop !16
%exitcond66.not = icmp eq i64 %indvars.iv.next61, %indvars.iv67
br i1 %exitcond66.not, label %.loopexit, label %.lr.ph52, !llvm.loop !16

._crit_edge.loopexit.split.loop.exit66: ; preds = %.lr.ph56
%43 = trunc nuw nsw i64 %indvars.iv63 to i32
._crit_edge.loopexit.split.loop.exit75: ; preds = %.lr.ph56
%44 = trunc nuw nsw i64 %indvars.iv69 to i32
br label %._crit_edge

._crit_edge: ; preds = %28, %.loopexit, %._crit_edge.loopexit.split.loop.exit66, %4
%.0 = phi i32 [ 0, %4 ], [ %43, %._crit_edge.loopexit.split.loop.exit66 ], [ 0, %.loopexit ], [ 0, %28 ]
._crit_edge: ; preds = %30, %.loopexit, %._crit_edge.loopexit.split.loop.exit75, %4
%.0 = phi i32 [ 0, %4 ], [ %44, %._crit_edge.loopexit.split.loop.exit75 ], [ 0, %.loopexit ], [ 0, %30 ]
ret i32 %.0
}

Expand Down
14 changes: 7 additions & 7 deletions bench/cmake/optimized/archive_read_support_format_lha.c.ll
Original file line number Diff line number Diff line change
Expand Up @@ -4936,15 +4936,15 @@ define internal fastcc range(i32 0, 2) i32 @lzh_make_huffman_table(ptr nocapture
br i1 %108, label %.lr.ph244, label %.loopexit

.lr.ph244: ; preds = %104, %.lr.ph244
%indvars.iv280 = phi i64 [ %109, %.lr.ph244 ], [ %106, %104 ]
%109 = add nsw i64 %indvars.iv280, -16
%110 = getelementptr inbounds nuw i16, ptr %86, i64 %109
tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 2 dereferenceable(32) %110, ptr noundef nonnull align 2 dereferenceable(32) %107, i64 32, i1 false)
%.wide = icmp ugt i64 %109, 15
br i1 %.wide, label %.lr.ph244, label %.loopexit.loopexit, !llvm.loop !30
%indvars.iv280 = phi i64 [ %indvars.iv.next281, %.lr.ph244 ], [ %106, %104 ]
%indvars.iv.next281 = add nsw i64 %indvars.iv280, -16
%109 = getelementptr inbounds nuw i16, ptr %86, i64 %indvars.iv.next281
tail call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 2 dereferenceable(32) %109, ptr noundef nonnull align 2 dereferenceable(32) %107, i64 32, i1 false)
%110 = icmp samesign ugt i64 %indvars.iv.next281, 15
br i1 %110, label %.lr.ph244, label %.loopexit.loopexit, !llvm.loop !30

.loopexit.loopexit: ; preds = %.lr.ph244
%111 = trunc nuw i64 %109 to i32
%111 = trunc nuw nsw i64 %indvars.iv.next281 to i32
br label %.loopexit

.loopexit: ; preds = %.loopexit.loopexit, %104, %91
Expand Down
2 changes: 1 addition & 1 deletion bench/gromacs/optimized/huffman.c.ll
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ define void @Ptngc_comp_conv_to_huffman(ptr nocapture noundef readonly %0, i32 n
br i1 %73, label %.lr.ph390, label %._crit_edge391, !llvm.loop !6

._crit_edge391: ; preds = %71, %.lr.ph390
%.0186.lcssa.ph = phi i32 [ %72, %71 ], [ %.0186388, %.lr.ph390 ]
%.0186.lcssa.ph = phi i32 [ 0, %71 ], [ %.0186388, %.lr.ph390 ]
%74 = zext i32 %.0186.lcssa.ph to i64
%.not202 = icmp eq i64 %indvars.iv.next470, %74
br i1 %.not202, label %81, label %75
Expand Down
Loading