[llvm] 6f17b3e - AMDGPU: Fix broken tests for HSA metadata
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Thu May 7 12:27:23 PDT 2020
Author: Matt Arsenault
Date: 2020-05-07T15:27:12-04:00
New Revision: 6f17b3e3a76c41c73a6eb8075b0364f4c1725889
URL: https://github.com/llvm/llvm-project/commit/6f17b3e3a76c41c73a6eb8075b0364f4c1725889
DIFF: https://github.com/llvm/llvm-project/commit/6f17b3e3a76c41c73a6eb8075b0364f4c1725889.diff
LOG: AMDGPU: Fix broken tests for HSA metadata
These were testing byval private kernel arguments, which doesn't make
any sense and has never been used. There didn't seem to be any tests
for real value struct arguments, which are.
Added:
Modified:
llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full-v3.ll
llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll
Removed:
################################################################################
diff --git a/llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full-v3.ll b/llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full-v3.ll
index 9d34d417e77e..74e80ec43208 100644
--- a/llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full-v3.ll
+++ b/llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full-v3.ll
@@ -573,12 +573,11 @@ define amdgpu_kernel void @test_queue(%opencl.queue_t addrspace(1)* %a) #0
}
; CHECK: - .args:
-; CHECK-NEXT: - .address_space: private
; CHECK-NEXT: .name: a
; CHECK-NEXT: .offset: 0
-; CHECK-NEXT: .size: 4
+; CHECK-NEXT: .size: 8
; CHECK-NEXT: .type_name: struct A
-; CHECK-NEXT: .value_kind: global_buffer
+; CHECK-NEXT: .value_kind: by_value
; CHECK-NEXT: .value_type: struct
; CHECK-NEXT: - .offset: 8
; CHECK-NEXT: .size: 8
@@ -618,7 +617,58 @@ define amdgpu_kernel void @test_queue(%opencl.queue_t addrspace(1)* %a) #0
; CHECK-NEXT: - 0
; CHECK: .name: test_struct
; CHECK: .symbol: test_struct.kd
-define amdgpu_kernel void @test_struct(%struct.A addrspace(5)* byval %a) #0
+define amdgpu_kernel void @test_struct(%struct.A %a) #0
+ !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !20
+ !kernel_arg_base_type !20 !kernel_arg_type_qual !4 {
+ ret void
+}
+
+; CHECK: - .args:
+; CHECK-NEXT: .name: a
+; CHECK-NEXT: .offset: 0
+; CHECK-NEXT: .size: 32
+; CHECK-NEXT: .type_name: struct A
+; CHECK-NEXT: .value_kind: by_value
+; CHECK-NEXT: .value_type: struct
+; CHECK-NEXT: - .offset: 32
+; CHECK-NEXT: .size: 8
+; CHECK-NEXT: .value_kind: hidden_global_offset_x
+; CHECK-NEXT: .value_type: i64
+; CHECK-NEXT: - .offset: 40
+; CHECK-NEXT: .size: 8
+; CHECK-NEXT: .value_kind: hidden_global_offset_y
+; CHECK-NEXT: .value_type: i64
+; CHECK-NEXT: - .offset: 48
+; CHECK-NEXT: .size: 8
+; CHECK-NEXT: .value_kind: hidden_global_offset_z
+; CHECK-NEXT: .value_type: i64
+; CHECK-NEXT: - .address_space: global
+; CHECK-NEXT: .offset: 56
+; CHECK-NEXT: .size: 8
+; CHECK-NEXT: .value_kind: hidden_printf_buffer
+; CHECK-NEXT: .value_type: i8
+; CHECK-NEXT: - .address_space: global
+; CHECK-NEXT: .offset: 64
+; CHECK-NEXT: .size: 8
+; CHECK-NEXT: .value_kind: hidden_none
+; CHECK-NEXT: .value_type: i8
+; CHECK-NEXT: - .address_space: global
+; CHECK-NEXT: .offset: 72
+; CHECK-NEXT: .size: 8
+; CHECK-NEXT: .value_kind: hidden_none
+; CHECK-NEXT: .value_type: i8
+; CHECK-NEXT: - .address_space: global
+; CHECK-NEXT: .offset: 80
+; CHECK-NEXT: .size: 8
+; CHECK-NEXT: .value_kind: hidden_multigrid_sync_arg
+; CHECK-NEXT: .value_type: i8
+; CHECK: .language: OpenCL C
+; CHECK-NEXT: .language_version:
+; CHECK-NEXT: - 2
+; CHECK-NEXT: - 0
+; CHECK: .name: test_array
+; CHECK: .symbol: test_array.kd
+define amdgpu_kernel void @test_array([32 x i8] %a) #0
!kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !20
!kernel_arg_base_type !20 !kernel_arg_type_qual !4 {
ret void
@@ -1481,12 +1531,11 @@ define amdgpu_kernel void @test_arg_ptr_to_ptr(i32 addrspace(5)* addrspace(1)* %
}
; CHECK: - .args:
-; CHECK-NEXT: - .address_space: private
; CHECK-NEXT: .name: a
; CHECK-NEXT: .offset: 0
-; CHECK-NEXT: .size: 4
+; CHECK-NEXT: .size: 8
; CHECK-NEXT: .type_name: struct B
-; CHECK-NEXT: .value_kind: global_buffer
+; CHECK-NEXT: .value_kind: by_value
; CHECK-NEXT: .value_type: struct
; CHECK-NEXT: - .offset: 8
; CHECK-NEXT: .size: 8
@@ -1526,7 +1575,7 @@ define amdgpu_kernel void @test_arg_ptr_to_ptr(i32 addrspace(5)* addrspace(1)* %
; CHECK-NEXT: - 0
; CHECK: .name: test_arg_struct_contains_ptr
; CHECK: .symbol: test_arg_struct_contains_ptr.kd
-define amdgpu_kernel void @test_arg_struct_contains_ptr(%struct.B addrspace(5)* byval %a) #0
+define amdgpu_kernel void @test_arg_struct_contains_ptr(%struct.B %a) #0
!kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !82
!kernel_arg_base_type !82 !kernel_arg_type_qual !4 {
ret void
diff --git a/llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll b/llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll
index f5a47a862d6b..d5a5fb630d71 100644
--- a/llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll
+++ b/llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll
@@ -574,11 +574,10 @@ define amdgpu_kernel void @test_queue(%opencl.queue_t addrspace(1)* %a) #0
; CHECK-NEXT: Args:
; CHECK-NEXT: - Name: a
; CHECK-NEXT: TypeName: struct A
-; CHECK-NEXT: Size: 4
+; CHECK-NEXT: Size: 8
; CHECK-NEXT: Align: 4
-; CHECK-NEXT: ValueKind: GlobalBuffer
+; CHECK-NEXT: ValueKind: ByValue
; CHECK-NEXT: ValueType: Struct
-; CHECK-NEXT: AddrSpaceQual: Private
; CHECK-NEXT: AccQual: Default
; CHECK-NEXT: - Size: 8
; CHECK-NEXT: Align: 8
@@ -612,7 +611,57 @@ define amdgpu_kernel void @test_queue(%opencl.queue_t addrspace(1)* %a) #0
; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg
; CHECK-NEXT: ValueType: I8
; CHECK-NEXT: AddrSpaceQual: Global
-define amdgpu_kernel void @test_struct(%struct.A addrspace(5)* byval %a) #0
+define amdgpu_kernel void @test_struct(%struct.A %a) #0
+ !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !20
+ !kernel_arg_base_type !20 !kernel_arg_type_qual !4 {
+ ret void
+}
+
+; CHECK: - Name: test_array
+; CHECK-NEXT: SymbolName: 'test_array at kd'
+; CHECK-NEXT: Language: OpenCL C
+; CHECK-NEXT: LanguageVersion: [ 2, 0 ]
+; CHECK-NEXT: Args:
+; CHECK-NEXT: - Name: a
+; CHECK-NEXT: TypeName: struct A
+; CHECK-NEXT: Size: 8
+; CHECK-NEXT: Align: 1
+; CHECK-NEXT: ValueKind: ByValue
+; CHECK-NEXT: ValueType: Struct
+; CHECK-NEXT: AccQual: Default
+; CHECK-NEXT: - Size: 8
+; CHECK-NEXT: Align: 8
+; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX
+; CHECK-NEXT: ValueType: I64
+; CHECK-NEXT: - Size: 8
+; CHECK-NEXT: Align: 8
+; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY
+; CHECK-NEXT: ValueType: I64
+; CHECK-NEXT: - Size: 8
+; CHECK-NEXT: Align: 8
+; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ
+; CHECK-NEXT: ValueType: I64
+; CHECK-NEXT: - Size: 8
+; CHECK-NEXT: Align: 8
+; CHECK-NEXT: ValueKind: HiddenPrintfBuffer
+; CHECK-NEXT: ValueType: I8
+; CHECK-NEXT: AddrSpaceQual: Global
+; CHECK-NEXT: - Size: 8
+; CHECK-NEXT: Align: 8
+; CHECK-NEXT: ValueKind: HiddenNone
+; CHECK-NEXT: ValueType: I8
+; CHECK-NEXT: AddrSpaceQual: Global
+; CHECK-NEXT: - Size: 8
+; CHECK-NEXT: Align: 8
+; CHECK-NEXT: ValueKind: HiddenNone
+; CHECK-NEXT: ValueType: I8
+; CHECK-NEXT: AddrSpaceQual: Global
+; CHECK-NEXT: - Size: 8
+; CHECK-NEXT: Align: 8
+; CHECK-NEXT: ValueKind: HiddenMultiGridSyncArg
+; CHECK-NEXT: ValueType: I8
+; CHECK-NEXT: AddrSpaceQual: Global
+define amdgpu_kernel void @test_array([8 x i8] %a) #0
!kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !20
!kernel_arg_base_type !20 !kernel_arg_type_qual !4 {
ret void
@@ -1474,11 +1523,10 @@ define amdgpu_kernel void @test_arg_ptr_to_ptr(i32 addrspace(5)* addrspace(1)* %
; CHECK-NEXT: Args:
; CHECK-NEXT: - Name: a
; CHECK-NEXT: TypeName: struct B
-; CHECK-NEXT: Size: 4
-; CHECK-NEXT: Align: 4
-; CHECK-NEXT: ValueKind: GlobalBuffer
+; CHECK-NEXT: Size: 8
+; CHECK-NEXT: Align: 8
+; CHECK-NEXT: ValueKind: ByValue
; CHECK-NEXT: ValueType: Struct
-; CHECK-NEXT: AddrSpaceQual: Private
; CHECK-NEXT: AccQual: Default
; CHECK-NEXT: - Size: 8
; CHECK-NEXT: Align: 8
@@ -1497,7 +1545,7 @@ define amdgpu_kernel void @test_arg_ptr_to_ptr(i32 addrspace(5)* addrspace(1)* %
; CHECK-NEXT: ValueKind: HiddenPrintfBuffer
; CHECK-NEXT: ValueType: I8
; CHECK-NEXT: AddrSpaceQual: Global
-define amdgpu_kernel void @test_arg_struct_contains_ptr(%struct.B addrspace(5)* byval %a) #0
+define amdgpu_kernel void @test_arg_struct_contains_ptr(%struct.B %a) #0
!kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !82
!kernel_arg_base_type !82 !kernel_arg_type_qual !4 {
ret void
More information about the llvm-commits
mailing list