[ARM] preserve test intent by removing undef

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.

llvm-svn: 332539
This commit is contained in:
Sanjay Patel 2018-05-16 22:20:33 +00:00
parent ce20ac0bc5
commit 2c1846de2d
1 changed files with 6 additions and 13 deletions

View 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