[Mesa-dev] [PATCH 13/15] i965/fs: Fully recompute liveout at each step.
Kenneth Graunke
kenneth at whitecape.org
Mon Aug 12 13:11:33 PDT 2013
Since we start with an overestimation of livein (0xffffffff), successive
steps may should actually take away values. This means we can't simply
OR in new liveout values; we need to recompute it from scratch at each
iteration of the fixed-point algorithm.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
index f5c8e4a..9522649 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
@@ -219,7 +219,7 @@ fs_copy_prop_dataflow::run()
for (int i = 0; i < bitset_words; i++) {
const BITSET_WORD old_liveout = bd[b].liveout[i];
- bd[b].liveout[i] |=
+ bd[b].liveout[i] =
bd[b].copy[i] | (bd[b].livein[i] & ~bd[b].kill[i]);
if (old_liveout != bd[b].liveout[i])
--
1.8.3.4
More information about the mesa-dev
mailing list