forked from OSchip/llvm-project
Be consistent with other attribute methods, and
check the callee also if it is known. llvm-svn: 46206
This commit is contained in:
parent
59e0e4bf35
commit
a59f396cba
|
@ -406,7 +406,13 @@ bool CallInst::isStructReturn() const {
|
||||||
|
|
||||||
/// @brief Determine if any call argument is an aggregate passed by value.
|
/// @brief Determine if any call argument is an aggregate passed by value.
|
||||||
bool CallInst::hasByValArgument() const {
|
bool CallInst::hasByValArgument() const {
|
||||||
return ParamAttrs && ParamAttrs->hasAttrSomewhere(ParamAttr::ByVal);
|
if (ParamAttrs && ParamAttrs->hasAttrSomewhere(ParamAttr::ByVal))
|
||||||
|
return true;
|
||||||
|
// Be consistent with other methods and check the callee too.
|
||||||
|
if (const Function *F = getCalledFunction())
|
||||||
|
if (const ParamAttrsList *PAL = F->getParamAttrs())
|
||||||
|
return PAL->hasAttrSomewhere(ParamAttr::ByVal);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CallInst::setDoesNotThrow(bool doesNotThrow) {
|
void CallInst::setDoesNotThrow(bool doesNotThrow) {
|
||||||
|
|
Loading…
Reference in New Issue