Lines Matching refs:Variant
108 // SchedReadWrites that represent sequences derived from expanded variant will
195 // Visit each variant (guarded by a different predicate).
198 // Visit each RW in the sequence selected by the current variant.
897 Record *VarOrSeqDef; // Variant or sequence.
898 unsigned RWIdx; // Index of this variant or sequence's matched type.
907 // RWIdx is the index of the read/write variant.
1047 // Push each variant. Assign TransVecIdx later.
1076 TransVariant &Variant = Variants[VIdx];
1082 Variant.ProcIdx);
1087 *(SchedModels.procModelBegin() + Variant.ProcIdx);
1088 PrintFatalError(Variant.VarOrSeqDef->getLoc(),
1094 if (Variant.VarOrSeqDef->isSubClassOf("SchedVar")) {
1095 Record *PredDef = Variant.VarOrSeqDef->getValueAsDef("Predicate");
1100 // The first variant builds on the existing transition.
1101 Variant.TransVecIdx = TransIdx;
1102 IntersectingVariants.push_back(Variant);
1106 Variant.TransVecIdx = TransVec.size();
1107 IntersectingVariants.push_back(Variant);
1113 // Push the Reads/Writes selected by this variant onto the PredTransition
1134 "variant must be a SchedVariant or aliased WriteSequence");
1210 "No variant of this type has "
1212 // Now expand each variant on top of its copy of the transition.
1223 // For each variant of a Read/Write in Trans, substitute the sequence of
1224 // Read/Writes guarded by the variant. This is exponential in the number of
1225 // variant Read/Writes, but in practice detection of mutually exclusive
1261 // Create a new SchedClass for each variant found by inferFromRW. Pass
1305 // ReadWrites refers to a SchedVariant, create a new SchedClass for each variant
1344 // Iterate until no variant writes remain.