diff options
author | Eric Anholt <eric@anholt.net> | 2014-07-04 09:48:23 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2014-08-08 18:59:47 -0700 |
commit | d9d1c14430aaeb5b22aa66b269ba288e3df24103 (patch) | |
tree | 6de477f96625c83d4dc364c76af50753160afd19 /src/gallium/drivers/vc4/vc4_qir.h | |
parent | 1d23d55ae97d07b6eb70a3e37a91ecb7de38d8d2 (diff) |
vc4: Add dead code elimination.
This cleans up a bunch of noise in the compiled coordinate shaders (since
we don't need the varying outputs), and also from writemasked instructions
with negated src operands.
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_qir.h')
-rw-r--r-- | src/gallium/drivers/vc4/vc4_qir.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/vc4/vc4_qir.h b/src/gallium/drivers/vc4/vc4_qir.h index c0e0f85dede..c6c2a6476c4 100644 --- a/src/gallium/drivers/vc4/vc4_qir.h +++ b/src/gallium/drivers/vc4/vc4_qir.h @@ -147,6 +147,7 @@ void qir_emit(struct qcompile *c, struct qinst *inst); struct qreg qir_get_temp(struct qcompile *c); int qir_get_op_nsrc(enum qop qop); bool qir_reg_equals(struct qreg a, struct qreg b); +bool qir_has_side_effects(struct qinst *inst); void qir_dump(struct qcompile *c); void qir_dump_inst(struct qinst *inst); @@ -154,6 +155,7 @@ const char *qir_get_stage_name(enum qstage stage); void qir_optimize(struct qcompile *c); bool qir_opt_algebraic(struct qcompile *c); +bool qir_opt_dead_code(struct qcompile *c); #define QIR_ALU1(name) \ static inline struct qreg \ |