[llvm] AMDGPU: Delete seemingly dead s_fmaak_f32/s_fmamk_f32 folding code (PR #140580)
via llvm-commits
llvm-commits at lists.llvm.org
Mon May 19 10:22:33 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-amdgpu
Author: Matt Arsenault (arsenm)
<details>
<summary>Changes</summary>
No tests fail with this. I'm not sure I understand the comment,
there can't be any folding into an operand that had to already
be a constant. I tried different combinations of immediates to these
instructions but never hit the condition.
---
Full diff: https://github.com/llvm/llvm-project/pull/140580.diff
1 Files Affected:
- (modified) llvm/lib/Target/AMDGPU/SIFoldOperands.cpp (-11)
``````````diff
diff --git a/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp b/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
index 92937e33fd500..d94c2d8b03dff 100644
--- a/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
+++ b/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
@@ -767,17 +767,6 @@ bool SIFoldOperandsImpl::tryAddToFoldList(
return true;
}
- // Inlineable constant might have been folded into Imm operand of fmaak or
- // fmamk and we are trying to fold a non-inlinable constant.
- if ((Opc == AMDGPU::S_FMAAK_F32 || Opc == AMDGPU::S_FMAMK_F32) &&
- !OpToFold->isReg() && !TII->isInlineConstant(*OpToFold)) {
- unsigned ImmIdx = Opc == AMDGPU::S_FMAAK_F32 ? 3 : 2;
- MachineOperand &OpImm = MI->getOperand(ImmIdx);
- if (!OpImm.isReg() &&
- TII->isInlineConstant(*MI, MI->getOperand(OpNo), OpImm))
- return tryToFoldAsFMAAKorMK();
- }
-
// Special case for s_fmac_f32 if we are trying to fold into Src0 or Src1.
// By changing into fmamk we can untie Src2.
// If folding for Src0 happens first and it is identical operand to Src1 we
``````````
</details>
https://github.com/llvm/llvm-project/pull/140580
More information about the llvm-commits
mailing list