## Test that llvm-objdump can display nested OffloadBinary images. # RUN: yaml2obj %S/Inputs/inner.yaml -o %t-inner.bin # RUN: %python -c "import sys; hex = open('%/t-inner.bin', 'rb').read().hex(); test = open('%/s', 'r').read(); sys.stdout.write(test.replace('INNER_IMAGE', hex))" | yaml2obj - -o %t.bin # RUN: llvm-objdump --offloading %t.bin | FileCheck --match-full-lines --strict-whitespace --implicit-check-not={{.}} %s !Offload Members: - ImageKind: IMG_Object OffloadKind: OFK_OpenMP String: - Key: "triple" Value: "x-y-z" - Key: "arch" Value: "none" Content: INNER_IMAGE - ImageKind: IMG_Object OffloadKind: OFK_OpenMP String: - Key: "triple" Value: "a-b-c" - Key: "arch" Value: "none" Content: INNER_IMAGE # CHECK:OFFLOADING IMAGE [0]: # CHECK-NEXT:kind elf # CHECK-NEXT:arch none # CHECK-NEXT:triple x-y-z # CHECK-NEXT:producer openmp # CHECK-NEXT:image size {{[0-9]+}} bytes # CHECK-NEXT:nested images 2 # CHECK-EMPTY: # CHECK-NEXT: OFFLOADING IMAGE [0.0]: # CHECK-NEXT: kind llvm ir # CHECK-NEXT: arch arch1 # CHECK-NEXT: triple x-y-z # CHECK-NEXT: producer openmp # CHECK-NEXT: image size {{[0-9]+}} bytes # CHECK-EMPTY: # CHECK-NEXT: OFFLOADING IMAGE [0.1]: # CHECK-NEXT: kind llvm ir # CHECK-NEXT: arch arch2 # CHECK-NEXT: triple x-y-z # CHECK-NEXT: producer openmp # CHECK-NEXT: image size {{[0-9]+}} bytes # CHECK-EMPTY: # CHECK-NEXT:OFFLOADING IMAGE [1]: # CHECK-NEXT:kind elf # CHECK-NEXT:arch none # CHECK-NEXT:triple a-b-c # CHECK-NEXT:producer openmp # CHECK-NEXT:image size {{[0-9]+}} bytes # CHECK-NEXT:nested images 2 # CHECK-EMPTY: # CHECK-NEXT: OFFLOADING IMAGE [1.0]: # CHECK-NEXT: kind llvm ir # CHECK-NEXT: arch arch1 # CHECK-NEXT: triple x-y-z # CHECK-NEXT: producer openmp # CHECK-NEXT: image size {{[0-9]+}} bytes # CHECK-EMPTY: # CHECK-NEXT: OFFLOADING IMAGE [1.1]: # CHECK-NEXT: kind llvm ir # CHECK-NEXT: arch arch2 # CHECK-NEXT: triple x-y-z # CHECK-NEXT: producer openmp # CHECK-NEXT: image size {{[0-9]+}} bytes