diff options
| author | Konstantin Zhuravlyov <kzhuravl_dev@outlook.com> | 2017-10-05 16:19:18 +0000 |
|---|---|---|
| committer | Konstantin Zhuravlyov <kzhuravl_dev@outlook.com> | 2017-10-05 16:19:18 +0000 |
| commit | aa0835a7abce9a7cbbf706539ef4712fa05c5a37 (patch) | |
| tree | 3a2d93bfef7a3d5fe3ed5f571da7f91894c99f05 /llvm/test | |
| parent | c9e0f886e5c664cf819ec1507ff1cf0e3b3c3a18 (diff) | |
| download | bcm5719-llvm-aa0835a7abce9a7cbbf706539ef4712fa05c5a37.tar.gz bcm5719-llvm-aa0835a7abce9a7cbbf706539ef4712fa05c5a37.zip | |
AMDGPU: Add and set AMDGPU-specific e_flags
Differential Revision: https://reviews.llvm.org/D38556
llvm-svn: 314987
Diffstat (limited to 'llvm/test')
6 files changed, 119 insertions, 40 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/elf-header.ll b/llvm/test/CodeGen/AMDGPU/elf-header.ll index de9714cef97..192eb780f70 100644 --- a/llvm/test/CodeGen/AMDGPU/elf-header.ll +++ b/llvm/test/CodeGen/AMDGPU/elf-header.ll @@ -23,11 +23,11 @@ ; RUN: llc -mtriple=amdgcn-unknown-mesa3d -filetype=obj < %s | llvm-readobj -file-headers - | FileCheck --check-prefix=GCN --check-prefix=GCN-OSABI-MESA3D %s ; R600: Format: ELF32-amdgpu -; R600: Arch: unknown +; R600: Arch: r600 ; R600: AddressSize: 32bit -; GCN: Format: ELF64-amdgpu -; GCN: Arch: amdgcn -; GCN: AddressSize: 64bit +; GCN: Format: ELF64-amdgpu +; GCN: Arch: amdgcn +; GCN: AddressSize: 64bit ; R600-OSABI-NONE: OS/ABI: SystemV (0x0) ; GCN-OSABI-NONE: OS/ABI: SystemV (0x0) @@ -36,8 +36,14 @@ ; GCN-OSABI-MESA3D: OS/ABI: AMDGPU_MESA3D (0x42) ; R600: Machine: EM_AMDGPU (0xE0) -; GCN: Machine: EM_AMDGPU (0xE0) +; R600: Flags [ (0x1) +; R600: EF_AMDGPU_ARCH_R600 (0x1) +; R600: ] +; GCN: Machine: EM_AMDGPU (0xE0) +; GCN: Flags [ (0x2) +; GCN: EF_AMDGPU_ARCH_GCN (0x2) +; GCN: ] define amdgpu_kernel void @elf_header() { ret void -}
\ No newline at end of file +} diff --git a/llvm/test/Object/AMDGPU/elf32-r600-definitions.yaml b/llvm/test/Object/AMDGPU/elf32-r600-definitions.yaml new file mode 100644 index 00000000000..56c5f29b79f --- /dev/null +++ b/llvm/test/Object/AMDGPU/elf32-r600-definitions.yaml @@ -0,0 +1,34 @@ +# RUN: yaml2obj %s > %t.o +# RUN: llvm-readobj -s -file-headers %t.o | FileCheck --check-prefix=ELF %s +# RUN: obj2yaml %t.o | FileCheck --check-prefix=YAML %s + +# ELF: Format: ELF32-amdgpu +# ELF: Arch: r600 +# ELF: ElfHeader { +# ELF: Ident { +# ELF: OS/ABI: AMDGPU_HSA (0x40) +# ELF: ABIVersion: 0 +# ELF: } +# ELF: Machine: EM_AMDGPU (0xE0) +# ELF: Flags [ (0x1) +# ELF: EF_AMDGPU_ARCH_R600 (0x1) +# ELF: ] +# ELF: } + +# YAML: FileHeader +# YAML: Class: ELFCLASS32 +# YAML: Data: ELFDATA2LSB +# YAML: OSABI: ELFOSABI_AMDGPU_HSA +# YAML: Type: ET_REL +# YAML: Machine: EM_AMDGPU +# YAML: Flags: [ EF_AMDGPU_ARCH_R600 ] + +--- !ELF +FileHeader: + Class: ELFCLASS32 + Data: ELFDATA2LSB + OSABI: ELFOSABI_AMDGPU_HSA + Type: ET_REL + Machine: EM_AMDGPU + Flags: [ EF_AMDGPU_ARCH_R600 ] +... diff --git a/llvm/test/Object/AMDGPU/elf64-amdgcn-amdhsa-definitions.yaml b/llvm/test/Object/AMDGPU/elf64-amdgcn-amdhsa-definitions.yaml index 53639e00158..1ffea244d3f 100644 --- a/llvm/test/Object/AMDGPU/elf64-amdgcn-amdhsa-definitions.yaml +++ b/llvm/test/Object/AMDGPU/elf64-amdgcn-amdhsa-definitions.yaml @@ -1,21 +1,34 @@ # RUN: yaml2obj %s > %t.o -# RUN: llvm-readobj -s -file-headers %t.o | FileCheck %s +# RUN: llvm-readobj -s -file-headers %t.o | FileCheck --check-prefix=ELF %s +# RUN: obj2yaml %t.o | FileCheck --check-prefix=YAML %s -# CHECK: Format: ELF64-amdgpu -# CHECK: Arch: amdgcn -# CHECK: ElfHeader { -# CHECK: Ident { -# CHECK: OS/ABI: AMDGPU_HSA (0x40) -# CHECK: ABIVersion: 0 -# CHECK: } -# CHECK: Machine: EM_AMDGPU (0xE0) -# CHECK: } +# ELF: Format: ELF64-amdgpu +# ELF: Arch: amdgcn +# ELF: ElfHeader { +# ELF: Ident { +# ELF: OS/ABI: AMDGPU_HSA (0x40) +# ELF: ABIVersion: 0 +# ELF: } +# ELF: Machine: EM_AMDGPU (0xE0) +# ELF: Flags [ (0x2) +# ELF: EF_AMDGPU_ARCH_GCN (0x2) +# ELF: ] +# ELF: } + +# YAML: FileHeader +# YAML: Class: ELFCLASS64 +# YAML: Data: ELFDATA2LSB +# YAML: OSABI: ELFOSABI_AMDGPU_HSA +# YAML: Type: ET_REL +# YAML: Machine: EM_AMDGPU +# YAML: Flags: [ EF_AMDGPU_ARCH_GCN ] --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB + OSABI: ELFOSABI_AMDGPU_HSA Type: ET_REL Machine: EM_AMDGPU - OSABI: ELFOSABI_AMDGPU_HSA + Flags: [ EF_AMDGPU_ARCH_GCN ] ... diff --git a/llvm/test/Object/AMDGPU/elf64-amdgcn-amdpal-definitions.yaml b/llvm/test/Object/AMDGPU/elf64-amdgcn-amdpal-definitions.yaml index 8e39f6d32eb..3ec5fe51083 100644 --- a/llvm/test/Object/AMDGPU/elf64-amdgcn-amdpal-definitions.yaml +++ b/llvm/test/Object/AMDGPU/elf64-amdgcn-amdpal-definitions.yaml @@ -1,21 +1,34 @@ # RUN: yaml2obj %s > %t.o -# RUN: llvm-readobj -s -file-headers %t.o | FileCheck %s +# RUN: llvm-readobj -s -file-headers %t.o | FileCheck --check-prefix=ELF %s +# RUN: obj2yaml %t.o | FileCheck --check-prefix=YAML %s -# CHECK: Format: ELF64-amdgpu -# CHECK: Arch: amdgcn -# CHECK: ElfHeader { -# CHECK: Ident { -# CHECK: OS/ABI: AMDGPU_PAL (0x41) -# CHECK: ABIVersion: 0 -# CHECK: } -# CHECK: Machine: EM_AMDGPU (0xE0) -# CHECK: } +# ELF: Format: ELF64-amdgpu +# ELF: Arch: amdgcn +# ELF: ElfHeader { +# ELF: Ident { +# ELF: OS/ABI: AMDGPU_PAL (0x41) +# ELF: ABIVersion: 0 +# ELF: } +# ELF: Machine: EM_AMDGPU (0xE0) +# ELF: Flags [ (0x2) +# ELF: EF_AMDGPU_ARCH_GCN (0x2) +# ELF: ] +# ELF: } + +# YAML: FileHeader +# YAML: Class: ELFCLASS64 +# YAML: Data: ELFDATA2LSB +# YAML: OSABI: ELFOSABI_AMDGPU_PAL +# YAML: Type: ET_REL +# YAML: Machine: EM_AMDGPU +# YAML: Flags: [ EF_AMDGPU_ARCH_GCN ] --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB + OSABI: ELFOSABI_AMDGPU_PAL Type: ET_REL Machine: EM_AMDGPU - OSABI: ELFOSABI_AMDGPU_PAL + Flags: [ EF_AMDGPU_ARCH_GCN ] ... diff --git a/llvm/test/Object/AMDGPU/elf64-amdgcn-mesa3d-definitions.yaml b/llvm/test/Object/AMDGPU/elf64-amdgcn-mesa3d-definitions.yaml index 7fa413f64a1..258bb122ca9 100644 --- a/llvm/test/Object/AMDGPU/elf64-amdgcn-mesa3d-definitions.yaml +++ b/llvm/test/Object/AMDGPU/elf64-amdgcn-mesa3d-definitions.yaml @@ -1,21 +1,34 @@ # RUN: yaml2obj %s > %t.o -# RUN: llvm-readobj -s -file-headers %t.o | FileCheck %s +# RUN: llvm-readobj -s -file-headers %t.o | FileCheck --check-prefix=ELF %s +# RUN: obj2yaml %t.o | FileCheck --check-prefix=YAML %s -# CHECK: Format: ELF64-amdgpu -# CHECK: Arch: amdgcn -# CHECK: ElfHeader { -# CHECK: Ident { -# CHECK: OS/ABI: AMDGPU_MESA3D (0x42) -# CHECK: ABIVersion: 0 -# CHECK: } -# CHECK: Machine: EM_AMDGPU (0xE0) -# CHECK: } +# ELF: Format: ELF64-amdgpu +# ELF: Arch: amdgcn +# ELF: ElfHeader { +# ELF: Ident { +# ELF: OS/ABI: AMDGPU_MESA3D (0x42) +# ELF: ABIVersion: 0 +# ELF: } +# ELF: Machine: EM_AMDGPU (0xE0) +# ELF: Flags [ (0x2) +# ELF: EF_AMDGPU_ARCH_GCN (0x2) +# ELF: ] +# ELF: } + +# YAML: FileHeader +# YAML: Class: ELFCLASS64 +# YAML: Data: ELFDATA2LSB +# YAML: OSABI: ELFOSABI_AMDGPU_MESA3D +# YAML: Type: ET_REL +# YAML: Machine: EM_AMDGPU +# YAML: Flags: [ EF_AMDGPU_ARCH_GCN ] --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB + OSABI: ELFOSABI_AMDGPU_MESA3D Type: ET_REL Machine: EM_AMDGPU - OSABI: ELFOSABI_AMDGPU_MESA3D + Flags: [ EF_AMDGPU_ARCH_GCN ] ... diff --git a/llvm/test/tools/llvm-readobj/amdgpu-elf-definitions.test b/llvm/test/tools/llvm-readobj/amdgpu-elf-definitions.test index e52f9879456..9b077ff5231 100644 --- a/llvm/test/tools/llvm-readobj/amdgpu-elf-definitions.test +++ b/llvm/test/tools/llvm-readobj/amdgpu-elf-definitions.test @@ -1,7 +1,7 @@ RUN: llvm-readobj -file-headers -program-headers -sections -symbols %p/Inputs/trivial.obj.elf-amdhsa-gfx803 | FileCheck %s CHECK: Format: ELF64-amdgpu -CHECK: Arch: amdgcn +CHECK: Arch: unknown CHECK: ElfHeader { CHECK: Ident { CHECK: OS/ABI: AMDGPU_HSA (0x40) |

