[clang] [llvm] [SPIR-V] Map SPIR-V friendly work-item function to built-in variables (PR #148567)
Victor Lomuller via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 16 06:55:43 PDT 2025
================
@@ -1,17 +1,109 @@
; RUN: llc -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV
; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}
-; CHECK-SPIRV-DAG: OpDecorate %[[#Id:]] BuiltIn GlobalInvocationId
-; CHECK-SPIRV-DAG: OpDecorate %[[#Id:]] BuiltIn GlobalLinearId
-; CHECK-SPIRV: %[[#Id:]] = OpVariable %[[#]]
-; CHECK-SPIRV: %[[#Id:]] = OpVariable %[[#]]
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id0:]] BuiltIn GlobalLinearId
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id1:]] BuiltIn GlobalInvocationId
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id2:]] BuiltIn LocalInvocationIndex
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id3:]] BuiltIn WorkDim
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id4:]] BuiltIn SubgroupSize
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id5:]] BuiltIn SubgroupMaxSize
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id6:]] BuiltIn NumSubgroups
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id7:]] BuiltIn NumEnqueuedSubgroups
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id8:]] BuiltIn SubgroupId
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id9:]] BuiltIn SubgroupLocalInvocationId
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id10:]] BuiltIn SubgroupEqMask
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id11:]] BuiltIn SubgroupGeMask
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id12:]] BuiltIn SubgroupGtMask
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id13:]] BuiltIn SubgroupLeMask
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id14:]] BuiltIn SubgroupLtMask
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id15:]] BuiltIn LocalInvocationId
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id16:]] BuiltIn WorkgroupSize
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id17:]] BuiltIn GlobalSize
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id18:]] BuiltIn WorkgroupId
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id19:]] BuiltIn EnqueuedWorkgroupSize
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id20:]] BuiltIn NumWorkgroups
+; CHECK-SPIRV-DAG: OpDecorate %[[#Id21:]] BuiltIn GlobalOffset
+
+; CHECK-SPIRV: %[[#Id0:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id1:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id2:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id3:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id4:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id5:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id6:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id7:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id8:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id9:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id10:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id11:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id12:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id13:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id14:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id15:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id16:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id17:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id18:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id19:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id20:]] = OpVariable %[[#]]
+; CHECK-SPIRV: %[[#Id21:]] = OpVariable %[[#]]
----------------
Naghasan wrote:
Can you check the SC please
https://github.com/llvm/llvm-project/pull/148567
More information about the llvm-commits
mailing list