Skip to content
Closed
Show file tree
Hide file tree
Changes from 2 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
7 changes: 5 additions & 2 deletions bench/abc/optimized/fretMain.c.ll
Original file line number Diff line number Diff line change
Expand Up @@ -4671,7 +4671,7 @@ define internal fastcc range(i32 -1, 2) i32 @Abc_FlowRetime_VerifyPathLatencies_
%39 = tail call fastcc i32 @Abc_FlowRetime_VerifyPathLatencies_rec(ptr noundef nonnull %23, i32 noundef %38)
%40 = icmp sgt i32 %39, -1
%spec.select68.us = select i1 %40, i32 1, i32 %.140106.us
%41 = select i1 %40, i32 %39, i32 0
%41 = tail call i32 @llvm.smax.i32(i32 %39, i32 0)
%spec.select69.us = or i32 %41, %.2107.us
br label %46

Expand Down Expand Up @@ -4740,7 +4740,7 @@ define internal fastcc range(i32 -1, 2) i32 @Abc_FlowRetime_VerifyPathLatencies_
%66 = tail call fastcc i32 @Abc_FlowRetime_VerifyPathLatencies_rec(ptr noundef nonnull %56, i32 noundef 1)
%67 = icmp sgt i32 %66, -1
%spec.select68 = select i1 %67, i32 1, i32 %.140106
%68 = select i1 %67, i32 %66, i32 0
%68 = tail call i32 @llvm.smax.i32(i32 %66, i32 0)
%spec.select69 = or i32 %68, %.2107
br label %69

Expand Down Expand Up @@ -4935,6 +4935,9 @@ declare noundef i32 @putchar(i32 noundef) local_unnamed_addr #12
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.smin.i32(i32, i32) #14

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.smax.i32(i32, i32) #14

attributes #0 = { nounwind uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nofree nounwind willreturn allockind("alloc,uninitialized") allocsize(0) memory(inaccessiblemem: readwrite) "alloc-family"="malloc" "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nofree nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
Expand Down
38 changes: 24 additions & 14 deletions bench/clamav/optimized/regex_pcre.c.ll
Original file line number Diff line number Diff line change
Expand Up @@ -341,20 +341,23 @@ define void @cli_pcre_report(ptr noundef readonly captures(none) %0, ptr noundef
26: ; preds = %.preheader
%27 = sub i64 %23, %19
%28 = icmp ult i64 %27, 1029
%spec.select = select i1 %28, i64 %27, i64 1028
%.not = icmp eq i64 %spec.select, 0
br i1 %.not, label %._crit_edge, label %.lr.ph
%spec.select = icmp eq i64 %23, %19
br i1 %spec.select, label %._crit_edge, label %.lr.ph

.lr.ph: ; preds = %26, %.lr.ph
%.03438 = phi i64 [ %36, %.lr.ph ], [ 0, %26 ]
.lr.ph: ; preds = %26
%.03438 = call i64 @llvm.umin.i64(i64 %27, i64 1028)
br label %.lr.ph

.lr.ph: ; preds = %.lr.ph.preheader, %.lr.ph
%.03438 = phi i64 [ %36, %.lr.ph ], [ 0, %.lr.ph.preheader ]
%29 = shl nuw nsw i64 %.03438, 1
%30 = getelementptr inbounds nuw i8, ptr %10, i64 %29
%31 = sub nuw nsw i64 2057, %29
%32 = getelementptr inbounds nuw i8, ptr %20, i64 %.03438
%33 = load i8, ptr %32, align 1
%34 = sext i8 %33 to i32
%35 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %30, i64 noundef %31, ptr noundef nonnull @.str.14, i32 noundef %34) #6
%36 = add nuw i64 %.03438, 1
%36 = add nuw nsw i64 %.03438, 1
%exitcond.not = icmp eq i64 %36, %spec.select
br i1 %exitcond.not, label %._crit_edge, label %.lr.ph

Expand Down Expand Up @@ -419,20 +422,23 @@ define void @cli_pcre_report(ptr noundef readonly captures(none) %0, ptr noundef
%69 = load i64, ptr %68, align 8
%70 = sub i64 %69, %64
%71 = icmp ult i64 %70, 1029
%spec.select.i = select i1 %71, i64 %70, i64 1028
%.not.i = icmp eq i64 %spec.select.i, 0
br i1 %.not.i, label %._crit_edge.i, label %.lr.ph.i
%spec.select.i = icmp eq i64 %69, %64
br i1 %spec.select.i, label %._crit_edge.i, label %.lr.ph.preheader.i

.lr.ph.preheader.i: ; preds = %.lr.ph34.i
%spec.select.i = call i64 @llvm.umin.i64(i64 %70, i64 1028)
br label %.lr.ph.i

.lr.ph.i: ; preds = %.lr.ph34.i, %.lr.ph.i
%.02730.i = phi i64 [ %79, %.lr.ph.i ], [ 0, %.lr.ph34.i ]
.lr.ph.i: ; preds = %.lr.ph.i, %.lr.ph.preheader.i
%.02730.i = phi i64 [ %79, %.lr.ph.i ], [ 0, %.lr.ph.preheader.i ]
%72 = shl nuw nsw i64 %.02730.i, 1
%73 = getelementptr inbounds nuw i8, ptr %9, i64 %72
%74 = sub nuw nsw i64 2057, %72
%75 = getelementptr inbounds nuw i8, ptr %65, i64 %.02730.i
%76 = load i8, ptr %75, align 1
%77 = sext i8 %76 to i32
%78 = call i32 (ptr, i64, ptr, ...) @snprintf(ptr noundef nonnull dereferenceable(1) %73, i64 noundef %74, ptr noundef nonnull @.str.14, i32 noundef %77) #6
%79 = add nuw i64 %.02730.i, 1
%79 = add nuw nsw i64 %.02730.i, 1
%exitcond.not.i = icmp eq i64 %79, %spec.select.i
br i1 %exitcond.not.i, label %._crit_edge.i, label %.lr.ph.i

Expand Down Expand Up @@ -568,6 +574,9 @@ declare void @pcre2_match_context_free_8(ptr noundef) local_unnamed_addr #1

declare i32 @pcre2_pattern_info_8(ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #1

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.umin.i64(i64, i64) #5

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #5

Expand All @@ -579,8 +588,9 @@ attributes #1 = { "frame-pointer"="all" "no-trapping-math"="true" "stack-protect
attributes #2 = { mustprogress nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite) uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite) "alloc-family"="malloc" "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nofree nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #6 = { nounwind }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #7 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}

Expand Down
43 changes: 22 additions & 21 deletions bench/cpython/optimized/_cursesmodule.ll
Original file line number Diff line number Diff line change
Expand Up @@ -8634,11 +8634,11 @@ color_allow_default_converter.exit.thread.i: ; preds = %if.then5.i.i, %land

if.end.i: ; preds = %if.end.i.i
%cmp7.i.i = icmp ne i32 %0, 0
%3 = trunc i64 %call.i.i to i32
%3 = call i64 @llvm.smax.i64(i64 %call.i.i, i64 -1)
%4 = trunc i64 %3 to i32
call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %overflow.i.i)
%4 = and i64 %call.i.i, -9223372034707292160
%5 = icmp ne i64 %4, 0
%cmp.i = or i1 %5, %cmp7.i.i
%4 = icmp slt i32 %4, 0
Copy link

Choose a reason for hiding this comment

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

%cmp.i = or i1 %4, %cmp7.i.i
br i1 %cmp.i, label %if.then1.i, label %if.end

if.then1.i: ; preds = %if.end.i
Expand Down Expand Up @@ -8668,7 +8668,7 @@ if.then2.i: ; preds = %if.end.i2
br label %_curses_color_content_impl.exit

if.end3.i: ; preds = %if.end.i2
%call.i = call i32 @extended_color_content(i32 noundef %3, ptr noundef nonnull %r.i, ptr noundef nonnull %g.i, ptr noundef nonnull %b.i) #9
%call.i = call i32 @extended_color_content(i32 noundef %4, ptr noundef nonnull %r.i, ptr noundef nonnull %g.i, ptr noundef nonnull %b.i) #9
%cmp4.i = icmp eq i32 %call.i, -1
br i1 %cmp4.i, label %if.then5.i, label %if.end7.i

Expand Down Expand Up @@ -9739,11 +9739,11 @@ color_allow_default_converter.exit.thread.i: ; preds = %if.then5.i.i, %land

if.end.i: ; preds = %if.end.i.i
%cmp7.i.i = icmp ne i32 %1, 0
%4 = trunc i64 %call.i.i to i32
%4 = call i64 @llvm.smax.i64(i64 %call.i.i, i64 -1)
%5 = trunc i64 %4 to i32
call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %overflow.i.i)
%5 = and i64 %call.i.i, -9223372034707292160
%6 = icmp ne i64 %5, 0
%cmp.i = or i1 %6, %cmp7.i.i
%5 = icmp slt i32 %5, 0
%6 = or i1 %5, %cmp7.i.i
br i1 %cmp.i, label %if.then1.i, label %if.end5

if.then1.i: ; preds = %if.end.i
Expand Down Expand Up @@ -9884,7 +9884,7 @@ if.then2.i: ; preds = %if.end.i50
br label %exit

if.end3.i: ; preds = %if.end.i50
%call.i52 = call i32 @init_extended_color(i32 noundef %4, i32 noundef %conv.i, i32 noundef %conv.i21, i32 noundef %conv.i41) #9
%call.i52 = call i32 @init_extended_color(i32 noundef %5, i32 noundef %conv.i, i32 noundef %conv.i21, i32 noundef %conv.i41) #9
%cmp.not.i.i = icmp eq i32 %call.i52, -1
br i1 %cmp.not.i.i, label %if.else.i.i, label %exit

Expand Down Expand Up @@ -9986,11 +9986,10 @@ color_allow_default_converter.exit.thread: ; preds = %if.then5.i, %land.l
br label %exit

if.end10: ; preds = %if.end.i8
%cmp7.i = icmp ne i32 %5, 0
%cmp10.i = icmp slt i64 %call.i6, 0
%or.cond.i13 = or i1 %cmp10.i, %cmp7.i
%8 = trunc i64 %call.i6 to i32
%conv15.i = select i1 %or.cond.i13, i32 -1, i32 %8
%cmp7.i = icmp eq i32 %5, 0
%cmp10.i = call i64 @llvm.smax.i64(i64 %call.i6, i64 -1)
%or.cond.i13 = trunc i64 %cmp10.i to i32
%8 = select i1 %cmp7.i, i32 %9, i32 -1
call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %overflow.i5)
%arrayidx11 = getelementptr i8, ptr %args, i64 16
%9 = load ptr, ptr %arrayidx11, align 8
Expand Down Expand Up @@ -10024,11 +10023,10 @@ color_allow_default_converter.exit37.thread: ; preds = %if.then5.i25, %land
br label %exit

if.end15: ; preds = %if.end.i20
%cmp7.i30 = icmp ne i32 %10, 0
%cmp10.i31 = icmp slt i64 %call.i18, 0
%or.cond.i32 = or i1 %cmp10.i31, %cmp7.i30
%13 = trunc i64 %call.i18 to i32
%conv15.i33 = select i1 %or.cond.i32, i32 -1, i32 %13
%cmp7.i30 = icmp eq i32 %10, 0
%cmp10.i31 = call i64 @llvm.smax.i64(i64 %call.i18, i64 -1)
%or.cond.i32 = trunc i64 %cmp10.i31 to i32
%13 = select i1 %cmp7.i30, i32 %15, i32 -1
call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %overflow.i17)
%.b.i = load i1, ptr @initialised, align 4
br i1 %.b.i, label %if.end.i39, label %if.then.i
Expand All @@ -10048,7 +10046,7 @@ if.then2.i: ; preds = %if.end.i39
br label %exit

if.end3.i: ; preds = %if.end.i39
%call.i40 = call i32 @init_extended_pair(i32 noundef %conv.i, i32 noundef %conv15.i, i32 noundef %conv15.i33) #9
%call.i40 = call i32 @init_extended_pair(i32 noundef %conv.i, i32 noundef %conv15.i, i32 noundef %conv15.i31) #9
%cmp4.i = icmp eq i32 %call.i40, -1
br i1 %cmp4.i, label %if.then5.i41, label %exit

Expand Down Expand Up @@ -14343,6 +14341,9 @@ declare void @PyStructSequence_SetItem(ptr noundef, i64 noundef, ptr noundef) lo
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.smin.i32(i32, i32) #5

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.smax.i64(i64, i64) #5

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr captures(none)) #6

Expand Down
25 changes: 12 additions & 13 deletions bench/cpython/optimized/dtoa.ll
Original file line number Diff line number Diff line change
Expand Up @@ -903,10 +903,10 @@ s2b.exit: ; preds = %for.cond18.i, %if.e
%76 = tail call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_Py_tss_tstate)
%sign462 = getelementptr inbounds nuw i8, ptr %retval.0.i, i64 16
%wds = getelementptr inbounds nuw i8, ptr %retval.0.i, i64 20
%cmp479 = icmp sgt i32 %e.3988, -1
%sub483 = sub i32 0, %e.3988
%bd2.0 = select i1 %cmp479, i32 %e.3988, i32 0
%bb2.0 = select i1 %cmp479, i32 0, i32 %sub483
%cmp479 = sub i32 0, %e.3988
%sub483 = tail call i32 @llvm.smax.i32(i32 %e.3988, i32 0)
%bd2.0 = icmp slt i32 %e.3988, 0
%bb2.0 = select i1 %cmp479.inv, i32 %sub483, i32 0
%cmp511 = icmp sgt i32 %bb2.0, 0
%and.i = and i32 %bb2.0, 3
%tobool.not.i363 = icmp eq i32 %and.i, 0
Expand All @@ -915,13 +915,13 @@ s2b.exit: ; preds = %for.cond18.i, %if.e
%arrayidx.i367 = getelementptr [3 x i32], ptr @pow5mult.p05, i64 0, i64 %idxprom.i366
%tobool3.not.i = icmp samesign ult i32 %bb2.0, 4
%shr.i = lshr i32 %bb2.0, 2
%cmp534 = icmp sgt i32 %bd2.0, 0
%cmp534 = icmp slt i32 %e.3989, 1
%and.i389 = and i32 %bd2.0, 3
%tobool.not.i390 = icmp eq i32 %and.i389, 0
%sub.i392 = add nsw i32 %and.i389, -1
%idxprom.i393 = zext nneg i32 %sub.i392 to i64
%arrayidx.i394 = getelementptr [3 x i32], ptr @pow5mult.p05, i64 0, i64 %idxprom.i393
%tobool3.not.i399 = icmp samesign ult i32 %bd2.0, 4
%tobool3.not.i399 = icmp slt i32 %e.3989, 4
%shr.i401 = lshr i32 %bd2.0, 2
%cmp570 = icmp sgt i32 %i.0.lcssa936954, %nd.0993
%arrayidx745 = getelementptr inbounds nuw i8, ptr %rv, i64 4
Expand Down Expand Up @@ -1068,10 +1068,9 @@ if.end478: ; preds = %if.end29.i.i357, %i
store i32 1, ptr %x.i, align 8
store i32 1, ptr %wds.i.i344, align 4
%90 = load i32, ptr %bbe, align 4
%cmp485 = icmp sgt i32 %90, -1
%sub490 = select i1 %cmp485, i32 0, i32 %90
%cmp485 = tail call i32 @llvm.smin.i32(i32 %90, i32 0)
%bd2.1 = sub i32 %bd2.0, %sub490
%add488 = select i1 %cmp485, i32 %90, i32 0
%add488 = tail call i32 @llvm.smax.i32(i32 %90, i32 0)
%bb2.1 = add nuw i32 %add488, %bb2.0
%inc492 = add i32 %bb2.1, 1
%inc493 = add i32 %bd2.1, 1
Expand Down Expand Up @@ -1195,7 +1194,7 @@ if.then527: ; preds = %if.end524

if.end533: ; preds = %if.then527, %if.end524
%bb.6 = phi ptr [ %call528, %if.then527 ], [ %bb.5, %if.end524 ]
br i1 %cmp534, label %if.then536, label %if.end542
br i1 %cmp534, label %if.end542, label %if.then536

if.then536: ; preds = %if.end533
br i1 %tobool.not.i390, label %if.end2.i397, label %if.then.i391
Expand Down Expand Up @@ -4534,10 +4533,10 @@ if.end69: ; preds = %if.then62, %select.
%k.1 = phi i32 [ %k.0, %if.then62 ], [ %k.0, %if.end45 ], [ %dec67, %select.unfold ]
%32 = xor i32 %i.0, -1
%sub71 = add nsw i32 %bbits.0.ph, %32
%cmp72 = icmp sgt i32 %sub71, -1
%sub76 = sub nsw i32 0, %sub71
%b2.0 = select i1 %cmp72, i32 0, i32 %sub76
%s2.0 = select i1 %cmp72, i32 %sub71, i32 0
%b2.0 = icmp slt i32 %sub71, 0
%s2.0 = select i1 %cmp72.inv, i32 %sub76, i32 0
%s2.0 = tail call i32 @llvm.smax.i32(i32 %sub71, i32 0)
%cmp78 = icmp sgt i32 %k.1, -1
br i1 %cmp78, label %if.then80, label %if.else82

Expand Down
Loading