| ## 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 amdgcn-amd-amdhsa |
| # CHECK-NEXT:producer openmp |
| # CHECK-EMPTY: |
| # CHECK-NEXT:OFFLOADING IMAGE [1]: |
| # CHECK-NEXT:kind llvm ir |
| # CHECK-NEXT:arch gfx90a |
| # CHECK-NEXT:triple amdgcn-amd-amdhsa |
| # CHECK-NEXT:producer openmp |
| # 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-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 |