mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 11:48:06 +02:00
i965: Let dump_instructions() work before calculate_cfg().
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
This commit is contained in:
parent
fa124a337c
commit
74ef90acd7
2 changed files with 28 additions and 13 deletions
|
|
@ -3176,7 +3176,6 @@ fs_visitor::dump_instructions()
|
|||
void
|
||||
fs_visitor::dump_instructions(const char *name)
|
||||
{
|
||||
calculate_register_pressure();
|
||||
FILE *file = stderr;
|
||||
if (name && geteuid() != 0) {
|
||||
file = fopen(name, "w");
|
||||
|
|
@ -3184,14 +3183,23 @@ fs_visitor::dump_instructions(const char *name)
|
|||
file = stderr;
|
||||
}
|
||||
|
||||
int ip = 0, max_pressure = 0;
|
||||
foreach_block_and_inst(block, backend_instruction, inst, cfg) {
|
||||
max_pressure = MAX2(max_pressure, regs_live_at_ip[ip]);
|
||||
fprintf(file, "{%3d} %4d: ", regs_live_at_ip[ip], ip);
|
||||
dump_instruction(inst, file);
|
||||
++ip;
|
||||
if (cfg) {
|
||||
calculate_register_pressure();
|
||||
int ip = 0, max_pressure = 0;
|
||||
foreach_block_and_inst(block, backend_instruction, inst, cfg) {
|
||||
max_pressure = MAX2(max_pressure, regs_live_at_ip[ip]);
|
||||
fprintf(file, "{%3d} %4d: ", regs_live_at_ip[ip], ip);
|
||||
dump_instruction(inst, file);
|
||||
ip++;
|
||||
}
|
||||
fprintf(file, "Maximum %3d registers live at once.\n", max_pressure);
|
||||
} else {
|
||||
int ip = 0;
|
||||
foreach_in_list(backend_instruction, inst, &instructions) {
|
||||
fprintf(file, "%4d: ", ip++);
|
||||
dump_instruction(inst, file);
|
||||
}
|
||||
}
|
||||
fprintf(file, "Maximum %3d registers live at once.\n", max_pressure);
|
||||
|
||||
if (file != stderr) {
|
||||
fclose(file);
|
||||
|
|
|
|||
|
|
@ -1060,11 +1060,18 @@ backend_visitor::dump_instructions(const char *name)
|
|||
file = stderr;
|
||||
}
|
||||
|
||||
int ip = 0;
|
||||
foreach_block_and_inst(block, backend_instruction, inst, cfg) {
|
||||
if (!name)
|
||||
fprintf(stderr, "%d: ", ip++);
|
||||
dump_instruction(inst, file);
|
||||
if (cfg) {
|
||||
int ip = 0;
|
||||
foreach_block_and_inst(block, backend_instruction, inst, cfg) {
|
||||
fprintf(file, "%4d: ", ip++);
|
||||
dump_instruction(inst, file);
|
||||
}
|
||||
} else {
|
||||
int ip = 0;
|
||||
foreach_in_list(backend_instruction, inst, &instructions) {
|
||||
fprintf(file, "%4d: ", ip++);
|
||||
dump_instruction(inst, file);
|
||||
}
|
||||
}
|
||||
|
||||
if (file != stderr) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue