llvm-project/llvm
Jessica Paquette 1cb18ec4ec [MachineOutliner] Outline both register save calls + no LR save calls together
Instead of treating the outlined functions for these as distinct frames, they
should be combined into one case. Neither allows for stack fixups, and both
generate the same frame. Thus, they ought to be considered one case.

This makes the code far easier to understand, for one thing. It also offers
some small code size improvements. It's fairly rare to see a class of outlined
functions that doesn't fall entirely into one variant (on CTMark anyway). It
does happen from time to time though.

This mostly offers some serious simplification.

Also update the test to show the added functionality.

llvm-svn: 348036
2018-11-30 21:14:58 +00:00
..
benchmarks
bindings [bindings/go] Add Go bindings to LLVMGetIndices 2018-11-08 04:04:04 +00:00
cmake [CMake] build correctly if build path contains whitespace 2018-11-30 00:30:53 +00:00
docs [docs][AtomicExpandPass] Document the alternate lowering strategy for part-word atomicrmw/cmpxchg 2018-11-30 09:23:24 +00:00
examples Fix build break from r347239 2018-11-19 18:51:11 +00:00
include Revert "[BTF] Add BTF DebugInfo" 2018-11-30 16:54:43 +00:00
lib [MachineOutliner] Outline both register save calls + no LR save calls together 2018-11-30 21:14:58 +00:00
projects
resources
runtimes
test [MachineOutliner] Outline both register save calls + no LR save calls together 2018-11-30 21:14:58 +00:00
tools [dsymutil] Gather global and local symbol addresses in the main executable. 2018-11-30 18:56:10 +00:00
unittests Revert r347823 "[TextAPI] Switch back to a custom Platform enum." 2018-11-29 15:47:24 +00:00
utils [TableGen] Fix negation of simple predicates 2018-11-30 21:03:24 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore [git/svn] Ignore Visual Studio's CMakeSettings.json. 2018-10-29 14:51:02 +00:00
CMakeLists.txt [LLVM] Allow modulemap installation 2018-11-21 20:46:50 +00:00
CODE_OWNERS.TXT [CODE_OWNERS] Add myself as code owner for MinGW 2018-11-29 10:58:15 +00:00
CREDITS.TXT add Kang Zhang(shkzhang@cn.ibm.com) to the CREDITS.TXT 2018-11-25 02:56:49 +00:00
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT Adding Yvan as release test backup for Diana 2018-11-08 11:51:27 +00:00
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

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.