
SBCL LLVM - fogus
http://repo.or.cz/w/sbcl/llvm.git/blob/HEAD:/README.LLVM
======
phren0logy
I see lots of languages targeting the LLVM (for example Ruby's MacRuby
implementation, Python's Unladen Swallow, and recently a thesis about using it
for Haskell through the GHC).

What does this mean for the average programmer? I'm assuming that the more
popular it gets, the more likely it is to be further optimized? Is there any
effect on cross-platform portability of code?

------
wingo
Why? SBCL has a great compiler. Using LLVM is giving up their freedom.

~~~
jesnell
SBCL's low level code generation is total crap, the smart bits are in the high
level optimizations. (And to be honest, even those smart bits are
fundamentally 80s technology, it's just that most dynamic language
implementations never got even that far up the technology ladder). What James
is doing is hooking LLVM in after most of those high level optimizations have
been done, but letting LLVM worry about instruction selection, instruction
reordering, register allocation, etc.

(Edit: Oh, but the place where it's hooked into also is bypassing some
compiler passes that might turn out to be too fundamental, like representation
selection which decides whether values should be stored tagged or as raw
machine values. One theory is that some of LLVM's more advanced or future
optimizations will obviate the need for that pass. The other is that really
LLVM should work at the same level as other SBCL backends, after all the
generic low level decisions have been made. This work is still at such an
early stage that we haven't even figured out which of the two theories is
true.)

~~~
palish
Does it finally not crash on Windows yet? Because I'd love to mess around with
it, but it's hard to make a game when it occasionally crashes deep within
SBCL's internals.

~~~
zachbeane
Nobody is working on SBCL on Windows.

~~~
ynniv
And thats why I'm using clojure.

------
joubert
Me want Clojure implemented on LLVM. Call it Lure.

