; RUN: llc -O0 -mtriple=spirv64-unknown-unknown < %s -o - -filetype=asm | FileCheck %s ; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown < %s -o - -filetype=obj | spirv-val %} ; RUN: llc -O0 -mtriple=spirv64-vulkan-unknown < %s -o - -filetype=asm | FileCheck %s ; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-vulkan-unknown < %s -o - -filetype=obj | spirv-val %} ; CHECK: OpName %[[#Global:]] "global_var" ; CHECK: OpDecorate %[[#Global]] LinkageAttributes "global_var" Export ; CHECK: %[[#Int32Ty:]] = OpTypeInt 32 0 ; CHECK: %[[#Int32PtrTy:]] = OpTypePointer CrossWorkgroup %[[#Int32Ty]] ; CHECK: %[[#Initializer:]] = OpConstant{{.*}} %[[#Int32Ty]] ; CHECK: OpVariable %[[#Int32PtrTy:]] CrossWorkgroup %[[#Initializer]] ; Verify we emit global definitions even if there are no functions. @global_var = addrspace(1) global i32 zeroinitializer