blob: 658b3488fc18dc463e89a3619dfddf5d798fa72e [file] [log] [blame]
Justin Holewinski2c585b92012-05-24 17:43:12 +00001// RUN: %clang_cc1 %s -triple nvptx-unknown-unknown -fcuda-is-device -emit-llvm -o - | FileCheck %s
Peter Collingbourne744d90b2011-10-06 16:49:54 +00002
Stephen Hines6bcf27b2014-05-29 04:14:42 -07003#include "Inputs/cuda.h"
Peter Collingbourne744d90b2011-10-06 16:49:54 +00004
Stephen Lin93ab6bf2013-08-15 06:47:53 +00005// CHECK-LABEL: define void @device_function
Justin Holewinskidca8f332013-03-30 14:38:24 +00006extern "C"
Peter Collingbourne744d90b2011-10-06 16:49:54 +00007__device__ void device_function() {}
8
Stephen Lin93ab6bf2013-08-15 06:47:53 +00009// CHECK-LABEL: define void @global_function
Justin Holewinskidca8f332013-03-30 14:38:24 +000010extern "C"
Peter Collingbourne744d90b2011-10-06 16:49:54 +000011__global__ void global_function() {
Justin Holewinskidca8f332013-03-30 14:38:24 +000012 // CHECK: call void @device_function
Peter Collingbourne744d90b2011-10-06 16:49:54 +000013 device_function();
14}
Justin Holewinskidca8f332013-03-30 14:38:24 +000015
Stephen Hines0e2c34f2015-03-23 12:09:02 -070016// CHECK: !{{[0-9]+}} = !{void ()* @global_function, !"kernel", i32 1}