intel/compiler: Add cfg_t::adjust_block_ips() method

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11632>
This commit is contained in:
Ian Romanick 2021-07-01 10:24:01 -07:00
parent 8206b04d43
commit 8ca1bc5f94
1 changed files with 21 additions and 0 deletions

View File

@ -324,6 +324,12 @@ struct cfg_t {
void dump();
void dump_cfg();
/**
* Propagate bblock_t::end_ip_delta data through the CFG.
*/
inline void adjust_block_ips();
#endif
const struct backend_shader *s;
void *mem_ctx;
@ -437,6 +443,21 @@ cfg_t::last_block() const
__scan_inst = (__type *)__scan_inst->prev)
#ifdef __cplusplus
inline void
cfg_t::adjust_block_ips()
{
int delta = 0;
foreach_block(block, this) {
block->start_ip += delta;
block->end_ip += delta;
delta += block->end_ip_delta;
block->end_ip_delta = 0;
}
}
namespace brw {
/**
* Immediate dominator tree analysis of a shader.