Adapt to LLVM 7+ Orc API changes.
This is mostly done to be able to validate features and fixes submitted to LLVM. Given the size of these changes that seems acceptable. Author: Andres Freund
This commit is contained in:
parent
071371bc43
commit
4b9094eb6e
@ -527,13 +527,17 @@ llvm_compile_module(LLVMJitContext *context)
|
||||
* faster instruction selection mechanism is used.
|
||||
*/
|
||||
INSTR_TIME_SET_CURRENT(starttime);
|
||||
#if LLVM_VERSION_MAJOR < 5
|
||||
#if LLVM_VERSION_MAJOR > 6
|
||||
{
|
||||
orc_handle = LLVMOrcAddEagerlyCompiledIR(compile_orc, context->module,
|
||||
llvm_resolve_symbol, NULL);
|
||||
LLVMDisposeModule(context->module);
|
||||
if (LLVMOrcAddEagerlyCompiledIR(compile_orc, &orc_handle, context->module,
|
||||
llvm_resolve_symbol, NULL))
|
||||
{
|
||||
elog(ERROR, "failed to JIT module");
|
||||
}
|
||||
|
||||
/* LLVMOrcAddEagerlyCompiledIR takes ownership of the module */
|
||||
}
|
||||
#else
|
||||
#elif LLVM_VERSION_MAJOR > 4
|
||||
{
|
||||
LLVMSharedModuleRef smod;
|
||||
|
||||
@ -545,6 +549,12 @@ llvm_compile_module(LLVMJitContext *context)
|
||||
}
|
||||
LLVMOrcDisposeSharedModuleRef(smod);
|
||||
}
|
||||
#else /* LLVM 4.0 and 3.9 */
|
||||
{
|
||||
orc_handle = LLVMOrcAddEagerlyCompiledIR(compile_orc, context->module,
|
||||
llvm_resolve_symbol, NULL);
|
||||
LLVMDisposeModule(context->module);
|
||||
}
|
||||
#endif
|
||||
INSTR_TIME_SET_CURRENT(endtime);
|
||||
INSTR_TIME_ACCUM_DIFF(context->base.emission_counter,
|
||||
|
Loading…
x
Reference in New Issue
Block a user