intel/compiler: Pass single backend_shader argument to the fs_live_variables constructor
authorFrancisco Jerez <currojerez@riseup.net>
Sun, 13 Mar 2016 23:41:23 +0000 (16:41 -0700)
committerMatt Turner <mattst88@gmail.com>
Fri, 6 Mar 2020 18:20:49 +0000 (10:20 -0800)
This removes the dependency of fs_live_variables on fs_visitor.  The
IR analysis framework requires the analysis result to be constructible
with a single argument -- The second argument was redundant anyway.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4012>

src/intel/compiler/brw_fs_live_variables.cpp
src/intel/compiler/brw_fs_live_variables.h

index 1befc5a8429406c1ca3761fb6fba172d335f0831..8554296f230bab86db756bf2e5a3ea882b1627f4 100644 (file)
@@ -126,7 +126,7 @@ fs_live_variables::setup_def_use()
             }
         }
 
-         bd->flag_use[0] |= inst->flags_read(v->devinfo) & ~bd->flag_def[0];
+         bd->flag_use[0] |= inst->flags_read(devinfo) & ~bd->flag_def[0];
 
          /* Set def[] for this instruction */
          if (inst->dst.file == VGRF) {
@@ -255,22 +255,22 @@ fs_live_variables::compute_start_end()
    }
 }
 
-fs_live_variables::fs_live_variables(fs_visitor *v, const cfg_t *cfg)
-   : v(v), cfg(cfg)
+fs_live_variables::fs_live_variables(const backend_shader *s)
+   : devinfo(s->devinfo), cfg(s->cfg)
 {
    mem_ctx = ralloc_context(NULL);
 
-   num_vgrfs = v->alloc.count;
+   num_vgrfs = s->alloc.count;
    num_vars = 0;
    var_from_vgrf = rzalloc_array(mem_ctx, int, num_vgrfs);
    for (int i = 0; i < num_vgrfs; i++) {
       var_from_vgrf[i] = num_vars;
-      num_vars += v->alloc.sizes[i];
+      num_vars += s->alloc.sizes[i];
    }
 
    vgrf_from_var = rzalloc_array(mem_ctx, int, num_vars);
    for (int i = 0; i < num_vgrfs; i++) {
-      for (unsigned j = 0; j < v->alloc.sizes[i]; j++) {
+      for (unsigned j = 0; j < s->alloc.sizes[i]; j++) {
          vgrf_from_var[var_from_vgrf[i] + j] = i;
       }
    }
@@ -342,7 +342,7 @@ fs_visitor::calculate_live_intervals()
    if (this->live_intervals)
       return;
 
-   this->live_intervals = new(mem_ctx) fs_live_variables(this, cfg);
+   this->live_intervals = new(mem_ctx) fs_live_variables(this);
 }
 
 bool
index 655245cd74a8c95e22174f52d5e192227d998ee3..9d59620aed5da90227266cb89de4922e483f9b7a 100644 (file)
@@ -32,7 +32,7 @@
 #include "util/bitset.h"
 
 struct cfg_t;
-class fs_visitor;
+struct backend_shader;
 
 namespace brw {
 
@@ -78,7 +78,7 @@ public:
 
    DECLARE_RALLOC_CXX_OPERATORS(fs_live_variables)
 
-   fs_live_variables(fs_visitor *v, const cfg_t *cfg);
+   fs_live_variables(const backend_shader *s);
    ~fs_live_variables();
 
    bool vars_interfere(int a, int b) const;
@@ -130,10 +130,9 @@ protected:
    void compute_live_variables();
    void compute_start_end();
 
-   fs_visitor *v;
+   const struct gen_device_info *devinfo;
    const cfg_t *cfg;
    void *mem_ctx;
-
 };
 
 } /* namespace brw */