9 ms·
How does this compare to LLVM?
by wisesage5001 17y ago
How does this compare to LLVM?
- jrockway 17y agoIt is similar, but LLVM can be higher-level (reusable components; linkages, debugger, etc.) and can have a runtime component (the JIT, etc.). Note that the C-- paper is from 2005. LLVM did not really get underway until around that time.
- more_original 17y agoIt looks like there are also points where C-- is higher-level than LLVM. As far as I can tell, C-- does not require code to be in SSA form, which LLVM does.
- jrockway 17y agoYeah, good point. So I think the best answer to the original question is "they are similar conceptually, but differ in certain ways".
- scythe 17y agoC-- is used in GHC over LLVM because it (last I heard) supports tail call optimization better than LLVM does. http://www.haskell.org/pipermail/glasgow-haskell-users/2006-December/011794.html http://www.haskell.org/pipermail/glasgow-haskell-users/2006-... http://www.haskell.org/pipermail/glasgow-haskell-users/2006-December/011795.html http://www.haskell.org/pipermail/glasgow-haskell-users/2006-... Those are rather old, though, and LLVM has changed (and improved) a lot since then. I'd also figure that LLVM supports JIT compilation much better than C--, which may not support it at all.