summaryrefslogtreecommitdiffstats
path: root/src/compiler/nir/nir.h
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2018-06-06 10:11:45 -0400
committerRob Clark <[email protected]>2018-06-19 13:02:28 -0400
commit7235c144a64a444a4c7619a6f539676f7a2d16d9 (patch)
tree2e22bc48c21a6b63a817f3ff5c8b417f5f0250ae /src/compiler/nir/nir.h
parentc9d6e579ecaa72c50cc2ef108a7ead5e24ae2512 (diff)
nir: add pass to move load_const
Run this pass late (after opt loop) to move load_const instructions back into the basic blocks which use the result, in cases where a load_const is only consumed in a single block. This helps reduce register usage in cases where the backend driver cannot lower the load_const to a uniform. Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/compiler/nir/nir.h')
-rw-r--r--src/compiler/nir/nir.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h
index 2858e1f2880..66764eeaf29 100644
--- a/src/compiler/nir/nir.h
+++ b/src/compiler/nir/nir.h
@@ -2632,6 +2632,7 @@ bool nir_remove_dead_variables(nir_shader *shader, nir_variable_mode modes);
bool nir_lower_constant_initializers(nir_shader *shader,
nir_variable_mode modes);
+bool nir_move_load_const(nir_shader *shader);
bool nir_move_vec_src_uses_to_dest(nir_shader *shader);
bool nir_lower_vec_to_movs(nir_shader *shader);
void nir_lower_alpha_test(nir_shader *shader, enum compare_func func,