intel/fs: Don't continue fixed point iteration just because liveout changes
authorIan Romanick <ian.d.romanick@intel.com>
Sat, 1 Apr 2023 01:13:57 +0000 (18:13 -0700)
committerMarge Bot <emma+marge@anholt.net>
Thu, 14 Sep 2023 22:31:22 +0000 (22:31 +0000)
Unless the change in liveout also causes livein to change, updates to
liveout cannot have any global effect. Changes to livein already flag
additional interation.

I had additional changes in this area that didn't pan out. While working
on those change, I was a little confused about this bit of code. It's
unnecessary, so it's better to delete it.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25091>

src/intel/compiler/brw_fs_live_variables.cpp

index f566922..62037d7 100644 (file)
@@ -192,17 +192,13 @@ fs_live_variables::compute_live_variables()
                BITSET_WORD new_liveout = (child_bd->livein[i] &
                                           ~bd->liveout[i]);
                new_liveout &= bd->defout[i]; /* Screen off uses with no reaching def */
-               if (new_liveout) {
+               if (new_liveout)
                   bd->liveout[i] |= new_liveout;
-                  cont = true;
-               }
             }
             BITSET_WORD new_liveout = (child_bd->flag_livein[0] &
                                        ~bd->flag_liveout[0]);
-            if (new_liveout) {
+            if (new_liveout)
                bd->flag_liveout[0] |= new_liveout;
-               cont = true;
-            }
          }
 
          /* Update livein */