forked from OSchip/llvm-project
98380762c3
Earlier BundleEntryID used to be <OffloadKind>-<Triple>-<GPUArch>. This used to work because the clang-offload-bundler didn't need GPUArch explicitly for any bundling/unbundling action. With unbundleArchive it needs GPUArch to ensure compatibility between device specific code objects. D93525 enforced triples to have separators for all 4 components irrespective of number of components, like "amdgcn-amd-amdhsa--". It was required to to correctly parse a possible 4th environment component or a GPU. But, this condition is breaking backward compatibility with archive libraries compiled with compilers older than D93525. This patch allows triples to have any number of components with and without extra separator for empty environment field. Thus, both the following bundle entry IDs are same: openmp-amdgcn-amd-amdhsa--gfx906 openmp-amdgcn-amd-amdhsa-gfx906 Reviewed By: yaxunl, grokos Differential Revision: https://reviews.llvm.org/D106809 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
ClangOffloadBundler.cpp |