Lines Matching refs:physreg
323 /* Map of defining ir3_register -> physreg it was allocated to at the end
334 * is a map from ir3_register -> physreg.
621 mesa_log_stream_printf(stream, "physreg %u ", interval->physreg_start);
794 struct ir3_register *reg, physreg_t physreg, bool is_source)
799 physreg + i))
804 check_dst_overlap(ctx, file, reg, physreg, physreg + reg_size(reg)))
810 /* Try to evict any registers conflicting with the proposed spot "physreg" for
811 * "reg". That is, move them to other places so that we can allocate "physreg"
817 struct ir3_register *reg, physreg_t physreg,
828 BITSET_CLEAR(available_to_evict, physreg + i);
829 BITSET_CLEAR(available, physreg + i);
833 /* Iterate over each range conflicting with physreg */
834 for (struct ra_interval *conflicting = ra_file_search_right(file, physreg),
837 conflicting->physreg_start < physreg + reg_size(reg);
1040 * Return the physreg to use.
1107 d("popping destination %u physreg %u\n",
1160 d("popping interval %u physreg %u%s\n", interval->interval.reg->name,
1222 physreg_t physreg;
1226 physreg = dst_reg;
1228 physreg = live_reg;
1235 physreg = MAX2(physreg, dst_reg);
1239 physreg = ALIGN(physreg, 2);
1241 d("pushing reg %u physreg %u\n", cur_reg->name, physreg);
1244 if (physreg + interval_size >
1254 ret_reg = physreg;
1257 interval->physreg_start = physreg;
1258 interval->physreg_end = physreg + interval_size;
1262 ra_push_interval(ctx, file, &intervals[live_index], physreg);
1266 physreg += interval_size;
1269 dst_reg = physreg;
1271 live_reg = physreg;
1301 physreg_t physreg)
1306 if (physreg < reg->merge_set_offset)
1309 if ((physreg - reg->merge_set_offset + reg->merge_set->size) > file->size)
1312 reg->merge_set->preferred_reg = physreg - reg->merge_set_offset;
1486 d("insert dst %u physreg %u", dst->name, ra_interval_get_physreg(interval));
1496 physreg_t physreg)
1500 update_affinity(file, dst, physreg);
1503 interval->physreg_start = physreg;
1504 interval->physreg_end = physreg + reg_size(dst);
1557 physreg_t physreg = get_reg(ctx, file, dst);
1559 allocate_dst_fixed(ctx, dst, physreg);
1570 physreg_t physreg;
1573 physreg = ra_interval_get_physreg(tied_interval);
1575 physreg = ra_interval_get_physreg(interval);
1578 assign_reg(instr, src, ra_physreg_to_num(physreg, src->flags));
1671 physreg_t physreg = ra_interval_get_physreg(src_interval);
1675 ctx, dst, physreg - src->def->merge_set_offset + dst->merge_set_offset);
1791 * problem to allocate them to a specific physreg.
1802 physreg_t physreg = ra_reg_get_physreg(instr->dsts[0]);
1803 allocate_dst_fixed(ctx, instr->dsts[0], physreg);
1805 d("insert precolored dst %u physreg %u", instr->dsts[0]->name,
1865 physreg_t physreg = ra_reg_get_physreg(src);
1871 * anything unless it overlaps with our precolored physreg, so we don't
1874 if (!get_reg_specified(ctx, file, src, physreg, true)) {
1876 if (!try_evict_regs(ctx, file, src, physreg, &eviction_count, true,
1883 ra_move_interval(ctx, file, interval, physreg);
1927 physreg_t physreg = ~0;
1935 physreg = read_register(ctx, pred, def);
1939 assert(physreg != (physreg_t)~0);
1944 interval->physreg_start = physreg;
1945 interval->physreg_end = physreg + reg_size(def);
1961 physreg_t physreg = ra_interval_get_physreg(interval);
1962 if (physreg != ra_reg_get_physreg(def)) {
1965 _mesa_hash_table_insert(state->renames, def, (void *)(uintptr_t)physreg);
1981 physreg_t physreg;
1984 physreg = ra_interval_get_physreg(parent) +
1987 physreg = get_reg(ctx, file, def);
1990 allocate_dst_fixed(ctx, def, physreg);
2082 physreg_t physreg = ra_interval_get_physreg(interval);
2099 if (pred_reg != physreg) {
2100 insert_liveout_copy(pred, physreg, pred_reg, interval->interval.reg);
2121 (void *)(uintptr_t)physreg);
2414 unsigned physreg = ra_reg_get_physreg(dst) + reg_size(dst);
2416 limit->half = MAX2(limit->half, physreg);
2418 limit->full = MAX2(limit->full, physreg);