diff options
| author | Konstantin Zhuravlyov <kzhuravl_dev@outlook.com> | 2017-03-22 22:32:22 +0000 |
|---|---|---|
| committer | Konstantin Zhuravlyov <kzhuravl_dev@outlook.com> | 2017-03-22 22:32:22 +0000 |
| commit | 7498cd61fb7930a64a0ed4dae8703b49ae0500ff (patch) | |
| tree | 3f7674c022831165f6faf315151a7bf5831fb58d /llvm/test/MC/AMDGPU | |
| parent | eb685e5f27f9dcee0713523b417c50af95f492da (diff) | |
| download | bcm5719-llvm-7498cd61fb7930a64a0ed4dae8703b49ae0500ff.tar.gz bcm5719-llvm-7498cd61fb7930a64a0ed4dae8703b49ae0500ff.zip | |
[AMDGPU] Restructure code object metadata creation
- Rename runtime metadata -> code object metadata
- Make metadata not flow
- Switch enums to use ScalarEnumerationTraits
- Cleanup and move AMDGPUCodeObjectMetadata.h to AMDGPU/MCTargetDesc
- Introduce in-memory representation for attributes
- Code object metadata streamer
- Create metadata for isa and printf during EmitStartOfAsmFile
- Create metadata for kernel during EmitFunctionBodyStart
- Finalize and emit metadata to .note during EmitEndOfAsmFile
- Other minor improvements/bug fixes
Differential Revision: https://reviews.llvm.org/D29948
llvm-svn: 298552
Diffstat (limited to 'llvm/test/MC/AMDGPU')
| -rw-r--r-- | llvm/test/MC/AMDGPU/code-object-metadata-isa.s | 98 | ||||
| -rw-r--r-- | llvm/test/MC/AMDGPU/code-object-metadata-kernel-args.s | 86 | ||||
| -rw-r--r-- | llvm/test/MC/AMDGPU/code-object-metadata-kernel-attrs.s | 46 | ||||
| -rw-r--r-- | llvm/test/MC/AMDGPU/code-object-metadata-unknown-key.s | 41 | ||||
| -rw-r--r-- | llvm/test/MC/AMDGPU/hsa.s | 42 | ||||
| -rw-r--r-- | llvm/test/MC/AMDGPU/runtime-metadata-1.s | 39 | ||||
| -rw-r--r-- | llvm/test/MC/AMDGPU/runtime-metadata-2.s | 39 | ||||
| -rw-r--r-- | llvm/test/MC/AMDGPU/runtime-metadata-invalid-1.s | 106 |
8 files changed, 295 insertions, 202 deletions
diff --git a/llvm/test/MC/AMDGPU/code-object-metadata-isa.s b/llvm/test/MC/AMDGPU/code-object-metadata-isa.s new file mode 100644 index 00000000000..51d3a2b5559 --- /dev/null +++ b/llvm/test/MC/AMDGPU/code-object-metadata-isa.s @@ -0,0 +1,98 @@ +// RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx700 -show-encoding %s | FileCheck --check-prefix=CHECK --check-prefix=GFX700 %s +// RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx800 -show-encoding %s | FileCheck --check-prefix=CHECK --check-prefix=GFX800 %s +// RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx900 -show-encoding %s | FileCheck --check-prefix=CHECK --check-prefix=GFX900 %s + +// CHECK: .amdgpu_code_object_metadata +// CHECK: Version: [ 1, 0 ] +// CHECK: Isa: +// CHECK: WavefrontSize: 64 +// CHECK: LocalMemorySize: 65536 +// CHECK: EUsPerCU: 4 +// CHECK: MaxWavesPerEU: 10 +// CHECK: MaxFlatWorkGroupSize: 2048 +// GFX700: SGPRAllocGranule: 8 +// GFX800: SGPRAllocGranule: 16 +// GFX900: SGPRAllocGranule: 16 +// GFX700: TotalNumSGPRs: 512 +// GFX800: TotalNumSGPRs: 800 +// GFX900: TotalNumSGPRs: 800 +// GFX700: AddressableNumSGPRs: 104 +// GFX800: AddressableNumSGPRs: 96 +// GFX900: AddressableNumSGPRs: 102 +// CHECK: VGPRAllocGranule: 4 +// CHECK: TotalNumVGPRs: 256 +// CHECK: AddressableNumVGPRs: 256 +// CHECK: Printf: [ '1:1:4:%d\n', '2:1:8:%g\n' ] +// CHECK: Kernels: +// CHECK: - Name: test_kernel +// CHECK: Language: OpenCL C +// CHECK: LanguageVersion: [ 2, 0 ] +// CHECK: Args: +// CHECK: - Size: 1 +// CHECK: Align: 1 +// CHECK: Kind: ByValue +// CHECK: ValueType: I8 +// CHECK: AccQual: Default +// CHECK: TypeName: char +// CHECK: - Size: 8 +// CHECK: Align: 8 +// CHECK: Kind: HiddenGlobalOffsetX +// CHECK: ValueType: I64 +// CHECK: - Size: 8 +// CHECK: Align: 8 +// CHECK: Kind: HiddenGlobalOffsetY +// CHECK: ValueType: I64 +// CHECK: - Size: 8 +// CHECK: Align: 8 +// CHECK: Kind: HiddenGlobalOffsetZ +// CHECK: ValueType: I64 +// CHECK: - Size: 8 +// CHECK: Align: 8 +// CHECK: Kind: HiddenPrintfBuffer +// CHECK: ValueType: I8 +// CHECK: AddrSpaceQual: Global +// CHECK: .end_amdgpu_code_object_metadata +.amdgpu_code_object_metadata + Version: [ 1, 0 ] + Isa: + WavefrontSize: 1 + LocalMemorySize: 1 + EUsPerCU: 1 + MaxWavesPerEU: 1 + MaxFlatWorkGroupSize: 1 + SGPRAllocGranule: 1 + TotalNumSGPRs: 1 + AddressableNumSGPRs: 1 + VGPRAllocGranule: 1 + TotalNumVGPRs: 1 + AddressableNumVGPRs: 1 + Printf: [ '1:1:4:%d\n', '2:1:8:%g\n' ] + Kernels: + - Name: test_kernel + Language: OpenCL C + LanguageVersion: [ 2, 0 ] + Args: + - Size: 1 + Align: 1 + Kind: ByValue + ValueType: I8 + AccQual: Default + TypeName: char + - Size: 8 + Align: 8 + Kind: HiddenGlobalOffsetX + ValueType: I64 + - Size: 8 + Align: 8 + Kind: HiddenGlobalOffsetY + ValueType: I64 + - Size: 8 + Align: 8 + Kind: HiddenGlobalOffsetZ + ValueType: I64 + - Size: 8 + Align: 8 + Kind: HiddenPrintfBuffer + ValueType: I8 + AddrSpaceQual: Global +.end_amdgpu_code_object_metadata diff --git a/llvm/test/MC/AMDGPU/code-object-metadata-kernel-args.s b/llvm/test/MC/AMDGPU/code-object-metadata-kernel-args.s new file mode 100644 index 00000000000..3f3a7f4d172 --- /dev/null +++ b/llvm/test/MC/AMDGPU/code-object-metadata-kernel-args.s @@ -0,0 +1,86 @@ +// RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx700 -show-encoding %s | FileCheck --check-prefix=CHECK --check-prefix=GFX700 %s +// RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx800 -show-encoding %s | FileCheck --check-prefix=CHECK --check-prefix=GFX800 %s +// RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx900 -show-encoding %s | FileCheck --check-prefix=CHECK --check-prefix=GFX900 %s + +// CHECK: .amdgpu_code_object_metadata +// CHECK: Version: [ 1, 0 ] +// CHECK: Isa: +// CHECK: WavefrontSize: 64 +// CHECK: LocalMemorySize: 65536 +// CHECK: EUsPerCU: 4 +// CHECK: MaxWavesPerEU: 10 +// CHECK: MaxFlatWorkGroupSize: 2048 +// GFX700: SGPRAllocGranule: 8 +// GFX800: SGPRAllocGranule: 16 +// GFX900: SGPRAllocGranule: 16 +// GFX700: TotalNumSGPRs: 512 +// GFX800: TotalNumSGPRs: 800 +// GFX900: TotalNumSGPRs: 800 +// GFX700: AddressableNumSGPRs: 104 +// GFX800: AddressableNumSGPRs: 96 +// GFX900: AddressableNumSGPRs: 102 +// CHECK: VGPRAllocGranule: 4 +// CHECK: TotalNumVGPRs: 256 +// CHECK: AddressableNumVGPRs: 256 +// CHECK: Printf: [ '1:1:4:%d\n', '2:1:8:%g\n' ] +// CHECK: Kernels: +// CHECK: - Name: test_kernel +// CHECK: Language: OpenCL C +// CHECK: LanguageVersion: [ 2, 0 ] +// CHECK: Args: +// CHECK: - Size: 1 +// CHECK: Align: 1 +// CHECK: Kind: ByValue +// CHECK: ValueType: I8 +// CHECK: AccQual: Default +// CHECK: TypeName: char +// CHECK: - Size: 8 +// CHECK: Align: 8 +// CHECK: Kind: HiddenGlobalOffsetX +// CHECK: ValueType: I64 +// CHECK: - Size: 8 +// CHECK: Align: 8 +// CHECK: Kind: HiddenGlobalOffsetY +// CHECK: ValueType: I64 +// CHECK: - Size: 8 +// CHECK: Align: 8 +// CHECK: Kind: HiddenGlobalOffsetZ +// CHECK: ValueType: I64 +// CHECK: - Size: 8 +// CHECK: Align: 8 +// CHECK: Kind: HiddenPrintfBuffer +// CHECK: ValueType: I8 +// CHECK: AddrSpaceQual: Global +// CHECK: .end_amdgpu_code_object_metadata +.amdgpu_code_object_metadata + Version: [ 1, 0 ] + Printf: [ '1:1:4:%d\n', '2:1:8:%g\n' ] + Kernels: + - Name: test_kernel + Language: OpenCL C + LanguageVersion: [ 2, 0 ] + Args: + - Size: 1 + Align: 1 + Kind: ByValue + ValueType: I8 + AccQual: Default + TypeName: char + - Size: 8 + Align: 8 + Kind: HiddenGlobalOffsetX + ValueType: I64 + - Size: 8 + Align: 8 + Kind: HiddenGlobalOffsetY + ValueType: I64 + - Size: 8 + Align: 8 + Kind: HiddenGlobalOffsetZ + ValueType: I64 + - Size: 8 + Align: 8 + Kind: HiddenPrintfBuffer + ValueType: I8 + AddrSpaceQual: Global +.end_amdgpu_code_object_metadata diff --git a/llvm/test/MC/AMDGPU/code-object-metadata-kernel-attrs.s b/llvm/test/MC/AMDGPU/code-object-metadata-kernel-attrs.s new file mode 100644 index 00000000000..247012b1c14 --- /dev/null +++ b/llvm/test/MC/AMDGPU/code-object-metadata-kernel-attrs.s @@ -0,0 +1,46 @@ +// RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx700 -show-encoding %s | FileCheck --check-prefix=CHECK --check-prefix=GFX700 %s +// RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx800 -show-encoding %s | FileCheck --check-prefix=CHECK --check-prefix=GFX800 %s +// RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx900 -show-encoding %s | FileCheck --check-prefix=CHECK --check-prefix=GFX900 %s + +// CHECK: .amdgpu_code_object_metadata +// CHECK: Version: [ 1, 0 ] +// CHECK: Isa: +// CHECK: WavefrontSize: 64 +// CHECK: LocalMemorySize: 65536 +// CHECK: EUsPerCU: 4 +// CHECK: MaxWavesPerEU: 10 +// CHECK: MaxFlatWorkGroupSize: 2048 +// GFX700: SGPRAllocGranule: 8 +// GFX800: SGPRAllocGranule: 16 +// GFX900: SGPRAllocGranule: 16 +// GFX700: TotalNumSGPRs: 512 +// GFX800: TotalNumSGPRs: 800 +// GFX900: TotalNumSGPRs: 800 +// GFX700: AddressableNumSGPRs: 104 +// GFX800: AddressableNumSGPRs: 96 +// GFX900: AddressableNumSGPRs: 102 +// CHECK: VGPRAllocGranule: 4 +// CHECK: TotalNumVGPRs: 256 +// CHECK: AddressableNumVGPRs: 256 +// CHECK: Printf: [ '1:1:4:%d\n', '2:1:8:%g\n' ] +// CHECK: Kernels: +// CHECK: - Name: test_kernel +// CHECK: Language: OpenCL C +// CHECK: LanguageVersion: [ 2, 0 ] +// CHECK: Attrs: +// CHECK: ReqdWorkGroupSize: [ 1, 2, 4 ] +// CHECK: WorkGroupSizeHint: [ 8, 16, 32 ] +// CHECK: VecTypeHint: int +// CHECK: .end_amdgpu_code_object_metadata +.amdgpu_code_object_metadata + Version: [ 1, 0 ] + Printf: [ '1:1:4:%d\n', '2:1:8:%g\n' ] + Kernels: + - Name: test_kernel + Language: OpenCL C + LanguageVersion: [ 2, 0 ] + Attrs: + ReqdWorkGroupSize: [ 1, 2, 4 ] + WorkGroupSizeHint: [ 8, 16, 32 ] + VecTypeHint: int +.end_amdgpu_code_object_metadata diff --git a/llvm/test/MC/AMDGPU/code-object-metadata-unknown-key.s b/llvm/test/MC/AMDGPU/code-object-metadata-unknown-key.s new file mode 100644 index 00000000000..c1062363bbc --- /dev/null +++ b/llvm/test/MC/AMDGPU/code-object-metadata-unknown-key.s @@ -0,0 +1,41 @@ +// RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx700 %s 2>&1 | FileCheck %s +// RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx800 %s 2>&1 | FileCheck %s +// RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx900 %s 2>&1 | FileCheck %s +// RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx700 -filetype=obj %s 2>&1 | FileCheck %s +// RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx800 -filetype=obj %s 2>&1 | FileCheck %s +// RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx900 -filetype=obj %s 2>&1 | FileCheck %s + +// CHECK: error: unknown key 'UnknownKey' +.amdgpu_code_object_metadata + UnknownKey: [ 2, 0 ] + Version: [ 1, 0 ] + Printf: [ '1:1:4:%d\n', '2:1:8:%g\n' ] + Kernels: + - Name: test_kernel + Language: OpenCL C + LanguageVersion: [ 2, 0 ] + Args: + - Size: 1 + Align: 1 + Kind: ByValue + ValueType: I8 + AccQual: Default + TypeName: char + - Size: 8 + Align: 8 + Kind: HiddenGlobalOffsetX + ValueType: I64 + - Size: 8 + Align: 8 + Kind: HiddenGlobalOffsetY + ValueType: I64 + - Size: 8 + Align: 8 + Kind: HiddenGlobalOffsetZ + ValueType: I64 + - Size: 8 + Align: 8 + Kind: HiddenPrintfBuffer + ValueType: I8 + AddrSpaceQual: Global +.end_amdgpu_code_object_metadata diff --git a/llvm/test/MC/AMDGPU/hsa.s b/llvm/test/MC/AMDGPU/hsa.s index cd15ec830c3..dd60f3e9763 100644 --- a/llvm/test/MC/AMDGPU/hsa.s +++ b/llvm/test/MC/AMDGPU/hsa.s @@ -37,25 +37,31 @@ .hsa_code_object_isa 7,0,0,"AMD","AMDGPU" // ASM: .hsa_code_object_isa 7,0,0,"AMD","AMDGPU" -.amdgpu_runtime_metadata - { - amd.MDVersion: [ 2, 0 ] - amd.Kernels: [ - { amd.KernelName: amd_kernel_code_t_test_all }, - { amd.KernelName: amd_kernel_code_t_minimal } - ] - } -.end_amdgpu_runtime_metadata +.amdgpu_code_object_metadata + Version: [ 3, 0 ] + Kernels: + - Name: amd_kernel_code_t_test_all + - Name: amd_kernel_code_t_minimal +.end_amdgpu_code_object_metadata -// ASM: .amdgpu_runtime_metadata -// ASM: { -// ASM: amd.MDVersion: [ 2, 0 ] -// ASM: amd.IsaInfo: { amd.IsaInfoWavefrontSize: 64, amd.IsaInfoLocalMemorySize: 65536, amd.IsaInfoEUsPerCU: 4, amd.IsaInfoMaxWavesPerEU: 10, amd.IsaInfoMaxFlatWorkGroupSize: 2048, amd.IsaInfoSGPRAllocGranule: 8, amd.IsaInfoTotalNumSGPRs: 512, amd.IsaInfoAddressableNumSGPRs: 104, amd.IsaInfoVGPRAllocGranule: 4, amd.IsaInfoTotalNumVGPRs: 256, amd.IsaInfoAddressableNumVGPRs: 256 }, -// ASM: amd.Kernels: -// ASM: - { amd.KernelName: amd_kernel_code_t_test_all } -// ASM: - { amd.KernelName: amd_kernel_code_t_minimal } -// ASM: } -// ASM: .end_amdgpu_runtime_metadata +// ASM: .amdgpu_code_object_metadata +// ASM: Version: [ 3, 0 ] +// ASM: Isa: +// ASM: WavefrontSize: 64 +// ASM: LocalMemorySize: 65536 +// ASM: EUsPerCU: 4 +// ASM: MaxWavesPerEU: 10 +// ASM: MaxFlatWorkGroupSize: 2048 +// ASM: SGPRAllocGranule: 8 +// ASM: TotalNumSGPRs: 512 +// ASM: AddressableNumSGPRs: 104 +// ASM: VGPRAllocGranule: 4 +// ASM: TotalNumVGPRs: 256 +// ASM: AddressableNumVGPRs: 256 +// ASM: Kernels: +// ASM: - Name: amd_kernel_code_t_test_all +// ASM: - Name: amd_kernel_code_t_minimal +// ASM: .end_amdgpu_code_object_metadata .amdgpu_hsa_kernel amd_kernel_code_t_test_all .amdgpu_hsa_kernel amd_kernel_code_t_minimal diff --git a/llvm/test/MC/AMDGPU/runtime-metadata-1.s b/llvm/test/MC/AMDGPU/runtime-metadata-1.s deleted file mode 100644 index 6e371a8a978..00000000000 --- a/llvm/test/MC/AMDGPU/runtime-metadata-1.s +++ /dev/null @@ -1,39 +0,0 @@ -// RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx700 -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=GFX700 -// RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx800 -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=GFX800 -// RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx900 -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=GFX900 - -.amdgpu_runtime_metadata - { amd.MDVersion: [ 2, 1 ], amd.PrintfInfo: [ '1:1:4:%d\n', '2:1:8:%g\n' ], amd.Kernels: - - { amd.KernelName: test_char, amd.Language: OpenCL C, amd.LanguageVersion: [ 2, 0 ], amd.Args: - - { amd.ArgSize: 1, amd.ArgAlign: 1, amd.ArgKind: 0, amd.ArgValueType: 1, amd.ArgTypeName: char, amd.ArgAccQual: 0 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 7, amd.ArgValueType: 9 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 8, amd.ArgValueType: 9 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 9, amd.ArgValueType: 9 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 11, amd.ArgValueType: 1, amd.ArgAddrQual: 1 } } - - { amd.KernelName: test_ushort2, amd.Language: OpenCL C, amd.LanguageVersion: [ 2, 0 ], amd.Args: - - { amd.ArgSize: 4, amd.ArgAlign: 4, amd.ArgKind: 0, amd.ArgValueType: 4, amd.ArgTypeName: ushort2, amd.ArgAccQual: 0 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 7, amd.ArgValueType: 9 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 8, amd.ArgValueType: 9 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 9, amd.ArgValueType: 9 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 11, amd.ArgValueType: 1, amd.ArgAddrQual: 1 } } - } -.end_amdgpu_runtime_metadata - -// GFX700: { amd.MDVersion: [ 2, 1 ], amd.IsaInfo: { amd.IsaInfoWavefrontSize: 64, amd.IsaInfoLocalMemorySize: 65536, amd.IsaInfoEUsPerCU: 4, amd.IsaInfoMaxWavesPerEU: 10, amd.IsaInfoMaxFlatWorkGroupSize: 2048, amd.IsaInfoSGPRAllocGranule: 8, amd.IsaInfoTotalNumSGPRs: 512, amd.IsaInfoAddressableNumSGPRs: 104, amd.IsaInfoVGPRAllocGranule: 4, amd.IsaInfoTotalNumVGPRs: 256, amd.IsaInfoAddressableNumVGPRs: 256 }, amd.PrintfInfo: [ '1:1:4:%d\n', '2:1:8:%g\n' ], amd.Kernels: - -// GFX800: { amd.MDVersion: [ 2, 1 ], amd.IsaInfo: { amd.IsaInfoWavefrontSize: 64, amd.IsaInfoLocalMemorySize: 65536, amd.IsaInfoEUsPerCU: 4, amd.IsaInfoMaxWavesPerEU: 10, amd.IsaInfoMaxFlatWorkGroupSize: 2048, amd.IsaInfoSGPRAllocGranule: 16, amd.IsaInfoTotalNumSGPRs: 800, amd.IsaInfoAddressableNumSGPRs: 96, amd.IsaInfoVGPRAllocGranule: 4, amd.IsaInfoTotalNumVGPRs: 256, amd.IsaInfoAddressableNumVGPRs: 256 }, amd.PrintfInfo: [ '1:1:4:%d\n', '2:1:8:%g\n' ], amd.Kernels: - -// GFX900: { amd.MDVersion: [ 2, 1 ], amd.IsaInfo: { amd.IsaInfoWavefrontSize: 64, amd.IsaInfoLocalMemorySize: 65536, amd.IsaInfoEUsPerCU: 4, amd.IsaInfoMaxWavesPerEU: 10, amd.IsaInfoMaxFlatWorkGroupSize: 2048, amd.IsaInfoSGPRAllocGranule: 16, amd.IsaInfoTotalNumSGPRs: 800, amd.IsaInfoAddressableNumSGPRs: 102, amd.IsaInfoVGPRAllocGranule: 4, amd.IsaInfoTotalNumVGPRs: 256, amd.IsaInfoAddressableNumVGPRs: 256 }, amd.PrintfInfo: [ '1:1:4:%d\n', '2:1:8:%g\n' ], amd.Kernels: - -// GCN: - { amd.KernelName: test_char, amd.Language: OpenCL C, amd.LanguageVersion: [ 2, 0 ], amd.Args: -// GCN-NEXT: - { amd.ArgSize: 1, amd.ArgAlign: 1, amd.ArgKind: 0, amd.ArgValueType: 1, amd.ArgTypeName: char, amd.ArgAccQual: 0 } -// GCN-NEXT: - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 7, amd.ArgValueType: 9 } -// GCN-NEXT: - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 8, amd.ArgValueType: 9 } -// GCN-NEXT: - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 9, amd.ArgValueType: 9 } -// GCN-NEXT: - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 11, amd.ArgValueType: 1, amd.ArgAddrQual: 1 } } -// GCN-NEXT: - { amd.KernelName: test_ushort2, amd.Language: OpenCL C, amd.LanguageVersion: [ 2, 0 ], amd.Args: -// GCN-NEXT: - { amd.ArgSize: 4, amd.ArgAlign: 4, amd.ArgKind: 0, amd.ArgValueType: 4, amd.ArgTypeName: ushort2, amd.ArgAccQual: 0 } -// GCN-NEXT: - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 7, amd.ArgValueType: 9 } -// GCN-NEXT: - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 8, amd.ArgValueType: 9 } -// GCN-NEXT: - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 9, amd.ArgValueType: 9 } -// GCN-NEXT: - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 11, amd.ArgValueType: 1, amd.ArgAddrQual: 1 } } } diff --git a/llvm/test/MC/AMDGPU/runtime-metadata-2.s b/llvm/test/MC/AMDGPU/runtime-metadata-2.s deleted file mode 100644 index 569ddd5e61b..00000000000 --- a/llvm/test/MC/AMDGPU/runtime-metadata-2.s +++ /dev/null @@ -1,39 +0,0 @@ -// RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx700 -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=GFX700 -// RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx800 -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=GFX800 -// RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx900 -show-encoding %s | FileCheck %s --check-prefix=GCN --check-prefix=GFX900 - -.amdgpu_runtime_metadata - { amd.MDVersion: [ 2, 1 ], amd.IsaInfo: { amd.IsaInfoWavefrontSize: 64, amd.IsaInfoLocalMemorySize: 65536, amd.IsaInfoEUsPerCU: 4, amd.IsaInfoMaxWavesPerEU: 10, amd.IsaInfoMaxFlatWorkGroupSize: 2048, amd.IsaInfoSGPRAllocGranule: 8, amd.IsaInfoTotalNumSGPRs: 512, amd.IsaInfoAddressableNumSGPRs: 104, amd.IsaInfoVGPRAllocGranule: 4, amd.IsaInfoTotalNumVGPRs: 256, amd.IsaInfoAddressableNumVGPRs: 256 }, amd.PrintfInfo: [ '1:1:4:%d\n', '2:1:8:%g\n' ], amd.Kernels: - - { amd.KernelName: test_char, amd.Language: OpenCL C, amd.LanguageVersion: [ 2, 0 ], amd.Args: - - { amd.ArgSize: 1, amd.ArgAlign: 1, amd.ArgKind: 0, amd.ArgValueType: 1, amd.ArgTypeName: char, amd.ArgAccQual: 0 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 7, amd.ArgValueType: 9 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 8, amd.ArgValueType: 9 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 9, amd.ArgValueType: 9 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 11, amd.ArgValueType: 1, amd.ArgAddrQual: 1 } } - - { amd.KernelName: test_ushort2, amd.Language: OpenCL C, amd.LanguageVersion: [ 2, 0 ], amd.Args: - - { amd.ArgSize: 4, amd.ArgAlign: 4, amd.ArgKind: 0, amd.ArgValueType: 4, amd.ArgTypeName: ushort2, amd.ArgAccQual: 0 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 7, amd.ArgValueType: 9 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 8, amd.ArgValueType: 9 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 9, amd.ArgValueType: 9 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 11, amd.ArgValueType: 1, amd.ArgAddrQual: 1 } } - } -.end_amdgpu_runtime_metadata - -// GFX700: { amd.MDVersion: [ 2, 1 ], amd.IsaInfo: { amd.IsaInfoWavefrontSize: 64, amd.IsaInfoLocalMemorySize: 65536, amd.IsaInfoEUsPerCU: 4, amd.IsaInfoMaxWavesPerEU: 10, amd.IsaInfoMaxFlatWorkGroupSize: 2048, amd.IsaInfoSGPRAllocGranule: 8, amd.IsaInfoTotalNumSGPRs: 512, amd.IsaInfoAddressableNumSGPRs: 104, amd.IsaInfoVGPRAllocGranule: 4, amd.IsaInfoTotalNumVGPRs: 256, amd.IsaInfoAddressableNumVGPRs: 256 }, amd.PrintfInfo: [ '1:1:4:%d\n', '2:1:8:%g\n' ], amd.Kernels: - -// GFX800: { amd.MDVersion: [ 2, 1 ], amd.IsaInfo: { amd.IsaInfoWavefrontSize: 64, amd.IsaInfoLocalMemorySize: 65536, amd.IsaInfoEUsPerCU: 4, amd.IsaInfoMaxWavesPerEU: 10, amd.IsaInfoMaxFlatWorkGroupSize: 2048, amd.IsaInfoSGPRAllocGranule: 16, amd.IsaInfoTotalNumSGPRs: 800, amd.IsaInfoAddressableNumSGPRs: 96, amd.IsaInfoVGPRAllocGranule: 4, amd.IsaInfoTotalNumVGPRs: 256, amd.IsaInfoAddressableNumVGPRs: 256 }, amd.PrintfInfo: [ '1:1:4:%d\n', '2:1:8:%g\n' ], amd.Kernels: - -// GFX900: { amd.MDVersion: [ 2, 1 ], amd.IsaInfo: { amd.IsaInfoWavefrontSize: 64, amd.IsaInfoLocalMemorySize: 65536, amd.IsaInfoEUsPerCU: 4, amd.IsaInfoMaxWavesPerEU: 10, amd.IsaInfoMaxFlatWorkGroupSize: 2048, amd.IsaInfoSGPRAllocGranule: 16, amd.IsaInfoTotalNumSGPRs: 800, amd.IsaInfoAddressableNumSGPRs: 102, amd.IsaInfoVGPRAllocGranule: 4, amd.IsaInfoTotalNumVGPRs: 256, amd.IsaInfoAddressableNumVGPRs: 256 }, amd.PrintfInfo: [ '1:1:4:%d\n', '2:1:8:%g\n' ], amd.Kernels: - -// GCN: - { amd.KernelName: test_char, amd.Language: OpenCL C, amd.LanguageVersion: [ 2, 0 ], amd.Args: -// GCN-NEXT: - { amd.ArgSize: 1, amd.ArgAlign: 1, amd.ArgKind: 0, amd.ArgValueType: 1, amd.ArgTypeName: char, amd.ArgAccQual: 0 } -// GCN-NEXT: - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 7, amd.ArgValueType: 9 } -// GCN-NEXT: - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 8, amd.ArgValueType: 9 } -// GCN-NEXT: - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 9, amd.ArgValueType: 9 } -// GCN-NEXT: - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 11, amd.ArgValueType: 1, amd.ArgAddrQual: 1 } } -// GCN-NEXT: - { amd.KernelName: test_ushort2, amd.Language: OpenCL C, amd.LanguageVersion: [ 2, 0 ], amd.Args: -// GCN-NEXT: - { amd.ArgSize: 4, amd.ArgAlign: 4, amd.ArgKind: 0, amd.ArgValueType: 4, amd.ArgTypeName: ushort2, amd.ArgAccQual: 0 } -// GCN-NEXT: - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 7, amd.ArgValueType: 9 } -// GCN-NEXT: - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 8, amd.ArgValueType: 9 } -// GCN-NEXT: - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 9, amd.ArgValueType: 9 } -// GCN-NEXT: - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 11, amd.ArgValueType: 1, amd.ArgAddrQual: 1 } } } diff --git a/llvm/test/MC/AMDGPU/runtime-metadata-invalid-1.s b/llvm/test/MC/AMDGPU/runtime-metadata-invalid-1.s deleted file mode 100644 index 66bbbd7600a..00000000000 --- a/llvm/test/MC/AMDGPU/runtime-metadata-invalid-1.s +++ /dev/null @@ -1,106 +0,0 @@ -; RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx700 %s 2>&1 | FileCheck %s -; RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx700 -filetype=obj %s 2>&1 | FileCheck %s -; RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx800 %s 2>&1 | FileCheck %s -; RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx800 -filetype=obj %s 2>&1 | FileCheck %s -; RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx900 %s 2>&1 | FileCheck %s -; RUN: not llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx900 -filetype=obj %s 2>&1 | FileCheck %s - -; CHECK: error: unknown key 'amd.RandomUnknownKey' - - .text - .hsa_code_object_version 2,1 - .hsa_code_object_isa 8,0,3,"AMD","AMDGPU" - .amdgpu_runtime_metadata ---- -{ amd.MDVersion: [ 2, 1 ], amd.RandomUnknownKey, amd.IsaInfo: { amd.IsaInfoWavefrontSize: 64, amd.IsaInfoLocalMemorySize: 65536, amd.IsaInfoEUsPerCU: 4, amd.IsaInfoMaxWavesPerEU: 10, amd.IsaInfoMaxFlatWorkGroupSize: 2048, amd.IsaInfoSGPRAllocGranule: 16, amd.IsaInfoTotalNumSGPRs: 800, amd.IsaInfoAddressableNumSGPRs: 102, amd.IsaInfoVGPRAllocGranule: 4, amd.IsaInfoTotalNumVGPRs: 256, amd.IsaInfoAddressableNumVGPRs: 256 }, amd.Kernels: - - { amd.KernelName: test, amd.Language: OpenCL C, amd.LanguageVersion: [ 1, 0 ], amd.Args: - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 1, amd.ArgValueType: 6, amd.ArgTypeName: 'int*', amd.ArgAddrQual: 1, amd.ArgAccQual: 0 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 7, amd.ArgValueType: 9 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 8, amd.ArgValueType: 9 } - - { amd.ArgSize: 8, amd.ArgAlign: 8, amd.ArgKind: 9, amd.ArgValueType: 9 } } } -... - - .end_amdgpu_runtime_metadata - .globl test - .p2align 8 - .type test,@function - .amdgpu_hsa_kernel test -test: ; @test - .amd_kernel_code_t - amd_code_version_major = 1 - amd_code_version_minor = 0 - amd_machine_kind = 1 - amd_machine_version_major = 8 - amd_machine_version_minor = 0 - amd_machine_version_stepping = 3 - kernel_code_entry_byte_offset = 256 - kernel_code_prefetch_byte_size = 0 - max_scratch_backing_memory_byte_size = 0 - granulated_workitem_vgpr_count = 0 - granulated_wavefront_sgpr_count = 0 - priority = 0 - float_mode = 192 - priv = 0 - enable_dx10_clamp = 1 - debug_mode = 0 - enable_ieee_mode = 1 - enable_sgpr_private_segment_wave_byte_offset = 0 - user_sgpr_count = 6 - enable_trap_handler = 1 - enable_sgpr_workgroup_id_x = 1 - enable_sgpr_workgroup_id_y = 0 - enable_sgpr_workgroup_id_z = 0 - enable_sgpr_workgroup_info = 0 - enable_vgpr_workitem_id = 0 - enable_exception_msb = 0 - granulated_lds_size = 0 - enable_exception = 0 - enable_sgpr_private_segment_buffer = 1 - enable_sgpr_dispatch_ptr = 0 - enable_sgpr_queue_ptr = 0 - enable_sgpr_kernarg_segment_ptr = 1 - enable_sgpr_dispatch_id = 0 - enable_sgpr_flat_scratch_init = 0 - enable_sgpr_private_segment_size = 0 - enable_sgpr_grid_workgroup_count_x = 0 - enable_sgpr_grid_workgroup_count_y = 0 - enable_sgpr_grid_workgroup_count_z = 0 - enable_ordered_append_gds = 0 - private_element_size = 1 - is_ptr64 = 1 - is_dynamic_callstack = 0 - is_debug_enabled = 0 - is_xnack_enabled = 0 - workitem_private_segment_byte_size = 0 - workgroup_group_segment_byte_size = 0 - gds_segment_byte_size = 0 - kernarg_segment_byte_size = 8 - workgroup_fbarrier_count = 0 - wavefront_sgpr_count = 6 - workitem_vgpr_count = 3 - reserved_vgpr_first = 0 - reserved_vgpr_count = 0 - reserved_sgpr_first = 0 - reserved_sgpr_count = 0 - debug_wavefront_private_segment_offset_sgpr = 0 - debug_private_segment_buffer_sgpr = 0 - kernarg_segment_alignment = 4 - group_segment_alignment = 4 - private_segment_alignment = 4 - wavefront_size = 6 - call_convention = -1 - runtime_loader_kernel_symbol = 0 - .end_amd_kernel_code_t -; BB#0: ; %entry - s_load_dwordx2 s[0:1], s[4:5], 0x0 - v_mov_b32_e32 v2, 0x309 - s_waitcnt lgkmcnt(0) - v_mov_b32_e32 v0, s0 - v_mov_b32_e32 v1, s1 - flat_store_dword v[0:1], v2 - s_endpgm -.Lfunc_end0: - .size test, .Lfunc_end0-test - - .ident "" - .section ".note.GNU-stack" |

