Add APFloat interface to ConstantFPSDNode.  Change
over uses in DAGCombiner.  Fix interfaces to work
with APFloats.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41407 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 6155ee1..4bd07b6 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -48,8 +48,8 @@
 /// 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 ConstantFPSDNode::isExactlyValue(double V) const {
-  return Value.bitwiseIsEqual(APFloat(V));
+bool ConstantFPSDNode::isExactlyValue(APFloat V) const {
+  return Value.bitwiseIsEqual(V);
 }
 
 //===----------------------------------------------------------------------===//
@@ -669,7 +669,6 @@
   return SDOperand(N, 0);
 }
 
-
 SDOperand SelectionDAG::getConstantFP(double Val, MVT::ValueType VT,
                                       bool isTarget) {
   assert(MVT::isFloatingPoint(VT) && "Cannot create integer FP constant!");