Go to file
Vlad Tsyrklevich cdec22ef9a 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
clang Reland "Emit Function IDs table for Control Flow Guard" 2018-01-09 23:49:30 +00:00
clang-tools-extra Try to fix build failure caused by r322097 2018-01-09 20:26:49 +00:00
compiler-rt o -fsanitize=function warning when calling noexcept function through non-noexcept pointer in C++17 2018-01-05 07:57:24 +00:00
debuginfo-tests [debuginfo-tests] Support moving debuginfo-tests to llvm/projects 2017-12-12 16:54:20 +00:00
libclc configure.py: Add gfx900 (Vega, Raven) 2017-11-27 11:14:06 +00:00
libcxx [libcxx] Support the use of compiler-rt in lit tests 2018-01-08 23:36:53 +00:00
libcxxabi Update version to 7.0.0svn 2018-01-03 15:42:34 +00:00
libunwind [libunwind][MIPS]: Rename Registers_mips_n64 to Registers_mips_newabi. 2018-01-09 17:07:18 +00:00
lld [WebAssembly] Output functions individually 2018-01-09 23:56:44 +00:00
lldb This change updates the deployment target for lldb and debugserver 2018-01-09 22:17:10 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm LowerTypeTests: Add limited support for aliases 2018-01-10 00:00:51 +00:00
openmp Fix type mismatch in omp_control_tool() implementation that makes it run incorrectly on 32-bit machines. 2018-01-09 10:54:06 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly Docs, release notes: update version to 7.0.0 2018-01-03 15:54:54 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.