mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 16:33:28 +00:00
Query the parameter attributes directly instead of using the Attribute symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164727 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2c18906118
commit
896f37f0f9
@ -272,13 +272,13 @@ public:
|
||||
/// @brief Determine if the function returns a structure through first
|
||||
/// pointer argument.
|
||||
bool hasStructRetAttr() const {
|
||||
return paramHasAttr(1, Attribute::StructRet);
|
||||
return getParamAttributes(1).hasStructRetAttr();
|
||||
}
|
||||
|
||||
/// @brief Determine if the parameter does not alias other parameters.
|
||||
/// @param n The parameter to check. 1 is the first parameter, 0 is the return
|
||||
bool doesNotAlias(unsigned n) const {
|
||||
return paramHasAttr(n, Attribute::NoAlias);
|
||||
return getParamAttributes(n).hasNoAliasAttr();
|
||||
}
|
||||
void setDoesNotAlias(unsigned n, bool DoesNotAlias = true) {
|
||||
if (DoesNotAlias) addAttribute(n, Attribute::NoAlias);
|
||||
@ -288,7 +288,7 @@ public:
|
||||
/// @brief Determine if the parameter can be captured.
|
||||
/// @param n The parameter to check. 1 is the first parameter, 0 is the return
|
||||
bool doesNotCapture(unsigned n) const {
|
||||
return paramHasAttr(n, Attribute::NoCapture);
|
||||
return getParamAttributes(n).hasNoCaptureAttr();
|
||||
}
|
||||
void setDoesNotCapture(unsigned n, bool DoesNotCapture = true) {
|
||||
if (DoesNotCapture) addAttribute(n, Attribute::NoCapture);
|
||||
|
@ -78,7 +78,7 @@ unsigned Argument::getArgNo() const {
|
||||
/// in its containing function.
|
||||
bool Argument::hasByValAttr() const {
|
||||
if (!getType()->isPointerTy()) return false;
|
||||
return getParent()->paramHasAttr(getArgNo()+1, Attribute::ByVal);
|
||||
return getParent()->getParamAttributes(getArgNo()+1).hasByValAttr();
|
||||
}
|
||||
|
||||
unsigned Argument::getParamAlignment() const {
|
||||
@ -91,21 +91,21 @@ unsigned Argument::getParamAlignment() const {
|
||||
/// it in its containing function.
|
||||
bool Argument::hasNestAttr() const {
|
||||
if (!getType()->isPointerTy()) return false;
|
||||
return getParent()->paramHasAttr(getArgNo()+1, Attribute::Nest);
|
||||
return getParent()->getParamAttributes(getArgNo()+1).hasNestAttr();
|
||||
}
|
||||
|
||||
/// hasNoAliasAttr - Return true if this argument has the noalias attribute on
|
||||
/// it in its containing function.
|
||||
bool Argument::hasNoAliasAttr() const {
|
||||
if (!getType()->isPointerTy()) return false;
|
||||
return getParent()->paramHasAttr(getArgNo()+1, Attribute::NoAlias);
|
||||
return getParent()->getParamAttributes(getArgNo()+1).hasNoAliasAttr();
|
||||
}
|
||||
|
||||
/// hasNoCaptureAttr - Return true if this argument has the nocapture attribute
|
||||
/// on it in its containing function.
|
||||
bool Argument::hasNoCaptureAttr() const {
|
||||
if (!getType()->isPointerTy()) return false;
|
||||
return getParent()->paramHasAttr(getArgNo()+1, Attribute::NoCapture);
|
||||
return getParent()->getParamAttributes(getArgNo()+1).hasNoCaptureAttr();
|
||||
}
|
||||
|
||||
/// hasSRetAttr - Return true if this argument has the sret attribute on
|
||||
@ -114,7 +114,7 @@ bool Argument::hasStructRetAttr() const {
|
||||
if (!getType()->isPointerTy()) return false;
|
||||
if (this != getParent()->arg_begin())
|
||||
return false; // StructRet param must be first param
|
||||
return getParent()->paramHasAttr(1, Attribute::StructRet);
|
||||
return getParent()->getParamAttributes(1).hasStructRetAttr();
|
||||
}
|
||||
|
||||
/// addAttr - Add a Attribute to an argument
|
||||
|
Loading…
x
Reference in New Issue
Block a user