Przeglądaj źródła

i965: Let dump_instructions() work before calculate_cfg().

Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
tags/10.6-branchpoint
Matt Turner 10 lat temu
rodzic
commit
74ef90acd7

+ 16
- 8
src/mesa/drivers/dri/i965/brw_fs.cpp Wyświetl plik

@@ -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);

+ 12
- 5
src/mesa/drivers/dri/i965/brw_shader.cpp Wyświetl plik

@@ -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) {

Ładowanie…
Anuluj
Zapisz