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)
commite8f297ca9494b5cc99628b779b7959b2b84def1d
tree4d59098084ac18e62462041cf37f6935dd755269
parentaaaec3db98f4a7b96c20d1b8ffeb80a5cb924127
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:

llvm-svn: 186144
12 files changed:
llvm/include/llvm/IR/CallingConv.h
llvm/lib/AsmParser/LLLexer.cpp
llvm/lib/AsmParser/LLParser.cpp
llvm/lib/AsmParser/LLToken.h
llvm/lib/IR/AsmWriter.cpp
llvm/lib/Target/X86/X86CallingConv.td
llvm/lib/Target/X86/X86FastISel.cpp
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86Subtarget.h
llvm/test/CodeGen/X86/win64_params.ll
llvm/test/CodeGen/X86/win_chkstk.ll
llvm/utils/vim/llvm.vim