| ; RUN: llc -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s | |
| ; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %} | |
| ; CHECK: OpMemoryModel | |
| ; CHECK-DAG: OpEntryPoint Kernel %[[#ENTRY1:]] "foo1" | |
| ; CHECK-DAG: OpEntryPoint Kernel %[[#ENTRY4:]] "foo4" | |
| ; CHECK-NOT: OpSource | |
| ; CHECK-DAG: OpExecutionMode %[[#ENTRY1]] {{[a-zA-Z]+}} | |
| ; CHECK-DAG: OpExecutionMode %[[#ENTRY4]] {{[a-zA-Z]+}} | |
| ; CHECK: OpSource | |
| ; RUN: llc -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECKN | |
| ; CHECKN: OpMemoryModel | |
| ; CHECKN-COUNT-2: OpEntryPoint Kernel | |
| ; CHECKN-NOT: OpEntryPoint Kernel | |
| ; CHECKN-COUNT-2: OpExecutionMode | |
| ; CHECKN-NOT: OpExecutionMode | |
| ; CHECKN: OpSource | |
| define spir_kernel void @foo1() { | |
| entry: | |
| ret void | |
| } | |
| define void @foo2() { | |
| entry: | |
| ret void | |
| } | |
| define dso_local spir_func void @foo3() { | |
| entry: | |
| ret void | |
| } | |
| define spir_kernel void @foo4() { | |
| entry: | |
| ret void | |
| } |