intel/compiler: Move all live interval analysis results into fs_live_variables
This moves the following methods that are currently defined in fs_visitor (even though they are side products of the liveness analysis computation) and are already implemented in brw_fs_live_variables.cpp: > 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 fs_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. This shortens the virtual_grf prefix in order to compensate for the slightly increased lexical overhead from the live_intervals pointer dereference. 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
3ceb496cdf
commit
ba73e606f6
@@ -82,6 +82,7 @@ public:
|
||||
~fs_live_variables();
|
||||
|
||||
bool vars_interfere(int a, int b) const;
|
||||
bool vgrfs_interfere(int a, int b) const;
|
||||
int var_from_reg(const fs_reg ®) const
|
||||
{
|
||||
return var_from_vgrf[reg.nr] + reg.offset / REG_SIZE;
|
||||
@@ -110,6 +111,13 @@ public:
|
||||
int *end;
|
||||
/** @} */
|
||||
|
||||
/** @{
|
||||
* Final computed live ranges for each VGRF.
|
||||
*/
|
||||
int *vgrf_start;
|
||||
int *vgrf_end;
|
||||
/** @} */
|
||||
|
||||
/** Per-basic-block information on live variables */
|
||||
struct block_data *block_data;
|
||||
|
||||
|
Reference in New Issue
Block a user