[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