diff options
Diffstat (limited to 'llvm/lib/VMCore/Instructions.cpp')
-rw-r--r-- | llvm/lib/VMCore/Instructions.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/lib/VMCore/Instructions.cpp b/llvm/lib/VMCore/Instructions.cpp index b3acbc42410..9b700451bee 100644 --- a/llvm/lib/VMCore/Instructions.cpp +++ b/llvm/lib/VMCore/Instructions.cpp @@ -390,6 +390,14 @@ bool CallInst::paramHasByValAttr(unsigned i) const { return false; } +bool CallInst::paramHasNoAliasAttr(unsigned i) const { + if (AttributeList.getParamAttributes(i).hasNoAliasAttr()) + return true; + if (const Function *F = getCalledFunction()) + return F->getParamAttributes(i).hasNoAliasAttr(); + return false; +} + bool CallInst::paramHasAttr(unsigned i, Attributes attr) const { if (AttributeList.paramHasAttr(i, attr)) return true; @@ -658,6 +666,14 @@ bool InvokeInst::paramHasByValAttr(unsigned i) const { return false; } +bool InvokeInst::paramHasNoAliasAttr(unsigned i) const { + if (AttributeList.getParamAttributes(i).hasNoAliasAttr()) + return true; + if (const Function *F = getCalledFunction()) + return F->getParamAttributes(i).hasNoAliasAttr(); + return false; +} + bool InvokeInst::paramHasAttr(unsigned i, Attributes attr) const { if (AttributeList.paramHasAttr(i, attr)) return true; |