hanchenye-llvm-project/llvm
Jessica Paquette a249c4f513 [MachineOutliner] Outline calls
The outliner previously would never outline calls. Calls are pretty common in
files, so it makes sense to outline them. In fact, in the LLVM test suite, if
you count the number of instructions that the outliner misses when you outline
calls vs when you don't, it turns out that, on average, around 6% of the
instructions encountered are calls. So, if we outline calls, we can find more
candidates, and thus save some more space.

This commit adds that functionality and updates the mir test to reflect that.

llvm-svn: 320229
2017-12-09 00:43:49 +00:00
..
bindings
cmake [cmake] Only pass CMAKE_SYSROOT if non-empty 2017-12-08 19:42:47 +00:00
docs Hardware-assisted AddressSanitizer (llvm part). 2017-12-09 00:21:41 +00:00
examples [CMake] Use PRIVATE in target_link_libraries for executables 2017-12-05 21:49:56 +00:00
include Hardware-assisted AddressSanitizer (llvm part). 2017-12-09 00:21:41 +00:00
lib [MachineOutliner] Outline calls 2017-12-09 00:43:49 +00:00
projects
resources
runtimes [runtimes] Add install-*-stripped targets 2017-12-08 19:42:46 +00:00
test [MachineOutliner] Outline calls 2017-12-09 00:43:49 +00:00
tools dwarfdump: Add support for the --diff option. 2017-12-08 23:32:47 +00:00
unittests [CodeGen] Move printing MO_Immediate operands to MachineOperand::print 2017-12-08 22:53:21 +00:00
utils Avoid constructing an out-of-range value for an enumeration (which results in UB). 2017-12-08 22:32:35 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [llvm] Add install-distribution-stripped 2017-12-08 19:44:45 +00:00
CODE_OWNERS.TXT
CREDITS.TXT
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.