agx: Split up RA from post-RA lowering
This allows us to validate results in the middle. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16268>
This commit is contained in:
parent
ea065537cb
commit
860832e41b
|
@ -286,7 +286,21 @@ agx_ra(agx_context *ctx)
|
|||
agx_ra_assign_local(block, ssa_to_reg, ncomps, ctx->max_register);
|
||||
}
|
||||
|
||||
/* TODO: Coalesce combines */
|
||||
agx_foreach_instr_global(ctx, ins) {
|
||||
agx_foreach_src(ins, s) {
|
||||
if (ins->src[s].type == AGX_INDEX_NORMAL) {
|
||||
unsigned v = ssa_to_reg[ins->src[s].value];
|
||||
ins->src[s] = agx_replace_index(ins->src[s], agx_register(v, ins->src[s].size));
|
||||
}
|
||||
}
|
||||
|
||||
agx_foreach_dest(ins, d) {
|
||||
if (ins->dest[d].type == AGX_INDEX_NORMAL) {
|
||||
unsigned v = ssa_to_reg[ins->dest[d].value];
|
||||
ins->dest[d] = agx_replace_index(ins->dest[d], agx_register(v, ins->dest[d].size));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
agx_foreach_instr_global_safe(ctx, ins) {
|
||||
/* Lower away RA pseudo-instructions */
|
||||
|
@ -353,19 +367,7 @@ agx_ra(agx_context *ctx)
|
|||
continue;
|
||||
}
|
||||
|
||||
agx_foreach_src(ins, s) {
|
||||
if (ins->src[s].type == AGX_INDEX_NORMAL) {
|
||||
unsigned v = ssa_to_reg[ins->src[s].value];
|
||||
ins->src[s] = agx_replace_index(ins->src[s], agx_register(v, ins->src[s].size));
|
||||
}
|
||||
}
|
||||
|
||||
agx_foreach_dest(ins, d) {
|
||||
if (ins->dest[d].type == AGX_INDEX_NORMAL) {
|
||||
unsigned v = ssa_to_reg[ins->dest[d].value];
|
||||
ins->dest[d] = agx_replace_index(ins->dest[d], agx_register(v, ins->dest[d].size));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Insert parallel copies lowering phi nodes */
|
||||
|
|
Loading…
Reference in New Issue