Mesa (master): nir: add new partially_unrolled bool to nir_loop

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Mar 12 01:37:13 UTC 2019


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

Author: Timothy Arceri <tarceri at itsqueeze.com>
Date:   Mon Nov 19 17:01:52 2018 +1100

nir: add new partially_unrolled bool to nir_loop

In order to stop continuously partially unrolling the same loop
we add the bool partially_unrolled to nir_loop, we add it here
rather than in nir_loop_info because nir_loop_info is only set
via loop analysis and is intended to be cleared before each
analysis. Also nir_loop_info is never cloned.

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/compiler/nir/nir.h       | 1 +
 src/compiler/nir/nir_clone.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h
index 39b4c2aaf3e..aac9ac448b8 100644
--- a/src/compiler/nir/nir.h
+++ b/src/compiler/nir/nir.h
@@ -1949,6 +1949,7 @@ typedef struct {
    struct exec_list body; /** < list of nir_cf_node */
 
    nir_loop_info *info;
+   bool partially_unrolled;
 } nir_loop;
 
 /**
diff --git a/src/compiler/nir/nir_clone.c b/src/compiler/nir/nir_clone.c
index b10068928a7..fa24f8b6028 100644
--- a/src/compiler/nir/nir_clone.c
+++ b/src/compiler/nir/nir_clone.c
@@ -551,6 +551,7 @@ static nir_loop *
 clone_loop(clone_state *state, struct exec_list *cf_list, const nir_loop *loop)
 {
    nir_loop *nloop = nir_loop_create(state->ns);
+   nloop->partially_unrolled = loop->partially_unrolled;
 
    nir_cf_node_insert_end(cf_list, &nloop->cf_node);
 




More information about the mesa-commit mailing list