[LLVMdev] Output to a DLL
meurant.olivier at gmail.com
Thu Jun 11 09:10:36 PDT 2009
When you say "spit bitecode from the JIT the first time, load it on
subsequent sessions" :
- do you want to write the IR in a file via BitcodeWriter and re-read it via
BitcodeReader ? (you will pay the cost of native code emission on each load
- do you want to write the native code ? In that case, how do you retrieve
the size of the buffer prepared by the "getPointerToFunction" method ? Is it
safe ? I was wondering on how memory access to global variable will come
back in this case ?
On Thu, Jun 11, 2009 at 5:39 PM, Óscar Fuentes <ofv at wanadoo.es> wrote:
> "Nicolas Capens" <nicolas at capens.net> writes:
> Hello Nicolas.
> > I'd like to be able to write JIT-compiled code to a Windows DLL. I have
> > idea where to start though. Does LLVM already offer some support for
> > this?
> Nope. Don't hold your breadth waiting for it. It is far from trivial to
> I don't know your requirements, but mine is to avoid compilation every
> time the hosting application starts.
> I was thinking on:
> 1. Compile and spit bitecode from the JIT the first time, load it on
> subsequent sessions. Seems doable. Doesn't work if your goal is
> using code on non-LLVM-aware applications, but if you want to do this
> the JIT is of no use anyways.
> 2. Act as a traditional compiler and generate a shared library via
> llvmc + assembler + linker. Tricky, even more so on Windows. Resolving
> symbols is not as easy as is on case 1.
> > Or would it be straightforward to write my own DLL writer (no advanced
> > features needed)? Or maybe I could use an external linker? All help
> > appreciated!
> If you end hacking a DLL writer, please contribute it to LLVM :-)
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev