Improve use of CfgLocalAllocator and introduce containers that use it. This doesn't make a big difference but does reduce the proportion of time spent in malloc and free. BUG= R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1349833005 .
diff --git a/src/IceCfg.cpp b/src/IceCfg.cpp index 4c703cf..02d4503 100644 --- a/src/IceCfg.cpp +++ b/src/IceCfg.cpp
@@ -314,13 +314,13 @@ void Cfg::reorderNodes() { // TODO(ascull): it would be nice if the switch tests were always followed by // the default case to allow for fall through. - using PlacedList = std::list<CfgNode *>; + using PlacedList = CfgList<CfgNode *>; PlacedList Placed; // Nodes with relative placement locked down PlacedList Unreachable; // Unreachable nodes PlacedList::iterator NoPlace = Placed.end(); // Keep track of where each node has been tentatively placed so that we can // manage insertions into the middle. - std::vector<PlacedList::iterator> PlaceIndex(Nodes.size(), NoPlace); + CfgVector<PlacedList::iterator> PlaceIndex(Nodes.size(), NoPlace); for (CfgNode *Node : Nodes) { // The "do ... while(0);" construct is to factor out the --PlaceIndex and // assert() statements before moving to the next node.