|
--- bench_log1mx_taylor-HEAD~0.ll 2018-07-18 00:09:10.691657082 -0700 |
|
+++ bench_log1mx_taylor-HEAD~1.ll 2018-07-18 00:09:28.875961410 -0700 |
|
@@ -1,16 +1,16 @@ |
|
-Revision: 6d0eb49e3ef74d2e97c7075af088f3ef1590a43e |
|
+Revision: 3f62885ecf2523c7e0707863a2c11ccf93fccc5f |
|
|
|
|
|
-define void @julia_log1mx_taylor_62988(%Dual.67* noalias nocapture sret, i64, %Dual.67* nocapture readonly dereferenceable(32)) #0 !dbg !5 { |
|
+define void @julia_log1mx_taylor_62984(%Dual.66* noalias nocapture sret, i64, %Dual.66* nocapture readonly dereferenceable(32)) #0 !dbg !5 { |
|
top: |
|
- %3 = getelementptr inbounds %Dual.67, %Dual.67* %2, i64 0, i32 1, i32 0, i64 0 |
|
+ %3 = getelementptr inbounds %Dual.66, %Dual.66* %2, i64 0, i32 1, i32 0, i64 0 |
|
%4 = bitcast double* %3 to <2 x double>* |
|
%5 = load <2 x double>, <2 x double>* %4, align 8 |
|
%6 = fsub <2 x double> <double -0.000000e+00, double -0.000000e+00>, %5 |
|
- %7 = getelementptr inbounds %Dual.67, %Dual.67* %2, i64 0, i32 1, i32 0, i64 2 |
|
+ %7 = getelementptr inbounds %Dual.66, %Dual.66* %2, i64 0, i32 1, i32 0, i64 2 |
|
%8 = load double, double* %7, align 8 |
|
%9 = fsub double -0.000000e+00, %8 |
|
- %10 = getelementptr inbounds %Dual.67, %Dual.67* %2, i64 0, i32 0 |
|
+ %10 = getelementptr inbounds %Dual.66, %Dual.66* %2, i64 0, i32 0 |
|
%11 = load double, double* %10, align 8 |
|
%12 = fsub double -0.000000e+00, %11 |
|
%13 = bitcast double %12 to i64 |
|
@@ -25,14 +25,14 @@ |
|
%22 = icmp slt i64 %20, 1 |
|
br label %L26.outer |
|
|
|
-L26.outer.loopexit: ; preds = %L181 |
|
+L26.outer.loopexit: ; preds = %L116 |
|
br label %L26.outer |
|
|
|
L26.outer: ; preds = %L26.outer.loopexit, %top |
|
%"#temp#.0.ph" = phi i64 [ 0, %top ], [ %28, %L26.outer.loopexit ] |
|
- %y.sroa.0.0.ph = phi i64 [ %13, %top ], [ %55, %L26.outer.loopexit ] |
|
- %y.sroa.4.sroa.5.0.ph = phi double [ %9, %top ], [ %52, %L26.outer.loopexit ] |
|
- %23 = phi <2 x double> [ %6, %top ], [ %51, %L26.outer.loopexit ] |
|
+ %y.sroa.0.0.ph = phi i64 [ %13, %top ], [ %54, %L26.outer.loopexit ] |
|
+ %y.sroa.4.sroa.5.0.ph = phi double [ %9, %top ], [ %51, %L26.outer.loopexit ] |
|
+ %23 = phi <2 x double> [ %6, %top ], [ %50, %L26.outer.loopexit ] |
|
br i1 %17, label %L26.outer.split.us, label %L26.outer.L26.outer.split_crit_edge |
|
|
|
L26.outer.L26.outer.split_crit_edge: ; preds = %L26.outer |
|
@@ -40,93 +40,92 @@ |
|
|
|
L26.outer.split.us: ; preds = %L26.outer |
|
%24 = icmp eq i64 %"#temp#.0.ph", 1 |
|
- br i1 %24, label %L243, label %if16 |
|
+ br i1 %24, label %L203, label %if13 |
|
|
|
L26.outer.split.L26.outer.split.split_crit_edge: ; preds = %L26.outer.L26.outer.split_crit_edge |
|
- br i1 %22, label %L243.loopexit, label %L26.outer.split.split.L26.outer.split.split.split_crit_edge |
|
+ br i1 %22, label %L203.loopexit, label %L26.outer.split.split.L26.outer.split.split.split_crit_edge |
|
|
|
L26.outer.split.split.us: ; preds = %L26.outer.L26.outer.split_crit_edge |
|
%25 = icmp eq i64 %"#temp#.0.ph", 1 |
|
- br i1 %25, label %L243, label %if17 |
|
+ br i1 %25, label %L203, label %if14 |
|
|
|
L26.outer.split.split.L26.outer.split.split.split_crit_edge: ; preds = %L26.outer.split.L26.outer.split.split_crit_edge |
|
%26 = icmp eq i64 %"#temp#.0.ph", 1 |
|
- br i1 %26, label %L243.loopexit, label %if21.lr.ph |
|
+ br i1 %26, label %L203.loopexit, label %if18.lr.ph |
|
|
|
-L243.loopexit: ; preds = %L26.outer.split.L26.outer.split.split_crit_edge, %L26.outer.split.split.L26.outer.split.split.split_crit_edge |
|
- br label %L243 |
|
+L203.loopexit: ; preds = %L26.outer.split.L26.outer.split.split_crit_edge, %L26.outer.split.split.L26.outer.split.split.split_crit_edge |
|
+ br label %L203 |
|
|
|
-L243: ; preds = %L243.loopexit, %L26.outer.split.us, %L26.outer.split.split.us |
|
- %y.sroa.0.0..sroa_cast39 = bitcast %Dual.67* %0 to i64* |
|
- store i64 %y.sroa.0.0.ph, i64* %y.sroa.0.0..sroa_cast39, align 8 |
|
- %y.sroa.4.sroa.0.0.y.sroa.4.0..sroa_cast45.sroa_idx = getelementptr inbounds %Dual.67, %Dual.67* %0, i64 0, i32 1, i32 0, i64 0 |
|
- %27 = bitcast double* %y.sroa.4.sroa.0.0.y.sroa.4.0..sroa_cast45.sroa_idx to <2 x double>* |
|
+L203: ; preds = %L203.loopexit, %L26.outer.split.us, %L26.outer.split.split.us |
|
+ %y.sroa.0.0..sroa_cast31 = bitcast %Dual.66* %0 to i64* |
|
+ store i64 %y.sroa.0.0.ph, i64* %y.sroa.0.0..sroa_cast31, align 8 |
|
+ %y.sroa.4.sroa.0.0.y.sroa.4.0..sroa_cast37.sroa_idx = getelementptr inbounds %Dual.66, %Dual.66* %0, i64 0, i32 1, i32 0, i64 0 |
|
+ %27 = bitcast double* %y.sroa.4.sroa.0.0.y.sroa.4.0..sroa_cast37.sroa_idx to <2 x double>* |
|
store <2 x double> %23, <2 x double>* %27, align 8 |
|
- %y.sroa.4.sroa.5.0.y.sroa.4.0..sroa_cast45.sroa_idx70 = getelementptr inbounds %Dual.67, %Dual.67* %0, i64 0, i32 1, i32 0, i64 2 |
|
- store double %y.sroa.4.sroa.5.0.ph, double* %y.sroa.4.sroa.5.0.y.sroa.4.0..sroa_cast45.sroa_idx70, align 8 |
|
+ %y.sroa.4.sroa.5.0.y.sroa.4.0..sroa_cast37.sroa_idx62 = getelementptr inbounds %Dual.66, %Dual.66* %0, i64 0, i32 1, i32 0, i64 2 |
|
+ store double %y.sroa.4.sroa.5.0.ph, double* %y.sroa.4.sroa.5.0.y.sroa.4.0..sroa_cast37.sroa_idx62, align 8 |
|
ret void |
|
|
|
-if16: ; preds = %L26.outer.split.us |
|
- call void @jl_throw(i8** inttoptr (i64 139920386919984 to i8**)) |
|
+if13: ; preds = %L26.outer.split.us |
|
+ call void @jl_throw(i8** inttoptr (i64 139708457471536 to i8**)) |
|
unreachable |
|
|
|
-if17: ; preds = %L26.outer.split.split.us |
|
- call void @jl_throw(i8** inttoptr (i64 139920386919984 to i8**)) |
|
+if14: ; preds = %L26.outer.split.split.us |
|
+ call void @jl_throw(i8** inttoptr (i64 139708457471536 to i8**)) |
|
unreachable |
|
|
|
-if21.lr.ph: ; preds = %L26.outer.split.split.L26.outer.split.split.split_crit_edge |
|
+if18.lr.ph: ; preds = %L26.outer.split.split.L26.outer.split.split.split_crit_edge |
|
%28 = add i64 %"#temp#.0.ph", 1 |
|
- br label %if21 |
|
+ br label %if18 |
|
|
|
-if21: ; preds = %if21.lr.ph, %L181 |
|
- %"i#665.0175" = phi i64 [ 0, %if21.lr.ph ], [ %35, %L181 ] |
|
- %y.sroa.4.sroa.5.1174 = phi double [ %y.sroa.4.sroa.5.0.ph, %if21.lr.ph ], [ %52, %L181 ] |
|
- %y.sroa.0.1173 = phi i64 [ %y.sroa.0.0.ph, %if21.lr.ph ], [ %55, %L181 ] |
|
- %29 = phi <2 x double> [ %23, %if21.lr.ph ], [ %51, %L181 ] |
|
- %30 = add nuw nsw i64 %"i#665.0175", 2 |
|
+if18: ; preds = %if18.lr.ph, %L116 |
|
+ %"i#665.0144" = phi i64 [ 0, %if18.lr.ph ], [ %35, %L116 ] |
|
+ %y.sroa.4.sroa.5.1143 = phi double [ %y.sroa.4.sroa.5.0.ph, %if18.lr.ph ], [ %51, %L116 ] |
|
+ %y.sroa.0.1141 = phi i64 [ %y.sroa.0.0.ph, %if18.lr.ph ], [ %54, %L116 ] |
|
+ %29 = phi <2 x double> [ %23, %if18.lr.ph ], [ %50, %L116 ] |
|
+ %30 = add nuw nsw i64 %"i#665.0144", 2 |
|
%31 = sitofp i64 %30 to double |
|
%32 = call double @llvm.pow.f64(double %11, double %31) |
|
%33 = fadd double %31, %11 |
|
%notlhs = fcmp ord double %32, 0.000000e+00 |
|
%notrhs = fcmp uno double %33, 0.000000e+00 |
|
%34 = or i1 %notlhs, %notrhs |
|
- br i1 %34, label %L130, label %if22 |
|
+ br i1 %34, label %L97, label %if19 |
|
|
|
-if22: ; preds = %if21 |
|
- call void @jl_throw(i8** inttoptr (i64 139920386924168 to i8**)) |
|
+if19: ; preds = %if18 |
|
+ call void @jl_throw(i8** inttoptr (i64 139708457475720 to i8**)) |
|
unreachable |
|
|
|
-L130: ; preds = %if21 |
|
- %35 = add nuw nsw i64 %"i#665.0175", 1 |
|
+L97: ; preds = %if18 |
|
+ %35 = add nuw nsw i64 %"i#665.0144", 1 |
|
%36 = sitofp i64 %35 to double |
|
%37 = call double @llvm.pow.f64(double %11, double %36) |
|
%38 = fadd double %36, %11 |
|
- %notlhs30 = fcmp ord double %37, 0.000000e+00 |
|
- %notrhs31 = fcmp uno double %38, 0.000000e+00 |
|
- %39 = or i1 %notrhs31, %notlhs30 |
|
- br i1 %39, label %L181, label %if26 |
|
- |
|
-L181: ; preds = %L130 |
|
- %40 = insertelement <2 x double> undef, double %31, i32 0 |
|
- %41 = insertelement <2 x double> %40, double %31, i32 1 |
|
- %42 = fmul <2 x double> %41, %5 |
|
- %43 = fmul double %31, %8 |
|
- %44 = insertelement <2 x double> undef, double %37, i32 0 |
|
- %45 = insertelement <2 x double> %44, double %37, i32 1 |
|
- %46 = fmul <2 x double> %45, %42 |
|
- %47 = fmul double %37, %43 |
|
- %48 = fdiv <2 x double> %46, %41 |
|
- %49 = fdiv double %47, %31 |
|
- %50 = fdiv double %32, %31 |
|
- %51 = fsub <2 x double> %29, %48 |
|
- %52 = fsub double %y.sroa.4.sroa.5.1174, %49 |
|
- %53 = bitcast i64 %y.sroa.0.1173 to double |
|
- %54 = fsub double %53, %50 |
|
- %55 = bitcast double %54 to i64 |
|
- %56 = icmp slt i64 %35, %20 |
|
- br i1 %56, label %if21, label %L26.outer.loopexit |
|
+ %notlhs26 = fcmp ord double %37, 0.000000e+00 |
|
+ %notrhs27 = fcmp uno double %38, 0.000000e+00 |
|
+ %39 = or i1 %notrhs27, %notlhs26 |
|
+ br i1 %39, label %L116, label %if22 |
|
|
|
-if26: ; preds = %L130 |
|
- call void @jl_throw(i8** inttoptr (i64 139920386924168 to i8**)) |
|
+if22: ; preds = %L97 |
|
+ call void @jl_throw(i8** inttoptr (i64 139708457475720 to i8**)) |
|
unreachable |
|
+ |
|
+L116: ; preds = %L97 |
|
+ %40 = fmul double %31, %37 |
|
+ %41 = insertelement <2 x double> undef, double %40, i32 0 |
|
+ %42 = insertelement <2 x double> %41, double %40, i32 1 |
|
+ %43 = fmul <2 x double> %42, %5 |
|
+ %44 = fmul double %40, %8 |
|
+ %45 = insertelement <2 x double> undef, double %31, i32 0 |
|
+ %46 = insertelement <2 x double> %45, double %31, i32 1 |
|
+ %47 = fdiv <2 x double> %43, %46 |
|
+ %48 = fdiv double %44, %31 |
|
+ %49 = fdiv double %32, %31 |
|
+ %50 = fsub <2 x double> %29, %47 |
|
+ %51 = fsub double %y.sroa.4.sroa.5.1143, %48 |
|
+ %52 = bitcast i64 %y.sroa.0.1141 to double |
|
+ %53 = fsub double %52, %49 |
|
+ %54 = bitcast double %53 to i64 |
|
+ %55 = icmp slt i64 %35, %20 |
|
+ br i1 %55, label %if18, label %L26.outer.loopexit |
|
} |