nir: move ALU instruction before the jump instruction
authorJuan A. Suarez Romero <jasuarez@igalia.com>
Tue, 12 Feb 2019 08:54:43 +0000 (08:54 +0000)
committerJuan A. Suarez Romero <jasuarez@igalia.com>
Fri, 15 Feb 2019 14:14:36 +0000 (15:14 +0100)
commit69be9934a780eadc7c0b64465fae8431eb979dae
tree6f3b73dca9c3a1474a45186aaa5d5b0bc86f7f00
parenta43596df624678c39bc7108a04c8d1afc74663b0
nir: move ALU instruction before the jump instruction

opt_split_alu_of_phi moves ALU instruction to the end of continue block.

But if the continue block ends with a jump instruction (an explicit
"continue" instruction) then the ALU must be inserted before the jump,
as it is illegal to add instructions after the jump.

CC: Ian Romanick <ian.d.romanick@intel.com>
Fixes: 0881e90c099 ("nir: Split ALU instructions in loops that read phis")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/compiler/nir/nir_opt_if.c