Displaying 6 results from an estimated 6 matches for "finalizeloadedmodul".
Did you mean:
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...
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 singl...
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 ff8749...
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,