[LLVMdev] LLVM for JIT only use

Misha Brukman brukman at uiuc.edu
Sun Nov 7 14:14:19 PST 2004


On Sun, Nov 07, 2004 at 11:04:58PM +0100, Basile STARYNKEVITCH wrote:
> (apparently this list is moderated)

Yes, we get too much spam, so it's moderated, but only with regard to
spam, nothing else.
 
> Basile>> I want to try to use LLVM only for JIT only use (generating
> code in Basile>> memory for x86 and, when available PowerPC [32bits])
> 
> If you want to know I am experimenting some JIT generation for a
> experimental toy functional language [this is only a hobby] and I did
> write the OcamlJIT (a JIT translator of Ocaml bytecode using GNU
> lightning)
 
Sounds pretty neat.

> First, I am extremely confused by the terminology. IMHO, the runtime
> libraries would include (from my JIT only perspective)
> 
> 1. all the LLVM libraries required to JIT-generate machine code, and
> to build a representation of the LLVM instruction sequence or tree.
> 
> Z. the garbage collection I'm coding for my toy language.
> 
> So I really can't figure why is the LVM-GCC parser needed here!

Sorry for the confusion.  By 'runtime', I mean 'llvm/runtime' directory,
which are C libraries for our purposes (profiling, tracing, a beginning
of a garbage-collection library, zlib, etc.).  Take a look inside -- you
can tell what things are based on their names.

The one important thing that the runtime/ directory provies is the
crtend.o that is linked to any C/C++ program that LLVM-GCC compiles, but
again, that is of no relevance to your project.

> For me the runtime stuff of LLVM is the stuff I need to JIT (without C
> parsing) - but I am wrong! what exactluy is the "runtime" and why does
> it require llvm-gcc (I thought that LLVM is not a bootstrapped
> language: the compiler is not written in LLVM...)

In your list, (1) is llvm/lib/VMCore and a few others, (2) you provide.
We just have a different terminology.

Bottom line: you don't need llvm/runtime.
 
> Second trivial question: only I "make tools-only" how can I install
> the stuff (in the standard /usr/local/ prefix)? Does "sudo make
> install" is enough?

That should do it, but to be certain, I would defer that question to one
of our Makefile gurus Reid Spencer.

-- 
Misha Brukman :: http://misha.brukman.net :: http://llvm.cs.uiuc.edu




More information about the llvm-dev mailing list