diff options
| author | Nikolay Haustov <Nikolay.Haustov@amd.com> | 2016-06-30 09:06:33 +0000 |
|---|---|---|
| committer | Nikolay Haustov <Nikolay.Haustov@amd.com> | 2016-06-30 09:06:33 +0000 |
| commit | 8c6538b86da704af25a2f47cc8350168f546f555 (patch) | |
| tree | a92ab0b682f7261b558f8e174230581b733b1499 /clang/lib/AST | |
| parent | 1df56894f818dd27ad80e37db570516c0f851a87 (diff) | |
| download | bcm5719-llvm-8c6538b86da704af25a2f47cc8350168f546f555.tar.gz bcm5719-llvm-8c6538b86da704af25a2f47cc8350168f546f555.zip | |
AMDGPU: Set amdgpu_kernel calling convention for OpenCL kernels.
Summary:
Summary:
Change Clang calling convention SpirKernel to OpenCLKernel.
Set calling convention OpenCLKernel for amdgcn as well.
Add virtual method .getOpenCLKernelCallingConv() to TargetCodeGenInfo
and use it to set target calling convention for AMDGPU and SPIR.
Update tests.
Reviewers: rsmith, tstellarAMD, Anastasia, yaxunl
Subscribers: kzhuravl, cfe-commits
Differential Revision: http://reviews.llvm.org/D21367
llvm-svn: 274220
Diffstat (limited to 'clang/lib/AST')
| -rw-r--r-- | clang/lib/AST/ItaniumMangle.cpp | 2 | ||||
| -rw-r--r-- | clang/lib/AST/Type.cpp | 2 | ||||
| -rw-r--r-- | clang/lib/AST/TypePrinter.cpp | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/AST/ItaniumMangle.cpp b/clang/lib/AST/ItaniumMangle.cpp index 8d49c6f586b..902a0ed048b 100644 --- a/clang/lib/AST/ItaniumMangle.cpp +++ b/clang/lib/AST/ItaniumMangle.cpp @@ -2161,7 +2161,7 @@ StringRef CXXNameMangler::getCallingConvQualifierName(CallingConv CC) { case CC_AAPCS_VFP: case CC_IntelOclBicc: case CC_SpirFunction: - case CC_SpirKernel: + case CC_OpenCLKernel: case CC_PreserveMost: case CC_PreserveAll: // FIXME: we should be mangling all of the above. diff --git a/clang/lib/AST/Type.cpp b/clang/lib/AST/Type.cpp index 6dc585bf296..a0a751e7602 100644 --- a/clang/lib/AST/Type.cpp +++ b/clang/lib/AST/Type.cpp @@ -2642,7 +2642,7 @@ StringRef FunctionType::getNameForCallConv(CallingConv CC) { case CC_AAPCS_VFP: return "aapcs-vfp"; case CC_IntelOclBicc: return "intel_ocl_bicc"; case CC_SpirFunction: return "spir_function"; - case CC_SpirKernel: return "spir_kernel"; + case CC_OpenCLKernel: return "opencl_kernel"; case CC_Swift: return "swiftcall"; case CC_PreserveMost: return "preserve_most"; case CC_PreserveAll: return "preserve_all"; diff --git a/clang/lib/AST/TypePrinter.cpp b/clang/lib/AST/TypePrinter.cpp index 29a4845d4a9..030afd9cfc5 100644 --- a/clang/lib/AST/TypePrinter.cpp +++ b/clang/lib/AST/TypePrinter.cpp @@ -725,7 +725,7 @@ void TypePrinter::printFunctionProtoAfter(const FunctionProtoType *T, OS << " __attribute__((sysv_abi))"; break; case CC_SpirFunction: - case CC_SpirKernel: + case CC_OpenCLKernel: // Do nothing. These CCs are not available as attributes. break; case CC_Swift: |

