/third_party/mesa3d/src/compiler/nir/ |
H A D | nir_repair_ssa.c | 60 if (src->parent_instr->type == nir_instr_type_phi) { in get_src_block() 63 return src->parent_instr->block; in get_src_block() 75 !nir_block_dominates(def->parent_instr->block, get_src_block(src))) { in repair_ssa_def() 85 !nir_block_dominates(def->parent_instr->block, block_before_if)) { in repair_ssa_def() 96 BITSET_SET(state->def_set, def->parent_instr->block->index); in repair_ssa_def() 102 nir_phi_builder_value_set_block_def(val, def->parent_instr->block, def); in repair_ssa_def() 106 if (src_block == def->parent_instr->block) { in repair_ssa_def() 120 if (def->parent_instr->type == nir_instr_type_deref && in repair_ssa_def() 121 src->parent_instr->type == nir_instr_type_deref && in repair_ssa_def() 122 nir_instr_as_deref(src->parent_instr) in repair_ssa_def() [all...] |
H A D | nir_to_lcssa.c | 84 if (use->parent_instr->block->index <= block_before_loop->index || in is_use_inside_loop() 85 use->parent_instr->block->index >= block_after_loop->index) { in is_use_inside_loop() 95 nir_instr *instr = def->parent_instr; in is_defined_before_loop() 117 if (def->parent_instr->pass_flags == undefined) in def_is_invariant() 118 def->parent_instr->pass_flags = instr_is_invariant(def->parent_instr, loop); in def_is_invariant() 120 return def->parent_instr->pass_flags == invariant; in def_is_invariant() 201 assert(def->parent_instr->pass_flags != undefined); in convert_loop_exit_for_ssa() 202 if (def->parent_instr->pass_flags == invariant) in convert_loop_exit_for_ssa() 207 if (use->parent_instr in convert_loop_exit_for_ssa() [all...] |
H A D | nir_lower_flrp.c | 55 nir_instr_as_alu(neg_a->parent_instr)->exact = alu->exact; in replace_with_strict_ffma() 58 nir_instr_as_alu(inner_ffma->parent_instr)->exact = alu->exact; in replace_with_strict_ffma() 61 nir_instr_as_alu(outer_ffma->parent_instr)->exact = alu->exact; in replace_with_strict_ffma() 84 nir_instr_as_alu(neg_c->parent_instr)->exact = alu->exact; in replace_with_single_ffma() 88 nir_instr_as_alu(one_minus_c->parent_instr)->exact = alu->exact; in replace_with_single_ffma() 91 nir_instr_as_alu(b_times_c->parent_instr)->exact = alu->exact; in replace_with_single_ffma() 94 nir_instr_as_alu(final_ffma->parent_instr)->exact = alu->exact; in replace_with_single_ffma() 117 nir_instr_as_alu(neg_c->parent_instr)->exact = alu->exact; in replace_with_strict() 121 nir_instr_as_alu(one_minus_c->parent_instr)->exact = alu->exact; in replace_with_strict() 124 nir_instr_as_alu(first_product->parent_instr) in replace_with_strict() [all...] |
H A D | nir_move_vec_src_uses_to_dest.c | 55 if (instr->index <= def->parent_instr->index) { in ssa_def_dominates_instr() 57 } else if (def->parent_instr->block == instr->block) { in ssa_def_dominates_instr() 58 return def->parent_instr->index < instr->index; in ssa_def_dominates_instr() 60 return nir_block_dominates(def->parent_instr->block, instr->block); in ssa_def_dominates_instr() 128 if (use->parent_instr == &vec->instr) in move_vec_src_uses_to_dest_block() 132 if (!ssa_def_dominates_instr(&vec->dest.dest.ssa, use->parent_instr)) in move_vec_src_uses_to_dest_block() 136 if (use->parent_instr->type != nir_instr_type_alu) in move_vec_src_uses_to_dest_block() 141 nir_alu_instr *use_alu = nir_instr_as_alu(use->parent_instr); in move_vec_src_uses_to_dest_block() 166 nir_instr_rewrite_src(use->parent_instr, use, in move_vec_src_uses_to_dest_block()
|
H A D | nir_from_ssa.c | 64 if (a->parent_instr->type == nir_instr_type_ssa_undef) in def_after() 67 if (b->parent_instr->type == nir_instr_type_ssa_undef) in def_after() 73 if (a->parent_instr->block == b->parent_instr->block) in def_after() 74 return a->parent_instr->index > b->parent_instr->index; in def_after() 77 return a->parent_instr->block->dom_pre_index > in def_after() 78 b->parent_instr->block->dom_pre_index; in def_after() 85 if (a->parent_instr->type == nir_instr_type_ssa_undef) { in ssa_def_dominates() 90 } else if (a->parent_instr in ssa_def_dominates() 594 nir_instr *parent_instr = def->parent_instr; rewrite_ssa_def() local [all...] |
H A D | nir_liveness.c | 315 def->parent_instr->block == instr->block) { in nir_ssa_def_is_live_at() 330 if (a->parent_instr == b->parent_instr) { in nir_ssa_defs_interfere() 335 } else if (a->parent_instr->type == nir_instr_type_ssa_undef || in nir_ssa_defs_interfere() 336 b->parent_instr->type == nir_instr_type_ssa_undef) { in nir_ssa_defs_interfere() 339 } else if (a->parent_instr->index < b->parent_instr->index) { in nir_ssa_defs_interfere() 340 return nir_ssa_def_is_live_at(a, b->parent_instr); in nir_ssa_defs_interfere() 342 return nir_ssa_def_is_live_at(b, a->parent_instr); in nir_ssa_defs_interfere()
|
H A D | nir_opt_if.c | 164 if (cond->parent_instr->type != nir_instr_type_phi) in opt_peel_loop_initial_if() 167 nir_phi_instr *cond_phi = nir_instr_as_phi(cond->parent_instr); in opt_peel_loop_initial_if() 168 if (cond->parent_instr->block != header_block) in opt_peel_loop_initial_if() 311 bcsel->src[i].src.ssa->parent_instr->block != instr->block) in is_trivial_bcsel() 314 if (bcsel->src[i].src.ssa->parent_instr->type != nir_instr_type_phi) { in is_trivial_bcsel() 322 nir_foreach_phi_src(src, nir_instr_as_phi(bcsel->src[0].src.ssa->parent_instr)) { in is_trivial_bcsel() 438 nir_instr *const src_instr = alu->src[i].src.ssa->parent_instr; in opt_split_alu_of_phi() 458 if (src_of_phi->src.ssa->parent_instr->type != in opt_split_alu_of_phi() 463 if (src_of_phi->src.ssa->parent_instr->type != in opt_split_alu_of_phi() 500 if (!is_trivial_bcsel(use->parent_instr, tru in opt_split_alu_of_phi() [all...] |
H A D | nir_group_loads.c | 91 return intr->src[0].ssa->parent_instr; in get_intrinsic_resource() 147 return tex->src[i].src.ssa->parent_instr; in get_uniform_inst_resource() 173 return state->block != src->ssa->parent_instr->block || in has_only_sources_less_than() 174 src->ssa->parent_instr->index < state->first_index; in has_only_sources_less_than() 196 if (use->parent_instr->block == instr->block && in group_loads() 197 use->parent_instr->index <= last->index) { in group_loads() 330 nir_instr *instr = src->ssa->parent_instr; in gather_indirections() 334 unsigned indirections = get_num_indirections(src->ssa->parent_instr); in gather_indirections()
|
H A D | nir_schedule.c | 254 src->parent_instr); in nir_schedule_reg_src_deps() 271 dest->reg.parent_instr); in nir_schedule_reg_dest_deps() 291 nir_schedule_node *def_n = nir_schedule_get_node(instr_map, def->parent_instr); in nir_schedule_ssa_deps() 295 src->parent_instr); in nir_schedule_ssa_deps() 558 _mesa_set_search(remaining_uses, src->parent_instr)) { in nir_schedule_regs_freed_src_cb() 870 src->parent_instr); in nir_schedule_mark_src_scheduled() 881 src->ssa->parent_instr->type != nir_instr_type_load_const) { in nir_schedule_mark_src_scheduled() 883 if (other_src->parent_instr == src->parent_instr) in nir_schedule_mark_src_scheduled() 888 other_src->parent_instr); in nir_schedule_mark_src_scheduled() [all...] |
H A D | nir_opt_gcm.c | 172 nir_instr *src_instr = src->ssa->parent_instr; in is_src_scalarizable() 435 gcm_schedule_early_instr(src->ssa->parent_instr, void_state); in gcm_schedule_early_src() 445 &state->instr_infos[src->ssa->parent_instr->index]; in gcm_schedule_early_src() 633 nir_instr *use_instr = use_src->parent_instr; in gcm_schedule_late_def() 669 state->instr_infos[def->parent_instr->index].early_block; in gcm_schedule_late_def() 675 def->parent_instr->block = NULL; in gcm_schedule_late_def() 679 if (def->parent_instr->pass_flags & GCM_INSTR_SCHEDULE_EARLIER_ONLY && in gcm_schedule_late_def() 680 lca != def->parent_instr->block && in gcm_schedule_late_def() 681 nir_block_dominates(def->parent_instr->block, lca)) { in gcm_schedule_late_def() 682 lca = def->parent_instr in gcm_schedule_late_def() [all...] |
H A D | nir_opt_undef.c | 50 nir_instr *parent = instr->src[i].src.ssa->parent_instr; in opt_undef_csel() 86 alu->src[i].src.ssa->parent_instr->type != nir_instr_type_ssa_undef) in opt_undef_vecN() 101 nir_instr *instr = def->parent_instr; in nir_get_undef_mask() 115 alu->src[i].src.ssa->parent_instr->type == in nir_get_undef_mask()
|
H A D | nir_opt_ray_queries.c | 42 if (rq_def->parent_instr->type == nir_instr_type_intrinsic) { in mark_query_read() 44 nir_instr_as_intrinsic(rq_def->parent_instr); in mark_query_read() 48 } else if (rq_def->parent_instr->type == nir_instr_type_deref) { in mark_query_read() 50 nir_instr_as_deref(rq_def->parent_instr)); in mark_query_read()
|
H A D | nir.c | 910 phi_src->src.parent_instr = &instr->instr; in nir_phi_instr_add_src() 1082 src->parent_instr = instr; in add_use_cb() 1112 dest->reg.parent_instr = instr; in add_reg_def_cb() 1324 if (!nir_instr_free_and_dce_is_live(src->ssa->parent_instr)) in nir_instr_dce_add_dead_srcs_cb() 1325 nir_instr_worklist_push_tail(wl, src->ssa->parent_instr); in nir_instr_dce_add_dead_srcs_cb() 1583 if (src.ssa->parent_instr->type != nir_instr_type_load_const) in nir_src_as_const_value() 1586 nir_load_const_instr *load = nir_instr_as_load_const(src.ssa->parent_instr); in nir_src_as_const_value() 1605 if (src.ssa->parent_instr->type == nir_instr_type_load_const) in nir_src_is_always_uniform() 1608 if (src.ssa->parent_instr->type == nir_instr_type_intrinsic) { in nir_src_is_always_uniform() 1609 nir_intrinsic_instr *intr = nir_instr_as_intrinsic(src.ssa->parent_instr); in nir_src_is_always_uniform() 1654 src_add_all_uses(nir_src *src, nir_instr *parent_instr, nir_if *parent_if) src_add_all_uses() argument [all...] |
H A D | nir_lower_scratch.c | 81 if (!src->parent_instr) in only_used_for_load_store() 83 if (src->parent_instr->type == nir_instr_type_deref) { in only_used_for_load_store() 84 if (!only_used_for_load_store(nir_instr_as_deref(src->parent_instr))) in only_used_for_load_store() 86 } else if (src->parent_instr->type != nir_instr_type_intrinsic) { in only_used_for_load_store() 89 nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(src->parent_instr); in only_used_for_load_store()
|
/third_party/mesa3d/src/gallium/drivers/lima/ir/ |
H A D | lima_nir_split_loads.c | 70 if (intrin->src[0].ssa->parent_instr->type == nir_instr_type_load_const) in replace_intrinsic() 77 _mesa_hash_table_search(visited_instrs, src->parent_instr); in replace_intrinsic() 78 if (entry && (src->parent_instr->type != nir_instr_type_phi)) { in replace_intrinsic() 80 nir_instr_rewrite_src(src->parent_instr, src, nir_src_for_ssa(def)); in replace_intrinsic() 85 nir_instr_rewrite_src(src->parent_instr, src, nir_src_for_ssa(new)); in replace_intrinsic() 86 _mesa_hash_table_insert(visited_instrs, src->parent_instr, new); in replace_intrinsic() 106 _mesa_hash_table_search(visited_instrs, src->parent_instr); in replace_load_const() 107 if (entry && (src->parent_instr->type != nir_instr_type_phi)) { in replace_load_const() 109 nir_instr_rewrite_src(src->parent_instr, src, nir_src_for_ssa(def)); in replace_load_const() 116 nir_instr_rewrite_src(src->parent_instr, sr in replace_load_const() [all...] |
H A D | lima_nir_duplicate_consts.c | 37 if (last_parent_instr != use_src->parent_instr) { in lima_nir_duplicate_load_const() 39 b->cursor = nir_before_instr(use_src->parent_instr); in lima_nir_duplicate_load_const() 52 nir_instr_rewrite_src(use_src->parent_instr, use_src, nir_src_for_ssa(&dupl->def)); in lima_nir_duplicate_load_const() 53 last_parent_instr = use_src->parent_instr; in lima_nir_duplicate_load_const() 63 if (last_parent_instr != use_src->parent_instr) { in lima_nir_duplicate_load_const() 79 last_parent_instr = use_src->parent_instr; in lima_nir_duplicate_load_const()
|
H A D | lima_nir_duplicate_intrinsic.c | 38 if (last_parent_instr != use_src->parent_instr) { in lima_nir_duplicate_intrinsic() 40 b->cursor = nir_before_instr(use_src->parent_instr); in lima_nir_duplicate_intrinsic() 60 nir_instr_rewrite_src(use_src->parent_instr, use_src, nir_src_for_ssa(&dupl->dest.ssa)); in lima_nir_duplicate_intrinsic() 61 last_parent_instr = use_src->parent_instr; in lima_nir_duplicate_intrinsic() 71 if (last_parent_instr != use_src->parent_instr) { in lima_nir_duplicate_intrinsic() 94 last_parent_instr = use_src->parent_instr; in lima_nir_duplicate_intrinsic()
|
H A D | lima_nir_lower_txp.c | 58 if (coord_src_ssa->parent_instr->type != nir_instr_type_intrinsic) in get_proj_index() 61 nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(coord_src_ssa->parent_instr); in get_proj_index() 117 nir_ssa_def *load_input = get_proj_index(coords_ssa->parent_instr, in lima_nir_lower_txp_instr() 118 proj_ssa->parent_instr, in lima_nir_lower_txp_instr()
|
/third_party/mesa3d/src/freedreno/ir3/ |
H A D | ir3_nir_lower_tex_prefetch.c | 34 nir_instr *parent_instr = ssa->parent_instr; in coord_offset() local 42 if (parent_instr->type == nir_instr_type_alu) { in coord_offset() 43 nir_alu_instr *alu = nir_instr_as_alu(parent_instr); in coord_offset() 69 if (parent_instr->type != nir_instr_type_intrinsic) in coord_offset() 72 nir_intrinsic_instr *input = nir_instr_as_intrinsic(parent_instr); in coord_offset() 84 nir_instr_as_intrinsic(input->src[0].ssa->parent_instr); in coord_offset() 211 nir_instr *cond = nif->condition.ssa->parent_instr; in lower_tex_prefetch_func()
|
/third_party/mesa3d/src/imagination/rogue/nir/ |
H A D | rogue_nir_constreg.c | 61 if (use_src->parent_instr == mov->parent_instr) in rogue_nir_constreg() 67 if (use_src->parent_instr->type == nir_instr_type_intrinsic) in rogue_nir_constreg() 70 nir_instr_rewrite_src_ssa(use_src->parent_instr, use_src, mov); in rogue_nir_constreg()
|
/third_party/mesa3d/src/compiler/nir/tests/ |
H A D | serialize_tests.cpp | 130 nir_alu_instr *fmax_alu = nir_instr_as_alu(fmax->parent_instr); in TEST_P() 154 nir_alu_instr *vec_alu = nir_instr_as_alu(vec->parent_instr); in TEST_P() 169 nir_alu_instr *fma_alu = nir_instr_as_alu(fma->parent_instr); in TEST_P() 191 nir_alu_instr *fma_alu = nir_instr_as_alu(fma->parent_instr); in TEST_P() 220 nir_alu_instr *fma_alu = nir_instr_as_alu(fma->parent_instr); in TEST_P() 248 nir_alu_instr *fma_alu = nir_instr_as_alu(fma->parent_instr); in TEST_P() 274 nir_alu_instr *vec_alu = nir_instr_as_alu(vec->parent_instr); in TEST_P()
|
H A D | core_tests.cpp | 100 nir_cursor c = nir_instr_free_and_dce(add01->parent_instr); in TEST_F() 106 ASSERT_TRUE(nir_cursors_equal(c, nir_before_instr(add11->parent_instr))); in TEST_F() 116 nir_cursor c = nir_instr_free_and_dce(add->parent_instr); in TEST_F() 134 nir_cursor c = nir_instr_free_and_dce(add2->parent_instr); in TEST_F()
|
H A D | load_store_vectorizer_tests.cpp | 253 nir_alu_instr *mov = nir_instr_as_alu(nir_mov(b, &load->dest.ssa)->parent_instr); in create_indirect_load() 320 nir_alu_instr *mov = nir_instr_as_alu(nir_mov(b, load)->parent_instr); in create_shared_load() 625 ASSERT_TRUE(test_alu(load->src[1].ssa->parent_instr, nir_op_ineg)); in TEST_F() 626 nir_ssa_def *offset = nir_instr_as_alu(load->src[1].ssa->parent_instr)->src[0].src.ssa; in TEST_F() 627 ASSERT_TRUE(test_alu(offset->parent_instr, nir_op_ishl)); in TEST_F() 628 nir_alu_instr *shl = nir_instr_as_alu(offset->parent_instr); in TEST_F() 742 nir_const_value *cv = nir_instr_as_load_const(val->parent_instr)->value; in TEST_F() 765 nir_const_value *cv = nir_instr_as_load_const(val->parent_instr)->value; in TEST_F() 952 ASSERT_TRUE(test_alu(val->parent_instr, nir_op_ior)); in TEST_F() 953 nir_ssa_def *low = nir_instr_as_alu(val->parent_instr) in TEST_F() [all...] |
/third_party/mesa3d/src/imagination/rogue/ |
H A D | rogue_nir_helpers.h | 81 assert(alu->src[src].src.ssa->parent_instr); in nir_alu_src_is_const() 83 return (alu->src[src].src.ssa->parent_instr->type == in nir_alu_src_is_const() 133 assert(intr->src[src].ssa->parent_instr); in nir_intr_src_is_const() 135 return (intr->src[src].ssa->parent_instr->type == nir_instr_type_load_const); in nir_intr_src_is_const()
|
/third_party/mesa3d/src/panfrost/util/ |
H A D | nir_mod_helpers.c | 42 if (!src->src.is_ssa || src->src.ssa->parent_instr->type != nir_instr_type_alu) in pan_has_source_mod() 45 nir_alu_instr *alu = nir_instr_as_alu(src->src.ssa->parent_instr); in pan_has_source_mod() 100 nir_instr *parent = use->parent_instr; in pan_has_dest_mod()
|