[llvm] cd2f665 - [GlobalISel] Lazily reserve worklist maps (NFC) (#221900)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 9 02:22:26 PDT 2026
Author: Cullen Rhodes
Date: 2026-09-09T10:22:21+01:00
New Revision: cd2f66534d425b3db62fea6df9703ffb87c6c3c5
URL: https://github.com/llvm/llvm-project/commit/cd2f66534d425b3db62fea6df9703ffb87c6c3c5
DIFF: https://github.com/llvm/llvm-project/commit/cd2f66534d425b3db62fea6df9703ffb87c6c3c5.diff
LOG: [GlobalISel] Lazily reserve worklist maps (NFC) (#221900)
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
Added:
Modified:
llvm/include/llvm/CodeGen/GlobalISel/GISelWorkList.h
Removed:
################################################################################
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");
More information about the llvm-commits
mailing list