This patch series has a bunch of fixes and refactors for the global code motion pass in NIR. The patch to dominance is needed for correctness while most of the rest of them are just cleanups or exist to enable patch 7 without regressions. With the exception of "Deus Ex: Mankind Divided", the numbers are finally looking really good.
Jason Ekstrand (8): nir/dominance: Better handle unreachable blocks nir/gcm: Loop over blocks in pin_instructions nir/gcm: Use an array for storring the early block nir/gcm: Move block choosing into a helper function nir/gcm: Add a real concept of "progress" nir/gcm: Delete dead instructions nir/gcm: Prefer the instruction's original block i965/nir: Use GCM and GVN in the first run of nir_optimize src/compiler/nir/nir.h | 9 +- src/compiler/nir/nir_dominance.c | 37 +++++- src/compiler/nir/nir_opt_gcm.c | 254 +++++++++++++++++++++++------------- src/mesa/drivers/dri/i965/brw_nir.c | 22 +++- 4 files changed, 215 insertions(+), 107 deletions(-) -- 2.5.0.400.gff86faf _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev