X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FIR%2FAttributes.h;h=86af13f864f36c4a200089eb57749d1208e86eb3;hb=3e9ef05a68f81c104411add326cf97aecbfa4b4b;hp=48abd32afa8adedecdb4c997b73cffaa268a9186;hpb=c58f23eeb64a19b588df17bae00419ceb1d92ce7;p=oota-llvm.git diff --git a/include/llvm/IR/Attributes.h b/include/llvm/IR/Attributes.h index 48abd32afa8..86af13f864f 100644 --- a/include/llvm/IR/Attributes.h +++ b/include/llvm/IR/Attributes.h @@ -260,32 +260,32 @@ public: ArrayRef Kind); static AttributeSet get(LLVMContext &C, unsigned Index, const AttrBuilder &B); - /// \brief Add an attribute to the attribute set at the given index. Since + /// \brief Add an attribute to the attribute set at the given index. Because /// attribute sets are immutable, this returns a new set. AttributeSet addAttribute(LLVMContext &C, unsigned Index, Attribute::AttrKind Attr) const; - /// \brief Add an attribute to the attribute set at the given index. Since + /// \brief Add an attribute to the attribute set at the given index. Because /// attribute sets are immutable, this returns a new set. AttributeSet addAttribute(LLVMContext &C, unsigned Index, StringRef Kind) const; AttributeSet addAttribute(LLVMContext &C, unsigned Index, StringRef Kind, StringRef Value) const; - /// \brief Add attributes to the attribute set at the given index. Since + /// \brief Add attributes to the attribute set at the given index. Because /// attribute sets are immutable, this returns a new set. AttributeSet addAttributes(LLVMContext &C, unsigned Index, AttributeSet Attrs) const; /// \brief Remove the specified attribute at the specified index from this - /// attribute list. Since attribute lists are immutable, this returns the new - /// list. + /// attribute list. Because attribute lists are immutable, this returns the + /// new list. AttributeSet removeAttribute(LLVMContext &C, unsigned Index, Attribute::AttrKind Attr) const; /// \brief Remove the specified attributes at the specified index from this - /// attribute list. Since attribute lists are immutable, this returns the new - /// list. + /// attribute list. Because attribute lists are immutable, this returns the + /// new list. AttributeSet removeAttributes(LLVMContext &C, unsigned Index, AttributeSet Attrs) const; @@ -296,12 +296,12 @@ public: const AttrBuilder &Attrs) const; /// \brief Add the dereferenceable attribute to the attribute set at the given - /// index. Since attribute sets are immutable, this returns a new set. + /// index. Because attribute sets are immutable, this returns a new set. AttributeSet addDereferenceableAttr(LLVMContext &C, unsigned Index, uint64_t Bytes) const; /// \brief Add the dereferenceable_or_null attribute to the attribute set at - /// the given index. Since attribute sets are immutable, this returns a new + /// the given index. Because attribute sets are immutable, this returns a new /// set. AttributeSet addDereferenceableOrNullAttr(LLVMContext &C, unsigned Index, uint64_t Bytes) const; @@ -436,13 +436,17 @@ class AttrBuilder { uint64_t DerefBytes; uint64_t DerefOrNullBytes; public: - AttrBuilder() : Attrs(0), Alignment(0), StackAlignment(0), DerefBytes(0) {} + AttrBuilder() + : Attrs(0), Alignment(0), StackAlignment(0), DerefBytes(0), + DerefOrNullBytes(0) {} explicit AttrBuilder(uint64_t Val) - : Attrs(0), Alignment(0), StackAlignment(0), DerefBytes(0) { + : Attrs(0), Alignment(0), StackAlignment(0), DerefBytes(0), + DerefOrNullBytes(0) { addRawValue(Val); } AttrBuilder(const Attribute &A) - : Attrs(0), Alignment(0), StackAlignment(0), DerefBytes(0) { + : Attrs(0), Alignment(0), StackAlignment(0), DerefBytes(0), + DerefOrNullBytes(0) { addAttribute(A); } AttrBuilder(AttributeSet AS, unsigned Idx); @@ -473,7 +477,7 @@ public: /// \brief Remove the attributes from the builder. AttrBuilder &remove(const AttrBuilder &B); - /// \brief \brief Return true if the builder has any attribute that's in the + /// \brief Return true if the builder has any attribute that's in the /// specified builder. bool overlaps(const AttrBuilder &B) const; @@ -565,7 +569,7 @@ public: namespace AttributeFuncs { /// \brief Which attributes cannot be applied to a type. -AttributeSet typeIncompatible(Type *Ty, uint64_t Index); +AttrBuilder typeIncompatible(const Type *Ty); } // end AttributeFuncs namespace