开发者

Is LLVM suitable for parallel languages?

What p开发者_JS百科roperties of LLVM makes it good choice for implementation of (parallel, concurrent, distributed)-oriented language, what makes it bad?


LLVM is called LLVM (Low Level virtual machine) for a good reason. It is so low-level that you're not bound to any particular semantics for your source language.

There are some useful things in LLVM that makes compilation of some parallel languages easier - e.g., jumps to arbitrary blocks: http://llvm.org/docs/LangRef.html#blockaddress

And LLVM does not imply any particular runtime properties, does not force any specific implementation of GC. You can build whatever you want on top of it.


For some practical examples in this space see http://code.google.com/p/gpuocelot/. It allows Cuda code to multitarget on x86.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜