aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Utils/Local.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Transforms/Utils/Local.cpp')
-rw-r--r--lib/Transforms/Utils/Local.cpp17
1 files changed, 2 insertions, 15 deletions
diff --git a/lib/Transforms/Utils/Local.cpp b/lib/Transforms/Utils/Local.cpp
index 677a7dcc1c..41454ae0cb 100644
--- a/lib/Transforms/Utils/Local.cpp
+++ b/lib/Transforms/Utils/Local.cpp
@@ -12,6 +12,7 @@
//
//===----------------------------------------------------------------------===//
+#include "Support/MathExtras.h"
#include "llvm/Transforms/Utils/Local.h"
#include "llvm/Constants.h"
#include "llvm/Instructions.h"
@@ -20,18 +21,6 @@
#include <cmath>
using namespace llvm;
-#if 0
-#if defined(__POWERPC__) && defined(__APPLE_CC__)
-// FIXME: Currently it seems that isnan didn't make its way into the Apple
-// C++ headers, although it IS in the C headers (which confuses autoconf
-// in a big way). This is a quick fix to get things compiling, until one of
-// us has time to write a more complicated autoconf test.
-extern "C" int isnan (double d);
-namespace std { int isnan (double d) { return ::isnan (d); } }
-#endif
-
-#endif
-
//===----------------------------------------------------------------------===//
// Local constant propagation...
//
@@ -303,11 +292,9 @@ Constant *llvm::ConstantFoldCall(Function *F,
if (ConstantFP *Op2 = dyn_cast<ConstantFP>(Operands[1])) {
double Op1V = Op1->getValue(), Op2V = Op2->getValue();
-#if 0
if (Name == "llvm.isunordered")
- return ConstantBool::get(std::isnan(Op1V) | std::isnan(Op2V));
+ return ConstantBool::get(IsNAN(Op1V) || IsNAN(Op2V));
else
-#endif
if (Name == "pow") {
errno = 0;
double V = pow(Op1V, Op2V);