xref: /llvm-project/llvm/test/CodeGen/SPIRV/builtin_vars-decorate.ll (revision f61eb416238fd581c3823a0d372febaed4e27f26)
1; RUN: llc -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s
2
3; CHECK: OpName %[[#WD:]] "__spirv_BuiltInWorkDim"
4; CHECK: OpName %[[#GS:]] "__spirv_BuiltInGlobalSize"
5; CHECK: OpName %[[#GII:]] "__spirv_BuiltInGlobalInvocationId"
6; CHECK: OpName %[[#WS:]] "__spirv_BuiltInWorkgroupSize"
7; CHECK: OpName %[[#EWS:]] "__spirv_BuiltInEnqueuedWorkgroupSize"
8; CHECK: OpName %[[#LLI:]] "__spirv_BuiltInLocalInvocationId"
9; CHECK: OpName %[[#NW:]] "__spirv_BuiltInNumWorkgroups"
10; CHECK: OpName %[[#WI:]] "__spirv_BuiltInWorkgroupId"
11; CHECK: OpName %[[#GO:]] "__spirv_BuiltInGlobalOffset"
12; CHECK: OpName %[[#GLI:]] "__spirv_BuiltInGlobalLinearId"
13; CHECK: OpName %[[#LLII:]] "__spirv_BuiltInLocalInvocationIndex"
14; CHECK: OpName %[[#SS:]] "__spirv_BuiltInSubgroupSize"
15; CHECK: OpName %[[#SMS:]] "__spirv_BuiltInSubgroupMaxSize"
16; CHECK: OpName %[[#NS:]] "__spirv_BuiltInNumSubgroups"
17; CHECK: OpName %[[#NES:]] "__spirv_BuiltInNumEnqueuedSubgroups"
18; CHECK: OpName %[[#SI:]] "__spirv_BuiltInSubgroupId"
19; CHECK: OpName %[[#SLII:]] "__spirv_BuiltInSubgroupLocalInvocationId"
20
21; CHECK-DAG: OpDecorate %[[#NW]] BuiltIn NumWorkgroups
22; CHECK-DAG: OpDecorate %[[#WS]] BuiltIn WorkgroupSize
23; CHECK-DAG: OpDecorate %[[#WI]] BuiltIn WorkgroupId
24; CHECK-DAG: OpDecorate %[[#LLI]] BuiltIn LocalInvocationId
25; CHECK-DAG: OpDecorate %[[#GII]] BuiltIn GlobalInvocationId
26; CHECK-DAG: OpDecorate %[[#LLII]] BuiltIn LocalInvocationIndex
27; CHECK-DAG: OpDecorate %[[#WD]] BuiltIn WorkDim
28; CHECK-DAG: OpDecorate %[[#GS]] BuiltIn GlobalSize
29; CHECK-DAG: OpDecorate %[[#EWS]] BuiltIn EnqueuedWorkgroupSize
30; CHECK-DAG: OpDecorate %[[#GO]] BuiltIn GlobalOffset
31; CHECK-DAG: OpDecorate %[[#GLI]] BuiltIn GlobalLinearId
32; CHECK-DAG: OpDecorate %[[#SS]] BuiltIn SubgroupSize
33; CHECK-DAG: OpDecorate %[[#SMS]] BuiltIn SubgroupMaxSize
34; CHECK-DAG: OpDecorate %[[#NS]] BuiltIn NumSubgroups
35; CHECK-DAG: OpDecorate %[[#NES]] BuiltIn NumEnqueuedSubgroups
36; CHECK-DAG: OpDecorate %[[#SI]] BuiltIn SubgroupId
37; CHECK-DAG: OpDecorate %[[#SLII]] BuiltIn SubgroupLocalInvocationId
38@__spirv_BuiltInWorkDim = external addrspace(1) global i32
39@__spirv_BuiltInGlobalSize = external addrspace(1) global <3 x i32>
40@__spirv_BuiltInGlobalInvocationId = external addrspace(1) global <3 x i32>
41@__spirv_BuiltInWorkgroupSize = external addrspace(1) global <3 x i32>
42@__spirv_BuiltInEnqueuedWorkgroupSize = external addrspace(1) global <3 x i32>
43@__spirv_BuiltInLocalInvocationId = external addrspace(1) global <3 x i32>
44@__spirv_BuiltInNumWorkgroups = external addrspace(1) global <3 x i32>
45@__spirv_BuiltInWorkgroupId = external addrspace(1) global <3 x i32>
46@__spirv_BuiltInGlobalOffset = external addrspace(1) global <3 x i32>
47@__spirv_BuiltInGlobalLinearId = external addrspace(1) global i32
48@__spirv_BuiltInLocalInvocationIndex = external addrspace(1) global i32
49@__spirv_BuiltInSubgroupSize = external addrspace(1) global i32
50@__spirv_BuiltInSubgroupMaxSize = external addrspace(1) global i32
51@__spirv_BuiltInNumSubgroups = external addrspace(1) global i32
52@__spirv_BuiltInNumEnqueuedSubgroups = external addrspace(1) global i32
53@__spirv_BuiltInSubgroupId = external addrspace(1) global i32
54@__spirv_BuiltInSubgroupLocalInvocationId = external addrspace(1) global i32
55
56define spir_kernel void @_Z1wv() {
57entry:
58  ret void
59}
60