Clang Project

clang_source_code/test/CodeGenCUDA/kernel-call.cu
1// RUN: %clang_cc1 -target-sdk-version=8.0 -emit-llvm %s -o - \
2// RUN: | FileCheck %s --check-prefixes=CUDA-OLD,CHECK
3// RUN: %clang_cc1 -target-sdk-version=9.2  -emit-llvm %s -o - \
4// RUN: | FileCheck %s --check-prefixes=CUDA-NEW,CHECK
5// RUN: %clang_cc1 -x hip -emit-llvm %s -o - \
6// RUN: | FileCheck %s --check-prefixes=HIP,CHECK
7
8
9#include "Inputs/cuda.h"
10
11// CHECK-LABEL: define{{.*}}g1
12// HIP: call{{.*}}hipSetupArgument
13// HIP: call{{.*}}hipLaunchByPtr
14// CUDA-OLD: call{{.*}}cudaSetupArgument
15// CUDA-OLD: call{{.*}}cudaLaunch
16// CUDA-NEW: call{{.*}}__cudaPopCallConfiguration
17// CUDA-NEW: call{{.*}}cudaLaunchKernel
18__global__ void g1(int x) {}
19
20// CHECK-LABEL: define{{.*}}main
21int main(void) {
22  // HIP: call{{.*}}hipConfigureCall
23  // CUDA-OLD: call{{.*}}cudaConfigureCall
24  // CUDA-NEW: call{{.*}}__cudaPushCallConfiguration
25  // CHECK: icmp
26  // CHECK: br
27  // CHECK: call{{.*}}g1
28  g1<<<1, 1>>>(42);
29}
30