Lines Matching refs:CmpInstr

1181     MachineInstr &CmpInstr, unsigned SrcReg, unsigned SrcReg2, int CmpMask,  in optimizeCompareInstr()  argument
1183 assert(CmpInstr.getParent()); in optimizeCompareInstr()
1187 int DeadNZCVIdx = CmpInstr.findRegisterDefOperandIdx(AArch64::NZCV, true); in optimizeCompareInstr()
1189 if (CmpInstr.definesRegister(AArch64::WZR) || in optimizeCompareInstr()
1190 CmpInstr.definesRegister(AArch64::XZR)) { in optimizeCompareInstr()
1191 CmpInstr.eraseFromParent(); in optimizeCompareInstr()
1194 unsigned Opc = CmpInstr.getOpcode(); in optimizeCompareInstr()
1195 unsigned NewOpc = convertToNonFlagSettingOpc(CmpInstr); in optimizeCompareInstr()
1199 CmpInstr.setDesc(MCID); in optimizeCompareInstr()
1200 CmpInstr.RemoveOperand(DeadNZCVIdx); in optimizeCompareInstr()
1201 bool succeeded = UpdateOperandRegClass(CmpInstr); in optimizeCompareInstr()
1215 if (!MRI->use_nodbg_empty(CmpInstr.getOperand(0).getReg())) in optimizeCompareInstr()
1218 return substituteCmpToZero(CmpInstr, SrcReg, MRI); in optimizeCompareInstr()
1394 static bool canInstrSubstituteCmpInstr(MachineInstr *MI, MachineInstr *CmpInstr, in canInstrSubstituteCmpInstr() argument
1398 assert(CmpInstr); in canInstrSubstituteCmpInstr()
1400 const unsigned CmpOpcode = CmpInstr->getOpcode(); in canInstrSubstituteCmpInstr()
1404 if (MI->getParent() != CmpInstr->getParent()) in canInstrSubstituteCmpInstr()
1407 if (areCFlagsAliveInSuccessors(CmpInstr->getParent())) in canInstrSubstituteCmpInstr()
1413 if (areCFlagsAccessedBetweenInstrs(MI, CmpInstr, TRI, AccessToCheck)) in canInstrSubstituteCmpInstr()
1417 for (auto I = std::next(CmpInstr->getIterator()), in canInstrSubstituteCmpInstr()
1418 E = CmpInstr->getParent()->instr_end(); in canInstrSubstituteCmpInstr()
1440 MachineInstr &CmpInstr, unsigned SrcReg, in substituteCmpToZero() argument
1454 if (!canInstrSubstituteCmpInstr(MI, &CmpInstr, TRI)) in substituteCmpToZero()
1459 CmpInstr.eraseFromParent(); in substituteCmpToZero()