[Mesa-dev] [PATCH 2/6] i965/fs: Use overwrites_reg() instead of dst.equals().

Matt Turner mattst88 at gmail.com
Thu Aug 27 22:17:25 PDT 2015


equals() returns false for registers with different types, using it
isn't appropriate to determine whether an is overwriting a register.
---
 src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp b/src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp
index 72e8738..218cc61 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_register_coalesce.cpp
@@ -128,8 +128,8 @@ can_coalesce_vars(brw::fs_live_variables *live_intervals,
       if (scan_ip > live_intervals->end[var_to])
          return true;
 
-      if (scan_inst->dst.equals(inst->dst) ||
-          scan_inst->dst.equals(inst->src[0]))
+      if (scan_inst->overwrites_reg(inst->dst) ||
+          scan_inst->overwrites_reg(inst->src[0]))
          return false;
    }
 
-- 
2.4.6



More information about the mesa-dev mailing list