Lines Matching defs:Rec
127 void addDagOperandMapping(const Record *Rec, const DagInit *Dag,
135 void createDagOperandMapping(const Record *Rec,
141 void createInstOperandMapping(const Record *Rec, const DagInit *SourceDag,
205 void CompressInstEmitter::addDagOperandMapping(const Record *Rec,
228 if (!validateRegister(DI->getDef(), Inst.Operands[I].Rec))
229 PrintFatalError(Rec->getLoc(),
233 Inst.Operands[I].Rec->getName() + "'");
242 if (!validateTypes(DI->getDef(), Inst.Operands[I].Rec, IsSourceInst))
243 PrintFatalError(Rec->getLoc(),
248 Inst.Operands[I].Rec->getName() +
255 if (Inst.Operands[I].Rec->isSubClassOf("RegisterClass"))
257 Rec->getLoc(),
315 const Record *Rec, StringMap<unsigned> &SourceOperands,
339 PrintFatalError(Rec->getLoc(),
345 PrintFatalError(Rec->getLoc(), "Operand " + SourceDag->getArgNameStr(I) +
351 PrintFatalError(Rec->getLoc(), "Type mismatch between Input and "
362 const Record *Rec, const DagInit *SourceDag, const DagInit *DestDag,
393 PrintFatalError(Rec->getLoc(),
431 void CompressInstEmitter::evaluateCompressPat(const Record *Rec) {
433 const DagInit *SourceDag = Rec->getValueAsDag("Input");
438 const Record *SourceOperator = SourceDag->getOperatorAsDef(Rec->getLoc());
443 const DagInit *DestDag = Rec->getValueAsDag("Output");
447 const Record *DestOperator = DestDag->getOperatorAsDef(Rec->getLoc());
454 Rec->getLoc(),
464 addDagOperandMapping(Rec, SourceDag, SourceInst, SourceOperandMap,
471 addDagOperandMapping(Rec, DestDag, DestInst, DestOperandMap,
476 createDagOperandMapping(Rec, SourceOperands, DestOperands, SourceDag, DestDag,
479 createInstOperandMapping(Rec, SourceDag, DestDag, SourceOperandMap,
484 std::vector<const Record *> RF = Rec->getValueAsListOfDefs("Predicates");
491 DestOperandMap, Rec->getValueAsBit("isCompressOnly")));
533 const Record *Rec, StringRef Name) {
534 unsigned &Entry = PredicateMap[Rec];
538 if (!Rec->isValueUnset(Name)) {
539 Predicates.push_back(Rec);
544 PrintFatalError(Rec->getLoc(), "No " + Name +
546 Rec->getName() + "'");
725 if (Source.Operands[OpNo].Rec->isSubClassOf("RegisterClass"))
768 if (DestOperand.Rec->isSubClassOf("RegisterClass") ||
769 DestOperand.Rec->isSubClassOf("RegisterOperand")) {
770 auto *ClassRec = DestOperand.Rec->isSubClassOf("RegisterClass")
771 ? DestOperand.Rec
772 : DestOperand.Rec->getValueAsDef("RegClass");
795 getPredicates(MCOpPredicateMap, MCOpPredicates, DestOperand.Rec,
803 DestOperand.Rec, "ImmediateCode");
819 DestOperand.Rec, "MCOperandPredicate");
826 DestOperand.Rec, "ImmediateCode");