• Home
  • Raw
  • Download

Lines Matching refs:CmpInstr

883     MachineInstr &CmpInstr, unsigned SrcReg, unsigned SrcReg2, int CmpMask,  in optimizeCompareInstr()  argument
885 assert(CmpInstr.getParent()); in optimizeCompareInstr()
889 int DeadNZCVIdx = CmpInstr.findRegisterDefOperandIdx(AArch64::NZCV, true); in optimizeCompareInstr()
891 if (CmpInstr.definesRegister(AArch64::WZR) || in optimizeCompareInstr()
892 CmpInstr.definesRegister(AArch64::XZR)) { in optimizeCompareInstr()
893 CmpInstr.eraseFromParent(); in optimizeCompareInstr()
896 unsigned Opc = CmpInstr.getOpcode(); in optimizeCompareInstr()
897 unsigned NewOpc = convertFlagSettingOpcode(CmpInstr); in optimizeCompareInstr()
901 CmpInstr.setDesc(MCID); in optimizeCompareInstr()
902 CmpInstr.RemoveOperand(DeadNZCVIdx); in optimizeCompareInstr()
903 bool succeeded = UpdateOperandRegClass(CmpInstr); in optimizeCompareInstr()
917 if (!MRI->use_nodbg_empty(CmpInstr.getOperand(0).getReg())) in optimizeCompareInstr()
920 return substituteCmpToZero(CmpInstr, SrcReg, MRI); in optimizeCompareInstr()
1074 static bool canInstrSubstituteCmpInstr(MachineInstr *MI, MachineInstr *CmpInstr, in canInstrSubstituteCmpInstr() argument
1078 assert(CmpInstr); in canInstrSubstituteCmpInstr()
1080 const unsigned CmpOpcode = CmpInstr->getOpcode(); in canInstrSubstituteCmpInstr()
1084 if (MI->getParent() != CmpInstr->getParent()) in canInstrSubstituteCmpInstr()
1087 if (areCFlagsAliveInSuccessors(CmpInstr->getParent())) in canInstrSubstituteCmpInstr()
1093 if (areCFlagsAccessedBetweenInstrs(MI, CmpInstr, TRI, AccessToCheck)) in canInstrSubstituteCmpInstr()
1097 for (auto I = std::next(CmpInstr->getIterator()), E = CmpInstr->getParent()->instr_end(); in canInstrSubstituteCmpInstr()
1119 MachineInstr &CmpInstr, unsigned SrcReg, in substituteCmpToZero() argument
1133 if (!canInstrSubstituteCmpInstr(MI, &CmpInstr, TRI)) in substituteCmpToZero()
1138 CmpInstr.eraseFromParent(); in substituteCmpToZero()