Home | History | Annotate | Download | only in TableGen

Lines Matching refs:Types

73 /// FillWithPossibleTypes - Set to all legal types and return true, only valid
92 std::string(PredicateName) + " types found");
153 /// argument. If 'this' changes, it returns true. If the two types are
190 // remove non-integer types from the list.
196 // multiple different integer types, replace them with a single iPTR.
225 // If we removed all of our types, we have a type contradiction.
235 /// EnforceInteger - Remove all non-integer types from this set.
247 // Filter out all the fp types.
260 /// EnforceFloatingPoint - Remove all integer types from this set.
273 // Filter out all the fp types.
286 /// EnforceScalar - Remove all vector types from this.
300 // Filter out all the vector types.
313 /// EnforceVector - Remove all vector types from this.
325 // Filter out all the scalar types.
378 // If we are down to concrete types, this code does not currently
379 // handle nodes which have multiple types, where some types are
383 "SDTCisOpSmallerThanOp does not handle mixed int/fp types!");
385 // Otherwise, if these are both vector types, either this vector
402 // For scalar types, the bitsize of this type must be larger
414 // that have mixed fp/int types but those are likely rare and would
556 // If the scalar type is known, filter out vector types whose element types
565 // Filter out all the types which don't have the right element type.
594 // If we know the vector type, it forces the scalar types to agree.
613 // Helpers for working with extended types.
939 // Filter vector types out of VecOperand that don't have the right element
950 // Filter vector types out of BigVecOperand that don't have the
965 // The 'unknown' operand indicates that types should be inferred from the
979 // Both RegisterClass and RegisterOperand operands derive their types from a
1133 for (unsigned i = 0, e = Types.size(); i != e; ++i)
1208 New->Types = Types;
1214 /// RemoveAllTypes - Recursively strip all the types of this tree.
1216 for (unsigned i = 0, e = Types.size(); i != e; ++i)
1217 Types[i] = EEVT::TypeSet(); // Reset to unknown type.
1305 for (unsigned i = 0, e = Types.size(); i != e; ++i)
1355 // types.
1364 // Pattern fragment types will be resolved when they are inlined.
1505 for (unsigned i = 0, e = Types.size(); i != e; ++i)
1513 assert(Types.size() == 1 && "Invalid IntInit");
1516 bool MadeChange = Types[0].EnforceInteger(TP);
1518 if (!Types[0].isConcrete())
1555 // Types of operands must match.
1625 // Apply the result types to the node, these come from the things in the
1637 // FIXME: Generalize to multiple possible types and multiple possible
2002 // destination types are the same, then the bitconvert is useless, remove it.
2024 /// InferAllTypes - Infer/propagate as many types throughout the expression
2025 /// patterns as possible. Return true if all types are inferred, false
2045 // If we have input named node types, propagate their types to the named
2055 // The input types should be fully resolved by now.
2275 // Infer as many types as possible. Don't worry about it if we don't infer
2315 /* Resolve all types */;
2669 // Allow direct value types to be used in instruction set patterns.
2732 // Infer as many types as possible. If we cannot infer all of them, we can
2735 I->error("Could not infer all types in pattern!");
2753 " void types");
2868 // Use a temporary tree pattern to infer all types and make sure that the
2924 " where different uses have different types!");
3136 /// arbitrary element if it's possible types to converge results.
3195 // Infer as many types as possible. If we cannot infer all of them, we
3200 // Infer as many types as possible. If we cannot infer all of them, we
3220 // If our iteration has converged and the input pattern's types are fully
3228 // arbitrary types to the result pattern's nodes.
3235 // Verify that we inferred enough types that we can do something with the
3238 Pattern->error("Could not infer all types in pattern!");
3241 Result->error("Could not infer all types in pattern result!");