Lines Matching refs:intervals
33 * perspective of the allocator itself, only the top-level intervals matter,
34 * and the allocator is only concerned with allocating top-level intervals,
35 * which may mean moving other top-level intervals around. Other intervals,
158 /* "right" must contain "interval," since intervals must form a
180 interval_insert(ctx, &ctx->intervals, interval);
189 interval_insert(ctx, &ctx->intervals, interval);
200 rb_tree_remove(&ctx->intervals, &interval->node);
213 rb_tree_insert(&ctx->intervals, &child->node,
238 rb_tree_remove(&ctx->intervals, &interval->node);
252 rb_tree_remove(&ctx->intervals, &interval->node);
369 /* Pending moves of top-level intervals that will be emitted once we're
374 struct ra_interval *intervals;
541 rb_tree_init(&file->reg_ctx.intervals);
673 * top-level intervals at once. Pop multiple intervals, then push them back in
768 struct ra_interval *other_interval = &ctx->intervals[other_dst->name];
975 * structure we should be able to accomodate any collection of intervals
1033 /* "Compress" all the live intervals so that there is enough space for the
1047 DECLARE_ARRAY(struct ra_removed_interval, intervals);
1049 intervals = NULL;
1072 /* We'll check if we can compact the intervals starting here. */
1084 struct ra_interval *other_interval = &ctx->intervals[other_dst->name];
1096 /* dst intervals with a tied killed source are considered attached to
1102 &ctx->intervals[other_dst->tied->def->name];
1124 /* Check if we can sort the intervals *after* this one and have enough
1125 * space leftover to accomodate all intervals, keeping in mind that killed
1140 /* We assume that all frozen intervals are at the start and that we
1162 array_insert(ctx, intervals, ra_pop_interval(ctx, file, interval));
1169 qsort(intervals, intervals_count, sizeof(*intervals), removed_interval_cmp);
1178 /* We have two lists of intervals to process, live intervals and destination
1179 * intervals. Process them in the order of the disgram in insert_cmp().
1189 struct ra_interval *live_interval = intervals[live_index].interval;
1220 intervals[live_index].interval->interval.reg;
1229 struct ra_interval *live_interval = intervals[live_index].interval;
1256 struct ra_interval *interval = &ctx->intervals[cur_reg->name];
1262 ra_push_interval(ctx, file, &intervals[live_index], physreg);
1286 struct ra_interval *tied_interval = &ctx->intervals[tied->def->name];
1290 struct ra_interval *dst_interval = &ctx->intervals[dst->name];
1364 * (intervals with "is_killed == true"). If "is_source" is true, then
1410 struct ra_interval *src_interval = &ctx->intervals[src->def->name];
1470 struct ra_interval *interval = &ctx->intervals[src->def->name];
1484 struct ra_interval *interval = &ctx->intervals[dst->name];
1499 struct ra_interval *interval = &ctx->intervals[dst->name];
1524 struct ra_interval *tied_interval = &ctx->intervals[tied->def->name];
1525 struct ra_interval *dst_interval = &ctx->intervals[dst->name];
1546 struct ra_interval *tied_interval = &ctx->intervals[tied->def->name];
1566 struct ra_interval *interval = &ctx->intervals[src->def->name];
1572 struct ra_interval *tied_interval = &ctx->intervals[tied->name];
1669 struct ra_interval *src_interval = &ctx->intervals[src->def->name];
1712 struct ra_interval *interval = &ctx->intervals[src->def->name];
1740 struct ra_interval *interval = &ctx->intervals[src->def->name];
1746 if (interval != &ctx->intervals[src->def->name] ||
1769 /* Note: insert_dst will automatically shuffle around any intervals that
1801 struct ra_interval *interval = &ctx->intervals[instr->dsts[0]->name];
1821 struct ra_interval *interval = &ctx->intervals[instr->dsts[0]->name];
1828 struct ra_interval *interval = &ctx->intervals[instr->dsts[0]->name];
1864 struct ra_interval *interval = &ctx->intervals[src->def->name];
1901 struct ra_interval *interval = &ctx->intervals[src->def->name];
1941 struct ra_interval *interval = &ctx->intervals[def->name];
1960 struct ra_interval *interval = &ctx->intervals[def->name];
1973 struct ra_interval *interval = &ctx->intervals[def->name];
1980 ir3_reg_interval_search(&file->reg_ctx.intervals, def->interval_start);
1999 struct ra_interval *interval = &ctx->intervals[phi->dsts[0]->name];
2385 struct ir3_reg_interval *intervals =
2423 rb_tree_init(&ctx->intervals);
2429 ir3_reg_interval_init(&intervals[reg->name], reg);
2430 ir3_reg_interval_insert(ctx, &intervals[reg->name]);
2435 ir3_reg_interval_init(&intervals[dst->name], dst);
2440 ir3_reg_interval_insert(ctx, &intervals[instr->dsts[0]->name]);
2457 * intervals and figure out the root of the tree to figure out how
2462 struct ir3_reg_interval *interval = &intervals[src->def->name];
2468 ir3_reg_interval_remove(ctx, &intervals[src->def->name]);
2477 ir3_reg_interval_init(&intervals[dst->name], dst);
2478 ir3_reg_interval_insert(ctx, &intervals[dst->name]);
2611 ctx->intervals =