Target/X86: Add explicit Win64 and System V/x86-64 calling conventions.
authorCharles Davis <cdavis5x@gmail.com>
Fri, 12 Jul 2013 06:02:35 +0000 (06:02 +0000)
committerCharles Davis <cdavis5x@gmail.com>
Fri, 12 Jul 2013 06:02:35 +0000 (06:02 +0000)
commitac226bbf457f6b5e5210a4a82b1ce678298b2d89
tree24763c608ad27b81e92597e5ef8c01ac8410d82b
parent6ebd77a6c3aa6c4db1b911bdd83d9f309a9aedf4
Target/X86: Add explicit Win64 and System V/x86-64 calling conventions.

Summary:
This patch adds explicit calling convention types for the Win64 and
System V/x86-64 ABIs. This allows code to override the default, and use
the Win64 convention on a target that wants to use SysV (and
vice-versa). This is needed to implement the `ms_abi` and `sysv_abi` GNU
attributes.

Reviewers:

CC:

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186144 91177308-0d34-0410-b5e6-96231b3b80d8
12 files changed:
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/X86FastISel.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86Subtarget.h
test/CodeGen/X86/win64_params.ll
test/CodeGen/X86/win_chkstk.ll
utils/vim/llvm.vim