diff options
author | Chris Lattner <sabre@nondot.org> | 2008-12-07 02:56:57 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-12-07 02:56:57 +0000 |
commit | 9a193fd8ae630478123938e12b56f84c5b2227b9 (patch) | |
tree | 5eab23bac19c19acf1d8ba37a6232fb31fb41f2c /include/llvm/Analysis/MemoryDependenceAnalysis.h | |
parent | 7ebcf0324668b7c6ba48832d5d8df95689a8d837 (diff) |
Some internal refactoring to make it easier to cache results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60650 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis/MemoryDependenceAnalysis.h')
-rw-r--r-- | include/llvm/Analysis/MemoryDependenceAnalysis.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/include/llvm/Analysis/MemoryDependenceAnalysis.h b/include/llvm/Analysis/MemoryDependenceAnalysis.h index 819035dbd2..e2dd6629b7 100644 --- a/include/llvm/Analysis/MemoryDependenceAnalysis.h +++ b/include/llvm/Analysis/MemoryDependenceAnalysis.h @@ -151,7 +151,7 @@ namespace llvm { typedef std::pair<BasicBlock*, MemDepResult> NonLocalDepEntry; typedef std::vector<NonLocalDepEntry> NonLocalDepInfo; private: - + /// PerInstNLInfo - This is the instruction we keep for each cached access /// that we have for an instruction. The pointer is an owning pointer and /// the bool indicates whether we have any dirty bits in the set. @@ -219,9 +219,7 @@ namespace llvm { /// access to the specified (non-volatile) memory location, returning the /// set of instructions that either define or clobber the value. /// - /// This method assumes the pointer has a "NonLocal" dependency within BB - /// and assumes that Result is empty when you call it. - /// + /// This method assumes the pointer has a "NonLocal" dependency within BB. void getNonLocalPointerDependency(Value *Pointer, bool isLoad, BasicBlock *BB, SmallVectorImpl<NonLocalDepEntry> &Result); @@ -243,6 +241,12 @@ namespace llvm { BasicBlock::iterator ScanIt, BasicBlock *BB); + void getNonLocalPointerDepInternal(Value *Pointer, uint64_t Size, + bool isLoad, BasicBlock *BB, + SmallVectorImpl<NonLocalDepEntry> &Result, + SmallPtrSet<BasicBlock*, 64> &Visited); + + /// verifyRemoved - Verify that the specified instruction does not occur /// in our internal data structures. void verifyRemoved(Instruction *Inst) const; |