v3d: Drop the V3D 3.x vpm read dead code elimination.
authorEric Anholt <eric@anholt.net>
Wed, 27 Feb 2019 05:37:47 +0000 (21:37 -0800)
committerEric Anholt <eric@anholt.net>
Tue, 5 Mar 2019 20:57:39 +0000 (12:57 -0800)
We now have NIR dead code eliminating our VPM reads, so this shouldn't be
necessary.

src/broadcom/compiler/vir_opt_dead_code.c

index 56b276d581b1eb6529ab0f89a2cf39ee9ecf84b5..6048ccfccb7c788519e9754ffa891f499d1d8ede 100644 (file)
@@ -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;