Lines Matching refs:MachineOperand
56 std::optional<int64_t> foldToImm(const MachineOperand &Op) const;
84 MachineOperand *Target; // Operand that would be used in converted instruction
85 MachineOperand *Replaced; // Operand that would be replace by Target
88 SDWAOperand(MachineOperand *TargetOp, MachineOperand *ReplacedOp) in SDWAOperand()
99 MachineOperand *getTargetOperand() const { return Target; } in getTargetOperand()
100 MachineOperand *getReplacedOperand() const { return Replaced; } in getReplacedOperand()
123 SDWASrcOperand(MachineOperand *TargetOp, MachineOperand *ReplacedOp, in SDWASrcOperand()
138 const MachineOperand *SrcOp) const;
152 SDWADstOperand(MachineOperand *TargetOp, MachineOperand *ReplacedOp, in SDWADstOperand()
169 MachineOperand *Preserve;
172 SDWADstPreserveOperand(MachineOperand *TargetOp, MachineOperand *ReplacedOp, in SDWADstPreserveOperand()
173 MachineOperand *PreserveOp, SdwaSel DstSel_ = DWORD) in SDWADstPreserveOperand()
179 MachineOperand *getPreservedOperand() const { return Preserve; } in getPreservedOperand()
246 static void copyRegOperand(MachineOperand &To, const MachineOperand &From) { in copyRegOperand()
258 static bool isSameReg(const MachineOperand &LHS, const MachineOperand &RHS) { in isSameReg()
265 static MachineOperand *findSingleRegUse(const MachineOperand *Reg, in findSingleRegUse()
270 MachineOperand *ResMO = nullptr; in findSingleRegUse()
271 for (MachineOperand &UseMO : MRI->use_nodbg_operands(Reg->getReg())) { in findSingleRegUse()
287 static MachineOperand *findSingleRegDef(const MachineOperand *Reg, in findSingleRegDef()
306 const MachineOperand *SrcOp) const { in getSrcMods()
333 MachineOperand *PotentialMO = findSingleRegUse(getReplacedOperand(), getMRI()); in potentialToConvert()
344 MachineOperand *Src = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in convertToSDWA()
345 MachineOperand *SrcSel = TII->getNamedOperand(MI, AMDGPU::OpName::src0_sel); in convertToSDWA()
346 MachineOperand *SrcMods = in convertToSDWA()
363 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in convertToSDWA()
364 MachineOperand *DstUnused = in convertToSDWA()
420 MachineOperand *PotentialMO = findSingleRegDef(getReplacedOperand(), MRI); in potentialToConvert()
445 MachineOperand *Operand = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in convertToSDWA()
450 MachineOperand *DstSel= TII->getNamedOperand(MI, AMDGPU::OpName::dst_sel); in convertToSDWA()
453 MachineOperand *DstUnused= TII->getNamedOperand(MI, AMDGPU::OpName::dst_unused); in convertToSDWA()
468 for (MachineOperand &MO : MI.uses()) { in convertToSDWA()
494 SIPeepholeSDWA::foldToImm(const MachineOperand &Op) const { in foldToImm()
502 for (const MachineOperand &Def : MRI->def_operands(Op.getReg())) { in foldToImm()
510 const MachineOperand &Copied = DefInst->getOperand(1); in foldToImm()
539 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
547 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
548 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
580 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
585 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
586 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
620 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
625 MachineOperand *Src2 = TII->getNamedOperand(MI, AMDGPU::OpName::src2); in matchSDWAOperand()
649 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
650 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
666 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
667 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
679 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
701 std::optional<std::pair<MachineOperand *, MachineOperand *>>; in matchSDWAOperand()
703 [&](const MachineOperand *Op1, const MachineOperand *Op2) -> CheckRetType { in matchSDWAOperand()
707 MachineOperand *Op1Def = findSingleRegDef(Op1, MRI); in matchSDWAOperand()
715 MachineOperand *Op2Def = findSingleRegDef(Op2, MRI); in matchSDWAOperand()
722 MachineOperand *OrSDWA = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
723 MachineOperand *OrOther = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
735 MachineOperand *OrSDWADef = Res->first; in matchSDWAOperand()
736 MachineOperand *OrOtherDef = Res->second; in matchSDWAOperand()
813 MachineOperand *OrDst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
871 const MachineOperand *Sdst = TII->getNamedOperand(MI, AMDGPU::OpName::sdst); in pseudoOpConvertToVOP2()
874 MachineOperand *NextOp = findSingleRegUse(Sdst, MRI); in pseudoOpConvertToVOP2()
880 MachineOperand *CarryIn = TII->getNamedOperand(MISucc, AMDGPU::OpName::src2); in pseudoOpConvertToVOP2()
883 MachineOperand *CarryOut = TII->getNamedOperand(MISucc, AMDGPU::OpName::sdst); in pseudoOpConvertToVOP2()
933 const MachineOperand *SDst = TII->getNamedOperand(MI, AMDGPU::OpName::sdst); in isConvertibleToSDWA()
963 if (MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0)) { in isConvertibleToSDWA()
968 if (MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1)) { in isConvertibleToSDWA()
1001 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in convertToSDWA()
1015 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in convertToSDWA()
1025 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in convertToSDWA()
1041 MachineOperand *Src2 = TII->getNamedOperand(MI, AMDGPU::OpName::src2); in convertToSDWA()
1048 MachineOperand *Clamp = TII->getNamedOperand(MI, AMDGPU::OpName::clamp); in convertToSDWA()
1057 MachineOperand *OMod = TII->getNamedOperand(MI, AMDGPU::OpName::omod); in convertToSDWA()
1067 MachineOperand *DstSel = TII->getNamedOperand(MI, AMDGPU::OpName::dst_sel); in convertToSDWA()
1077 MachineOperand *DstUnused = TII->getNamedOperand(MI, AMDGPU::OpName::dst_unused); in convertToSDWA()
1087 MachineOperand *Src0Sel = TII->getNamedOperand(MI, AMDGPU::OpName::src0_sel); in convertToSDWA()
1097 MachineOperand *Src1Sel = TII->getNamedOperand(MI, AMDGPU::OpName::src1_sel); in convertToSDWA()
1161 for (MachineOperand &Op : MI.explicit_uses()) { in legalizeScalarOperands()