diff options
author | Matt Turner <[email protected]> | 2015-09-23 12:44:44 -0700 |
---|---|---|
committer | Matt Turner <[email protected]> | 2015-10-05 14:31:26 -0700 |
commit | 617eb5e6c3058730c118b9178b50f2ab82f6932d (patch) | |
tree | 535261b50e23084c9b2ab496afb8dfc1a98474d3 /src/glsl/glsl_parser_extras.cpp | |
parent | 5a360dcad1fdb91f9129cb21775b9af60cbf57e4 (diff) |
glsl: Remove CSE pass.
With NIR, it actually hurts things.
total instructions in shared programs: 6529329 -> 6528888 (-0.01%)
instructions in affected programs: 14833 -> 14392 (-2.97%)
helped: 299
HURT: 1
In all affected programs I inspected (including the single hurt one) the
pass CSE'd some multiplies and caused some reassociation (e.g., caused
(A * B) * C to be A * (B * C)) when the original intermediate result was
reused elsewhere.
Acked-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/glsl/glsl_parser_extras.cpp')
-rw-r--r-- | src/glsl/glsl_parser_extras.cpp | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp index f5542415d4a..b521c5f3280 100644 --- a/src/glsl/glsl_parser_extras.cpp +++ b/src/glsl/glsl_parser_extras.cpp @@ -1899,7 +1899,6 @@ do_common_optimization(exec_list *ir, bool linked, progress = do_constant_variable_unlinked(ir) || progress; progress = do_constant_folding(ir) || progress; progress = do_minmax_prune(ir) || progress; - progress = do_cse(ir) || progress; progress = do_rebalance_tree(ir) || progress; progress = do_algebraic(ir, native_integers, options) || progress; progress = do_lower_jumps(ir) || progress; |