llvm/lib
Matthias Braun bac1dd9d54 ARM, AArch64, X86: Check preserved registers for tail calls.
We can only perform a tail call to a callee that preserves all the
registers that the caller needs to preserve.

This situation happens with calling conventions like preserver_mostcc or
cxx_fast_tls. It was explicitely handled for fast_tls and failing for
preserve_most. This patch generalizes the check to any calling
convention.

Related to rdar://24207743

Differential Revision: http://reviews.llvm.org/D18680

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@265329 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-04 18:56:13 +00:00
..
Analysis [DependenceAnalysis] Check if result of getConstantPart is null 2016-04-04 18:13:18 +00:00
AsmParser Rename Context::discardValueNames() to shouldDiscardValueNames() (NFC) 2016-04-02 03:46:17 +00:00
Bitcode [ThinLTO] Add option to dump value name to GUID mapping 2016-04-04 18:52:58 +00:00
CodeGen ARM, AArch64, X86: Check preserved registers for tail calls. 2016-04-04 18:56:13 +00:00
DebugInfo Make DIASession work if msdia*.dll isn't registered. 2016-04-01 22:21:51 +00:00
ExecutionEngine More more change need as part of r264187 where ErrorOr<> was added 2016-03-23 21:20:16 +00:00
Fuzzer [libfuzzer] adding license headers to cpp files 2016-04-01 18:38:58 +00:00
IR IR: Lazily create ReplaceableMetadataImpl on MDNode 2016-04-03 21:23:52 +00:00
IRReader Remove autoconf support 2016-01-26 21:29:08 +00:00
LibDriver Remove autoconf support 2016-01-26 21:29:08 +00:00
LineEditor Fix Clang-tidy modernize-deprecated-headers warnings in some files; other minor fixes. 2016-03-28 17:40:08 +00:00
Linker Linker: Split mapUnneededSubprograms into two; almost NFC 2016-04-02 17:54:01 +00:00
LTO Revert "ThinLTO: add module caching handling." 2016-04-02 05:08:18 +00:00
MC Handle section vs global name conflict. 2016-03-28 20:36:28 +00:00
Object Object: Correctly read thin archives containing absolute paths. 2016-03-31 22:08:31 +00:00
ObjectYAML [lanai] Add Lanai backend. 2016-03-28 13:09:54 +00:00
Option Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 20:50:44 +00:00
Passes [PM] Rename the CRTP mixin base classes for the new pass manager to 2016-03-11 10:33:22 +00:00
ProfileData Fix buildbot lldb-amd64-ninja-netbsd7 failure 2016-04-01 20:15:04 +00:00
Support Add Cache Pruning support 2016-04-02 03:28:26 +00:00
TableGen [TableGen] Fix typos in comments. NFC 2016-02-26 06:50:27 +00:00
Target ARM, AArch64, X86: Check preserved registers for tail calls. 2016-04-04 18:56:13 +00:00
Transforms [ThinLTO] Augment FunctionImport dump with value name to GUID map 2016-04-04 18:52:23 +00:00
CMakeLists.txt Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00
LLVMBuild.txt Add LLVMBuild for ObjectYAML. 2016-03-01 21:29:33 +00:00