[llvm-dev] Third-party libraries policy
Bekket McClane via llvm-dev
llvm-dev at lists.llvm.org
Tue Oct 18 20:57:32 PDT 2016
> Mehdi Amini <mehdi.amini at apple.com> 於 2016年10月19日 上午11:47 寫道:
>
>>
>> On Oct 18, 2016, at 8:41 PM, Bekket McClane <bekket.mcclane at gmail.com <mailto:bekket.mcclane at gmail.com>> wrote:
>>
>>
>>> Mehdi Amini <mehdi.amini at apple.com <mailto:mehdi.amini at apple.com>> 於 2016年10月19日 上午11:30 寫道:
>>>
>>>
>>>> On Oct 18, 2016, at 6:28 PM, Bekket McClane via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>>>
>>>> Hi,
>>>> The LLVM variant we're building now contains usage of a third-party threading library, and we would like to push our work upstream in the future.
>>>
>>> What is the motivation?
>>> For instance what is this doing that std::thread or llvm::ThreadPool is not providing? Why is it useful to have it in tree?
>>
>> The library we’re using is actually a routine library which provides extremely fast context switching similar to Go routine.
>
> That’s interesting, but are you intending to use this as a runtime to go with the code *generated by LLVM* or are you planning to use this to implement the compiler internals?
>
> This is a significant difference, as in the first case we have started a “parallel libs” subproject here: http://llvm.org/svn/llvm-project/parallel-libs/trunk/ <http://llvm.org/svn/llvm-project/parallel-libs/trunk/>
> I’m not sure we would take an external lib, but we would consider integrating as a new LLVM subproject if there was a motivation on both side to get there.
>
> For the second case (using it in the compiler itself), what kind of uses do you have for this in your “LLVM variant”?
I think we’re the second case, since we are going to parallelize "compiler itself”. In short, we’re planning to parallelize the code generation process in aid of JIT compilation.
>
>> I think neither standard library nor LLVM support library provide this functionality.
>
> We’re implementing C++ coroutine though: https://www.youtube.com/watch?v=8C8NnE1Dg4A <https://www.youtube.com/watch?v=8C8NnE1Dg4A>
> (Not sure how it relates to what you’re doing, but since you mentioned coroutines…)
Yes, I think that resembles to what we want. Thanks for providing.
B.R.
McClane
>
> —
> Mehdi
>
>
>
>>
>>>
>>>
>>>> Are third-party libraries welcomed to be added in LLVM? If yes, what folder structure should we arrange?
>>>
>>> In general we avoid them as much as possible and need a really compelling justification to include one.
>>> Chris reinstated this position recently: http://lists.llvm.org/pipermail/llvm-dev/2016-September/105166.html <http://lists.llvm.org/pipermail/llvm-dev/2016-September/105166.html>
>> Thanks, we would take this policy into our consideration.
>>
>> B.R.
>> McClane
>>>
>>> —
>>> Mehdi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161019/a6739be5/attachment-0001.html>
More information about the llvm-dev
mailing list