Lines Matching refs:MCDesc

222 static void computeMaxLatency(InstrDesc &ID, const MCInstrDesc &MCDesc,  in computeMaxLatency()  argument
226 if (MCDesc.isCall()) { in computeMaxLatency()
239 static Error verifyOperands(const MCInstrDesc &MCDesc, const MCInst &MCI) { in verifyOperands() argument
242 unsigned NumExplicitDefs = MCDesc.getNumDefs(); in verifyOperands()
254 if (MCDesc.hasOptionalDef()) { in verifyOperands()
256 const MCOperand &Op = MCI.getOperand(MCDesc.getNumOperands() - 1); in verifyOperands()
270 const MCInstrDesc &MCDesc = MCII.get(MCI.getOpcode()); in populateWrites() local
317 unsigned NumExplicitDefs = MCDesc.getNumDefs(); in populateWrites()
318 unsigned NumImplicitDefs = MCDesc.implicit_defs().size(); in populateWrites()
321 if (MCDesc.hasOptionalDef()) in populateWrites()
324 unsigned NumVariadicOps = MCI.getNumOperands() - MCDesc.getNumOperands(); in populateWrites()
330 unsigned OptionalDefIdx = MCDesc.getNumOperands() - 1; in populateWrites()
337 if (MCDesc.operands()[CurrentDef].isOptionalDef()) { in populateWrites()
375 Write.RegisterID = MCDesc.implicit_defs()[CurrentDef]; in populateWrites()
399 if (MCDesc.hasOptionalDef()) { in populateWrites()
416 bool AssumeUsesOnly = !MCDesc.variadicOpsAreDefs(); in populateWrites()
417 CurrentDef = NumExplicitDefs + NumImplicitDefs + MCDesc.hasOptionalDef(); in populateWrites()
418 for (unsigned I = 0, OpIndex = MCDesc.getNumOperands(); in populateWrites()
445 const MCInstrDesc &MCDesc = MCII.get(MCI.getOpcode()); in populateReads() local
446 unsigned NumExplicitUses = MCDesc.getNumOperands() - MCDesc.getNumDefs(); in populateReads()
447 unsigned NumImplicitUses = MCDesc.implicit_uses().size(); in populateReads()
449 if (MCDesc.hasOptionalDef()) in populateReads()
451 unsigned NumVariadicOps = MCI.getNumOperands() - MCDesc.getNumOperands(); in populateReads()
455 for (unsigned I = 0, OpIndex = MCDesc.getNumDefs(); I < NumExplicitUses; in populateReads()
478 Read.RegisterID = MCDesc.implicit_uses()[I]; in populateReads()
489 bool AssumeDefsOnly = MCDesc.variadicOpsAreDefs(); in populateReads()
490 for (unsigned I = 0, OpIndex = MCDesc.getNumOperands(); in populateReads()
567 const MCInstrDesc &MCDesc = MCII.get(Opcode); in createInstrDescImpl() local
602 if (MCDesc.isCall() && FirstCallInst) { in createInstrDescImpl()
610 if (MCDesc.isReturn() && FirstReturnInst) { in createInstrDescImpl()
618 computeMaxLatency(*ID, MCDesc, SCDesc, STI, CallLatency); in createInstrDescImpl()
620 if (Error Err = verifyOperands(MCDesc, MCI)) in createInstrDescImpl()
634 bool IsVariadic = MCDesc.isVariadic(); in createInstrDescImpl()
702 const MCInstrDesc &MCDesc = MCII.get(MCI.getOpcode()); in createInstruction() local
706 NewIS->setMayLoad(MCDesc.mayLoad()); in createInstruction()
707 NewIS->setMayStore(MCDesc.mayStore()); in createInstruction()
708 NewIS->setHasSideEffects(MCDesc.hasUnmodeledSideEffects()); in createInstruction()