intel/compiler: Pass single backend_shader argument to the fs_live_variables constructor

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>
This commit is contained in:
Francisco Jerez
2016-03-13 16:41:23 -07:00
committed by Matt Turner
parent d7e84cbb0f
commit d0433971f9
2 changed files with 10 additions and 11 deletions

View 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 */ /* Set def[] for this instruction */
if (inst->dst.file == VGRF) { 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) fs_live_variables::fs_live_variables(const backend_shader *s)
: v(v), cfg(cfg) : devinfo(s->devinfo), cfg(s->cfg)
{ {
mem_ctx = ralloc_context(NULL); mem_ctx = ralloc_context(NULL);
num_vgrfs = v->alloc.count; num_vgrfs = s->alloc.count;
num_vars = 0; num_vars = 0;
var_from_vgrf = rzalloc_array(mem_ctx, int, num_vgrfs); var_from_vgrf = rzalloc_array(mem_ctx, int, num_vgrfs);
for (int i = 0; i < num_vgrfs; i++) { for (int i = 0; i < num_vgrfs; i++) {
var_from_vgrf[i] = num_vars; 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); vgrf_from_var = rzalloc_array(mem_ctx, int, num_vars);
for (int i = 0; i < num_vgrfs; i++) { 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; vgrf_from_var[var_from_vgrf[i] + j] = i;
} }
} }
@@ -342,7 +342,7 @@ fs_visitor::calculate_live_intervals()
if (this->live_intervals) if (this->live_intervals)
return; return;
this->live_intervals = new(mem_ctx) fs_live_variables(this, cfg); this->live_intervals = new(mem_ctx) fs_live_variables(this);
} }
bool bool

View File

@@ -32,7 +32,7 @@
#include "util/bitset.h" #include "util/bitset.h"
struct cfg_t; struct cfg_t;
class fs_visitor; struct backend_shader;
namespace brw { namespace brw {
@@ -78,7 +78,7 @@ public:
DECLARE_RALLOC_CXX_OPERATORS(fs_live_variables) 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(); ~fs_live_variables();
bool vars_interfere(int a, int b) const; bool vars_interfere(int a, int b) const;
@@ -130,10 +130,9 @@ protected:
void compute_live_variables(); void compute_live_variables();
void compute_start_end(); void compute_start_end();
fs_visitor *v; const struct gen_device_info *devinfo;
const cfg_t *cfg; const cfg_t *cfg;
void *mem_ctx; void *mem_ctx;
}; };
} /* namespace brw */ } /* namespace brw */