From: Dan Gohman Date: Mon, 23 Jun 2008 21:15:00 +0000 (+0000) Subject: Move a DenseMap's declaration outside of a loop, and just call X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8cb8245cf117fc4a4f0a6549d9a773a12895550c;p=oota-llvm.git Move a DenseMap's declaration outside of a loop, and just call clear() on each iteration. This avoids allocating and deallocating all of DenseMap's memory on each iteration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52642 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp index a50dd7b7c5d..f6d68f1ebd8 100644 --- a/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp +++ b/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp @@ -953,10 +953,11 @@ void ScheduleDAGRRList::ListScheduleBottomUp() { // While Available queue is not empty, grab the node with the highest // priority. If it is not ready put it back. Schedule the node. SmallVector NotReady; + DenseMap > LRegsMap; Sequence.reserve(SUnits.size()); while (!AvailableQueue->empty()) { bool Delayed = false; - DenseMap > LRegsMap; + LRegsMap.clear(); SUnit *CurSU = AvailableQueue->pop(); while (CurSU) { if (CurSU->CycleBound <= CurCycle) {