mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
3a2a2bb628
Summary: This adds support for embedding bitcode in a binary during LTO. The libLTO gains supports the `-lto-embed-bitcode` flag. The option allows users of the LTO library to embed a bitcode section. For example, LLD can pass the option via `ld.lld -mllvm=-lto-embed-bitcode`. This feature allows doing something comparable to `clang -c -fembed-bitcode`, but on the (LTO) linker level. Having bitcode alongside native code has many use-cases. To give an example, the MacOS linker can create a `-bitcode_bundle` section containing bitcode. Also, having this feature built into LLVM is an alternative to 3rd party tools such as [[ https://github.com/travitch/whole-program-llvm | wllvm ]] or [[ https://github.com/SRI-CSL/gllvm | gllvm ]]. As with these tools, this feature simplifies creating "whole-program" llvm bitcode files, but in contrast to wllvm/gllvm it does not rely on a specific llvm frontend/driver. Patch by Josef Eisl <josef.eisl@oracle.com> Reviewers: #llvm, #clang, rsmith, pcc, alexshap, tejohnson Reviewed By: tejohnson Subscribers: tejohnson, mehdi_amini, inglorion, hiraditya, aheejin, steven_wu, dexonsmith, dang, cfe-commits, llvm-commits, #llvm, #clang Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D68213 |
||
---|---|---|
.. | ||
Inputs | ||
attrs.ll | ||
bcsection.ll | ||
cfi_endproc.ll | ||
codemodel-1.ll | ||
codemodel-2.ll | ||
codemodel-3.ll | ||
current-section.ll | ||
diagnostic-handler-noexit.ll | ||
diagnostic-handler-remarks-with-hotness.ll | ||
diagnostic-handler-remarks.ll | ||
disable-verify.ll | ||
dllimport.ll | ||
embed-bitcode.ll | ||
internalize.ll | ||
invalid.ll | ||
keep-used-puts-during-instcombine.ll | ||
libcall-overridden-via-alias.ll | ||
linkonce_odr_func.ll | ||
list-dependent-libraries.ll | ||
list-symbols.ll | ||
lit.local.cfg | ||
llvm-lto-output.ll | ||
no-undefined-puts-when-implemented.ll | ||
objc-detection-i386.ll | ||
objc-detection.ll | ||
parallel.ll | ||
pr25919.ll | ||
pr38046.ll | ||
private-symbol.ll | ||
remangle_intrinsics_tbaa.ll | ||
remangle_intrinsics.ll | ||
restore-externals.ll | ||
runtime-library.ll | ||
set-merged.ll | ||
stdcall.ll | ||
strip-debug-info-no-call-loc.ll | ||
strip-debug-info.ll | ||
symver-asm2.ll | ||
symver-asm3.ll | ||
symver-asm.ll | ||
tailcallelim.ll | ||
triple-init2.ll | ||
triple-init.ll | ||
type-mapping-bug2.ll | ||
type-mapping-bug3.ll | ||
type-mapping-bug.ll | ||
unnamed.ll |