Home
last modified time | relevance | path

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

1234

/external/mesa3d/src/imagination/pco/
Dpco_builder.h39 pco_cf_node *cf_node; member
58 static inline pco_cursor pco_cursor_before_cf_node(pco_cf_node *cf_node) in pco_cursor_before_cf_node() argument
62 .cf_node = cf_node, in pco_cursor_before_cf_node()
72 static inline pco_cursor pco_cursor_after_cf_node(pco_cf_node *cf_node) in pco_cursor_after_cf_node() argument
76 .cf_node = cf_node, in pco_cursor_after_cf_node()
88 return pco_cursor_before_cf_node(&block->cf_node); in pco_cursor_before_block()
99 return pco_cursor_after_cf_node(&block->cf_node); in pco_cursor_after_block()
183 switch (cursor.cf_node->type) { in pco_cursor_func()
185 return pco_cf_node_as_block(cursor.cf_node)->parent_func; in pco_cursor_func()
188 return pco_cf_node_as_if(cursor.cf_node)->parent_func; in pco_cursor_func()
[all …]
Dpco_internal.h268 pco_cf_node cf_node; /** Control flow node. */ member
276 pco_cf_node cf_node; /** CF node. */ member
286 pco_cf_node cf_node; /** CF node. */ member
304 pco_cf_node cf_node; /** Control flow node. */ member
423 cf_node, in PCO_DEFINE_CAST()
429 cf_node, in PCO_DEFINE_CAST()
435 cf_node, in PCO_DEFINE_CAST()
441 cf_node, in PCO_DEFINE_CAST()
452 #define pco_foreach_cf_node_in_if_then(cf_node, _if) \ in PCO_DEFINE_CAST() argument
453 list_for_each_entry (pco_cf_node, cf_node, &(_if)->then_body, link) in PCO_DEFINE_CAST()
[all …]
Dpco_validate.c36 pco_cf_node *cf_node; /** Current cf node being validated. */ member
89 if (state->cf_node) { in pco_assert()
91 pco_print_cf_node_name(state->shader, state->cf_node); in pco_assert()
106 pco_print_cf_node_name(state->shader, &state->func->cf_node); in pco_assert()
137 state->cf_node = &instr->parent_block->cf_node; in pco_validate_ssa()
Dpco.c115 static inline void init_cf_node(pco_cf_node *cf_node, in init_cf_node() argument
118 cf_node->type = type; in init_cf_node()
119 cf_node->parent = NULL; in init_cf_node()
150 init_cf_node(&func->cf_node, PCO_CF_NODE_TYPE_FUNC); in pco_func_create()
180 init_cf_node(&block->cf_node, PCO_CF_NODE_TYPE_BLOCK); in pco_block_create()
198 init_cf_node(&pif->cf_node, PCO_CF_NODE_TYPE_IF); in pco_if_create()
217 init_cf_node(&loop->cf_node, PCO_CF_NODE_TYPE_LOOP); in pco_loop_create()
Dpco_print.c38 static void _pco_print_cf_node(pco_print_state *state, pco_cf_node *cf_node);
899 pco_foreach_cf_node_in_if_then (cf_node, pif) { in pco_print_if()
900 _pco_print_cf_node(state, cf_node); in pco_print_if()
912 pco_foreach_cf_node_in_if_else (cf_node, pif) { in pco_print_if()
913 _pco_print_cf_node(state, cf_node); in pco_print_if()
944 pco_foreach_cf_node_in_loop (cf_node, loop) { in pco_print_loop()
945 _pco_print_cf_node(state, cf_node); in pco_print_loop()
1017 pco_foreach_cf_node_in_func (cf_node, func) { in pco_print_func()
1018 _pco_print_cf_node(state, cf_node); in pco_print_func()
1030 static void _pco_print_cf_node(pco_print_state *state, pco_cf_node *cf_node) in _pco_print_cf_node() argument
[all …]
/external/mesa3d/src/compiler/nir/
Dnir_opt_loop_unroll.c52 nir_cf_node_get_function(&loop->cf_node)); in loop_prepare_for_unroll()
65 nir_cf_node_as_block(nir_cf_node_next(&loop->cf_node)); in loop_prepare_for_unroll()
137 nir_after_cf_node(&terminator->nif->cf_node)); in simple_unroll()
139 nir_cf_node_remove(&terminator->nif->cf_node); in simple_unroll()
152 nir_before_cf_node(&limiting_term->nif->cf_node)); in simple_unroll()
160 nir_after_cf_node(&limiting_term->nif->cf_node)); in simple_unroll()
164 nir_cf_extract(&loop_body, nir_after_cf_node(&limiting_term->nif->cf_node), in simple_unroll()
170 nir_cf_list_clone_and_reinsert(&lp_header, loop->cf_node.parent, in simple_unroll()
171 nir_before_cf_node(&loop->cf_node), in simple_unroll()
176 nir_cf_list_clone_and_reinsert(&loop_body, loop->cf_node.parent, in simple_unroll()
[all …]
Dnir_sweep.c43 static void sweep_cf_node(nir_shader *nir, nir_cf_node *cf_node);
84 foreach_list_typed(nir_cf_node, cf_node, node, &iff->then_list) { in sweep_if()
85 sweep_cf_node(nir, cf_node); in sweep_if()
88 foreach_list_typed(nir_cf_node, cf_node, node, &iff->else_list) { in sweep_if()
89 sweep_cf_node(nir, cf_node); in sweep_if()
99 foreach_list_typed(nir_cf_node, cf_node, node, &loop->body) { in sweep_loop()
100 sweep_cf_node(nir, cf_node); in sweep_loop()
105 sweep_cf_node(nir_shader *nir, nir_cf_node *cf_node) in sweep_cf_node() argument
107 switch (cf_node->type) { in sweep_cf_node()
109 sweep_block(nir, nir_cf_node_as_block(cf_node)); in sweep_cf_node()
[all …]
Dnir_control_flow.c188 new_block->cf_node.parent = block->cf_node.parent; in split_block_beginning()
189 exec_node_insert_node_before(&block->cf_node.node, &new_block->cf_node.node); in split_block_beginning()
224 nir_function_impl *impl = nir_cf_node_get_function(&block->cf_node); in nir_insert_phi_undef()
269 if (exec_node_is_tail_sentinel(block->cf_node.node.next)) { in block_add_normal_succs()
270 nir_cf_node *parent = block->cf_node.parent; in block_add_normal_succs()
295 nir_cf_node *next = nir_cf_node_next(&block->cf_node); in block_add_normal_succs()
320 new_block->cf_node.parent = block->cf_node.parent; in split_block_end()
321 exec_node_insert_after(&block->cf_node.node, &new_block->cf_node.node); in split_block_end()
411 node->parent = before->cf_node.parent; in insert_non_block()
412 exec_node_insert_after(&before->cf_node.node, &node->node); in insert_non_block()
[all …]
Dnir_lower_memory_model.c148 lower_make_visible(nir_cf_node *cf_node, uint32_t *cur_modes) in lower_make_visible() argument
151 switch (cf_node->type) { in lower_make_visible()
153 nir_block *block = nir_cf_node_as_block(cf_node); in lower_make_visible()
159 nir_if *nif = nir_cf_node_as_if(cf_node); in lower_make_visible()
170 nir_loop *loop = nir_cf_node_as_loop(cf_node); in lower_make_visible()
188 lower_make_available(nir_cf_node *cf_node, uint32_t *cur_modes) in lower_make_available() argument
191 switch (cf_node->type) { in lower_make_available()
193 nir_block *block = nir_cf_node_as_block(cf_node); in lower_make_available()
199 nir_if *nif = nir_cf_node_as_if(cf_node); in lower_make_available()
210 nir_loop *loop = nir_cf_node_as_loop(cf_node); in lower_make_available()
[all …]
Dnir_opt_dead_cf.c84 nir_remove_after_cf_node(&if_stmt->cf_node); in opt_constant_if()
89 nir_block *after = nir_cf_node_as_block(nir_cf_node_next(&if_stmt->cf_node)); in opt_constant_if()
110 nir_cf_reinsert(&list, nir_after_cf_node(&if_stmt->cf_node)); in opt_constant_if()
111 nir_cf_node_remove(&if_stmt->cf_node); in opt_constant_if()
118 for (nir_cf_node *cur = block->cf_node.parent; cur && cur != node->parent; in block_in_cf_node()
135 block = nir_cf_node_as_block(nir_cf_node_prev(&nir_src_parent_if(use)->cf_node)); in def_only_used_in_cf_node()
187 for (nir_cf_node *n = &block->cf_node; in node_is_dead()
267 !exec_node_is_tail_sentinel(block->cf_node.node.next)) { in dead_cf_block()
268 nir_remove_after_cf_node(&block->cf_node); in dead_cf_block()
282 if (node_is_dead(&following_if->cf_node)) { in dead_cf_block()
[all …]
Dnir_opt_loop.c14 return nir_cf_node_is_last(&block->cf_node) && in is_block_empty()
21 return nir_cf_node_is_last(&block->cf_node) && in is_block_singular()
72 nir_block *after_if = nir_cf_node_cf_tree_next(&nif->cf_node); in opt_loop_merge_break_continue()
153 if (!is_block_empty(nir_cf_node_cf_tree_next(&nif->cf_node))) in opt_loop_terminator()
165 nir_remove_single_src_phis_block(nir_cf_node_as_block(nir_cf_node_next(&nif->cf_node))); in opt_loop_terminator()
171 nir_cf_reinsert(&tmp, nir_after_cf_node(&nif->cf_node)); in opt_loop_terminator()
249 …for (nir_cf_node *prev = nir_cf_node_prev(&block->cf_node); prev != NULL; prev = nir_cf_node_prev(… in opt_loop_last_block()
290 nir_cf_node *prev = nir_cf_node_prev(&block->cf_node); in opt_loop_last_block()
366 nir_block *prev_block = nir_cf_node_cf_tree_prev(&loop->cf_node); in opt_loop_peel_initial_break()
367 nir_block *exit_block = nir_cf_node_cf_tree_next(&loop->cf_node); in opt_loop_peel_initial_break()
[all …]
Dnir_to_lcssa.c62 nir_cf_node_as_block(nir_cf_node_prev(&loop->cf_node)); in is_if_use_inside_loop()
64 nir_cf_node_as_block(nir_cf_node_next(&loop->cf_node)); in is_if_use_inside_loop()
67 nir_cf_node_as_block(nir_cf_node_prev(&nir_src_parent_if(use)->cf_node)); in is_if_use_inside_loop()
80 nir_cf_node_as_block(nir_cf_node_prev(&loop->cf_node)); in is_use_inside_loop()
82 nir_cf_node_as_block(nir_cf_node_next(&loop->cf_node)); in is_use_inside_loop()
97 nir_cf_node_as_block(nir_cf_node_prev(&loop->cf_node)); in is_defined_before_loop()
146 nir_cf_node *prev = nir_cf_node_prev(&instr->instr.block->cf_node); in phi_is_invariant()
277 nir_cf_node_as_block(nir_cf_node_next(&loop->cf_node)); in setup_loop_state()
306 convert_to_lcssa(nir_cf_node *cf_node, lcssa_state *state) in convert_to_lcssa() argument
308 switch (cf_node->type) { in convert_to_lcssa()
[all …]
Dnir_opt_if.c43 nir_cf_node_as_block(nir_cf_node_prev(&loop->cf_node)); in find_continue_block()
143 nir_cf_node_as_block(nir_cf_node_prev(&loop->cf_node)); in opt_peel_loop_initial_if()
155 nir_cf_node *if_node = nir_cf_node_next(&header_block->cf_node); in opt_peel_loop_initial_if()
194 foreach_list_typed(nir_cf_node, cf_node, node, entry_list) { in opt_peel_loop_initial_if()
195 nir_foreach_block_in_cf_node(block, cf_node) { in opt_peel_loop_initial_if()
206 nir_cf_node_get_function(&loop->cf_node)); in opt_peel_loop_initial_if()
215 nir_cf_node_as_block(nir_cf_node_next(&nif->cf_node)); in opt_peel_loop_initial_if()
224 nir_foreach_block_in_cf_node(block, &nif->cf_node) in opt_peel_loop_initial_if()
231 nir_cf_list_clone(&tmp, &header, &loop->cf_node, NULL); in opt_peel_loop_initial_if()
232 nir_cf_reinsert(&tmp, nir_before_cf_node(&loop->cf_node)); in opt_peel_loop_initial_if()
[all …]
Dnir_opt_copy_prop_vars.c154 nir_cf_node *cf_node) in gather_vars_written() argument
158 switch (cf_node->type) { in gather_vars_written()
160 nir_function_impl *impl = nir_cf_node_as_function(cf_node); in gather_vars_written()
161 foreach_list_typed_safe(nir_cf_node, cf_node, node, &impl->body) in gather_vars_written()
162 gather_vars_written(state, NULL, cf_node); in gather_vars_written()
170 nir_block *block = nir_cf_node_as_block(cf_node); in gather_vars_written()
259 nir_if *if_stmt = nir_cf_node_as_if(cf_node); in gather_vars_written()
263 foreach_list_typed_safe(nir_cf_node, cf_node, node, &if_stmt->then_list) in gather_vars_written()
264 gather_vars_written(state, new_written, cf_node); in gather_vars_written()
266 foreach_list_typed_safe(nir_cf_node, cf_node, node, &if_stmt->else_list) in gather_vars_written()
[all …]
Dnir_dominance.c226 assert(nir_cf_node_get_function(&b1->cf_node) == in nir_dominance_lca()
227 nir_cf_node_get_function(&b2->cf_node)); in nir_dominance_lca()
229 assert(nir_cf_node_get_function(&b1->cf_node)->valid_metadata & in nir_dominance_lca()
249 assert(nir_cf_node_get_function(&parent->cf_node) == in nir_block_dominates()
250 nir_cf_node_get_function(&child->cf_node)); in nir_block_dominates()
252 assert(nir_cf_node_get_function(&parent->cf_node)->valid_metadata & in nir_block_dominates()
266 assert(nir_cf_node_get_function(&block->cf_node)->valid_metadata & in nir_block_is_unreachable()
268 assert(nir_cf_node_get_function(&block->cf_node)->valid_metadata & in nir_block_is_unreachable()
Dnir_opt_dce.c164 foreach_list_typed_reverse(nir_cf_node, cf_node, node, cf_list) { in dce_cf_list()
165 switch (cf_node->type) { in dce_cf_list()
167 nir_block *block = nir_cf_node_as_block(cf_node); in dce_cf_list()
172 nir_if *nif = nir_cf_node_as_if(cf_node); in dce_cf_list()
179 nir_loop *loop = nir_cf_node_as_loop(cf_node); in dce_cf_list()
183 inner_state.preheader = nir_cf_node_as_block(nir_cf_node_prev(cf_node)); in dce_cf_list()
211 nir_foreach_block_in_cf_node(block, cf_node) { in dce_cf_list()
Dnir_lower_returns.c73 nir_cf_extract(&list, nir_after_cf_node(&if_stmt->cf_node), in predicate_following()
97 predicate_following(&loop->cf_node, state); in lower_returns_in_loop()
128 predicate_following(&if_stmt->cf_node, state); in lower_returns_in_if()
139 ASSERTED nir_block *succ_block = nir_after_cf_node(&if_stmt->cf_node).block; in lower_returns_in_if()
144 nir_cf_extract(&list, nir_after_cf_node(&if_stmt->cf_node), in lower_returns_in_if()
170 nir_cf_extract(&list, nir_before_cf_node(&block->cf_node), in lower_returns_in_block()
226 assert(nir_cf_node_next(&block->cf_node) == NULL); in lower_returns_in_block()
Dnir_builder.c412 nir_builder_is_inside_cf(nir_builder *build, nir_cf_node *cf_node) in nir_builder_is_inside_cf() argument
415 for (nir_cf_node *n = &block->cf_node; n; n = n->parent) { in nir_builder_is_inside_cf()
416 if (n == cf_node) in nir_builder_is_inside_cf()
427 nir_builder_cf_insert(build, &nif->cf_node); in nir_push_if()
436 assert(nir_builder_is_inside_cf(build, &nif->cf_node)); in nir_push_else()
439 nif = nir_cf_node_as_if(block->cf_node.parent); in nir_push_else()
449 assert(nir_builder_is_inside_cf(build, &nif->cf_node)); in nir_pop_if()
452 nif = nir_cf_node_as_if(block->cf_node.parent); in nir_pop_if()
454 build->cursor = nir_after_cf_node(&nif->cf_node); in nir_pop_if()
461 nir_if *nif = nir_cf_node_as_if(nir_cf_node_prev(&block->cf_node)); in nir_if_phi()
[all …]
Dnir_opt_conditional_discard.c38 if (nir_cf_node_is_first(&block->cf_node)) in nir_opt_conditional_discard_block()
41 nir_cf_node *prev_node = nir_cf_node_prev(&block->cf_node); in nir_opt_conditional_discard_block()
65 nir_block *after = nir_cf_node_as_block(nir_cf_node_next(&if_stmt->cf_node)); in nir_opt_conditional_discard_block()
107 nir_cf_node_remove(&if_stmt->cf_node); in nir_opt_conditional_discard_block()
Dnir_gather_tcs_info.c47 foreach_list_typed(nir_cf_node, cf_node, node, cf_list) { in scan_tess_levels()
48 switch (cf_node->type) { in scan_tess_levels()
50 nir_block *block = nir_cf_node_as_block(cf_node); in scan_tess_levels()
96 nir_if *if_stmt = nir_cf_node_as_if(cf_node); in scan_tess_levels()
118 nir_loop *loop = nir_cf_node_as_loop(cf_node); in scan_tess_levels()
194 if (block->cf_node.parent->type == nir_cf_node_function) in nir_gather_tcs_info()
Dnir_opt_peephole_select.c314 if (if_stmt->cf_node.parent->type != nir_cf_node_if) in nir_opt_collapse_if()
317 nir_if *parent_if = nir_cf_node_as_if(if_stmt->cf_node.parent); in nir_opt_collapse_if()
394 struct nir_builder b = nir_builder_at(nir_before_cf_node(&if_stmt->cf_node)); in nir_opt_collapse_if()
403 nir_cf_reinsert(&tmp, nir_before_cf_node(&parent_if->cf_node)); in nir_opt_collapse_if()
440 if (nir_cf_node_is_first(&block->cf_node)) in nir_opt_peephole_select_block()
443 nir_cf_node *prev_node = nir_cf_node_prev(&block->cf_node); in nir_opt_peephole_select_block()
541 nir_cf_node_remove(&if_stmt->cf_node); in nir_opt_peephole_select_block()
Dnir_opt_sink.c162 nir_block *before = nir_cf_node_as_block(nir_cf_node_prev(&loop->cf_node)); in loop_contains_block()
163 nir_block *after = nir_cf_node_as_block(nir_cf_node_next(&loop->cf_node)); in loop_contains_block()
180 def_loop = get_innermost_loop(&def_block->cf_node); in adjust_block_for_loops()
190 nir_cf_node *next = nir_cf_node_next(&cur_block->cf_node); in adjust_block_for_loops()
/external/mesa3d/src/compiler/glsl/
Dgl_nir_lower_discard_flow.c80 lower_discard_flow(nir_builder *b, nir_cf_node *cf_node, in lower_discard_flow() argument
83 switch (cf_node->type) { in lower_discard_flow()
85 nir_block *block = nir_cf_node_as_block(cf_node); in lower_discard_flow()
107 nir_if *if_stmt = nir_cf_node_as_if(cf_node); in lower_discard_flow()
115 nir_loop *loop = nir_cf_node_as_loop(cf_node); in lower_discard_flow()
155 foreach_list_typed(nir_cf_node, cf_node, node, &impl->body) { in gl_nir_lower_discard_flow()
156 lower_discard_flow(&b, cf_node, discarded); in gl_nir_lower_discard_flow()
/external/mesa3d/src/compiler/nir/tests/
Dcontrol_flow_tests.cpp41 nir_cf_node_insert(nir_after_cf_list(&b->impl->body), &loop->cf_node); in TEST_F()
68 nir_block *block_2 = nir_cf_node_as_block(nir_cf_node_next(&loop->cf_node)); in TEST_F()
70 ASSERT_EQ(nir_cf_node_block, block_0->cf_node.type); in TEST_F()
71 ASSERT_EQ(nir_cf_node_block, block_1->cf_node.type); in TEST_F()
72 ASSERT_EQ(nir_cf_node_block, block_2->cf_node.type); in TEST_F()
73 ASSERT_EQ(nir_cf_node_block, block_3->cf_node.type); in TEST_F()
158 nir_block *block_after_loop = nir_cf_node_as_block(nir_cf_node_next(&loop->cf_node)); in TEST_F()
/external/mesa3d/src/amd/compiler/
Daco_instruction_selection_setup.cpp91 nir_remove_single_src_phis_block(nir_cf_node_as_block(nir_cf_node_next(&nif->cf_node))); in sanitize_if()
100 nir_remove_after_cf_node(&nif->cf_node); in sanitize_if()
105 nir_cf_reinsert(&tmp, nir_after_cf_node(&nif->cf_node)); in sanitize_if()
114 foreach_list_typed (nir_cf_node, cf_node, node, cf_list) { in sanitize_cf_list()
115 switch (cf_node->type) { in sanitize_cf_list()
118 nir_if* nif = nir_cf_node_as_if(cf_node); in sanitize_cf_list()
125 nir_loop* loop = nir_cf_node_as_loop(cf_node); in sanitize_cf_list()
132 if (nir_cf_node_cf_tree_next(&loop->cf_node)->predecessors->entries == 0) { in sanitize_cf_list()
654 if (nir_cf_node_prev(&block->cf_node) && in init_context()
655 nir_cf_node_prev(&block->cf_node)->type == nir_cf_node_if) { in init_context()
[all …]

1234