summaryrefslogtreecommitdiffstats
path: root/src/compiler/nir/nir_opt_algebraic.py
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2016-07-06 15:00:45 -0700
committerEric Anholt <[email protected]>2016-07-12 15:46:09 -0700
commitc93f6938d5dac1cfbeae7040929c232d70b6feae (patch)
tree90fd0efd1558b49fe418a66c69f6f73209ad7d61 /src/compiler/nir/nir_opt_algebraic.py
parentbe126c8a2a4e67fff47e02078fceacb33ddac67f (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 <[email protected]>
Diffstat (limited to 'src/compiler/nir/nir_opt_algebraic.py')
-rw-r--r--src/compiler/nir/nir_opt_algebraic.py1
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),