[llvm] [AMDGPU] Fix VTList for BUFFER_LOAD and DENORM_MODE (PR #138704)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Tue May 6 08:17:56 PDT 2025


https://github.com/jayfoad created https://github.com/llvm/llvm-project/pull/138704

This fixes bugs that would be caught by verifyTargetNode in #119709.


>From 2c7fb8f7332fa43ba2c09ff7a98a85bf3b5c9d6b Mon Sep 17 00:00:00 2001
From: Jay Foad <jay.foad at amd.com>
Date: Tue, 6 May 2025 15:59:41 +0100
Subject: [PATCH] [AMDGPU] Fix VTList for BUFFER_LOAD and DENORM_MODE

This fixes bugs that would be caught by verifyTargetNode in #119709.
---
 llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
index d7f1f1c651d68..b08b6b46fc52c 100644
--- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
@@ -8703,7 +8703,7 @@ SDValue SITargetLowering::lowerSBuffer(EVT VT, SDLoc DL, SDValue Rsrc,
     LoadVT = MVT::getVectorVT(LoadVT.getScalarType(), 4);
   }
 
-  SDVTList VTList = DAG.getVTList({LoadVT, MVT::Glue});
+  SDVTList VTList = DAG.getVTList({LoadVT, MVT::Other});
 
   // Use the alignment to ensure that the required offsets will fit into the
   // immediate offsets.
@@ -11184,9 +11184,10 @@ SDValue SITargetLowering::LowerFDIV32(SDValue Op, SelectionDAG &DAG) const {
       const SDValue DisableDenormValue = getSPDenormModeValue(
           FP_DENORM_FLUSH_IN_FLUSH_OUT, DAG, Info, Subtarget);
 
+      SDVTList BindParamVTs = DAG.getVTList(MVT::Other, MVT::Glue);
       DisableDenorm =
-          DAG.getNode(AMDGPUISD::DENORM_MODE, SL, MVT::Other, Fma4.getValue(1),
-                      DisableDenormValue, Fma4.getValue(2))
+          DAG.getNode(AMDGPUISD::DENORM_MODE, SL, BindParamVTs,
+                      Fma4.getValue(1), DisableDenormValue, Fma4.getValue(2))
               .getNode();
     } else {
       assert(HasDynamicDenormals == (bool)SavedDenormMode);



More information about the llvm-commits mailing list