reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

utils/TableGen/DAGISelMatcherEmitter.cpp
  284   OS.indent(Indent*2);
  296         OS << "OPC_Scope, ";
  300           OS << "/*" << format_decimal(CurrentIdx, IndexWidth) << "*/";
  301           OS.indent(Indent*2) << "/*Scope*/ ";
  303           OS.indent(Indent*2);
  325       CurrentIdx += EmitVBRValue(ChildSize, OS);
  327         OS << "/*->" << CurrentIdx+ChildSize << "*/";
  330           OS << " // " << SM->getNumChildren() << " children in Scope";
  333       OS << '\n' << TmpBuf;
  339       OS << "/*" << format_decimal(CurrentIdx, IndexWidth) << "*/";
  340     OS.indent(Indent*2) << "0, ";
  342       OS << "/*End of Scope*/";
  343     OS << '\n';
  348     OS << "OPC_RecordNode,";
  350       OS << " // #"
  353     OS << '\n';
  357     OS << "OPC_RecordChild" << cast<RecordChildMatcher>(N)->getChildNo()
  360       OS << " // #"
  363     OS << '\n';
  367     OS << "OPC_RecordMemRef,\n";
  371     OS << "OPC_CaptureGlueInput,\n";
  377     OS << "OPC_MoveChild";
  380       OS << ", ";
  381     OS << MCM->getChildNo() << ",\n";
  386     OS << "OPC_MoveParent,\n";
  390     OS << "OPC_CheckSame, "
  395     OS << "OPC_CheckChild"
  402     OS << "OPC_CheckPatternPredicate, " << getPatternPredicate(Pred) << ',';
  404       OS << " // " << Pred;
  405     OS << '\n';
  414       OS << "OPC_CheckPredicateWithOperands, " << NumOps << "/*#Ops*/, ";
  416         OS << cast<CheckPredicateMatcher>(N)->getOperandNo(i) << ", ";
  419       OS << "OPC_CheckPredicate, ";
  422     OS << getNodePredicate(Pred) << ',';
  424       OS << " // " << Pred.getFnName();
  425     OS << '\n';
  430     OS << "OPC_CheckOpcode, TARGET_VAL("
  440       OS << "OPC_SwitchOpcode ";
  443       OS << "OPC_SwitchType ";
  448       OS << "/*" << NumCases << " cases */";
  449     OS << ", ";
  485           OS << "/*" << format_decimal(CurrentIdx, IndexWidth) << "*/";
  486         OS.indent(Indent*2);
  488           OS << (isa<SwitchOpcodeMatcher>(N) ?
  493       CurrentIdx += EmitVBRValue(ChildSize, OS);
  496         OS << "TARGET_VAL(" << SOM->getCaseOpcode(i).getEnumName() << "),";
  498         OS << getEnumName(cast<SwitchTypeMatcher>(N)->getCaseType(i)) << ',';
  503         OS << "// ->" << CurrentIdx+ChildSize;
  504       OS << '\n';
  505       OS << TmpBuf;
  511       OS << "/*" << format_decimal(CurrentIdx, IndexWidth) << "*/";
  512     OS.indent(Indent*2) << "0,";
  514       OS << (isa<SwitchOpcodeMatcher>(N) ?
  517     OS << '\n';
  524       OS << "OPC_CheckType, "
  528     OS << "OPC_CheckTypeRes, " << cast<CheckTypeMatcher>(N)->getResNo()
  533     OS << "OPC_CheckChild"
  539     OS << "OPC_CheckInteger, ";
  540     unsigned Bytes=1+EmitVBRValue(cast<CheckIntegerMatcher>(N)->getValue(), OS);
  541     OS << '\n';
  545     OS << "OPC_CheckChild" << cast<CheckChildIntegerMatcher>(N)->getChildNo()
  548                                   OS);
  549     OS << '\n';
  553     OS << "OPC_CheckCondCode, ISD::"
  558     OS << "OPC_CheckChild2CondCode, ISD::"
  563     OS << "OPC_CheckValueType, MVT::"
  570     OS << "OPC_CheckComplexPat, /*CP*/" << getComplexPat(Pattern) << ", /*#*/"
  574       OS << " // " << Pattern.getSelectFunc();
  575       OS << ":$" << CCPM->getName();
  577         OS << " #" << CCPM->getFirstResult()+i;
  580         OS << " + chain result";
  582     OS << '\n';
  587     OS << "OPC_CheckAndImm, ";
  588     unsigned Bytes=1+EmitVBRValue(cast<CheckAndImmMatcher>(N)->getValue(), OS);
  589     OS << '\n';
  594     OS << "OPC_CheckOrImm, ";
  595     unsigned Bytes = 1+EmitVBRValue(cast<CheckOrImmMatcher>(N)->getValue(), OS);
  596     OS << '\n';
  601     OS << "OPC_CheckFoldableChainNode,\n";
  605     OS << "OPC_CheckImmAllOnesV,\n";
  609     OS << "OPC_CheckImmAllZerosV,\n";
  614     OS << "OPC_EmitInteger, "
  616     unsigned Bytes = 2+EmitVBRValue(Val, OS);
  617     OS << '\n';
  623     OS << "OPC_EmitInteger, "
  635       OS << "OPC_EmitRegister2, " << getEnumName(Matcher->getVT()) << ", ";
  636       OS << "TARGET_VAL(" << getQualifiedName(Reg->TheDef) << "),\n";
  639       OS << "OPC_EmitRegister, " << getEnumName(Matcher->getVT()) << ", ";
  641         OS << getQualifiedName(Reg->TheDef) << ",\n";
  643         OS << "0 ";
  645           OS << "/*zero_reg*/";
  646         OS << ",\n";
  653     OS << "OPC_EmitConvertToTarget, "
  663       OS << "OPC_EmitMergeInputChains1_" << MN->getNode(0) << ",\n";
  667     OS << "OPC_EmitMergeInputChains, " << MN->getNumNodes() << ", ";
  669       OS << MN->getNode(i) << ", ";
  670     OS << '\n';
  679       OS << "OPC_EmitCopyToReg2, " << C2RMatcher->getSrcSlot() << ", "
  683       OS << "OPC_EmitCopyToReg, " << C2RMatcher->getSrcSlot() << ", "
  691     OS << "OPC_EmitNodeXForm, " << getNodeXFormID(XF->getNodeXForm()) << ", "
  694       OS << " // "<<XF->getNodeXForm()->getName();
  695     OS <<'\n';
  705         OS << "OPC_Coverage, ";
  714         OS << "TARGET_VAL(" << Offset << "),\n";
  715         OS.indent(FullIndexWidth + Indent * 2);
  719     OS << (isa<EmitNodeMatcher>(EN) ? "OPC_EmitNode" : "OPC_MorphNodeTo");
  722       OS << EN->getNumVTs();
  724     OS << ", TARGET_VAL(" << EN->getOpcodeName() << "), 0";
  726     if (EN->hasChain())   OS << "|OPFL_Chain";
  727     if (EN->hasInFlag())  OS << "|OPFL_GlueInput";
  728     if (EN->hasOutFlag()) OS << "|OPFL_GlueOutput";
  729     if (EN->hasMemRefs()) OS << "|OPFL_MemRefs";
  731       OS << "|OPFL_Variadic" << EN->getNumFixedArityOperands();
  732     OS << ",\n";
  734     OS.indent(FullIndexWidth + Indent*2+4);
  736       OS << EN->getNumVTs();
  738         OS << "/*#VTs*/";
  739       OS << ", ";
  742       OS << getEnumName(EN->getVT(i)) << ", ";
  744     OS << EN->getNumOperands();
  746       OS << "/*#Ops*/";
  747     OS << ", ";
  750       NumOperandBytes += EmitVBRValue(EN->getOperand(i), OS);
  756           OS << " // Results =";
  759             OS << " #" << First+i;
  762       OS << '\n';
  765         OS.indent(FullIndexWidth + Indent*2) << "// Src: "
  768         OS.indent(FullIndexWidth + Indent*2) << "// Dst: "
  772       OS << '\n';
  782       OS << "OPC_Coverage, ";
  791       OS << "TARGET_VAL(" << Offset << "),\n";
  792       OS.indent(FullIndexWidth + Indent * 2);
  794     OS << "OPC_CompleteMatch, " << CM->getNumResults() << ", ";
  797       NumResultBytes += EmitVBRValue(CM->getResult(i), OS);
  798     OS << '\n';
  800       OS.indent(FullIndexWidth + Indent*2) << " // Src: "
  803       OS.indent(FullIndexWidth + Indent*2) << " // Dst: "
  806     OS << '\n';