Lines Matching refs:other
2813 ir_live_interval *other; in ir_try_allocate_free_reg() local
2844 other = *active; in ir_try_allocate_free_reg()
2845 while (other) { in ir_try_allocate_free_reg()
2847 reg = other->reg; in ir_try_allocate_free_reg()
2859 other = other->list_next; in ir_try_allocate_free_reg()
2868 other = inactive; in ir_try_allocate_free_reg()
2870 while (other) { in ir_try_allocate_free_reg()
2872 if (other->current_range->start < pos) { in ir_try_allocate_free_reg()
2873 next = ir_ivals_overlap(&ival->range, other->current_range); in ir_try_allocate_free_reg()
2875 reg = other->reg; in ir_try_allocate_free_reg()
2900 other = other->list_next; in ir_try_allocate_free_reg()
2941 other = *unhandled; in ir_try_allocate_free_reg()
2942 while (other && other->range.start < ival->range.end) { in ir_try_allocate_free_reg()
2943 if (other->flags & IR_LIVE_INTERVAL_HAS_HINT_REGS) { in ir_try_allocate_free_reg()
2944 reg = ir_get_first_reg_hint(ctx, other, non_conflicting); in ir_try_allocate_free_reg()
2953 other = other->list_next; in ir_try_allocate_free_reg()
2998 other = ir_split_interval_at(ctx, ival, split_pos); in ir_try_allocate_free_reg()
3015 ir_add_to_unhandled(unhandled, other); in ir_try_allocate_free_reg()
3016 IR_LOG_LSRA(" ---- Queue", other, ""); in ir_try_allocate_free_reg()
3029 ir_live_interval *other, *prev; in ir_allocate_blocked_reg() local
3085 other = *active; in ir_allocate_blocked_reg()
3086 while (other) { in ir_allocate_blocked_reg()
3088 reg = other->reg; in ir_allocate_blocked_reg()
3103 if (other->flags & (IR_LIVE_INTERVAL_FIXED|IR_LIVE_INTERVAL_TEMP)) { in ir_allocate_blocked_reg()
3106 pos = ir_first_use_pos_after(other, ival->range.start, in ir_allocate_blocked_reg()
3113 other = other->list_next; in ir_allocate_blocked_reg()
3117 other = *inactive; in ir_allocate_blocked_reg()
3118 while (other) { in ir_allocate_blocked_reg()
3120 reg = other->reg; in ir_allocate_blocked_reg()
3123 ir_live_pos overlap = ir_ivals_overlap(&ival->range, other->current_range); in ir_allocate_blocked_reg()
3144 ir_live_pos overlap = ir_ivals_overlap(&ival->range, other->current_range); in ir_allocate_blocked_reg()
3147 if (other->flags & (IR_LIVE_INTERVAL_FIXED|IR_LIVE_INTERVAL_TEMP)) { in ir_allocate_blocked_reg()
3155 pos = ir_first_use_pos_after(other, ival->range.start, in ir_allocate_blocked_reg()
3163 other = other->list_next; in ir_allocate_blocked_reg()
3205 other = ir_split_interval_at(ctx, ival, split_pos); in ir_allocate_blocked_reg()
3207 ir_add_to_unhandled(unhandled, other); in ir_allocate_blocked_reg()
3208 IR_LOG_LSRA(" ---- Queue", other, ""); in ir_allocate_blocked_reg()
3222 other = ir_split_interval_at(ctx, ival, split_pos); in ir_allocate_blocked_reg()
3223 ir_add_to_unhandled(unhandled, other); in ir_allocate_blocked_reg()
3224 IR_LOG_LSRA(" ---- Queue", other, ""); in ir_allocate_blocked_reg()
3239 other = ir_split_interval_at(ctx, ival, split_pos); in ir_allocate_blocked_reg()
3240 ir_add_to_unhandled(unhandled, other); in ir_allocate_blocked_reg()
3241 IR_LOG_LSRA(" ---- Queue", other, ""); in ir_allocate_blocked_reg()
3246 other = *active; in ir_allocate_blocked_reg()
3247 while (other) { in ir_allocate_blocked_reg()
3250 if (reg == other->reg) { in ir_allocate_blocked_reg()
3252 ir_live_pos overlap = ir_ivals_overlap(&ival->range, other->current_range); in ir_allocate_blocked_reg()
3257 IR_ASSERT(other->type != IR_VOID); in ir_allocate_blocked_reg()
3258 IR_LOG_LSRA_CONFLICT(" ---- Conflict with active", other, overlap); in ir_allocate_blocked_reg()
3260 …split_pos = ir_last_use_pos_before(other, ival->range.start, IR_USE_MUST_BE_IN_REG | IR_USE_SHOULD… in ir_allocate_blocked_reg()
3264 split_pos = ir_find_optimal_split_position(ctx, other, split_pos, ival->range.start, 1); in ir_allocate_blocked_reg()
3265 if (split_pos > other->range.start) { in ir_allocate_blocked_reg()
3266 child = ir_split_interval_at(ctx, other, split_pos); in ir_allocate_blocked_reg()
3268 prev->list_next = other->list_next; in ir_allocate_blocked_reg()
3270 *active = other->list_next; in ir_allocate_blocked_reg()
3272 IR_LOG_LSRA(" ---- Finish", other, ""); in ir_allocate_blocked_reg()
3274 if (ir_first_use_pos(other, IR_USE_MUST_BE_IN_REG) <= other->end) { in ir_allocate_blocked_reg()
3291 child = other; in ir_allocate_blocked_reg()
3292 other->reg = IR_REG_NONE; in ir_allocate_blocked_reg()
3294 prev->list_next = other->list_next; in ir_allocate_blocked_reg()
3296 *active = other->list_next; in ir_allocate_blocked_reg()
3298 IR_LOG_LSRA(" ---- Spill and Finish", other, " (it must not be in reg)"); in ir_allocate_blocked_reg()
3311 } else if (child != other) { in ir_allocate_blocked_reg()
3319 prev = other; in ir_allocate_blocked_reg()
3320 other = other->list_next; in ir_allocate_blocked_reg()
3324 other = *inactive; in ir_allocate_blocked_reg()
3325 while (other) { in ir_allocate_blocked_reg()
3327 if (reg == other->reg) { in ir_allocate_blocked_reg()
3328 ir_live_pos overlap = ir_ivals_overlap(&ival->range, other->current_range); in ir_allocate_blocked_reg()
3333 IR_ASSERT(other->type != IR_VOID); in ir_allocate_blocked_reg()
3334 IR_LOG_LSRA_CONFLICT(" ---- Conflict with inactive", other, overlap); in ir_allocate_blocked_reg()
3336 child = ir_split_interval_at(ctx, other, overlap); in ir_allocate_blocked_reg()
3338 other->current_range = &other->range; in ir_allocate_blocked_reg()
3343 other = other->list_next; in ir_allocate_blocked_reg()
3487 ir_live_interval *ival, *other, *prev; in ir_linear_scan() local
3595 other = active; in ir_linear_scan()
3597 while (other) { in ir_linear_scan()
3598 ir_live_range *r = other->current_range; in ir_linear_scan()
3607 other = other->list_next; in ir_linear_scan()
3609 prev->list_next = other; in ir_linear_scan()
3611 active = other; in ir_linear_scan()
3615 other->current_range = r; in ir_linear_scan()
3620 prev->list_next = other->list_next; in ir_linear_scan()
3622 active = other->list_next; in ir_linear_scan()
3624 other->list_next = inactive; in ir_linear_scan()
3625 inactive = other; in ir_linear_scan()
3627 prev = other; in ir_linear_scan()
3629 other = prev ? prev->list_next : active; in ir_linear_scan()
3633 other = inactive; in ir_linear_scan()
3635 while (other) { in ir_linear_scan()
3636 ir_live_range *r = other->current_range; in ir_linear_scan()
3645 other = other->list_next; in ir_linear_scan()
3647 prev->list_next = other; in ir_linear_scan()
3649 inactive = other; in ir_linear_scan()
3653 other->current_range = r; in ir_linear_scan()
3658 prev->list_next = other->list_next; in ir_linear_scan()
3660 inactive = other->list_next; in ir_linear_scan()
3662 other->list_next = active; in ir_linear_scan()
3663 active = other; in ir_linear_scan()
3665 prev = other; in ir_linear_scan()
3667 other = prev ? prev->list_next : inactive; in ir_linear_scan()
3707 other = ival; in ir_linear_scan()
3708 while (other->next) { in ir_linear_scan()
3709 other = other->next; in ir_linear_scan()
3711 r = &other->range; in ir_linear_scan()
3735 other = active; in ir_linear_scan()
3737 while (other) { in ir_linear_scan()
3738 if (other->end <= position) { in ir_linear_scan()
3741 prev->list_next = other->list_next; in ir_linear_scan()
3743 active = other->list_next; in ir_linear_scan()
3745 size = ir_type_size[other->type]; in ir_linear_scan()
3749 if (old->stack_spill_pos == other->stack_spill_pos) { in ir_linear_scan()
3755 other->list_next = handled[size]; in ir_linear_scan()
3756 handled[size] = other; in ir_linear_scan()
3759 prev = other; in ir_linear_scan()
3761 other = prev ? prev->list_next : active; in ir_linear_scan()