microsoft/spirv_to_dxil: Fix discard to demote + return pass
While SPIR-V's OpKill is block terminating, the converted discard intrinsic is not block terminating. This can lead to issues where instruction could be placed after discard.
This patch adds an extra pass that drops all instructions after discard before we convert discards.