[llvm] [AMDGPU] Use AllowLDSDMA=false in non-hazard passes (part 2) (PR #222086)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 8 13:49:07 PDT 2026
================
@@ -258,46 +258,9 @@ bool SIInstrInfo::isReMaterializableImpl(
return true;
}
-bool SIInstrInfo::isSrc1DPPRevOpcode(const GCNSubtarget &ST, uint32_t Opcode) {
- switch (Opcode) {
- // v_subrev_u16 (gfx9)
- case AMDGPU::V_SUBREV_U16_e32:
- case AMDGPU::V_SUBREV_U16_e64:
- // v_subrev_u32 (gfx9) / v_subrev_nc_u32 (gfx10+)
- case AMDGPU::V_SUBREV_U32_e32:
- case AMDGPU::V_SUBREV_U32_e64:
- // v_subrev_co_u32
- case AMDGPU::V_SUBREV_CO_U32_e32:
- case AMDGPU::V_SUBREV_CO_U32_e64:
- // v_subbrev_u32 (gfx9) / v_subrev_co_ci_u32 (gfx10+)
- case AMDGPU::V_SUBBREV_U32_e32:
- case AMDGPU::V_SUBBREV_U32_e64:
- return true;
- // REV shift opcodes worked this way before GFX11, verified on hardware
- case AMDGPU::V_ASHRREV_I16_e32:
- case AMDGPU::V_ASHRREV_I16_e64:
- case AMDGPU::V_ASHRREV_I32_e32:
- case AMDGPU::V_ASHRREV_I32_e64:
- case AMDGPU::V_ASHRREV_I64_e64:
- case AMDGPU::V_LSHLREV_B16_e32:
- case AMDGPU::V_LSHLREV_B16_e64:
- case AMDGPU::V_LSHLREV_B32_e32:
- case AMDGPU::V_LSHLREV_B32_e64:
- case AMDGPU::V_LSHLREV_B64_e64:
- case AMDGPU::V_LSHRREV_B16_e32:
- case AMDGPU::V_LSHRREV_B16_e64:
- case AMDGPU::V_LSHRREV_B32_e32:
- case AMDGPU::V_LSHRREV_B32_e64:
- case AMDGPU::V_LSHRREV_B64_e64:
- return !ST.hasGFX11Insts();
- default:
- return false;
- }
-}
-
// Returns true if the result of a VALU instruction depends on exec.
bool SIInstrInfo::resultDependsOnExec(const MachineInstr &MI) const {
- assert(isVALU(MI, /*AllowLDSDMA=*/true));
+ assert(isVALU(MI, /*AllowLDSDMA=*/false));
----------------
arsenm wrote:
Why?
https://github.com/llvm/llvm-project/pull/222086
More information about the llvm-commits
mailing list