Lines Matching full:variants
573 for (const Record *Variant : RWDef->getValueAsListOfDefs("Variants")) {
582 // More may be inferred later when inferring new SchedClasses from variants.
1332 ConstRecVec Variants = SchedRW.TheDef->getValueAsListOfDefs("Variants");
1333 if (any_of(Variants, [PredDef](const Record *R) {
1338 // we're expanding. Consider following RW sequence with two variants
1370 getAllPredicates(ArrayRef<TransVariant> Variants, unsigned ProcId) {
1372 for (auto &Variant : Variants) {
1380 // Populate IntersectingVariants with any variants or aliased sequences of the
1389 std::vector<TransVariant> Variants;
1399 SchedRW.TheDef->getValueAsListOfDefs("Variants"))
1400 Variants.emplace_back(VarDef, SchedRW.Index, VarProcIdx, 0);
1408 // to is defined within a processor model, constrain all variants to
1417 if (!Variants.empty()) {
1420 "Multiple variants defined for processor " +
1429 for (const Record *VD : AliasRW.TheDef->getValueAsListOfDefs("Variants"))
1430 Variants.emplace_back(VD, AliasRW.Index, AliasProcIdx, 0);
1433 Variants.emplace_back(AliasRW.TheDef, SchedRW.Index, AliasProcIdx, 0);
1438 getAllPredicates(Variants, TransVec[TransIdx].ProcIndex);
1439 for (TransVariant &Variant : Variants) {
1440 // Don't expand variants if the processor models don't intersect.
1453 // Push another copy of the current transition for more variants.
1535 // Push this RW on all partial PredTransitions or distribute variants.
1540 // Distribute this partial PredTransition across intersecting variants.
1564 // predicates should result in linear growth in the total number variants.
1566 // This is one step in a breadth-first search of nested variants.
2226 dbgs() << "Expanded Variants:\n";