Lines Matching refs:VCmp
59 MachineInstr &VCmp, MCRegister Exec) const;
577 MachineInstr &SaveExecInstr, MachineInstr &VCmp, MCRegister Exec) const { in optimizeVCMPSaveExecSequence() argument
578 const int NewOpcode = AMDGPU::getVCMPXOpFromVCMP(VCmp.getOpcode()); in optimizeVCMPSaveExecSequence()
583 MachineOperand *Src0 = TII->getNamedOperand(VCmp, AMDGPU::OpName::src0); in optimizeVCMPSaveExecSequence()
584 MachineOperand *Src1 = TII->getNamedOperand(VCmp, AMDGPU::OpName::src1); in optimizeVCMPSaveExecSequence()
599 auto Builder = BuildMI(*VCmp.getParent(), std::next(InsertPosIt), in optimizeVCMPSaveExecSequence()
600 VCmp.getDebugLoc(), TII->get(NewOpcode)); in optimizeVCMPSaveExecSequence()
604 if (auto *Mod = TII->getNamedOperand(VCmp, OperandName)) in optimizeVCMPSaveExecSequence()
626 VCmp.eraseFromParent(); in optimizeVCMPSaveExecSequence()
662 MachineInstr *VCmp = nullptr; in tryRecordVCmpxAndSaveexecSequence() local
666 VCmp = findInstrBackwards( in tryRecordVCmpxAndSaveexecSequence()
674 if (!VCmp) in tryRecordVCmpxAndSaveexecSequence()
677 MachineOperand *VCmpDest = TII->getNamedOperand(*VCmp, AMDGPU::OpName::sdst); in tryRecordVCmpxAndSaveexecSequence()
681 MachineOperand *Src0 = TII->getNamedOperand(*VCmp, AMDGPU::OpName::src0); in tryRecordVCmpxAndSaveexecSequence()
686 MachineOperand *Src1 = TII->getNamedOperand(*VCmp, AMDGPU::OpName::src1); in tryRecordVCmpxAndSaveexecSequence()
695 if (isLiveOut(*VCmp->getParent(), VCmpDest->getReg())) in tryRecordVCmpxAndSaveexecSequence()
700 if (isRegisterInUseBetween(*VCmp, MI, VCmpDest->getReg(), false, true) || in tryRecordVCmpxAndSaveexecSequence()
716 MI, [&](MachineInstr *Check) { return Check == VCmp; }, NonDefRegs, in tryRecordVCmpxAndSaveexecSequence()
717 VCmp, &KillFlagCandidates)) in tryRecordVCmpxAndSaveexecSequence()
720 if (VCmp) in tryRecordVCmpxAndSaveexecSequence()
721 SaveExecVCmpMapping[&MI] = VCmp; in tryRecordVCmpxAndSaveexecSequence()