brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 57f6c12 Raw
31 lines · plain
1// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.0-compute -std=hlsl202x -emit-llvm -o - -disable-llvm-passes %s | FileCheck %s --check-prefixes=CHECK,DXIL2// RUN: %clang_cc1 -triple spirv-pc-vulkan1.3-compute -std=hlsl202x -emit-llvm -o - -disable-llvm-passes %s | FileCheck %s --check-prefixes=CHECK,SPIRV3 4struct S {5  static int Value;6};7 8int S::Value = 1;9// DXIL: @_ZN1S5ValueE = hidden global i32 1, align 410// SPIRV: @_ZN1S5ValueE = hidden addrspace(10) global i32 1, align 411 12[shader("compute")]13[numthreads(1,1,1)]14void main() {15  S s;16  int value1, value2;17// CHECK:      %s = alloca %struct.S, align 118// CHECK: %value1 = alloca i32, align 419// CHECK: %value2 = alloca i32, align 420 21// DXIL: [[tmp:%.*]] = load i32, ptr @_ZN1S5ValueE, align 422// SPIRV: [[tmp:%.*]] = load i32, ptr addrspace(10) @_ZN1S5ValueE, align 423// CHECK: store i32 [[tmp]], ptr %value1, align 424  value1 = S::Value;25 26// DXIL: [[tmp:%.*]] = load i32, ptr @_ZN1S5ValueE, align 427// SPIRV: [[tmp:%.*]] = load i32, ptr addrspace(10) @_ZN1S5ValueE, align 428// CHECK: store i32 [[tmp]], ptr %value2, align 429  value2 = s.Value;30}31