diff options
author | Bill Wendling <isanbard@gmail.com> | 2012-10-09 00:01:21 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2012-10-09 00:01:21 +0000 |
commit | 8831c0605bbc0c82ce56c2fb85bd681d1c013925 (patch) | |
tree | 99ab041142fcf8baf621d46fcb3afc99a113662e /lib/VMCore/Attributes.cpp | |
parent | 9f11bf52b47cf91b09a6294a1b6dc750fa695fd8 (diff) | |
download | llvm-8831c0605bbc0c82ce56c2fb85bd681d1c013925.tar.gz llvm-8831c0605bbc0c82ce56c2fb85bd681d1c013925.tar.bz2 llvm-8831c0605bbc0c82ce56c2fb85bd681d1c013925.tar.xz |
Convert to using the Attributes::Builder interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165465 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/Attributes.cpp')
-rw-r--r-- | lib/VMCore/Attributes.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/VMCore/Attributes.cpp b/lib/VMCore/Attributes.cpp index 6905e4df39..6f5eefae0d 100644 --- a/lib/VMCore/Attributes.cpp +++ b/lib/VMCore/Attributes.cpp @@ -377,6 +377,10 @@ void Attributes::Builder::addStackAlignmentAttr(unsigned Align) { Bits |= (Log2_32(Align) + 1) << 26; } +void Attributes::Builder::removeAttributes(const Attributes &A) { + Bits &= ~A.Raw(); +} + void Attributes::Builder::removeAddressSafetyAttr() { Bits &= ~Attribute::AddressSafety_i; } @@ -463,6 +467,9 @@ void Attributes::Builder::removeStackAlignmentAttr() { bool Attributes::Builder::hasAttributes() const { return Bits != 0; } +bool Attributes::Builder::hasAttributes(const Attributes &A) const { + return Bits & A.Raw(); +} bool Attributes::Builder::hasAlignmentAttr() const { return Bits & Attribute::Alignment_i; } @@ -662,6 +669,15 @@ bool AttrListPtr::hasAttrSomewhere(Attributes Attr) const { return false; } +unsigned AttrListPtr::getNumAttrs() const { + return AttrList ? AttrList->Attrs.size() : 0; +} + +Attributes &AttrListPtr::getAttributesAtIndex(unsigned i) const { + assert(AttrList && "Trying to get an attribute from an empty list!"); + assert(i < AttrList->Attrs.size() && "Index out of range!"); + return AttrList->Attrs[i].Attrs; +} AttrListPtr AttrListPtr::addAttr(unsigned Idx, Attributes Attrs) const { Attributes OldAttrs = getAttributes(Idx); |