diff options
author | Eric Anholt <[email protected]> | 2019-02-26 21:37:47 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2019-03-05 12:57:39 -0800 |
commit | 5c655c47db76fd972beed11b8e3c4f5c590d1d44 (patch) | |
tree | 66e9b4bb7148f926da11d1cf9de6ee785eb3d6f7 /src/broadcom | |
parent | e8ee1f8eaf5ea7d688621eac8cd8b2729626d89f (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.c | 35 |
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; |