@@ -7,7 +7,7 @@ target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:
77declare target ("spirv.VulkanBuffer" , [0 x i32 ], 12 , 0 ) @llvm.spv.resource.handlefrombinding.tspirv.VulkanBuffer_a0i32_12_0t (i32 , i32 , i32 , i32 , i1 ) #0
88
99; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(none)
10- declare target ("spirv.Image " , i32 , 5 , 2 , 0 , 0 , 2 , 0 ) @llvm.spv.resource.handlefrombinding.tspirv.Image_i32_5_2_0_0_2_0t (i32 , i32 , i32 , i32 , i1 ) #0
10+ declare target ("spirv.VulkanBuffer " , [ 0 x i32 ], 12 , 1 ) @llvm.spv.resource.handlefrombinding.tspirv.VulkanBuffer_a0i32_12_1t (i32 , i32 , i32 , i32 , i1 ) #0
1111
1212; CHECK-DAG: OpDecorate [[BufferVar:%.+]] DescriptorSet 0
1313; CHECK-DAG: OpDecorate [[BufferVar]] Binding 0
@@ -30,27 +30,29 @@ declare target("spirv.Image", i32, 5, 2, 0, 0, 2, 0) @llvm.spv.resource.handlefr
3030; Function Attrs: mustprogress nofree noinline norecurse nosync nounwind willreturn memory(readwrite, inaccessiblemem: none)
3131define void @main () local_unnamed_addr #1 {
3232entry:
33+
3334; CHECK: [[BufferHandle:%.+]] = OpCopyObject [[BufferPtrType]] [[BufferVar]]
34- %i_h .i.i = tail call target ("spirv.VulkanBuffer" , [0 x i32 ], 12 , 0 ) @llvm.spv.resource.handlefrombinding.tspirv.VulkanBuffer_a0i32_12_0t (i32 0 , i32 0 , i32 1 , i32 0 , i1 false )
35+ %_ZL1i_h .i.i = tail call target ("spirv.VulkanBuffer" , [0 x i32 ], 12 , 0 ) @llvm.spv.resource.handlefrombinding.tspirv.VulkanBuffer_a0i32_12_0t (i32 0 , i32 0 , i32 1 , i32 0 , i1 false )
3536
36- %o_h.i.i = tail call target ("spirv.Image" , i32 , 5 , 2 , 0 , 0 , 2 , 0 ) @llvm.spv.resource.handlefrombinding.tspirv.Image_i32_5_2_0_0_2_0t (i32 0 , i32 1 , i32 1 , i32 0 , i1 false )
37+ ; CHECK: STEVEN
38+ %_ZL1o_h.i.i = tail call target ("spirv.VulkanBuffer" , [0 x i32 ], 12 , 1 ) @llvm.spv.resource.handlefrombinding.tspirv.VulkanBuffer_a0i32_12_1t (i32 0 , i32 1 , i32 1 , i32 0 , i1 false )
3739
3840; CHECK: [[AC:%.+]] = OpAccessChain {{.*}} [[BufferHandle]] [[zero]] [[one]]
39- %0 = tail call noundef align 4 dereferenceable (4 ) ptr addrspace (11 ) @llvm.spv.resource.getpointer.p11.tspirv.VulkanBuffer_a0i32_12_0t (target ("spirv.VulkanBuffer" , [0 x i32 ], 12 , 0 ) %i_h .i.i , i32 1 )
41+ %0 = tail call noundef nonnull align 4 dereferenceable (4 ) ptr addrspace (11 ) @llvm.spv.resource.getpointer.p11.tspirv.VulkanBuffer_a0i32_12_0t (target ("spirv.VulkanBuffer" , [0 x i32 ], 12 , 0 ) %_ZL1i_h .i.i , i32 1 )
4042
4143; CHECK: [[LD:%.+]] = OpLoad [[int]] [[AC]] Aligned 4
4244 %1 = load i32 , ptr addrspace (11 ) %0 , align 4 , !tbaa !3
4345
44- ; CHECK: [[ImageHandle:%.+]] = OpLoad {{.*}} [[ImageVar]]
45- %2 = tail call noundef align 4 dereferenceable (4 ) ptr addrspace (11 ) @llvm.spv.resource.getpointer.p11.tspirv.Image_i32_5_2_0_0_2_0t (target ("spirv.Image " , i32 , 5 , 2 , 0 , 0 , 2 , 0 ) %o_h .i.i , i32 0 )
46+ ; CHECK: STEVEN
47+ %2 = tail call noundef nonnull align 4 dereferenceable (4 ) ptr addrspace (11 ) @llvm.spv.resource.getpointer.p11.tspirv.VulkanBuffer_a0i32_12_1t (target ("spirv.VulkanBuffer " , [ 0 x i32 ], 12 , 1 ) %_ZL1o_h .i.i , i32 0 )
4648
47- ; CHECK: OpImageWrite [[ImageHandle]] [[zero]] [[LD]]
49+ ; CHECK: STEVEN
4850 store i32 %1 , ptr addrspace (11 ) %2 , align 4 , !tbaa !3
4951 ret void
5052}
5153
5254; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(none)
53- declare ptr addrspace (11 ) @llvm.spv.resource.getpointer.p11.tspirv.Image_i32_5_2_0_0_2_0t (target ("spirv.Image " , i32 , 5 , 2 , 0 , 0 , 2 , 0 ), i32 ) #0
55+ declare ptr addrspace (11 ) @llvm.spv.resource.getpointer.p11.tspirv.VulkanBuffer_a0i32_12_1t (target ("spirv.VulkanBuffer " , [ 0 x i32 ], 12 , 1 ), i32 ) #0
5456
5557; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(none)
5658declare ptr addrspace (11 ) @llvm.spv.resource.getpointer.p11.tspirv.VulkanBuffer_a0i32_12_0t (target ("spirv.VulkanBuffer" , [0 x i32 ], 12 , 0 ), i32 ) #0
0 commit comments