[LLVMdev] Vectorization: Next Steps

Tobias Grosser tobias at grosser.es
Thu Sep 6 14:52:48 PDT 2012

On 02/07/2012 11:21 AM, Tobias Grosser wrote:
> On 02/07/2012 01:17 AM, Hal Finkel wrote:
>> On Tue, 2012-02-07 at 00:47 +0100, Tobias Grosser wrote:
>>> On 02/06/2012 11:28 PM, Chris Lattner wrote:
>>>> On Feb 6, 2012, at 1:56 PM, Hal Finkel wrote:
>>>>>> If you do not want to use polly, you could use ISL
>>>>>> http://freecode.com/projects/isl to set up the dependence problem and
>>>>>> use ISL's ILP to solve it.
>>>>> isl is an LGPL project. It is not clear to me what the general consensus
>>>>> would be on having a core analysis pass carry an LGPL dependency.
>>>> This is fine for something that wants to live out of tree or be a secondary subproject, but isn't acceptable for something that wants to go into the mainline llvm repository and be a default part of the compiler.
>>> If there is consensus that parts of Polly should be included in the core
>>> compiler, I am sure there are ways to solve these issues. Polly itself
>>> is BSD anyways, ISL and GMP are LGPL. As isl is using just a tiny subset
>>> of GMP I am pretty sure we can either rewrite this subset ourselves or
>>> extend the existing arbitrary (but fixed) width integer functionality in
>>> LLVM.
>>> This leaves us with ISL and CLooG. For both the copyright situation is
>>> pretty clear. The more complex library here is ISL. To my knowledge it
>>> is the only competitive open source integer set library. Rewriting it
>>> will be hard*. However, it was developed by one person (Sven
>>> Verdoolaege) and some smaller patches of me. AFAIK the copyrights are
>>> hold by the academic institutions he was working for. This means the
>>> copyright situation is clear. It cannot be changed overnight, but the
>>> institutions that need to be addressed are known.
>> In my experience, it is better to investigate these kinds of things
>> sooner rather than later. The more contributors a project acquires the
>> harder it is to get the license changed.
> OK. I started looking into this.

It took about 7 months to get this issue resolved, but since the 2nd of
September isl trunk is available under the MIT license:


The next official isl release will consequently be under the MIT 
license. isl still depends on libgmp, but replacing gmp with another 
arbitrary precision library should be very well possible.


More information about the llvm-dev mailing list