Mesa (master): i965/fs: Invalidate live intervals in passes that remove an instruction.

Eric Anholt anholt at kemper.freedesktop.org
Fri Jul 6 21:20:50 UTC 2012


Module: Mesa
Branch: master
Commit: 2343fe9a5d1786413453e6e8e5c7700143d68a26
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2343fe9a5d1786413453e6e8e5c7700143d68a26

Author: Eric Anholt <eric at anholt.net>
Date:   Tue Jun  5 13:13:33 2012 -0700

i965/fs: Invalidate live intervals in passes that remove an instruction.

Since live intervals are based on ip, removing an instruction trashes
the intervals unless we were to go do some surgery.  These happen to
usually remove a use of a grf, so it's time to recalculate, anyway.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
NOTE: This is a candidate for the 8.0 release branch.

---

 src/mesa/drivers/dri/i965/brw_fs.cpp |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 7c1096b..175e36e 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -1844,6 +1844,9 @@ fs_visitor::compute_to_mrf()
       }
    }
 
+   if (progress)
+      live_intervals_valid = false;
+
    return progress;
 }
 
@@ -1920,6 +1923,9 @@ fs_visitor::remove_duplicate_mrf_writes()
       }
    }
 
+   if (progress)
+      live_intervals_valid = false;
+
    return progress;
 }
 




More information about the mesa-commit mailing list