summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno/ir3/ir3_group.c
diff options
context:
space:
mode:
authorRob Clark <robclark@freedesktop.org>2015-03-29 11:24:57 -0400
committerRob Clark <robclark@freedesktop.org>2015-04-05 16:36:34 -0400
commitf370e95421f553ace931a02743c96be80fd62dc8 (patch)
treeeedcee138a10be5616b80f5883d421523aa92025 /src/gallium/drivers/freedreno/ir3/ir3_group.c
parent104713d9f2dced94a427004a25c54b2c7feee166 (diff)
downloadexternal_mesa3d-f370e95421f553ace931a02743c96be80fd62dc8.tar.gz
external_mesa3d-f370e95421f553ace931a02743c96be80fd62dc8.tar.bz2
external_mesa3d-f370e95421f553ace931a02743c96be80fd62dc8.zip
freedreno/ir3: handle const/immed/abs/neg in cp
Be smarter about propagating copies from const or immed, or with abs/neg modifiers. Also, realize that absneg.s and absneg.f are really "fancy" mov instructions. This opens up the possibility to remove more copies. It helps the TGSI frontend a bit, but will be really needed for the NIR f/e which builds everything up in SSA form (ie. will *always* insert a mov from const or immediate). Signed-off-by: Rob Clark <robclark@freedesktop.org>
Diffstat (limited to 'src/gallium/drivers/freedreno/ir3/ir3_group.c')
-rw-r--r--src/gallium/drivers/freedreno/ir3/ir3_group.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_group.c b/src/gallium/drivers/freedreno/ir3/ir3_group.c
index d48ecc307a..782f6e87e5 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_group.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_group.c
@@ -118,12 +118,6 @@ static void instr_insert_mov(void *arr, int idx, struct ir3_instruction *instr)
static struct group_ops instr_ops = { instr_get, instr_insert_mov };
-
-static bool conflicts(struct ir3_instruction *a, struct ir3_instruction *b)
-{
- return (a && b) && (a != b);
-}
-
static void group_n(struct group_ops *ops, void *arr, unsigned n)
{
unsigned i, j;