On Mon, Aug 20, 2018 at 7:57 PM Caio Marcelo de Oliveira Filho <
caio.olive...@intel.com> wrote:

> On Sat, Jul 28, 2018 at 10:44:38PM -0700, Jason Ekstrand wrote:
> > Shader-db results on Kaby Lake:
> >
> >     total instructions in shared programs: 15177605 -> 15177605 (0.00%)
> >     instructions in affected programs: 0 -> 0
> >     helped: 0
> >     HURT: 0
> >
> > This is unsurprising because nir_lower_vars_to_ssa already effectively
> > does structure and array splitting internally.  It doesn't actually
> > split the variables but it's ability to reason about aliasing in the
> > presence of arrays and structures and pick out scalars or vectors to be
> > lowered to SSA values is fairly advanced.
> > ---
> >  src/intel/compiler/brw_nir.c | 2 ++
> >  1 file changed, 2 insertions(+)
>
> This patch is
>
> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.olive...@intel.com>
>
>
> > diff --git a/src/intel/compiler/brw_nir.c b/src/intel/compiler/brw_nir.c
> > index 5990427b731..96ad77c3906 100644
> > --- a/src/intel/compiler/brw_nir.c
> > +++ b/src/intel/compiler/brw_nir.c
> > @@ -541,6 +541,7 @@ brw_nir_optimize(nir_shader *nir, const struct
> brw_compiler *compiler,
> >     bool progress;
> >     do {
> >        progress = false;
> > +      OPT(nir_split_array_vars, nir_var_local);
> >        OPT(nir_lower_vars_to_ssa);
> >        OPT(nir_opt_copy_prop_vars);
>
> I'm guessing we do this multiple times (instead of only once like
> struct) because other optimizations might turn indirects into directs,
> allowing more splitting.  If that's the case maybe worth a note in the
> commit message.
>

I thought that was obvious, but sure I can put it in the commit message.
No harm there.

--Jason
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to