@@ -24,9 +24,9 @@ export int TestIncrementCounter() {
2424// CHECK: ret
2525
2626// CHECK: define {{.*}} noundef i32 @hlsl::RWStructuredBuffer<float>::IncrementCounter()(ptr {{.*}} %this)
27- // CHECK: %__handle = getelementptr inbounds nuw %"class.hlsl::RWStructuredBuffer", ptr %{{.*}}, i32 0, i32 0
28- // DXIL-NEXT: %[[HANDLE :.*]] = load target("dx.RawBuffer", float, 1, 0), ptr %__handle
29- // DXIL-NEXT: %[[COUNTER:.*]] = call i32 @llvm.dx.resource.updatecounter.tdx.RawBuffer_f32_1_0t(target("dx.RawBuffer", float, 1, 0) %[[HANDLE ]], i8 1)
27+ // CHECK: %__counter_handle = getelementptr inbounds nuw %"class.hlsl::RWStructuredBuffer", ptr %{{.*}}, i32 0, i32 1
28+ // DXIL-NEXT: %[[COUNTER_HANDLE :.*]] = load target("dx.RawBuffer", float, 1, 0), ptr %__counter_handle
29+ // DXIL-NEXT: %[[COUNTER:.*]] = call i32 @llvm.dx.resource.updatecounter.tdx.RawBuffer_f32_1_0t(target("dx.RawBuffer", float, 1, 0) %[[COUNTER_HANDLE ]], i8 1)
3030// CHECK-NEXT: ret i32 %[[COUNTER]]
3131
3232export int TestDecrementCounter () {
@@ -37,9 +37,9 @@ export int TestDecrementCounter() {
3737// CHECK: ret
3838
3939// CHECK: define {{.*}} noundef i32 @hlsl::RWStructuredBuffer<unsigned int vector[4]>::DecrementCounter()(ptr {{.*}} %this)
40- // CHECK: %__handle = getelementptr inbounds nuw %"class.hlsl::RWStructuredBuffer.0", ptr %{{.*}}, i32 0, i32 0
41- // DXIL-NEXT: %[[HANDLE :.*]] = load target("dx.RawBuffer", <4 x i32>, 1, 0), ptr %__handle
42- // DXIL-NEXT: %[[COUNTER:.*]] = call i32 @llvm.dx.resource.updatecounter.tdx.RawBuffer_v4i32_1_0t(target("dx.RawBuffer", <4 x i32>, 1, 0) %[[HANDLE ]], i8 -1)
40+ // CHECK: %__counter_handle = getelementptr inbounds nuw %"class.hlsl::RWStructuredBuffer.0", ptr %{{.*}}, i32 0, i32 1
41+ // DXIL-NEXT: %[[COUNTER_HANDLE :.*]] = load target("dx.RawBuffer", <4 x i32>, 1, 0), ptr %__counter_handle
42+ // DXIL-NEXT: %[[COUNTER:.*]] = call i32 @llvm.dx.resource.updatecounter.tdx.RawBuffer_v4i32_1_0t(target("dx.RawBuffer", <4 x i32>, 1, 0) %[[COUNTER_HANDLE ]], i8 -1)
4343// CHECK-NEXT: ret i32 %[[COUNTER]]
4444
4545export void TestAppend (float value) {
@@ -54,9 +54,9 @@ export void TestAppend(float value) {
5454// CHECK: %[[VALUE:.*]] = load float, ptr %value.addr
5555// CHECK-NEXT: %__handle = getelementptr inbounds nuw %"class.hlsl::AppendStructuredBuffer", ptr %{{.*}}, i32 0, i32 0
5656// DXIL-NEXT: %[[HANDLE:.*]] = load target("dx.RawBuffer", float, 1, 0), ptr %__handle
57- // CHECK-NEXT: %__handle2 = getelementptr inbounds nuw %"class.hlsl::AppendStructuredBuffer", ptr %{{.*}}, i32 0, i32 0
58- // DXIL-NEXT: %[[HANDLE2 :.*]] = load target("dx.RawBuffer", float, 1, 0), ptr %__handle2
59- // DXIL-NEXT: %[[COUNTER:.*]] = call i32 @llvm.dx.resource.updatecounter.tdx.RawBuffer_f32_1_0t(target("dx.RawBuffer", float, 1, 0) %[[HANDLE2 ]], i8 1)
57+ // CHECK-NEXT: %__counter_handle = getelementptr inbounds nuw %"class.hlsl::AppendStructuredBuffer", ptr %{{.*}}, i32 0, i32 1
58+ // DXIL-NEXT: %[[COUNTER_HANDLE :.*]] = load target("dx.RawBuffer", float, 1, 0), ptr %__counter_handle
59+ // DXIL-NEXT: %[[COUNTER:.*]] = call i32 @llvm.dx.resource.updatecounter.tdx.RawBuffer_f32_1_0t(target("dx.RawBuffer", float, 1, 0) %[[COUNTER_HANDLE ]], i8 1)
6060// DXIL-NEXT: %[[PTR:.*]] = call ptr @llvm.dx.resource.getpointer.p0.tdx.RawBuffer_f32_1_0t(target("dx.RawBuffer", float, 1, 0) %[[HANDLE]], i32 %[[COUNTER]])
6161// CHECK-NEXT: store float %[[VALUE]], ptr %[[PTR]]
6262// CHECK-NEXT: ret void
@@ -71,9 +71,9 @@ export double TestConsume() {
7171// CHECK: define {{.*}} double @hlsl::ConsumeStructuredBuffer<double>::Consume()(ptr {{.*}} %this)
7272// CHECK: %__handle = getelementptr inbounds nuw %"class.hlsl::ConsumeStructuredBuffer", ptr %{{.*}}, i32 0, i32 0
7373// DXIL-NEXT: %[[HANDLE:.*]] = load target("dx.RawBuffer", double, 1, 0), ptr %__handle
74- // CHECK-NEXT: %__handle2 = getelementptr inbounds nuw %"class.hlsl::ConsumeStructuredBuffer", ptr %{{.*}}, i32 0, i32 0
75- // DXIL-NEXT: %[[HANDLE2 :.*]] = load target("dx.RawBuffer", double, 1, 0), ptr %__handle2
76- // DXIL-NEXT: %[[COUNTER:.*]] = call i32 @llvm.dx.resource.updatecounter.tdx.RawBuffer_f64_1_0t(target("dx.RawBuffer", double, 1, 0) %[[HANDLE2 ]], i8 -1)
74+ // CHECK-NEXT: %__counter_handle = getelementptr inbounds nuw %"class.hlsl::ConsumeStructuredBuffer", ptr %{{.*}}, i32 0, i32 1
75+ // DXIL-NEXT: %[[COUNTER_HANDLE :.*]] = load target("dx.RawBuffer", double, 1, 0), ptr %__counter_handle
76+ // DXIL-NEXT: %[[COUNTER:.*]] = call i32 @llvm.dx.resource.updatecounter.tdx.RawBuffer_f64_1_0t(target("dx.RawBuffer", double, 1, 0) %[[COUNTER_HANDLE ]], i8 -1)
7777// DXIL-NEXT: %[[PTR:.*]] = call ptr @llvm.dx.resource.getpointer.p0.tdx.RawBuffer_f64_1_0t(target("dx.RawBuffer", double, 1, 0) %[[HANDLE]], i32 %[[COUNTER]])
7878// CHECK-NEXT: %[[VAL:.*]] = load double, ptr %[[PTR]], align 8
7979// CHECK-NEXT: ret double %[[VAL]]
0 commit comments