summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/vc4/vc4_qir.c
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2014-12-10 15:37:07 -0800
committerEric Anholt <[email protected]>2014-12-17 19:05:52 -0800
commitff266483fb61fd69775daf5c931ca7a56a26f4ac (patch)
treeb09828e0ccc30076d21f0461af574becf1744f6d /src/gallium/drivers/vc4/vc4_qir.c
parent8d22e8907fde509ad33c5699cd14cd1bebc3601d (diff)
vc4: Move follow_movs() to common QIR code.
I want this from other passes.
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_qir.c')
-rw-r--r--src/gallium/drivers/vc4/vc4_qir.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gallium/drivers/vc4/vc4_qir.c b/src/gallium/drivers/vc4/vc4_qir.c
index 49b79014c09..d7251abda1c 100644
--- a/src/gallium/drivers/vc4/vc4_qir.c
+++ b/src/gallium/drivers/vc4/vc4_qir.c
@@ -327,6 +327,15 @@ qir_remove_instruction(struct qinst *qinst)
free(qinst);
}
+struct qreg
+qir_follow_movs(struct qinst **defs, struct qreg reg)
+{
+ while (reg.file == QFILE_TEMP && defs[reg.index]->op == QOP_MOV)
+ reg = defs[reg.index]->src[0];
+
+ return reg;
+}
+
void
qir_compile_destroy(struct vc4_compile *c)
{