vc4: Allow QIR registers to be non-SSA.
authorEric Anholt <eric@anholt.net>
Tue, 4 Aug 2015 02:25:47 +0000 (19:25 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 21 Aug 2015 06:40:22 +0000 (23:40 -0700)
commit0bba4fa070583f5fd8a0f7208fbfa181dc25e71b
tree414a6907b45f2c8a6948c41f6a26bfc94903c1eb
parentceb1a318424bf219eace29955ae473c1ccf9f8b8
vc4: Allow QIR registers to be non-SSA.

Now that we have NIR, most of the optimization we still need to do is
peepholes on instruction selection rather than general dataflow
operations.  This means we want to be able to have QIR be a lot closer to
the actual QPU instructions, just with virtual registers.  Allowing
multiple instructions writing the same register opens up a lot of
possibilities.
src/gallium/drivers/vc4/vc4_opt_algebraic.c
src/gallium/drivers/vc4/vc4_opt_vpm_writes.c
src/gallium/drivers/vc4/vc4_qir.c
src/gallium/drivers/vc4/vc4_register_allocate.c