mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
pan/midgard: Add mir_calculate_temp_count helper
This allows us to fill in ctx->temp_count explicitly, even if we haven't squished down the MIR. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
parent
c59fae0fef
commit
76a76de7af
2 changed files with 19 additions and 0 deletions
|
|
@ -525,6 +525,7 @@ bool mir_nontrivial_outmod(midgard_instruction *ins);
|
|||
void mir_insert_instruction_before_scheduled(compiler_context *ctx, midgard_block *block, midgard_instruction *tag, midgard_instruction ins);
|
||||
void mir_insert_instruction_after_scheduled(compiler_context *ctx, midgard_block *block, midgard_instruction *tag, midgard_instruction ins);
|
||||
void mir_flip(midgard_instruction *ins);
|
||||
void mir_compute_temp_count(compiler_context *ctx);
|
||||
|
||||
/* MIR goodies */
|
||||
|
||||
|
|
|
|||
|
|
@ -544,3 +544,21 @@ mir_flip(midgard_instruction *ins)
|
|||
ins->alu.src1 = ins->alu.src2;
|
||||
ins->alu.src2 = temp;
|
||||
}
|
||||
|
||||
/* Before squashing, calculate ctx->temp_count just by observing the MIR */
|
||||
|
||||
void
|
||||
mir_compute_temp_count(compiler_context *ctx)
|
||||
{
|
||||
if (ctx->temp_count)
|
||||
return;
|
||||
|
||||
unsigned max_dest = 0;
|
||||
|
||||
mir_foreach_instr_global(ctx, ins) {
|
||||
if (ins->dest < SSA_FIXED_MINIMUM)
|
||||
max_dest = MAX2(max_dest, ins->dest);
|
||||
}
|
||||
|
||||
ctx->temp_count = max_dest;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue