mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-29 10:32:47 +00:00
Add a new pointsToConstantMemory method to the AliasAnalysis interface
which can be implemented to improve the quality of mod-ref information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11020 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
cf93cdde56
commit
762e8e846f
@ -95,6 +95,11 @@ public:
|
||||
///
|
||||
virtual void getMustAliases(Value *P, std::vector<Value*> &RetVals) {}
|
||||
|
||||
/// pointsToConstantMemory - If the specified pointer is known to point into
|
||||
/// constant global memory, return true. This allows disambiguation of store
|
||||
/// instructions from constant pointers.
|
||||
///
|
||||
virtual bool pointsToConstantMemory(const Value *P) { return false; }
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
/// Simple mod/ref information...
|
||||
@ -114,7 +119,9 @@ public:
|
||||
/// pointer.
|
||||
///
|
||||
virtual ModRefResult getModRefInfo(CallSite CS, Value *P, unsigned Size) {
|
||||
return ModRef;
|
||||
// If P points to a constant memory location, the call definitely could not
|
||||
// modify the memory location.
|
||||
return pointsToConstantMemory(P) ? Ref : ModRef;
|
||||
}
|
||||
|
||||
/// getModRefInfo - Return information about whether two call sites may refer
|
||||
|
Loading…
Reference in New Issue
Block a user