diff options
author | Jason Ekstrand <[email protected]> | 2016-12-19 20:11:47 -0800 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2016-12-23 10:15:35 +1100 |
commit | a620f66872c27fa24a1ccdd1d0a6e563eefbaad6 (patch) | |
tree | 25cdf2b7d26399a7906e54857ed1bf2e1ba60c6c /src/compiler/nir/nir.h | |
parent | 99de7b752546c3f87aa8a18f72fd46856270555f (diff) |
nir: Add a couple quick-and-dirty out-of-SSA helpers
These are designed for use within an optimization pass when SSA becomes
more pain than it's worth. They're very naive and don't generate
anything close to optimal register-based NIR. Also, they may result in
shaders which do not validate because of, for instance, registers in phi
sources. However, the register-based into-SSA pass should be pretty
efficient at cleaning up the mess.
Reviewed-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'src/compiler/nir/nir.h')
-rw-r--r-- | src/compiler/nir/nir.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index ba88a249ae8..2c7237b4af2 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -2493,6 +2493,9 @@ bool nir_repair_ssa(nir_shader *shader); */ void nir_convert_from_ssa(nir_shader *shader, bool phi_webs_only); +bool nir_lower_phis_to_regs_block(nir_block *block); +bool nir_lower_ssa_defs_to_regs_block(nir_block *block); + bool nir_opt_algebraic(nir_shader *shader); bool nir_opt_algebraic_late(nir_shader *shader); bool nir_opt_constant_folding(nir_shader *shader); |