blob: 045b836bdbe47ec7dbd824b25f42489b3123cbe0 [file] [edit]
// Based on clang/test/CodeGenCUDA/kernel-stub-name.cu.
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -target-sdk-version=9.2 \
// RUN: -emit-cir %s -x cuda -o %t.cir
// RUN: FileCheck --input-file=%t.cir %s
#include "Inputs/cuda.h"
// CHECK: cir.func {{.*}} @[[CSTUB:__device_stub__ckernel]]() attributes {{{.*}}cu.kernel_name = #cir.cu.kernel_name<"ckernel">{{.*}}}
// CHECK: cir.return
// CHECK-NEXT: }
extern "C" __global__ void ckernel() {}
// CHECK: cir.func {{.*}} @_ZN2ns23__device_stub__nskernelEv() attributes {{{.*}}cu.kernel_name = #cir.cu.kernel_name<"_ZN2ns8nskernelEv">{{.*}}}
namespace ns {
__global__ void nskernel() {}
} // namespace ns
// CHECK: cir.func {{.*}} @_Z25__device_stub__kernelfuncIiEvv() attributes {{{.*}}cu.kernel_name = #cir.cu.kernel_name<"_Z10kernelfuncIiEvv">{{.*}}}
template <class T>
__global__ void kernelfunc() {}
template __global__ void kernelfunc<int>();