From 8cb8245cf117fc4a4f0a6549d9a773a12895550c Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Mon, 23 Jun 2008 21:15:00 +0000 Subject: [PATCH] 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 --- lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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) { -- 2.34.1