void addAttr(Attribute Attr);
/// Remove attributes from an argument.
- void removeAttr(AttributeList AS);
-
void removeAttr(Attribute::AttrKind Kind);
/// Check if an argument has a given attribute.
getParent()->addAttribute(getArgNo() + 1, Attr);
}
-void Argument::removeAttr(AttributeList AS) {
- assert(AS.getNumSlots() <= 1 &&
- "Trying to remove more than one attribute set from an argument!");
- AttrBuilder B(AS, AS.getSlotIndex(0));
- getParent()->removeAttributes(
- getArgNo() + 1,
- AttributeList::get(Parent->getContext(), getArgNo() + 1, B));
-}
-
void Argument::removeAttr(Attribute::AttrKind Kind) {
getParent()->removeAttribute(getArgNo() + 1, Kind);
}