Back out of GPU Codegen if NVPTX is not available
Summary:
When enabling GPU codegen in polly, CMake will fail if NVPTX is not a target
supported by the LLVM polly is being built against. In that case, GPU codegen
should be switched off.
Reviewers: Meinersbur, grosser, bollu
Reviewed By: Meinersbur
Subscribers: mgorny, bollu, pollydev, llvm-commits
Differential Revision: https://reviews.llvm.org/D47888
git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@334233 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/CMakeLists.txt b/CMakeLists.txt
index af0263b..d2556b5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -97,14 +97,17 @@
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
option(POLLY_ENABLE_GPGPU_CODEGEN "Enable GPGPU code generation feature" OFF)
+set(GPU_CODEGEN FALSE)
if (POLLY_ENABLE_GPGPU_CODEGEN)
# Do not require CUDA/OpenCL, as GPU code generation test cases can be run
# without a CUDA/OpenCL library.
- FIND_PACKAGE(CUDA)
- FIND_PACKAGE(OpenCL)
- set(GPU_CODEGEN TRUE)
-else(POLLY_ENABLE_GPGPU_CODEGEN)
- set(GPU_CODEGEN FALSE)
+ if ("NVPTX" IN_LIST LLVM_TARGETS_TO_BUILD)
+ FIND_PACKAGE(CUDA)
+ FIND_PACKAGE(OpenCL)
+ set(GPU_CODEGEN TRUE)
+ else()
+ message(WARNING "The LLVM NVPTX target is required for GPU code generation")
+ endif()
endif(POLLY_ENABLE_GPGPU_CODEGEN)