[NFC] Remove/replace some confusing attribute getters on Function

This commit is contained in:
Arthur Eubanks 2021-08-16 16:07:47 -07:00
parent 7256c05ecb
commit 0d822da2bd
4 changed files with 3 additions and 27 deletions

View File

@ -440,11 +440,6 @@ public:
/// `undef` or `poison` value is passed from the list of attributes. /// `undef` or `poison` value is passed from the list of attributes.
void removeParamUndefImplyingAttrs(unsigned ArgNo); void removeParamUndefImplyingAttrs(unsigned ArgNo);
/// check if an attributes is in the list of attributes.
bool hasAttribute(unsigned i, Attribute::AttrKind Kind) const {
return getAttributes().hasAttribute(i, Kind);
}
/// check if an attributes is in the list of attributes. /// check if an attributes is in the list of attributes.
bool hasParamAttribute(unsigned ArgNo, Attribute::AttrKind Kind) const { bool hasParamAttribute(unsigned ArgNo, Attribute::AttrKind Kind) const {
return getAttributes().hasParamAttr(ArgNo, Kind); return getAttributes().hasParamAttr(ArgNo, Kind);
@ -470,17 +465,10 @@ public:
return AttributeSets.getAttribute(i, Kind); return AttributeSets.getAttribute(i, Kind);
} }
/// adds the dereferenceable attribute to the list of attributes.
void addDereferenceableAttr(unsigned i, uint64_t Bytes);
/// adds the dereferenceable attribute to the list of attributes for /// adds the dereferenceable attribute to the list of attributes for
/// the given arg. /// the given arg.
void addDereferenceableParamAttr(unsigned ArgNo, uint64_t Bytes); void addDereferenceableParamAttr(unsigned ArgNo, uint64_t Bytes);
/// adds the dereferenceable_or_null attribute to the list of
/// attributes.
void addDereferenceableOrNullAttr(unsigned i, uint64_t Bytes);
/// adds the dereferenceable_or_null attribute to the list of /// adds the dereferenceable_or_null attribute to the list of
/// attributes for the given arg. /// attributes for the given arg.
void addDereferenceableOrNullParamAttr(unsigned ArgNo, uint64_t Bytes); void addDereferenceableOrNullParamAttr(unsigned ArgNo, uint64_t Bytes);

View File

@ -2668,7 +2668,7 @@ void SelectionDAGBuilder::visitSPDescriptorParent(StackProtectorDescriptor &SPD,
TargetLowering::ArgListEntry Entry; TargetLowering::ArgListEntry Entry;
Entry.Node = GuardVal; Entry.Node = GuardVal;
Entry.Ty = FnTy->getParamType(0); Entry.Ty = FnTy->getParamType(0);
if (GuardCheckFn->hasAttribute(1, Attribute::AttrKind::InReg)) if (GuardCheckFn->hasParamAttribute(0, Attribute::AttrKind::InReg))
Entry.IsInReg = true; Entry.IsInReg = true;
Args.push_back(Entry); Args.push_back(Entry);

View File

@ -601,24 +601,12 @@ void Function::removeParamAttrs(unsigned ArgNo, const AttrBuilder &Attrs) {
setAttributes(PAL); setAttributes(PAL);
} }
void Function::addDereferenceableAttr(unsigned i, uint64_t Bytes) {
AttributeList PAL = getAttributes();
PAL = PAL.addDereferenceableAttr(getContext(), i, Bytes);
setAttributes(PAL);
}
void Function::addDereferenceableParamAttr(unsigned ArgNo, uint64_t Bytes) { void Function::addDereferenceableParamAttr(unsigned ArgNo, uint64_t Bytes) {
AttributeList PAL = getAttributes(); AttributeList PAL = getAttributes();
PAL = PAL.addDereferenceableParamAttr(getContext(), ArgNo, Bytes); PAL = PAL.addDereferenceableParamAttr(getContext(), ArgNo, Bytes);
setAttributes(PAL); setAttributes(PAL);
} }
void Function::addDereferenceableOrNullAttr(unsigned i, uint64_t Bytes) {
AttributeList PAL = getAttributes();
PAL = PAL.addDereferenceableOrNullAttr(getContext(), i, Bytes);
setAttributes(PAL);
}
void Function::addDereferenceableOrNullParamAttr(unsigned ArgNo, void Function::addDereferenceableOrNullParamAttr(unsigned ArgNo,
uint64_t Bytes) { uint64_t Bytes) {
AttributeList PAL = getAttributes(); AttributeList PAL = getAttributes();

View File

@ -96,7 +96,7 @@ static bool setDoesNotThrow(Function &F) {
} }
static bool setRetDoesNotAlias(Function &F) { static bool setRetDoesNotAlias(Function &F) {
if (F.hasAttribute(AttributeList::ReturnIndex, Attribute::NoAlias)) if (F.hasRetAttribute(Attribute::NoAlias))
return false; return false;
F.addAttribute(AttributeList::ReturnIndex, Attribute::NoAlias); F.addAttribute(AttributeList::ReturnIndex, Attribute::NoAlias);
++NumNoAlias; ++NumNoAlias;
@ -145,7 +145,7 @@ static bool setSignExtendedArg(Function &F, unsigned ArgNo) {
static bool setRetNoUndef(Function &F) { static bool setRetNoUndef(Function &F) {
if (!F.getReturnType()->isVoidTy() && if (!F.getReturnType()->isVoidTy() &&
!F.hasAttribute(AttributeList::ReturnIndex, Attribute::NoUndef)) { !F.hasRetAttribute(Attribute::NoUndef)) {
F.addAttribute(AttributeList::ReturnIndex, Attribute::NoUndef); F.addAttribute(AttributeList::ReturnIndex, Attribute::NoUndef);
++NumNoUndef; ++NumNoUndef;
return true; return true;