We can't safely call nir_optimize() with register present, since several
passes called in the loop can't handle registers, and will fail asserts.
Notably, nir_lower_vec_alus() and nir_opt_algebraic() really don't want
registers.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
nir_lower_io(nir);
nir_validate_shader(nir);
- nir_lower_locals_to_regs(nir);
- nir_validate_shader(nir);
-
nir_remove_dead_variables(nir);
nir_validate_shader(nir);
nir_optimize(nir);
+ nir_lower_locals_to_regs(nir);
+ nir_validate_shader(nir);
+
nir_lower_to_source_mods(nir);
nir_validate_shader(nir);
nir_copy_prop(nir);