Home
last modified time | relevance | path

Searched refs:cf_node (Results 1 – 25 of 55) sorted by relevance

123

/external/mesa3d/src/compiler/nir/
Dnir_opt_loop_unroll.c47 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 …]
Dnir_control_flow.c196 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 …]
Dnir_opt_if.c86 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 …]
Dnir_sweep.c41 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 …]
Dnir_to_lcssa.c54 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 …]
Dnir_opt_dead_cf.c89 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()
Dnir_opt_trivial_continues.c42 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()
Dnir_lower_returns.c58 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()
Dnir.c277 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 …]
Dnir_opt_conditional_discard.c35 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()
Dnir_dominance.c220 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()
Dnir_validate.c657 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 …]
Dnir_opt_global_to_local.c40 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()
Dnir_opt_peephole_select.c153 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/
Dsb_bc_finalize.cpp79 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 …]
Dsb_bc.h46 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 …]
Dsb_pass.h62 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 …]
Dsb_bc_parser.cpp200 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 …]
Dsb_bc_builder.cpp46 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()
Dsb_shader.cpp85 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()
Dsb_shader.h350 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/
Dcontrol_flow_tests.cpp53 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/
Danv_nir_apply_dynamic_offsets.c98 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/
Dir3_nir_lower_if_else.c219 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/
Dvtn_cfg.c617 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()

123