summaryrefslogtreecommitdiffstats
path: root/src/broadcom/compiler/v3d_compiler.h
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2019-02-22 14:26:26 -0800
committerEric Anholt <[email protected]>2019-04-11 09:24:02 -0700
commit8f065596d22ab000c53ffe926d4340f4c9aeed97 (patch)
treeef6520367c9e9f3ba70fa184c41cbb5152e123be /src/broadcom/compiler/v3d_compiler.h
parent3dd2001993409d08e7b0fbc9d817e4a2181b52b1 (diff)
v3d: Add an optimization pass for redundant flags updates.
Our exec masking introduces lots of redundant flags updates, and even without that there will be cases where NIR comparisons on the same sources for different reasons may generate the same comparison instruction before the selection. total instructions in shared programs: 6492930 -> 6460934 (-0.49%) total uniforms in shared programs: 2117460 -> 2115106 (-0.11%) total spills in shared programs: 4983 -> 4987 (0.08%) total fills in shared programs: 6408 -> 6416 (0.12%)
Diffstat (limited to 'src/broadcom/compiler/v3d_compiler.h')
-rw-r--r--src/broadcom/compiler/v3d_compiler.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/broadcom/compiler/v3d_compiler.h b/src/broadcom/compiler/v3d_compiler.h
index 20f748bb01b..94247860c68 100644
--- a/src/broadcom/compiler/v3d_compiler.h
+++ b/src/broadcom/compiler/v3d_compiler.h
@@ -785,6 +785,7 @@ bool vir_opt_constant_folding(struct v3d_compile *c);
bool vir_opt_copy_propagate(struct v3d_compile *c);
bool vir_opt_dead_code(struct v3d_compile *c);
bool vir_opt_peephole_sf(struct v3d_compile *c);
+bool vir_opt_redundant_flags(struct v3d_compile *c);
bool vir_opt_small_immediates(struct v3d_compile *c);
bool vir_opt_vpm(struct v3d_compile *c);
void v3d_nir_lower_blend(nir_shader *s, struct v3d_compile *c);