/// \brief Determine if any call argument is an aggregate passed by value.
bool hasByValArgument() const {
- for (unsigned I = 0, E = AttributeList.getNumAttrs(); I != E; ++I)
- if (AttributeList.getAttributesAtIndex(I).hasAttribute(Attribute::ByVal))
- return true;
- return false;
+ return AttributeList.hasAttrSomewhere(Attribute::ByVal);
}
/// getCalledFunction - Return the function called, or null if this is an
/// \brief Determine if any call argument is an aggregate passed by value.
bool hasByValArgument() const {
- for (unsigned I = 0, E = AttributeList.getNumAttrs(); I != E; ++I)
- if (AttributeList.getAttributesAtIndex(I).hasAttribute(Attribute::ByVal))
- return true;
- return false;
+ return AttributeList.hasAttrSomewhere(Attribute::ByVal);
}
/// getCalledFunction - Return the function called, or null if this is an