[llvm] [AMDGPU] Downgrade cluster loads in strict mode (PR #218999)
Stanislav Mekhanoshin via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 26 12:48:10 PDT 2026
================
@@ -11792,12 +11792,31 @@ SITargetLowering::lowerStructBufferAtomicIntrin(SDValue Op, SelectionDAG &DAG,
M->getMemOperand());
}
+static void initializeM0ToZeroForClusterLoad(SDValue Op, SelectionDAG &DAG,
+ SDLoc DL) {
+ SDNode *N = Op.getNode();
+ SDValue Zero = DAG.getConstant(0, DL, MVT::i32);
+ unsigned NumOperands = N->getNumOperands();
+ if (N->getOperand(NumOperands - 1) == Zero)
+ return;
+ SmallVector<SDValue, 7> Ops(N->ops());
+ Ops[NumOperands - 1] = Zero; // M0 = 0
+ DAG.UpdateNodeOperands(N, Ops);
+}
+
SDValue SITargetLowering::LowerINTRINSIC_W_CHAIN(SDValue Op,
SelectionDAG &DAG) const {
unsigned IntrID = Op.getConstantOperandVal(1);
SDLoc DL(Op);
switch (IntrID) {
+ case Intrinsic::amdgcn_cluster_load_b32:
----------------
rampitec wrote:
Apparently yes. It is not implemented in downstream too, so that is a todo.
https://github.com/llvm/llvm-project/pull/218999
More information about the llvm-commits
mailing list