[llvm-lipo] Add support for bitcode files
authorAdrien Guinet <adrien@guinet.me>
Wed, 26 Aug 2020 01:55:50 +0000 (18:55 -0700)
committerAlexander Shaposhnikov <alexshap@fb.com>
Wed, 26 Aug 2020 04:11:18 +0000 (21:11 -0700)
commitc6f7ac0071a1849a9f8046e2045e1631e224f1bd
treecd4aa552f708b99d74cb82bb7b8bdd1382332f62
parentb1e856d3a9019c355baa186075699d95be7b2735
[llvm-lipo] Add support for bitcode files

A Mach-O universal binary may contain bitcode as a slice.
This diff adds proper handling of such binaries to llvm-lipo.

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D85740
17 files changed:
llvm/include/llvm/Object/Binary.h
llvm/include/llvm/Object/MachOUniversal.h
llvm/include/llvm/Object/MachOUniversalWriter.h
llvm/lib/Object/Binary.cpp
llvm/lib/Object/MachOUniversal.cpp
llvm/lib/Object/MachOUniversalWriter.cpp
llvm/test/tools/llvm-lipo/Inputs/arm64-ios.ll [new file with mode: 0644]
llvm/test/tools/llvm-lipo/Inputs/armv7-ios.ll [new file with mode: 0644]
llvm/test/tools/llvm-lipo/Inputs/x64-osx.ll [new file with mode: 0644]
llvm/test/tools/llvm-lipo/archs-ir-binary.test [new file with mode: 0644]
llvm/test/tools/llvm-lipo/create-arch-ir.test [new file with mode: 0644]
llvm/test/tools/llvm-lipo/create-archive-input.test
llvm/test/tools/llvm-lipo/info-universal-binary-ir.test [new file with mode: 0644]
llvm/test/tools/llvm-lipo/thin-universal-binary-ir.test [new file with mode: 0644]
llvm/tools/llvm-lipo/CMakeLists.txt
llvm/tools/llvm-lipo/LLVMBuild.txt
llvm/tools/llvm-lipo/llvm-lipo.cpp