[llvm] [SelectionDAG] Unique extended single-element VT lists with VTLists (NFC) (PR #219516)

Kazu Hirata via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 28 09:30:28 PDT 2026


https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/219516

This patch uniques single-element lists containing an extended EVT in
DenseSet-based VTLists, added on August 28, 2026 in commit 1829cfa8daf2.

Assisted-by: Antigravity


>From 0c121e23822edd8356db28a466fe70d03cc093de Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Fri, 28 Aug 2026 08:44:15 -0700
Subject: [PATCH] [SelectionDAG] Unique extended single-element VT lists with
 VTLists (NFC)

This patch uniques single-element lists containing an extended EVT in
DenseSet-based VTLists, added on August 28, 2026 in commit 1829cfa8daf2.

Assisted-by: Antigravity
---
 llvm/include/llvm/CodeGen/SelectionDAG.h       | 3 ---
 llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 3 ++-
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/llvm/include/llvm/CodeGen/SelectionDAG.h b/llvm/include/llvm/CodeGen/SelectionDAG.h
index c0649b6c75c7c..c2d457a35ceff 100644
--- a/llvm/include/llvm/CodeGen/SelectionDAG.h
+++ b/llvm/include/llvm/CodeGen/SelectionDAG.h
@@ -208,9 +208,6 @@ class SelectionDAG {
   BlockFrequencyInfo *BFI = nullptr;
   MachineModuleInfo *MMI = nullptr;
 
-  /// Extended EVTs used for single value VTLists.
-  std::set<EVT, EVT::compareRawBits> EVTs;
-
   /// Uniquing of VT lists.  Each key aliases the EVT array that the returned
   /// SDVTList points at, allocated from \p Allocator.
   struct VTListInfo {
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 07d7636e6cb3b..f2c919cca9d97 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -12262,7 +12262,8 @@ SDVTList SelectionDAG::getVTList(EVT VT) {
   if (!VT.isExtended())
     return makeVTList(SDNode::getValueTypeList(VT.getSimpleVT()), 1);
 
-  return makeVTList(&(*EVTs.insert(VT).first), 1);
+  EVT VTs[] = {VT};
+  return getVTList(VTs);
 }
 
 SDVTList SelectionDAG::getVTList(EVT VT1, EVT VT2) {



More information about the llvm-commits mailing list