| ; RUN: llc -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV | |
| define void @test_switch_with_unreachable_block(i1 %a) { | |
| %value = zext i1 %a to i32 | |
| ; CHECK-SPIRV: OpSwitch %[[#]] %[[#REACHABLE:]] | |
| switch i32 %value, label %unreachable [ | |
| i32 0, label %reachable | |
| i32 1, label %reachable | |
| ] | |
| ; CHECK-SPIRV-NEXT: %[[#REACHABLE]] = OpLabel | |
| reachable: | |
| ; CHECK-SPIRV-NEXT: OpReturn | |
| ret void | |
| ; CHECK-SPIRV: %[[#]] = OpLabel | |
| ; CHECK-SPIRV-NEXT: OpUnreachable | |
| unreachable: | |
| unreachable | |
| } |