search for: jitevaluatedsymbol

Displaying 15 results from an estimated 15 matches for "jitevaluatedsymbol".

2020 Apr 16
4
ORC Assertion failure
...y code is trying to get the compiled function's address using something like this: return ES->lookup({MainJD}, (*Mangle)(Name.str())); Here is the call stack: libravi.dll!llvm::orc::MaterializationResponsibility::notifyResolved(const llvm::DenseMap<llvm::orc::SymbolStringPtr,llvm::JITEvaluatedSymbol,llvm::DenseMapInfo<llvm::orc::SymbolStringPtr>,llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr,llvm::JITEvaluatedSymbol>> & Symbols) Line 449 C++ libravi.dll!llvm::orc::RTDyldObjectLinkingLayer::onObjLoad(unsigned __int64 K, llvm::orc::MaterializationResponsibility...
2020 Apr 13
4
LLVM 10 ORC2 issue with symbol resolution
...brarySearchGenerator::GetForCurrentProcess( DL->getGlobalPrefix()))); auto &JD = *MainJD; llvm::orc::MangleAndInterner mangle(*ES, *this->DL); llvm::orc::SymbolMap Symbols; for (int i = 0; global_syms[i].name != nullptr; i++) { Symbols.insert({mangle(global_syms[i].name), llvm::JITEvaluatedSymbol(llvm::pointerToJITTargetAddress(global_syms[i].address), llvm::JITSymbolFlags(llvm::JITSymbolFlags::FlagNames::Absolute))}); } llvm::cantFail(JD.define(llvm::orc::absoluteSymbols(Symbols)), "Failed to install extern symbols"); FYI - my previous post on similar issue. Basically I haven...
2020 Apr 13
2
LLVM 10 ORC2 issue with symbol resolution
...GlobalPrefix()))); >> auto &JD = *MainJD; >> llvm::orc::MangleAndInterner mangle(*ES, *this->DL); >> llvm::orc::SymbolMap Symbols; >> for (int i = 0; global_syms[i].name != nullptr; i++) { >> Symbols.insert({mangle(global_syms[i].name), >> >> llvm::JITEvaluatedSymbol(llvm::pointerToJITTargetAddress(global_syms[i].address), >> >> llvm::JITSymbolFlags(llvm::JITSymbolFlags::FlagNames::Absolute))}); >> } >> llvm::cantFail(JD.define(llvm::orc::absoluteSymbols(Symbols)), "Failed >> to install extern symbols"); >> >>...
2019 Sep 23
4
"Freeing" functions generated with SimpleORC for JIT use-case
Hi all, I am using LLVM for JIT use-case and compile functions on the fly. I want to "free" the modules after some time and reclaim any memory associated with it. I am using the SimpleORC API <https://llvm.org/docs/tutorial/BuildingAJIT1.html> now. Is there an API to "free" all the memory associated with the module? I use one "compiler" instance (think similar
2020 May 23
4
Assertion triggered when running simple hello-world code on iOS device using ORC/LLLazyJIT
...::JITDylibLookupFlags>, std::__1::allocator<std::__1::pair<llvm::orc::JITDylib*, llvm::orc::JITDylibLookupFlags> > > const&, llvm::orc::SymbolLookupSet, llvm::orc::SymbolState, llvm::unique_function<void (llvm::Expected<llvm::DenseMap<llvm::orc::SymbolStringPtr, llvm::JITEvaluatedSymbol, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr>, llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr, llvm::JITEvaluatedSymbol> > >)>, std::__1::function<void (llvm::DenseMap<llvm::orc::JITDylib*, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm:...
2020 Sep 14
2
ORC JIT Weekly #21 -- OrcV1 removal, Removable code, and Remote TargetProcessControl
Hi All, Everything is landing all at once, just not in the mainline... yet. As discussed in http://lists.llvm.org/pipermail/llvm-dev/2020-September/144885.html: OrcV1 will be removed very soon. I have posted a branch with the removal, "orcv1-removal", in my llvm fork at https://github.com/lhames/llvm-project. In addition to removing OrcV1, the orcv1-removal branch also contains a
2020 Jun 06
4
Assertion triggered when running simple hello-world code on iOS device using ORC/LLLazyJIT
...lib*, >>>>> llvm::orc::JITDylibLookupFlags> > > const&, llvm::orc::SymbolLookupSet, >>>>> llvm::orc::SymbolState, llvm::unique_function<void >>>>> (llvm::Expected<llvm::DenseMap<llvm::orc::SymbolStringPtr, >>>>> llvm::JITEvaluatedSymbol, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr>, >>>>> llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr, >>>>> llvm::JITEvaluatedSymbol> > >)>, std::__1::function<void >>>>> (llvm::DenseMap<llvm::orc::JITDylib*, >>&g...
2020 Jun 20
1
Assertion triggered when running simple hello-world code on iOS device using ORC/LLLazyJIT
..., > std::__1::allocator<std::__1::pair<llvm::orc::JITDylib*, > llvm::orc::JITDylibLookupFlags> > > const&, llvm::orc::SymbolLookupSet, > llvm::orc::SymbolState, llvm::unique_function<void > (llvm::Expected<llvm::DenseMap<llvm::orc::SymbolStringPtr, > llvm::JITEvaluatedSymbol, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr>, > llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr, > llvm::JITEvaluatedSymbol> > >)>, std::__1::function<void > (llvm::DenseMap<llvm::orc::JITDylib*, > llvm::DenseSet<llvm::orc::SymbolStringPtr, > ll...
2019 Aug 14
3
ORC v2 question
Hi Lang, On Tue, 13 Aug 2019 at 23:26, Lang Hames <lhames at gmail.com> wrote: >> I also get this message: >> JIT session error: Symbols not found: { raise_error } > > > Ahh -- I see the problem. The DynamicLibrarySearchGenerator is using the getAddressOfSymbol method, which (under the hood) is basically issuing an appropriate dlsym lookup, and that does not find
2020 Sep 23
2
ORC JIT - Can modules independently managed with one LLJIT instance? + problems with ExecutionSession.lookup
...NewSymbols; for(const auto &name : LookupSet) { printf("Generate!\n"); const uintptr_t adr = UndefinedReferenceResolver::lookup((*name.first).data()); if(adr) { NewSymbols[name.first] = llvm::JITEvaluatedSymbol(adr, llvm::JITSymbolFlags::Absolute); } else { notFound.push_back(name.first); } } JD.define(absoluteSymbols(std::move(NewSymbols))); return (notFound.size() == 0) ? llvm::Error::success() : llvm::make_er...
2020 Apr 13
2
LLVM 10 ORC2 issue with symbol resolution
...;> llvm::orc::MangleAndInterner mangle(*ES, *this->DL); > > >> llvm::orc::SymbolMap Symbols; > > >> for (int i = 0; global_syms[i].name != nullptr; i++) { > > >> Symbols.insert({mangle(global_syms[i].name), > > >> > > >> > llvm::JITEvaluatedSymbol(llvm::pointerToJITTargetAddress(global_syms[i].address), > > >> > > >> llvm::JITSymbolFlags(llvm::JITSymbolFlags::FlagNames::Absolute))}); > > >> } > > >> llvm::cantFail(JD.define(llvm::orc::absoluteSymbols(Symbols)), "Failed > > >> t...
2019 Jul 18
2
Eager compilation and relocatable dynamic linkable code-generation
Hi all, I am following the LLVM JIT tutorial API based on: https://llvm.org/docs/tutorial/BuildingAJIT1.html I have 2 independent questions: 1. The tutorial mentions that "*will defer compilation of the module until any of its definitions is looked up*". Does that mean to force eager compilation, i have to keep track of all functions added to the Module and do a lookup? I want the
2020 Sep 24
2
ORC JIT - Can modules independently managed with one LLJIT instance? + problems with ExecutionSession.lookup
...NewSymbols; for(const auto &name : LookupSet) { printf("Generate!\n"); const uintptr_t adr = UndefinedReferenceResolver::lookup((*name.first).data()); if(adr) { NewSymbols[name.first] = llvm::JITEvaluatedSymbol(adr, llvm::JITSymbolFlags::Absolute); } else { notFound.push_back(name.first); } } JD.define(absoluteSymbols(std::move(NewSymbols))); return (notFound.size() == 0) ? llvm::Error::success() : llvm::make_er...
2020 Oct 01
2
ORC JIT - different behaviour of ExecutionSession.lookup?
...TestSym = ES.lookup({&PlanschiJD}, ES.intern("test")), SymbolState::Resolved) { // Tell the JIT that the address of PlanschiTest is the same // as the address of "test" in the Planschi JITDylib. MR.notifyResolved({ { ES.intern("Planschi_test"), JITEvaluatedSymbol(TestSym.getAddress(), JITSymbolFlags::Exported) } }); // Tell the JIT that "Planschi_test" depends on the "test" symbol in // the Planschi JITDylib: MR.addDependencies(ES.intern("Planschi_test"), {{&PlanschJD...
2020 Sep 30
2
ORC JIT - different behaviour of ExecutionSession.lookup?
Hey Lang, > Do you mean that the object file is produced by another process and is being loaded into your JIT process for execution, or that you want your JIT to produce code for several different processes? These are different problems with different solutions. I'll wait until I understand your use case to answer further. In the current state we don’t have a JIT only an handcrafted object