regcall: Implement regcall Calling Conv in clang
authorErich Keane <erich.keane@intel.com>
Wed, 2 Nov 2016 18:29:35 +0000 (18:29 +0000)
committerErich Keane <erich.keane@intel.com>
Wed, 2 Nov 2016 18:29:35 +0000 (18:29 +0000)
commit757d317c24288bdfb333b6b2c1fbd7ae01d59493
tree6bc5cdaab773009ff9f3b9b0ffaee356b82dc279
parent1867c6cd422a18a6e93a8c851d86993671a1718b
regcall: Implement regcall Calling Conv in clang

This patch implements the register call calling convention, which ensures
as many values as possible are passed in registers. CodeGen changes
were committed in https://reviews.llvm.org/rL284108.

Differential Revision: https://reviews.llvm.org/D25204

llvm-svn: 285849
24 files changed:
clang/include/clang-c/Index.h
clang/include/clang/AST/Type.h
clang/include/clang/Basic/Attr.td
clang/include/clang/Basic/AttrDocs.td
clang/include/clang/Basic/Specifiers.h
clang/include/clang/Basic/TokenKinds.def
clang/lib/AST/Expr.cpp
clang/lib/AST/ItaniumMangle.cpp
clang/lib/AST/Mangle.cpp
clang/lib/AST/MicrosoftMangle.cpp
clang/lib/AST/Type.cpp
clang/lib/AST/TypePrinter.cpp
clang/lib/Basic/Targets.cpp
clang/lib/CodeGen/CGCall.cpp
clang/lib/CodeGen/CGDebugInfo.cpp
clang/lib/CodeGen/CodeGenModule.cpp
clang/lib/CodeGen/TargetInfo.cpp
clang/lib/Parse/ParseDecl.cpp
clang/lib/Parse/ParseTentative.cpp
clang/lib/Sema/SemaDeclAttr.cpp
clang/lib/Sema/SemaType.cpp
clang/test/CodeGen/regcall.c [new file with mode: 0644]
clang/test/CodeGenCXX/regcall.cpp [new file with mode: 0644]
clang/tools/libclang/CXType.cpp