summaryrefslogtreecommitdiffstats
path: root/src/broadcom
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2019-02-26 21:37:47 -0800
committerEric Anholt <[email protected]>2019-03-05 12:57:39 -0800
commit5c655c47db76fd972beed11b8e3c4f5c590d1d44 (patch)
tree66e9b4bb7148f926da11d1cf9de6ee785eb3d6f7 /src/broadcom
parente8ee1f8eaf5ea7d688621eac8cd8b2729626d89f (diff)
v3d: Drop the V3D 3.x vpm read dead code elimination.
We now have NIR dead code eliminating our VPM reads, so this shouldn't be necessary.
Diffstat (limited to 'src/broadcom')
-rw-r--r--src/broadcom/compiler/vir_opt_dead_code.c35
1 files changed, 2 insertions, 33 deletions
diff --git a/src/broadcom/compiler/vir_opt_dead_code.c b/src/broadcom/compiler/vir_opt_dead_code.c
index 56b276d581b..6048ccfccb7 100644
--- a/src/broadcom/compiler/vir_opt_dead_code.c
+++ b/src/broadcom/compiler/vir_opt_dead_code.c
@@ -55,28 +55,8 @@ static bool
has_nonremovable_reads(struct v3d_compile *c, struct qinst *inst)
{
for (int i = 0; i < vir_get_nsrc(inst); i++) {
- if (inst->src[i].file == QFILE_VPM) {
- /* Instance ID, Vertex ID: Should have been removed at
- * the NIR level
- */
- if (inst->src[i].index == ~0)
- return true;
-
- uint32_t attr = inst->src[i].index / 4;
- uint32_t offset = inst->src[i].index % 4;
-
- if (c->vattr_sizes[attr] != offset)
- return true;
-
- /* Can't get rid of the last VPM read, or the
- * simulator (at least) throws an error.
- */
- uint32_t total_size = 0;
- for (uint32_t i = 0; i < ARRAY_SIZE(c->vattr_sizes); i++)
- total_size += c->vattr_sizes[i];
- if (total_size == 1)
- return true;
- }
+ if (inst->src[i].file == QFILE_VPM)
+ return true;
}
return false;
@@ -187,17 +167,6 @@ vir_opt_dead_code(struct v3d_compile *c)
continue;
}
- for (int i = 0; i < vir_get_nsrc(inst); i++) {
- if (inst->src[i].file != QFILE_VPM)
- continue;
- uint32_t attr = inst->src[i].index / 4;
- uint32_t offset = (inst->src[i].index % 4);
-
- if (c->vattr_sizes[attr] == offset) {
- c->vattr_sizes[attr]--;
- }
- }
-
assert(inst != last_flags_write);
dce(c, inst);
progress = true;