[LLVMdev] New JIT APIs
Caldarale, Charles R
Chuck.Caldarale at unisys.com
Sun Jan 18 07:12:29 PST 2015
> 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. 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.
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
More information about the llvm-dev
mailing list