[LLVMdev] proposed patch to default to isl-only polly

Jack Howarth howarth at bromo.med.uc.edu
Tue Nov 19 11:50:50 PST 2013


Tobias,
    Can we add something like the following to polly 3.4?

Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(revision 195142)
+++ CMakeLists.txt	(working copy)
@@ -81,9 +81,14 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PAT
 
 FIND_PACKAGE(Isl REQUIRED)
 FIND_PACKAGE(Gmp REQUIRED)
-FIND_PACKAGE(Cloog)
 FIND_PACKAGE(Pluto)
 
+option(POLLY_USE_CLOOG "Build Polly with Cloog support" OFF)
+if (POLLY_USE_CLOOG)
+  # Build Cloog support in Polly (default is ISL-only).
+  FIND_PACKAGE(Cloog)
+endif(POLLY_USE_CLOOG)
+
 option(POLLY_ENABLE_GPGPU_CODEGEN "Enable GPGPU code generation feature" OFF)
 if (POLLY_ENABLE_GPGPU_CODEGEN)
   # Do not require CUDA, as GPU code generation test cases can be run without

I have tested this on x86_64-apple-darwin12 with cloog 0.18.1 and isl 0.12.1
installed and it works fine. The default build of Polly is isl-only as expected.

% otool -L  /sw/opt/llvm-3.4/lib/LLVMPolly.so
/sw/opt/llvm-3.4/lib/LLVMPolly.so:
	/sw/lib/libisl.10.dylib (compatibility version 13.0.0, current version 13.1.0)
	/sw/lib/gmp5/libgmp.10.dylib (compatibility version 12.0.0, current version 12.3.0)
	/sw/lib/ncurses/libncurses.5.dylib (compatibility version 5.0.0, current version 5.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
	/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0)

[100%] Running polly regression tests
Testing Time: 2.23s
  Expected Passes    : 157
  Expected Failures  : 23
  Unsupported Tests  : 84
[100%] Built target check-polly

Only when -DPOLLY_USE_CLOOG=ON is passed to cmake does Polly build against cloog
as well.

% otool -L /sw/opt/llvm-3.4/lib/LLVMPolly.so
/sw/opt/llvm-3.4/lib/LLVMPolly.so:
	/sw/lib/libisl.10.dylib (compatibility version 13.0.0, current version 13.1.0)
	/sw/lib/gmp5/libgmp.10.dylib (compatibility version 12.0.0, current version 12.3.0)
	/sw/lib/libcloog-isl.4.dylib (compatibility version 5.0.0, current version 5.0.0)
	/sw/lib/ncurses/libncurses.5.dylib (compatibility version 5.0.0, current version 5.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
	/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0)

[100%] Running polly regression tests
Testing Time: 2.98s
  Expected Passes    : 233
  Expected Failures  : 23
  Unsupported Tests  : 8
[100%] Built target check-polly

 Thanks in advance with any help in getting a change like this in to polly 3.4.
       Jack
-------------- next part --------------
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt	(revision 195142)
+++ CMakeLists.txt	(working copy)
@@ -81,9 +81,14 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PAT
 
 FIND_PACKAGE(Isl REQUIRED)
 FIND_PACKAGE(Gmp REQUIRED)
-FIND_PACKAGE(Cloog)
 FIND_PACKAGE(Pluto)
 
+option(POLLY_USE_CLOOG "Build Polly with Cloog support" OFF)
+if (POLLY_USE_CLOOG)
+  # Build Cloog support in Polly (default is ISL-only).
+  FIND_PACKAGE(Cloog)
+endif(POLLY_USE_CLOOG)
+
 option(POLLY_ENABLE_GPGPU_CODEGEN "Enable GPGPU code generation feature" OFF)
 if (POLLY_ENABLE_GPGPU_CODEGEN)
   # Do not require CUDA, as GPU code generation test cases can be run without


More information about the llvm-dev mailing list