forked from OSchip/llvm-project
[NFC] Remove/replace some confusing attribute getters on Function
This commit is contained in:
parent
7256c05ecb
commit
0d822da2bd
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue