<div dir="ltr">It'd be be super-exciting if everyone working on random LLVM backends pushed their targets upstream, and then did their development on ToT! If this proposal would catalyze other organizations to submit their backends upstream as well, that would seem like a huge win.<div><br></div><div>I'd expect the benefit of having developers of such targets all working upstream to very much outweigh the usually minor cost of updating it for other codegen changes.</div><div><br></div><div>That only holds as long as there *is* an active maintainer, of course. If a target actually becomes deadweight, it should be removed as soon as possible.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 9, 2016 at 5:37 PM, Chris Lattner via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> On Feb 9, 2016, at 9:40 AM, Jacques Pienaar via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br>
><br>
> Hi all,<br>
><br>
> We would like to contribute a new backend for the Lanai processor (derived from the processor described in [1]).<br>
<br>
</span>Hi Jacques,<br>
<br>
We generally have a low bar for accepting new “experimental” backends, but I think that this is the first proposal to add a target for a hardware that general LLVM contributors can’t have access to.  As such, we’ll have to figure out as a community whether this makes sense.<br>
<br>
Here are the tradeoffs I see of accepting the backend:<br>
<br>
1) I imagine that there is a big win for you, not having to merge with mainline.  Maintaining an out of tree backend is a pain :-)<br>
<br>
2) For the community, this is probably a net loss since changes to common codegen could would be required to update your backend, but no one else in the community would benefit from the target being in mainline.<br>
<br>
3) There is probably a small but non-zero benefit to keeping your team working directly on mainline, since you’re more likely to do ancillary work in ToT.  If your development is in mainline, this work is most likely to go into <a href="http://llvm.org" rel="noreferrer" target="_blank">llvm.org</a> instead of into your local branch.<br>
<br>
4) There could be an educational benefit of having the backend, particularly if it has unique challenges to overcome.<br>
<br>
<br>
What do others think about this?  I know that several organizations have not even bothered proposing internal-only targets for inclusion in <a href="http://llvm.org" rel="noreferrer" target="_blank">llvm.org</a>, since they would effectively be contributing dead code that the community would have to maintain.<br>
<br>
-Chris<br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</div></div></blockquote></div><br></div>