[llvm-dev] [RFC] Polly Status and Integration
Tobias Grosser via llvm-dev
llvm-dev at lists.llvm.org
Wed Sep 13 05:26:55 PDT 2017
On Wed, Sep 13, 2017, at 13:43, Hal Finkel wrote:
> On 09/13/2017 02:16 AM, C Bergström wrote:
> > A completely non-technical point, but what's the current "polly"
> > license? Does integrating that code conflict in any way with the work
> > being done to relicense llvm?
> Good question. I discussed this explicitly with Tobias, and his general
> feeling is that relicensing isl again would be doable if necessary (we
> already did this once, to an MIT license, in order to enable better LLVM
Right. isl was relicensed to MIT following an advice from Chris Lattner.
We got written consent from all contributors and copyright owners. If
need arises -- we can look into this as part of the LLVM relicensing
process -- with even better legal advice.
> > Does adding polly expose any additional legal risks? Some people from
> > Reservoir labs have explicitly stated to me that some of their patents
> > target polyhedral optimizations. You should almost certainly review
> > their portfolio or contact them.
> > If at some point someone wants to add real loop optimizations - will
> > there be a conflict?
> Can you define "real loop optimizations"?
> > What's the DWARF look like after poly transformations?
> Right now, Polly essentially changes loop structures around existing
> basic blocks (so the debug info on the loop bodies should be okay). Like
> most of our other loop optimizations, induction variables don't fare
> very well (an area where improvement is generally needed).
> > The talk about performance is pretty light - It would be good to get
> > something besides just a handful of spotlight known codes. Also code
> > size, compilation speed. etc
> This is a good point, and more information should definitely be provided
> in this regard. The larger question, from my perspective, is will the
> infrastructure significantly help us get from where we are to where we
> want to be?
> > ------------
> > flag bikeshed - If it's not ready for -O3 - create specific flags to
> > specific poly passes. Creating yet another micro flag like -O3poly
> > just doesn't make sense to me. (keep it simple.) When it's really
> > really ready, enable it with the rest of the loop heavy passes.
> Regarding transformations, this is also my preference. We'll reach a
> much smaller audience if special flags are required. There are also two
> aspects of "ready" here: it might be ready as an analysis infrastructure
> well before we can enable loop restructuring by default.
Sure, that's the ultimate goal and clearly something we should shoot for
More information about the llvm-dev