brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 7be1f90 Raw
45 lines · plain
1// RUN: %clang_cc1 -finclude-default-header -triple dxil-pc-shadermodel6.3-compute -emit-llvm -disable-llvm-passes -o - %s | FileCheck %s2 3// CHECK:      %"__cblayout_$Globals" = type <{4// CHECK-SAME:   float,5// CHECK-SAME:   target("dx.Padding", 12),6// CHECK-SAME:   <{ [3 x <{ double, target("dx.Padding", 8) }>], double }>,7// CHECK-SAME:   target("dx.Padding", 8),8// CHECK-SAME:   <4 x i32>,9// CHECK-SAME:   %S10// CHECK-SAME:   i32,11// CHECK-SAME:   target("dx.Padding", 4),12// CHECK-SAME:   <4 x float>13// CHECK-SAME: }>14 15// CHECK: %S = type <{ <2 x float> }>16 17// CHECK-DAG: @"$Globals.cb" = global target("dx.CBuffer", %"__cblayout_$Globals")18// CHECK-DAG: @a = external hidden addrspace(2) global i32, align 419// CHECK-DAG: @b = external hidden addrspace(2) global float, align 420// CHECK-DAG: @c = external hidden addrspace(2) global <{ [3 x <{ double, target("dx.Padding", 8) }>], double }>, align 821// CHECK-DAG: @d = external hidden addrspace(2) global <4 x i32>, align 1622// CHECK-DAG: @e = external hidden addrspace(2) global <4 x float>, align 1623// CHECK-DAG: @s = external hidden addrspace(2) global %S, align 124 25struct S {26  float2 v;27};28 29int a;30float b : register(c1);31int4 d : register(c6);32double c[4] : register(c2);33float4 e;34S s : register(c7);35 36RWBuffer<float> Buf;37 38[numthreads(4,1,1)]39void main() {40  Buf[0] = a;41}42 43// CHECK: !hlsl.cbs = !{![[CB:.*]]}44// CHECK: ![[CB]] = !{ptr @"$Globals.cb", ptr addrspace(2) @b, ptr addrspace(2) @c, ptr addrspace(2) @d, ptr addrspace(2) @s, ptr addrspace(2) @a, ptr addrspace(2) @e}45