Cleanup and comment-ize the memdep header.
authorOwen Anderson <resistor@mac.com>
Wed, 8 Aug 2007 21:53:20 +0000 (21:53 +0000)
committerOwen Anderson <resistor@mac.com>
Wed, 8 Aug 2007 21:53:20 +0000 (21:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40948 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/MemoryDependenceAnalysis.h

index 2abb6e62db9def3831a9e6cc6b492c4fcfe2291c..409c10b01d500d9dfe571b9395842a60478725c0 100644 (file)
@@ -31,23 +31,24 @@ class Instruction;
 
 class MemoryDependenceAnalysis : public FunctionPass {
   private:
-
+    // A map from instructions to their dependency, with a boolean
+    // flags for whether this mapping is confirmed or not
     typedef DenseMap<Instruction*, std::pair<const Instruction*, bool> > 
-    depMapType;
-
+            depMapType;
     depMapType depGraphLocal;
 
-    typedef DenseMap<const Instruction*,
-                     SmallPtrSet<Instruction*, 4> > reverseDepMapType;
+    // A reverse mapping form dependencies to the dependees.  This is
+    // used when removing instructions to keep the cache coherent.
+    typedef DenseMap<const Instruction*, SmallPtrSet<Instruction*, 4> >
+            reverseDepMapType;
     reverseDepMapType reverseDep;
-  
-    const Instruction* getCallSiteDependency(CallSite C, Instruction* start,
-                                       BasicBlock* block);
-    void nonLocalHelper(Instruction* query, BasicBlock* block,
-                        DenseMap<BasicBlock*, Value*>& resp);
-  public:
     
+  public:
+    // Special marker indicating that the query has no dependency
+    // in the specified block.
     static const Instruction* NonLocal;
+    
+    // Special marker indicating that the query has no dependency at all
     static const Instruction* None;
     
     static char ID; // Class identification, replacement for typeinfo
@@ -79,6 +80,12 @@ class MemoryDependenceAnalysis : public FunctionPass {
     /// removeInstruction - Remove an instruction from the dependence analysis,
     /// updating the dependence of instructions that previously depended on it.
     void removeInstruction(Instruction* rem);
+    
+  private:
+    const Instruction* getCallSiteDependency(CallSite C, Instruction* start,
+                                       BasicBlock* block);
+    void nonLocalHelper(Instruction* query, BasicBlock* block,
+                        DenseMap<BasicBlock*, Value*>& resp);
   };
 
 } // End llvm namespace