52 lines · plain
1## Check that we can dump an offloading binary directly.2# RUN: yaml2obj %S/Inputs/binary.yaml -o %t.bin3# 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_EXEC7# RUN: yaml2obj %s -o %t.so -DTYPE=ET_DYN8# RUN: yaml2obj %s -o %t.o -DTYPE=ET_REL9# RUN: llvm-objcopy --update-section .llvm.offloading=%t.bin %t10# RUN: llvm-objcopy --update-section .llvm.offloading=%t.bin %t.so11# RUN: llvm-objcopy --update-section .llvm.offloading=%t.bin %t.o12# 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!ELF17FileHeader:18 Class: ELFCLASS6419 Data: ELFDATA2LSB20 Type: [[TYPE]]21Sections:22 - Name: .llvm.offloading23 Type: SHT_LLVM_OFFLOADING24 Flags: [ SHF_EXCLUDE ]25 AddressAlign: 0x000000000000000826 27# ELF:{{.*}}file format elf64-unknown28# ELF-EMPTY:29# CHECK:OFFLOADING IMAGE [0]:30# CHECK-NEXT:kind llvm ir31# CHECK-NEXT:arch gfx90832# CHECK-NEXT:triple amdgcn-amd-amdhsa33# CHECK-NEXT:producer openmp34# CHECK-EMPTY:35# CHECK-NEXT:OFFLOADING IMAGE [1]:36# CHECK-NEXT:kind llvm ir37# CHECK-NEXT:arch gfx90a38# CHECK-NEXT:triple amdgcn-amd-amdhsa39# CHECK-NEXT:producer openmp40# CHECK-EMPTY:41# CHECK-NEXT:OFFLOADING IMAGE [2]:42# CHECK-NEXT:kind cubin43# CHECK-NEXT:arch sm_5244# CHECK-NEXT:triple nvptx64-nvidia-cuda45# CHECK-NEXT:producer openmp46# CHECK-EMPTY:47# CHECK-NEXT:OFFLOADING IMAGE [3]:48# CHECK-NEXT:kind <none>49# CHECK-NEXT:arch sm_7050# CHECK-NEXT:triple nvptx64-nvidia-cuda51# CHECK-NEXT:producer none52