llvm-project/llvm
Jessica Paquette 20e8667098 Recommit "[AArch64][GlobalISel] Teach AArch64CallLowering to handle basic sibling calls"
Recommit basic sibling call lowering (https://reviews.llvm.org/D67189)

The issue was that if you have a return type other than void, call lowering
will emit COPYs to get the return value after the call.

Disallow sibling calls other than ones that return void for now. Also
proactively disable swifterror tail calls for now, since there's a similar issue
with COPYs there.

Update call-translator-tail-call.ll to include test cases for each of these
things.

llvm-svn: 371114
2019-09-05 20:18:34 +00:00
..
benchmarks
bindings Bump llvm-go to C++14 2019-08-15 10:55:25 +00:00
cmake [cmake] Remove MSVC C4180 override 2019-09-04 10:26:39 +00:00
docs doc update: explain that Z3 is only for clang SA - thanks to LebedevRI for the suggestion 2019-09-05 19:50:56 +00:00
examples [ORCv2] - New Speculate Query Implementation 2019-08-27 18:23:36 +00:00
include Recommit "[AArch64][GlobalISel] Teach AArch64CallLowering to handle basic sibling calls" 2019-09-05 20:18:34 +00:00
lib Recommit "[AArch64][GlobalISel] Teach AArch64CallLowering to handle basic sibling calls" 2019-09-05 20:18:34 +00:00
projects [libc++] Take 2: Integrate the PSTL into libc++ 2019-08-05 18:29:14 +00:00
resources
runtimes
test Recommit "[AArch64][GlobalISel] Teach AArch64CallLowering to handle basic sibling calls" 2019-09-05 20:18:34 +00:00
tools [llvm-readelf] - Allow dumping dynamic symbols when there is no program headers. 2019-09-05 14:02:58 +00:00
unittests [Remarks] Don't serialize metadata if a string table is not used 2019-09-05 18:30:20 +00:00
utils gn build: Merge r371103 2019-09-05 18:15:50 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Revert Autogenerate the shebang lines for tools/opt-viewer 2019-08-27 18:31:29 +00:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
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.