diff options
author | Eric Anholt <eric@anholt.net> | 2016-07-06 15:00:45 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2016-07-12 15:46:09 -0700 |
commit | c93f6938d5dac1cfbeae7040929c232d70b6feae (patch) | |
tree | 90fd0efd1558b49fe418a66c69f6f73209ad7d61 /src/compiler | |
parent | be126c8a2a4e67fff47e02078fceacb33ddac67f (diff) |
nir: Add optimization for (a || True == True)
This was appearing in vc4 VS/CS in mupen64, due to vertex attrib lowering
producing some constants that were getting compared.
total instructions in shared programs: 112276 -> 112198 (-0.07%)
instructions in affected programs: 2239 -> 2161 (-3.48%)
total estimated cycles in shared programs: 283102 -> 283038 (-0.02%)
estimated cycles in affected programs: 2365 -> 2301 (-2.71%)
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/nir/nir_opt_algebraic.py | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/compiler/nir/nir_opt_algebraic.py b/src/compiler/nir/nir_opt_algebraic.py index fd228017c54..7d04ef941b7 100644 --- a/src/compiler/nir/nir_opt_algebraic.py +++ b/src/compiler/nir/nir_opt_algebraic.py @@ -197,6 +197,7 @@ optimizations = [ (('iand', a, 0), 0), (('ior', a, a), a), (('ior', a, 0), a), + (('ior', a, True), True), (('fxor', a, a), 0.0), (('ixor', a, a), 0), (('ixor', a, 0), a), |