Lines Matching defs:MCDesc
238 static Error verifyOperands(const MCInstrDesc &MCDesc, const MCInst &MCI) {
241 unsigned NumExplicitDefs = MCDesc.getNumDefs();
253 if (MCDesc.hasOptionalDef()) {
255 const MCOperand &Op = MCI.getOperand(MCDesc.getNumOperands() - 1);
269 const MCInstrDesc &MCDesc = MCII.get(MCI.getOpcode());
277 // 2. Uses start at index #(MCDesc.getNumDefs()).
301 // MCDesc reports:
316 unsigned NumExplicitDefs = MCDesc.getNumDefs();
317 unsigned NumImplicitDefs = MCDesc.implicit_defs().size();
320 if (MCDesc.hasOptionalDef())
323 unsigned NumVariadicOps = MCI.getNumOperands() - MCDesc.getNumOperands();
329 unsigned OptionalDefIdx = MCDesc.getNumOperands() - 1;
336 if (MCDesc.operands()[CurrentDef].isOptionalDef()) {
374 Write.RegisterID = MCDesc.implicit_defs()[CurrentDef];
398 if (MCDesc.hasOptionalDef()) {
415 bool AssumeUsesOnly = !MCDesc.variadicOpsAreDefs();
416 CurrentDef = NumExplicitDefs + NumImplicitDefs + MCDesc.hasOptionalDef();
417 for (unsigned I = 0, OpIndex = MCDesc.getNumOperands();
444 const MCInstrDesc &MCDesc = MCII.get(MCI.getOpcode());
445 unsigned NumExplicitUses = MCDesc.getNumOperands() - MCDesc.getNumDefs();
446 unsigned NumImplicitUses = MCDesc.implicit_uses().size();
448 if (MCDesc.hasOptionalDef())
450 unsigned NumVariadicOps = MCI.getNumOperands() - MCDesc.getNumOperands();
454 for (unsigned I = 0, OpIndex = MCDesc.getNumDefs(); I < NumExplicitUses;
477 Read.RegisterID = MCDesc.implicit_uses()[I];
488 bool AssumeDefsOnly = MCDesc.variadicOpsAreDefs();
489 for (unsigned I = 0, OpIndex = MCDesc.getNumOperands();
566 const MCInstrDesc &MCDesc = MCII.get(Opcode);
620 if (Error Err = verifyOperands(MCDesc, MCI))
634 bool IsVariadic = MCDesc.isVariadic();
703 const MCInstrDesc &MCDesc = MCII.get(MCI.getOpcode());
707 NewIS->setMayLoad(MCDesc.mayLoad());
708 NewIS->setMayStore(MCDesc.mayStore());
709 NewIS->setHasSideEffects(MCDesc.hasUnmodeledSideEffects());