Lines Matching refs:VCmp
56 MachineInstr &VCmp, MCRegister Exec) const;
560 MachineInstr &SaveExecInstr, MachineInstr &VCmp, MCRegister Exec) const { in optimizeVCMPSaveExecSequence() argument
561 const int NewOpcode = AMDGPU::getVCMPXOpFromVCMP(VCmp.getOpcode()); in optimizeVCMPSaveExecSequence()
566 MachineOperand *Src0 = TII->getNamedOperand(VCmp, AMDGPU::OpName::src0); in optimizeVCMPSaveExecSequence()
567 MachineOperand *Src1 = TII->getNamedOperand(VCmp, AMDGPU::OpName::src1); in optimizeVCMPSaveExecSequence()
582 auto Builder = BuildMI(*VCmp.getParent(), std::next(InsertPosIt), in optimizeVCMPSaveExecSequence()
583 VCmp.getDebugLoc(), TII->get(NewOpcode)); in optimizeVCMPSaveExecSequence()
587 if (auto *Mod = TII->getNamedOperand(VCmp, OperandName)) in optimizeVCMPSaveExecSequence()
606 VCmp.eraseFromParent(); in optimizeVCMPSaveExecSequence()
642 MachineInstr *VCmp = nullptr; in tryRecordVCmpxAndSaveexecSequence() local
646 VCmp = findInstrBackwards( in tryRecordVCmpxAndSaveexecSequence()
654 if (!VCmp) in tryRecordVCmpxAndSaveexecSequence()
657 MachineOperand *VCmpDest = TII->getNamedOperand(*VCmp, AMDGPU::OpName::sdst); in tryRecordVCmpxAndSaveexecSequence()
661 MachineOperand *Src0 = TII->getNamedOperand(*VCmp, AMDGPU::OpName::src0); in tryRecordVCmpxAndSaveexecSequence()
666 MachineOperand *Src1 = TII->getNamedOperand(*VCmp, AMDGPU::OpName::src1); in tryRecordVCmpxAndSaveexecSequence()
675 if (isLiveOut(*VCmp->getParent(), VCmpDest->getReg())) in tryRecordVCmpxAndSaveexecSequence()
680 if (isRegisterInUseBetween(*VCmp, MI, VCmpDest->getReg(), false, true) || in tryRecordVCmpxAndSaveexecSequence()
696 MI, [&](MachineInstr *Check) { return Check == VCmp; }, NonDefRegs)) in tryRecordVCmpxAndSaveexecSequence()
699 if (VCmp) in tryRecordVCmpxAndSaveexecSequence()
700 SaveExecVCmpMapping[&MI] = VCmp; in tryRecordVCmpxAndSaveexecSequence()