diff options
author | Vikram S. Adve <vadve@cs.uiuc.edu> | 2002-03-24 03:53:03 +0000 |
---|---|---|
committer | Vikram S. Adve <vadve@cs.uiuc.edu> | 2002-03-24 03:53:03 +0000 |
commit | 97fb99bc540c1b5611d85d09191f4c5311cf075a (patch) | |
tree | 4eacb0a4b43a70aa3cb5bd74040d2672312e8669 /lib/CodeGen/InstrSched/SchedGraph.h | |
parent | 1392d6903cff7a770674ddaa8651667c179c5c51 (diff) |
Use deterministic iterator for SchedGraphs. This is actually not
useful right now when we only do local scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1975 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/InstrSched/SchedGraph.h')
-rw-r--r-- | lib/CodeGen/InstrSched/SchedGraph.h | 34 |
1 files changed, 10 insertions, 24 deletions
diff --git a/lib/CodeGen/InstrSched/SchedGraph.h b/lib/CodeGen/InstrSched/SchedGraph.h index 99e20576b8..8a8a523f00 100644 --- a/lib/CodeGen/InstrSched/SchedGraph.h +++ b/lib/CodeGen/InstrSched/SchedGraph.h @@ -336,49 +336,35 @@ private: class SchedGraphSet : public NonCopyable, - private std::hash_map<const BasicBlock*, SchedGraph*> + private std::vector<SchedGraph*> { private: const Function* method; public: - typedef std::hash_map<const BasicBlock*, SchedGraph*> map_base; - using map_base::iterator; - using map_base::const_iterator; + typedef std::vector<SchedGraph*> baseVector; + using baseVector::iterator; + using baseVector::const_iterator; public: /*ctor*/ SchedGraphSet (const Function * function, const TargetMachine& target); /*dtor*/ ~SchedGraphSet (); - // - // Accessors - // - SchedGraph* getGraphForBasicBlock (const BasicBlock* bb) const { - const_iterator onePair = this->find(bb); - return (onePair != this->end())? (*onePair).second : NULL; - } - - // // Iterators - // - using map_base::begin; - using map_base::end; + using baseVector::begin; + using baseVector::end; - // // Debugging support - // void dump () const; private: - inline void noteGraphForBlock(const BasicBlock* bb, SchedGraph* graph) { - assert((*this)[bb] == NULL); - (*this)[bb] = graph; + inline void addGraph(SchedGraph* graph) { + assert(graph != NULL); + this->push_back(graph); } - - // + // Graph builder - // void buildGraphsForMethod (const Function *F, const TargetMachine& target); }; |