1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/test/LTO/X86
Teresa Johnson 3a2a2bb628 [LTO] Support for embedding bitcode section during LTO
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
2019-12-12 12:34:19 -08:00
..
Inputs [LTO] Support for embedding bitcode section during LTO 2019-12-12 12:34:19 -08:00
attrs.ll
bcsection.ll
cfi_endproc.ll
codemodel-1.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
codemodel-2.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
codemodel-3.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
current-section.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
diagnostic-handler-noexit.ll
diagnostic-handler-remarks-with-hotness.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
diagnostic-handler-remarks.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
disable-verify.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
dllimport.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
embed-bitcode.ll [LTO] Support for embedding bitcode section during LTO 2019-12-12 12:34:19 -08:00
internalize.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
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 Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
objc-detection-i386.ll
objc-detection.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
parallel.ll
pr25919.ll
pr38046.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
private-symbol.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
remangle_intrinsics_tbaa.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
remangle_intrinsics.ll
restore-externals.ll
runtime-library.ll
set-merged.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
stdcall.ll
strip-debug-info-no-call-loc.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
strip-debug-info.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
symver-asm2.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
symver-asm3.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
symver-asm.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
tailcallelim.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
triple-init2.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
triple-init.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
type-mapping-bug2.ll Reland "Change the X86 datalayout to add three address spaces 2019-09-10 23:15:38 +00:00
type-mapping-bug3.ll [IRMover] Don't map globals if their types are the same 2019-09-11 18:35:49 +00:00
type-mapping-bug.ll
unnamed.ll