diff options
| author | Igor Laevsky <igmyrj@gmail.com> | 2016-01-16 12:15:53 +0000 |
|---|---|---|
| committer | Igor Laevsky <igmyrj@gmail.com> | 2016-01-16 12:15:53 +0000 |
| commit | 28eeb3f66cb02ac1670ac38c230e89773007ba70 (patch) | |
| tree | 6bdfcb0417088ec741dfacd24a0aa9366a79639b /llvm/lib/Analysis | |
| parent | e05fcecd36ddcf3c4bdd674205ceb1d05f68ae24 (diff) | |
| download | bcm5719-llvm-28eeb3f66cb02ac1670ac38c230e89773007ba70.tar.gz bcm5719-llvm-28eeb3f66cb02ac1670ac38c230e89773007ba70.zip | |
[BasicAliasAnalysis] Take into account operand bundles in the getModRefInfo function
Differential Revision: http://reviews.llvm.org/D16225
llvm-svn: 257991
Diffstat (limited to 'llvm/lib/Analysis')
| -rw-r--r-- | llvm/lib/Analysis/BasicAliasAnalysis.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Analysis/BasicAliasAnalysis.cpp b/llvm/lib/Analysis/BasicAliasAnalysis.cpp index c3d280350b9..4b60e469c14 100644 --- a/llvm/lib/Analysis/BasicAliasAnalysis.cpp +++ b/llvm/lib/Analysis/BasicAliasAnalysis.cpp @@ -717,14 +717,14 @@ ModRefInfo BasicAAResult::getModRefInfo(ImmutableCallSite CS, if (!isa<Constant>(Object) && CS.getInstruction() != Object && isNonEscapingLocalObject(Object)) { bool PassedAsArg = false; - unsigned ArgNo = 0; - for (ImmutableCallSite::arg_iterator CI = CS.arg_begin(), CE = CS.arg_end(); - CI != CE; ++CI, ++ArgNo) { + unsigned OperandNo = 0; + for (auto CI = CS.data_operands_begin(), CE = CS.data_operands_end(); + CI != CE; ++CI, ++OperandNo) { // Only look at the no-capture or byval pointer arguments. If this // pointer were passed to arguments that were neither of these, then it // couldn't be no-capture. if (!(*CI)->getType()->isPointerTy() || - (!CS.doesNotCapture(ArgNo) && !CS.isByValArgument(ArgNo))) + (!CS.doesNotCapture(OperandNo) && !CS.isByValArgument(OperandNo))) continue; // If this is a no-capture pointer argument, see if we can tell that it |

