mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
i965/fs: Give up in interference check if we see a WHILE.
Rather than any old control flow. Muchnick's algorithm just checks for interfering writes between the MOV and the end of the program. Handling this when you have backward branches is hard, so don't, but there's no reason to bail if you see forward branches. instructions in affected programs: 4270 -> 4248 (-0.52%) Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
5ff1e446d4
commit
55de1c035c
1 changed files with 1 additions and 1 deletions
|
|
@ -102,7 +102,7 @@ can_coalesce_vars(brw::fs_live_variables *live_intervals,
|
|||
for (scan_inst = (fs_inst *)inst->next;
|
||||
!scan_inst->is_tail_sentinel() && ip <= live_intervals->end[var_to];
|
||||
scan_inst = (fs_inst *)scan_inst->next, ip++) {
|
||||
if (scan_inst->is_control_flow())
|
||||
if (scan_inst->opcode == BRW_OPCODE_WHILE)
|
||||
return false;
|
||||
|
||||
if (scan_inst->dst.equals(inst->dst) ||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue