summaryrefslogtreecommitdiff
path: root/lib/Analysis/DataStructure/MemoryDepAnalysis.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Analysis/DataStructure/MemoryDepAnalysis.cpp')
-rw-r--r--lib/Analysis/DataStructure/MemoryDepAnalysis.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/Analysis/DataStructure/MemoryDepAnalysis.cpp b/lib/Analysis/DataStructure/MemoryDepAnalysis.cpp
index 417b4be0ee..685b2eeed7 100644
--- a/lib/Analysis/DataStructure/MemoryDepAnalysis.cpp
+++ b/lib/Analysis/DataStructure/MemoryDepAnalysis.cpp
@@ -41,8 +41,7 @@
/// not copied over from one table to another since it is no longer useful.
///--------------------------------------------------------------------------
-struct ModRefTable
-{
+struct ModRefTable {
typedef hash_map<Instruction*, ModRefInfo> ModRefMap;
typedef ModRefMap::const_iterator const_map_iterator;
typedef ModRefMap:: iterator map_iterator;
@@ -198,6 +197,17 @@ public:
// class MemoryDepAnalysis: A dep. graph for load/store/call instructions
//----------------------------------------------------------------------------
+
+/// getAnalysisUsage - This does not modify anything. It uses the Top-Down DS
+/// Graph and IPModRef.
+///
+void MemoryDepAnalysis::getAnalysisUsage(AnalysisUsage &AU) const {
+ AU.setPreservesAll();
+ AU.addRequired<TDDataStructures>();
+ AU.addRequired<IPModRef>();
+}
+
+
/// Basic dependence gathering algorithm, using TarjanSCCIterator on CFG:
///
/// for every SCC S in the CFG in PostOrder on the SCC DAG