[Mesa-dev] [PATCH 2/4] nir: Silence unused "options" warning in algebraic passes.

Kenneth Graunke kenneth at whitecape.org
Fri Apr 8 18:48:01 UTC 2016


On Friday, April 8, 2016 11:18:46 AM PDT Dylan Baker wrote:
> Quoting Eduardo Lima Mitev (2016-04-08 08:26:22)
> > On 04/08/2016 01:35 AM, Kenneth Graunke wrote:
> > > Some passes may not refer to options->..., at which point the 
compiler
> > > will warn about an unused variable.  Just cast to void unconditionally
> > > to shut it up.
> > >
> > > Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> > > ---
> > >   src/compiler/nir/nir_algebraic.py | 1 +
> > >   1 file changed, 1 insertion(+)
> > >
> > > diff --git a/src/compiler/nir/nir_algebraic.py b/src/compiler/nir/
nir_algebraic.py
> > > index d05564f..53a7907 100644
> > > --- a/src/compiler/nir/nir_algebraic.py
> > > +++ b/src/compiler/nir/nir_algebraic.py
> > > @@ -291,6 +291,7 @@ ${pass_name}(nir_shader *shader)
> > >      bool progress = false;
> > >      bool condition_flags[${len(condition_list)}];
> > >      const nir_shader_compiler_options *options = shader->options;
> > > +   (void) options;
> > >
> > 
> > Hmm, don't like this very much. I suppose since it is generated code, it 
> > can not be done per block where options is unused.
> > For respect to other people's right to have clean build logs, patch is:
> > 
> > Reviewed-by: Eduardo Lima Mitev <elima at igalia.com>
> > 
> > >      % for index, condition in enumerate(condition_list):
> > >      condition_flags[${index}] = ${condition};
> > >
> > 
> 
> I'm not familiar with the code, but looking at it options must be used
> in the condition_list argument?

Right, we create the 'options' temporary so you can write rules like:

   (('~fmin', ('fmax', a, 0.0), 1.0), ('fsat', a), '!options->lower_fsat'),

where !options->lower_fsat becomes part of the condition_list.  However,
conditions are optional.  If you have an algebraic rule list which doesn't
include any conditions referring to options->..., the variable will be
unused.  (For example, the list in patch 4 meets this criteria.)


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160408/6f295efd/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160408/6f295efd/attachment-0001.sig>


More information about the mesa-dev mailing list