Home | History | Annotate | Download | only in TableGen

Lines Matching refs:Operand

959 /// getOperandNum - Return the node corresponding to operand #OpNo in tree
975 OS << "Invalid operand number in type constraint "
998 // Operand must be a particular type.
1001 // Operand must be same as target pointer type.
1026 TP.error(N->getOperator()->getName() + " expects a VT operand!");
1095 // Update the node type to match an instruction operand or result as specified
1099 Record *Operand,
1101 // The 'unknown' operand indicates that types should be inferred from the
1103 if (Operand->isSubClassOf("unknown_class"))
1106 // The Operand class specifies a type directly.
1107 if (Operand->isSubClassOf("Operand"))
1108 return UpdateNodeType(ResNo, getValueType(Operand->getValueAsDef("Type")),
1112 if (Operand->isSubClassOf("PointerLikeRegClass"))
1118 if (Operand->isSubClassOf("RegisterClass"))
1119 RC = Operand;
1120 else if (Operand->isSubClassOf("RegisterOperand"))
1121 RC = Operand->getValueAsDef("RegClass");
1123 assert(RC && "Unknown operand type");
1474 /// When Unnamed is set, return the type of a DAG operand with no name, such as
1479 /// When Unnamed is false, return the type of a named DAG operand such as the
1480 /// GPR:$src operand above.
1486 // Check to see if this is a register operand.
1504 // In a named operand, the register class provides the possible set of
1573 if (R->isSubClassOf("Operand"))
1620 if (DI && DI->getDef()->isSubClassOf("Operand")) {
1871 TP.error("REG_SEQUENCE requires a RegisterClass for first operand!");
1878 TP.error("REG_SEQUENCE requires a SubRegIndex for operand " +
1889 // If the instruction expects a predicate or optional def operand, we
1890 // codegen this by setting the operand to it's default value if it has a
1905 // If the operand has sub-operands, they may be provided by distinct
1906 // child patterns, so attempt to match each sub-operand separately.
1907 if (OperandNode->isSubClassOf("Operand")) {
1910 // But don't do that if the whole operand is being provided by
1911 // a single ComplexPattern-related Operand.
1914 // Match first sub-operand against the child we already have.
1938 // operand now.
1964 // Node transforms always take one operand.
1967 "' requires one operand!");
2012 // example, if an operand is required to be an immediate.
2029 bool Skip = isCommIntrinsic ? 1 : 0; // First operand is intrinsic id.
2103 error("'node' argument requires a name to match with operand list");
2114 error("'?' argument requires a name to match with operand list");
2148 error("Type cast only takes one operand!");
2508 P->error("Operands list should have names for each operand!");
2517 P->error("Operands list does not contain an entry for operand '" +
2929 /// Check the class of a pattern leaf node against the instruction operand it
3000 "' set but does not appear in operand list!");
3006 I->error("Operand $" + OpName + " does not exist in operand list!");
3012 I->error("Operand $" + OpName + " should be a set destination: all "
3013 "outputs must occur before inputs in operand list!");
3016 I->error("Operand $" + OpName + " class mismatch!");
3035 I->error("Operand #" + utostr(i) + " in operands list has no name!");
3038 // If this is an operand with a DefaultOps set filled in, we can ignore
3042 // operand.
3046 I->error("Operand $" + OpName +
3055 I->error("Operand $" + OpName + "'s register class disagrees"
3056 " between the operand and pattern");
3060 // Construct the result for the dest-pattern operand list.
3078 I->error("Input operand $" + InstInputsCheck.begin()->first +
3120 // instruction for its operand list. We have to assume that there is one
3558 // Make sure that each operand has at least one variant to choose from.
3752 // Commutative intrinsic. First operand is the intrinsic id, 2nd and 3rd