Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pre-commit: PR116590 #1709

Closed
wants to merge 2 commits into from
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
58 changes: 29 additions & 29 deletions bench/icu/optimized/number_utils.ll
Original file line number Diff line number Diff line change
Expand Up @@ -1053,25 +1053,25 @@ entry:
%length = alloca i32, align 4
%point = alloca i32, align 4
%0 = tail call double @llvm.fabs.f64(double %d)
%or.cond = fcmp ueq double %0, 0x7FF0000000000000
br i1 %or.cond, label %if.then, label %if.end
%1 = fcmp ueq double %0, 0x7FF0000000000000
br i1 %1, label %if.then, label %if.end

if.then: ; preds = %entry
store i32 16, ptr %status, align 4
br label %return

if.end: ; preds = %entry
call void @_ZN6icu_7517double_conversion23DoubleToStringConverter13DoubleToAsciiEdNS1_8DtoaModeEiPciPbPiS5_(double noundef %d, i32 noundef 0, i32 noundef 0, ptr noundef nonnull %buffer, i32 noundef 23, ptr noundef nonnull %sign, ptr noundef nonnull %length, ptr noundef nonnull %point)
%1 = load i32, ptr %length, align 4
%cmp.i = icmp sgt i32 %1, 34
%2 = load i32, ptr %length, align 4
%cmp.i = icmp sgt i32 %2, 34
br i1 %cmp.i, label %if.then.i.i, label %if.end.if.end.i_crit_edge

if.end.if.end.i_crit_edge: ; preds = %if.end
%.pre = load ptr, ptr %this, align 8
br label %if.end.i

if.then.i.i: ; preds = %if.end
%narrow.i.i = add nuw i32 %1, 12
%narrow.i.i = add nuw i32 %2, 12
%add.i.i = zext i32 %narrow.i.i to i64
%call.i.i = call noalias ptr @uprv_malloc_75(i64 noundef %add.i.i) #12
%cmp2.not.i.i = icmp eq ptr %call.i.i, null
Expand All @@ -1081,8 +1081,8 @@ if.then.i.i: ; preds = %if.end
if.then3.i.i: ; preds = %if.then.i.i
call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 4 dereferenceable(12) %call.i.i, ptr noundef nonnull align 4 dereferenceable(12) %.pre6, i64 12, i1 false)
%needToRelease.i.i.i = getelementptr inbounds i8, ptr %this, i64 12
%2 = load i8, ptr %needToRelease.i.i.i, align 4
%tobool.not.i.i.i = icmp eq i8 %2, 0
%3 = load i8, ptr %needToRelease.i.i.i, align 4
%tobool.not.i.i.i = icmp eq i8 %3, 0
br i1 %tobool.not.i.i.i, label %_ZN6icu_7524MaybeStackHeaderAndArrayI9decNumbercLi34EE13releaseMemoryEv.exit.i.i, label %if.then.i.i.i

if.then.i.i.i: ; preds = %if.then3.i.i
Expand All @@ -1092,24 +1092,24 @@ if.then.i.i.i: ; preds = %if.then3.i.i
_ZN6icu_7524MaybeStackHeaderAndArrayI9decNumbercLi34EE13releaseMemoryEv.exit.i.i: ; preds = %if.then.i.i.i, %if.then3.i.i
store ptr %call.i.i, ptr %this, align 8
%capacity20.i.i = getelementptr inbounds i8, ptr %this, i64 8
store i32 %1, ptr %capacity20.i.i, align 8
store i32 %2, ptr %capacity20.i.i, align 8
store i8 1, ptr %needToRelease.i.i.i, align 4
br label %if.end.i

if.end.i: ; preds = %if.end.if.end.i_crit_edge, %_ZN6icu_7524MaybeStackHeaderAndArrayI9decNumbercLi34EE13releaseMemoryEv.exit.i.i, %if.then.i.i
%3 = phi ptr [ %.pre6, %if.then.i.i ], [ %call.i.i, %_ZN6icu_7524MaybeStackHeaderAndArrayI9decNumbercLi34EE13releaseMemoryEv.exit.i.i ], [ %.pre, %if.end.if.end.i_crit_edge ]
%.sink.i = phi i32 [ %1, %if.then.i.i ], [ %1, %_ZN6icu_7524MaybeStackHeaderAndArrayI9decNumbercLi34EE13releaseMemoryEv.exit.i.i ], [ 34, %if.end.if.end.i_crit_edge ]
%4 = phi ptr [ %.pre6, %if.then.i.i ], [ %call.i.i, %_ZN6icu_7524MaybeStackHeaderAndArrayI9decNumbercLi34EE13releaseMemoryEv.exit.i.i ], [ %.pre, %if.end.if.end.i_crit_edge ]
%.sink.i = phi i32 [ %2, %if.then.i.i ], [ %2, %_ZN6icu_7524MaybeStackHeaderAndArrayI9decNumbercLi34EE13releaseMemoryEv.exit.i.i ], [ 34, %if.end.if.end.i_crit_edge ]
%fContext2.i = getelementptr inbounds i8, ptr %this, i64 64
store i32 %.sink.i, ptr %fContext2.i, align 8
%call7.i = call ptr @uprv_decNumberFromString_75(ptr noundef %3, ptr noundef nonnull %buffer, ptr noundef nonnull %fContext2.i)
%call7.i = call ptr @uprv_decNumberFromString_75(ptr noundef %4, ptr noundef nonnull %buffer, ptr noundef nonnull %fContext2.i)
%status9.i = getelementptr inbounds i8, ptr %this, i64 84
%4 = load i32, ptr %status9.i, align 4
%and.i = and i32 %4, 1
%5 = load i32, ptr %status9.i, align 4
%and.i = and i32 %5, 1
%cmp10.not.i = icmp eq i32 %and.i, 0
br i1 %cmp10.not.i, label %if.else12.i, label %if.end18.sink.split.i

if.else12.i: ; preds = %if.end.i
%cmp15.not.i = icmp eq i32 %4, 0
%cmp15.not.i = icmp eq i32 %5, 0
br i1 %cmp15.not.i, label %_ZN6icu_756number4impl6DecNum6_setToEPKciR10UErrorCode.exit, label %if.end18.sink.split.i

if.end18.sink.split.i: ; preds = %if.else12.i, %if.end.i
Expand All @@ -1118,22 +1118,22 @@ if.end18.sink.split.i: ; preds = %if.else12.i, %if.en
br label %_ZN6icu_756number4impl6DecNum6_setToEPKciR10UErrorCode.exit

_ZN6icu_756number4impl6DecNum6_setToEPKciR10UErrorCode.exit: ; preds = %if.else12.i, %if.end18.sink.split.i
%5 = load i32, ptr %point, align 4
%6 = load i32, ptr %length, align 4
%sub = sub i32 %5, %6
%7 = load ptr, ptr %this, align 8
%exponent = getelementptr inbounds i8, ptr %7, i64 4
%8 = load i32, ptr %exponent, align 4
%add = add nsw i32 %sub, %8
%6 = load i32, ptr %point, align 4
%7 = load i32, ptr %length, align 4
%sub = sub i32 %6, %7
%8 = load ptr, ptr %this, align 8
%exponent = getelementptr inbounds i8, ptr %8, i64 4
%9 = load i32, ptr %exponent, align 4
%add = add nsw i32 %sub, %9
store i32 %add, ptr %exponent, align 4
%9 = bitcast double %d to i64
%10 = lshr i64 %9, 56
%11 = trunc nuw i64 %10 to i8
%conv9 = and i8 %11, -128
%12 = load ptr, ptr %this, align 8
%bits = getelementptr inbounds i8, ptr %12, i64 8
%13 = load i8, ptr %bits, align 4
%or = or i8 %13, %conv9
%10 = bitcast double %d to i64
%11 = lshr i64 %10, 56
%12 = trunc nuw i64 %11 to i8
%conv9 = and i8 %12, -128
%13 = load ptr, ptr %this, align 8
%bits = getelementptr inbounds i8, ptr %13, i64 8
%14 = load i8, ptr %bits, align 4
%or = or i8 %14, %conv9
store i8 %or, ptr %bits, align 4
br label %return

Expand Down
98 changes: 47 additions & 51 deletions bench/opencv/optimized/optical_flow_evaluation.cpp.ll
Original file line number Diff line number Diff line change
Expand Up @@ -4240,8 +4240,8 @@ define internal fastcc void @_ZL13endpointErrorRKN2cv4Mat_INS_6Point_IfEEEES5_(p
br i1 %20, label %.preheader, label %._crit_edge44

.preheader: ; preds = %.preheader.lr.ph, %._crit_edge
%21 = phi i32 [ %71, %._crit_edge ], [ %10, %.preheader.lr.ph ]
%22 = phi i32 [ %72, %._crit_edge ], [ %19, %.preheader.lr.ph ]
%21 = phi i32 [ %69, %._crit_edge ], [ %10, %.preheader.lr.ph ]
%22 = phi i32 [ %70, %._crit_edge ], [ %19, %.preheader.lr.ph ]
%indvars.iv47 = phi i64 [ %indvars.iv.next48, %._crit_edge ], [ 0, %.preheader.lr.ph ]
%23 = icmp sgt i32 %22, 0
br i1 %23, label %.lr.ph, label %._crit_edge
Expand All @@ -4268,69 +4268,65 @@ define internal fastcc void @_ZL13endpointErrorRKN2cv4Mat_INS_6Point_IfEEEES5_(p

39: ; preds = %.lr.ph
%.sroa.0.4.vec.extract.i = extractelement <2 x float> %30, i64 1
%40 = fcmp ord float %.sroa.0.4.vec.extract.i, 0.000000e+00
%41 = tail call float @llvm.fabs.f32(float %.sroa.0.0.vec.extract.i)
%42 = fcmp olt float %41, 1.000000e+09
%or.cond.i = and i1 %40, %42
%43 = tail call float @llvm.fabs.f32(float %.sroa.0.4.vec.extract.i)
%44 = fcmp olt float %43, 1.000000e+09
%or.cond = and i1 %44, %or.cond.i
br i1 %or.cond, label %45, label %_Z13isFlowCorrectN2cv6Point_IfEE.exit.thread

45: ; preds = %39
%40 = tail call float @llvm.fabs.f32(float %.sroa.0.0.vec.extract.i)
%41 = fcmp olt float %40, 1.000000e+09
%42 = tail call float @llvm.fabs.f32(float %.sroa.0.4.vec.extract.i)
%43 = fcmp olt float %42, 1.000000e+09
%or.cond = and i1 %43, %41
br i1 %or.cond, label %44, label %_Z13isFlowCorrectN2cv6Point_IfEE.exit.thread

44: ; preds = %39
%.sroa.0.0.vec.extract.i25 = extractelement <2 x float> %37, i64 0
%46 = fcmp ord float %.sroa.0.0.vec.extract.i25, 0.000000e+00
br i1 %46, label %47, label %_Z13isFlowCorrectN2cv6Point_IfEE.exit.thread
%45 = fcmp ord float %.sroa.0.0.vec.extract.i25, 0.000000e+00
br i1 %45, label %46, label %_Z13isFlowCorrectN2cv6Point_IfEE.exit.thread

47: ; preds = %45
46: ; preds = %44
%.sroa.0.4.vec.extract.i26 = extractelement <2 x float> %37, i64 1
%48 = fcmp ord float %.sroa.0.4.vec.extract.i26, 0.000000e+00
%49 = tail call float @llvm.fabs.f32(float %.sroa.0.0.vec.extract.i25)
%47 = tail call float @llvm.fabs.f32(float %.sroa.0.0.vec.extract.i25)
%48 = fcmp olt float %47, 1.000000e+09
%49 = tail call float @llvm.fabs.f32(float %.sroa.0.4.vec.extract.i26)
%50 = fcmp olt float %49, 1.000000e+09
%or.cond.i27 = and i1 %48, %50
%51 = tail call float @llvm.fabs.f32(float %.sroa.0.4.vec.extract.i26)
%52 = fcmp olt float %51, 1.000000e+09
%or.cond41 = and i1 %52, %or.cond.i27
br i1 %or.cond41, label %53, label %_Z13isFlowCorrectN2cv6Point_IfEE.exit.thread

53: ; preds = %47
%54 = fsub <2 x float> %30, %37
%55 = extractelement <2 x float> %54, i64 0
%56 = fsub float %.sroa.0.4.vec.extract.i, %.sroa.0.4.vec.extract.i26
%57 = fpext float %55 to double
%58 = fpext float %56 to double
%59 = fmul double %58, %58
%60 = tail call noundef double @llvm.fmuladd.f64(double %57, double %57, double %59)
%61 = fptrunc double %60 to float
%sqrt = tail call float @llvm.sqrt.f32(float %61)
%or.cond41 = and i1 %50, %48
br i1 %or.cond41, label %51, label %_Z13isFlowCorrectN2cv6Point_IfEE.exit.thread

51: ; preds = %46
%52 = fsub <2 x float> %30, %37
%53 = extractelement <2 x float> %52, i64 0
%54 = fsub float %.sroa.0.4.vec.extract.i, %.sroa.0.4.vec.extract.i26
%55 = fpext float %53 to double
%56 = fpext float %54 to double
%57 = fmul double %56, %56
%58 = tail call noundef double @llvm.fmuladd.f64(double %55, double %55, double %57)
%59 = fptrunc double %58 to float
%sqrt = tail call float @llvm.sqrt.f32(float %59)
br label %_Z13isFlowCorrectN2cv6Point_IfEE.exit.thread

_Z13isFlowCorrectN2cv6Point_IfEE.exit.thread: ; preds = %39, %.lr.ph, %47, %45, %53
%sqrt.sink = phi float [ %sqrt, %53 ], [ 0x7FF8000000000000, %45 ], [ 0x7FF8000000000000, %47 ], [ 0x7FF8000000000000, %.lr.ph ], [ 0x7FF8000000000000, %39 ]
%62 = load ptr, ptr %17, align 8
%63 = load ptr, ptr %18, align 8
%64 = load i64, ptr %63, align 8
%65 = mul i64 %64, %indvars.iv47
%66 = getelementptr inbounds i8, ptr %62, i64 %65
%67 = getelementptr inbounds float, ptr %66, i64 %indvars.iv
store float %sqrt.sink, ptr %67, align 4
_Z13isFlowCorrectN2cv6Point_IfEE.exit.thread: ; preds = %39, %.lr.ph, %46, %44, %51
%sqrt.sink = phi float [ %sqrt, %51 ], [ 0x7FF8000000000000, %44 ], [ 0x7FF8000000000000, %46 ], [ 0x7FF8000000000000, %.lr.ph ], [ 0x7FF8000000000000, %39 ]
%60 = load ptr, ptr %17, align 8
%61 = load ptr, ptr %18, align 8
%62 = load i64, ptr %61, align 8
%63 = mul i64 %62, %indvars.iv47
%64 = getelementptr inbounds i8, ptr %60, i64 %63
%65 = getelementptr inbounds float, ptr %64, i64 %indvars.iv
store float %sqrt.sink, ptr %65, align 4
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
%68 = load i32, ptr %12, align 4
%69 = sext i32 %68 to i64
%70 = icmp slt i64 %indvars.iv.next, %69
br i1 %70, label %.lr.ph, label %._crit_edge.loopexit, !llvm.loop !24
%66 = load i32, ptr %12, align 4
%67 = sext i32 %66 to i64
%68 = icmp slt i64 %indvars.iv.next, %67
br i1 %68, label %.lr.ph, label %._crit_edge.loopexit, !llvm.loop !24

._crit_edge.loopexit: ; preds = %_Z13isFlowCorrectN2cv6Point_IfEE.exit.thread
%.pre = load i32, ptr %9, align 8
br label %._crit_edge

._crit_edge: ; preds = %._crit_edge.loopexit, %.preheader
%71 = phi i32 [ %.pre, %._crit_edge.loopexit ], [ %21, %.preheader ]
%72 = phi i32 [ %68, %._crit_edge.loopexit ], [ %22, %.preheader ]
%69 = phi i32 [ %.pre, %._crit_edge.loopexit ], [ %21, %.preheader ]
%70 = phi i32 [ %66, %._crit_edge.loopexit ], [ %22, %.preheader ]
%indvars.iv.next48 = add nuw nsw i64 %indvars.iv47, 1
%73 = sext i32 %71 to i64
%74 = icmp slt i64 %indvars.iv.next48, %73
br i1 %74, label %.preheader, label %._crit_edge44, !llvm.loop !26
%71 = sext i32 %69 to i64
%72 = icmp slt i64 %indvars.iv.next48, %71
br i1 %72, label %.preheader, label %._crit_edge44, !llvm.loop !26

._crit_edge44: ; preds = %._crit_edge, %.preheader.lr.ph, %3
ret void
Expand Down
Loading