Lines Matching defs:cse

327 vtn_order_case(struct vtn_switch *swtch, struct vtn_case *cse)
329 if (cse->visited)
332 cse->visited = true;
334 list_del(&cse->node.link);
336 if (cse->fallthrough) {
337 vtn_order_case(swtch, cse->fallthrough);
346 list_addtail(&cse->node.link, &cse->fallthrough->node.link);
348 list_add(&cse->node.link, &swtch->cases);
359 struct vtn_case *cse =
361 vtn_order_case(swtch, cse);
570 struct vtn_case *cse;
572 cse = case_entry->data;
574 cse = rzalloc(b, struct vtn_case);
576 cse->node.type = vtn_cf_node_type_case;
577 cse->node.parent = swtch ? &swtch->node : NULL;
578 cse->block = case_block;
579 list_inithead(&cse->body);
580 util_dynarray_init(&cse->values, b);
582 list_addtail(&cse->node.link, case_list);
583 _mesa_hash_table_insert(block_to_case, case_block, cse);
587 cse->is_default = true;
589 util_dynarray_append(&cse->values, uint64_t, literal);
826 struct vtn_case *cse = vtn_cf_node_as_case(case_node);
828 cse->type = vtn_handle_branch(b, &swtch->node, cse->block);
829 switch (cse->type) {
832 vtn_fail_if(cse->block->switch_case != NULL,
835 cse->block->switch_case = cse;
836 vtn_add_cfg_work_item(b, work_list, &cse->node,
837 &cse->body, cse->block);
1024 nir_ssa_def *sel, struct vtn_case *cse)
1026 if (cse->is_default) {
1039 util_dynarray_foreach(&cse->values, uint64_t, val)
1241 struct vtn_case *cse = vtn_cf_node_as_case(case_node);
1247 if (cse->block == vtn_switch->break_block)
1252 vtn_switch_case_condition(b, vtn_switch, sel, cse);
1260 vtn_emit_cf_list_structured(b, &cse->body, fall_var, &has_break,
1357 struct vtn_case *cse = vtn_cf_node_as_case(case_node);
1358 if (cse->is_default) {
1360 def = cse;
1365 util_dynarray_foreach(&cse->values, uint64_t, val)
1370 vtn_add_unstructured_block(b, func, &work_list, cse->block);
1373 nir_goto_if(&b->nb, cse->block->block, nir_src_for_ssa(cond), e);