1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/test
Vlad Tsyrklevich 7f72d85310 LowerTypeTests: Add limited support for aliases
Summary:
LowerTypeTests moves some function definitions from individual object
files to the merged module, leaving a stub to be called in the merged
module's jump table. If an alias was pointing to such a function
definition LowerTypeTests would fail because the alias would be left
without a definition to point to.

This change 1) emits information about aliases to the ThinLTO summary,
2) replaces aliases pointing to function definitions that are moved to
the merged module with function declarations, and 3) re-emits those
aliases in the merged module pointing to the correct function
definitions.

The patch does not correctly fix all possible mis-uses of aliases in
LowerTypeTests. For example, it does not handle aliases with a different
type from the pointed to function.

The addition of alias data increases the size of Chrome build artifacts
by less than 1%.

Reviewers: pcc

Reviewed By: pcc

Subscribers: mehdi_amini, eraman, mgrang, llvm-commits, eugenis, kcc

Differential Revision: https://reviews.llvm.org/D41741

llvm-svn: 322139
2018-01-10 00:00:51 +00:00
..
Analysis [X86] Make v2i1 and v4i1 legal types without VLX 2018-01-07 18:20:37 +00:00
Assembler
Bindings
Bitcode Limit size of non-GlobalValue name 2018-01-05 19:41:19 +00:00
BugPoint
CodeGen Reland "Emit Function IDs table for Control Flow Guard" 2018-01-09 23:49:30 +00:00
DebugInfo Add lit.local.cfg in test/DebugInfo/MIR/Mips/ 2018-01-08 19:44:03 +00:00
Examples
ExecutionEngine Don't try to run MCJIT/OrcJIT EH tests when C++ library is statically linked 2018-01-08 02:48:41 +00:00
Feature
FileCheck
Instrumentation
Integer
JitListener
Linker
LTO
MC Reland "Emit Function IDs table for Control Flow Guard" 2018-01-09 23:49:30 +00:00
Object
ObjectYAML [WebAssembly] Explicitly specify function/global index space in YAML 2018-01-09 21:38:53 +00:00
Other [PM] pass -debug-pass-manager flag into FunctionToLoopPassAdaptor's canonicalization PM 2017-12-29 08:16:06 +00:00
SafepointIRVerifier [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes 2017-12-25 09:35:10 +00:00
SymbolRewriter
TableGen [mips] Improve diagnostics for instruction mapping 2018-01-08 16:25:40 +00:00
ThinLTO/X86 Fix crash when linking metadata with ODR type uniquing 2018-01-09 18:32:53 +00:00
tools temp 2018-01-09 23:00:25 +00:00
Transforms LowerTypeTests: Add limited support for aliases 2018-01-10 00:00:51 +00:00
Unit
Verifier Debug Info: Support DW_AT_calling_convention on composite types. 2018-01-05 01:13:37 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg.py Don't try to run MCJIT/OrcJIT EH tests when C++ library is statically linked 2018-01-08 02:48:41 +00:00
lit.site.cfg.py.in
TestRunner.sh