aco: fix fall-through test in try_remove_simple_block() with back-edges
authorRhys Perry <pendingchaos02@gmail.com>
Fri, 17 Jan 2020 20:08:34 +0000 (20:08 +0000)
committerMarge Bot <eric+marge@anholt.net>
Mon, 20 Jan 2020 11:51:45 +0000 (11:51 +0000)
commit29bfe18abd664b2f643b8f08b50885d0507b2d62
tree21963d57aa7e7b3452871e5f052c80ab2f368334
parentafb75e71e0dfc65523c850d186ceeec92a584cdf
aco: fix fall-through test in try_remove_simple_block() with back-edges

3bca0af2 enhanced empty block determination which exposed this bug and
created an infinite loop in a Guild Wars 2 shader.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Fixes: 3bca0af25dbf6d6b162463138100abb20bc1a1cc
     ('aco: ignore parallelcopies to the same register on jump threading')

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2364
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3452>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3452>
src/amd/compiler/aco_ssa_elimination.cpp