Lines Matching refs:MachineOperand
81 Optional<int64_t> foldToImm(const MachineOperand &Op) const;
109 MachineOperand *Target; // Operand that would be used in converted instruction
110 MachineOperand *Replaced; // Operand that would be replace by Target
113 SDWAOperand(MachineOperand *TargetOp, MachineOperand *ReplacedOp) in SDWAOperand()
124 MachineOperand *getTargetOperand() const { return Target; } in getTargetOperand()
125 MachineOperand *getReplacedOperand() const { return Replaced; } in getReplacedOperand()
148 SDWASrcOperand(MachineOperand *TargetOp, MachineOperand *ReplacedOp, in SDWASrcOperand()
163 const MachineOperand *SrcOp) const;
177 SDWADstOperand(MachineOperand *TargetOp, MachineOperand *ReplacedOp, in SDWADstOperand()
194 MachineOperand *Preserve;
197 SDWADstPreserveOperand(MachineOperand *TargetOp, MachineOperand *ReplacedOp, in SDWADstPreserveOperand()
198 MachineOperand *PreserveOp, SdwaSel DstSel_ = DWORD) in SDWADstPreserveOperand()
204 MachineOperand *getPreservedOperand() const { return Preserve; } in getPreservedOperand()
276 static void copyRegOperand(MachineOperand &To, const MachineOperand &From) { in copyRegOperand()
288 static bool isSameReg(const MachineOperand &LHS, const MachineOperand &RHS) { in isSameReg()
295 static MachineOperand *findSingleRegUse(const MachineOperand *Reg, in findSingleRegUse()
300 MachineOperand *ResMO = nullptr; in findSingleRegUse()
301 for (MachineOperand &UseMO : MRI->use_nodbg_operands(Reg->getReg())) { in findSingleRegUse()
317 static MachineOperand *findSingleRegDef(const MachineOperand *Reg, in findSingleRegDef()
336 const MachineOperand *SrcOp) const { in getSrcMods()
363 MachineOperand *PotentialMO = findSingleRegUse(getReplacedOperand(), getMRI()); in potentialToConvert()
374 MachineOperand *Src = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in convertToSDWA()
375 MachineOperand *SrcSel = TII->getNamedOperand(MI, AMDGPU::OpName::src0_sel); in convertToSDWA()
376 MachineOperand *SrcMods = in convertToSDWA()
393 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in convertToSDWA()
394 MachineOperand *DstUnused = in convertToSDWA()
448 MachineOperand *PotentialMO = findSingleRegDef(getReplacedOperand(), MRI); in potentialToConvert()
471 MachineOperand *Operand = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in convertToSDWA()
476 MachineOperand *DstSel= TII->getNamedOperand(MI, AMDGPU::OpName::dst_sel); in convertToSDWA()
479 MachineOperand *DstUnused= TII->getNamedOperand(MI, AMDGPU::OpName::dst_unused); in convertToSDWA()
494 for (MachineOperand &MO : MI.uses()) { in convertToSDWA()
519 Optional<int64_t> SIPeepholeSDWA::foldToImm(const MachineOperand &Op) const { in foldToImm()
527 for (const MachineOperand &Def : MRI->def_operands(Op.getReg())) { in foldToImm()
535 const MachineOperand &Copied = DefInst->getOperand(1); in foldToImm()
564 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
572 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
573 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
605 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
610 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
611 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
645 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
650 MachineOperand *Src2 = TII->getNamedOperand(MI, AMDGPU::OpName::src2); in matchSDWAOperand()
674 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
675 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
691 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
692 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
704 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
725 using CheckRetType = Optional<std::pair<MachineOperand *, MachineOperand *>>; in matchSDWAOperand()
727 [&](const MachineOperand *Op1, const MachineOperand *Op2) -> CheckRetType { in matchSDWAOperand()
731 MachineOperand *Op1Def = findSingleRegDef(Op1, MRI); in matchSDWAOperand()
739 MachineOperand *Op2Def = findSingleRegDef(Op2, MRI); in matchSDWAOperand()
746 MachineOperand *OrSDWA = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
747 MachineOperand *OrOther = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
759 MachineOperand *OrSDWADef = Res->first; in matchSDWAOperand()
760 MachineOperand *OrOtherDef = Res->second; in matchSDWAOperand()
837 MachineOperand *OrDst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
888 const MachineOperand *Sdst = TII->getNamedOperand(MI, AMDGPU::OpName::sdst); in pseudoOpConvertToVOP2()
891 MachineOperand *NextOp = findSingleRegUse(Sdst, MRI); in pseudoOpConvertToVOP2()
900 MachineOperand *CarryIn = TII->getNamedOperand(MISucc, AMDGPU::OpName::src2); in pseudoOpConvertToVOP2()
903 MachineOperand *CarryOut = TII->getNamedOperand(MISucc, AMDGPU::OpName::sdst); in pseudoOpConvertToVOP2()
953 const MachineOperand *SDst = TII->getNamedOperand(MI, AMDGPU::OpName::sdst); in isConvertibleToSDWA()
1003 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in convertToSDWA()
1018 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in convertToSDWA()
1030 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in convertToSDWA()
1045 MachineOperand *Src2 = TII->getNamedOperand(MI, AMDGPU::OpName::src2); in convertToSDWA()
1052 MachineOperand *Clamp = TII->getNamedOperand(MI, AMDGPU::OpName::clamp); in convertToSDWA()
1061 MachineOperand *OMod = TII->getNamedOperand(MI, AMDGPU::OpName::omod); in convertToSDWA()
1071 MachineOperand *DstSel = TII->getNamedOperand(MI, AMDGPU::OpName::dst_sel); in convertToSDWA()
1081 MachineOperand *DstUnused = TII->getNamedOperand(MI, AMDGPU::OpName::dst_unused); in convertToSDWA()
1091 MachineOperand *Src0Sel = TII->getNamedOperand(MI, AMDGPU::OpName::src0_sel); in convertToSDWA()
1101 MachineOperand *Src1Sel = TII->getNamedOperand(MI, AMDGPU::OpName::src1_sel); in convertToSDWA()
1165 for (MachineOperand &Op : MI.explicit_uses()) { in legalizeScalarOperands()