[racket-dev] LLVM
On Aug 3, Paul Steckler wrote:
> On Tue, Aug 3, 2010 at 10:41 AM, Matthias Felleisen
> <matthias at ccs.neu.edu> wrote:
> > Eli and an undergraduate (Alex Friedman) started on this a few
> > years ago and got reasonably far. They could compile a bunch of
> > small stuff, and the LLVM developer was highly responsive to
> > requests back then (still at UIUC).
It wasn't actually compiling code, it was more a scheme-like assembly
language which got far enough to run useful bits of code. We also had
a lightning interface before the LLVM thing.
> > But Matthew's effort on jitting via gnu lightning was better and
> > so the llvm project was abandoned.
Matthew actually wrote a jitter for bytecode, and lightning turned out
fine for that. LLVM has a nice interface and lots of optimizations
(some tied to how it represents assembly code) -- but the system
itself is pretty big, which made it much less appealing as a target
for jitting. (It's roughly like swallowing GCC into Racket.)
> Interesting; I wasn't aware of GNU lightning.
>
> Does that mean that mzc currently targets lightning, or is that just
> used in the JIT?
Both of these are unrelated to mzc -- and the current use of lightning
is only for jitting. If you're talking about using the LLVM C
compiler, then that's a different issue (and I think that some people
have tried that, but I don't remember who or whether it was
successful).
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!