aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Analysis/AliasAnalysis.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Analysis/AliasAnalysis.h')
-rw-r--r--include/llvm/Analysis/AliasAnalysis.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/include/llvm/Analysis/AliasAnalysis.h b/include/llvm/Analysis/AliasAnalysis.h
index 6a22ad36a5..48a9396262 100644
--- a/include/llvm/Analysis/AliasAnalysis.h
+++ b/include/llvm/Analysis/AliasAnalysis.h
@@ -154,15 +154,16 @@ public:
return isNoAlias(Location(V1, V1Size), Location(V2, V2Size));
}
- /// pointsToConstantMemory - If the specified memory location is known to be
- /// constant, return true. This allows disambiguation of store
- /// instructions from constant pointers.
- ///
- virtual bool pointsToConstantMemory(const Location &Loc);
+ /// pointsToConstantMemory - If the specified memory location is
+ /// known to be constant, return true. If OrLocal is true and the
+ /// specified memory location is known to be "local" (derived from
+ /// an alloca), return true. Otherwise return false.
+ virtual bool pointsToConstantMemory(const Location &Loc,
+ bool OrLocal = false);
/// pointsToConstantMemory - A convenient wrapper.
- bool pointsToConstantMemory(const Value *P) {
- return pointsToConstantMemory(Location(P));
+ bool pointsToConstantMemory(const Value *P, bool OrLocal = false) {
+ return pointsToConstantMemory(Location(P), OrLocal);
}
//===--------------------------------------------------------------------===//