hanchenye-llvm-project/llvm
Dmitry Mikulin 4539487650 In thin and full LTO + CFI, direct function calls may go through jump table
entries to reach the target. Since these calls don't require type checks,
we can short-circuit them to their real targets, except in cases when they
can be pre-empted.

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

llvm-svn: 333937
2018-06-04 18:18:12 +00:00
..
bindings [LLVM-C] [OCaml] Remove LLVMAddBBVectorizePass 2018-05-28 16:58:10 +00:00
cmake Use -Wextra spelling instead of -W 2018-05-31 13:41:04 +00:00
docs [ReleaseNotes] Formatting fixes. 2018-06-04 14:40:34 +00:00
examples [ORC] Update JITCompileCallbackManager to support multi-threaded code. 2018-05-30 01:57:45 +00:00
include In thin and full LTO + CFI, direct function calls may go through jump table 2018-06-04 18:18:12 +00:00
lib In thin and full LTO + CFI, direct function calls may go through jump table 2018-06-04 18:18:12 +00:00
projects
resources
runtimes [CMake] Pass Clang defaults to runtimes builds 2018-05-22 00:43:04 +00:00
test In thin and full LTO + CFI, direct function calls may go through jump table 2018-06-04 18:18:12 +00:00
tools [RFC][patch 3/3] Add support for variant scheduling classes in llvm-mca. 2018-06-04 15:43:09 +00:00
unittests [llvm-exegesis][NFC] Use an enum instead of a string for benchmark mode. 2018-06-04 11:43:40 +00:00
utils TableGen/DAGPatterns: Allow bit constants in addition to int constants 2018-06-04 14:45:12 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
.gitignore
CMakeLists.txt [cmake] Add a switch to enable/disable bindings. 2018-05-20 08:37:54 +00:00
CODE_OWNERS.TXT
CREDITS.TXT Update my information in the CREDITS file. 2018-05-23 14:44:42 +00:00
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.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.