summaryrefslogtreecommitdiffstats
path: root/src/compiler/nir/nir.h
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-12-19 20:11:47 -0800
committerTimothy Arceri <[email protected]>2016-12-23 10:15:35 +1100
commita620f66872c27fa24a1ccdd1d0a6e563eefbaad6 (patch)
tree25cdf2b7d26399a7906e54857ed1bf2e1ba60c6c /src/compiler/nir/nir.h
parent99de7b752546c3f87aa8a18f72fd46856270555f (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.h3
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);