OSDN Git Service

[X86] Basic additions to support RegCall Calling Convention.
authorOren Ben Simhon <oren.ben.simhon@intel.com>
Thu, 13 Oct 2016 07:53:43 +0000 (07:53 +0000)
committerOren Ben Simhon <oren.ben.simhon@intel.com>
Thu, 13 Oct 2016 07:53:43 +0000 (07:53 +0000)
commit4b6c339e4a5d0fef342b49081ffefa36282b821c
tree439c33e0254dd80d75e610be4ccb398c63f58df5
parentc678874ec26f5cfcb53f55cd9a9843a69054741f
[X86] Basic additions to support RegCall Calling Convention.

The Register Calling Convention (RegCall) was introduced by Intel to optimize parameter transfer on function call.
This calling convention ensures that as many values as possible are passed or returned in registers.
This commit presents the basic additions to LLVM CodeGen in order to support RegCall in X86.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284108 91177308-0d34-0410-b5e6-96231b3b80d8
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.h
lib/Target/X86/X86CallingConv.td
lib/Target/X86/X86RegisterInfo.cpp
test/CodeGen/X86/avx512-regcall-NoMask.ll [new file with mode: 0644]
test/CodeGen/X86/sse-regcall.ll [new file with mode: 0644]