intel/compiler: Move register pressure calculation into IR analysis object
This defines a new BRW_ANALYSIS object which wraps the register pressure computation code along with its result. For the rationale see the previous commits converting the liveness and dominance analysis passes to the IR analysis framework. 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
f6cdf66cd6
commit
e5e4d016b9
@@ -886,7 +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),
|
||||
live_analysis(this), regpressure_analysis(this),
|
||||
dispatch_width(dispatch_width),
|
||||
shader_time_index(shader_time_index),
|
||||
bld(fs_builder(this, dispatch_width).at_end())
|
||||
@@ -904,7 +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),
|
||||
live_analysis(this), regpressure_analysis(this),
|
||||
dispatch_width(8),
|
||||
shader_time_index(shader_time_index),
|
||||
bld(fs_builder(this, dispatch_width).at_end())
|
||||
@@ -935,8 +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->regs_live_at_ip = NULL;
|
||||
|
||||
this->uniforms = 0;
|
||||
this->last_scratch = 0;
|
||||
this->pull_constant_loc = NULL;
|
||||
|
Reference in New Issue
Block a user