Lines Matching refs:MachineOperand
58 std::optional<int64_t> foldToImm(const MachineOperand &Op) const;
85 MachineOperand *Target; // Operand that would be used in converted instruction
86 MachineOperand *Replaced; // Operand that would be replace by Target
89 SDWAOperand(MachineOperand *TargetOp, MachineOperand *ReplacedOp) in SDWAOperand()
102 MachineOperand *getTargetOperand() const { return Target; } in getTargetOperand()
103 MachineOperand *getReplacedOperand() const { return Replaced; } in getReplacedOperand()
126 SDWASrcOperand(MachineOperand *TargetOp, MachineOperand *ReplacedOp, in SDWASrcOperand()
143 const MachineOperand *SrcOp) const;
157 SDWADstOperand(MachineOperand *TargetOp, MachineOperand *ReplacedOp, in SDWADstOperand()
176 MachineOperand *Preserve;
179 SDWADstPreserveOperand(MachineOperand *TargetOp, MachineOperand *ReplacedOp, in SDWADstPreserveOperand()
180 MachineOperand *PreserveOp, SdwaSel DstSel_ = DWORD) in SDWADstPreserveOperand()
186 MachineOperand *getPreservedOperand() const { return Preserve; } in getPreservedOperand()
253 static void copyRegOperand(MachineOperand &To, const MachineOperand &From) { in copyRegOperand()
265 static bool isSameReg(const MachineOperand &LHS, const MachineOperand &RHS) { in isSameReg()
272 static MachineOperand *findSingleRegUse(const MachineOperand *Reg, in findSingleRegUse()
277 MachineOperand *ResMO = nullptr; in findSingleRegUse()
278 for (MachineOperand &UseMO : MRI->use_nodbg_operands(Reg->getReg())) { in findSingleRegUse()
294 static MachineOperand *findSingleRegDef(const MachineOperand *Reg, in findSingleRegDef()
313 const MachineOperand *SrcOp) const { in getSrcMods()
342 MachineOperand *Reg = getReplacedOperand(); in potentialToConvert()
353 for (MachineOperand &UseMO : getMRI()->use_nodbg_operands(Reg->getReg())) { in potentialToConvert()
366 MachineOperand *PotentialMO = findSingleRegUse(getReplacedOperand(), getMRI()); in potentialToConvert()
386 MachineOperand *Src = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in convertToSDWA()
387 MachineOperand *SrcSel = TII->getNamedOperand(MI, AMDGPU::OpName::src0_sel); in convertToSDWA()
388 MachineOperand *SrcMods = in convertToSDWA()
405 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in convertToSDWA()
406 MachineOperand *DstUnused = in convertToSDWA()
464 MachineOperand *PotentialMO = findSingleRegDef(getReplacedOperand(), MRI); in potentialToConvert()
489 MachineOperand *Operand = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in convertToSDWA()
494 MachineOperand *DstSel= TII->getNamedOperand(MI, AMDGPU::OpName::dst_sel); in convertToSDWA()
497 MachineOperand *DstUnused= TII->getNamedOperand(MI, AMDGPU::OpName::dst_unused); in convertToSDWA()
512 for (MachineOperand &MO : MI.uses()) { in convertToSDWA()
537 SIPeepholeSDWA::foldToImm(const MachineOperand &Op) const { in foldToImm()
545 for (const MachineOperand &Def : MRI->def_operands(Op.getReg())) { in foldToImm()
553 const MachineOperand &Copied = DefInst->getOperand(1); in foldToImm()
582 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
590 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
591 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
622 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
627 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
628 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
660 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
665 MachineOperand *Src2 = TII->getNamedOperand(MI, AMDGPU::OpName::src2); in matchSDWAOperand()
689 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
690 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
706 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
707 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
719 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
741 std::optional<std::pair<MachineOperand *, MachineOperand *>>; in matchSDWAOperand()
743 [&](const MachineOperand *Op1, const MachineOperand *Op2) -> CheckRetType { in matchSDWAOperand()
747 MachineOperand *Op1Def = findSingleRegDef(Op1, MRI); in matchSDWAOperand()
755 MachineOperand *Op2Def = findSingleRegDef(Op2, MRI); in matchSDWAOperand()
762 MachineOperand *OrSDWA = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
763 MachineOperand *OrOther = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
775 MachineOperand *OrSDWADef = Res->first; in matchSDWAOperand()
776 MachineOperand *OrOtherDef = Res->second; in matchSDWAOperand()
853 MachineOperand *OrDst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
911 const MachineOperand *Sdst = TII->getNamedOperand(MI, AMDGPU::OpName::sdst); in pseudoOpConvertToVOP2()
914 MachineOperand *NextOp = findSingleRegUse(Sdst, MRI); in pseudoOpConvertToVOP2()
920 MachineOperand *CarryIn = TII->getNamedOperand(MISucc, AMDGPU::OpName::src2); in pseudoOpConvertToVOP2()
923 MachineOperand *CarryOut = TII->getNamedOperand(MISucc, AMDGPU::OpName::sdst); in pseudoOpConvertToVOP2()
975 const MachineOperand *SDst = TII->getNamedOperand(MI, AMDGPU::OpName::sdst); in isConvertibleToSDWA()
1005 if (MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0)) { in isConvertibleToSDWA()
1010 if (MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1)) { in isConvertibleToSDWA()
1044 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in convertToSDWA()
1058 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in convertToSDWA()
1068 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in convertToSDWA()
1084 MachineOperand *Src2 = TII->getNamedOperand(MI, AMDGPU::OpName::src2); in convertToSDWA()
1091 MachineOperand *Clamp = TII->getNamedOperand(MI, AMDGPU::OpName::clamp); in convertToSDWA()
1100 MachineOperand *OMod = TII->getNamedOperand(MI, AMDGPU::OpName::omod); in convertToSDWA()
1110 MachineOperand *DstSel = TII->getNamedOperand(MI, AMDGPU::OpName::dst_sel); in convertToSDWA()
1120 MachineOperand *DstUnused = TII->getNamedOperand(MI, AMDGPU::OpName::dst_unused); in convertToSDWA()
1130 MachineOperand *Src0Sel = TII->getNamedOperand(MI, AMDGPU::OpName::src0_sel); in convertToSDWA()
1140 MachineOperand *Src1Sel = TII->getNamedOperand(MI, AMDGPU::OpName::src1_sel); in convertToSDWA()
1187 for (MachineOperand &MO : SDWAInst->uses()) { in convertToSDWA()
1211 for (MachineOperand &Op : MI.explicit_uses()) { in legalizeScalarOperands()