[Frontend] Remove unused includes (NFC) (#116927)
[llvm-project.git] / llvm / test / CodeGen / SPIRV / branching / OpSwitchUnreachable.ll
blob6bf58d1c86fd52566e2283648f7b1be407d5d0c0
1 ; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV
2 ; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
4 ; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV
5 ; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}
7 define void @test_switch_with_unreachable_block(i1 %a) {
8   %value = zext i1 %a to i32
9 ; CHECK-SPIRV:      OpSwitch %[[#]] %[[#UNREACHABLE:]] 0 %[[#REACHABLE:]] 1 %[[#REACHABLE:]]
10   switch i32 %value, label %unreachable [
11     i32 0, label %reachable
12     i32 1, label %reachable
13   ]
15 ; CHECK-SPIRV:      %[[#UNREACHABLE]] = OpLabel
16 ; CHECK-SPIRV-NEXT: OpUnreachable
18 ; CHECK-SPIRV-NEXT: %[[#REACHABLE]] = OpLabel
19 reachable:
20 ; CHECK-SPIRV-NEXT: OpReturn
21   ret void
23 unreachable:
24   unreachable