On Tue, Nov 3, 2015 at 12:31 AM, Kenneth Graunke <kenn...@whitecape.org> wrote: > We can't preserve dominance or live variable information. > > This also begs the question: what about globals? Metadata only exists > at the nir_function_impl level, so it would seem there is no metadata > about global variables for us to invalidate. > > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > --- > src/glsl/nir/nir_remove_dead_variables.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/src/glsl/nir/nir_remove_dead_variables.c > b/src/glsl/nir/nir_remove_dead_variables.c > index d6783e7..77b6c13 100644 > --- a/src/glsl/nir/nir_remove_dead_variables.c > +++ b/src/glsl/nir/nir_remove_dead_variables.c > @@ -126,8 +126,13 @@ nir_remove_dead_variables(nir_shader *shader) > progress = remove_dead_vars(&shader->globals, live) || progress; > > nir_foreach_overload(shader, overload) { > - if (overload->impl) > - progress = remove_dead_vars(&overload->impl->locals, live) || > progress; > + if (overload->impl) { > + if (remove_dead_vars(&overload->impl->locals, live)) { > + nir_metadata_preserve(overload->impl, nir_metadata_block_index | > + nir_metadata_dominance);
This doesn't invalidate live_variables > + progress = true; > + } > + } > } > > _mesa_set_destroy(live, NULL); > -- > 2.6.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev