summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-09-07 20:37:47 +0000
committerDan Gohman <gohman@apple.com>2010-09-07 20:37:47 +0000
commitfa6cb8d8211579f1370e80b7bac54ebe3fbe35c8 (patch)
tree416ecf7709c2762f778d083919aaccc60401a0e2 /include
parent0d1340b181cd1defddfe7afb51a17124ad61ea1e (diff)
downloadllvm-fa6cb8d8211579f1370e80b7bac54ebe3fbe35c8.tar.gz
llvm-fa6cb8d8211579f1370e80b7bac54ebe3fbe35c8.tar.bz2
llvm-fa6cb8d8211579f1370e80b7bac54ebe3fbe35c8.tar.xz
Tidy up the getModRefInfo declarations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113275 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Analysis/AliasAnalysis.h64
1 files changed, 40 insertions, 24 deletions
diff --git a/include/llvm/Analysis/AliasAnalysis.h b/include/llvm/Analysis/AliasAnalysis.h
index ad68d48e53..0183b193b9 100644
--- a/include/llvm/Analysis/AliasAnalysis.h
+++ b/include/llvm/Analysis/AliasAnalysis.h
@@ -222,44 +222,60 @@ public:
/// getModRefInfo - Return information about whether or not an instruction may
/// read or write memory specified by the pointer operand. An instruction
/// that doesn't read or write memory may be trivially LICM'd for example.
+ ModRefResult getModRefInfo(const Instruction *I,
+ const Value *P, unsigned Size) {
+ switch (I->getOpcode()) {
+ case Instruction::VAArg: return getModRefInfo((const VAArgInst*)I, P,Size);
+ case Instruction::Load: return getModRefInfo((const LoadInst*)I, P, Size);
+ case Instruction::Store: return getModRefInfo((const StoreInst*)I, P,Size);
+ case Instruction::Call: return getModRefInfo((const CallInst*)I, P, Size);
+ case Instruction::Invoke: return getModRefInfo((const InvokeInst*)I,P,Size);
+ default: return NoModRef;
+ }
+ }
/// getModRefInfo (for call sites) - Return whether information about whether
/// a particular call site modifies or reads the memory specified by the
/// pointer.
- ///
virtual ModRefResult getModRefInfo(ImmutableCallSite CS,
const Value *P, unsigned Size);
- /// getModRefInfo - Return information about whether two call sites may refer
- /// to the same set of memory locations. See
- /// http://llvm.org/docs/AliasAnalysis.html#ModRefInfo
- /// for details.
- virtual ModRefResult getModRefInfo(ImmutableCallSite CS1,
- ImmutableCallSite CS2);
-
-public:
- /// Convenience functions...
- ModRefResult getModRefInfo(const LoadInst *L, const Value *P, unsigned Size);
- ModRefResult getModRefInfo(const StoreInst *S, const Value *P, unsigned Size);
- ModRefResult getModRefInfo(const VAArgInst* I, const Value* P, unsigned Size);
+ /// getModRefInfo (for calls) - Return whether information about whether
+ /// a particular call modifies or reads the memory specified by the
+ /// pointer.
ModRefResult getModRefInfo(const CallInst *C, const Value *P, unsigned Size) {
return getModRefInfo(ImmutableCallSite(C), P, Size);
}
+
+ /// getModRefInfo (for invokes) - Return whether information about whether
+ /// a particular invoke modifies or reads the memory specified by the
+ /// pointer.
ModRefResult getModRefInfo(const InvokeInst *I,
const Value *P, unsigned Size) {
return getModRefInfo(ImmutableCallSite(I), P, Size);
}
- ModRefResult getModRefInfo(const Instruction *I,
- const Value *P, unsigned Size) {
- switch (I->getOpcode()) {
- case Instruction::VAArg: return getModRefInfo((const VAArgInst*)I, P,Size);
- case Instruction::Load: return getModRefInfo((const LoadInst*)I, P, Size);
- case Instruction::Store: return getModRefInfo((const StoreInst*)I, P,Size);
- case Instruction::Call: return getModRefInfo((const CallInst*)I, P, Size);
- case Instruction::Invoke: return getModRefInfo((const InvokeInst*)I,P,Size);
- default: return NoModRef;
- }
- }
+
+ /// getModRefInfo (for loads) - Return whether information about whether
+ /// a particular load modifies or reads the memory specified by the
+ /// pointer.
+ ModRefResult getModRefInfo(const LoadInst *L, const Value *P, unsigned Size);
+
+ /// getModRefInfo (for stores) - Return whether information about whether
+ /// a particular store modifies or reads the memory specified by the
+ /// pointer.
+ ModRefResult getModRefInfo(const StoreInst *S, const Value *P, unsigned Size);
+
+ /// getModRefInfo (for va_args) - Return whether information about whether
+ /// a particular va_arg modifies or reads the memory specified by the
+ /// pointer.
+ ModRefResult getModRefInfo(const VAArgInst* I, const Value* P, unsigned Size);
+
+ /// getModRefInfo - Return information about whether two call sites may refer
+ /// to the same set of memory locations. See
+ /// http://llvm.org/docs/AliasAnalysis.html#ModRefInfo
+ /// for details.
+ virtual ModRefResult getModRefInfo(ImmutableCallSite CS1,
+ ImmutableCallSite CS2);
//===--------------------------------------------------------------------===//
/// Higher level methods for querying mod/ref information.