================ @@ -697,15 +718,20 @@ llvm::Error Interpreter::Undo(unsigned N) { return llvm::Error::success(); } -llvm::Error Interpreter::LoadDynamicLibrary(const char *name) { +llvm::Error Interpreter::LoadDynamicLibrary(const char *name, bool UseEPC) { auto EE = getExecutionEngine(); if (!EE) return EE.takeError(); auto &DL = EE->getDataLayout(); - - if (auto DLSG = llvm::orc::DynamicLibrarySearchGenerator::Load( - name, DL.getGlobalPrefix())) + if (UseEPC) { + if (auto DLSG = llvm::orc::EPCDynamicLibrarySearchGenerator::Load( + EE->getExecutionSession(), name)) + EE->getMainJITDylib().addGenerator(std::move(*DLSG)); + else + return DLSG.takeError(); + } else if (auto DLSG = llvm::orc::DynamicLibrarySearchGenerator::Load( + name, DL.getGlobalPrefix())) EE->getMainJITDylib().addGenerator(std::move(*DLSG)); else return DLSG.takeError(); ---------------- lhames wrote:
Have you tried using the EPC generator unconditionally here? That should always work now. https://github.com/llvm/llvm-project/pull/110418 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits