]> granicus.if.org Git - clang/commitdiff
[OpenCL] r600 needs OpenCL kernel calling convention
authorJan Vesely <jan.vesely@rutgers.edu>
Wed, 22 Feb 2017 15:01:42 +0000 (15:01 +0000)
committerJan Vesely <jan.vesely@rutgers.edu>
Wed, 22 Feb 2017 15:01:42 +0000 (15:01 +0000)
Differential Revision: https://reviews.llvm.org/D30236

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@295843 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaType.cpp
test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl

index b1e65f1057646d270628dbd541d3cc77d1a854b1..f5a2fb77f5fb9cf49889182cb843129ebfd69ca9 100644 (file)
@@ -3175,7 +3175,7 @@ getCCForDeclaratorChunk(Sema &S, Declarator &D,
       if (Attr->getKind() == AttributeList::AT_OpenCLKernel) {
         llvm::Triple::ArchType arch = S.Context.getTargetInfo().getTriple().getArch();
         if (arch == llvm::Triple::spir || arch == llvm::Triple::spir64 ||
-            arch == llvm::Triple::amdgcn) {
+            arch == llvm::Triple::amdgcn || arch == llvm::Triple::r600) {
           CC = CC_OpenCLKernel;
         }
         break;
index f37fe66239920725ef54a2d631ec76778574e086..3c69d11f9678c79f95b485dd3b9ffee4f13e1719 100644 (file)
@@ -1,5 +1,6 @@
 // REQUIRES: amdgpu-registered-target
 // RUN: %clang_cc1 -triple amdgcn-unknown-unknown -S -emit-llvm -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple r600-unknown-unknown -S -emit-llvm -o - %s | FileCheck %s
 
 // CHECK-NOT: %struct.single_element_struct_arg = type { i32 }
 typedef struct single_element_struct_arg