Mesa (master): vc4: Allow multi-instruction QIR nodes to get VPM optimization.
Eric Anholt
anholt at kemper.freedesktop.org
Sat Apr 9 01:42:21 UTC 2016
Module: Mesa
Branch: master
Commit: e46b48963a6f336049af3d10649bab48cd12fdee
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e46b48963a6f336049af3d10649bab48cd12fdee
Author: Eric Anholt <eric at anholt.net>
Date: Mon Mar 21 12:18:07 2016 -0700
vc4: Allow multi-instruction QIR nodes to get VPM optimization.
There used to be multi-instruction operations that would use src[] twice,
which is why we couldn't do some optimizations on them. This is no longer
the case.
total instructions in shared programs: 77973 -> 77969 (-0.01%)
instructions in affected programs: 84 -> 80 (-4.76%)
total estimated cycles in shared programs: 234165 -> 234157 (-0.00%)
estimated cycles in affected programs: 92 -> 84 (-8.70%)
---
src/gallium/drivers/vc4/vc4_opt_vpm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/vc4/vc4_opt_vpm.c b/src/gallium/drivers/vc4/vc4_opt_vpm.c
index d15b0c1..d31b673 100644
--- a/src/gallium/drivers/vc4/vc4_opt_vpm.c
+++ b/src/gallium/drivers/vc4/vc4_opt_vpm.c
@@ -65,7 +65,7 @@ qir_opt_vpm(struct vc4_compile *c)
* result, try to move the instruction up in place of the VPM read.
*/
list_for_each_entry(struct qinst, inst, &c->instructions, link) {
- if (!inst || qir_is_multi_instruction(inst))
+ if (!inst)
continue;
if (qir_depends_on_flags(inst) || inst->sf)
@@ -132,7 +132,7 @@ qir_opt_vpm(struct vc4_compile *c)
continue;
struct qinst *inst = c->defs[temp];
- if (!inst || qir_is_multi_instruction(inst))
+ if (!inst)
continue;
if (qir_depends_on_flags(inst) || inst->sf)
More information about the mesa-commit
mailing list