intel/vec4: Make implied_mrf_writes() a vec4_instruction method
authorMatt Turner <mattst88@gmail.com>
Fri, 28 Feb 2020 00:46:52 +0000 (16:46 -0800)
committerMarge Bot <eric+marge@anholt.net>
Mon, 9 Mar 2020 04:44:11 +0000 (04:44 +0000)
Same as commit c20dc9b8363b (intel/fs: Make implied_mrf_writes() an
fs_inst method.)

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4093>

src/intel/compiler/brw_ir_vec4.h
src/intel/compiler/brw_schedule_instructions.cpp
src/intel/compiler/brw_vec4.cpp
src/intel/compiler/brw_vec4.h

index 65b1e4f3b53506ec39762783065b288efee42c45..f2361133c16749e47133eb984489e1c3e286b8c0 100644 (file)
@@ -295,6 +295,7 @@ public:
    bool can_do_writemask(const struct gen_device_info *devinfo);
    bool can_change_types() const;
    bool has_source_and_destination_hazard() const;
+   unsigned implied_mrf_writes() const;
 
    bool is_align1_partial_write()
    {
index 709237fab57e954e2f6879c9bb89f944711c4484..f10e58cd75d9b326f0bd4c28b177e1930655c0e3 100644 (file)
@@ -1418,7 +1418,7 @@ vec4_instruction_scheduler::calculate_deps()
       }
 
       if (inst->mlen > 0 && !inst->is_send_from_grf()) {
-         for (int i = 0; i < v->implied_mrf_writes(inst); i++) {
+         for (unsigned i = 0; i < inst->implied_mrf_writes(); i++) {
             add_dep(last_mrf_write[inst->base_mrf + i], n);
             last_mrf_write[inst->base_mrf + i] = n;
          }
@@ -1495,7 +1495,7 @@ vec4_instruction_scheduler::calculate_deps()
       }
 
       if (inst->mlen > 0 && !inst->is_send_from_grf()) {
-         for (int i = 0; i < v->implied_mrf_writes(inst); i++) {
+         for (unsigned i = 0; i < inst->implied_mrf_writes(); i++) {
             last_mrf_write[inst->base_mrf + i] = n;
          }
       }
index dad53edc56c1145aa762bc20052170dc25226548..bb0b98316fb0fe501a86f74a8b7f7dd98e7d9d06 100644 (file)
@@ -326,13 +326,13 @@ vec4_instruction::can_change_types() const
  * instruction -- the generate_* functions generate additional MOVs
  * for setup.
  */
-int
-vec4_visitor::implied_mrf_writes(vec4_instruction *inst)
+unsigned
+vec4_instruction::implied_mrf_writes() const
 {
-   if (inst->mlen == 0 || inst->is_send_from_grf())
+   if (mlen == 0 || is_send_from_grf())
       return 0;
 
-   switch (inst->opcode) {
+   switch (opcode) {
    case SHADER_OPCODE_RCP:
    case SHADER_OPCODE_RSQ:
    case SHADER_OPCODE_SQRT:
@@ -376,7 +376,7 @@ vec4_visitor::implied_mrf_writes(vec4_instruction *inst)
    case SHADER_OPCODE_TG4_OFFSET:
    case SHADER_OPCODE_SAMPLEINFO:
    case SHADER_OPCODE_GET_BUFFER_SIZE:
-      return inst->header_size;
+      return header_size;
    default:
       unreachable("not reached");
    }
index 2d5ec655486da0f860ab5d50268f2a3c89fd4d61..338bdfa531f6aa47af6715aac8673f07005bec6c 100644 (file)
@@ -224,8 +224,6 @@ public:
 #undef EMIT2
 #undef EMIT3
 
-   int implied_mrf_writes(vec4_instruction *inst);
-
    vec4_instruction *emit_minmax(enum brw_conditional_mod conditionalmod, dst_reg dst,
                                  src_reg src0, src_reg src1);