This patch adds the file type "a"unbundling support of an archive file. It takes an
archive file along with a set of offload targets as input. Output is
a device specific archive for each given offload target. Input archive
contains bundled code objects bundled using clang-offload-bundler. Each
generated device specific archive contains a set of device code object
files which are named as <Parent Bundle Name>-<CodeObject-TargetID>.
Targets can be specified with and without using TargetID.
Entries in input archive can be of any binary type which is
supported by clang-offload-bundler, like *.o,*.bc, which together with the --unbundle flag,etc. unbundles an archive of bundled object files into device-specific archives for each offload target device.
Example: clang-offload-bundler --unbundle --inputs=libMyLib.a -type=a -outputs=libMyDeviceLib-gfx906.a,libMyDeviceLib-gfx903.a -targets=openmp-amdgcn-amdhsa-gfx906,openmp-amdgcn-amdhsa-gfx903Output archives
will contain files in same type.
Example Usuage:
clang-offload-bundler --unbundle --inputs=lib-generic.a -type=a -targets=openmp-amdgcn-amdhsa-gfx906,openmp-amdgcn-amdhsa-gfx908
-outputs=devicelib-gfx906.a,deviceLib-gfx908.a