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
2 changes: 1 addition & 1 deletion bench/abc/optimized/sclLibScl.ll
Original file line number Diff line number Diff line change
Expand Up @@ -711,7 +711,7 @@ switch.lookup: ; preds = %Vec_PtrPush.exit130
store i32 %switch.offset, ptr %293, align 8, !tbaa !49
br label %294

294: ; preds = %Vec_PtrPush.exit130.i, %switch.lookup
294: ; preds = %switch.lookup, %Vec_PtrPush.exit130.i
%295 = getelementptr inbounds nuw i8, ptr %259, i64 24
tail call fastcc void @Abc_SclReadSurfaceGenlib(ptr noundef nonnull %295)
%296 = getelementptr inbounds nuw i8, ptr %259, i64 200
Expand Down
2 changes: 1 addition & 1 deletion bench/abseil-cpp/optimized/time_zone_info.ll
Original file line number Diff line number Diff line change
Expand Up @@ -556,7 +556,7 @@ _ZN4absl13time_internal4cctz12_GLOBAL__N_16IsLeapEl.exit: ; preds = %100, %114,
%121 = call noundef i64 @_ZN4absl13time_internal4cctz6detailmiENS2_10civil_timeINS2_10second_tagEEES5_(i64 %110, i64 %.sroa.2.0.copyload, i64 1970, i64 257) #25
%122 = call noundef i32 @_ZN4absl13time_internal4cctz6detail11get_weekdayERKNS2_10civil_timeINS2_10second_tagEEE(ptr noundef nonnull align 8 dereferenceable(16) %6) #25
%123 = icmp ult i32 %122, 6
%switch.offset = add nsw i32 %122, 1
%switch.offset = add nuw nsw i32 %122, 1
%.0.i51 = select i1 %123, i32 %switch.offset, i32 0
call void @llvm.lifetime.start.p0(ptr nonnull %7)
store i64 0, ptr %7, align 8, !tbaa !62
Expand Down
78 changes: 40 additions & 38 deletions bench/actix-rs/optimized/3ueqfq5tvn084yrz.ll
Original file line number Diff line number Diff line change
Expand Up @@ -1180,32 +1180,32 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17hc03768d9a395e558E(ptr no
br label %9

9: ; preds = %.lr.ph, %38
%.sroa.0.029 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.123, %38 ]
%.sroa.4.028 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.121, %38 ]
%.sroa.0.029 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.123, %40 ]
%.sroa.4.028 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.121, %40 ]
call void @llvm.lifetime.start.p0(ptr nonnull %5)
call void @"_ZN69_$LT$std..sys..pal..unix..stdio..Stderr$u20$as$u20$std..io..Write$GT$5write17h4a26ce9e715ee60dE"(ptr noalias noundef nonnull sret({ i64, [1 x i64] }) align 8 captures(none) dereferenceable(16) %5, ptr noalias noundef nonnull align 1 %0, ptr noalias noundef nonnull readonly align 1 %.sroa.0.029, i64 noundef %.sroa.4.028)
%10 = load i64, ptr %5, align 8, !range !64, !noundef !13
%trunc = trunc nuw i64 %10 to i1
br i1 %trunc, label %14, label %11

.loopexit: ; preds = %38, %3, %31
%.0 = phi ptr [ %.1, %31 ], [ null, %3 ], [ null, %38 ]
.loopexit: ; preds = %38, %3, %28
%.0 = phi ptr [ %.1, %28 ], [ null, %3 ], [ null, %40 ]
ret ptr %.0

11: ; preds = %9
%12 = load i64, ptr %7, align 8, !noundef !13
%13 = icmp eq i64 %12, 0
br i1 %13, label %31, label %29
br i1 %13, label %28, label %26

14: ; preds = %9
%.val = load ptr, ptr %7, align 8, !nonnull !13, !noundef !13
%15 = ptrtoint ptr %.val to i64
%16 = and i64 %15, 3
switch i64 %16, label %default.unreachable [
i64 2, label %17
i64 3, label %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit
i64 0, label %19
i64 1, label %23
i64 3, label %19
i64 0, label %22
i64 1, label %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit
]

default.unreachable: ; preds = %14
Expand All @@ -1214,47 +1214,49 @@ default.unreachable: ; preds = %14
17: ; preds = %14
%.mask.i = and i64 %15, -4294967296
%18 = icmp eq i64 %.mask.i, 17179869184
br i1 %18, label %.thread, label %31
br i1 %18, label %.thread, label %28

19: ; preds = %14
%20 = getelementptr inbounds nuw i8, ptr %.val, i64 16
%21 = load i8, ptr %20, align 8, !range !159, !noundef !13
%22 = icmp eq i8 %21, 35
br i1 %22, label %.thread, label %31

23: ; preds = %14
%24 = getelementptr i8, ptr %.val, i64 -1
%25 = icmp ne ptr %24, null
call void @llvm.assume(i1 %25)
%26 = getelementptr i8, ptr %.val, i64 15
%27 = load i8, ptr %26, align 8, !range !159, !noundef !13
%28 = icmp eq i8 %27, 35
br i1 %28, label %.thread, label %31

29: ; preds = %11
%30 = icmp ugt i64 %12, %.sroa.4.028
br i1 %30, label %32, label %33

31: ; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %17, %19, %23, %11
%.1 = phi ptr [ @anon.4e4ce79e546a1f97570f61bfed09cf29.22, %11 ], [ %.val, %23 ], [ %.val, %19 ], [ %.val, %17 ], [ %.val, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit ]
%20 = icmp ult ptr %.val, inttoptr (i64 176093659136 to ptr)
call void @llvm.assume(i1 %20)
%.mask.i = and i64 %15, -4294967296
%21 = icmp eq i64 %.mask.i, 150323855360
br i1 %21, label %.thread, label %28

22:; preds = %14
%23 = getelementptr inbounds nuw i8, ptr %.val, i64 16
%24 = load i8, ptr %23, align 8, !range !159, !noundef !13
%25 = icmp eq i8 %24, 35
br i1 %25, label %.thread, label %28

26: ; preds = %11
%27 = icmp ugt i64 %12, %.sroa.4.028
br i1 %27, label %29, label %30

28:; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %17, %19, %22, %11
%.1 = phi ptr [ @anon.4e4ce79e546a1f97570f61bfed09cf29.22, %11 ], [ %.val, %22 ], [ %.val, %19 ], [ %.val, %17 ], [ %.val, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit ]
call void @llvm.lifetime.end.p0(ptr nonnull %5)
br label %.loopexit

32: ; preds = %29
32: ; preds = %26
call void @_ZN4core5slice5index26slice_start_index_len_fail17h6f35008186d11abeE(i64 noundef %12, i64 noundef %.sroa.4.028, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.4e4ce79e546a1f97570f61bfed09cf29.24) #18
unreachable

33: ; preds = %29
33: ; preds = %26
%34 = sub nuw i64 %.sroa.4.028, %12
%35 = getelementptr inbounds i8, ptr %.sroa.0.029, i64 %12
br label %38

_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit: ; preds = %14
%.mask20.i = and i64 %15, -4294967296
%switch.i = icmp eq i64 %.mask20.i, 150323855360
br i1 %switch.i, label %.thread, label %31

.thread: ; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %17, %19, %23
%33 = getelementptr i8, ptr %.val, i64 -1
%switch.i = icmp ne ptr %33, null
call void @llvm.assume(i1 %switch.i)
%35 = getelementptr i8, ptr %.val, i64 15
%36 = load i8, ptr %35, align 8, !range !159, !noundef !13
%37 = icmp eq i8 %36, 35
br i1 %37, label %.thread, label %28

.thread: ; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %17, %19, %22
call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !160
call void @_ZN3std2io5error14repr_bitpacked11decode_repr17hdd5b60cb612d340dE.llvm.8740116509709696285(ptr noalias noundef nonnull sret({ i8, [15 x i8] }) align 8 captures(none) dereferenceable(16) %4, ptr noundef nonnull %.val), !noalias !160
%36 = load i8, ptr %4, align 8, !range !25, !alias.scope !167, !noalias !160, !noundef !13
Expand All @@ -1270,8 +1272,8 @@ _ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit: ; preds = %14
br label %38

38: ; preds = %33, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hb63a43ab35d8a683E.exit"
%.sroa.0.123 = phi ptr [ %.sroa.0.029, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hb63a43ab35d8a683E.exit" ], [ %35, %33 ]
%.sroa.4.121 = phi i64 [ %.sroa.4.028, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hb63a43ab35d8a683E.exit" ], [ %34, %33 ]
%.sroa.0.123 = phi ptr [ %.sroa.0.029, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hb63a43ab35d8a683E.exit" ], [ %35, %30 ]
%.sroa.4.121 = phi i64 [ %.sroa.4.028, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17hb63a43ab35d8a683E.exit" ], [ %34, %30 ]
call void @llvm.lifetime.end.p0(ptr nonnull %5)
%39 = icmp eq i64 %.sroa.4.121, 0
br i1 %39, label %.loopexit, label %9
Expand Down
122 changes: 63 additions & 59 deletions bench/actix-rs/optimized/4pmtvrahn6eloepe.ll
Original file line number Diff line number Diff line change
Expand Up @@ -602,7 +602,7 @@ _ZN6brotli3enc6writer9write_all17h1e544642aa2474c9E.exit.i.i: ; preds = %27
unreachable

.loopexit: ; preds = %45, %41, %39, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %.thread40, %3
%.0 = phi ptr [ null, %3 ], [ null, %.thread40 ], [ %33, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit ], [ %33, %39 ], [ %33, %41 ], [ %33, %45 ]
%.0 = phi ptr [ null, %3 ], [ null, %.thread40 ], [ %33, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit ], [ %33, %39 ], [ %33, %41 ], [ %33, %44 ]
ret ptr %.0

.thread40: ; preds = %30
Expand All @@ -619,9 +619,9 @@ _ZN6brotli3enc6writer9write_all17h1e544642aa2474c9E.exit.i.i: ; preds = %27
%38 = and i64 %37, 3
switch i64 %38, label %default.unreachable [
i64 2, label %39
i64 3, label %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit
i64 0, label %41
i64 1, label %45
i64 3, label %41
i64 0, label %44
i64 1, label %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit
]

default.unreachable: ; preds = %36
Expand All @@ -633,26 +633,28 @@ default.unreachable: ; preds = %36
br i1 %40, label %.thread, label %.loopexit

41: ; preds = %36
%42 = getelementptr inbounds nuw i8, ptr %33, i64 16
%43 = load i8, ptr %42, align 8, !range !53, !noundef !13
%44 = icmp eq i8 %43, 35
br i1 %44, label %.thread, label %.loopexit
%42 = icmp ult ptr %33, inttoptr (i64 176093659136 to ptr)
call void @llvm.assume(i1 %42)
%.mask.i = and i64 %37, -4294967296
%43 = icmp eq i64 %.mask.i, 150323855360
br i1 %43, label %.thread, label %.loopexit

45: ; preds = %36
%46 = getelementptr i8, ptr %33, i64 -1
%47 = icmp ne ptr %46, null
call void @llvm.assume(i1 %47)
%48 = getelementptr i8, ptr %33, i64 15
%49 = load i8, ptr %48, align 8, !range !53, !noundef !13
%50 = icmp eq i8 %49, 35
br i1 %50, label %.thread, label %.loopexit
%46 = getelementptr inbounds nuw i8, ptr %33, i64 16
%46 = load i8, ptr %46, align 8, !range !53, !noundef !13
%47 = icmp eq i8 %46, 35
br i1 %47, label %.thread, label %.loopexit

_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit: ; preds = %36
%.mask20.i = and i64 %37, -4294967296
%switch.i = icmp eq i64 %.mask20.i, 150323855360
br i1 %switch.i, label %.thread, label %.loopexit

.thread: ; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %39, %41, %45
%48 = getelementptr i8, ptr %33, i64 -1
%switch.i = icmp ne ptr %48, null
call void @llvm.assume(i1 %switch.i)
%50 = getelementptr i8, ptr %33, i64 15
%51 = load i8, ptr %50, align 8, !range !53, !noundef !13
%52 = icmp eq i8 %51, 35
br i1 %52, label %.thread, label %.loopexit

.thread: ; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %39, %41, %44
call void @llvm.lifetime.start.p0(ptr nonnull %5), !noalias !54
call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h9a1475dffe9770cdE.llvm.14998522591088738574(ptr noalias noundef nonnull sret({ i8, [15 x i8] }) align 8 captures(none) dereferenceable(16) %5, ptr noundef nonnull %33), !noalias !54
%51 = load i8, ptr %5, align 8, !range !61, !alias.scope !62, !noalias !54, !noundef !13
Expand Down Expand Up @@ -681,32 +683,32 @@ define hidden noundef ptr @_ZN3std2io5Write9write_all17h7556793b4acb064fE(ptr no
br label %9

9: ; preds = %.lr.ph, %38
%.sroa.0.029 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.123, %38 ]
%.sroa.4.028 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.121, %38 ]
%.sroa.0.029 = phi ptr [ %1, %.lr.ph ], [ %.sroa.0.123, %40 ]
%.sroa.4.028 = phi i64 [ %2, %.lr.ph ], [ %.sroa.4.121, %40 ]
call void @llvm.lifetime.start.p0(ptr nonnull %5)
call void @"_ZN69_$LT$std..sys..pal..unix..stdio..Stderr$u20$as$u20$std..io..Write$GT$5write17h4a26ce9e715ee60dE"(ptr noalias noundef nonnull sret({ i64, [1 x i64] }) align 8 captures(none) dereferenceable(16) %5, ptr noalias noundef nonnull align 1 %0, ptr noalias noundef nonnull readonly align 1 %.sroa.0.029, i64 noundef %.sroa.4.028)
%10 = load i64, ptr %5, align 8, !range !65, !noundef !13
%trunc = trunc nuw i64 %10 to i1
br i1 %trunc, label %14, label %11

.loopexit: ; preds = %38, %3, %31
%.0 = phi ptr [ %.1, %31 ], [ null, %3 ], [ null, %38 ]
.loopexit: ; preds = %38, %3, %28
%.0 = phi ptr [ %.1, %28 ], [ null, %3 ], [ null, %40 ]
ret ptr %.0

11: ; preds = %9
%12 = load i64, ptr %7, align 8, !noundef !13
%13 = icmp eq i64 %12, 0
br i1 %13, label %31, label %29
br i1 %13, label %28, label %26

14: ; preds = %9
%.val = load ptr, ptr %7, align 8, !nonnull !13, !noundef !13
%15 = ptrtoint ptr %.val to i64
%16 = and i64 %15, 3
switch i64 %16, label %default.unreachable [
i64 2, label %17
i64 3, label %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit
i64 0, label %19
i64 1, label %23
i64 3, label %19
i64 0, label %22
i64 1, label %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit
]

default.unreachable: ; preds = %14
Expand All @@ -715,47 +717,49 @@ default.unreachable: ; preds = %14
17: ; preds = %14
%.mask.i = and i64 %15, -4294967296
%18 = icmp eq i64 %.mask.i, 17179869184
br i1 %18, label %.thread, label %31
br i1 %18, label %.thread, label %28

19: ; preds = %14
%20 = getelementptr inbounds nuw i8, ptr %.val, i64 16
%21 = load i8, ptr %20, align 8, !range !53, !noundef !13
%22 = icmp eq i8 %21, 35
br i1 %22, label %.thread, label %31
%20 = icmp ult ptr %.val, inttoptr (i64 176093659136 to ptr)
call void @llvm.assume(i1 %20)
%.mask.i = and i64 %15, -4294967296
%21 = icmp eq i64 %.mask.i, 150323855360
br i1 %21, label %.thread, label %28

23: ; preds = %14
%24 = getelementptr i8, ptr %.val, i64 -1
%25 = icmp ne ptr %24, null
call void @llvm.assume(i1 %25)
%26 = getelementptr i8, ptr %.val, i64 15
%27 = load i8, ptr %26, align 8, !range !53, !noundef !13
%28 = icmp eq i8 %27, 35
br i1 %28, label %.thread, label %31

29: ; preds = %11
%30 = icmp ugt i64 %12, %.sroa.4.028
br i1 %30, label %32, label %33

31: ; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %17, %19, %23, %11
%.1 = phi ptr [ @anon.854811f44bca550c56cb6f681a6a9a44.12, %11 ], [ %.val, %23 ], [ %.val, %19 ], [ %.val, %17 ], [ %.val, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit ]
%24 = getelementptr inbounds nuw i8, ptr %.val, i64 16
%24 = load i8, ptr %24, align 8, !range !53, !noundef !13
%25 = icmp eq i8 %24, 35
br i1 %25, label %.thread, label %28

26:; preds = %11
%27 = icmp ugt i64 %12, %.sroa.4.028
br i1 %27, label %29, label %30

28:; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %17, %19, %22, %11
%.1 = phi ptr [ @anon.854811f44bca550c56cb6f681a6a9a44.12, %11 ], [ %.val, %22 ], [ %.val, %19 ], [ %.val, %17 ], [ %.val, %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit ]
call void @llvm.lifetime.end.p0(ptr nonnull %5)
br label %.loopexit

32: ; preds = %29
32: ; preds = %26
call void @_ZN4core5slice5index26slice_start_index_len_fail17h6f35008186d11abeE(i64 noundef %12, i64 noundef %.sroa.4.028, ptr noalias noundef readonly align 8 dereferenceable(24) @anon.854811f44bca550c56cb6f681a6a9a44.14) #31
unreachable

33: ; preds = %29
33: ; preds = %26
%34 = sub nuw i64 %.sroa.4.028, %12
%35 = getelementptr inbounds i8, ptr %.sroa.0.029, i64 %12
br label %38

_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit: ; preds = %14
%.mask20.i = and i64 %15, -4294967296
%switch.i = icmp eq i64 %.mask20.i, 150323855360
br i1 %switch.i, label %.thread, label %31

.thread: ; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %17, %19, %23
%33 = getelementptr i8, ptr %.val, i64 -1
%switch.i = icmp ne ptr %33, null
call void @llvm.assume(i1 %switch.i)
%35 = getelementptr i8, ptr %.val, i64 15
%36 = load i8, ptr %35, align 8, !range !53, !noundef !13
%37 = icmp eq i8 %36, 35
br i1 %37, label %.thread, label %28

.thread: ; preds = %_ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit, %17, %19, %22
call void @llvm.lifetime.start.p0(ptr nonnull %4), !noalias !66
call void @_ZN3std2io5error14repr_bitpacked11decode_repr17h9a1475dffe9770cdE.llvm.14998522591088738574(ptr noalias noundef nonnull sret({ i8, [15 x i8] }) align 8 captures(none) dereferenceable(16) %4, ptr noundef nonnull %.val), !noalias !66
%36 = load i8, ptr %4, align 8, !range !61, !alias.scope !73, !noalias !66, !noundef !13
Expand All @@ -771,8 +775,8 @@ _ZN3std2io5error5Error14is_interrupted17haa138aed658ec797E.exit: ; preds = %14
br label %38

38: ; preds = %33, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit"
%.sroa.0.123 = phi ptr [ %.sroa.0.029, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" ], [ %35, %33 ]
%.sroa.4.121 = phi i64 [ %.sroa.4.028, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" ], [ %34, %33 ]
%.sroa.0.123 = phi ptr [ %.sroa.0.029, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" ], [ %35, %30 ]
%.sroa.4.121 = phi i64 [ %.sroa.4.028, %"_ZN4core3ptr42drop_in_place$LT$std..io..error..Error$GT$17h5ad080ef8b5853c3E.exit" ], [ %34, %30 ]
call void @llvm.lifetime.end.p0(ptr nonnull %5)
%39 = icmp eq i64 %.sroa.4.121, 0
br i1 %39, label %.loopexit, label %9
Expand Down Expand Up @@ -11057,12 +11061,12 @@ declare void @llvm.experimental.noalias.scope.decl(metadata) #29
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare range(i8 -1, 2) i8 @llvm.ucmp.i8.i64(i64, i64) #28

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memmove.p0.p0.i64(ptr writeonly captures(none), ptr readonly captures(none), i64, i1 immarg) #30

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memmove.p0.p0.i64(ptr writeonly captures(none), ptr readonly captures(none), i64, i1 immarg) #30

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

Expand Down
Loading