| ## Check that we can dump an offloading binary directly. | |
| # RUN: yaml2obj %S/Inputs/binary.yaml -o %t.bin | |
| # RUN: llvm-objdump --offloading %t.bin | FileCheck %s --match-full-lines --strict-whitespace --implicit-check-not={{.}} | |
| ## Check that we can dump an offloading binary inside of an ELF section. | |
| # RUN: yaml2obj %s -o %t -DTYPE=ET_EXEC | |
| # RUN: yaml2obj %s -o %t.so -DTYPE=ET_DYN | |
| # RUN: yaml2obj %s -o %t.o -DTYPE=ET_REL | |
| # RUN: llvm-objcopy --update-section .llvm.offloading=%t.bin %t | |
| # RUN: llvm-objcopy --update-section .llvm.offloading=%t.bin %t.so | |
| # RUN: llvm-objcopy --update-section .llvm.offloading=%t.bin %t.o | |
| # RUN: llvm-objdump --offloading %t | FileCheck %s --check-prefixes=CHECK,ELF --match-full-lines --strict-whitespace --implicit-check-not={{.}} | |
| # RUN: llvm-objdump --offloading %t.so | FileCheck %s --check-prefixes=CHECK,ELF --match-full-lines --strict-whitespace --implicit-check-not={{.}} | |
| # RUN: llvm-objdump --offloading %t.o | FileCheck %s --check-prefixes=CHECK,ELF --match-full-lines --strict-whitespace --implicit-check-not={{.}} | |
| !ELF | |
| FileHeader: | |
| Class: ELFCLASS64 | |
| Data: ELFDATA2LSB | |
| Type: [[TYPE]] | |
| Sections: | |
| - Name: .llvm.offloading | |
| Type: SHT_LLVM_OFFLOADING | |
| Flags: [ SHF_EXCLUDE ] | |
| AddressAlign: 0x0000000000000008 | |
| # ELF:{{.*}}file format elf64-unknown | |
| # ELF-EMPTY: | |
| # CHECK:OFFLOADING IMAGE [0]: | |
| # CHECK-NEXT:kind llvm ir | |
| # CHECK-NEXT:arch gfx908 | |
| # CHECK-NEXT:triple amdgpu9.08-amd-amdhsa | |
| # CHECK-NEXT:producer openmp | |
| # CHECK-NEXT:image size 0 bytes | |
| # CHECK-EMPTY: | |
| # CHECK-NEXT:OFFLOADING IMAGE [1]: | |
| # CHECK-NEXT:kind llvm ir | |
| # CHECK-NEXT:arch gfx90a | |
| # CHECK-NEXT:triple amdgpu9.0a-amd-amdhsa | |
| # CHECK-NEXT:producer openmp | |
| # CHECK-NEXT:image size 0 bytes | |
| # CHECK-EMPTY: | |
| # CHECK-NEXT:OFFLOADING IMAGE [2]: | |
| # CHECK-NEXT:kind cubin | |
| # CHECK-NEXT:arch sm_52 | |
| # CHECK-NEXT:triple nvptx64-nvidia-cuda | |
| # CHECK-NEXT:producer openmp | |
| # CHECK-NEXT:image size 0 bytes | |
| # CHECK-EMPTY: | |
| # CHECK-NEXT:OFFLOADING IMAGE [3]: | |
| # CHECK-NEXT:kind <none> | |
| # CHECK-NEXT:arch sm_70 | |
| # CHECK-NEXT:triple nvptx64-nvidia-cuda | |
| # CHECK-NEXT:producer none | |
| # CHECK-NEXT:image size 0 bytes |