summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/vc4/vc4_qir.h
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2014-07-04 09:48:23 -0700
committerEric Anholt <[email protected]>2014-08-08 18:59:47 -0700
commitd9d1c14430aaeb5b22aa66b269ba288e3df24103 (patch)
tree6de477f96625c83d4dc364c76af50753160afd19 /src/gallium/drivers/vc4/vc4_qir.h
parent1d23d55ae97d07b6eb70a3e37a91ecb7de38d8d2 (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.h2
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 \