diff options
author | Eric Anholt <[email protected]> | 2015-02-20 00:57:04 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2015-02-21 14:57:14 -0800 |
commit | 8e1152cb33e53a9d31a6c239dd77b0b4b7613ea8 (patch) | |
tree | f5d395039eb6be908c8762bdf9492319dfc3e7c8 /src/glsl/lower_named_interface_blocks.cpp | |
parent | dc982f4a859d800ec3eba95d3c55bbe6af8d6518 (diff) |
nir: Allow nir_opt_algebraic to see booleanness through &&, ||, ^, !.
We have some useful optimizations to drop things like 'ine a, 0' on a
boolean argument, but if 'a' came from logical operations on bools, it
couldn't tell. These kinds of constructs appear as a result of TGSI->NIR
quite frequently (at least with if flattening), so being a little more
aggressive in detecting booleans can pay off.
v2: Add ixor as a booleanness-preserving op (Suggestion by Connor).
vc4 results:
total instructions in shared programs: 40207 -> 39881 (-0.81%)
instructions in affected programs: 6677 -> 6351 (-4.88%)
Reviewed-by: Matt Turner <[email protected]> (v1)
Reviewed-by: Connor Abbott <[email protected]>
Diffstat (limited to 'src/glsl/lower_named_interface_blocks.cpp')
0 files changed, 0 insertions, 0 deletions