From 1fc88933e6ffbbb2b876cf67210f1a238f2af16d Mon Sep 17 00:00:00 2001 From: Cameron Zwarich Date: Tue, 12 Feb 2013 03:49:22 +0000 Subject: Renumber SlotIndexes locally when a new block is inserted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174937 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/SlotIndexes.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'include/llvm/CodeGen/SlotIndexes.h') diff --git a/include/llvm/CodeGen/SlotIndexes.h b/include/llvm/CodeGen/SlotIndexes.h index d4e8c20a31..76c1cea252 100644 --- a/include/llvm/CodeGen/SlotIndexes.h +++ b/include/llvm/CodeGen/SlotIndexes.h @@ -605,14 +605,15 @@ namespace llvm { IndexListEntry *startEntry = 0; IndexListEntry *endEntry = 0; + IndexList::iterator newItr; if (nextMBB == mbb->getParent()->end()) { startEntry = &indexList.back(); endEntry = createEntry(0, 0); - indexList.insertAfter(startEntry, endEntry); + newItr = indexList.insertAfter(startEntry, endEntry); } else { startEntry = createEntry(0, 0); endEntry = getMBBStartIdx(nextMBB).listEntry(); - indexList.insert(endEntry, startEntry); + newItr = indexList.insert(endEntry, startEntry); } SlotIndex startIdx(startEntry, SlotIndex::Slot_Block); @@ -629,9 +630,7 @@ namespace llvm { MBBRanges.push_back(std::make_pair(startIdx, endIdx)); idx2MBBMap.push_back(IdxMBBPair(startIdx, mbb)); - // FIXME: Renumber locally instead of renumbering the whole function every - // time a new block is inserted. - renumberIndexes(); + renumberIndexes(newItr); std::sort(idx2MBBMap.begin(), idx2MBBMap.end(), Idx2MBBCompare()); } -- cgit v1.2.3