mirror of
https://github.com/ldc-developers/ldc.git
synced 2025-05-12 13:55:57 +03:00
Fix jit with LLVM 8 (#2944)
This commit is contained in:
parent
d4858cfbcb
commit
3dc367db40
2 changed files with 9 additions and 1 deletions
|
@ -95,7 +95,7 @@ JITContext::JITContext()
|
||||||
execSession(stringPool), resolver(createResolver()),
|
execSession(stringPool), resolver(createResolver()),
|
||||||
objectLayer(execSession,
|
objectLayer(execSession,
|
||||||
[this](llvm::orc::VModuleKey) {
|
[this](llvm::orc::VModuleKey) {
|
||||||
return llvm::orc::RTDyldObjectLinkingLayer::Resources{
|
return ObjectLayerT::Resources{
|
||||||
std::make_shared<llvm::SectionMemoryManager>(),
|
std::make_shared<llvm::SectionMemoryManager>(),
|
||||||
resolver};
|
resolver};
|
||||||
}),
|
}),
|
||||||
|
|
|
@ -67,11 +67,19 @@ private:
|
||||||
llvm::llvm_shutdown_obj shutdownObj;
|
llvm::llvm_shutdown_obj shutdownObj;
|
||||||
std::unique_ptr<llvm::TargetMachine> targetmachine;
|
std::unique_ptr<llvm::TargetMachine> targetmachine;
|
||||||
const llvm::DataLayout dataLayout;
|
const llvm::DataLayout dataLayout;
|
||||||
|
#if LDC_LLVM_VER >= 800
|
||||||
|
using ObjectLayerT = llvm::orc::LegacyRTDyldObjectLinkingLayer;
|
||||||
|
using ListenerLayerT =
|
||||||
|
llvm::orc::LegacyObjectTransformLayer<ObjectLayerT, ModuleListener>;
|
||||||
|
using CompileLayerT =
|
||||||
|
llvm::orc::LegacyIRCompileLayer<ListenerLayerT, llvm::orc::SimpleCompiler>;
|
||||||
|
#else
|
||||||
using ObjectLayerT = llvm::orc::RTDyldObjectLinkingLayer;
|
using ObjectLayerT = llvm::orc::RTDyldObjectLinkingLayer;
|
||||||
using ListenerLayerT =
|
using ListenerLayerT =
|
||||||
llvm::orc::ObjectTransformLayer<ObjectLayerT, ModuleListener>;
|
llvm::orc::ObjectTransformLayer<ObjectLayerT, ModuleListener>;
|
||||||
using CompileLayerT =
|
using CompileLayerT =
|
||||||
llvm::orc::IRCompileLayer<ListenerLayerT, llvm::orc::SimpleCompiler>;
|
llvm::orc::IRCompileLayer<ListenerLayerT, llvm::orc::SimpleCompiler>;
|
||||||
|
#endif
|
||||||
#if LDC_LLVM_VER >= 700
|
#if LDC_LLVM_VER >= 700
|
||||||
using ModuleHandleT = llvm::orc::VModuleKey;
|
using ModuleHandleT = llvm::orc::VModuleKey;
|
||||||
std::shared_ptr<llvm::orc::SymbolStringPool> stringPool;
|
std::shared_ptr<llvm::orc::SymbolStringPool> stringPool;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue