[llvm] [AMDGPU][GlobalISel] Remove dependency on legal ruleset (PR #197371)

David Green via llvm-commits llvm-commits at lists.llvm.org
Tue May 12 23:35:42 PDT 2026


https://github.com/davemgreen created https://github.com/llvm/llvm-project/pull/197371

This fills in always legal rules, to remove the dependency on the legacy ruleset.

>From 2ca2c35945e1a6aee05efe017cab2a016ec4d90b Mon Sep 17 00:00:00 2001
From: David Green <david.green at arm.com>
Date: Wed, 13 May 2026 07:33:48 +0100
Subject: [PATCH] [AMDGPU][GlobalISel] Remove dependency on legal ruleset

This fills in always legal rules, to remove the dependency on the legacy
ruleset.
---
 llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
index 2b08c09ea9563..46fef11c7549d 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
@@ -734,6 +734,8 @@ AMDGPULegalizerInfo::AMDGPULegalizerInfo(const GCNSubtarget &ST_,
 
   const LLT MinScalarFPTy = ST.has16BitInsts() ? S16 : S32;
 
+  getActionDefinitionsBuilder(G_BR).alwaysLegal();
+
   // s1 for VCC branches, s32 for SCC branches.
   getActionDefinitionsBuilder(G_BRCOND).legalFor({S1, S32});
 
@@ -2230,6 +2232,11 @@ AMDGPULegalizerInfo::AMDGPULegalizerInfo(const GCNSubtarget &ST_,
       .scalarize(1)
       .lower();
 
+  getActionDefinitionsBuilder({G_INTRINSIC, G_INTRINSIC_W_SIDE_EFFECTS,
+                               G_INTRINSIC_CONVERGENT,
+                               G_INTRINSIC_CONVERGENT_W_SIDE_EFFECTS})
+      .alwaysLegal();
+
   getLegacyLegalizerInfo().computeTables();
   verify(*ST.getInstrInfo());
 }



More information about the llvm-commits mailing list