Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/llvm/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/CMakeLists.txt')
-rw-r--r--polly/lib/CMakeLists.txt66
1 files changed, 63 insertions, 3 deletions
diff --git a/polly/lib/CMakeLists.txt b/polly/lib/CMakeLists.txt
index 7eaf0709719c..3c8ccba251ee 100644
--- a/polly/lib/CMakeLists.txt
+++ b/polly/lib/CMakeLists.txt
@@ -16,6 +16,69 @@ if (GPU_CODEGEN)
set (GPGPU_CODEGEN_FILES)
endif (GPU_CODEGEN)
+
+# External: Integer Set Library
+set(ISL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/External/isl")
+set(ISL_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/External/isl")
+
+# Determine version of isl
+if (EXISTS "${ISL_SOURCE_DIR}/GIT_HEAD_ID")
+ # The source comes from a 'make dist' archive
+ file(READ "${ISL_SOURCE_DIR}/GIT_HEAD_ID" GIT_HEAD_ID)
+ string(STRIP "${GIT_HEAD_ID}" GIT_HEAD_ID)
+elseif (EXISTS "${ISL_SOURCE_DIR}/gitversion.h")
+ # The source directory is preconfigured
+ file(READ "${ISL_SOURCE_DIR}/gitversion.h" GITVERSION_H)
+ string(REGEX REPLACE ".*\\\"([^\\\"]*)\\\".*" "\\1" GIT_HEAD_ID "${GITVERSION_H}")
+elseif ()
+ # Unknown revision
+ set(GIT_HEAD_ID "UNKNOWN")
+endif ()
+
+message(STATUS "ISL version: ${GIT_HEAD_ID}")
+
+# Enable small integer optimization and imath
+set(USE_GMP_FOR_MP OFF)
+set(USE_IMATH_FOR_MP ON)
+set(USE_SMALL_INT_OPT OFF)
+
+# Determine compiler characteristics
+include(CheckCSourceCompiles)
+
+check_c_source_compiles("
+ int func(void) __attribute__((__warn_unused_result__));
+ int main() { return 0; }
+ " HAS_ATTRIBUTE_WARN_UNUSED_RESULT)
+set(GCC_WARN_UNUSED_RESULT)
+if (HAS_ATTRIBUTE_WARN_UNUSED_RESULT)
+ set(GCC_WARN_UNUSED_RESULT "__attribute__((__warn_unused_result__))")
+endif ()
+
+check_c_source_compiles("
+ #include <strings.h>
+ int main() { ffs(0); return 0; }
+ " HAVE_DECL_FFS)
+if (NOT HAVE_DECL_FFS)
+ set(HAVE_DECL_FFS 0)
+endif ()
+
+check_c_source_compiles("
+ int main() { __builtin_ffs(0); return 0; }
+ " HAVE_DECL___BUILTIN_FFS)
+if (NOT HAVE_DECL___BUILTIN_FFS)
+ set(HAVE_DECL___BUILTIN_FFS 0)
+endif ()
+
+check_c_source_compiles("
+ static void foo(void) __attribute__ ((unused));
+ int main() { return 0; }
+ " HAVE___ATTRIBUTE__)
+
+# Write configure result
+configure_file("External/gitversion.h.cmake" "${ISL_BINARY_DIR}/gitversion.h")
+configure_file("External/isl_config.h.cmake" "${ISL_BINARY_DIR}/isl_config.h")
+
+# ISL files to compile
set (ISL_FILES
External/isl/basis_reduction_tab.c
External/isl/isl_aff.c
@@ -92,9 +155,6 @@ set (ISL_FILES
External/isl/imath/gmp_compat.c
External/isl/imath/imath.c
External/isl/imath/imrat.c
- External/isl/imath/iprime.c
- External/isl/imath/pi.c
- External/isl/imath/rsamath.c
)