Lines Matching refs:MC

40   MultiClass *MC;
42 SubMultiClassReference() : MC(nullptr) {}
44 bool isInvalid() const { return MC == nullptr; }
51 MC->dump();
209 MultiClass *SMC = SubMultiClass.MC;
460 if (MultiClass *MC = ParseMultiClassID())
461 Result.Rec = &MC->Rec;
509 Result.MC = ParseMultiClassID();
510 if (!Result.MC) return Result;
521 Result.MC = nullptr;
525 Result.TemplateArgs = ParseValueList(&CurMC->Rec, &Result.MC->Rec);
527 Result.MC = nullptr; // Error parsing value list.
533 Result.MC = nullptr;
2272 if (!SubMultiClass.MC) return true;
2314 Record *TGParser::InstantiateMulticlassDef(MultiClass &MC, Record *DefProto,
2342 StringRecTy::get())->Fold(DefProto, &MC),
2343 DefName, StringRecTy::get())->Fold(DefProto, &MC);
2389 ResolveMulticlassDefArgs(MC, CurRec.get(), DefmPrefixRange.Start,
2436 bool TGParser::ResolveMulticlassDefArgs(MultiClass &MC, Record *CurRec,
2460 ") of multiclassclass '" + MC.Rec.getNameInitAsString() +
2467 bool TGParser::ResolveMulticlassDef(MultiClass &MC,
2531 MultiClass *MC = MultiClasses[Ref.Rec->getName()].get();
2532 assert(MC && "Didn't lookup multiclass correctly?");
2536 ArrayRef<Init *> TArgs = MC->Rec.getTemplateArgs();
2542 for (const std::unique_ptr<Record> &DefProto : MC->DefPrototypes) {
2548 Record *CurRec = InstantiateMulticlassDef(*MC, DefProto.get(), DefmPrefix,
2556 if (ResolveMulticlassDefArgs(*MC, CurRec, DefmLoc, SubClassLoc,
2560 if (ResolveMulticlassDef(*MC, CurRec, DefProto.get(), DefmLoc))
2637 bool TGParser::ParseObject(MultiClass *MC) {
2641 case tgtok::Let: return ParseTopLevelLet(MC);
2642 case tgtok::Def: return ParseDef(MC);
2643 case tgtok::Foreach: return ParseForeach(MC);
2644 case tgtok::Defm: return ParseDefm(MC);
2652 bool TGParser::ParseObjectList(MultiClass *MC) {
2654 if (ParseObject(MC))