--- On Thu, 1/3/08, Gordon Henriksen <gordonhenriksen at mac.com>
wrote:>
> 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!
>
thanks
> > 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.
>
yes -but can you tell me which optimizations have been proven to be more
effective when applied at run time i.e. when input data is available?
> > do you have something along lines of JVM's hotspot
> feature?
>
> You can recompile a function in the JIT at any time.
>
I am interested in optimizing code that was compiled using a C/C++ compiler. So,
I will have binaries but probably not the source code.
> 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).
>
can I pull out the backend part which is used for runtime optimization?
thanks
kamal
> — Gordon