summaryrefslogtreecommitdiff
path: root/lib/Analysis/NoAliasAnalysis.cpp
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-11-08 16:45:26 +0000
committerDan Gohman <gohman@apple.com>2010-11-08 16:45:26 +0000
commita25e5dbcc2371352386a01e3c1b8e76dd890272b (patch)
tree2d67b72b4ac69a9de510506f4182d2ac8b62edb8 /lib/Analysis/NoAliasAnalysis.cpp
parentc80cbf25402e4095fafbb15a2ab1b81cf6feda77 (diff)
downloadllvm-a25e5dbcc2371352386a01e3c1b8e76dd890272b.tar.gz
llvm-a25e5dbcc2371352386a01e3c1b8e76dd890272b.tar.bz2
llvm-a25e5dbcc2371352386a01e3c1b8e76dd890272b.tar.xz
Extend the AliasAnalysis::pointsToConstantMemory interface to allow it
to optionally look for constant or local (alloca) memory. Teach BasicAliasAnalysis::pointsToConstantMemory to look through Select and Phi nodes, and to support looking for local memory. Remove FunctionAttrs' PointsToLocalOrConstantMemory function, now that AliasAnalysis knows all the tricks that it knew. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118412 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/NoAliasAnalysis.cpp')
-rw-r--r--lib/Analysis/NoAliasAnalysis.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Analysis/NoAliasAnalysis.cpp b/lib/Analysis/NoAliasAnalysis.cpp
index 7602149edc..ab7a69241e 100644
--- a/lib/Analysis/NoAliasAnalysis.cpp
+++ b/lib/Analysis/NoAliasAnalysis.cpp
@@ -50,7 +50,10 @@ namespace {
return UnknownModRefBehavior;
}
- virtual bool pointsToConstantMemory(const Location &Loc) { return false; }
+ virtual bool pointsToConstantMemory(const Location &Loc,
+ bool OrLocal) {
+ return false;
+ }
virtual ModRefResult getModRefInfo(ImmutableCallSite CS,
const Location &Loc) {
return ModRef;