Cleanup. Get rid of now dead code.
authorBill Wendling <isanbard@gmail.com>
Wed, 10 Oct 2012 08:03:34 +0000 (08:03 +0000)
committerBill Wendling <isanbard@gmail.com>
Wed, 10 Oct 2012 08:03:34 +0000 (08:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165613 91177308-0d34-0410-b5e6-96231b3b80d8

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

index ac9ddf0090fbc9aed9656fccf0f99d65081a76ca..d20a47a286e5b182b42e98bb0b2a17094573a13b 100644 (file)
@@ -26,39 +26,6 @@ namespace llvm {
 class LLVMContext;
 class Type;
 
-namespace Attribute {
-
-/// AttrConst - We use this proxy POD type to allow constructing Attributes
-/// constants using initializer lists. Do not use this class directly.
-struct AttrConst {
-  uint64_t v;
-  AttrConst operator | (const AttrConst Attrs) const {
-    AttrConst Res = {v | Attrs.v};
-    return Res;
-  }
-  AttrConst operator ~ () const {
-    AttrConst Res = {~v};
-    return Res;
-  }
-};
-
-/// Function parameters and results can have attributes to indicate how they
-/// should be treated by optimizations and code generation. This enumeration
-/// lists the attributes that can be associated with parameters, function
-/// results or the function itself.
-/// @brief Function attributes.
-
-/// We declare AttrConst objects that will be used throughout the code and also
-/// raw uint64_t objects with _i suffix to be used below for other constant
-/// declarations. This is done to avoid static CTORs and at the same time to
-/// keep type-safety of Attributes.
-#define DECLARE_LLVM_ATTRIBUTE(name, value) \
-  const AttrConst name = {value};
-
-#undef DECLARE_LLVM_ATTRIBUTE
-
-}  // namespace Attribute
-
 /// AttributeImpl - The internal representation of the Attributes class. This is
 /// uniquified.
 class AttributesImpl;
@@ -66,6 +33,11 @@ class AttributesImpl;
 /// Attributes - A bitset of attributes.
 class Attributes {
 public:
+  /// Function parameters and results can have attributes to indicate how they
+  /// should be treated by optimizations and code generation. This enumeration
+  /// lists the attributes that can be associated with parameters, function
+  /// results or the function itself.
+  /// 
   /// Note that uwtable is about the ABI or the user mandating an entry in the
   /// unwind table. The nounwind attribute is about an exception passing by the
   /// function.
@@ -123,7 +95,6 @@ private:
 public:
   Attributes() : Attrs(0) {}
   explicit Attributes(uint64_t Val);
-  /*implicit*/ Attributes(Attribute::AttrConst Val);
   Attributes(const Attributes &A);
 
   class Builder {
index 90a7c7ea6ae57a95dbc2f4732e16760922f6a740..0625ef3f09c64388d7b8ff0f1e2d683f7525e646 100644 (file)
@@ -29,8 +29,6 @@ using namespace llvm;
 
 Attributes::Attributes(uint64_t Val) : Attrs(Val) {}
 
-Attributes::Attributes(Attribute::AttrConst Val) : Attrs(Val.v) {}
-
 Attributes::Attributes(AttributesImpl *A) : Attrs(A->Bits) {}
 
 Attributes::Attributes(const Attributes &A) : Attrs(A.Attrs) {}