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

Author: Matt Turner <[email protected]>
Date:   Wed Nov 25 16:19:06 2015 -0800

i965: Don't mark dead instructions' sources live.

Removes dead code from glsl-mat-from-int-ctor-03.shader_test.

Reported-by: Juan A. Suarez Romero <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>

---

 src/mesa/drivers/dri/i965/brw_fs_dead_code_eliminate.cpp   |    4 ++++
 src/mesa/drivers/dri/i965/brw_vec4_dead_code_eliminate.cpp |    4 ++++
 2 files changed, 8 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_fs_dead_code_eliminate.cpp 
b/src/mesa/drivers/dri/i965/brw_fs_dead_code_eliminate.cpp
index a50cf6f..6b4b602 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_dead_code_eliminate.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_dead_code_eliminate.cpp
@@ -109,6 +109,10 @@ fs_visitor::dead_code_eliminate()
             BITSET_CLEAR(flag_live, inst->flag_subreg);
          }
 
+         /* Don't mark dead instructions' sources as live */
+         if (inst->opcode == BRW_OPCODE_NOP)
+            continue;
+
          for (int i = 0; i < inst->sources; i++) {
             if (inst->src[i].file == VGRF) {
                int var = live_intervals->var_from_reg(inst->src[i]);
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_dead_code_eliminate.cpp 
b/src/mesa/drivers/dri/i965/brw_vec4_dead_code_eliminate.cpp
index 58aed81..369941b 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_dead_code_eliminate.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_dead_code_eliminate.cpp
@@ -150,6 +150,10 @@ vec4_visitor::dead_code_eliminate()
                BITSET_CLEAR(flag_live, c);
          }
 
+         /* Don't mark dead instructions' sources as live */
+         if (inst->opcode == BRW_OPCODE_NOP)
+            continue;
+
          for (int i = 0; i < 3; i++) {
             if (inst->src[i].file == VGRF) {
                for (unsigned j = 0; j < inst->regs_read(i); j++) {

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to