Skip to content
This repository was archived by the owner on Mar 17, 2026. It is now read-only.
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
8 changes: 7 additions & 1 deletion bench/abc/optimized/cnfPost.ll
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ define void @Cnf_ManPostprocess_old(ptr noundef readonly captures(none) %0) loca
.lr.ph: ; preds = %1
%7 = getelementptr i8, ptr %4, i64 8
%.val38 = load ptr, ptr %7, align 8, !tbaa !27
%.not.i = icmp ne ptr %4, null
%wide.trip.count61 = zext nneg i32 %.val to i64
br label %8

Expand Down Expand Up @@ -50,6 +51,7 @@ define void @Cnf_ManPostprocess_old(ptr noundef readonly captures(none) %0) loca
br i1 %.not, label %.critedge2, label %Aig_ManObj.exit.lr.ph

Aig_ManObj.exit.lr.ph: ; preds = %.preheader
tail call void @llvm.assume(i1 %.not.i)
%21 = lshr i32 %.fr, 15
%22 = and i32 %21, 4094
%.not37 = icmp eq i32 %22, 0
Expand Down Expand Up @@ -459,12 +461,16 @@ declare void @llvm.lifetime.start.p0(ptr captures(none)) #4
; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(ptr captures(none)) #4

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write)
declare void @llvm.assume(i1 noundef) #5

attributes #0 = { nofree nounwind uwtable "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 = { nofree nounwind "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 = { nounwind uwtable "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 = { "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 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #5 = { nounwind }
attributes #5 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write) }
attributes #6 = { nounwind }

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

Expand Down
14 changes: 10 additions & 4 deletions bench/abc/optimized/llb1Hint.ll
Original file line number Diff line number Diff line change
Expand Up @@ -311,11 +311,13 @@ Vec_IntFree.exit: ; preds = %Vec_IntFree.exit.lo
.critedge2.preheader: ; preds = %132
%.val75.pre = load i32, ptr %62, align 4, !tbaa !34
%69 = icmp sgt i32 %.val75.pre, 1
%.not.i100 = icmp ne ptr %133, null
br i1 %69, label %.critedge2.preheader.split.us, label %.split.us

.critedge2.preheader.split.us: ; preds = %.critedge2.preheader
%70 = add nsw i32 %.val75.pre, -1
%71 = getelementptr i8, ptr %133, i64 8
tail call void @llvm.assume(i1 %.not.i100)
%.val.i101.us = load ptr, ptr %71, align 8, !tbaa !23
%wide.trip.count = zext i32 %70 to i64
br label %.critedge2.us
Expand Down Expand Up @@ -761,6 +763,9 @@ declare i32 @llvm.smax.i32(i32, i32) #15
; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)
declare range(i32 -1, 2) i32 @llvm.scmp.i32.i32(i32, i32) #15

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write)
declare void @llvm.assume(i1 noundef) #16

attributes #0 = { nofree norecurse nosync nounwind memory(read, inaccessiblemem: none, target_mem0: none, target_mem1: none) uwtable "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 = { nounwind uwtable "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 #2 = { "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 All @@ -777,10 +782,11 @@ attributes #12 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-si
attributes #13 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #14 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #15 = { nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) }
attributes #16 = { nounwind }
attributes #17 = { nounwind willreturn memory(read) }
attributes #18 = { nounwind allocsize(0) }
attributes #19 = { nounwind allocsize(1) }
attributes #16 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write) }
attributes #17 = { nounwind }
attributes #18 = { nounwind willreturn memory(read) }
attributes #19 = { nounwind allocsize(0) }
attributes #20 = { nounwind allocsize(1) }

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

Expand Down
8 changes: 5 additions & 3 deletions bench/abseil-cpp/optimized/cord_test.ll
Original file line number Diff line number Diff line change
Expand Up @@ -59415,8 +59415,10 @@ _ZN4absl12log_internal10LogMessagelsILi20EEERS1_RAT__Kc.exit: ; preds = %14
26: ; preds = %17, %23
%27 = phi i8 [ %.pre, %23 ], [ %21, %17 ]
%.0.i23 = phi ptr [ %25, %23 ], [ %19, %17 ]
%28 = getelementptr inbounds nuw i8, ptr %.0.i23, i64 8
%29 = atomicrmw add ptr %28, i32 2 monotonic, align 4
%28 = icmp ne ptr %.0.i23, null
tail call void @llvm.assume(i1 %28)
%29 = getelementptr inbounds nuw i8, ptr %.0.i23, i64 8
%30 = atomicrmw add ptr %29, i32 2 monotonic, align 4
%or.cond.i = icmp ult i8 %27, 5
br i1 %or.cond.i, label %30, label %31, !prof !858

Expand All @@ -59429,7 +59431,7 @@ _ZN4absl12log_internal10LogMessagelsILi20EEERS1_RAT__Kc.exit: ; preds = %14

31: ; preds = %26
%32 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #42
to label %33 unwind label %46
to label %34 unwind label %46

33: ; preds = %31
tail call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %32, i8 0, i64 16, i1 false)
Expand Down
6 changes: 4 additions & 2 deletions bench/actix-rs/optimized/188iedib5veo0ne9.ll
Original file line number Diff line number Diff line change
Expand Up @@ -5016,13 +5016,15 @@ define hidden { ptr, i64 } @_ZN5alloc5alloc6Global10alloc_impl17hb4f01ccf52c1821
%8 = icmp sgt i64 %7, -1
tail call void @llvm.assume(i1 %8)
%9 = inttoptr i64 %1 to ptr
br label %11
%10 = icmp ne i64 %1, 0
tail call void @llvm.assume(i1 %10)
br label %12

10: ; preds = %4
br i1 %3, label %19, label %14

11: ; preds = %14, %19, %6
%.sroa.05.0 = phi ptr [ %9, %6 ], [ %22, %19 ], [ %18, %14 ]
%.sroa.05.0 = phi ptr [ %9, %6 ], [ %22, %20 ], [ %18, %15 ]
%12 = insertvalue { ptr, i64 } poison, ptr %.sroa.05.0, 0
%13 = insertvalue { ptr, i64 } %12, i64 %2, 1
ret { ptr, i64 } %13
Expand Down
43 changes: 24 additions & 19 deletions bench/arrow/optimized/value_parsing.ll
Original file line number Diff line number Diff line change
Expand Up @@ -1806,15 +1806,17 @@ define void @_ZN5arrow15TimestampParser12MakeStrptimeENSt7__cxx1112basic_stringI
%9 = load ptr, ptr %1, align 8, !tbaa !53, !noalias !44
%10 = getelementptr inbounds nuw i8, ptr %1, i64 16
%11 = icmp eq ptr %9, %10
%12 = getelementptr inbounds nuw i8, ptr %3, i64 8
br i1 %11, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.thread.i.i.i.i.i.i, label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.i.i.i.i.i.i

_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.thread.i.i.i.i.i.i: ; preds = %2
%13 = getelementptr inbounds nuw i8, ptr %1, i64 8
%14 = load i64, ptr %13, align 8, !tbaa !56, !noalias !44
%15 = add nuw nsw i64 %14, 1
%14 = icmp samesign ult i64 %14, 16
tail call void @llvm.assume(i1 %14)
%15 = add nuw nsw i64 %13, 1
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(1) %8, ptr noundef nonnull align 8 dereferenceable(1) %10, i64 %15, i1 false), !noalias !44
store i64 0, ptr %13, align 8, !tbaa !56, !noalias !44
%16 = getelementptr inbounds nuw i8, ptr %3, i64 8
store i64 0, ptr %12, align 8, !tbaa !56, !noalias !44
store i8 0, ptr %10, align 8, !tbaa !6, !noalias !44
store ptr getelementptr inbounds nuw inrange(-16, 40) (i8, ptr @_ZTVN5arrow8internal12_GLOBAL__N_123StrptimeTimestampParserE, i64 16), ptr %7, align 8, !tbaa !51, !noalias !44
%16 = getelementptr inbounds nuw i8, ptr %4, i64 24
Expand All @@ -1827,6 +1829,7 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.i.i.i.i.i.i:
store i64 %18, ptr %8, align 8, !tbaa !6, !noalias !44
%.phi.trans.insert.i.i.i.i.i.i.i = getelementptr inbounds nuw i8, ptr %1, i64 8
%.pre.i.i.i.i.i.i.i = load i64, ptr %.phi.trans.insert.i.i.i.i.i.i.i, align 8, !tbaa !56, !noalias !44
%20 = getelementptr inbounds nuw i8, ptr %3, i64 8
store ptr %10, ptr %1, align 8, !tbaa !53, !noalias !44
store i64 0, ptr %.phi.trans.insert.i.i.i.i.i.i.i, align 8, !tbaa !56, !noalias !44
store i8 0, ptr %10, align 8, !tbaa !6, !noalias !44
Expand All @@ -1844,10 +1847,11 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i._crit_edge.i
22: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i._crit_edge.i.i.i.i.i.i, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.thread.i.i.i.i.i.i
%.pre-phi.i.i.i.i.i.i = phi i64 [ %.pre.i.i.i.i.i.i, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i._crit_edge.i.i.i.i.i.i ], [ %15, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.thread.i.i.i.i.i.i ]
%23 = phi ptr [ %20, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i._crit_edge.i.i.i.i.i.i ], [ %17, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.thread.i.i.i.i.i.i ]
%24 = phi i64 [ %.pre.i.i.i.i.i.i.i, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i._crit_edge.i.i.i.i.i.i ], [ %14, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.thread.i.i.i.i.i.i ]
%25 = icmp ult i64 %24, 16
call void @llvm.assume(i1 %25)
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(1) %23, ptr noundef nonnull align 8 dereferenceable(1) %8, i64 %.pre-phi.i.i.i.i.i.i, i1 false), !noalias !44
%24 = phi ptr [ %20, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i._crit_edge.i.i.i.i.i.i ], [ %16, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.thread.i.i.i.i.i.i ]
%27 = phi i64 [ %.pre.i.i.i.i.i.i.i, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i._crit_edge.i.i.i.i.i.i ], [ %14, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.thread.i.i.i.i.i.i ]
%28 = icmp ult i64 %27, 16
call void @llvm.assume(i1 %28)
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(1) %25, ptr noundef nonnull align 8 dereferenceable(1) %8, i64 %.pre-phi.i.i.i.i.i.i, i1 false), !noalias !44
br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.i.i.i.i.i.i.i

_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i.i.i: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.i.i.i.i.i.i
Expand All @@ -1856,32 +1860,33 @@ _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i
br label %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.i.i.i.i.i.i.i

_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.i.i.i.i.i.i.i: ; preds = %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i.i.i, %22
%26 = phi i64 [ %.pre.i.i.i.i.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i.i.i ], [ %24, %22 ]
%27 = phi ptr [ %9, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i.i.i ], [ %23, %22 ]
%28 = getelementptr inbounds nuw i8, ptr %4, i64 32
store i64 %26, ptr %28, align 8, !tbaa !56, !noalias !44
%26 = phi ptr [ %20, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i.i.i ], [ %24, %24 ]
%27 = phi i64 [ %.pre.i.i.i.i.i.i.i, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i.i.i ], [ %27, %24 ]
%31 = phi ptr [ %9, %_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv.exit.i.i.i.i.i.i.i.i.i ], [ %25, %24 ]
%32 = getelementptr inbounds nuw i8, ptr %4, i64 32
store i64 %30, ptr %32, align 8, !tbaa !56, !noalias !44
store ptr %8, ptr %3, align 8, !tbaa !53, !noalias !44
store i64 0, ptr %12, align 8, !tbaa !56, !noalias !44
store i64 0, ptr %29, align 8, !tbaa !56, !noalias !44
store i8 0, ptr %8, align 8, !tbaa !6, !noalias !44
%29 = getelementptr inbounds nuw i8, ptr %4, i64 56
store i8 0, ptr %29, align 8, !tbaa !58, !noalias !44
%.not.i.i.i.i.i.i.i.i = icmp eq i64 %26, 0
%.not.i.i.i.i.i.i.i.i = icmp eq i64 %27, 0
br i1 %.not.i.i.i.i.i.i.i.i, label %_ZNSt12__shared_ptrIN5arrow8internal12_GLOBAL__N_123StrptimeTimestampParserELN9__gnu_cxx12_Lock_policyE2EED2Ev.exit, label %.lr.ph.i.i.i.i.i.i.i.i

.lr.ph.i.i.i.i.i.i.i.i: ; preds = %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.i.i.i.i.i.i.i, %41
%.07.i.i.i.i.i.i.i.i = phi i64 [ %42, %41 ], [ 0, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.i.i.i.i.i.i.i ]
%30 = getelementptr inbounds nuw i8, ptr %27, i64 %.07.i.i.i.i.i.i.i.i
%.07.i.i.i.i.i.i.i.i = phi i64 [ %42, %45 ], [ 0, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.i.i.i.i.i.i.i ]
%30 = getelementptr inbounds nuw i8, ptr %31, i64 %.07.i.i.i.i.i.i.i.i
%31 = load i8, ptr %30, align 1, !tbaa !6, !noalias !44
%32 = icmp eq i8 %31, 37
br i1 %32, label %33, label %41

33: ; preds = %.lr.ph.i.i.i.i.i.i.i.i
%34 = add nuw i64 %.07.i.i.i.i.i.i.i.i, 1
%35 = icmp ult i64 %34, %26
%35 = icmp ult i64 %34, %27
br i1 %35, label %36, label %41

36: ; preds = %33
%37 = getelementptr inbounds nuw i8, ptr %27, i64 %34
%37 = getelementptr inbounds nuw i8, ptr %31, i64 %34
%38 = load i8, ptr %37, align 1, !tbaa !6, !noalias !44
%39 = icmp eq i8 %38, 122
br i1 %39, label %40, label %41
Expand All @@ -1891,9 +1896,9 @@ _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.i.i.i.i.i.i.
br label %_ZNSt12__shared_ptrIN5arrow8internal12_GLOBAL__N_123StrptimeTimestampParserELN9__gnu_cxx12_Lock_policyE2EED2Ev.exit

41: ; preds = %36, %33, %.lr.ph.i.i.i.i.i.i.i.i
%.1.i.i.i.i.i.i.i.i = phi i64 [ %.07.i.i.i.i.i.i.i.i, %.lr.ph.i.i.i.i.i.i.i.i ], [ %34, %36 ], [ %34, %33 ]
%.1.i.i.i.i.i.i.i.i = phi i64 [ %.07.i.i.i.i.i.i.i.i, %.lr.ph.i.i.i.i.i.i.i.i ], [ %34, %40 ], [ %34, %37 ]
%42 = add i64 %.1.i.i.i.i.i.i.i.i, 1
%43 = icmp ult i64 %42, %26
%43 = icmp ult i64 %42, %27
br i1 %43, label %.lr.ph.i.i.i.i.i.i.i.i, label %_ZNSt12__shared_ptrIN5arrow8internal12_GLOBAL__N_123StrptimeTimestampParserELN9__gnu_cxx12_Lock_policyE2EED2Ev.exit, !llvm.loop !61

_ZNSt12__shared_ptrIN5arrow8internal12_GLOBAL__N_123StrptimeTimestampParserELN9__gnu_cxx12_Lock_policyE2EED2Ev.exit: ; preds = %41, %40, %_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_.exit.i.i.i.i.i.i.i.i
Expand Down
Loading