[LLVMdev] runtime optimizations in LLVM

Gordon Henriksen gordonhenriksen at mac.com
Thu Jan 3 15:14:31 PST 2008


Hi Kamal,

On Jan 2, 2008, at 05:57, Kamal R. Prasad wrote:

> (im new to LLVM , so pl excuse if this is a naive q).

Welcome!

> Can someone provide info on what runtime optimizations are done in  
> LLVM?

You can use any of LLVM's optimizing transformations in a JIT context.  
There's a list here:

http://llvm.org/docs/Passes.html

Unlike Java, you're in the driver's seat. You can determine which  
optimizations are applied to your code, and when.

> do you have something along lines of JVM's hotspot feature?

You can recompile a function in the JIT at any time.

http://llvm.org/doxygen/classllvm_1_1ExecutionEngine.html#a18

However, LLVM does not yet have support frame rewriting; you cannot re- 
optimize and resume a function that is on the call stack.

> How efficient is the optimized code vis-a-vis native code?

It is native code! :) LLVM is also an excellent static compiler (see  
llvm-gcc, clang).

— Gordon





More information about the llvm-dev mailing list