Add comments.
authorBill Wendling <isanbard@gmail.com>
Mon, 15 Oct 2012 19:58:25 +0000 (19:58 +0000)
committerBill Wendling <isanbard@gmail.com>
Mon, 15 Oct 2012 19:58:25 +0000 (19:58 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165958 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Attributes.h

index 03ee520440ccf48d3188824a346262f867a26838..d04ca590aaa875991859d22486c91639230a557e 100644 (file)
@@ -52,6 +52,7 @@ public:
   /// uwtable + nounwind = Needs an entry because the ABI says so.
 
   enum AttrVal {
+    // IR-Level Attributes
     None            = 0,   ///< No attributes have been set
     AddressSafety   = 1,   ///< Address safety checking is on.
     Alignment       = 2,   ///< Alignment of parameter (5 bits)
@@ -120,23 +121,38 @@ public:
 
     void clear() { Bits = 0; }
 
+    /// addAttribute - Add an attribute to the builder.
+    Builder &addAttribute(Attributes::AttrVal Val);
+
+    /// removeAttribute - Remove an attribute from the builder.
+    Builder &removeAttribute(Attributes::AttrVal Val);
+
+    /// addAttribute - Add the attributes from A to the builder.
+    Builder &addAttributes(const Attributes &A);
+
+    /// removeAttribute - Remove the attributes from A from the builder.
+    Builder &removeAttributes(const Attributes &A);
+
+    /// hasAttribute - Return true if the builder has the specified attribute.
     bool hasAttribute(Attributes::AttrVal A) const;
+
+    /// hasAttributes - Return true if the builder has IR-level attributes.
     bool hasAttributes() const;
+
+    /// hasAttributes - Return true if the builder has any attribute that's in
+    /// the specified attribute.
     bool hasAttributes(const Attributes &A) const;
+
+    /// hasAlignmentAttr - Return true if the builder has an alignment
+    /// attribute.
     bool hasAlignmentAttr() const;
 
+    /// getAlignment - Retrieve the alignment attribute, if it exists.
     uint64_t getAlignment() const;
-    uint64_t getStackAlignment() const;
-
-    Builder &addAttribute(Attributes::AttrVal Val);
-    Builder &removeAttribute(Attributes::AttrVal Val);
 
-    Builder &addAttributes(const Attributes &A);
-    Builder &removeAttributes(const Attributes &A);
-
-    /// addRawValue - Add the raw value to the internal representation. This
-    /// should be used ONLY for decoding bitcode!
-    Builder &addRawValue(uint64_t Val);
+    /// getStackAlignment - Retrieve the stack alignment attribute, if it
+    /// exists.
+    uint64_t getStackAlignment() const;
 
     /// addAlignmentAttr - This turns an int alignment (which must be a power of
     /// 2) into the form used internally in Attributes.
@@ -146,6 +162,10 @@ public:
     /// a power of 2) into the form used internally in Attributes.
     Builder &addStackAlignmentAttr(unsigned Align);
 
+    /// addRawValue - Add the raw value to the internal representation.
+    /// N.B. This should be used ONLY for decoding LLVM bitcode!
+    Builder &addRawValue(uint64_t Val);
+
     /// @brief Remove attributes that are used on functions only.
     void removeFunctionOnlyAttrs() {
       removeAttribute(Attributes::NoReturn)