Lines Matching refs:cse
279 vtn_order_case(struct vtn_switch *swtch, struct vtn_case *cse) in vtn_order_case() argument
281 if (cse->visited) in vtn_order_case()
284 cse->visited = true; in vtn_order_case()
286 list_del(&cse->node.link); in vtn_order_case()
288 if (cse->fallthrough) { in vtn_order_case()
289 vtn_order_case(swtch, cse->fallthrough); in vtn_order_case()
298 list_addtail(&cse->node.link, &cse->fallthrough->node.link); in vtn_order_case()
300 list_add(&cse->node.link, &swtch->cases); in vtn_order_case()
311 struct vtn_case *cse = in vtn_switch_order_cases() local
313 vtn_order_case(swtch, cse); in vtn_switch_order_cases()
522 struct vtn_case *cse; in vtn_parse_switch() local
524 cse = case_entry->data; in vtn_parse_switch()
526 cse = rzalloc(b, struct vtn_case); in vtn_parse_switch()
528 cse->node.type = vtn_cf_node_type_case; in vtn_parse_switch()
529 cse->node.parent = swtch ? &swtch->node : NULL; in vtn_parse_switch()
530 cse->block = case_block; in vtn_parse_switch()
531 list_inithead(&cse->body); in vtn_parse_switch()
532 util_dynarray_init(&cse->values, b); in vtn_parse_switch()
534 list_addtail(&cse->node.link, case_list); in vtn_parse_switch()
535 _mesa_hash_table_insert(block_to_case, case_block, cse); in vtn_parse_switch()
539 cse->is_default = true; in vtn_parse_switch()
541 util_dynarray_append(&cse->values, uint64_t, literal); in vtn_parse_switch()
783 struct vtn_case *cse = vtn_cf_node_as_case(case_node); in vtn_process_block() local
785 cse->type = vtn_handle_branch(b, &swtch->node, cse->block); in vtn_process_block()
786 switch (cse->type) { in vtn_process_block()
789 vtn_fail_if(cse->block->switch_case != NULL, in vtn_process_block()
792 cse->block->switch_case = cse; in vtn_process_block()
793 vtn_add_cfg_work_item(b, work_list, &cse->node, in vtn_process_block()
794 &cse->body, cse->block); in vtn_process_block()
973 nir_ssa_def *sel, struct vtn_case *cse) in vtn_switch_case_condition() argument
975 if (cse->is_default) { in vtn_switch_case_condition()
988 util_dynarray_foreach(&cse->values, uint64_t, val) in vtn_switch_case_condition()
1179 struct vtn_case *cse = vtn_cf_node_as_case(case_node); in vtn_emit_cf_list_structured() local
1185 if (cse->block == vtn_switch->break_block) in vtn_emit_cf_list_structured()
1190 vtn_switch_case_condition(b, vtn_switch, sel, cse); in vtn_emit_cf_list_structured()
1198 vtn_emit_cf_list_structured(b, &cse->body, fall_var, &has_break, in vtn_emit_cf_list_structured()
1297 struct vtn_case *cse = vtn_cf_node_as_case(case_node); in vtn_emit_cf_func_unstructured() local
1298 if (cse->is_default) { in vtn_emit_cf_func_unstructured()
1300 def = cse; in vtn_emit_cf_func_unstructured()
1305 util_dynarray_foreach(&cse->values, uint64_t, val) in vtn_emit_cf_func_unstructured()
1310 vtn_add_unstructured_block(b, func, &work_list, cse->block); in vtn_emit_cf_func_unstructured()
1313 nir_goto_if(&b->nb, cse->block->block, nir_src_for_ssa(cond), e); in vtn_emit_cf_func_unstructured()