From 9dbfca10a306fe5ae5b81845cb8f4d16022d6790 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 23 Sep 2014 13:20:29 -0700 Subject: [PATCH] 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. --- src/gallium/drivers/vc4/vc4_register_allocate.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/vc4/vc4_register_allocate.c b/src/gallium/drivers/vc4/vc4_register_allocate.c index 639037e60f7..72f5271d653 100644 --- a/src/gallium/drivers/vc4/vc4_register_allocate.c +++ b/src/gallium/drivers/vc4/vc4_register_allocate.c @@ -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; -- 2.30.2