i965/fs: Use reads_flag and writes_flag methods in the scheduler.
authorMatt Turner <mattst88@gmail.com>
Tue, 22 Oct 2013 23:23:27 +0000 (16:23 -0700)
committerMatt Turner <mattst88@gmail.com>
Thu, 31 Oct 2013 02:49:27 +0000 (19:49 -0700)
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp

index 9e4de29150bca2c73c67c28fc31d88bc3f49ede2..5dcd0e8b88149d8eec40ad0fd5827fc3a1a2afa2 100644 (file)
@@ -645,7 +645,7 @@ fs_instruction_scheduler::calculate_deps()
         }
       }
 
-      if (inst->predicate) {
+      if (inst->reads_flag()) {
         add_dep(last_conditional_mod[inst->flag_subreg], n);
       }
 
@@ -692,11 +692,7 @@ fs_instruction_scheduler::calculate_deps()
         }
       }
 
-      /* Treat FS_OPCODE_MOV_DISPATCH_TO_FLAGS as though it had a
-       * conditional_mod, because it sets the flag register.
-       */
-      if (inst->conditional_mod ||
-          inst->opcode == FS_OPCODE_MOV_DISPATCH_TO_FLAGS) {
+      if (inst->writes_flag()) {
         add_dep(last_conditional_mod[inst->flag_subreg], n, 0);
         last_conditional_mod[inst->flag_subreg] = n;
       }
@@ -755,7 +751,7 @@ fs_instruction_scheduler::calculate_deps()
         }
       }
 
-      if (inst->predicate) {
+      if (inst->reads_flag()) {
         add_dep(n, last_conditional_mod[inst->flag_subreg]);
       }
 
@@ -800,11 +796,7 @@ fs_instruction_scheduler::calculate_deps()
         }
       }
 
-      /* Treat FS_OPCODE_MOV_DISPATCH_TO_FLAGS as though it had a
-       * conditional_mod, because it sets the flag register.
-       */
-      if (inst->conditional_mod ||
-          inst->opcode == FS_OPCODE_MOV_DISPATCH_TO_FLAGS) {
+      if (inst->writes_flag()) {
         last_conditional_mod[inst->flag_subreg] = n;
       }
    }