On Fri, Mar 16, 2018 at 11:53 AM, Dylan Baker <dy...@pnwbakers.com> wrote:
> Quoting Jason Ekstrand (2018-03-16 11:38:47) > > On Fri, Mar 16, 2018 at 11:28 AM, Dylan Baker <dy...@pnwbakers.com> > wrote: > > > > intr_opcodes = { > > 'nop': Intrinsic('nop', flags=[CAN_ELIMINATE]), > > ... > > } > > > > I prefer this since each dictionary is clearly created without a > function > > obscuring what's actually going on. If you dislike having to repeat > the > > name you > > could even do something like: > > intr_opcodes = [ > > 'nop': Intrinsic('nop', flags=[CAN_ELIMINATE]), > > ... > > ] > > intr_opcodes = {i.name: i for i in intr_opcodes} > > > > > > I'm not sure what I think about this. On the one hand, having the > dictionary > > explicitly declared is nice. On the other hand, in nir_opcodes.py we > have a > > bunch of other helper functions we declare along the way to help with > specific > > kinds of opcodes. It's not as practical to do this if everything is > inside of > > a dictionary declaration. > > Why not? > > def make_op(name, *args): > return Intrinsic(name, foo='bar', *args) > > intr_opcodes = [ > make_op('nop', ...), > ] > Because it's nice to keep the definition of the wrapper close to where it's used.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev