r267062 - [CUDA] removed unneeded __nvvm_reflect_anchor()

Artem Belevich via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 21 14:40:29 PDT 2016

Author: tra
Date: Thu Apr 21 16:40:27 2016
New Revision: 267062

URL: http://llvm.org/viewvc/llvm-project?rev=267062&view=rev
[CUDA] removed unneeded __nvvm_reflect_anchor()

Since r265060 LLVM infers correct __nvvm_reflect attributes, so
explicit declaration of __nvvm_reflect() is no longer needed.

Differential Revision: http://reviews.llvm.org/D19074


Modified: cfe/trunk/lib/Headers/__clang_cuda_runtime_wrapper.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/__clang_cuda_runtime_wrapper.h?rev=267062&r1=267061&r2=267062&view=diff
--- cfe/trunk/lib/Headers/__clang_cuda_runtime_wrapper.h (original)
+++ cfe/trunk/lib/Headers/__clang_cuda_runtime_wrapper.h Thu Apr 21 16:40:27 2016
@@ -216,16 +216,6 @@ static inline __device__ void __brkpt(in
 #undef __CUDABE__
 #define __CUDACC__
-#if defined(__CUDA_ARCH__)
-// We need to emit IR declaration for non-existing __nvvm_reflect() to
-// let backend know that it should be treated as const nothrow
-// function which is what NVVMReflect pass expects to see.
-extern "C" __device__ __attribute__((const)) int __nvvm_reflect(const void *);
-static __device__ __attribute__((used)) int __nvvm_reflect_anchor() {
-  return __nvvm_reflect("NONE");
 extern "C" {
 // Device-side CUDA system calls.
 // http://docs.nvidia.com/cuda/ptx-writers-guide-to-interoperability/index.html#system-calls

More information about the cfe-commits mailing list