summaryrefslogtreecommitdiffstats
path: root/src/glsl/opt_redundant_jumps.cpp
Commit message (Collapse)AuthorAgeFilesLines
* glsl: Put a bunch of optimization visitors under anonymous namespaces.Eric Anholt2012-06-111-0/+4
| | | | | | | | | | | | | | | | | Because these classes are used entirely from their own source files and not from separate DSOs, the linker gets to produce massively less code. This cuts about 13k of text in the libdricore case. In the non-libdricore case, the additional linkage information allows the compiler to inline some code, so libglsl.a size actually increases by about 300 bytes. For a dricore build, improves shader_runner runtime on glsl-fs-copy-propagation-texcoords-1 by 0.21% +/- 0.03% (n=353574, outliers removed). No statistically significant difference with n=322 on glslparsertest on a yofrankie shader intended to test compiler performance. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
* glsl: Skip processing expression trees in optimize_redundant_jumps()Eric Anholt2011-03-151-0/+9
| | | | Cuts the time spent in this function during glean texCombine by 2/3.
* glsl2: Add pass to remove redundant jumpsIan Romanick2010-09-131-0/+111