Conditionalize constant folding of math intrinsics on the availability of an implementation on the host. This is a little bit unfortunate, but until someone decides to implement a full libm for APFloat, we don't have a better way to get this functionality.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174561 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson
2013-02-07 00:21:34 +00:00
parent 42258e0ea8
commit ec643abe69
5 changed files with 146 additions and 0 deletions
+10
View File
@@ -1282,16 +1282,26 @@ llvm::ConstantFoldCall(Function *F, ArrayRef<Constant *> Operands,
default: break;
case Intrinsic::fabs:
return ConstantFoldFP(fabs, V, Ty);
#if HAVE_LOG2
case Intrinsic::log2:
return ConstantFoldFP(log2, V, Ty);
#endif
#if HAVE_LOG
case Intrinsic::log:
return ConstantFoldFP(log, V, Ty);
#endif
#if HAVE_LOG10
case Intrinsic::log10:
return ConstantFoldFP(log10, V, Ty);
#endif
#if HAVE_EXP
case Intrinsic::exp:
return ConstantFoldFP(exp, V, Ty);
#endif
#if HAVE_EXP2
case Intrinsic::exp2:
return ConstantFoldFP(exp2, V, Ty);
#endif
case Intrinsic::floor:
return ConstantFoldFP(floor, V, Ty);
}