diff --git a/lib/CodeGen/InstrSched/SchedGraph.h b/lib/CodeGen/InstrSched/SchedGraph.h index 99e20576b8f..8a8a523f004 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 + private std::vector { private: const Function* method; public: - typedef std::hash_map map_base; - using map_base::iterator; - using map_base::const_iterator; + typedef std::vector 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); }; diff --git a/lib/Target/SparcV9/InstrSched/SchedGraph.h b/lib/Target/SparcV9/InstrSched/SchedGraph.h index 99e20576b8f..8a8a523f004 100644 --- a/lib/Target/SparcV9/InstrSched/SchedGraph.h +++ b/lib/Target/SparcV9/InstrSched/SchedGraph.h @@ -336,49 +336,35 @@ private: class SchedGraphSet : public NonCopyable, - private std::hash_map + private std::vector { private: const Function* method; public: - typedef std::hash_map map_base; - using map_base::iterator; - using map_base::const_iterator; + typedef std::vector 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); };