mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-18 12:25:47 +00:00
R600/SI: Simplify code with hasModifiersSet
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220065 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -97,20 +97,19 @@ static bool canShrink(MachineInstr &MI, const SIInstrInfo *TII,
|
|||||||
if (Src1 && (!isVGPR(Src1, TRI, MRI) || (Src1Mod && Src1Mod->getImm() != 0)))
|
if (Src1 && (!isVGPR(Src1, TRI, MRI) || (Src1Mod && Src1Mod->getImm() != 0)))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// We don't need to check src0, all input types are legal, so just make
|
// We don't need to check src0, all input types are legal, so just make sure
|
||||||
// sure src0 isn't using any modifiers.
|
// src0 isn't using any modifiers.
|
||||||
const MachineOperand *Src0Mod =
|
if (TII->hasModifiersSet(MI, AMDGPU::OpName::src0_modifiers))
|
||||||
TII->getNamedOperand(MI, AMDGPU::OpName::src0_modifiers);
|
|
||||||
if (Src0Mod && Src0Mod->getImm() != 0)
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Check output modifiers
|
// Check output modifiers
|
||||||
const MachineOperand *Omod = TII->getNamedOperand(MI, AMDGPU::OpName::omod);
|
if (TII->hasModifiersSet(MI, AMDGPU::OpName::omod))
|
||||||
if (Omod && Omod->getImm() != 0)
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
const MachineOperand *Clamp = TII->getNamedOperand(MI, AMDGPU::OpName::clamp);
|
if (TII->hasModifiersSet(MI, AMDGPU::OpName::clamp))
|
||||||
return !Clamp || Clamp->getImm() == 0;
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// \brief This function checks \p MI for operands defined by a move immediate
|
/// \brief This function checks \p MI for operands defined by a move immediate
|
||||||
|
Reference in New Issue
Block a user