pan/midgard: Remove consecutive_skip code
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Fri, 6 Dec 2019 16:49:43 +0000 (11:49 -0500)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Thu, 12 Dec 2019 16:42:06 +0000 (11:42 -0500)
This has been unused since the beginning since it's broken. Let's toss
it so it doesn't get in the way of further fixes. Bigger to fish to fry.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
src/panfrost/midgard/midgard_ra.c

index 2c8965b79167420bd631e6a46175a2fcd47031ca..58693a7e950f092db08d051e4e09a2aff12dd422 100644 (file)
@@ -771,27 +771,18 @@ mir_spill_register(
          * spilling is to use memory to back work registers) */
 
         mir_foreach_block(ctx, block) {
-                bool consecutive_skip = false;
-                unsigned consecutive_index = 0;
-
                 mir_foreach_instr_in_block(block, ins) {
                         /* We can't rewrite the moves used to spill in the
                          * first place. These moves are hinted. */
                         if (ins->hint) continue;
 
-                        if (!mir_has_arg(ins, spill_node)) {
-                                consecutive_skip = false;
-                                continue;
-                        }
+                        /* If we don't use the spilled value, nothing to do */
+                        if (!mir_has_arg(ins, spill_node)) continue;
 
-                        if (consecutive_skip) {
-                                /* Rewrite */
-                                mir_rewrite_index_src_single(ins, spill_node, consecutive_index);
-                                continue;
-                        }
+                        unsigned index = 0;
 
                         if (!is_special_w) {
-                                consecutive_index = ++spill_index;
+                                index = ++spill_index;
 
                                 midgard_instruction *before = ins;
 
@@ -803,11 +794,11 @@ mir_spill_register(
 
                                 if (is_special) {
                                         /* Move */
-                                        st = v_mov(spill_node, consecutive_index);
+                                        st = v_mov(spill_node, index);
                                         st.no_spill = true;
                                 } else {
                                         /* TLS load */
-                                        st = v_load_store_scratch(consecutive_index, spill_slot, false, 0xF);
+                                        st = v_load_store_scratch(index, spill_slot, false, 0xF);
                                 }
 
                                 /* Mask the load based on the component count
@@ -816,15 +807,14 @@ mir_spill_register(
                                 st.mask = mir_from_bytemask(read_bytemask, midgard_reg_mode_32);
 
                                 mir_insert_instruction_before_scheduled(ctx, block, before, st);
-                               // consecutive_skip = true;
                         } else {
                                 /* Special writes already have their move spilled in */
-                                consecutive_index = spill_slot;
+                                index = spill_slot;
                         }
 
 
                         /* Rewrite to use */
-                        mir_rewrite_index_src_single(ins, spill_node, consecutive_index);
+                        mir_rewrite_index_src_single(ins, spill_node, index);
 
                         if (!is_special)
                                 ctx->fills++;