Reserve space for the eventual filling of the vector. This gives a small speedup.
authorBill Wendling <isanbard@gmail.com>
Tue, 3 Apr 2012 10:50:09 +0000 (10:50 +0000)
committerBill Wendling <isanbard@gmail.com>
Tue, 3 Apr 2012 10:50:09 +0000 (10:50 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153949 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Metadata.cpp

index e3a08d4949ce1eb548b2c4c1f7fd52b9615bb21d..46363eed5251c4daa693c3c5408a39008e8a884c 100644 (file)
@@ -551,17 +551,16 @@ getAllMetadataOtherThanDebugLocImpl(SmallVectorImpl<std::pair<unsigned,
          getContext().pImpl->MetadataStore.count(this) &&
          "Shouldn't have called this");
   const LLVMContextImpl::MDMapTy &Info =
-  getContext().pImpl->MetadataStore.find(this)->second;
+    getContext().pImpl->MetadataStore.find(this)->second;
   assert(!Info.empty() && "Shouldn't have called this");
-  
+  Result.reserve(Info.size());
   Result.append(Info.begin(), Info.end());
-  
+
   // Sort the resulting array so it is stable.
   if (Result.size() > 1)
     array_pod_sort(Result.begin(), Result.end());
 }
 
-
 /// clearMetadataHashEntries - Clear all hashtable-based metadata from
 /// this instruction.
 void Instruction::clearMetadataHashEntries() {