aco: handle when ACO adds new continue edges
authorRhys Perry <pendingchaos02@gmail.com>
Fri, 31 Jan 2020 13:56:26 +0000 (13:56 +0000)
committerMarge Bot <eric+marge@anholt.net>
Mon, 23 Mar 2020 15:55:12 +0000 (15:55 +0000)
commit638cbc21a1c01c87f620edc820e913e48aba2287
tree62a0aacefad225d1288441b5bae8f9c956d23c48
parentf2c4878de9f2acfd7b23ed2deea1af094b781c7d
aco: handle when ACO adds new continue edges

Usually a loop ends with a uniform continue. If it doesn't and we end up
adding our own continue edges (because of continue_or_break or divergent
breaks at the end), we have to add extra operands to the loop header phis.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3658>
src/amd/compiler/aco_instruction_selection.cpp
src/amd/compiler/aco_ir.h