2
2
3
3
@G = external constant <4 x float >, align 4
4
4
5
+ @Zero.str = private unnamed_addr constant [5 x i8 ] c "Zero\00 " , align 1
6
+ @One.str = private unnamed_addr constant [4 x i8 ] c "One\00 " , align 1
7
+ @Two.str = private unnamed_addr constant [4 x i8 ] c "Two\00 " , align 1
8
+ @Three.str = private unnamed_addr constant [6 x i8 ] c "Three\00 " , align 1
9
+ @Four.str = private unnamed_addr constant [5 x i8 ] c "Four\00 " , align 1
10
+ @Array.str = private unnamed_addr constant [6 x i8 ] c "Array\00 " , align 1
11
+ @Five.str = private unnamed_addr constant [5 x i8 ] c "Five\00 " , align 1
12
+ @CB.str = private unnamed_addr constant [3 x i8 ] c "CB\00 " , align 1
13
+ @Constants.str = private unnamed_addr constant [10 x i8 ] c "Constants\00 " , align 1
14
+
5
15
define void @test_typedbuffer () {
6
16
; ByteAddressBuffer Buf : register(t8, space1)
7
17
%srv0 = call target ("dx.RawBuffer" , void , 0 , 0 )
8
- @llvm.dx.resource.handlefrombinding (i32 1 , i32 8 , i32 1 , i32 0 , i1 false , ptr null )
18
+ @llvm.dx.resource.handlefrombinding (i32 1 , i32 8 , i32 1 , i32 0 , i1 false , ptr @Zero.str )
9
19
; CHECK: Resource [[SRV0:[0-9]+]]:
20
+ ; CHECK: Name: Zero
10
21
; CHECK: Binding:
11
22
; CHECK: Record ID: 0
12
23
; CHECK: Space: 1
@@ -18,8 +29,9 @@ define void @test_typedbuffer() {
18
29
; struct S { float4 a; uint4 b; };
19
30
; StructuredBuffer<S> Buf : register(t2, space4)
20
31
%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 , ptr null )
32
+ @llvm.dx.resource.handlefrombinding (i32 4 , i32 2 , i32 1 , i32 0 , i1 false , ptr @One.str )
22
33
; CHECK: Resource [[SRV1:[0-9]+]]:
34
+ ; CHECK: Name: One
23
35
; CHECK: Binding:
24
36
; CHECK: Record ID: 1
25
37
; CHECK: Space: 4
@@ -32,8 +44,9 @@ define void @test_typedbuffer() {
32
44
33
45
; Buffer<uint4> Buf[24] : register(t3, space5)
34
46
%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 , ptr null )
47
+ @llvm.dx.resource.handlefrombinding (i32 5 , i32 3 , i32 24 , i32 0 , i1 false , ptr @Two.str )
36
48
; CHECK: Resource [[SRV2:[0-9]+]]:
49
+ ; CHECK: Name: Two
37
50
; CHECK: Binding:
38
51
; CHECK: Record ID: 2
39
52
; CHECK: Space: 5
@@ -46,8 +59,9 @@ define void @test_typedbuffer() {
46
59
47
60
; RWBuffer<int> Buf : register(u7, space2)
48
61
%uav0 = call target ("dx.TypedBuffer" , i32 , 1 , 0 , 1 )
49
- @llvm.dx.resource.handlefrombinding (i32 2 , i32 7 , i32 1 , i32 0 , i1 false , ptr null )
62
+ @llvm.dx.resource.handlefrombinding (i32 2 , i32 7 , i32 1 , i32 0 , i1 false , ptr @Three.str )
50
63
; CHECK: Resource [[UAV0:[0-9]+]]:
64
+ ; CHECK: Name: Three
51
65
; CHECK: Binding:
52
66
; CHECK: Record ID: 0
53
67
; CHECK: Space: 2
@@ -63,9 +77,10 @@ define void @test_typedbuffer() {
63
77
64
78
; RWBuffer<float4> Buf : register(u5, space3)
65
79
%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 , ptr null )
80
+ @llvm.dx.resource.handlefrombinding (i32 3 , i32 5 , i32 1 , i32 0 , i1 false , ptr @Four.str )
67
81
call i32 @llvm.dx.resource.updatecounter (target ("dx.TypedBuffer" , <4 x float >, 1 , 0 , 0 ) %uav1 , i8 -1 )
68
82
; CHECK: Resource [[UAV1:[0-9]+]]:
83
+ ; CHECK: Name: Four
69
84
; CHECK: Binding:
70
85
; CHECK: Record ID: 1
71
86
; CHECK: Space: 3
@@ -82,12 +97,13 @@ define void @test_typedbuffer() {
82
97
; RWBuffer<float4> BufferArray[10] : register(u0, space4)
83
98
; RWBuffer<float4> Buf = BufferArray[0]
84
99
%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 , ptr null )
100
+ @llvm.dx.resource.handlefrombinding (i32 4 , i32 0 , i32 10 , i32 0 , i1 false , ptr @Array.str )
86
101
; RWBuffer<float4> Buf = BufferArray[5]
87
102
%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 , ptr null )
103
+ @llvm.dx.resource.handlefrombinding (i32 4 , i32 0 , i32 10 , i32 5 , i1 false , ptr @Array.str )
89
104
call i32 @llvm.dx.resource.updatecounter (target ("dx.TypedBuffer" , <4 x float >, 1 , 0 , 0 ) %uav2_2 , i8 1 )
90
105
; CHECK: Resource [[UAV2:[0-9]+]]:
106
+ ; CHECK: Name: Array
91
107
; CHECK: Binding:
92
108
; CHECK: Record ID: 2
93
109
; CHECK: Space: 4
@@ -103,10 +119,11 @@ define void @test_typedbuffer() {
103
119
104
120
; RWBuffer<float4> Buf : register(u0, space5)
105
121
%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 , ptr null )
122
+ @llvm.dx.resource.handlefrombinding (i32 5 , i32 0 , i32 1 , i32 0 , i1 false , ptr @Five.str )
107
123
call i32 @llvm.dx.resource.updatecounter (target ("dx.TypedBuffer" , <4 x float >, 1 , 0 , 0 ) %uav3 , i8 -1 )
108
124
call i32 @llvm.dx.resource.updatecounter (target ("dx.TypedBuffer" , <4 x float >, 1 , 0 , 0 ) %uav3 , i8 1 )
109
125
; CHECK: Resource [[UAV3:[0-9]+]]:
126
+ ; CHECK: Name: Five
110
127
; CHECK: Binding:
111
128
; CHECK: Record ID: 3
112
129
; CHECK: Space: 5
@@ -121,8 +138,9 @@ define void @test_typedbuffer() {
121
138
; CHECK: Element Count: 4
122
139
123
140
%cb0 = call target ("dx.CBuffer" , {float })
124
- @llvm.dx.resource.handlefrombinding (i32 1 , i32 0 , i32 1 , i32 0 , i1 false , ptr null )
141
+ @llvm.dx.resource.handlefrombinding (i32 1 , i32 0 , i32 1 , i32 0 , i1 false , ptr @CB.str )
125
142
; CHECK: Resource [[CB0:[0-9]+]]:
143
+ ; CHECK: Name: CB
126
144
; CHECK: Binding:
127
145
; CHECK: Record ID: 0
128
146
; CHECK: Space: 1
@@ -133,8 +151,9 @@ define void @test_typedbuffer() {
133
151
; CHECK: CBuffer size: 4
134
152
135
153
%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 , ptr null )
154
+ @llvm.dx.resource.handlefrombinding (i32 1 , i32 8 , i32 1 , i32 0 , i1 false , ptr @Constants.str )
137
155
; CHECK: Resource [[CB1:[0-9]+]]:
156
+ ; CHECK: Name: Constants
138
157
; CHECK: Binding:
139
158
; CHECK: Record ID: 1
140
159
; CHECK: Space: 1
0 commit comments