Remove default public copy ctors.
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 16 Nov 2012 22:22:20 +0000 (22:22 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 16 Nov 2012 22:22:20 +0000 (22:22 +0000)
They are just useless and prevent SmallVector from picking an optimized codepath
for memcpyable elements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168211 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Attributes.h

index 5ace200803eb05ed02845877801eee8a5dbfcdb0..0d6ce514347187f189e9440cd0f956ecef9d1b4b 100644 (file)
@@ -92,11 +92,6 @@ private:
   Attributes(AttributesImpl *A) : Attrs(A) {}
 public:
   Attributes() : Attrs(0) {}
-  Attributes(const Attributes &A) : Attrs(A.Attrs) {}
-  Attributes &operator=(const Attributes &A) {
-    Attrs = A.Attrs;
-    return *this;
-  }
 
   /// get - Return a uniquified Attributes object. This takes the uniquified
   /// value from the Builder and wraps it in the Attributes class.
@@ -199,7 +194,6 @@ public:
   AttrBuilder() : Bits(0) {}
   explicit AttrBuilder(uint64_t B) : Bits(B) {}
   AttrBuilder(const Attributes &A) : Bits(A.Raw()) {}
-  AttrBuilder(const AttrBuilder &B) : Bits(B.Bits) {}
 
   void clear() { Bits = 0; }