Lines Matching refs:Instr
65 MachineInstr &Instr,
309 static ARMCC::CondCodes GetCondCode(MachineInstr &Instr) { in GetCondCode() argument
310 assert(IsVCMP(Instr.getOpcode()) && "Inst must be a VCMP"); in GetCondCode()
311 return ARMCC::CondCodes(Instr.getOperand(3).getImm()); in GetCondCode()
342 static bool IsWritingToVCCR(MachineInstr &Instr) { in IsWritingToVCCR() argument
343 if (Instr.getNumOperands() == 0) in IsWritingToVCCR()
345 MachineOperand &Dst = Instr.getOperand(0); in IsWritingToVCCR()
351 MachineRegisterInfo &RegInfo = Instr.getMF()->getRegInfo(); in IsWritingToVCCR()
365 MachineBasicBlock &MBB, MachineInstr &Instr, MachineOperand &User, in ReplaceRegisterUseWithVPNOT() argument
370 BuildMI(MBB, &Instr, Instr.getDebugLoc(), TII->get(ARM::MVE_VPNOT)) in ReplaceRegisterUseWithVPNOT()
591 for (MachineInstr &Instr : MBB.instrs()) { in ReplaceVCMPsByVPNOTs()
593 if (MachineOperand *MO = Instr.findRegisterUseOperand( in ReplaceVCMPsByVPNOTs()
602 if (getVPTInstrPredicate(Instr) != ARMVCC::None) in ReplaceVCMPsByVPNOTs()
606 if (!IsVCMP(Instr.getOpcode())) { in ReplaceVCMPsByVPNOTs()
608 if (IsWritingToVCCR(Instr)) in ReplaceVCMPsByVPNOTs()
613 if (!PrevVCMP || !IsVPNOTEquivalent(Instr, *PrevVCMP)) { in ReplaceVCMPsByVPNOTs()
614 PrevVCMP = &Instr; in ReplaceVCMPsByVPNOTs()
624 BuildMI(MBB, &Instr, Instr.getDebugLoc(), TII->get(ARM::MVE_VPNOT)) in ReplaceVCMPsByVPNOTs()
625 .add(Instr.getOperand(0)) in ReplaceVCMPsByVPNOTs()
630 Instr.dump()); in ReplaceVCMPsByVPNOTs()
639 DeadInstructions.push_back(&Instr); in ReplaceVCMPsByVPNOTs()
661 for (MachineInstr &Instr : MBB.instrs()) { in ReplaceConstByVPNOTs()
663 int PIdx = llvm::findFirstVPTPredOperandIdx(Instr); in ReplaceConstByVPNOTs()
666 Register VPR = Instr.getOperand(PIdx + 1).getReg(); in ReplaceConstByVPNOTs()
696 Instr.getOperand(PIdx + 1).setReg(LastVPTReg); in ReplaceConstByVPNOTs()
702 LLVM_DEBUG(dbgs() << "Reusing predicate: in " << Instr); in ReplaceConstByVPNOTs()
707 auto VPNot = BuildMI(MBB, &Instr, Instr.getDebugLoc(), in ReplaceConstByVPNOTs()
713 Instr.getOperand(PIdx + 1).setReg(NewVPR); in ReplaceConstByVPNOTs()
720 << Instr); in ReplaceConstByVPNOTs()