Lines Matching refs:Instr
76 MachineInstr &Instr,
574 static ARMCC::CondCodes GetCondCode(MachineInstr &Instr) { in GetCondCode() argument
575 assert(IsVCMP(Instr.getOpcode()) && "Inst must be a VCMP"); in GetCondCode()
576 return ARMCC::CondCodes(Instr.getOperand(3).getImm()); in GetCondCode()
607 static bool IsWritingToVCCR(MachineInstr &Instr) { in IsWritingToVCCR() argument
608 if (Instr.getNumOperands() == 0) in IsWritingToVCCR()
610 MachineOperand &Dst = Instr.getOperand(0); in IsWritingToVCCR()
616 MachineRegisterInfo &RegInfo = Instr.getMF()->getRegInfo(); in IsWritingToVCCR()
630 MachineBasicBlock &MBB, MachineInstr &Instr, MachineOperand &User, in ReplaceRegisterUseWithVPNOT() argument
635 BuildMI(MBB, &Instr, Instr.getDebugLoc(), TII->get(ARM::MVE_VPNOT)) in ReplaceRegisterUseWithVPNOT()
858 for (MachineInstr &Instr : MBB.instrs()) { in ReplaceVCMPsByVPNOTs()
861 Instr.findRegisterUseOperand(PrevVCMP->getOperand(0).getReg(), in ReplaceVCMPsByVPNOTs()
870 if (getVPTInstrPredicate(Instr) != ARMVCC::None) in ReplaceVCMPsByVPNOTs()
874 if (!IsVCMP(Instr.getOpcode())) { in ReplaceVCMPsByVPNOTs()
876 if (IsWritingToVCCR(Instr)) in ReplaceVCMPsByVPNOTs()
881 if (!PrevVCMP || !IsVPNOTEquivalent(Instr, *PrevVCMP)) { in ReplaceVCMPsByVPNOTs()
882 PrevVCMP = &Instr; in ReplaceVCMPsByVPNOTs()
892 BuildMI(MBB, &Instr, Instr.getDebugLoc(), TII->get(ARM::MVE_VPNOT)) in ReplaceVCMPsByVPNOTs()
893 .add(Instr.getOperand(0)) in ReplaceVCMPsByVPNOTs()
898 Instr.dump()); in ReplaceVCMPsByVPNOTs()
907 DeadInstructions.push_back(&Instr); in ReplaceVCMPsByVPNOTs()
929 for (MachineInstr &Instr : MBB.instrs()) { in ReplaceConstByVPNOTs()
931 int PIdx = llvm::findFirstVPTPredOperandIdx(Instr); in ReplaceConstByVPNOTs()
934 Register VPR = Instr.getOperand(PIdx + 1).getReg(); in ReplaceConstByVPNOTs()
965 Instr.getOperand(PIdx + 1).setReg(LastVPTReg); in ReplaceConstByVPNOTs()
971 LLVM_DEBUG(dbgs() << "Reusing predicate: in " << Instr); in ReplaceConstByVPNOTs()
977 auto VPNot = BuildMI(MBB, &Instr, Instr.getDebugLoc(), in ReplaceConstByVPNOTs()
983 Instr.getOperand(PIdx + 1).setReg(NewVPR); in ReplaceConstByVPNOTs()
990 << Instr); in ReplaceConstByVPNOTs()