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
diff --git a/lib/Analysis/ConstantFolding.cpp b/lib/Analysis/ConstantFolding.cpp
index e499c73..26e3888 100644
--- a/lib/Analysis/ConstantFolding.cpp
+++ b/lib/Analysis/ConstantFolding.cpp
@@ -1282,16 +1282,26 @@
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);
}