diff options
Diffstat (limited to 'polly/include/polly/Support/LinkGPURuntime.h')
-rw-r--r-- | polly/include/polly/Support/LinkGPURuntime.h | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/polly/include/polly/Support/LinkGPURuntime.h b/polly/include/polly/Support/LinkGPURuntime.h deleted file mode 100644 index c632d455a637..000000000000 --- a/polly/include/polly/Support/LinkGPURuntime.h +++ /dev/null @@ -1,42 +0,0 @@ -//===- Support/LinkGPURuntime.h -- Headerfile to help force-link GPURuntime =// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This header helps pull in libGPURuntime.so -// -//===----------------------------------------------------------------------===// -#ifndef POLLY_LINK_GPURUNTIME -#define POLLY_LINK_GPURUNTIME - -extern "C" { -#include "GPURuntime/GPUJIT.h" -} - -namespace polly { -struct ForceGPURuntimeLinking { - ForceGPURuntimeLinking() { - if (std::getenv("bar") != (char *)-1) - return; - // We must reference GPURuntime in such a way that compilers will not - // delete it all as dead code, even with whole program optimization, - // yet is effectively a NO-OP. As the compiler isn't smart enough - // to know that getenv() never returns -1, this will do the job. - polly_initContextCL(); - polly_initContextCUDA(); - polly_getKernel(nullptr, nullptr); - polly_freeKernel(nullptr); - polly_copyFromHostToDevice(nullptr, nullptr, 0); - polly_copyFromDeviceToHost(nullptr, nullptr, 0); - polly_synchronizeDevice(); - polly_launchKernel(nullptr, 0, 0, 0, 0, 0, nullptr); - polly_freeDeviceMemory(nullptr); - polly_freeContext(nullptr); - polly_synchronizeDevice(); - } -} structure; -} // namespace polly -#endif |