vc4: Put dead writes into the NOP register when generating code.

They still provide register pressure since I haven't made a special class
for them, but since they're only live for one instruction it probably
doesn't matter.

This improves the readability of QPU assembly.
This commit is contained in:
Eric Anholt 2014-09-23 13:20:29 -07:00
parent d2b58240b4
commit 9dbfca10a3

View file

@ -237,9 +237,16 @@ vc4_register_allocate(struct vc4_context *vc4, struct vc4_compile *c)
bool ok = ra_allocate(g);
assert(ok);
for (uint32_t i = 0; i < c->num_temps; i++)
for (uint32_t i = 0; i < c->num_temps; i++) {
temp_registers[i] = vc4_regs[ra_get_node_reg(g, i)];
/* If the value's never used, just write to the NOP register
* for clarity in debug output.
*/
if (def[i] == use[i])
temp_registers[i] = qpu_ra(QPU_W_NOP);
}
ralloc_free(g);
return temp_registers;