/external/mesa3d/src/compiler/nir/ |
D | nir_opt_loop_unroll.c | 47 nir_cf_node_as_block(nir_cf_node_next(&loop->cf_node)); in loop_prepare_for_unroll() 119 nir_after_cf_node(&terminator->nif->cf_node)); in simple_unroll() 121 nir_cf_node_remove(&terminator->nif->cf_node); in simple_unroll() 134 nir_before_cf_node(&limiting_term->nif->cf_node)); in simple_unroll() 142 nir_after_cf_node(&limiting_term->nif->cf_node)); in simple_unroll() 146 nir_cf_extract(&loop_body, nir_after_cf_node(&limiting_term->nif->cf_node), in simple_unroll() 155 nir_cf_list_clone(&cloned_header, &lp_header, loop->cf_node.parent, in simple_unroll() 159 nir_cf_reinsert(&cloned_header, nir_before_cf_node(&loop->cf_node)); in simple_unroll() 167 nir_cf_list_clone(&unrolled_lp_body, &loop_body, loop->cf_node.parent, in simple_unroll() 171 nir_cf_reinsert(&unrolled_lp_body, nir_before_cf_node(&loop->cf_node)); in simple_unroll() [all …]
|
D | nir_control_flow.c | 196 new_block->cf_node.parent = block->cf_node.parent; in split_block_beginning() 197 exec_node_insert_node_before(&block->cf_node.node, &new_block->cf_node.node); in split_block_beginning() 241 nir_function_impl *impl = nir_cf_node_get_function(&block->cf_node); in insert_phi_undef() 297 if (exec_node_is_tail_sentinel(block->cf_node.node.next)) { in block_add_normal_succs() 298 nir_cf_node *parent = block->cf_node.parent; in block_add_normal_succs() 316 nir_cf_node *next = nir_cf_node_next(&block->cf_node); in block_add_normal_succs() 339 new_block->cf_node.parent = block->cf_node.parent; in split_block_end() 340 exec_node_insert_after(&block->cf_node.node, &new_block->cf_node.node); in split_block_end() 430 node->parent = before->cf_node.parent; in insert_non_block() 431 exec_node_insert_after(&before->cf_node.node, &node->node); in insert_non_block() [all …]
|
D | nir_opt_if.c | 86 nir_cf_node_as_block(nir_cf_node_prev(&loop->cf_node)); in opt_peel_loop_initial_if() 105 nir_cf_node *if_node = nir_cf_node_next(&header_block->cf_node); in opt_peel_loop_initial_if() 156 foreach_list_typed(nir_cf_node, cf_node, node, entry_list) { in opt_peel_loop_initial_if() 157 nir_foreach_block_in_cf_node(block, cf_node) { in opt_peel_loop_initial_if() 171 nir_cf_node_as_block(nir_cf_node_next(&nif->cf_node)); in opt_peel_loop_initial_if() 180 nir_foreach_block_in_cf_node(block, &nif->cf_node) in opt_peel_loop_initial_if() 187 nir_cf_list_clone(&tmp, &header, &loop->cf_node, NULL); in opt_peel_loop_initial_if() 188 nir_cf_reinsert(&tmp, nir_before_cf_node(&loop->cf_node)); in opt_peel_loop_initial_if() 191 nir_cf_reinsert(&tmp, nir_before_cf_node(&loop->cf_node)); in opt_peel_loop_initial_if() 198 nir_cf_node_remove(&nif->cf_node); in opt_peel_loop_initial_if() [all …]
|
D | nir_sweep.c | 41 static void sweep_cf_node(nir_shader *nir, nir_cf_node *cf_node); 79 foreach_list_typed(nir_cf_node, cf_node, node, &iff->then_list) { in sweep_if() 80 sweep_cf_node(nir, cf_node); in sweep_if() 83 foreach_list_typed(nir_cf_node, cf_node, node, &iff->else_list) { in sweep_if() 84 sweep_cf_node(nir, cf_node); in sweep_if() 93 foreach_list_typed(nir_cf_node, cf_node, node, &loop->body) { in sweep_loop() 94 sweep_cf_node(nir, cf_node); in sweep_loop() 99 sweep_cf_node(nir_shader *nir, nir_cf_node *cf_node) in sweep_cf_node() argument 101 switch (cf_node->type) { in sweep_cf_node() 103 sweep_block(nir, nir_cf_node_as_block(cf_node)); in sweep_cf_node() [all …]
|
D | nir_to_lcssa.c | 54 nir_cf_node_as_block(nir_cf_node_prev(&loop->cf_node)); in is_if_use_inside_loop() 56 nir_cf_node_as_block(nir_cf_node_next(&loop->cf_node)); in is_if_use_inside_loop() 59 nir_cf_node_as_block(nir_cf_node_prev(&use->parent_if->cf_node)); in is_if_use_inside_loop() 72 nir_cf_node_as_block(nir_cf_node_prev(&loop->cf_node)); in is_use_inside_loop() 74 nir_cf_node_as_block(nir_cf_node_next(&loop->cf_node)); in is_use_inside_loop() 91 nir_cf_node_as_block(nir_cf_node_next(&state->loop->cf_node)); in convert_loop_exit_for_ssa() 159 convert_to_lcssa(nir_cf_node *cf_node, lcssa_state *state) in convert_to_lcssa() argument 161 switch (cf_node->type) { in convert_to_lcssa() 163 nir_foreach_instr(instr, nir_cf_node_as_block(cf_node)) in convert_to_lcssa() 167 nir_if *if_stmt = nir_cf_node_as_if(cf_node); in convert_to_lcssa() [all …]
|
D | nir_opt_dead_cf.c | 89 nir_block *after = nir_cf_node_as_block(nir_cf_node_next(&if_stmt->cf_node)); in opt_constant_if() 122 remove_after_cf_node(&if_stmt->cf_node); in opt_constant_if() 131 nir_cf_reinsert(&list, nir_after_cf_node(&if_stmt->cf_node)); in opt_constant_if() 132 nir_cf_node_remove(&if_stmt->cf_node); in opt_constant_if() 193 nir_block *before = nir_cf_node_as_block(nir_cf_node_prev(&loop->cf_node)); in loop_is_dead() 194 nir_block *after = nir_cf_node_as_block(nir_cf_node_next(&loop->cf_node)); in loop_is_dead() 200 if (cf_node_has_side_effects(&loop->cf_node)) in loop_is_dead() 203 nir_function_impl *impl = nir_cf_node_get_function(&loop->cf_node); in loop_is_dead() 240 nir_cf_node_remove(&following_loop->cf_node); in dead_cf_block() 307 !exec_node_is_tail_sentinel(next->cf_node.node.next)) { in dead_cf_list()
|
D | nir_opt_trivial_continues.c | 42 nir_cf_node *prev_node = nir_cf_node_prev(&block->cf_node); in lower_trivial_continues_block() 78 foreach_list_typed(nir_cf_node, cf_node, node, cf_list) { in lower_trivial_continues_list() 80 &cf_node->node == exec_list_get_tail(cf_list); in lower_trivial_continues_list() 81 switch (cf_node->type) { in lower_trivial_continues_list() 86 nir_if *nif = nir_cf_node_as_if(cf_node); in lower_trivial_continues_list() 95 nir_loop *loop = nir_cf_node_as_loop(cf_node); in lower_trivial_continues_list()
|
D | nir_lower_returns.c | 58 nir_cf_node_insert(b->cursor, &if_stmt->cf_node); in predicate_following() 72 nir_cf_extract(&list, nir_after_cf_node(&if_stmt->cf_node), in predicate_following() 93 predicate_following(&loop->cf_node, state); in lower_returns_in_loop() 124 predicate_following(&if_stmt->cf_node, state); in lower_returns_in_if() 130 nir_cf_extract(&list, nir_after_cf_node(&if_stmt->cf_node), in lower_returns_in_if() 156 nir_cf_extract(&list, nir_before_cf_node(&block->cf_node), in lower_returns_in_block() 203 assert(nir_cf_node_next(&block->cf_node) == NULL); in lower_returns_in_block()
|
D | nir.c | 277 cf_init(&impl->cf_node, nir_cf_node_function); in nir_function_impl_create_bare() 292 start_block->cf_node.parent = &impl->cf_node; in nir_function_impl_create_bare() 293 end_block->cf_node.parent = &impl->cf_node; in nir_function_impl_create_bare() 296 exec_list_push_tail(&impl->body, &start_block->cf_node.node); in nir_function_impl_create_bare() 341 cf_init(&block->cf_node, nir_cf_node_block); in nir_block_create() 377 cf_init(&if_stmt->cf_node, nir_cf_node_if); in nir_if_create() 382 exec_list_push_tail(&if_stmt->then_list, &then->cf_node.node); in nir_if_create() 383 then->cf_node.parent = &if_stmt->cf_node; in nir_if_create() 387 exec_list_push_tail(&if_stmt->else_list, &else_stmt->cf_node.node); in nir_if_create() 388 else_stmt->cf_node.parent = &if_stmt->cf_node; in nir_if_create() [all …]
|
D | nir_opt_conditional_discard.c | 35 if (nir_cf_node_is_first(&block->cf_node)) in nir_opt_conditional_discard_block() 38 nir_cf_node *prev_node = nir_cf_node_prev(&block->cf_node); in nir_opt_conditional_discard_block() 62 nir_block *after = nir_cf_node_as_block(nir_cf_node_next(&if_stmt->cf_node)); in nir_opt_conditional_discard_block() 103 nir_cf_node_remove(&if_stmt->cf_node); in nir_opt_conditional_discard_block()
|
D | nir_dominance.c | 220 assert(nir_cf_node_get_function(&b1->cf_node) == in nir_dominance_lca() 221 nir_cf_node_get_function(&b2->cf_node)); in nir_dominance_lca() 223 assert(nir_cf_node_get_function(&b1->cf_node)->valid_metadata & in nir_dominance_lca() 235 assert(nir_cf_node_get_function(&parent->cf_node) == in nir_block_dominates() 236 nir_cf_node_get_function(&child->cf_node)); in nir_block_dominates() 238 assert(nir_cf_node_get_function(&parent->cf_node)->valid_metadata & in nir_block_dominates()
|
D | nir_validate.c | 657 validate_assert(state, block->cf_node.parent == state->parent_node); in validate_block() 702 nir_cf_node_as_block(nir_cf_node_next(&state->loop->cf_node)); in validate_block() 721 nir_cf_node *next = nir_cf_node_next(&block->cf_node); in validate_block() 772 validate_assert(state, !exec_node_is_head_sentinel(if_stmt->cf_node.node.prev)); in validate_if() 773 nir_cf_node *prev_node = nir_cf_node_prev(&if_stmt->cf_node); in validate_if() 776 validate_assert(state, !exec_node_is_tail_sentinel(if_stmt->cf_node.node.next)); in validate_if() 777 nir_cf_node *next_node = nir_cf_node_next(&if_stmt->cf_node); in validate_if() 786 state->parent_node = &if_stmt->cf_node; in validate_if() 789 foreach_list_typed(nir_cf_node, cf_node, node, &if_stmt->then_list) { in validate_if() 790 validate_cf_node(cf_node, state); in validate_if() [all …]
|
D | nir_opt_global_to_local.c | 40 nir_cf_node_get_function(&instr->block->cf_node); in global_to_local() 52 nir_cf_node_get_function(&instr->block->cf_node); in global_to_local() 63 nir_function_impl *if_impl = nir_cf_node_get_function(&if_stmt->cf_node); in global_to_local()
|
D | nir_opt_peephole_select.c | 153 if (nir_cf_node_is_first(&block->cf_node)) in nir_opt_peephole_select_block() 156 nir_cf_node *prev_node = nir_cf_node_prev(&block->cf_node); in nir_opt_peephole_select_block() 233 nir_cf_node_remove(&if_stmt->cf_node); in nir_opt_peephole_select_block()
|
/external/mesa3d/src/gallium/drivers/r600/sb/ |
D | sb_bc_finalize.cpp | 79 cf_node *c = sh.create_clause(NST_ALU_CLAUSE); in run() 105 cf_node *c = sh.create_cf(CF_OP_CF_END); in run() 113 cf_node *le = last_export[t]; in run() 127 cf_node *loop_start = sh.create_cf(CF_OP_LOOP_START_DX10); in finalize_loop() 128 cf_node *loop_end = sh.create_cf(CF_OP_LOOP_END); in finalize_loop() 144 cf_node *loop_break = sh.create_cf(CF_OP_LOOP_BREAK); in finalize_loop() 155 cf_node *loop_cont = sh.create_cf(CF_OP_LOOP_CONTINUE); in finalize_loop() 199 cf_node *if_jump = sh.create_cf(CF_OP_JUMP); in finalize_if() 200 cf_node *if_pop = sh.create_cf(CF_OP_POP); in finalize_if() 214 cf_node *nelse = sh.create_cf(CF_OP_ELSE); in finalize_if() [all …]
|
D | sb_bc.h | 46 class cf_node; variable 823 typedef std::vector<cf_node*> id_cf_map; 855 int decode_alu_clause(cf_node *cf); 856 int decode_alu_group(cf_node* cf, unsigned &i, unsigned &gcnt); 858 int decode_fetch_clause(cf_node *cf); 861 int prepare_alu_clause(cf_node *cf); 862 int prepare_alu_group(cf_node* cf, alu_group_node *g); 863 int prepare_fetch_clause(cf_node *cf); 865 int prepare_loop(cf_node *c); 866 int prepare_if(cf_node *c); [all …]
|
D | sb_pass.h | 62 virtual bool visit(cf_node &n, bool enter); 107 virtual bool visit(cf_node &n, bool enter); 113 void dump(cf_node& n); 133 virtual bool visit(cf_node &n, bool enter); 180 virtual bool visit(cf_node &n, bool enter); 320 virtual bool visit(cf_node &n, bool enter); 374 virtual bool visit(cf_node &n, bool enter); 600 virtual bool visit(cf_node &n, bool enter); 649 virtual bool visit(cf_node &n, bool enter); 684 cf_node *last_export[EXP_TYPE_COUNT]; [all …]
|
D | sb_bc_parser.cpp | 200 cf_node *cf = sh->create_cf(); in decode_cf() 241 int bc_parser::decode_alu_clause(cf_node* cf) { in decode_alu_clause() 261 int bc_parser::decode_alu_group(cf_node* cf, unsigned &i, unsigned &gcnt) { in decode_alu_group() 323 int bc_parser::prepare_alu_clause(cf_node* cf) { in prepare_alu_clause() 358 int bc_parser::prepare_alu_group(cf_node* cf, alu_group_node *g) { in prepare_alu_group() 565 int bc_parser::decode_fetch_clause(cf_node* cf) { in decode_fetch_clause() 583 int bc_parser::prepare_fetch_clause(cf_node *cf) { in prepare_fetch_clause() 678 cf_node *c = *I; in prepare_ir() 751 cf_node *cf_next = sh->create_cf(); in prepare_ir() 804 cf_node *cf_next = sh->create_cf(); in prepare_ir() [all …]
|
D | sb_bc_builder.cpp | 46 cf_node *cf = static_cast<cf_node*>(*it); in build() 67 cf_node *cf = static_cast<cf_node*>(*I); in build() 95 int bc_builder::build_alu_clause(cf_node* n) { in build_alu_clause() 127 int bc_builder::build_fetch_clause(cf_node* n) { in build_fetch_clause() 141 int bc_builder::build_cf(cf_node* n) { in build_cf() 201 int bc_builder::build_cf_alu(cf_node* n) { in build_cf_alu() 258 int bc_builder::build_cf_exp(cf_node* n) { in build_cf_exp() 332 int bc_builder::build_cf_mem(cf_node* n) { in build_cf_mem()
|
D | sb_shader.cpp | 85 cf_node* shader::create_clause(node_subtype nst) { in create_clause() 86 cf_node *n = create_cf(); in create_clause() 215 void shader::init_call_fs(cf_node* cf) { in init_call_fs() 282 cf_node* shader::create_cf() { in create_cf() 283 cf_node* n = new (pool.allocate(sizeof(cf_node))) cf_node(); in create_cf() 417 cf_node* shader::create_cf(unsigned op) { in create_cf() 418 cf_node *c = create_cf(); in create_cf()
|
D | sb_shader.h | 350 void init_call_fs(cf_node *cf); 360 cf_node* create_cf(); 361 cf_node* create_cf(unsigned op); 374 cf_node* create_clause(node_subtype nst);
|
/external/mesa3d/src/compiler/nir/tests/ |
D | control_flow_tests.cpp | 53 nir_cf_node_insert(nir_after_cf_list(&b.impl->body), &loop->cf_node); in TEST_F() 80 nir_block *block_2 = nir_cf_node_as_block(nir_cf_node_next(&loop->cf_node)); in TEST_F() 82 ASSERT_EQ(nir_cf_node_block, block_0->cf_node.type); in TEST_F() 83 ASSERT_EQ(nir_cf_node_block, block_1->cf_node.type); in TEST_F() 84 ASSERT_EQ(nir_cf_node_block, block_2->cf_node.type); in TEST_F() 85 ASSERT_EQ(nir_cf_node_block, block_3->cf_node.type); in TEST_F()
|
/external/mesa3d/src/intel/vulkan/ |
D | anv_nir_apply_dynamic_offsets.c | 98 nir_cf_node_insert(b->cursor, &if_stmt->cf_node); in apply_dynamic_offsets_block() 112 src1->pred = exec_node_data(nir_block, tnode, cf_node.node); in apply_dynamic_offsets_block() 123 src2->pred = exec_node_data(nir_block, enode, cf_node.node); in apply_dynamic_offsets_block() 131 nir_instr_insert_after_cf(&if_stmt->cf_node, &phi->instr); in apply_dynamic_offsets_block()
|
/external/mesa3d/src/gallium/drivers/freedreno/ir3/ |
D | ir3_nir_lower_if_else.c | 219 if (nir_cf_node_is_first(&block->cf_node)) in lower_if_else_block() 222 nir_cf_node *prev_node = nir_cf_node_prev(&block->cf_node); in lower_if_else_block() 251 assert(prev_block->cf_node.type == nir_cf_node_block); in lower_if_else_block() 292 nir_cf_node_remove(&if_stmt->cf_node); in lower_if_else_block()
|
/external/mesa3d/src/compiler/spirv/ |
D | vtn_cfg.c | 617 nir_cf_node_insert(b->nb.cursor, &if_stmt->cf_node); in vtn_emit_cf_list() 637 b->nb.cursor = nir_after_cf_node(&if_stmt->cf_node); in vtn_emit_cf_list() 651 nir_cf_node_insert(b->nb.cursor, &switch_if->cf_node); in vtn_emit_cf_list() 662 nir_cf_node_insert(b->nb.cursor, &loop->cf_node); in vtn_emit_cf_list() 675 b->nb.cursor = nir_before_cf_node(&loop->cf_node); in vtn_emit_cf_list() 681 nir_cf_node_insert(b->nb.cursor, &cont_if->cf_node); in vtn_emit_cf_list() 686 b->nb.cursor = nir_after_cf_node(&cont_if->cf_node); in vtn_emit_cf_list() 692 b->nb.cursor = nir_after_cf_node(&loop->cf_node); in vtn_emit_cf_list() 752 nir_cf_node_insert(b->nb.cursor, &case_if->cf_node); in vtn_emit_cf_list() 760 b->nb.cursor = nir_after_cf_node(&case_if->cf_node); in vtn_emit_cf_list()
|