[llvm] daed12d - AMDGPU: Remove unnecessary AGPR legalize logic (#159491)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 18 17:51:50 PDT 2025
Author: Matt Arsenault
Date: 2025-09-19T09:51:46+09:00
New Revision: daed12d00d4c24c8607e9c3d8ddbc7624471f049
URL: https://github.com/llvm/llvm-project/commit/daed12d00d4c24c8607e9c3d8ddbc7624471f049
DIFF: https://github.com/llvm/llvm-project/commit/daed12d00d4c24c8607e9c3d8ddbc7624471f049.diff
LOG: AMDGPU: Remove unnecessary AGPR legalize logic (#159491)
The manual legalizeOperands code only need to consider cases that
require full instruction context to know if the operand is legal.
This does not need to handle basic operand register class constraints.
Added:
Modified:
llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
index a737ad98c1d80..3847a73b0a497 100644
--- a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
@@ -6371,13 +6371,6 @@ void SIInstrInfo::legalizeOperandsVOP2(MachineRegisterInfo &MRI,
return;
}
- // No VOP2 instructions support AGPRs.
- if (Src0.isReg() && RI.isAGPR(MRI, Src0.getReg()))
- legalizeOpWithMove(MI, Src0Idx);
-
- if (Src1.isReg() && RI.isAGPR(MRI, Src1.getReg()))
- legalizeOpWithMove(MI, Src1Idx);
-
// Special case: V_FMAC_F32 and V_FMAC_F16 have src2.
if (Opc == AMDGPU::V_FMAC_F32_e32 || Opc == AMDGPU::V_FMAC_F16_e32) {
int Src2Idx = AMDGPU::getNamedOperandIdx(Opc, AMDGPU::OpName::src2);
@@ -6518,12 +6511,6 @@ void SIInstrInfo::legalizeOperandsVOP3(MachineRegisterInfo &MRI,
continue;
}
- if (RI.hasAGPRs(RI.getRegClassForReg(MRI, MO.getReg())) &&
- !isOperandLegal(MI, Idx, &MO)) {
- legalizeOpWithMove(MI, Idx);
- continue;
- }
-
if (!RI.isSGPRClass(RI.getRegClassForReg(MRI, MO.getReg())))
continue; // VGPRs are legal
More information about the llvm-commits
mailing list