Lines Matching refs:affinities
79 std::vector<std::vector<uint32_t>> affinities;
95 unsigned found_first = affinities.size();
96 unsigned found_second = affinities.size();
97 for (unsigned i = 0; i < affinities.size(); i++) {
98 std::vector<uint32_t>& vec = affinities[i];
106 if (found_first == affinities.size() && found_second == affinities.size()) {
107 affinities.emplace_back(std::vector<uint32_t>({first, second}));
108 } else if (found_first < affinities.size() && found_second == affinities.size()) {
109 affinities[found_first].push_back(second);
110 } else if (found_second < affinities.size() && found_first == affinities.size()) {
111 affinities[found_second].push_back(first);
114 affinities[found_first].insert(affinities[found_first].end(),
115 affinities[found_second].begin(),
116 affinities[found_second].end());
117 affinities.erase(std::next(affinities.begin(), found_second));
1486 /* assign slots for ids with affinities first */
1487 for (std::vector<uint32_t>& vec : ctx.affinities) {
1512 /* assign slots for ids without affinities */
1536 /* first, handle affinities: just merge all interferences into both spill ids */
1537 for (std::vector<uint32_t>& vec : ctx.affinities) {
1559 for (std::vector<uint32_t>& vec : ctx.affinities) {