21 std::unique_ptr<llvm::orc::ExecutionSession> ES;
22 llvm::orc::RTDyldObjectLinkingLayer ObjectLayer;
23 llvm::orc::IRCompileLayer CompileLayer;
26 llvm::orc::MangleAndInterner Mangle;
27 llvm::orc::JITDylib &MainJD;
30 SammineJIT(std::unique_ptr<llvm::orc::ExecutionSession> ES,
31 llvm::orc::JITTargetMachineBuilder JTMB, llvm::DataLayout DL);
35 static llvm::Expected<std::unique_ptr<SammineJIT>> Create();
37 const llvm::DataLayout &getDataLayout()
const {
return DL; }
39 llvm::orc::JITDylib &getMainJITDylib() {
return MainJD; }
41 llvm::Error addModule(llvm::orc::ThreadSafeModule TSM,
42 llvm::orc::ResourceTrackerSP RT =
nullptr);
44 llvm::Expected<llvm::orc::ExecutorSymbolDef> lookup(llvm::StringRef Name) {
45 return ES->lookup({&MainJD}, Mangle(Name.str()));