diff options
author | Rob Clark <[email protected]> | 2018-06-06 10:11:45 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2018-06-19 13:02:28 -0400 |
commit | 7235c144a64a444a4c7619a6f539676f7a2d16d9 (patch) | |
tree | 2e22bc48c21a6b63a817f3ff5c8b417f5f0250ae /src/compiler/nir/nir.h | |
parent | c9d6e579ecaa72c50cc2ef108a7ead5e24ae2512 (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.h | 1 |
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, |