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);
       }