Mercurial > hg > CbC > CbC_llvm
view clang/test/CodeGenCUDA/nothrow.cu @ 223:5f17cb93ff66 llvm-original
LLVM13 (2021/7/18)
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 18 Jul 2021 22:43:00 +0900 |
parents | 79ff65ed7e25 |
children |
line wrap: on
line source
// RUN: %clang_cc1 -std=c++11 -fcxx-exceptions -fexceptions -fcuda-is-device \ // RUN: -triple nvptx-nvidia-cuda -emit-llvm -disable-llvm-passes -o - %s | \ // RUN: FileCheck -check-prefix DEVICE %s // RUN: %clang_cc1 -std=c++11 -fcxx-exceptions -fexceptions \ // RUN: -triple x86_64-unknown-linux-gnu -emit-llvm -disable-llvm-passes -o - %s | \ // RUN: FileCheck -check-prefix HOST %s #include "Inputs/cuda.h" __host__ __device__ void f(); // HOST: define{{.*}} void @_Z7host_fnv() [[HOST_ATTR:#[0-9]+]] void host_fn() { f(); } // DEVICE: define{{.*}} void @_Z3foov() [[DEVICE_ATTR:#[0-9]+]] __device__ void foo() { // DEVICE: call void @_Z1fv f(); } // DEVICE: define{{.*}} void @_Z12foo_noexceptv() [[DEVICE_ATTR:#[0-9]+]] __device__ void foo_noexcept() noexcept { // DEVICE: call void @_Z1fv f(); } // This is nounwind only on the device side. // CHECK: define{{.*}} void @_Z3foov() [[DEVICE_ATTR:#[0-9]+]] __host__ __device__ void bar() { f(); } // DEVICE: define{{.*}} void @_Z3bazv() [[DEVICE_ATTR:#[0-9]+]] __global__ void baz() { f(); } // DEVICE: attributes [[DEVICE_ATTR]] = { // DEVICE-SAME: nounwind // HOST: attributes [[HOST_ATTR]] = { // HOST-NOT: nounwind // HOST-SAME: }