Lines Matching refs:def
68 repair_ssa_def(nir_ssa_def *def, void *void_state)
73 nir_foreach_use(src, def) {
75 !nir_block_dominates(def->parent_instr->block, get_src_block(src))) {
81 nir_foreach_if_use(src, def) {
85 !nir_block_dominates(def->parent_instr->block, block_before_if)) {
96 BITSET_SET(state->def_set, def->parent_instr->block->index);
99 nir_phi_builder_add_value(pb, def->num_components, def->bit_size,
102 nir_phi_builder_value_set_block_def(val, def->parent_instr->block, def);
104 nir_foreach_use_safe(src, def) {
106 if (src_block == def->parent_instr->block) {
107 assert(nir_phi_builder_value_get_block_def(val, src_block) == def);
113 if (block_def == def)
116 /* If def was a deref and the use we're looking at is a deref that
120 if (def->parent_instr->type == nir_instr_type_deref &&
127 nir_deref_instr *deref = nir_instr_as_deref(def->parent_instr);
134 def->num_components, def->bit_size, NULL);
143 nir_foreach_if_use_safe(src, def) {
146 if (block_before_if == def->parent_instr->block) {
147 assert(nir_phi_builder_value_get_block_def(val, block_before_if) == def);
153 if (block_def == def)