Handle execution termination instructions when building edges.
authorDiego Novillo <dnovillo@google.com>
Wed, 3 Jan 2018 20:25:03 +0000 (15:25 -0500)
committerDiego Novillo <dnovillo@google.com>
Wed, 3 Jan 2018 20:25:03 +0000 (15:25 -0500)
commit5f100789fb8dc220626996ad8afb160ccb602691
tree0db2732f529075c263a731dd0451f271cec6bfeb
parent135150a1a85e5b516a7ec299ba3b8f8513f2bc0b
Handle execution termination instructions when building edges.

This fixes issue https://github.com/KhronosGroup/SPIRV-Tools/issues/1153.

When building CFG edges, edges out of a OpKill and OpUnreachable
instruction should be directed to the CFG's pseudo exit block.
source/opcode.cpp
source/opcode.h
source/opt/basic_block.h
source/opt/instruction.h
source/opt/propagator.cpp
test/opt/ccp_test.cpp