summaryrefslogtreecommitdiffstats
path: root/src/mesa/program/prog_optimize.c
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2016-08-31 14:45:08 -0700
committerJason Ekstrand <jason.ekstrand@intel.com>2016-09-02 11:24:09 -0700
commitaad4f15506c2b5ff9f3304a467b51b45dd77554d (patch)
tree9708c093a41fb2d794afdd52bdbb89d5e7f7f57e /src/mesa/program/prog_optimize.c
parent9a4d76e534920a54c28092311ab6da90c6d7b8d3 (diff)
downloadexternal_mesa3d-aad4f15506c2b5ff9f3304a467b51b45dd77554d.zip
external_mesa3d-aad4f15506c2b5ff9f3304a467b51b45dd77554d.tar.gz
external_mesa3d-aad4f15506c2b5ff9f3304a467b51b45dd77554d.tar.bz2
nir: Remove fake edges in the CF handling code
When NIR was first introduced, Connor added this fake-edge hack to work around issues related to unreachable blocks. Thanks to GLSL IR's jump lowering code, the only unreachable code you can have is a block after an infinite loop. With SPIR-V, we didn't have the jump lowering code so we could also end up with the "if (...) { break; } else { continue; }" case which generates an unreachable block after the if. Because of this, most of NIR had to be fixed up for handling unreachable blocks. The only remaining case of not handling unreachable blocks was specifically the block-after-infinite-loop case in dead_cf which was fixed by the previous commit. We can now delete the fake edge hack. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Diffstat (limited to 'src/mesa/program/prog_optimize.c')
0 files changed, 0 insertions, 0 deletions