Mesa (master): i965: Use nir_opt_trivial_continues and nir_opt_if

Jason Ekstrand jekstrand at kemper.freedesktop.org
Fri Dec 23 01:17:06 UTC 2016


Module: Mesa
Branch: master
Commit: 8962cc96ec2bc1eb561a438512adc5042e2c8d34
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8962cc96ec2bc1eb561a438512adc5042e2c8d34

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Dec 16 23:30:40 2016 -0800

i965: Use nir_opt_trivial_continues and nir_opt_if

Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>

---

 src/mesa/drivers/dri/i965/brw_nir.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_nir.c b/src/mesa/drivers/dri/i965/brw_nir.c
index a52d614..6f37e97 100644
--- a/src/mesa/drivers/dri/i965/brw_nir.c
+++ b/src/mesa/drivers/dri/i965/brw_nir.c
@@ -429,6 +429,15 @@ nir_optimize(nir_shader *nir, const struct brw_compiler *compiler,
       OPT(nir_opt_algebraic);
       OPT(nir_opt_constant_folding);
       OPT(nir_opt_dead_cf);
+      if (OPT(nir_opt_trivial_continues)) {
+         /* If nir_opt_trivial_continues makes progress, then we need to clean
+          * things up if we want any hope of nir_opt_if or nir_opt_loop_unroll
+          * to make progress.
+          */
+         OPT(nir_copy_prop);
+         OPT(nir_opt_dce);
+      }
+      OPT(nir_opt_if);
       if (nir->options->max_unroll_iterations != 0) {
          OPT(nir_opt_loop_unroll, indirect_mask);
       }




More information about the mesa-commit mailing list