[LLVMdev] Extending AsmPrinterHandler

Russell Hadley rhadley at microsoft.com
Wed May 13 15:27:33 PDT 2015


(background) The CoreCLR expects a JIT to produce a MSIL bytecode offset to code offset mapping annotated with a few extra bits denoting if it’s prolog/epilog, or it’s a call, or if there’s operands remaining on the MSIL virtual stack in some cases.  Our initial prototype has the MSIL offset stashed in the line number field.  We could stash the extra bits in the column info but that’s starting to feel too much like a hack.  We’re looking for a way to 1) extend the debug metadata to hold our info and get it dumped into the in memory object – a new section would be fine if it’s not too complicated. Or 2) a place to extract the data we need when we have both encoded offset and access to the instructions.  We’re looking for some advice.  ☺

-R

From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Eric Christopher
Sent: Wednesday, May 13, 2015 2:55 PM
To: Michelle McDaniel; llvmdev at cs.uiuc.edu
Subject: Re: [LLVMdev] Extending AsmPrinterHandler

You could write the debug information you want into just a section in memory and have your external/alternate/other process/thread/etc pick it up on the other end? I don't see how the extra info you want to send is important here, you'd just be extending the existing debug support. Or I'm missing something at which point I'm not sure which additional questions to ask :)

-eric

On Wed, May 13, 2015 at 2:45 PM Michelle McDaniel <michelm at microsoft.com<mailto:michelm at microsoft.com>> wrote:
I work on the LLILC team, and we are trying to send debug line info through to the CoreCLR EE without using an EventListener because we need to send extra info (more than just available in DebugLoc) like if it’s a call instruction, a call site, etc. We thought extending AsmPrinterHandler would be useful since it seems to have information about debug locations, label offsets, and instruction specific information.



From: Eric Christopher [mailto:echristo at gmail.com<mailto:echristo at gmail.com>]
Sent: Wednesday, May 13, 2015 2:37 PM
To: Michelle McDaniel; llvmdev at cs.uiuc.edu<mailto:llvmdev at cs.uiuc.edu>
Subject: Re: [LLVMdev] Extending AsmPrinterHandler

We generally don't extend the AsmPrinter... can you be more specific about what you're trying to do?

-eric

On Wed, May 13, 2015 at 2:34 PM Michelle McDaniel <michelm at microsoft.com<mailto:michelm at microsoft.com>> wrote:
Hey everyone,

I’m looking into extending AsmPrinterHandler out of tree, to communicate information back to the CoreCLR EE, but all of the headers are in the lib directory. Is there any way to extend it out of tree, or is that not supported? The reason I’d like to do this out of tree is because we want to include clr headers as well, and we don’t want to introduce that into llvm sources.

Thanks,
Michelle
_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu<mailto:LLVMdev at cs.uiuc.edu>         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150513/95b0c00d/attachment.html>


More information about the llvm-dev mailing list