Lines Matching defs:set

100  * representing a set registers of non-interfering registers.  This is
112 * nodes in a given set interfere. Merging two sets or checking for
120 struct merge_set *set;
133 merge_set_dump(merge_set *set, FILE *fp)
135 nir_ssa_def *dom[set->size];
138 foreach_list_typed(merge_node, node, node, &set->nodes) {
160 merge_set *set = ralloc(state->dead_ctx, merge_set);
161 exec_list_make_empty(&set->nodes);
162 set->size = 1;
163 set->divergent = def->divergent;
164 set->reg = NULL;
167 node->set = set;
169 exec_list_push_head(&set->nodes, &node->node);
179 /* There's no need to check for interference within the same set,
183 if (a->set == b->set)
208 exec_node_data(merge_node, bn, node)->set = a;
276 * 1. There is no interference within either set a or set b.
470 if (src_node->set != dest_node->set)
471 merge_merge_sets(dest_node->set, src_node->set);
499 if (src_node->set == dest_node->set)
505 if (dest_node->set->divergent != src_node->set->divergent)
508 if (!merge_sets_interfere(src_node->set, dest_node->set))
509 merge_merge_sets(src_node->set, dest_node->set);
565 * the things in the merge set should be the same so it doesn't
568 if (node->set->reg == NULL) {
569 node->set->reg = create_reg_for_ssa_def(def, state->builder.impl);
570 node->set->reg->divergent = node->set->divergent;
573 reg = node->set->reg;
711 /* Now we set everything up:
713 * - Current locations are set from sources
740 * at this point, be set yet, so we should have -1 here.
944 nir_ssa_def *def, nir_block *block, struct set *visited_blocks)
982 * back-end, is easy to generate, correct, and will turn into the same set of
1011 struct set *visited_blocks = _mesa_set_create(NULL, _mesa_hash_pointer,