Lines Matching refs:worklist
11 IR_ALWAYS_INLINE void _ir_add_successors(const ir_ctx *ctx, ir_ref ref, ir_worklist *worklist) in _ir_add_successors() argument
20 ir_worklist_push(worklist, use); in _ir_add_successors()
27 ir_worklist_push(worklist, use); in _ir_add_successors()
30 ir_worklist_push(worklist, use); in _ir_add_successors()
35 ir_worklist_push(worklist, use); in _ir_add_successors()
41 IR_ALWAYS_INLINE void _ir_add_predecessors(const ir_insn *insn, ir_worklist *worklist) in _ir_add_predecessors() argument
51 ir_worklist_push(worklist, ref); in _ir_add_predecessors()
55 ir_worklist_push(worklist, insn->op1); in _ir_add_predecessors()
65 ir_worklist worklist; in ir_build_cfg() local
76 ir_worklist_init(&worklist, ctx->insns_count); in ir_build_cfg()
83 ir_worklist_push(&worklist, ref); in ir_build_cfg()
87 while (ir_worklist_len(&worklist)) { in ir_build_cfg()
88 ref = ir_worklist_pop(&worklist); in ir_build_cfg()
120 _ir_add_predecessors(insn, &worklist); in ir_build_cfg()
131 ir_worklist_push(&worklist, start); in ir_build_cfg()
134 if (ir_worklist_len(&worklist)) { in ir_build_cfg()
135 ir_bitset_union(worklist.visited, bb_starts, len); in ir_build_cfg()
137 ref = ir_worklist_pop(&worklist); in ir_build_cfg()
169 _ir_add_successors(ctx, ref, &worklist); in ir_build_cfg()
170 } while (ir_worklist_len(&worklist)); in ir_build_cfg()
273 ir_worklist_clear(&worklist); in ir_build_cfg()
274 ir_worklist_push(&worklist, 1); in ir_build_cfg()
275 while (ir_worklist_len(&worklist) != 0) { in ir_build_cfg()
279 b = ir_worklist_pop(&worklist); in ir_build_cfg()
285 ir_worklist_push(&worklist, *p); in ir_build_cfg()
288 ir_worklist_push(&worklist, edges[bb->successors]); in ir_build_cfg()
296 ir_worklist_free(&worklist); in ir_build_cfg()
643 ir_list worklist; in ir_build_dominators_tree() local
645 ir_list_init(&worklist, ctx->cfg_blocks_count / 2); in ir_build_dominators_tree()
669 ir_list_push(&worklist, idom); in ir_build_dominators_tree()
678 ir_list_push(&worklist, idom); in ir_build_dominators_tree()
700 ir_list_push(&worklist, pred_b); in ir_build_dominators_tree()
728 if (ir_list_len(&worklist) != 0) { in ir_build_dominators_tree()
735 b = ir_list_pop(&worklist); in ir_build_dominators_tree()
756 } while (ir_list_len(&worklist) != 0); in ir_build_dominators_tree()
759 ir_list_free(&worklist); in ir_build_dominators_tree()
764 ir_list_free(&worklist); in ir_build_dominators_tree()
1266 ir_bitqueue worklist; in ir_schedule_blocks_bottom_up() local
1289 ir_bitqueue_init(&worklist, ctx->cfg_blocks_count + 1); in ir_schedule_blocks_bottom_up()
1290 ir_bitqueue_add(&worklist, 1); in ir_schedule_blocks_bottom_up()
1291 while ((b = ir_bitqueue_pop(&worklist)) != (uint32_t)-1) { in ir_schedule_blocks_bottom_up()
1306 ir_bitqueue_del(&worklist, b); in ir_schedule_blocks_bottom_up()
1330 ir_bitqueue_del(&worklist, b); in ir_schedule_blocks_bottom_up()
1355 ir_bitqueue_add(&worklist, successor); in ir_schedule_blocks_bottom_up()
1419 ir_bitqueue_add(&worklist, successor1); in ir_schedule_blocks_bottom_up()
1452 ir_bitqueue_add(&worklist, successor2); in ir_schedule_blocks_bottom_up()
1502 ir_bitqueue_add(&worklist, successor); in ir_schedule_blocks_bottom_up()
1514 ir_bitqueue_free(&worklist); in ir_schedule_blocks_bottom_up()