blob: 11b92b587606fa64d889568cb7e37170d3b1ec3e [file] [log] [blame]
Justin Holewinski83e96682012-05-24 17:43:12 +00001// RUN: %clang_cc1 %s -triple nvptx-unknown-unknown -fcuda-is-device -emit-llvm -o - | FileCheck %s
Peter Collingbourne5bad4af2011-10-06 16:49:54 +00002
Eli Bendersky3468d9d2014-04-28 22:21:28 +00003#include "Inputs/cuda.h"
Peter Collingbourne5bad4af2011-10-06 16:49:54 +00004
Stephen Lin43622612013-08-15 06:47:53 +00005// CHECK-LABEL: define void @device_function
Justin Holewinski36837432013-03-30 14:38:24 +00006extern "C"
Peter Collingbourne5bad4af2011-10-06 16:49:54 +00007__device__ void device_function() {}
8
Stephen Lin43622612013-08-15 06:47:53 +00009// CHECK-LABEL: define void @global_function
Justin Holewinski36837432013-03-30 14:38:24 +000010extern "C"
Peter Collingbourne5bad4af2011-10-06 16:49:54 +000011__global__ void global_function() {
Justin Holewinski36837432013-03-30 14:38:24 +000012 // CHECK: call void @device_function
Peter Collingbourne5bad4af2011-10-06 16:49:54 +000013 device_function();
14}
Justin Holewinski36837432013-03-30 14:38:24 +000015
16// CHECK: !{{[0-9]+}} = metadata !{void ()* @global_function, metadata !"kernel", i32 1}