[PATCH] Import isl as an external library into Polly

Tobias Grosser tobias at grosser.es
Thu Jan 22 06:47:26 PST 2015


Hi,

following the example of llgo, I would like to import isl as an external 
library into Polly. This simplifies the distribution and installation of 
Polly, decouples us from the isl release cycle and will also make it 
easier to integrate the upcoming isl C++ bindings.

I attached a proof-of-concept patch which I tested with cmake and 
autoconf on my Linux system. If this breaks any current use case of 
Polly, I would be interested to know.

Cheers,
Tobias

========================================================================
Import isl(+imath) as an external library into Polly

With this patch Polly is always GPL-free (no dependency on GMP any more)
and also free of any other external build dependencies. As a result,
building and distributing Polly will be easier. Furthermore, there is no
need to tightly coordinate isl and Polly releases anymore.

We import isl b3e0fa7a05d as well as imath 4d707e5ef2. These are the git
version Polly currently was tested with when using
utils/checkout_isl.sh. The imported libraries are both MIT-style
licensed.

Patches to isl should be contributed first to the main isl repository
and can then later be reimported to Polly.

We build isl and imath with -fvisibility=hidden to avoid clashes in case
other projects (such as gcc) use conflicting versions of isl.

This patch is also a prerequisite for the upcoming isl C++ interface.

TODO:

   - isl+imath is still slower than isl+gmp

   - We would probably need to keep support for an external isl build to
     support Pluto. Do we want to do this? Or should we suggest the jscop
     interface for now and wait until anybody actually needs a direct
     library interface?
========================================================================

Full patch:
https://www.dropbox.com/s/msq937rl8kxpauc/0001-Import-isl-imath-as-an-external-library-into-Polly.patch.tgz?dl=0



More information about the llvm-commits mailing list