Lines Matching defs:src
58 get_src_block(nir_src *src)
60 if (src->parent_instr->type == nir_instr_type_phi) {
61 return exec_node_data(nir_phi_src, src, src)->pred;
63 return src->parent_instr->block;
73 nir_foreach_use(src, def) {
74 if (nir_block_is_unreachable(get_src_block(src)) ||
75 !nir_block_dominates(def->parent_instr->block, get_src_block(src))) {
81 nir_foreach_if_use(src, def) {
83 nir_cf_node_as_block(nir_cf_node_prev(&src->parent_if->cf_node));
104 nir_foreach_use_safe(src, def) {
105 nir_block *src_block = get_src_block(src);
121 src->parent_instr->type == nir_instr_type_deref &&
122 nir_instr_as_deref(src->parent_instr)->deref_type != nir_deref_type_cast) {
135 nir_instr_insert(nir_before_instr(src->parent_instr),
140 nir_instr_rewrite_src(src->parent_instr, src, nir_src_for_ssa(block_def));
143 nir_foreach_if_use_safe(src, def) {
145 nir_cf_node_as_block(nir_cf_node_prev(&src->parent_if->cf_node));
156 nir_if_rewrite_condition(src->parent_if, nir_src_for_ssa(block_def));