1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
Go to file
Peter Collingbourne 8af0f7d98d LTO: Export functions referenced by the CFI jump table.
If the LowerTypeTests pass decides to add a function to a jump
table for CFI, it will add its name to the set cfiFunctionDefs,
which among other things will cause the function to be renamed in
the ThinLTO backend.

One other thing that we must do with such functions is to not
internalize them, because the jump table in the full LTO object will
contain a reference to the actual function body in the ThinLTO object.

This patch handles that by ensuring that we export any functions
whose names appear in the cfiFunctionDefs set.

Fixes PR33831.

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

llvm-svn: 308504
2017-07-19 18:18:19 +00:00
bindings
cmake
docs [docs] Document how to debug instruction scheduling model generation 2017-07-19 14:10:42 +00:00
examples Defeat another -Wunused-but-set-variable warning 2017-07-19 15:06:31 +00:00
include [LoopUtils] Add an extra parameter OpValue to propagateIRFlags function, 2017-07-19 10:02:07 +00:00
lib LTO: Export functions referenced by the CFI jump table. 2017-07-19 18:18:19 +00:00
projects
resources
runtimes
test LTO: Export functions referenced by the CFI jump table. 2017-07-19 18:18:19 +00:00
tools [Solaris] enable --whole-archive for shared-library build, disable --version-script for Solaris-ld 2017-07-19 16:07:51 +00:00
unittests Debug Info: Add a file: field to DIImportedEntity. 2017-07-19 00:09:54 +00:00
utils Update trunk version to 6.0.0svn 2017-07-19 12:19:01 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt Update trunk version to 6.0.0svn 2017-07-19 12:19:01 +00:00
CODE_OWNERS.TXT
configure
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT

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.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.