Home | History | Annotate | Download | only in TableGen

Lines Matching refs:Operator

1083 static unsigned GetNumNodeResults(Record *Operator, CodeGenDAGPatterns &CDP) {
1084 if (Operator->getName() == "set" ||
1085 Operator->getName() == "implicit")
1088 if (Operator->isSubClassOf("Intrinsic"))
1089 return CDP.getIntrinsic(Operator).IS.RetVTs.size();
1091 if (Operator->isSubClassOf("SDNode"))
1092 return CDP.getSDNodeInfo(Operator).getNumResults();
1094 if (Operator->isSubClassOf("PatFrag")) {
1098 if (TreePattern *PFRec = CDP.getPatternFragmentIfRead(Operator))
1102 DagInit *Tree = Operator->getValueAsDag("Fragment");
1111 if (Operator->isSubClassOf("Instruction")) {
1112 CodeGenInstruction &InstInfo = CDP.getTargetInfo().getInstruction(Operator);
1123 if (Operator->isSubClassOf("SDNodeXForm"))
1126 if (Operator->isSubClassOf("ValueType"))
1129 if (Operator->isSubClassOf("ComplexPattern"))
1132 Operator->dump();
1502 Record *Operator = getOperator();
1503 if (!Operator->isSubClassOf("SDNode")) return false;
1505 return CGP.getSDNodeInfo(Operator).hasProperty(Property);
1831 // If this node is a commutative operator, check that the LHS isn't an
1951 if (!OpDef) error("Pattern has unexpected operator type!");
1952 Record *Operator = OpDef->getDef();
1954 if (Operator->isSubClassOf("ValueType")) {
1955 // If the operator is a ValueType, then this must be "type cast" of a leaf
1964 New->UpdateNodeType(0, getValueType(Operator), *this);
1971 // Verify that this is something that makes sense for an operator.
1972 if (!Operator->isSubClassOf("PatFrag") &&
1973 !Operator->isSubClassOf("SDNode") &&
1974 !Operator->isSubClassOf("Instruction") &&
1975 !Operator->isSubClassOf("SDNodeXForm") &&
1976 !Operator->isSubClassOf("Intrinsic") &&
1977 !Operator->isSubClassOf("ComplexPattern") &&
1978 Operator->getName() != "set" &&
1979 Operator->getName() != "implicit")
1980 error("Unrecognized node '" + Operator->getName() + "'!");
1984 if (Operator->isSubClassOf("Instruction") ||
1985 Operator->isSubClassOf("SDNodeXForm"))
1986 error("Cannot use '" + Operator->getName() + "' in an input pattern!");
1988 if (Operator->isSubClassOf("Intrinsic"))
1989 error("Cannot use '" + Operator->getName() + "' in an output pattern!");
1991 if (Operator->isSubClassOf("SDNode") &&
1992 Operator->getName() != "imm" &&
1993 Operator->getName() != "fpimm" &&
1994 Operator->getName() != "tglobaltlsaddr" &&
1995 Operator->getName() != "tconstpool" &&
1996 Operator->getName() != "tjumptable" &&
1997 Operator->getName() != "tframeindex" &&
1998 Operator->getName() != "texternalsym" &&
1999 Operator->getName() != "tblockaddress" &&
2000 Operator->getName() != "tglobaladdr" &&
2001 Operator->getName() != "bb" &&
2002 Operator->getName() != "vt")
2003 error("Cannot use '" + Operator->getName() + "' in an output pattern!");
2012 // If the operator is an intrinsic, then this is just syntactic sugar for for
2015 if (Operator->isSubClassOf("Intrinsic")) {
2016 const CodeGenIntrinsic &Int = getDAGPatterns().getIntrinsic(Operator);
2017 unsigned IID = getDAGPatterns().getIntrinsicID(Operator)+1;
2022 Operator = getDAGPatterns().get_intrinsic_void_sdnode();
2025 Operator = getDAGPatterns().get_intrinsic_w_chain_sdnode();
2027 Operator = getDAGPatterns().get_intrinsic_wo_chain_sdnode();
2033 if (Operator->isSubClassOf("ComplexPattern")) {
2043 auto OperandId = std::make_pair(Operator, i);
2054 unsigned NumResults = GetNumNodeResults(Operator, CDP);
2055 TreePatternNode *Result = new TreePatternNode(Operator, Children, NumResults);
2381 // Clone the DefaultInfo dag node, changing the operator from 'ops' to
2704 /// null_frag operator.
2708 Record *Operator = OpDef->getDef();
2711 if (Operator->getName() == "null_frag") return true;
2723 /// the null_frag operator.
2936 // null_frag operator is as-if no pattern were specified. Normally this
3384 /// 'operator' node, put them together in all possible ways.
3478 Record *Operator = N->getOperator();
3487 if (N->getChild(0)->isLeaf() || N->getChild(0)->getOperator() != Operator)
3492 if (N->getChild(1)->isLeaf() || N->getChild(1)->getOperator() != Operator)