[Mesa-dev] Reducing GLSL compiler optimization time
idr at freedesktop.org
Mon Mar 14 14:36:00 PDT 2011
-----BEGIN PGP SIGNED MESSAGE-----
On 03/12/2011 02:41 PM, Eric Anholt wrote:
> On Sat, 12 Mar 2011 11:30:10 -0800, Kenneth Graunke <kenneth at whitecape.org> wrote:
>> On Friday, March 11, 2011 04:06:44 PM Eric Anholt wrote:
>>> With the conversion of texenvprogram to producing GLSL IR, all those
>>> nice little optimization passes end up slowing down our
>>> combinatorial-explosion ff tests pretty significantly. This patch
>>> series reduces glean texCombine runtime overall by 20% on my gen6
>>> system. The lowest-hanging fruit at this point looks like the
>>> register allocator setup, which I think a 1-entry cache would cut down
>>> pretty easily.
>> For patches 1-7:
>> Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
>> On patch 2, you can do better: ir_return and ir_call (to a void function) also
>> unnecessarily descend into expression-land.
>> For patch 8, I don't see why you're using a hash table -and- a linked list.
>> The hash table should be sufficient. variable_entry also wouldn't need to
>> inherit from exec_node at that point, though it -would- need an operator
>> new...I've been meaning to add macros for that boilerplate in ralloc.
> opt_dead_code iterates the list, and the hash table doesn't have
> anything for iterating it.
There are (or used to be) iterators for hash_tables. That code is
mostly untested, and it may not be the droids you're looking for. Not
having to also change opt_dead_code seems like a win.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/
-----END PGP SIGNATURE-----
More information about the mesa-dev