blob: f0acfdfdede9ddbf3c6f4ee6d2cdf78396350870 [file]
; RUN: llc -verify-machineinstrs -mtriple=spirv64-amd-amdhsa %s -o - | FileCheck %s
; RUN: %if spirv-tools %{ llc -mtriple=spirv64-amd-amdhsa %s -o - -filetype=obj | spirv-val %}
; CHECK: OpName %[[#LDS:]] "lds"
; CHECK: OpDecorate %[[#LDS]] LinkageAttributes "lds" Import
; CHECK: %[[#UINT:]] = OpTypeInt 32 0
; CHECK: %[[#UINT_MAX:]] = OpConstant %[[#UINT]] 4294967295
; CHECK: %[[#LDS_ARR_TY:]] = OpTypeArray %[[#UINT]] %[[#UINT_MAX]]
; CHECK: %[[#LDS_ARR_PTR_WG:]] = OpTypePointer Workgroup %[[#LDS_ARR_TY]]
; CHECK: %[[#LDS]] = OpVariable %[[#LDS_ARR_PTR_WG]] Workgroup
@lds = external addrspace(3) global [0 x i32]
define spir_kernel void @foo(ptr addrspace(4) %in, ptr addrspace(4) %out) {
entry:
%val = load i32, ptr addrspace(4) %in
%add = add i32 %val, 1
store i32 %add, ptr addrspace(4) %out
ret void
}