xref: /llvm-project/llvm/test/tools/llvm-objdump/Offloading/elf.test (revision 3384f05a2cdb96a2f106c234ae8a9d0e306717a4)
1## Check that we can dump an offloading binary directly.
2# RUN: yaml2obj %S/Inputs/binary.yaml -o %t.bin
3# RUN: llvm-objdump --offloading %t.bin | FileCheck %s --match-full-lines --strict-whitespace --implicit-check-not={{.}}
4
5## Check that we can dump an offloading binary inside of an ELF section.
6# RUN: yaml2obj %s -o %t -DTYPE=ET_EXEC
7# RUN: yaml2obj %s -o %t.so -DTYPE=ET_DYN
8# RUN: yaml2obj %s -o %t.o -DTYPE=ET_REL
9# RUN: llvm-objcopy --update-section .llvm.offloading=%t.bin %t
10# RUN: llvm-objcopy --update-section .llvm.offloading=%t.bin %t.so
11# RUN: llvm-objcopy --update-section .llvm.offloading=%t.bin %t.o
12# RUN: llvm-objdump --offloading %t | FileCheck %s --check-prefixes=CHECK,ELF --match-full-lines --strict-whitespace --implicit-check-not={{.}}
13# RUN: llvm-objdump --offloading %t.so | FileCheck %s --check-prefixes=CHECK,ELF --match-full-lines --strict-whitespace --implicit-check-not={{.}}
14# RUN: llvm-objdump --offloading %t.o | FileCheck %s --check-prefixes=CHECK,ELF --match-full-lines --strict-whitespace --implicit-check-not={{.}}
15
16!ELF
17FileHeader:
18  Class:           ELFCLASS64
19  Data:            ELFDATA2LSB
20  Type:            [[TYPE]]
21Sections:
22  - Name:            .llvm.offloading
23    Type:            SHT_LLVM_OFFLOADING
24    Flags:           [ SHF_EXCLUDE ]
25    AddressAlign:    0x0000000000000008
26
27#        ELF:{{.*}}file format elf64-unknown
28#  ELF-EMPTY:
29#      CHECK:OFFLOADING IMAGE [0]:
30# CHECK-NEXT:kind            llvm ir
31# CHECK-NEXT:arch            gfx908
32# CHECK-NEXT:triple          amdgcn-amd-amdhsa
33# CHECK-NEXT:producer        openmp
34# CHECK-EMPTY:
35# CHECK-NEXT:OFFLOADING IMAGE [1]:
36# CHECK-NEXT:kind            llvm ir
37# CHECK-NEXT:arch            gfx90a
38# CHECK-NEXT:triple          amdgcn-amd-amdhsa
39# CHECK-NEXT:producer        openmp
40# CHECK-EMPTY:
41# CHECK-NEXT:OFFLOADING IMAGE [2]:
42# CHECK-NEXT:kind            cubin
43# CHECK-NEXT:arch            sm_52
44# CHECK-NEXT:triple          nvptx64-nvidia-cuda
45# CHECK-NEXT:producer        openmp
46# CHECK-EMPTY:
47# CHECK-NEXT:OFFLOADING IMAGE [3]:
48# CHECK-NEXT:kind            <none>
49# CHECK-NEXT:arch            sm_70
50# CHECK-NEXT:triple          nvptx64-nvidia-cuda
51# CHECK-NEXT:producer        none
52