llvm-project/llvm/lib
Matthias Braun 588d1cdad4 X86: Use a callee save register for the swiftself parameter.
It is very likely that the swiftself parameter is alive throughout most
functions function so putting it into a callee save register should
avoid spills for the callers with only a minimum amount of extra spills
in the callees.

Currently the generated code is correct but unnecessarily spills and
reloads arguments passed in callee save registers, I will address this
in upcoming patches.

This also adds a missing check that for tail calls the preserved value
of the caller must be the same as the callees parameter.

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

llvm-svn: 266252
2016-04-13 21:43:21 +00:00
..
Analysis Return immediately from analyzeCall if analyzeBlock returns false. 2016-04-13 21:20:22 +00:00
AsmParser Add the allocsize attribute to LLVM. 2016-04-12 01:05:35 +00:00
Bitcode Revert "Make aliases explicit in the summary" 2016-04-13 17:20:07 +00:00
CodeGen Cleanup Store Merging in UseAA case 2016-04-13 17:27:26 +00:00
DebugInfo Thread Expected<...> up from createMachOObjectFile() to allow llvm-objdump to produce a real error message 2016-04-06 22:14:09 +00:00
ExecutionEngine Thread Expected<...> up from createMachOObjectFile() to allow llvm-objdump to produce a real error message 2016-04-06 22:14:09 +00:00
Fuzzer Remove redundant .c_str(), as suggested by PR25633 2016-04-11 20:35:17 +00:00
IR Revert "[IR/Verifier] Each DISubprogram with isDefinition: true must belong to a CU." 2016-04-13 18:08:07 +00:00
IRReader Remove autoconf support 2016-01-26 21:29:08 +00:00
LTO Simplify LTOInternalize into UpdateLLVMCompilerUsed 2016-04-13 06:32:46 +00:00
LibDriver LibDriver: Silently do nothing when provided no inputs. 2016-04-13 19:36:04 +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 ValueMapper: Extract llvm::RemapFunction from IRMover.cpp, NFC 2016-04-08 19:26:32 +00:00
MC AsmParser: record "# line file" context to calculate location for diag 2016-04-13 19:46:54 +00:00
Object Start to add real error messages for malformed Mach-O files. 2016-04-13 21:17:58 +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 Add code comment/NFC 2016-04-11 17:13:08 +00:00
Support Fix missing include on OpenBSD 2016-04-08 16:45:05 +00:00
TableGen [TableGen] Fix typos in comments. NFC 2016-02-26 06:50:27 +00:00
Target X86: Use a callee save register for the swiftself parameter. 2016-04-13 21:43:21 +00:00
Transforms NFC mergefunc: const correctness 2016-04-13 21:12:21 +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