nir/liveness: Consider if uses in nir_ssa_defs_interfere
Fixes: f86902e75d
"nir: Add an SSA-based liveness analysis pass"
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3428
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Yevhenii Kharchenko <yevhenii.kharchenko@globallogic.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6824>
This commit is contained in:

committed by
Marge Bot

parent
dcba32bac0
commit
0206fb3941
@@ -250,6 +250,15 @@ search_for_use_after_instr(nir_instr *start, nir_ssa_def *def)
|
||||
return true;
|
||||
node = node->next;
|
||||
}
|
||||
|
||||
/* If uses are considered to be in the block immediately preceding the if
|
||||
* so we need to also check the following if condition, if any.
|
||||
*/
|
||||
nir_if *following_if = nir_block_get_following_if(start->block);
|
||||
if (following_if && following_if->condition.is_ssa &&
|
||||
following_if->condition.ssa == def)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user