search for: finalizeloadedmodules

Displaying 6 results from an estimated 6 matches for "finalizeloadedmodules".

2013 Nov 19
2
[LLVMdev] Some MCJIT benchmark numbers
...h as initializeAnalysisImpl() / removeNotPreservedAnalysis() / removeDeadPasses(). For 10k iterations, the test took about 12.6s, or 1.26ms per module, so there's definitely some slowdown happening. Looking at the profiling output, it looks like the main difference is the appearance of MCJIT::finalizeLoadedModules(), which ultimately calls RuntimeDyldImpl::resolveRelocations() and SectionMemoryManager::applyMemoryGroupPermissions(), both of which iterate over all memory sections leading to quadratic overhead. I'm not sure how easy it would be, but it seems like there could be single-module variants of t...
2013 Nov 19
0
[LLVMdev] Some MCJIT benchmark numbers
.../ > removeNotPreservedAnalysis() / removeDeadPasses(). > > For 10k iterations, the test took about 12.6s, or 1.26ms per module, so > there's definitely some slowdown happening. Looking at the profiling > output, it looks like the main difference is the appearance of > MCJIT::finalizeLoadedModules(), which ultimately calls > RuntimeDyldImpl::resolveRelocations() and > SectionMemoryManager::applyMemoryGroupPermissions(), both of which iterate > over all memory sections leading to quadratic overhead. I'm not sure how > easy it would be, but it seems like there could be single-...
2018 Mar 26
0
Interest in integrating a linux perf JITEventListener?
...JIT notifiers only after code sections are > ready. > > Previously JIT notifiers were called before relocations were > performed (leading to ominious function call of "0"), and before > memory marked executable (confusing some profilers). > > Move notifications to finalizeLoadedModules(). > --- > lib/ExecutionEngine/MCJIT/MCJIT.cpp | 16 ++++++++++++++-- > lib/ExecutionEngine/MCJIT/MCJIT.h | 2 ++ > 2 files changed, 16 insertions(+), 2 deletions(-) > > diff --git a/lib/ExecutionEngine/MCJIT/MCJIT.cpp b/lib/ExecutionEngine/MCJIT/MCJIT.cpp > index ff8749fb...
2016 Dec 29
1
Interest in integrating a linux perf JITEventListener?
Having something like this available in tree would definitely be useful. For simplicity, why don't we start with support for the second style? This is the long term useful one and would be a good starting point for getting the code in tree. Can you give a pointer to the patch so that I can assess the rough complexity? If it's simple enough, I'd be happy to help get it reviewed
2017 Feb 02
0
Interest in integrating a linux perf JITEventListener?
Hi, On 2016-12-29 13:17:50 -0800, Philip Reames wrote: > Having something like this available in tree would definitely be > useful. Cool. > For simplicity, why don't we start with support for the second style? This > is the long term useful one and would be a good starting point for getting > the code in tree. Works for me. > Can you give a pointer to the patch so that
2016 Mar 08
3
Deleting function IR after codegen
YES. My use of LLVM involves an app that JITs program after program and will quickly swamp memory if everything is retained. It is crucial to aggressively throw everything away but the functions we still need to execute. I've been faking it with old JIT (llvm 3.4/3.5) by using a custom subclass of JITMemoryManager that squirrels away the jitted binary code so that when I free the Modules,