search for: definitiongenerator

Displaying 5 results from an estimated 5 matches for "definitiongenerator".

2020 Sep 28
2
ORC JIT - different behaviour of ExecutionSession.lookup?
...lvm::orc::SymbolLookupFlags::WeaklyReferencedSymbol); ES.lookup({{&jit->getMainJITDylib(), llvm::orc::JITDylibLookupFlags::MatchAllSymbols}}, lookupSet, llvm::orc::LookupKind::Static, llvm::orc::SymbolState::Resolved); Even though the "tryToGenerate" function of my DefinitionGenerator returned a "llvm::orc::SymbolsNotFound" for the "?_Plansch_test@@3HA", I got an address for "?Sampler@@YAXXZ". Dumping the "MainJITDylib" I saw, that the "?Sampler@@YAXXZ" was in an Error state. Which made sense - I guess. Question 1.) Is there any...
2020 Sep 29
3
ORC JIT - different behaviour of ExecutionSession.lookup?
...ded and everything was fine. If I get it right… This would change now to having a single LLJIT representing the entire system. Each process would get it’s own DyLib for there module. However, I would need to check on IR-Level now which symbols would be undefined – correct? Because if I wait until “DefinitionGenerator::tryToGenerate” is called and have to wait for a module that might never be loaded, then I’m stuck there forever. 1.) If I find a symbol that is undefined – and it has our name scheme, then I would jump to for example ModuleB, which is also not jitted yet and would do a “replaceAllUsesWith” on the...
2020 Sep 30
2
ORC JIT - different behaviour of ExecutionSession.lookup?
...table. However, if the module you depend on has still undefined references you can be screwed. Cause our code will not check the dependencies. Another reason why we want to move away. I think… but this is probably not thought through well: I need to do those steps on the IR level now – because the DefinitionGenerator needs to resolve all symbols, but I might have to wait for a different module to pop up first. So I would iterate over the globals and the functions of the Module: I would rename each symbol I encounter to have a unique name. This would be easy because when we load stuff, we give them a hierarchic...
2020 Oct 01
2
ORC JIT - different behaviour of ExecutionSession.lookup?
...bols, get the addresses and can execute them This would be the case where everything went well. Okay…. So I use the “LLJITBuilder” to get my LLJIT instance, this would be before step 1.) In step 2.) when I created the new DyLib, I would call addGenerator and pass a class to it that inherits from “DefinitionGenerator” right? Let’s call it “MyDefinitionGenerator" then. “MyDefinitionGenerator" needs to provide an implementation for “tryToGenerate” which contains stuff which I ignore at this point. Now I’m in step 3.) right? And oh nooo! Planschi_test is undefined. Now the tryToGenerate function is exec...
2020 Sep 24
2
ORC JIT - Can modules independently managed with one LLJIT instance? + problems with ExecutionSession.lookup
Hey Lang, I would be really happy to only have one LLJIT instance and using multiple JITDylibs. However… it seems like that I don’t know enough to use them. So I wonder… 1. When I add Module A to JITDylib A and Module B to JITDylib B – where will those look for undefined symbols? Will Module A for example: will it only search itself and the MainDylib? Or would it also search in JITDylib B?