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

David CARLIER via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 28 22:42:41 PDT 2026


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

None

>From 40804a8b2af73a5daa4840d1873a1bbab9ce9bd8 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..7290a3afefa24 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