Uniquify the AttributeImpl based on the Constant pointer, since those are
already uniquified.

Note: This will be expanded in the future to add more than just one pointer
value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171245 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/VMCore/AttributeImpl.h b/lib/VMCore/AttributeImpl.h
index 253d6e8..65ac3ea 100644
--- a/lib/VMCore/AttributeImpl.h
+++ b/lib/VMCore/AttributeImpl.h
@@ -49,7 +49,9 @@
   void Profile(FoldingSetNodeID &ID) const {
     Profile(ID, Data);
   }
-  static void Profile(FoldingSetNodeID &ID, Constant *Data);
+  static void Profile(FoldingSetNodeID &ID, Constant *Data) {
+    ID.AddPointer(Data);
+  }
 };
 
 //===----------------------------------------------------------------------===//
diff --git a/lib/VMCore/Attributes.cpp b/lib/VMCore/Attributes.cpp
index ad1af45..a1e0856 100644
--- a/lib/VMCore/Attributes.cpp
+++ b/lib/VMCore/Attributes.cpp
@@ -363,10 +363,6 @@
   return getBitMask() & getAttrMask(Attribute::StackAlignment);
 }
 
-void AttributeImpl::Profile(FoldingSetNodeID &ID, Constant *Data) {
-  ID.AddInteger(cast<ConstantInt>(Data)->getZExtValue());
-}
-
 //===----------------------------------------------------------------------===//
 // AttributeSetImpl Definition
 //===----------------------------------------------------------------------===//