Re: [lldb-dev] [Openmp-dev] [llvm-dev] [cfe-dev] What version comes after 3.9? (Was: [3.9 Release] Release plan and call for testers)

2016-06-20 Thread Chris Lattner via lldb-dev

> On Jun 19, 2016, at 12:25 AM, Hal Finkel  wrote:
> 
> a) LLVM has a time-based release cycle, not a schedule-based one.  As such, a 
> simple and predictable version number makes sense.
> b) The LLVM project as a whole is a lot bigger than LLVM IR, even given its 
> centrality to the project in some ways.
> c) I think that it makes sense to keep adding 0.1 to each major release going 
> forward well into the future.
> 
> On the topic of the pointer changes proposed, I really don’t think the 
> community is served by waiting for that.  The supposition seems to be that 
> we’d land it *without* upgrade support, but then bump the major version 
> number to indicate this.  If that’s the proposal, I think that doing such a 
> thing would be disastrous for the LLVM community as a whole
> To be clear, that's not at all what I was saying. The plan has always been to 
> have upgrade support. My thought was that once the pointer changes land, it 
> will mean major changes in how many frontends and IR transformations use the 
> API. A lot of out-of-tree frontends and passes support multiple versions of 
> LLVM, and use ifdefs to work around relevant API changes. For the most part, 
> this works reasonably, and the changes necessary between versions are not 
> often large (perhaps especially because we have time-based releases). I 
> suspect, however, that the amount of code changes necessary to adapt for the 
> pointer changes will be much larger, and so calling that a new major version 
> seems fitting.

API breakage isn’t a concern, every release of LLVM breaks APIs.   I don’t see 
a reason to “delay” LLVM 4.0.

-Chris___
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev


Re: [lldb-dev] [Openmp-dev] [llvm-dev] [cfe-dev] What version comes after 3.9? (Was: [3.9 Release] Release plan and call for testers)

2016-06-19 Thread Hal Finkel via lldb-dev
- Original Message -

> From: "Chris Lattner via Openmp-dev" 
> To: "Chris Lattner" 
> Cc: "llvm-dev" , "openmp-dev
> (openmp-...@lists.llvm.org)" , "LLDB Dev"
> , "Richard Smith" ,
> "cfe-dev" , "Paul Robinson"
> 
> Sent: Saturday, June 18, 2016 11:20:19 PM
> Subject: Re: [Openmp-dev] [llvm-dev] [cfe-dev] What version comes
> after 3.9? (Was: [3.9 Release] Release plan and call for testers)

> > On Jun 18, 2016, at 9:16 PM, Chris Lattner via llvm-dev <
> > llvm-...@lists.llvm.org > wrote:
> 

> > On Jun 14, 2016, at 1:32 AM, Richard Smith via cfe-dev <
> > cfe-...@lists.llvm.org > wrote:
> 

> > > > I think that this is the right approach, and we happen to have
> > > > a
> > > > natural forcing function here: opaque pointer types. I think we
> > > > should increment the major version number when opaque pointer
> > > > types
> > > > are here, as it will be a major breaking change, and then we'll
> > > > have
> > > > a version 4.0. Until then, unless something else breaking comes
> > > > up,
> > > > 3.10 sounds fine to me.
> > > 
> > 
> 

> > > We're talking about version numbers for the entire LLVM project
> > > here,
> > > which encompasses a lot more than LLVM IR, and for many parts of
> > > which LLVM IR is utterly irrelevant. I'm not convinced that tying
> > > version numbers to backwards-incompatible changes to IR is
> > > reasonable any more, and it doesn't seem hard to explicitly
> > > document
> > > the oldest version with which we are compatible (in fact, we need
> > > to
> > > do that regardless, whether we say it's "the same major version"
> > > or
> > > "everything since 3.0" or whatever else).
> > 
> 

> > > Given that our releases are time-based rather than feature-based,
> > > I
> > > don't see a distinct major / minor version being anything other
> > > than
> > > arbitrary, so I'd suggest we take 4.0 as our next release, 4.1 as
> > > the first patch release on that, 5.0 as the next release after
> > > that,
> > > and so on.
> > 
> 
> > I completely agree with Richard here. “Breaking of IR
> > compatibility”
> > was an interesting metric for older and less mature versions of
> > LLVM. We can solve the same sort of challenge (the desire to eject
> > old autoupgrade code) by having a sliding window of versions
> > supported (e.g. version 4.5 supports back to version 3.6).
> 
> Let me clarify. What I’m trying to say is that:

> a) LLVM has a time-based release cycle, not a schedule-based one. As
> such, a simple and predictable version number makes sense.
> b) The LLVM project as a whole is a lot bigger than LLVM IR, even
> given its centrality to the project in some ways.
> c) I think that it makes sense to keep adding 0.1 to each major
> release going forward well into the future.

> On the topic of the pointer changes proposed, I really don’t think
> the community is served by waiting for that. The supposition seems
> to be that we’d land it *without* upgrade support, but then bump the
> major version number to indicate this. If that’s the proposal, I
> think that doing such a thing would be disastrous for the LLVM
> community as a whole
To be clear, that's not at all what I was saying. The plan has always been to 
have upgrade support. My thought was that once the pointer changes land, it 
will mean major changes in how many frontends and IR transformations use the 
API. A lot of out-of-tree frontends and passes support multiple versions of 
LLVM, and use ifdefs to work around relevant API changes. For the most part, 
this works reasonably, and the changes necessary between versions are not often 
large (perhaps especially because we have time-based releases). I suspect, 
however, that the amount of code changes necessary to adapt for the pointer 
changes will be much larger, and so calling that a new major version seems 
fitting. 

-Hal 

> : we need to have at least some sliding window of support for older
> formats.

> -Chris

> ___
> Openmp-dev mailing list
> openmp-...@lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev

-- 

Hal Finkel 
Assistant Computational Scientist 
Leadership Computing Facility 
Argonne National Laboratory 
___
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev