[llvm] [BOLT][Passes] reserve layout vectors in ExtTSP block reordering. (PR #206402)

David CARLIER via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 2 09:46:26 PDT 2026


https://github.com/devnexen updated https://github.com/llvm/llvm-project/pull/206402

>From 84ce3fb88ea87df57205b2f9d65dc219de6a7724 Mon Sep 17 00:00:00 2001
From: David Carlier <devnexen at gmail.com>
Date: Mon, 29 Jun 2026 06:41:18 +0100
Subject: [PATCH] [BOLT][Passes] reserve layout vectors in ExtTSP block
 reordering.

---
 bolt/lib/Passes/ReorderAlgorithm.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/bolt/lib/Passes/ReorderAlgorithm.cpp b/bolt/lib/Passes/ReorderAlgorithm.cpp
index c112e1a8dcea7..8fa6b2c53dc87 100644
--- a/bolt/lib/Passes/ReorderAlgorithm.cpp
+++ b/bolt/lib/Passes/ReorderAlgorithm.cpp
@@ -523,6 +523,10 @@ void ExtTSPReorderAlgorithm::reorderBasicBlocks(BinaryFunction &BF,
   std::vector<uint64_t> BlockCounts;
   BasicBlockOrder OrigOrder;
   BF.getLayout().updateLayoutIndices();
+  size_t BFBlockSize = BF.getLayout().block_size();
+  BlockSizes.reserve(BFBlockSize);
+  BlockCounts.reserve(BFBlockSize);
+  OrigOrder.reserve(BFBlockSize);
   for (BinaryBasicBlock *BB : BF.getLayout().blocks()) {
     uint64_t Size = std::max<uint64_t>(BB->estimateSize(Emitter.MCE.get()), 1);
     BlockSizes.push_back(Size);



More information about the llvm-commits mailing list