Home | History | Annotate | Download | only in TableGen

Lines Matching full:patterns

1 //===- CodeGenDAGPatterns.cpp - Read DAG patterns from .td file -----------===//
11 // represent the patterns present in a .td file for instructions.
29 #define DEBUG_TYPE "dag-patterns"
720 /// Find dependent variables within child patterns
813 /// patterns before small ones. This is used to determine the size of a
823 // FIXME: This is a hack to statically increase the priority of patterns
827 // calculate the complexity of all patterns a dag can potentially map to.
1906 // child patterns, so attempt to match each sub-operand separately.
2290 /// patterns as possible. Return true if all types are inferred, false
2406 // Generate variants. For example, commutative patterns can match
2415 // Verify that instruction flags match the patterns.
2680 I->error("Cannot have void nodes inside of patterns!");
2936 // Allow direct value types to be used in instruction set patterns.
2941 // Patterns can also be ComplexPattern instances.
3155 // If we can, convert the instructions to be patterns that are matched!
3274 // Second, look for single-instruction patterns defined outside the
3279 // We can only infer from single-instruction patterns, otherwise we won't
3320 "Can't infer hasSideEffects from patterns");
3323 "Can't infer mayStore from patterns");
3326 "Can't infer mayLoad from patterns");
3394 PrintFatalError("Errors in DAG patterns");
3427 std::vector<Record*> Patterns = Records.getAllDerivedDefinitions("Pattern");
3429 for (Record *CurPattern : Patterns) {
3487 // output patterns should have register classes, not MVTs.
3771 // GenerateVariants - Generate variants. For example, commutative patterns can
3776 // Loop over all of the patterns we've collected, checking to see if we can
3781 // Note that this loop adds new patterns to the PatternsToMatch list, but we
3782 // intentionally do not reconsider these. Any variants of added patterns have
3830 // Otherwise, add it to the list of patterns we have.