diff options
author | Dan Gohman <gohman@apple.com> | 2010-09-07 20:37:47 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-09-07 20:37:47 +0000 |
commit | fa6cb8d8211579f1370e80b7bac54ebe3fbe35c8 (patch) | |
tree | 416ecf7709c2762f778d083919aaccc60401a0e2 /include | |
parent | 0d1340b181cd1defddfe7afb51a17124ad61ea1e (diff) | |
download | llvm-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.h | 64 |
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. |