Reapply "LLVMContext: Store APInt/APFloat directly into the ConstantInt/FP DenseMaps."
[oota-llvm.git] / include / llvm / ADT / APInt.h
index f4e7e3c635656677c9dcd7465445f635d0d090d6..025397d9ce4509a0a15f5eaa7197dc1f2126a6ef 100644 (file)
@@ -91,6 +91,8 @@ class APInt {
     APINT_WORD_SIZE = static_cast<unsigned int>(sizeof(uint64_t))
   };
 
+  friend struct DenseMapAPIntKeyInfo;
+
   /// \brief Fast internal constructor
   ///
   /// This constructor is used only internally for speed of construction of
@@ -277,7 +279,6 @@ public:
   /// Simply makes *this a copy of that.
   /// @brief Copy Constructor.
   APInt(const APInt &that) : BitWidth(that.BitWidth), VAL(0) {
-    assert(BitWidth && "bitwidth too small");
     if (isSingleWord())
       VAL = that.VAL;
     else