[llvm] [BOLT][Passes] reserve layout vectors in ExtTSP block reordering. (PR #206402)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Jun 28 22:43:15 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-bolt
Author: David CARLIER (devnexen)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/206402.diff
1 Files Affected:
- (modified) bolt/lib/Passes/ReorderAlgorithm.cpp (+4)
``````````diff
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);
``````````
</details>
https://github.com/llvm/llvm-project/pull/206402
More information about the llvm-commits
mailing list