[llvm] [NFC][AMDGPU] use DAG.UpdateNodeOperands update chain (PR #166396)

via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 4 08:28:57 PST 2025


https://github.com/actinks created https://github.com/llvm/llvm-project/pull/166396

None

>From 5f1e7083dffc73d6c6c545cf77eb699e6caeee3d Mon Sep 17 00:00:00 2001
From: actink <actink at 163.com>
Date: Wed, 5 Nov 2025 00:26:53 +0800
Subject: [PATCH] [NFC][AMDGPU] use DAG.UpdateNodeOperands update chain

---
 llvm/lib/Target/AMDGPU/R600ISelLowering.cpp | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/llvm/lib/Target/AMDGPU/R600ISelLowering.cpp b/llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
index 2aa54c920a046..31eca049fd149 100644
--- a/llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
+++ b/llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
@@ -1129,12 +1129,9 @@ SDValue R600TargetLowering::LowerSTORE(SDValue Op, SelectionDAG &DAG) const {
     if ((AS == AMDGPUAS::PRIVATE_ADDRESS) && TruncatingStore) {
       // Add an extra level of chain to isolate this vector
       SDValue NewChain = DAG.getNode(AMDGPUISD::DUMMY_CHAIN, DL, MVT::Other, Chain);
-      // TODO: can the chain be replaced without creating a new store?
-      SDValue NewStore = DAG.getTruncStore(
-          NewChain, DL, Value, Ptr, StoreNode->getPointerInfo(), MemVT,
-          StoreNode->getAlign(), StoreNode->getMemOperand()->getFlags(),
-          StoreNode->getAAInfo());
-      StoreNode = cast<StoreSDNode>(NewStore);
+      SmallVector<SDValue, 4> NewOps(StoreNode->ops());
+      NewOps[0] = NewChain;
+      StoreNode = cast<StoreSDNode>(DAG.UpdateNodeOperands(StoreNode, NewOps));
     }
 
     return scalarizeVectorStore(StoreNode, DAG);



More information about the llvm-commits mailing list