mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
[AMDGPU] SIFoldOperands: use MachineRegisterInfo::hasOneNonDBGUser
NFC.
This commit is contained in:
parent
eee21c8a0f
commit
8da19d4f2d
@ -1353,23 +1353,10 @@ const MachineOperand *SIFoldOperands::isClamp(const MachineInstr &MI) const {
|
||||
}
|
||||
}
|
||||
|
||||
// We obviously have multiple uses in a clamp since the register is used twice
|
||||
// in the same instruction.
|
||||
static bool hasOneNonDBGUseInst(const MachineRegisterInfo &MRI, unsigned Reg) {
|
||||
int Count = 0;
|
||||
for (auto I = MRI.use_instr_nodbg_begin(Reg), E = MRI.use_instr_nodbg_end();
|
||||
I != E; ++I) {
|
||||
if (++Count > 1)
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// FIXME: Clamp for v_mad_mixhi_f16 handled during isel.
|
||||
bool SIFoldOperands::tryFoldClamp(MachineInstr &MI) {
|
||||
const MachineOperand *ClampSrc = isClamp(MI);
|
||||
if (!ClampSrc || !hasOneNonDBGUseInst(*MRI, ClampSrc->getReg()))
|
||||
if (!ClampSrc || !MRI->hasOneNonDBGUser(ClampSrc->getReg()))
|
||||
return false;
|
||||
|
||||
MachineInstr *Def = MRI->getVRegDef(ClampSrc->getReg());
|
||||
@ -1509,7 +1496,7 @@ bool SIFoldOperands::tryFoldOMod(MachineInstr &MI) {
|
||||
std::tie(RegOp, OMod) = isOMod(MI);
|
||||
if (OMod == SIOutMods::NONE || !RegOp->isReg() ||
|
||||
RegOp->getSubReg() != AMDGPU::NoSubRegister ||
|
||||
!hasOneNonDBGUseInst(*MRI, RegOp->getReg()))
|
||||
!MRI->hasOneNonDBGUser(RegOp->getReg()))
|
||||
return false;
|
||||
|
||||
MachineInstr *Def = MRI->getVRegDef(RegOp->getReg());
|
||||
|
Loading…
Reference in New Issue
Block a user