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
9 changes: 4 additions & 5 deletions bench/abc/optimized/giaJf.ll
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,9 @@ target triple = "x86_64-pc-linux-gnu"
define void @Jf_ManGenCnf(i64 noundef %0, i32 noundef %1, ptr noundef readonly captures(none) %2, ptr noundef captures(none) %3, ptr noundef captures(none) %4, ptr noundef %5) local_unnamed_addr #0 {
%7 = alloca i64, align 8
store i64 %0, ptr %7, align 8, !tbaa !3
switch i64 %0, label %.preheader [
i64 0, label %14
i64 -1, label %14
]
%.off = add i64 %0, -1
%switch = icmp ult i64 %.off, -2
br i1 %switch, label %.preheader, label %14

.preheader: ; preds = %6
%8 = getelementptr i8, ptr %2, i64 4
Expand All @@ -81,7 +80,7 @@ define void @Jf_ManGenCnf(i64 noundef %0, i32 noundef %1, ptr noundef readonly c
%13 = getelementptr i8, ptr %2, i64 8
br label %80

14: ; preds = %6, %6
14: ; preds = %6
%15 = getelementptr i8, ptr %3, i64 4
%.val = load i32, ptr %15, align 4, !tbaa !7
%16 = getelementptr inbounds nuw i8, ptr %4, i64 4
Expand Down
14 changes: 10 additions & 4 deletions bench/actix-rs/optimized/22x16e3cd4musvfe.ll
Original file line number Diff line number Diff line change
Expand Up @@ -2037,7 +2037,10 @@ define hidden noundef range(i32 0, 4) i32 @_ZN19brotli_decompressor6decode22Brot
60: ; preds = %50
%61 = zext i32 %52 to i64
%62 = sub nsw i64 8, %61
%.0.sroa.speculated.i = tail call noundef range(i64 0, 4294967296) i64 @llvm.umin.i64(i64 range(i64 -4294967287, 8) %62, i64 range(i64 0, 4294967296) %34)
%.0.sroa.speculated.i = tail call noundef range(i8 -1, 2) i8 @llvm.ucmp.i8.i64(i64 range(i64 -4294967287, 8) %62, i64 range(i64 0, 4294967296) %34)
%.off.i = add nsw i8 %.0.i.i.i, -1
%switch.i = icmp ult i8 %.off.i, -2
%.0.sroa.speculated.i = select i1 %switch.i, i64 %34, i64 %62
%.not = icmp eq i64 %.0.sroa.speculated.i, 0
br i1 %.not, label %120, label %122

Expand Down Expand Up @@ -2110,10 +2113,10 @@ define hidden noundef range(i32 0, 4) i32 @_ZN19brotli_decompressor6decode22Brot
br label %63

122: ; preds = %60
%123 = add nuw nsw i64 %.0.sroa.speculated.i, %61
%123 = add nsw i64 %.0.sroa.speculated.i, %61
%124 = call fastcc { ptr, i64 } @"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hb4d3929009b4e866E"(i64 noundef %61, i64 noundef %123, ptr noalias noundef nonnull align 1 %27, i64 noundef 8, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.ef1a8dfc954e6e945538d4598650d6d8.41)
%125 = extractvalue { ptr, i64 } %124, 1
%126 = add nuw nsw i64 %.0.sroa.speculated.i, %37
%126 = add nsw i64 %.0.sroa.speculated.i, %37
%127 = call fastcc { ptr, i64 } @"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hd69ca6984ea4b8f5E"(i64 noundef %37, i64 noundef %126, ptr noalias noundef nonnull readonly align 1 %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.ef1a8dfc954e6e945538d4598650d6d8.42)
%128 = extractvalue { ptr, i64 } %127, 1
call void @llvm.experimental.noalias.scope.decl(metadata !168)
Expand All @@ -2131,7 +2134,7 @@ define hidden noundef range(i32 0, 4) i32 @_ZN19brotli_decompressor6decode22Brot
call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 1 %131, ptr nonnull readonly align 1 %130, i64 %125, i1 false), !alias.scope !173, !noalias !174
%132 = load i32, ptr %51, align 4, !noundef !12
%133 = zext i32 %132 to i64
%134 = add nuw nsw i64 %.0.sroa.speculated.i, %133
%134 = add nsw i64 %.0.sroa.speculated.i, %133
%135 = call fastcc { ptr, i64 } @"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hb4d3929009b4e866E"(i64 noundef %133, i64 noundef %134, ptr noalias noundef nonnull align 1 %28, i64 noundef 8, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.ef1a8dfc954e6e945538d4598650d6d8.44)
%136 = extractvalue { ptr, i64 } %135, 1
%137 = call fastcc { ptr, i64 } @"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hd69ca6984ea4b8f5E"(i64 noundef %37, i64 noundef %126, ptr noalias noundef nonnull readonly align 1 %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.ef1a8dfc954e6e945538d4598650d6d8.45)
Expand Down Expand Up @@ -9419,6 +9422,9 @@ declare i64 @llvm.umin.i64(i64, i64) #23
; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite)
declare void @llvm.experimental.noalias.scope.decl(metadata) #24

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare range(i8 -1, 2) i8 @llvm.ucmp.i8.i64(i64, i64) #23

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

Expand Down
20 changes: 8 additions & 12 deletions bench/actix-rs/optimized/42v5lxq3f9icepvb.ll
Original file line number Diff line number Diff line change
Expand Up @@ -3976,18 +3976,16 @@ define internal fastcc void @"_ZN4core3ptr83drop_in_place$LT$actix_web..http..he
"_ZN4core3ptr65drop_in_place$LT$actix_http..header..shared..charset..Charset$GT$17h4981384417a3277fE.exit.i": ; preds = %"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h611556c63980c062E.llvm.1711877461099840233.exit.i.i1.i.i.i.i", %15
%19 = getelementptr inbounds nuw i8, ptr %0, i64 32
%.val5.i = load i64, ptr %19, align 8, !range !205, !alias.scope !1627, !noundef !5
switch i64 %.val5.i, label %"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h611556c63980c062E.llvm.1711877461099840233.exit.i.i1.i.i.i.i7.i" [
i64 -9223372036854775808, label %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i"
i64 0, label %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i"
]
%switch.i = icmp sgt i64 %.val5.i, 0
br i1 %switch.i, label %"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h611556c63980c062E.llvm.1711877461099840233.exit.i.i1.i.i.i.i7.i", label %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i"

"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h611556c63980c062E.llvm.1711877461099840233.exit.i.i1.i.i.i.i7.i": ; preds = %"_ZN4core3ptr65drop_in_place$LT$actix_http..header..shared..charset..Charset$GT$17h4981384417a3277fE.exit.i"
%20 = getelementptr inbounds nuw i8, ptr %0, i64 40
%.val6.i = load ptr, ptr %20, align 8, !alias.scope !1627, !nonnull !5, !noundef !5
tail call void @__rust_dealloc(ptr noundef nonnull %.val6.i, i64 noundef %.val5.i, i64 noundef 1) #20, !noalias !1640
br label %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i"

"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i": ; preds = %"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h611556c63980c062E.llvm.1711877461099840233.exit.i.i1.i.i.i.i7.i", %"_ZN4core3ptr65drop_in_place$LT$actix_http..header..shared..charset..Charset$GT$17h4981384417a3277fE.exit.i", %"_ZN4core3ptr65drop_in_place$LT$actix_http..header..shared..charset..Charset$GT$17h4981384417a3277fE.exit.i"
"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i": ; preds = %"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h611556c63980c062E.llvm.1711877461099840233.exit.i.i1.i.i.i.i7.i", %"_ZN4core3ptr65drop_in_place$LT$actix_http..header..shared..charset..Charset$GT$17h4981384417a3277fE.exit.i"
%21 = load i64, ptr %3, align 8, !alias.scope !1649, !noalias !1658, !noundef !5
%22 = icmp eq i64 %21, 0
br i1 %22, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h8b0b401650d5ef36E.exit3", label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h8b0b401650d5ef36E.exit3.sink.split"
Expand All @@ -4008,8 +4006,8 @@ define internal fastcc void @"_ZN4core3ptr83drop_in_place$LT$actix_web..http..he
br label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h8b0b401650d5ef36E.exit7"

"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h8b0b401650d5ef36E.exit3.sink.split": ; preds = %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i", %12, %9, %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i19", %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h8b0b401650d5ef36E.exit7"
%.sink = phi i64 [ 40, %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h8b0b401650d5ef36E.exit7" ], [ 40, %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i19" ], [ 16, %9 ], [ 16, %12 ], [ 16, %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i" ]
%.sink30 = phi i64 [ %31, %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h8b0b401650d5ef36E.exit7" ], [ %39, %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i19" ], [ %10, %9 ], [ %13, %12 ], [ %21, %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i" ]
%.sink = phi i64 [ 40, %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h8b0b401650d5ef36E.exit7" ], [ 40, %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i20" ], [ 16, %9 ], [ 16, %12 ], [ 16, %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i" ]
%.sink30 = phi i64 [ %31, %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h8b0b401650d5ef36E.exit7" ], [ %39, %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i20" ], [ %10, %9 ], [ %13, %12 ], [ %21, %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i" ]
%28 = getelementptr inbounds nuw i8, ptr %0, i64 %.sink
%29 = load ptr, ptr %28, align 8, !noalias !5, !nonnull !5, !noundef !5
tail call void @__rust_dealloc(ptr noundef nonnull %29, i64 noundef %.sink30, i64 noundef 1) #20, !noalias !5
Expand Down Expand Up @@ -4043,18 +4041,16 @@ define internal fastcc void @"_ZN4core3ptr83drop_in_place$LT$actix_web..http..he
"_ZN4core3ptr65drop_in_place$LT$actix_http..header..shared..charset..Charset$GT$17h4981384417a3277fE.exit.i17": ; preds = %"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h611556c63980c062E.llvm.1711877461099840233.exit.i.i1.i.i.i.i15", %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h8b0b401650d5ef36E.exit"
%37 = getelementptr inbounds nuw i8, ptr %0, i64 56
%.val5.i18 = load i64, ptr %37, align 8, !range !205, !alias.scope !1691, !noundef !5
switch i64 %.val5.i18, label %"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h611556c63980c062E.llvm.1711877461099840233.exit.i.i1.i.i.i.i7.i21" [
i64 -9223372036854775808, label %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i19"
i64 0, label %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i19"
]
%switch.i19 = icmp sgt i64 %.val5.i18, 0
br i1 %switch.i19, label %"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h611556c63980c062E.llvm.1711877461099840233.exit.i.i1.i.i.i.i7.i22", label %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i19"

"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h611556c63980c062E.llvm.1711877461099840233.exit.i.i1.i.i.i.i7.i21": ; preds = %"_ZN4core3ptr65drop_in_place$LT$actix_http..header..shared..charset..Charset$GT$17h4981384417a3277fE.exit.i17"
%38 = getelementptr inbounds nuw i8, ptr %0, i64 64
%.val6.i22 = load ptr, ptr %38, align 8, !alias.scope !1691, !nonnull !5, !noundef !5
tail call void @__rust_dealloc(ptr noundef nonnull %.val6.i22, i64 noundef %.val5.i18, i64 noundef 1) #20, !noalias !1703
br label %"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i19"

"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i19": ; preds = %"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h611556c63980c062E.llvm.1711877461099840233.exit.i.i1.i.i.i.i7.i21", %"_ZN4core3ptr65drop_in_place$LT$actix_http..header..shared..charset..Charset$GT$17h4981384417a3277fE.exit.i17", %"_ZN4core3ptr65drop_in_place$LT$actix_http..header..shared..charset..Charset$GT$17h4981384417a3277fE.exit.i17"
"_ZN4core3ptr75drop_in_place$LT$core..option..Option$LT$language_tags..LanguageTag$GT$$GT$17h26206ae64b851543E.exit8.i19": ; preds = %"_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17h611556c63980c062E.llvm.1711877461099840233.exit.i.i1.i.i.i.i7.i21", %"_ZN4core3ptr65drop_in_place$LT$actix_http..header..shared..charset..Charset$GT$17h4981384417a3277fE.exit.i17"
%39 = load i64, ptr %33, align 8, !alias.scope !1712, !noalias !1721, !noundef !5
%40 = icmp eq i64 %39, 0
br i1 %40, label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h8b0b401650d5ef36E.exit3", label %"_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h8b0b401650d5ef36E.exit3.sink.split"
Expand Down
7 changes: 5 additions & 2 deletions bench/actix-rs/optimized/5b5b50c31lqwwnuq.ll
Original file line number Diff line number Diff line change
Expand Up @@ -1194,7 +1194,10 @@ _ZN4core3ops8function6FnOnce9call_once17h1caa876bf058f9dcE.exit.i1.i.i.i: ; pred
call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.5)
call void @llvm.lifetime.end.p0(ptr nonnull %.sroa.713)
%77 = tail call i64 @llvm.uadd.sat.i64(i64 %64, i64 1)
%.0.sroa.speculated.i = tail call noundef range(i64 4, 0) i64 @llvm.umax.i64(i64 range(i64 1, 0) %77, i64 4)
%.0.sroa.speculated.i = tail call noundef range(i8 -1, 2) i8 @llvm.ucmp.i8.i64(i64 4, i64 range(i64 1, 0) %77)
%.off.i = add nsw i8 %.0.i.i.i, -1
%switch.i = icmp ult i8 %.off.i, -2
%.0.sroa.speculated.i = select i1 %switch.i, i64 4, i64 %77
%78 = invoke { i64, ptr } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17h1fa3be4e1bf8eb64E"(i64 noundef %.0.sroa.speculated.i, i1 noundef zeroext false)
to label %79 unwind label %74

Expand Down Expand Up @@ -5549,7 +5552,7 @@ declare void @llvm.lifetime.end.p0(ptr captures(none)) #11
declare void @llvm.experimental.noalias.scope.decl(metadata) #12

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.umax.i64(i64, i64) #13
declare range(i8 -1, 2) i8 @llvm.ucmp.i8.i64(i64, i64) #13

attributes #0 = { inlinehint nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" }
attributes #1 = { nonlazybind uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" }
Expand Down
Loading