[Mesa-dev] Reducing GLSL compiler optimization time
kenneth at whitecape.org
Sat Mar 12 11:30:10 PST 2011
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.
I don't really understand patch 9.
> Surprisingly enough, making the refcount visitor use a hash table
> didn't pay off in reducing its couple of percent, as the cost of
> alloc/free of the hash table was too high. This branch is present as
> glsl-refcount-ht of my tree if you might have a workload where it
> helps -- it was a non-statistically-significant change here.
More information about the mesa-dev