Home | History | Annotate | Download | only in TableGen

Lines Matching refs:Variants

2406   // Generate variants.  For example, commutative patterns can match
3566 for (const auto &Variants : ChildVariants)
3567 if (Variants.empty())
3688 // Find the variants of all of our maximal children.
3764 std::vector<std::vector<TreePatternNode*> > Variants;
3765 Variants.push_back(ChildVariants[0]); // Intrinsic id.
3766 Variants.push_back(ChildVariants[2]);
3767 Variants.push_back(ChildVariants[1]);
3769 Variants.push_back(ChildVariants[i]);
3770 CombineChildVariants(N, Variants, OutVariants, CDP, DepVars);
3778 // GenerateVariants - Generate variants. For example, commutative patterns can
3781 DEBUG(errs() << "Generating instruction variants.\n");
3784 // generate variants of the instruction, through the exploitation of
3786 // the .td file having to contain tons of variants of instructions.
3789 // intentionally do not reconsider these. Any variants of added patterns have
3794 std::vector<TreePatternNode*> Variants;
3799 GenerateVariantsOf(PatternsToMatch[i].getSrcPattern(), Variants, *this,
3802 assert(!Variants.empty() && "Must create at least original variant!");
3803 Variants.erase(Variants.begin()); // Remove the original pattern.
3805 if (Variants.empty()) // No variants for this pattern.
3808 DEBUG(errs() << "FOUND VARIANTS OF: ";
3812 for (unsigned v = 0, e = Variants.size(); v != e; ++v) {
3813 TreePatternNode *Variant = Variants[v];