Lines Matching refs:Set

45 // (sub Add, Sub, ...) Set difference.
50 PrintFatalError(Loc, "Set difference needs at least two arguments: " +
61 // (and S1, S2) Set intersection.
66 PrintFatalError(Loc, "Set intersection requires two arguments: " +
79 virtual void apply2(SetTheory &ST, DagInit *Expr, RecSet &Set, int64_t N,
85 PrintFatalError(Loc, "Operator requires (Op Set, Int) arguments: " +
87 RecSet Set;
88 ST.evaluate(Expr->arg_begin()[0], Set, Loc);
93 apply2(ST, Expr, Set, II->getValue(), Elts, Loc);
99 void apply2(SetTheory &ST, DagInit *Expr, RecSet &Set, int64_t N,
104 if (unsigned(N) < Set.size())
105 Elts.insert(Set.begin() + N, Set.end());
111 void apply2(SetTheory &ST, DagInit *Expr, RecSet &Set, int64_t N,
116 if (unsigned(N) > Set.size())
117 N = Set.size();
118 Elts.insert(Set.begin(), Set.begin() + N);
128 void apply2(SetTheory &ST, DagInit *Expr, RecSet &Set, int64_t N,
133 if (Set.empty())
136 N = Set.size() - (-N % Set.size());
138 N %= Set.size();
139 Elts.insert(Set.begin() + N, Set.end());
140 Elts.insert(Set.begin(), Set.begin() + N);
146 void apply2(SetTheory &ST, DagInit *Expr, RecSet &Set, int64_t N,
151 for (unsigned I = 0; I < Set.size(); I += N)
152 Elts.insert(Set[I]);
307 const RecVec *SetTheory::expand(Record *Set) {
308 // Check existing entries for Set and return early.
309 ExpandMap::iterator I = Expansions.find(Set);
313 // This is the first time we see Set. Find a suitable expander.
314 ArrayRef<std::pair<Record *, SMRange>> SC = Set->getSuperClasses();
322 RecVec &EltVec = Expansions[Set];
324 I->second->expand(*this, Set, Elts);
330 // Set is not expandable.