i965/fs: Simplify result_live calculation in dead_code_eliminate().
authorFrancisco Jerez <currojerez@riseup.net>
Thu, 1 Sep 2016 23:46:34 +0000 (16:46 -0700)
committerFrancisco Jerez <currojerez@riseup.net>
Wed, 14 Sep 2016 21:50:56 +0000 (14:50 -0700)
No need to unroll the first iteration of the loop manually.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
src/mesa/drivers/dri/i965/brw_fs_dead_code_eliminate.cpp

index 4558bd4..5db31c3 100644 (file)
@@ -53,17 +53,11 @@ fs_visitor::dead_code_eliminate()
 
       foreach_inst_in_block_reverse_safe(fs_inst, inst, block) {
          if (inst->dst.file == VGRF && !inst->has_side_effects()) {
+            const unsigned var = live_intervals->var_from_reg(inst->dst);
             bool result_live = false;
 
-            if (regs_written(inst) == 1) {
-               int var = live_intervals->var_from_reg(inst->dst);
-               result_live = BITSET_TEST(live, var);
-            } else {
-               int var = live_intervals->var_from_reg(inst->dst);
-               for (unsigned i = 0; i < regs_written(inst); i++) {
-                  result_live = result_live || BITSET_TEST(live, var + i);
-               }
-            }
+            for (unsigned i = 0; i < regs_written(inst); i++)
+               result_live |= BITSET_TEST(live, var + i);
 
             if (!result_live) {
                progress = true;