Lines Matching refs:PatFrag
34 else if (Def.isSubClassOf(PatFrag::ClassName)) in print()
35 OS << "Parsing " << PatFrag::ClassName << " '" << Def.getName() << '\''; in print()
139 getDagWithOperatorOfSubClass(Arg, PatFrag::ClassName)) { in parseInstructionPattern()
141 const PatFrag *PF = parsePatFrag(Def); in parseInstructionPattern()
339 std::unique_ptr<PatFrag> PatternParser::parsePatFragImpl(const Record *Def) { in parsePatFragImpl()
341 if (!Def->isSubClassOf(PatFrag::ClassName)) in parsePatFragImpl()
346 PrintError(Def, "expected 'ins' operator for " + PatFrag::ClassName + in parsePatFragImpl()
353 PrintError(Def, "expected 'outs' operator for " + PatFrag::ClassName + in parsePatFragImpl()
358 auto Result = std::make_unique<PatFrag>(*Def); in parsePatFragImpl()
360 Result->addOutParam(insertStrRef(Name), (PatFrag::ParamKind)Kind); in parsePatFragImpl()
366 Result->addInParam(insertStrRef(Name), (PatFrag::ParamKind)Kind); in parsePatFragImpl()
380 PatFrag::Alternative &A = Result->addAlternative(); in parsePatFragImpl()
413 PatFrag::ParamKind OpKind; in parsePatFragParamList()
415 OpKind = PatFrag::PK_Imm; in parsePatFragParamList()
417 OpKind = PatFrag::PK_Root; in parsePatFragParamList()
420 OpKind = PatFrag::PK_MachineOperand; in parsePatFragParamList()
436 const PatFrag *PatternParser::parsePatFrag(const Record *Def) { in parsePatFrag()
438 static DenseMap<const Record *, std::unique_ptr<PatFrag>> ParsedPatFrags; in parsePatFrag()
446 std::unique_ptr<PatFrag> NewPatFrag = parsePatFragImpl(Def); in parsePatFrag()
448 PrintError(Def, "Could not parse " + PatFrag::ClassName + " '" + in parsePatFrag()