intel/compiler/fs: Switch liveness analysis to IR analysis framework
This involves wrapping fs_live_variables in a BRW_ANALYSIS object and hooking it up to invalidate_analysis() so it's properly invalidated. Seems like a lot of churn but it's fairly straightforward. The fs_visitor invalidate_ and calculate_live_intervals() methods are no longer necessary after this change. Reviewed-by: Matt Turner <mattst88@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4012>
This commit is contained in:

committed by
Matt Turner

parent
bb8cfa6837
commit
ea44de6d8c
@@ -886,6 +886,7 @@ fs_visitor::fs_visitor(const struct brw_compiler *compiler, void *log_data,
|
||||
: backend_shader(compiler, log_data, mem_ctx, shader, prog_data),
|
||||
key(key), gs_compile(NULL), prog_data(prog_data),
|
||||
input_vue_map(input_vue_map),
|
||||
live_analysis(this),
|
||||
dispatch_width(dispatch_width),
|
||||
shader_time_index(shader_time_index),
|
||||
bld(fs_builder(this, dispatch_width).at_end())
|
||||
@@ -903,6 +904,7 @@ fs_visitor::fs_visitor(const struct brw_compiler *compiler, void *log_data,
|
||||
&prog_data->base.base),
|
||||
key(&c->key.base), gs_compile(c),
|
||||
prog_data(&prog_data->base.base),
|
||||
live_analysis(this),
|
||||
dispatch_width(8),
|
||||
shader_time_index(shader_time_index),
|
||||
bld(fs_builder(this, dispatch_width).at_end())
|
||||
@@ -933,7 +935,6 @@ fs_visitor::init()
|
||||
this->first_non_payload_grf = 0;
|
||||
this->max_grf = devinfo->gen >= 7 ? GEN7_MRF_HACK_START : BRW_MAX_GRF;
|
||||
|
||||
this->live_intervals = NULL;
|
||||
this->regs_live_at_ip = NULL;
|
||||
|
||||
this->uniforms = 0;
|
||||
|
Reference in New Issue
Block a user