OSDN Git Service

[ARM] preserve test intent by removing undef
authorSanjay Patel <spatel@rotateright.com>
Wed, 16 May 2018 22:20:33 +0000 (22:20 +0000)
committerSanjay Patel <spatel@rotateright.com>
Wed, 16 May 2018 22:20:33 +0000 (22:20 +0000)
We need to clean up the DAG floating-point undef logic.
This process is similar to how we handled integer undef
logic in D43141.

And as we did there, I'm trying to reduce the patch by
changing tests that would probably become meaningless
once we correct FP undef folding.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@332539 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/ARM/ifcvt10.ll

index c7e18d3..a633412 100644 (file)
@@ -13,29 +13,22 @@ entry:
   br i1 undef, label %if.else, label %if.then
 
 if.then:                                          ; preds = %entry
-  %mul73 = fmul double undef, 0.000000e+00
-  %sub76 = fsub double %mul73, undef
+  %mul73 = fmul double %a, 0.000000e+00
+  %sub76 = fsub double %mul73, %mul73
   store double %sub76, double* undef, align 4
   %call88 = tail call double @cos(double 0.000000e+00) nounwind
-  %mul89 = fmul double undef, %call88
-  %sub92 = fsub double %mul89, undef
+  %mul89 = fmul double %call88, %call88
+  %sub92 = fsub double %mul89, %mul89
   store double %sub92, double* undef, align 4
   ret void
 
 if.else:                                          ; preds = %entry
   %tmp101 = tail call double @llvm.pow.f64(double undef, double 0x3FD5555555555555)
-  %add112 = fadd double %tmp101, undef
-  %mul118 = fmul double %add112, undef
+  %add112 = fadd double %tmp101, %tmp101
+  %mul118 = fmul double %add112, %add112
   store double 0.000000e+00, double* %x, align 4
   ret void
 }
 
-declare double @acos(double)
-
-declare double @sqrt(double) readnone
-
 declare double @cos(double) readnone
-
-declare double @fabs(double)
-
 declare double @llvm.pow.f64(double, double) nounwind readonly