diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h | 6 | ||||
| -rw-r--r-- | llvm/lib/Analysis/MemoryDependenceAnalysis.cpp | 25 | 
2 files changed, 17 insertions, 14 deletions
diff --git a/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h b/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h index 17e28fc560f..ffc675837ae 100644 --- a/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h +++ b/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h @@ -51,8 +51,6 @@ namespace llvm {      reverseDepMapType reverseDepNonLocal;    public: -    void ping(Instruction* D); -      // Special marker indicating that the query has no dependency      // in the specified block.      static Instruction* const NonLocal; @@ -104,6 +102,10 @@ namespace llvm {      void dropInstruction(Instruction* drop);    private: +    /// verifyRemoved - Verify that the specified instruction does not occur +    /// in our internal data structures. +    void verifyRemoved(Instruction *Inst) const; +          Instruction* getCallSiteDependency(CallSite C, Instruction* start,                                         BasicBlock* block);      void nonLocalHelper(Instruction* query, BasicBlock* block, diff --git a/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp b/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp index f99f6afab5e..0dea0696e04 100644 --- a/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp +++ b/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp @@ -48,31 +48,32 @@ Instruction* const MemoryDependenceAnalysis::Dirty = (Instruction*)-5;  static RegisterPass<MemoryDependenceAnalysis> X("memdep",                                                  "Memory Dependence Analysis", false, true); -void MemoryDependenceAnalysis::ping(Instruction *D) { -  for (depMapType::iterator I = depGraphLocal.begin(), E = depGraphLocal.end(); -       I != E; ++I) { +void MemoryDependenceAnalysis::verifyRemoved(Instruction *D) const { +  for (depMapType::const_iterator I = depGraphLocal.begin(), +       E = depGraphLocal.end(); I != E; ++I) {      assert(I->first != D);      assert(I->second.first != D);    } -  for (nonLocalDepMapType::iterator I = depGraphNonLocal.begin(), E = depGraphNonLocal.end(); -       I != E; ++I) { +  for (nonLocalDepMapType::const_iterator I = depGraphNonLocal.begin(), +       E = depGraphNonLocal.end(); I != E; ++I) {      assert(I->first != D);      for (DenseMap<BasicBlock*, Value*>::iterator II = I->second.begin(),           EE = I->second.end(); II  != EE; ++II)        assert(II->second != D);    } -  for (reverseDepMapType::iterator I = reverseDep.begin(), E = reverseDep.end(); -       I != E; ++I) -    for (SmallPtrSet<Instruction*, 4>::iterator II = I->second.begin(), EE = I->second.end(); -         II != EE; ++II) +  for (reverseDepMapType::const_iterator I = reverseDep.begin(), +       E = reverseDep.end(); I != E; ++I) +    for (SmallPtrSet<Instruction*, 4>::const_iterator II = I->second.begin(), +         EE = I->second.end(); II != EE; ++II)        assert(*II != D); -  for (reverseDepMapType::iterator I = reverseDepNonLocal.begin(), E = reverseDepNonLocal.end(); +  for (reverseDepMapType::const_iterator I = reverseDepNonLocal.begin(), +       E = reverseDepNonLocal.end();         I != E; ++I) -    for (SmallPtrSet<Instruction*, 4>::iterator II = I->second.begin(), EE = I->second.end(); -         II != EE; ++II) +    for (SmallPtrSet<Instruction*, 4>::const_iterator II = I->second.begin(), +         EE = I->second.end(); II != EE; ++II)        assert(*II != D);  }  | 

