Add helpful accessor methods to get the specified function attribute.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187088 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling 2013-07-24 23:45:00 +00:00
parent a280a839f5
commit 9b344d920f

View File

@ -166,37 +166,32 @@ public:
(static_cast<unsigned>(CC) << 1));
}
/// getAttributes - Return the attribute list for this Function.
///
/// @brief Return the attribute list for this Function.
AttributeSet getAttributes() const { return AttributeSets; }
/// setAttributes - Set the attribute list for this Function.
///
/// @brief Set the attribute list for this Function.
void setAttributes(AttributeSet attrs) { AttributeSets = attrs; }
/// addFnAttr - Add function attributes to this function.
///
/// @brief Add function attributes to this function.
void addFnAttr(Attribute::AttrKind N) {
setAttributes(AttributeSets.addAttribute(getContext(),
AttributeSet::FunctionIndex, N));
}
/// removeFnAttr - Remove function attributes from this function.
///
/// @brief Remove function attributes from this function.
void removeFnAttr(Attribute::AttrKind N) {
setAttributes(AttributeSets.removeAttribute(
getContext(), AttributeSet::FunctionIndex, N));
}
/// addFnAttr - Add function attributes to this function.
///
/// @brief Add function attributes to this function.
void addFnAttr(StringRef Kind) {
setAttributes(
AttributeSets.addAttribute(getContext(),
AttributeSet::FunctionIndex, Kind));
}
/// \brief Return true if the function has the attribute.
/// @brief Return true if the function has the attribute.
bool hasFnAttribute(Attribute::AttrKind Kind) const {
return AttributeSets.hasAttribute(AttributeSet::FunctionIndex, Kind);
}
@ -204,6 +199,14 @@ public:
return AttributeSets.hasAttribute(AttributeSet::FunctionIndex, Kind);
}
/// @brief Return the attribute for the given attribute kind.
Attribute getFnAttribute(Attribute::AttrKind Kind) const {
return AttributeSets.getAttribute(AttributeSet::FunctionIndex, Kind);
}
Attribute getFnAttribute(StringRef Kind) const {
return AttributeSets.getAttribute(AttributeSet::FunctionIndex, Kind);
}
/// hasGC/getGC/setGC/clearGC - The name of the garbage collection algorithm
/// to use during code generation.
bool hasGC() const;