[Mesa-dev] Reducing GLSL compiler optimization time

Ian Romanick idr at freedesktop.org
Mon Mar 14 14:36:00 PDT 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

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/

iEYEARECAAYFAk1+ikAACgkQX1gOwKyEAw9LiwCggntpgYpw4cxOwoXSFTn5Xaf3
DDIAoIY0WPRDeon118ZzYDsgRlh/kPwz
=RUVl
-----END PGP SIGNATURE-----


More information about the mesa-dev mailing list