On Fri, Jul 27, 2012 at 10:54:21PM -0400, Justin Holewinski wrote:> On Jul 27, 2012, at 7:05 PM, Chris Lattner <clattner at apple.com> wrote: > > > On Jul 27, 2012, at 1:39 PM, Tom Stellard wrote: > >> > >>> We also need to come up with a plan regarding cutting releases. When > >>> 3.2 is branched, will all "staged" back-ends be removed? Or will > >>> they be left in the distribution so interested parties can build > >>> them? > >>> > >> > >> I can't really think of any disadvantages to keeping staged backends > >> in releases. Being in a release would help a backend get more exposure > >> and increase the number of users/testers it would get. > > > > I agree, there is no reason to remove it from the source drop of the release. The binaries produced for each release shouldn't include them though. > > Sounds good to me, I agree that more exposure is best. > > In terms of build system integration, I think it makes sense to do the following: > > Add a ENABLE_EXPERIMENTAL or ENABLE_STAGING flag that allows experimental features to be built (default: OFF) > Add an LLVM_STAGING_TARGETS list that contains all of the staging back-ends > Allow LLVM_TARGETS_TO_BUILD to contain a back-end from LLVM_STAGING_TARGETS *only* if ENABLE_STAGING is ON > > This will allow the default configuration to not only skip the staging back-ends, but prohibit them from being built without explicitly setting ENABLE_STAGING. Further, this will allow picking-and-choosing which staging back-ends to build.Hi, I've submitted a patch[1] that adds this option. [1] http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120730/147282.html> > Is there any reason not to try this out with the R600 target? > > > > > -Chris > > >
David Röthlisberger
2012-Jul-31 06:22 UTC
[LLVMdev] RFC: Staging area proposal for new backends
On 30 Jul 2012, at 19:18, Tom Stellard wrote:> On Fri, Jul 27, 2012 at 10:54:21PM -0400, Justin Holewinski wrote: >> Add a ENABLE_EXPERIMENTAL or ENABLE_STAGING flag that allows experimental features to be built (default: OFF) >> Add an LLVM_STAGING_TARGETS list that contains all of the staging back-ends >> Allow LLVM_TARGETS_TO_BUILD to contain a back-end from LLVM_STAGING_TARGETS *only* if ENABLE_STAGING is ON > > I've submitted a patch[1] that adds this option. > > [1] http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120730/147282.htmlCould we perhaps call these LLVM_ENABLE_EXPERIMENTAL and LLVM_EXPERIMENTAL_TARGETS, instead of STAGING? I don't know how clear the meaning of "staging" will be to someone who hasn't been following this discussion. (Someone who isn't a compiler guru might wonder whether "staging" has some special meaning in the field of compilers.) The only places that "staging" is currently mentioned in the LLVM sources are: * the comments in lib/MC/WinCOFFObjectWriter.cpp, which mention "staging data for a COFF relocation entry". * the comments in utils/llvm-compilers-check, where "staging" means something slightly different from this proposal. Cheers, Dave.
On Tue, Jul 31, 2012 at 07:22:02AM +0100, David Röthlisberger wrote:> On 30 Jul 2012, at 19:18, Tom Stellard wrote: > > On Fri, Jul 27, 2012 at 10:54:21PM -0400, Justin Holewinski wrote: > >> Add a ENABLE_EXPERIMENTAL or ENABLE_STAGING flag that allows experimental features to be built (default: OFF) > >> Add an LLVM_STAGING_TARGETS list that contains all of the staging back-ends > >> Allow LLVM_TARGETS_TO_BUILD to contain a back-end from LLVM_STAGING_TARGETS *only* if ENABLE_STAGING is ON > > > > I've submitted a patch[1] that adds this option. > > > > [1] http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120730/147282.html > > > Could we perhaps call these LLVM_ENABLE_EXPERIMENTAL and LLVM_EXPERIMENTAL_TARGETS, instead of STAGING? I don't know how clear the meaning of "staging" will be to someone who hasn't been following this discussion. (Someone who isn't a compiler guru might wonder whether "staging" has some special meaning in the field of compilers.) >I think this makes sense. I'll update the patches. -Tom> The only places that "staging" is currently mentioned in the LLVM sources are: > > * the comments in lib/MC/WinCOFFObjectWriter.cpp, which mention "staging data for a COFF relocation entry". > > * the comments in utils/llvm-compilers-check, where "staging" means something slightly different from this proposal. > > Cheers, > Dave. > >
Justin Holewinski
2012-Jul-31 13:57 UTC
[LLVMdev] RFC: Staging area proposal for new backends
On 07/31/2012 02:22 AM, David Röthlisberger wrote:> On 30 Jul 2012, at 19:18, Tom Stellard wrote: >> On Fri, Jul 27, 2012 at 10:54:21PM -0400, Justin Holewinski wrote: >>> Add a ENABLE_EXPERIMENTAL or ENABLE_STAGING flag that allows experimental features to be built (default: OFF) >>> Add an LLVM_STAGING_TARGETS list that contains all of the staging back-ends >>> Allow LLVM_TARGETS_TO_BUILD to contain a back-end from LLVM_STAGING_TARGETS *only* if ENABLE_STAGING is ON >> I've submitted a patch[1] that adds this option. >> >> [1] http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120730/147282.html > > Could we perhaps call these LLVM_ENABLE_EXPERIMENTAL and LLVM_EXPERIMENTAL_TARGETS, instead of STAGING? I don't know how clear the meaning of "staging" will be to someone who hasn't been following this discussion. (Someone who isn't a compiler guru might wonder whether "staging" has some special meaning in the field of compilers.) > > The only places that "staging" is currently mentioned in the LLVM sources are: > > * the comments in lib/MC/WinCOFFObjectWriter.cpp, which mention "staging data for a COFF relocation entry". > > * the comments in utils/llvm-compilers-check, where "staging" means something slightly different from this proposal.That's a fair point. I'm okay with calling them EXPERIMENTAL instead of STAGED.> > Cheers, > Dave. >-- Thanks, Justin Holewinski
Reasonably Related Threads
- [LLVMdev] RFC: Staging area proposal for new backends
- [LLVMdev] RFC: Staging area proposal for new backends
- [LLVMdev] RFC: Staging area proposal for new backends
- [LLVMdev] [cfe-dev] is configure+make dead yet?
- [LLVMdev] [cfe-dev] is configure+make dead yet?