mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 13:10:10 +01:00
i965/fs: Show register pressure in dump_instructions() output.
Dumping the number of live registers at each IP allows us to see register pressure and identify any local maxima. This should aid in debugging passes designed to reduce register pressure, as well as optimizations that suddenly trigger spilling. Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
parent
3b74f4b233
commit
391eaa59bd
3 changed files with 16 additions and 1 deletions
|
|
@ -2941,6 +2941,20 @@ fs_visitor::lower_uniform_pull_constant_loads()
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
fs_visitor::dump_instructions()
|
||||
{
|
||||
calculate_register_pressure();
|
||||
|
||||
int ip = 0;
|
||||
foreach_list(node, &this->instructions) {
|
||||
backend_instruction *inst = (backend_instruction *)node;
|
||||
printf("{%3d} %4d: ", regs_live_at_ip[ip], ip);
|
||||
dump_instruction(inst);
|
||||
++ip;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
fs_visitor::dump_instruction(backend_instruction *be_inst)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -432,6 +432,7 @@ public:
|
|||
void setup_builtin_uniform_values(ir_variable *ir);
|
||||
int implied_mrf_writes(fs_inst *inst);
|
||||
|
||||
virtual void dump_instructions();
|
||||
void dump_instruction(backend_instruction *inst);
|
||||
|
||||
void visit_atomic_counter_intrinsic(ir_call *ir);
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ public:
|
|||
exec_list instructions;
|
||||
|
||||
virtual void dump_instruction(backend_instruction *inst) = 0;
|
||||
void dump_instructions();
|
||||
virtual void dump_instructions();
|
||||
|
||||
void assign_common_binding_table_offsets(uint32_t next_binding_table_offset);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue