Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Stack traces from JIT code"
2013 Nov 13
3
[LLVMdev] Stack traces from JIT code
We implemented a similar solution for handling crashes in production but
one issue we came across with MCJIT was that the NotifyFunctionEmitted call
from the old JIT was replaced with NotifyObjectEmitted. The ObjectImage
used by NotifyObjectEmitted does have a way of iterating symbols but
non-external functions used in the module didn't seem to appear in this
list so we were left with some
2013 Nov 13
0
[LLVMdev] Stack traces from JIT code
Writing your own JITEventListener is probably the best way to capture
traces from production. Using the existing gdb/JIT interface support is
probably far too heavyweight for production. If you roll your own, you can
record the PC ranges efficiently and that should be good enough to capture
traces from production.
On Tue, Nov 12, 2013 at 2:56 PM, Priyendra Deshwal
<deshwal at
2013 Nov 13
2
[LLVMdev] Stack traces from JIT code
Hi Andy,
In the NotifyObjectEmitted method of our derived JITEventListener class we
use the begin_symbol() iterator to walk the object's symbols looking for
functions and only functions marked with ExternalLinkage seem to show up.
I'm not sure how I would access the Dwarf info from within there, is there
a way?
Thanks,
Andrew
On Wed, Nov 13, 2013 at 8:23 PM, Kaylor, Andrew
2013 Nov 13
0
[LLVMdev] Stack traces from JIT code
>From NotifyObjectEmitted you should be able to get to any function that's visible via either the ELF headers or the DWARF information. Do you have functions that don't show up in either of those places?
-Andy
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Andrew MacPherson
Sent: Wednesday, November 13, 2013 9:23 AM
To: Reid Kleckner
Cc:
2013 Nov 13
0
[LLVMdev] Stack traces from JIT code
Yeah, take a look at the IntelJITEventListener code (in lib/ExecutionEngine/IntelJITEvents). It uses the debug info to find function names.
-Andy
From: Andrew MacPherson [mailto:andrew.macp at gmail.com]
Sent: Wednesday, November 13, 2013 1:12 PM
To: Kaylor, Andrew
Cc: Reid Kleckner; llvmdev at cs.uiuc.edu
Subject: Re: [LLVMdev] Stack traces from JIT code
Hi Andy,
In the NotifyObjectEmitted
2013 Mar 03
2
[LLVMdev] Profiling LLVM JIT code
Hey guys,
I am currently working on a project that uses JIT compilation to compile
incoming user requests to native code. Are there some best practises
related to profiling the generated code?
My project uses gperftools pprof for profiling etc. Is there a way to hook
the two up? Are there any other profiling method that works? This page
describes how to debug JIT code with GDB. I wonder if
2013 Mar 05
1
[LLVMdev] Profiling LLVM JIT code
Thanks for the info. I am using old JIT. So that should not be a problem.
I will take a look at using oprofile. I have never used it - so will be
somewhat of a learning curve.
I notice that the configure script has a --with-oprofile option. In
addition to enabling that, is there something else that also needs to be
done? My copy of LLVM is compiled with --enable-optimized. Will
--with-oprofile
2018 Jan 04
0
jit stack traces
I am following up on an earlier conversation here with respect to jit
stack traces. Any thing changed here with respect to latest llvm
versions..
On Wed, Nov 13, 2013 at 08:51 AM, Reid Kleckner <rnk at google.com
2013 Mar 04
0
[LLVMdev] Profiling LLVM JIT code
Hi Priyendra,
There is support for oprofile and Intel(r) VTune(tm) Performance Analyzer, but either one needs to be explicitly turned on during the build process. If you use MCJIT (as opposed to the older JIT) then oprofile support isn't in place yet.
Both of these work by providing a JITEventListener that receives notification when new code is emitted and hooks it up to the profiling tool
2013 Nov 12
0
[LLVMdev] Stack traces from JIT code
Hey guys,
In our project we have the following workflow:
- Given a user request, we construct a C++ program to service the request
- We create a compiler invocation to compile that program into an IR module
- We use JIT (and optionally MCJIT) to convert the IR into executable code
and run it
Occasionally, we have a crash in the JIT code and we are looking to figure
out best practices around
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
2015 Jun 04
2
[LLVMdev] MCJit interface question
When we were using MCJIT, I could do this:
// Attach the event listener
Context.EE->RegisterJITEventListener(
LLILCJitEventListener::createLLILCJitEventListener(
new LLILCJitEventWrapper(&Context)));
The event listeners listened for when an object is emitted (NotifyObjectEmitted), and that’s when we’d go through and extract debug info from the ObjectFile. Now, I imagine
2018 Apr 01
2
[Dwarf] Register a local variable in DIBuilder and locate it later with a DwarfContext
Hi Paul,
How can i make this call to intrinsic from the c++ code ?
I'm not working with the IR language, but directly in C++ with
IRBuilder::CreateAlloca.
My goal is that one :
- Generate machine code with an instance of the class 'IRBuilder'
- Emit 'ObjFile' class instance with MCJIT
- Create a DwarfContext instance directly from the emitted ObjFile object
2017 Aug 24
1
Invalid Signature of orc::RTDyldObjectLinkingLayer::NotifyLoadedFtor
Hi all, hi Lang
It's a little late to report issues for release_50, but I just found
that thing while porting my JitFromScratch examples to 5.0.
This is a really nifty detail, but (if I'm not mistaken) the function
signature of RTDyldObjectLinkingLayer::NotifyLoadedFtor is incorrect:
$ grep -h -r -A 1 "using NotifyLoadedFtor"
2017 Oct 11
2
Debugging JIT'ed code with ORC JIT?
HI Yichao,
RTDyldObjectLinkingLayer has a NotifyObjectLoaded hook that you can use to
call NotifyObjectEmitted on your GDBRegistrationListener.
If code is going to be unloaded we would have to add an extra hook to call
NotifyFreeingObject -- that seems totally reasonable to add.
-- Lang.
On Wed, Oct 11, 2017 at 10:44 AM, Yichao Yu <yyc1992 at gmail.com> wrote:
> > What debugging
2012 Nov 26
2
[LLVMdev] Removing old JIT CodeEmitters for ARM and PPC
Thanks Andrew for the update.
Does it support NotifyFunctionEmitted?
Cheers.
-----Original Message-----
From: Kaylor, Andrew [mailto:andrew.kaylor at intel.com]
Sent: Monday, November 26, 2012 1:06 PM
To: Manny Ko
Cc: LLVM Developers Mailing List
Subject: RE: [LLVMdev] Removing old JIT CodeEmitters for ARM and PPC
The current 3.2 code branch has events being broadcast from the MCJIT engine
2015 Jun 04
2
[LLVMdev] MCJit interface question
Hi all,
So I’m also working on LLILC. Specifically, I have been working on a JITEventListener to pass debug line info to the CoreCLR EE. With Joe’s change, I’ve lost the ability (or as far as I can tell) to attach an event listener. Is there a way within Orc to do the sorts of things that the JITEventListeners do in MCJIT? How would I go about adding a layer to add debugging support?
Thanks,
2018 Apr 02
0
[Dwarf] Register a local variable in DIBuilder and locate it later with a DwarfContext
"IR" often refers to the general concept/semantics, not only the textual
format in .ll files (there are 3 main forms - bitcode, textual IR, and the
in-memory representation (llvm::Module, etc - constructed using IRBuilder)).
A great place to start is to look at what Clang does to produce debug info
- it uses IRBuilder, for instance. So you could look at how Clang uses the
IRBuilder when
2012 Nov 26
0
[LLVMdev] Removing old JIT CodeEmitters for ARM and PPC
No. It adds a new event, 'NotifyObjectEmitted'. The Intel JIT listener that I mentioned then uses the emitted object to find the functions (which are all emitted together).
Because of the way that MCJIT is implemented, it isn't really feasible to reconstruct things like the EmittedFunctionDetails in the NotifyFunctionEmitted event.
-Andy
-----Original Message-----
From: Manny Ko