diff options
author | Francisco Jerez <[email protected]> | 2016-03-09 17:47:17 -0800 |
---|---|---|
committer | Matt Turner <[email protected]> | 2020-03-06 10:20:44 -0800 |
commit | 48dfb30f9231c22a6af6885dbc9ef86dc2edde1e (patch) | |
tree | 45787a55392a075ff6f430d4365ef78596c99bbe /src/intel/compiler/brw_vec4.h | |
parent | ba73e606f63a4633fa9d8bef69f87b2d88851416 (diff) |
intel/compiler: Move all live interval analysis results into vec4_live_variables
This moves the following methods that are currently defined in
vec4_visitor (even though they are side products of the liveness
analysis computation) and are already implemented in
brw_vec4_live_variables.cpp:
> int var_range_start(unsigned v, unsigned n) const;
> int var_range_end(unsigned v, unsigned n) const;
> bool virtual_grf_interferes(int a, int b) const;
> int *virtual_grf_start;
> int *virtual_grf_end;
It makes sense for them to be part of the vec4_live_variables object,
because they have the same lifetime as other liveness analysis results
and because this will allow some extra validation to happen wherever
they are accessed in order to make sure that we only ever use
up-to-date liveness analysis results.
The naming of the virtual_grf_start/end arrays was rather misleading,
they were indexed by variable rather than by vgrf, this renames them
start/end to match the FS liveness analysis pass. The churn in the
definition of var_range_start/end is just in order to avoid a
collision between the start/end arrays and local variables declared
with the same name.
Reviewed-by: Matt Turner <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4012>
Diffstat (limited to 'src/intel/compiler/brw_vec4.h')
-rw-r--r-- | src/intel/compiler/brw_vec4.h | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/src/intel/compiler/brw_vec4.h b/src/intel/compiler/brw_vec4.h index 606c31da833..b5d3fb1b0cd 100644 --- a/src/intel/compiler/brw_vec4.h +++ b/src/intel/compiler/brw_vec4.h @@ -105,8 +105,6 @@ public: int first_non_payload_grf; unsigned int max_grf; - int *virtual_grf_start; - int *virtual_grf_end; brw::vec4_live_variables *live_intervals; bool need_all_constants_in_pull_buffer; @@ -143,9 +141,6 @@ public: bool opt_vector_float(); bool opt_reduce_swizzle(); bool dead_code_eliminate(); - int var_range_start(unsigned v, unsigned n) const; - int var_range_end(unsigned v, unsigned n) const; - bool virtual_grf_interferes(int a, int b) const; bool opt_cmod_propagation(); bool opt_copy_propagation(bool do_constant_prop = true); bool opt_cse_local(bblock_t *block); |