[Mesa-dev] [RFC 0/5] nir/gcm: Use a more conservative block assignment algorithm
Jason Ekstrand
jason at jlekstrand.net
Sat Jan 14 22:37:36 UTC 2017
Previous attempts to turn on global code motion and value numbering have
failed due to regressions in shader-db. Some of these regressions are
because GCM is very aggressive about moving instructions between blocks.
This series switches the GCM pass over to a different block assignment
algorithm that doesn't move an instruction unless it's either necessary for
value numbering or if doing so would place it better (out of a loop or into
an if statement).
I don't have shader-db numbers yet.
Jason Ekstrand (5):
nir/gcm: Compute the if-depth of each block
nir/gcm: Loop over blocks in pin_instructions
nir/gcm: Use an array for storring the early block
nir/gcm: Rework the block assignment algorithm
nir/gcm: Add a real concept of "progress"
src/compiler/nir/nir_opt_gcm.c | 240 +++++++++++++++++++++++++----------------
1 file changed, 147 insertions(+), 93 deletions(-)
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list