[llvm] [GlobalISel] Lazily reserve worklist maps (NFC) (PR #221900)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 8 00:32:27 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-globalisel
Author: Cullen Rhodes (c-rhodes)
<details>
<summary>Changes</summary>
Small -0.03% geomean improvement on CTMark aarch64-O0-g, but consistent little improvements across the board.
https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=1729db67721b79fcb72469111d543e6df28c1185&stat=instructions:u
Assisted-by: codex
---
Full diff: https://github.com/llvm/llvm-project/pull/221900.diff
1 Files Affected:
- (modified) llvm/include/llvm/CodeGen/GlobalISel/GISelWorkList.h (+2-4)
``````````diff
diff --git a/llvm/include/llvm/CodeGen/GlobalISel/GISelWorkList.h b/llvm/include/llvm/CodeGen/GlobalISel/GISelWorkList.h
index dba3a8a14480c..709490fcfc0f8 100644
--- a/llvm/include/llvm/CodeGen/GlobalISel/GISelWorkList.h
+++ b/llvm/include/llvm/CodeGen/GlobalISel/GISelWorkList.h
@@ -33,8 +33,6 @@ class GISelWorkList {
#endif
public:
- GISelWorkList() : WorklistMap(N) {}
-
bool empty() const { return WorklistMap.empty(); }
unsigned size() const { return WorklistMap.size(); }
@@ -60,8 +58,8 @@ class GISelWorkList {
// It also asserts if there are any duplicate elements found.
void finalize() {
assert(WorklistMap.empty() && "Expecting empty worklistmap");
- if (Worklist.size() > N)
- WorklistMap.reserve(Worklist.size());
+ if (!Worklist.empty())
+ WorklistMap.reserve(Worklist.size() > N ? Worklist.size() : N);
for (unsigned i = 0; i < Worklist.size(); ++i)
if (!WorklistMap.try_emplace(Worklist[i], i).second)
llvm_unreachable("Duplicate elements in the list");
``````````
</details>
https://github.com/llvm/llvm-project/pull/221900
More information about the llvm-commits
mailing list