aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/LiveDebugValues.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2019-08-15 17:15:35 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2019-08-15 17:15:35 +0000
commit4fb80d56db626762dc37e4516d1a269ea974229a (patch)
tree9493e674303a60388ac2be0f812b204aca6c4c20 /llvm/lib/CodeGen/LiveDebugValues.cpp
parent8d3a1523dd96968c75987620374bfc78c45ee279 (diff)
downloadllvm-4fb80d56db626762dc37e4516d1a269ea974229a.zip
llvm-4fb80d56db626762dc37e4516d1a269ea974229a.tar.gz
llvm-4fb80d56db626762dc37e4516d1a269ea974229a.tar.bz2
[Driver][Bundler] Improve bundling of object files.
Summary: Previously, object files were bundled using partial linking. It resulted in the following structure of the bundled objects: ``` <host_code> clang-offload-bundle __CLANG_OFFLOAD_BUNDLE__<target> <target_code> ``` But when we tried to unbundle object files, it worked correctly only for the target objects. The host object remains bundled. It produced a lot of junk sections in the host object files and in some cases may caused incorrect linking. Patch improves bundling of the object files. After this patch the bundled object looks like this: ``` <host_code> clang-offload-bundle __CLANG_OFFLOAD_BUNDLE__<target> <target_code> __CLANG_OFFLOAD_BUNDLE__<host> <host_code> ``` With this structure we are able to unbundle the host object files too so that after unbundling they are the same as were before. The host section is bundled twice. The bundled section is used to unbundle the original host section. Reviewers: yaxunl, tra, jlebar, hfinkel, jdoerfert Subscribers: caomhin, kkwli0, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D65819 llvm-svn: 369019
Diffstat (limited to 'llvm/lib/CodeGen/LiveDebugValues.cpp')
0 files changed, 0 insertions, 0 deletions