[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