diff options
Diffstat (limited to 'lib/Analysis/DataStructure/MemoryDepAnalysis.cpp')
-rw-r--r-- | lib/Analysis/DataStructure/MemoryDepAnalysis.cpp | 14 |
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 |