Add two new calling conventions for runtime calls
authorJuergen Ributzka <juergen@apple.com>
Fri, 17 Jan 2014 19:47:03 +0000 (19:47 +0000)
committerJuergen Ributzka <juergen@apple.com>
Fri, 17 Jan 2014 19:47:03 +0000 (19:47 +0000)
commitceaf829339bcd0719a43b3e8c22eaab7a973d37d
tree1bbfa7182c8258a9231fc0c0292e6885d274f4e9
parent41e1c04201875373f67717c639a6972e23b3816e
Add two new calling conventions for runtime calls

This patch adds two new target-independent calling conventions for runtime
calls - PreserveMost and PreserveAll.
The target-specific implementation for X86-64 is defined as following:
  - Arguments are passed as for the default C calling convention
  - The same applies for the return value(s)
  - PreserveMost preserves all GPRs - except R11
  - PreserveAll preserves all GPRs and all XMMs/YMMs - except R11

Reviewed by Lang and Philip

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199508 91177308-0d34-0410-b5e6-96231b3b80d8
docs/BitCodeFormat.rst
docs/LangRef.rst
include/llvm/IR/CallingConv.h
lib/AsmParser/LLLexer.cpp
lib/AsmParser/LLParser.cpp
lib/AsmParser/LLToken.h
lib/IR/AsmWriter.cpp
lib/Target/X86/X86CallingConv.td
lib/Target/X86/X86RegisterInfo.cpp
test/CodeGen/X86/preserve_allcc64.ll [new file with mode: 0644]
test/CodeGen/X86/preserve_mostcc64.ll [new file with mode: 0644]