<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 12, 2022 at 11:32 AM Paul Zimmermann via libc-dev <<a href="mailto:libc-dev@lists.llvm.org">libc-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> Hi Siva,<br>
<br>
> Are developers of llvm-libc interested by such functions?<br>
> <br>
> Yes!<br>
<br>
great to hear!<br>
<br>
> If so, we could discuss what would be the requirements for integration<br>
> in<br>
> llvm-libc in terms of license, table size, allowed operations.<br>
> <br>
> With respect to license: The contributions should be under the LLVM license<br>
> and follow the LLVM libc coding style. We can help with setting up the<br>
> boiler plate and guide with respect to the coding style.<br>
<br>
we might consider multi-licensing but we'll try to avoid if possible.<br>
<br>
Would the MIT license be ok for inclusion in LLVM? According to<br>
<a href="https://en.wikipedia.org/wiki/License_compatibility" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/License_compatibility</a> it is more permissive<br>
than the Apache license, on which the LLVM is based, according to<br>
<a href="https://en.wikipedia.org/wiki/LLVM" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/LLVM</a>.<br></blockquote><div><br></div><div><div class="gmail_default" style="font-size:small">Unfortunately not. The LLVM license is "Apache License v2.0 with LLVM Exceptions" and the "LLVM Exceptions" part is rather important.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">In LLVM-libc, you can find a directory containing <a href="https://github.com/llvm/llvm-project/tree/main/libc/AOR_v20.02">AOR math routines</a> from Arm. These were originally published by Arm on github under the MIT license (see <a href="https://github.com/ARM-software/optimized-routines">https://github.com/ARM-software/optimized-routines</a>), and as much as we were interested in that code we couldn't use it either. This usage/license problem was resolved when someone from Arm (the copyright holder) re-published the code into LLVM and put the code under the LLVM license. This was done pretty much as a "source drop" so the code wasn't usable as committed, but once it was in-tree we were able to take the code and modify it as necessary to work for LLVM-libc.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Ideally we'd like to avoid this scenario a second time and I hope you develop directly in LLVM though I understand if that's problematic for you for your own licensing or other reasons. I'm happy to discuss possible paths forward with you.</div><div class="gmail_default" style="font-size:small"><br></div></div><div><div class="gmail_default" style="font-size:small">Regards,</div></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">---- David</div><div class="gmail_default" style="font-size:small"></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> About table sizes: Since this is specifically about cr_* functions, I do not<br>
> think there should be any table size limitations to begin with. I would<br>
> imagine that you will continue to work on reducing the table sizes as they<br>
> can potentially impact runtime performance.<br>
<br>
ok, indeed once we get a first correctly rounding implementation for one<br>
function, we'll try to improve its efficiency and/or reduce the table sizes.<br>
<br>
> About allowed operations: I do not think there will be any restrictions here<br>
> as well. LLVM libc is a pick and choose libc. So, if someone does not want<br>
> some or all of cr_* functions, they can simply exclude them.<br>
<br>
great!<br>
<br>
> Hope this answers your questions. Feel free to ask if you have any more.<br>
<br>
yes thanks.<br>
<br>
Best regards,<br>
Paul<br>
_______________________________________________<br>
libc-dev mailing list<br>
<a href="mailto:libc-dev@lists.llvm.org" target="_blank">libc-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/libc-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/libc-dev</a><br>
</blockquote></div></div>