|
9 | 9 | ; uint16_t3 a6; // offset 96, size 6 (+10) |
10 | 10 | ; }; |
11 | 11 | %__cblayout_CB = type <{ <3 x float>, <3 x double>, <2 x half>, <3 x i64>, <4 x i32>, <3 x i16> }> |
12 | | -%struct.S = type { <3 x float>, <3 x double>, <2 x half>, <3 x i64>, <4 x i32>, <3 x i16> } |
13 | 12 |
|
14 | | -@CB.cb = local_unnamed_addr global target("dx.CBuffer", target("dx.Layout", %__cblayout_CB, 136, 0, 16, 40, 48, 80, 96)) poison |
| 13 | +@CB.cb = local_unnamed_addr global target("dx.CBuffer", target("dx.Layout", %__cblayout_CB, 102, 0, 16, 40, 48, 80, 96)) poison |
| 14 | +; CHECK: @CB.cb = |
| 15 | +; CHECK-NOT: external {{.*}} addrspace(2) global |
15 | 16 | @a1 = external local_unnamed_addr addrspace(2) global <3 x float>, align 16 |
16 | 17 | @a2 = external local_unnamed_addr addrspace(2) global <3 x double>, align 32 |
17 | 18 | @a3 = external local_unnamed_addr addrspace(2) global <2 x half>, align 4 |
18 | 19 | @a4 = external local_unnamed_addr addrspace(2) global <3 x i64>, align 32 |
19 | 20 | @a5 = external local_unnamed_addr addrspace(2) global <4 x i32>, align 16 |
20 | 21 | @a6 = external local_unnamed_addr addrspace(2) global <3 x i16>, align 8 |
21 | 22 |
|
| 23 | +; CHECK: define void @f |
22 | 24 | define void @f(ptr %dst) { |
23 | 25 | entry: |
24 | | - %CB.cb_h.i.i = tail call target("dx.CBuffer", target("dx.Layout", %__cblayout_CB, 136, 0, 16, 40, 48, 80, 96)) @llvm.dx.resource.handlefrombinding(i32 0, i32 0, i32 1, i32 0, i1 false) |
25 | | - store target("dx.CBuffer", target("dx.Layout", %__cblayout_CB, 136, 0, 16, 40, 48, 80, 96)) %CB.cb_h.i.i, ptr @CB.cb, align 4 |
| 26 | + %CB.cb_h.i.i = tail call target("dx.CBuffer", target("dx.Layout", %__cblayout_CB, 102, 0, 16, 40, 48, 80, 96)) @llvm.dx.resource.handlefrombinding(i32 0, i32 0, i32 1, i32 0, i1 false) |
| 27 | + store target("dx.CBuffer", target("dx.Layout", %__cblayout_CB, 102, 0, 16, 40, 48, 80, 96)) %CB.cb_h.i.i, ptr @CB.cb, align 4 |
26 | 28 |
|
27 | 29 | ; CHECK: [[CB:%.*]] = load target("dx.CBuffer", {{.*}})), ptr @CB.cb |
28 | 30 | ; CHECK: [[LOAD:%.*]] = call { float, float, float, float } @llvm.dx.resource.load.cbufferrow.4.{{.*}}(target("dx.CBuffer", {{.*}})) [[CB]], i32 0) |
@@ -111,6 +113,7 @@ entry: |
111 | 113 | ret void |
112 | 114 | } |
113 | 115 |
|
| 116 | +; CHECK-NOT: !hlsl.cbs = |
114 | 117 | !hlsl.cbs = !{!0} |
115 | 118 |
|
116 | 119 | !0 = !{ptr @CB.cb, ptr addrspace(2) @a1, ptr addrspace(2) @a2, ptr addrspace(2) @a3, ptr addrspace(2) @a4, ptr addrspace(2) @a5, ptr addrspace(2) @a6} |
0 commit comments