[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