Lines Matching refs:child

505 	ir_ref *p, child;  in ir_add_fusion_ranges()  local
544 child = *p; in ir_add_fusion_ranges()
545 if (child > 0) { in ir_add_fusion_ranges()
546 uint32_t v = ctx->vregs[child]; in ir_add_fusion_ranges()
566 } else if (ctx->rules[child] & IR_FUSED) { in ir_add_fusion_ranges()
568 stack[stack_pos++] = child; in ir_add_fusion_ranges()
569 } else if (ctx->rules[child] == (IR_SKIPPED|IR_RLOAD)) { in ir_add_fusion_ranges()
570 ir_set_alocated_reg(ctx, input, j, ctx->ir_base[child].op2); in ir_add_fusion_ranges()
867 uint32_t child; in ir_compute_live_ranges() local
879 child = b; in ir_compute_live_ranges()
881 child_bb = &ctx->cfg_blocks[child]; in ir_compute_live_ranges()
882 child_live_in = bb_live + (len * child); in ir_compute_live_ranges()
891 child = child_bb->dom_child; in ir_compute_live_ranges()
892 while (child) { in ir_compute_live_ranges()
893 child_bb = &ctx->cfg_blocks[child]; in ir_compute_live_ranges()
895 ir_bitqueue_add(&queue, child); in ir_compute_live_ranges()
897 ir_bitset_incl(loops, child); in ir_compute_live_ranges()
900 child = child_bb->dom_next_child; in ir_compute_live_ranges()
902 } while ((child = ir_bitqueue_pop(&queue)) != (uint32_t)-1); in ir_compute_live_ranges()
1161 ir_ref *p, child; in ir_add_fusion_ranges() local
1202 child = *p; in ir_add_fusion_ranges()
1203 if (child > 0) { in ir_add_fusion_ranges()
1204 uint32_t v = ctx->vregs[child]; in ir_add_fusion_ranges()
1224 } else if (ctx->rules[child] & IR_FUSED) { in ir_add_fusion_ranges()
1226 stack[stack_pos++] = child; in ir_add_fusion_ranges()
1227 } else if (ctx->rules[child] == (IR_SKIPPED|IR_RLOAD)) { in ir_add_fusion_ranges()
1228 ir_set_alocated_reg(ctx, input, j, ctx->ir_base[child].op2); in ir_add_fusion_ranges()
1547 static bool ir_ivals_inside(ir_live_range *parent, ir_live_range *child) in ir_ivals_inside() argument
1550 while (parent && parent->end < child->start) { in ir_ivals_inside()
1553 if (!parent || parent->start > child->start || parent->end < child->end) { in ir_ivals_inside()
1556 child = child->next; in ir_ivals_inside()
1557 } while (child); in ir_ivals_inside()
1561 static bool ir_vregs_inside(ir_ctx *ctx, uint32_t parent, uint32_t child) in ir_vregs_inside() argument
1563 ir_live_interval *child_ival = ctx->live_intervals[child]; in ir_vregs_inside()
2420 ir_live_interval *child; in ir_split_interval_at() local
2469 child = ir_arena_alloc(&ctx->arena, sizeof(ir_live_interval)); in ir_split_interval_at()
2470 child->type = ival->type; in ir_split_interval_at()
2471 child->reg = IR_REG_NONE; in ir_split_interval_at()
2472 child->flags = IR_LIVE_INTERVAL_SPLIT_CHILD; in ir_split_interval_at()
2473 child->vreg = ival->vreg; in ir_split_interval_at()
2474 child->stack_spill_pos = -1; // not allocated in ir_split_interval_at()
2475 child->range.start = pos; in ir_split_interval_at()
2476 child->range.end = p->end; in ir_split_interval_at()
2477 child->range.next = p->next; in ir_split_interval_at()
2478 child->end = ival->end; in ir_split_interval_at()
2479 child->use_pos = prev_use_pos ? prev_use_pos->next : use_pos; in ir_split_interval_at()
2481 child->next = ival->next; in ir_split_interval_at()
2482 ival->next = child; in ir_split_interval_at()
2500 use_pos = child->use_pos; in ir_split_interval_at()
2503 child->flags |= IR_LIVE_INTERVAL_HAS_HINT_REGS; in ir_split_interval_at()
2506 child->flags |= IR_LIVE_INTERVAL_HAS_HINT_REFS; in ir_split_interval_at()
2511 return child; in ir_split_interval_at()
3255 ir_live_interval *child, *child2; in ir_allocate_blocked_reg() local
3266 child = ir_split_interval_at(ctx, other, split_pos); in ir_allocate_blocked_reg()
3291 child = other; in ir_allocate_blocked_reg()
3301 …split_pos = ir_first_use_pos_after(child, ival->range.start, IR_USE_MUST_BE_IN_REG | IR_USE_SHOULD… in ir_allocate_blocked_reg()
3302 if (split_pos > child->range.start && split_pos < child->end) { in ir_allocate_blocked_reg()
3303 …ir_live_pos opt_split_pos = ir_find_optimal_split_position(ctx, child, ival->range.start, split_po… in ir_allocate_blocked_reg()
3304 if (opt_split_pos > child->range.start) { in ir_allocate_blocked_reg()
3307 child2 = ir_split_interval_at(ctx, child, split_pos); in ir_allocate_blocked_reg()
3308 IR_LOG_LSRA(" ---- Spill", child, ""); in ir_allocate_blocked_reg()
3311 } else if (child != other) { in ir_allocate_blocked_reg()
3313 ir_add_to_unhandled(unhandled, child); in ir_allocate_blocked_reg()
3314 IR_LOG_LSRA(" ---- Queue", child, ""); in ir_allocate_blocked_reg()
3331 ir_live_interval *child; in ir_allocate_blocked_reg() local
3336 child = ir_split_interval_at(ctx, other, overlap); in ir_allocate_blocked_reg()
3339 ir_add_to_unhandled(unhandled, child); in ir_allocate_blocked_reg()
3340 IR_LOG_LSRA(" ---- Queue", child, ""); in ir_allocate_blocked_reg()