diff --git a/llvm/lib/IR/AttributeImpl.h b/llvm/lib/IR/AttributeImpl.h index ecdb9280ced2..2633608926fb 100644 --- a/llvm/lib/IR/AttributeImpl.h +++ b/llvm/lib/IR/AttributeImpl.h @@ -45,7 +45,7 @@ public: bool contains(Attribute::AttrKind Kind) const; bool contains(StringRef Kind) const; - bool hasAttribute(uint64_t A) const; + bool hasAttribute(Attribute::AttrKind A) const; bool hasAttributes() const; bool hasAttributes(const Attribute &A) const; @@ -69,7 +69,7 @@ public: uint64_t getBitMask() const; // FIXME: Remove. - static uint64_t getAttrMask(uint64_t Val); + static uint64_t getAttrMask(Attribute::AttrKind Val); void Profile(FoldingSetNodeID &ID) const { Profile(ID, Data, Vals); diff --git a/llvm/lib/IR/Attributes.cpp b/llvm/lib/IR/Attributes.cpp index 2e0b084ab59c..b847d768f3a3 100644 --- a/llvm/lib/IR/Attributes.cpp +++ b/llvm/lib/IR/Attributes.cpp @@ -359,7 +359,7 @@ uint64_t AttributeImpl::getBitMask() const { return cast(Data)->getZExtValue(); } -uint64_t AttributeImpl::getAttrMask(uint64_t Val) { +uint64_t AttributeImpl::getAttrMask(Attribute::AttrKind Val) { switch (Val) { case Attribute::None: return 0; case Attribute::ZExt: return 1 << 0; @@ -395,7 +395,7 @@ uint64_t AttributeImpl::getAttrMask(uint64_t Val) { llvm_unreachable("Unsupported attribute type"); } -bool AttributeImpl::hasAttribute(uint64_t A) const { +bool AttributeImpl::hasAttribute(Attribute::AttrKind A) const { return (getBitMask() & getAttrMask(A)) != 0; }