intel/fs/ra: Store the last non-spill VGRF node
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7084>
This commit is contained in:
parent
2af6528c33
commit
d80d0a6ced
|
@ -434,6 +434,7 @@ public:
|
||||||
first_mrf_hack_node = 0;
|
first_mrf_hack_node = 0;
|
||||||
grf127_send_hack_node = 0;
|
grf127_send_hack_node = 0;
|
||||||
first_vgrf_node = 0;
|
first_vgrf_node = 0;
|
||||||
|
last_vgrf_node = 0;
|
||||||
first_spill_node = 0;
|
first_spill_node = 0;
|
||||||
|
|
||||||
spill_vgrf_ip = NULL;
|
spill_vgrf_ip = NULL;
|
||||||
|
@ -481,6 +482,7 @@ private:
|
||||||
int first_mrf_hack_node;
|
int first_mrf_hack_node;
|
||||||
int grf127_send_hack_node;
|
int grf127_send_hack_node;
|
||||||
int first_vgrf_node;
|
int first_vgrf_node;
|
||||||
|
int last_vgrf_node;
|
||||||
int first_spill_node;
|
int first_spill_node;
|
||||||
|
|
||||||
int *spill_vgrf_ip;
|
int *spill_vgrf_ip;
|
||||||
|
@ -597,7 +599,7 @@ fs_reg_alloc::setup_live_interference(unsigned node,
|
||||||
* of interference will take care of the rest.
|
* of interference will take care of the rest.
|
||||||
*/
|
*/
|
||||||
for (unsigned n2 = first_vgrf_node;
|
for (unsigned n2 = first_vgrf_node;
|
||||||
n2 < (unsigned)first_spill_node && n2 < node; n2++) {
|
n2 <= (unsigned)last_vgrf_node && n2 < node; n2++) {
|
||||||
unsigned vgrf = n2 - first_vgrf_node;
|
unsigned vgrf = n2 - first_vgrf_node;
|
||||||
if (!(node_end_ip <= live.vgrf_start[vgrf] ||
|
if (!(node_end_ip <= live.vgrf_start[vgrf] ||
|
||||||
live.vgrf_end[vgrf] <= node_start_ip))
|
live.vgrf_end[vgrf] <= node_start_ip))
|
||||||
|
@ -744,6 +746,7 @@ fs_reg_alloc::build_interference_graph(bool allow_spilling)
|
||||||
}
|
}
|
||||||
first_vgrf_node = node_count;
|
first_vgrf_node = node_count;
|
||||||
node_count += fs->alloc.count;
|
node_count += fs->alloc.count;
|
||||||
|
last_vgrf_node = node_count - 1;
|
||||||
first_spill_node = node_count;
|
first_spill_node = node_count;
|
||||||
|
|
||||||
fs->calculate_payload_ranges(payload_node_count,
|
fs->calculate_payload_ranges(payload_node_count,
|
||||||
|
|
Loading…
Reference in New Issue