From 5ce4091a68936b94c1f8858a101e61e65f71a23b Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Mon, 8 Jul 2013 17:33:10 +0000 Subject: [PATCH] DebugInfo: Simplify Address Pool index handling. Since the pool indexes are necessarily sequential and contiguous, just insert things in the right place rather than having to sort the sequence after the fact. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185842 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 401e67cf04e..6b06d8b99b3 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -2385,19 +2385,17 @@ void DwarfUnits::emitAddresses(const MCSection *AddrSection) { // Get all of the address pool entries and put them in an array by their ID so // we can sort them. - SmallVector, 64> Entries; + SmallVector Entries(AddressPool.size()); for (DenseMap::iterator I = AddressPool.begin(), E = AddressPool.end(); I != E; ++I) - Entries.push_back(std::make_pair(I->second, I->first)); - - array_pod_sort(Entries.begin(), Entries.end()); + Entries[I->second] = I->first; for (unsigned i = 0, e = Entries.size(); i != e; ++i) { // Emit an expression for reference from debug information entries. - if (const MCExpr *Expr = Entries[i].second) + if (const MCExpr *Expr = Entries[i]) Asm->OutStreamer.EmitValue(Expr, Asm->getDataLayout().getPointerSize()); else Asm->OutStreamer.EmitIntValue(0, Asm->getDataLayout().getPointerSize());