Skip to content

Commit eacedc9

Browse files
committed
add test to make sure strings are removed; fix buffer-frombinding.ll test
1 parent a0b6179 commit eacedc9

File tree

3 files changed

+28
-14
lines changed

3 files changed

+28
-14
lines changed

llvm/test/Analysis/DXILResource/buffer-frombinding.ll

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
define void @test_typedbuffer() {
66
; ByteAddressBuffer Buf : register(t8, space1)
77
%srv0 = call target("dx.RawBuffer", void, 0, 0)
8-
@llvm.dx.resource.handlefrombinding(i32 1, i32 8, i32 1, i32 0, i1 false)
8+
@llvm.dx.resource.handlefrombinding(i32 1, i32 8, i32 1, i32 0, i1 false, ptr null)
99
; CHECK: Resource [[SRV0:[0-9]+]]:
1010
; CHECK: Binding:
1111
; CHECK: Record ID: 0
@@ -18,7 +18,7 @@ define void @test_typedbuffer() {
1818
; struct S { float4 a; uint4 b; };
1919
; StructuredBuffer<S> Buf : register(t2, space4)
2020
%srv1 = call target("dx.RawBuffer", {<4 x float>, <4 x i32>}, 0, 0)
21-
@llvm.dx.resource.handlefrombinding(i32 4, i32 2, i32 1, i32 0, i1 false)
21+
@llvm.dx.resource.handlefrombinding(i32 4, i32 2, i32 1, i32 0, i1 false, ptr null)
2222
; CHECK: Resource [[SRV1:[0-9]+]]:
2323
; CHECK: Binding:
2424
; CHECK: Record ID: 1
@@ -32,7 +32,7 @@ define void @test_typedbuffer() {
3232

3333
; Buffer<uint4> Buf[24] : register(t3, space5)
3434
%srv2 = call target("dx.TypedBuffer", <4 x i32>, 0, 0, 0)
35-
@llvm.dx.resource.handlefrombinding(i32 5, i32 3, i32 24, i32 0, i1 false)
35+
@llvm.dx.resource.handlefrombinding(i32 5, i32 3, i32 24, i32 0, i1 false, ptr null)
3636
; CHECK: Resource [[SRV2:[0-9]+]]:
3737
; CHECK: Binding:
3838
; CHECK: Record ID: 2
@@ -46,7 +46,7 @@ define void @test_typedbuffer() {
4646

4747
; RWBuffer<int> Buf : register(u7, space2)
4848
%uav0 = call target("dx.TypedBuffer", i32, 1, 0, 1)
49-
@llvm.dx.resource.handlefrombinding(i32 2, i32 7, i32 1, i32 0, i1 false)
49+
@llvm.dx.resource.handlefrombinding(i32 2, i32 7, i32 1, i32 0, i1 false, ptr null)
5050
; CHECK: Resource [[UAV0:[0-9]+]]:
5151
; CHECK: Binding:
5252
; CHECK: Record ID: 0
@@ -63,7 +63,7 @@ define void @test_typedbuffer() {
6363

6464
; RWBuffer<float4> Buf : register(u5, space3)
6565
%uav1 = call target("dx.TypedBuffer", <4 x float>, 1, 0, 0)
66-
@llvm.dx.resource.handlefrombinding(i32 3, i32 5, i32 1, i32 0, i1 false)
66+
@llvm.dx.resource.handlefrombinding(i32 3, i32 5, i32 1, i32 0, i1 false, ptr null)
6767
call i32 @llvm.dx.resource.updatecounter(target("dx.TypedBuffer", <4 x float>, 1, 0, 0) %uav1, i8 -1)
6868
; CHECK: Resource [[UAV1:[0-9]+]]:
6969
; CHECK: Binding:
@@ -82,10 +82,10 @@ define void @test_typedbuffer() {
8282
; RWBuffer<float4> BufferArray[10] : register(u0, space4)
8383
; RWBuffer<float4> Buf = BufferArray[0]
8484
%uav2_1 = call target("dx.TypedBuffer", <4 x float>, 1, 0, 0)
85-
@llvm.dx.resource.handlefrombinding(i32 4, i32 0, i32 10, i32 0, i1 false)
85+
@llvm.dx.resource.handlefrombinding(i32 4, i32 0, i32 10, i32 0, i1 false, ptr null)
8686
; RWBuffer<float4> Buf = BufferArray[5]
8787
%uav2_2 = call target("dx.TypedBuffer", <4 x float>, 1, 0, 0)
88-
@llvm.dx.resource.handlefrombinding(i32 4, i32 0, i32 10, i32 5, i1 false)
88+
@llvm.dx.resource.handlefrombinding(i32 4, i32 0, i32 10, i32 5, i1 false, ptr null)
8989
call i32 @llvm.dx.resource.updatecounter(target("dx.TypedBuffer", <4 x float>, 1, 0, 0) %uav2_2, i8 1)
9090
; CHECK: Resource [[UAV2:[0-9]+]]:
9191
; CHECK: Binding:
@@ -103,7 +103,7 @@ define void @test_typedbuffer() {
103103

104104
; RWBuffer<float4> Buf : register(u0, space5)
105105
%uav3 = call target("dx.TypedBuffer", <4 x float>, 1, 0, 0)
106-
@llvm.dx.resource.handlefrombinding(i32 5, i32 0, i32 1, i32 0, i1 false)
106+
@llvm.dx.resource.handlefrombinding(i32 5, i32 0, i32 1, i32 0, i1 false, ptr null)
107107
call i32 @llvm.dx.resource.updatecounter(target("dx.TypedBuffer", <4 x float>, 1, 0, 0) %uav3, i8 -1)
108108
call i32 @llvm.dx.resource.updatecounter(target("dx.TypedBuffer", <4 x float>, 1, 0, 0) %uav3, i8 1)
109109
; CHECK: Resource [[UAV3:[0-9]+]]:
@@ -121,7 +121,7 @@ define void @test_typedbuffer() {
121121
; CHECK: Element Count: 4
122122

123123
%cb0 = call target("dx.CBuffer", {float})
124-
@llvm.dx.resource.handlefrombinding(i32 1, i32 0, i32 1, i32 0, i1 false)
124+
@llvm.dx.resource.handlefrombinding(i32 1, i32 0, i32 1, i32 0, i1 false, ptr null)
125125
; CHECK: Resource [[CB0:[0-9]+]]:
126126
; CHECK: Binding:
127127
; CHECK: Record ID: 0
@@ -133,7 +133,7 @@ define void @test_typedbuffer() {
133133
; CHECK: CBuffer size: 4
134134

135135
%cb1 = call target("dx.CBuffer", target("dx.Layout", {float}, 4, 0))
136-
@llvm.dx.resource.handlefrombinding(i32 1, i32 8, i32 1, i32 0, i1 false)
136+
@llvm.dx.resource.handlefrombinding(i32 1, i32 8, i32 1, i32 0, i1 false, ptr null)
137137
; CHECK: Resource [[CB1:[0-9]+]]:
138138
; CHECK: Binding:
139139
; CHECK: Record ID: 1

llvm/test/CodeGen/DirectX/CreateHandle.ll

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,20 @@
1212

1313
target triple = "dxil-pc-shadermodel6.0-compute"
1414

15+
@BufA.str = private unnamed_addr constant [5 x i8] c"BufA\00", align 1
16+
@BufB.str = private unnamed_addr constant [5 x i8] c"BufB\00", align 1
17+
18+
; make sure the string constants are removed from the module
19+
; CHECK-NOT: private unnamed_addr constant [5 x i8] c"BufA\00", align 1
20+
; CHECK-NOT: private unnamed_addr constant [5 x i8] c"BufB\00", align 1
21+
1522
declare i32 @some_val();
1623

1724
define void @test_buffers() {
1825
; RWBuffer<float4> Buf : register(u5, space3)
1926
%typed0 = call target("dx.TypedBuffer", <4 x float>, 1, 0, 0)
2027
@llvm.dx.resource.handlefrombinding.tdx.TypedBuffer_v4f32_1_0_0(
21-
i32 3, i32 5, i32 1, i32 0, i1 false, ptr null)
28+
i32 3, i32 5, i32 1, i32 0, i1 false, ptr @BufA.str)
2229
; CHECK: call %dx.types.Handle @dx.op.createHandle(i32 57, i8 1, i32 1, i32 5, i1 false) #[[#ATTR:]]
2330
; CHECK-NOT: @llvm.dx.cast.handle
2431

@@ -33,7 +40,7 @@ define void @test_buffers() {
3340
; Note that the index below is 3 + 4 = 7
3441
%typed2 = call target("dx.TypedBuffer", <4 x i32>, 0, 0, 0)
3542
@llvm.dx.resource.handlefrombinding.tdx.TypedBuffer_i32_0_0_0t(
36-
i32 5, i32 3, i32 24, i32 4, i1 false, ptr null)
43+
i32 5, i32 3, i32 24, i32 4, i1 false, ptr @BufB.str)
3744
; CHECK: call %dx.types.Handle @dx.op.createHandle(i32 57, i8 0, i32 3, i32 7, i1 false) #[[#ATTR]]
3845

3946
; struct S { float4 a; uint4 b; };

llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,20 @@
1313

1414
target triple = "dxil-pc-shadermodel6.6-compute"
1515

16+
@BufA.str = private unnamed_addr constant [5 x i8] c"BufA\00", align 1
17+
@BufB.str = private unnamed_addr constant [5 x i8] c"BufB\00", align 1
18+
19+
; make sure the string constants are removed from the module
20+
; CHECK-NOT: private unnamed_addr constant [5 x i8] c"BufA\00", align 1
21+
; CHECK-NOT: private unnamed_addr constant [5 x i8] c"BufB\00", align 1
22+
1623
declare i32 @some_val();
1724

1825
define void @test_bindings() {
1926
; RWBuffer<float4> Buf : register(u5, space3)
2027
%typed0 = call target("dx.TypedBuffer", <4 x float>, 1, 0, 0)
2128
@llvm.dx.resource.handlefrombinding.tdx.TypedBuffer_v4f32_1_0_0(
22-
i32 3, i32 5, i32 1, i32 0, i1 false, ptr null)
29+
i32 3, i32 5, i32 1, i32 0, i1 false, ptr @BufA.str)
2330
; CHECK: [[BUF0:%.*]] = call %dx.types.Handle @dx.op.createHandleFromBinding(i32 217, %dx.types.ResBind { i32 5, i32 5, i32 3, i8 1 }, i32 5, i1 false) #[[#ATTR:]]
2431
; CHECK: call %dx.types.Handle @dx.op.annotateHandle(i32 216, %dx.types.Handle [[BUF0]], %dx.types.ResourceProperties { i32 4106, i32 1033 }) #[[#ATTR]]
2532

@@ -35,7 +42,7 @@ define void @test_bindings() {
3542
; Note that the index below is 3 + 4 = 7
3643
%typed2 = call target("dx.TypedBuffer", <4 x i32>, 0, 0, 0)
3744
@llvm.dx.resource.handlefrombinding.tdx.TypedBuffer_i32_0_0_0t(
38-
i32 5, i32 3, i32 24, i32 4, i1 false, ptr null)
45+
i32 5, i32 3, i32 24, i32 4, i1 false, ptr @BufB.str)
3946
; CHECK: [[BUF2:%.*]] = call %dx.types.Handle @dx.op.createHandleFromBinding(i32 217, %dx.types.ResBind { i32 3, i32 26, i32 5, i8 0 }, i32 7, i1 false) #[[#ATTR]]
4047
; CHECK: call %dx.types.Handle @dx.op.annotateHandle(i32 216, %dx.types.Handle [[BUF2]], %dx.types.ResourceProperties { i32 10, i32 1029 }) #[[#ATTR]]
4148

0 commit comments

Comments
 (0)