Lines Matching refs:def

48 /* Returns if def @a comes after def @b.
107 * is represented by a combination of a hash table and the "def" parameter
121 nir_ssa_def *def;
139 while (dom_idx >= 0 && !ssa_def_dominates(dom[dom_idx], node->def))
145 fprintf(fp, "ssa_%d\n", node->def->index);
147 dom[++dom_idx] = node->def;
153 get_merge_node(nir_ssa_def *def, struct from_ssa_state *state)
156 _mesa_hash_table_search(state->merge_node_table, def);
163 set->divergent = def->divergent;
168 node->def = def;
171 _mesa_hash_table_insert(state->merge_node_table, def, node);
186 return nir_ssa_defs_interfere(a->def, b->def);
204 def_after(a_node->def, b_node->def)) {
256 if (def_after(b_node->def, a_node->def)) {
271 !ssa_def_dominates(dom[dom_idx]->def, current->def))
541 create_reg_for_ssa_def(nir_ssa_def *def, nir_function_impl *impl)
545 reg->num_components = def->num_components;
546 reg->bit_size = def->bit_size;
553 rewrite_ssa_def(nir_ssa_def *def, void *void_state)
559 _mesa_hash_table_search(state->merge_node_table, def);
569 node->set->reg = create_reg_for_ssa_def(def, state->builder.impl);
581 if (def->parent_instr->type == nir_instr_type_load_const)
584 reg = create_reg_for_ssa_def(def, state->builder.impl);
587 nir_ssa_def_rewrite_uses_src(def, nir_src_for_reg(reg));
588 assert(nir_ssa_def_is_unused(def));
590 if (def->parent_instr->type == nir_instr_type_ssa_undef) {
594 nir_instr *parent_instr = def->parent_instr;
601 assert(def->parent_instr->type != nir_instr_type_load_const);
603 /* At this point we know a priori that this SSA def is part of a
606 nir_dest *dest = exec_node_data(nir_dest, def, ssa);
944 nir_ssa_def *def, nir_block *block, struct set *visited_blocks)
967 place_phi_read(b, reg, def, (nir_block *)entry->key, visited_blocks);
974 nir_store_reg(b, reg, def, ~0);
1025 nir_ssa_def *def = nir_load_reg(&b, reg);
1027 nir_ssa_def_rewrite_uses(&phi->dest.ssa, def);
1080 ssa_def_is_local_to_block(nir_ssa_def *def, UNUSED void *state)
1082 nir_block *block = def->parent_instr->block;
1083 nir_foreach_use(use_src, def) {
1090 if (!list_is_empty(&def->if_uses))
1118 nir_register *reg = create_reg_for_ssa_def(&undef->def, state.impl);
1119 nir_ssa_def_rewrite_uses_src(&undef->def, nir_src_for_reg(reg));
1123 nir_register *reg = create_reg_for_ssa_def(&load->def, state.impl);
1124 nir_ssa_def_rewrite_uses_src(&load->def, nir_src_for_reg(reg));
1127 mov->src[0].src = nir_src_for_ssa(&load->def);
1132 /* If the SSA def produced by this instruction is only in the block