[LLVMdev] New JIT APIs

David Blaikie dblaikie at gmail.com
Sun Jan 18 08:07:53 PST 2015


On Sun, Jan 18, 2015 at 7:12 AM, Caldarale, Charles R <
Chuck.Caldarale at unisys.com> wrote:

> > From: Armin Steinhoff [mailto:armin at steinhoff.de]
> > Subject: Re: [LLVMdev] New JIT APIs
>
> > is
> >  delete EE;   // execution engine
> >  llvm_shutdown();
> > sufficient ?
>
> AFAICT, llvm_shutdown() must not be called unless you reach a point where
> LLVM will not be used again by the process (e.g., termination), as it
> destroys statically allocated objects.


At least in theory all those lazy static objects should be re-initialized
when they're first used after a call to llvm_shutdown (bits of the code
clearly intend this to be a supported scenario) but it's probably
under-tested & I'm not sure if people have ideas about killing it off (so
I'm not sure if the right path forward is to avoid relying on that behavior
so it can be killed, or to fix the bugs).


> We delete the ExecutionEngine (which automatically deletes TargetMachine
> and Module) after each compilation.  The LLVMContext and IRBuilder objects
> are deleted after some configurable number of compilations, in order to
> avoid unbounded growth in the constant pool.
>

Yeah, I don't believe the context's constant pool growth has been addressed
even in recent versions.


>
> We're currently using LLVM 3.3 in production (due to performance
> regressions in newer versions), so I don't know if some other scheme is
> appropriate for current levels.
>
>  - Chuck
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150118/12fefe5d/attachment.html>


More information about the llvm-dev mailing list