aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Analysis/MemoryDependenceAnalysis.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-12-07 02:56:57 +0000
committerChris Lattner <sabre@nondot.org>2008-12-07 02:56:57 +0000
commit9a193fd8ae630478123938e12b56f84c5b2227b9 (patch)
tree5eab23bac19c19acf1d8ba37a6232fb31fb41f2c /include/llvm/Analysis/MemoryDependenceAnalysis.h
parent7ebcf0324668b7c6ba48832d5d8df95689a8d837 (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.h12
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;