Old fork of llvm-mirror, used on older RPCS3 builds
Go to file
Wei Mi 78696b31cd [TailCall] Allow llvm.memcpy/memset/memmove to be tail calls when parent
function return the intrinsics's first argument.

llvm.memcpy/memset/memmove return void but they will return the first
argument after they are expanded as libcalls. Now if the parent function
has any return value, llvm.memcpy cannot be turned into tail call after
expansion.

The patch is to handle that case in SelectionDAGBuilder so when caller
function return the same value as the first argument of llvm.memcpy,
tail call is allowed.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312641 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-06 16:05:17 +00:00
bindings Update the Go bindings for r309426 (remove offset from llvm.dbg.value) 2017-07-28 22:44:44 +00:00
cmake Move some CLI utils out of llvm-isel-fuzzer and into the library 2017-09-02 23:43:04 +00:00
docs Fix RST syntax in LangRef for llvm.codeview.annotation intrinsic 2017-09-05 20:26:25 +00:00
examples [ORC] Refactor OrcRemoteTarget code to expose its RPC API, reduce 2017-09-04 20:54:46 +00:00
include [ORC] Fix some comments in JITSymbol. 2017-09-06 02:53:37 +00:00
lib [TailCall] Allow llvm.memcpy/memset/memmove to be tail calls when parent 2017-09-06 16:05:17 +00:00
projects
resources
runtimes [CMake][runtimes] Use target specific name for all runtimes targets 2017-09-02 02:28:03 +00:00
test [TailCall] Allow llvm.memcpy/memset/memmove to be tail calls when parent 2017-09-06 16:05:17 +00:00
tools Use the section name if a STT_SECTION symbol has empty name. 2017-09-06 00:57:53 +00:00
unittests [ORC] Convert null remote symbols to null JITSymbols. 2017-09-05 22:24:40 +00:00
utils [TableGen] Teach tablegen to allow SDNPCommutable nodes with more than 2 operands. 2017-09-04 03:44:33 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [cmake] Stop putting the revision info in LLVM_VERSION_STRING 2017-08-29 21:44:21 +00:00
CODE_OWNERS.TXT [ARC] Add ARC backend. 2017-08-24 15:40:33 +00:00
configure
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt Test commit access 2017-08-18 02:39:28 +00:00
RELEASE_TESTERS.TXT [RelTest] Diana is doing both releases now 2017-07-14 08:33:52 +00:00

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.