Move code dependency for MathExtras.h out of Constants.h.
authorJim Laskey <jlaskey@mac.com>
Wed, 17 Aug 2005 20:06:22 +0000 (20:06 +0000)
committerJim Laskey <jlaskey@mac.com>
Wed, 17 Aug 2005 20:06:22 +0000 (20:06 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22840 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Constants.h
lib/VMCore/Constants.cpp

index 1a9d87d68a1aeb4a0d5f88a23b978f5a6f657a39..4a5d0181a52323ead469d3aa7193dafc7bce1896 100644 (file)
@@ -23,7 +23,6 @@
 #include "llvm/Constant.h"
 #include "llvm/Type.h"
 #include "llvm/Support/DataTypes.h"
-#include "llvm/Support/MathExtras.h"
 
 namespace llvm {
 
@@ -277,17 +276,13 @@ public:
   /// isNullValue - Return true if this is the value that would be returned by
   /// getNullValue.  Don't depend on == for doubles to tell us it's zero, it
   /// considers -0.0 to be null as well as 0.0.  :(
-  virtual bool isNullValue() const {
-    return DoubleToBits(Val) == 0;
-  }
+  virtual bool isNullValue() const;
 
   /// isExactlyValue - We don't rely on operator== working on double values, as
   /// it returns true for things that are clearly not equal, like -0.0 and 0.0.
   /// As such, this method can be used to do an exact bit-for-bit comparison of
   /// two floating point values.
-  bool isExactlyValue(double V) const {
-    return DoubleToBits(V) == DoubleToBits(Val);
-  }
+  bool isExactlyValue(double V) const;
 
   /// Methods for support type inquiry through isa, cast, and dyn_cast:
   static inline bool classof(const ConstantFP *) { return true; }
index a14b690313658d4c817b78d4d3c061c3f28f0375..d25000244140e233d59fa9d1fea2f878912a9cd8 100644 (file)
@@ -812,6 +812,15 @@ namespace llvm {
 static ValueMap<uint64_t, Type, ConstantFP> DoubleConstants;
 static ValueMap<uint32_t, Type, ConstantFP> FloatConstants;
 
+bool ConstantFP::isNullValue() const {
+  return DoubleToBits(Val) == 0;
+}
+
+bool ConstantFP::isExactlyValue(double V) const {
+  return DoubleToBits(V) == DoubleToBits(Val);
+}
+
+
 ConstantFP *ConstantFP::get(const Type *Ty, double V) {
   if (Ty == Type::FloatTy) {
     // Force the value through memory to normalize it.