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
@@ -28,6 +28,7 @@
|
||||
#ifndef BRW_FS_LIVE_VARIABLES_H
|
||||
#define BRW_FS_LIVE_VARIABLES_H
|
||||
|
||||
#include "brw_ir_analysis.h"
|
||||
#include "brw_ir_fs.h"
|
||||
#include "util/bitset.h"
|
||||
|
||||
@@ -76,13 +77,19 @@ public:
|
||||
BITSET_WORD flag_liveout[1];
|
||||
};
|
||||
|
||||
DECLARE_RALLOC_CXX_OPERATORS(fs_live_variables)
|
||||
|
||||
fs_live_variables(const backend_shader *s);
|
||||
~fs_live_variables();
|
||||
|
||||
bool validate(const backend_shader *s) const;
|
||||
|
||||
analysis_dependency_class
|
||||
dependency_class() const
|
||||
{
|
||||
return (DEPENDENCY_INSTRUCTION_IDENTITY |
|
||||
DEPENDENCY_INSTRUCTION_DATA_FLOW |
|
||||
DEPENDENCY_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
|
||||
|
Reference in New Issue
Block a user