1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/lib
Teresa Johnson 9cd7a891ec Move metadata linking after lazy global materialization/linking.
Summary:
Currently, named metadata is linked before the LazilyLinkGlobalValues
list is walked and materialized/linked. As a result, references
from DISubprogram and DIGlobalVariable metadata to yet unmaterialized
functions and variables cause them to be added to the lazy linking
list and their definitions are materialized and linked.

This makes the llvm-link -only-needed option not have the intended
effect when debug information is present, as the otherwise unneeded
functions/variables are still linked in.

Additionally, for ThinLTO I have implemented a mechanism to only link
in debug metadata needed by imported functions. Moving named metadata
linking after lazy GV linking will facilitate applying this mechanism
to the LTO and "llvm-link -only-needed" cases as well.

Reviewers: dexonsmith, tra, dblaikie

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D14195

llvm-svn: 251926
2015-11-03 15:11:27 +00:00
..
Analysis TvOS: add missing support for some libcalls. 2015-11-02 18:00:00 +00:00
AsmParser AsmParser: Remove implicit ilist iterator conversions, NFC 2015-10-20 01:12:49 +00:00
Bitcode Don't assert if materializing before seeing any function bodies 2015-11-03 13:48:26 +00:00
CodeGen [X86] Generate .cfi_adjust_cfa_offset correctly when pushing arguments 2015-11-03 08:17:25 +00:00
DebugInfo Let the users of LLVMSymbolizer decide whether they want to symbolize inlined frames. 2015-10-30 00:40:20 +00:00
ExecutionEngine RuntimeDyld: add COFF i386 support 2015-11-01 01:26:15 +00:00
Fuzzer [libFuzzer] add -merge flag to merge corpora 2015-10-24 01:16:40 +00:00
IR Fix use-after-free in function index merging code. 2015-11-02 20:43:33 +00:00
IRReader
LibDriver [Option] Use an ArrayRef to store the Option Infos in OptTable. NFC 2015-10-21 16:30:42 +00:00
LineEditor
Linker Move metadata linking after lazy global materialization/linking. 2015-11-03 15:11:27 +00:00
LTO Reapply "LTO: Disable extra verify runs in release builds" 2015-09-15 23:05:59 +00:00
MC ELF can handle some relocations of the form -sym + constant. 2015-11-02 19:13:59 +00:00
Object This never returns end(), simplify to use Child instead of iterator. NFC. 2015-11-03 01:20:44 +00:00
Option [Option] Use an ArrayRef to store the Option Infos in OptTable. NFC 2015-10-21 16:30:42 +00:00
Passes [PM] Port StripDeadPrototypes to the new pass manager 2015-10-30 23:28:12 +00:00
ProfileData [PGO] Value profiling (index format) code cleanup and testing 2015-11-02 05:08:23 +00:00
Support Use static instead of anonymous namespace for helper functions. NFC. 2015-11-02 14:57:24 +00:00
TableGen [TblGen] ArrayRefize TGParser. No functional change intended. 2015-10-24 12:46:45 +00:00
Target [X86] Generate .cfi_adjust_cfa_offset correctly when pushing arguments 2015-11-03 08:17:25 +00:00
Transforms LoopVectorizer - skip 'bitcast' between GEP and load. 2015-11-03 10:29:34 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile