blob: dcdf539849004eb359934714d4e70298dc54a6c6 [file] [edit]
// REQUIRES: amdgpu-registered-target
// Device-side compilation must emit coverage mapping sections and call the
// GPU profile instrumentation runtime.
// RUN: %clang_cc1 -triple amdgcn-amd-amdhsa -target-cpu gfx1100 \
// RUN: -fcuda-is-device -emit-llvm -o - %s \
// RUN: -fprofile-instrument=clang -fcoverage-mapping | FileCheck %s
#define __device__ __attribute__((device))
#define __global__ __attribute__((global))
// CHECK-DAG: section "__llvm_covfun"
// CHECK-DAG: @__llvm_coverage_mapping = {{.*}}section "__llvm_covmap"
// CHECK-DAG: @__profc__Z3dfni = {{.*}}section "__llvm_prf_cnts"
// CHECK-DAG: @__profc__Z6kerneli = {{.*}}section "__llvm_prf_cnts"
// CHECK-DAG: @__llvm_prf_nm = {{.*}}section "__llvm_prf_names"
// CHECK: call void @__llvm_profile_instrument_gpu
__device__ int dfn(int i) { return i ? i + 1 : 0; }
__global__ void kernel(int i) { dfn(i); }