similar to: [LLVMdev] Any way get debug output of generated assembly from MCJIT without completely redoing CodeGen?

Displaying 20 results from an estimated 6000 matches similar to: "[LLVMdev] Any way get debug output of generated assembly from MCJIT without completely redoing CodeGen?"

2014 Jun 24
2
[LLVMdev] Any way get debug output of generated assembly from MCJIT without completely redoing CodeGen?
Yeah, that's probably how I'd do it. Might be useful if you guys want to contribute that as a command line option Kevin. -eric On Tue, Jun 24, 2014 at 3:03 PM, Kevin Modzelewski <kmod at dropbox.com> wrote: > We do this in Pyston using a JITEventListener that just disassembles the > output; it's "it works let's move on"-quality: >
2010 Jul 28
3
[LLVMdev] Function-at-a-time Processing
We process very large programs and it is not unusual for the IR for some compilation unit to exceed system memory. With some hacking in LLVM 2.5 I was able to coax LLVM to generate asm for each functioin as it was processed and then completely forget about it (i.e. delete it) and move on to the next function. This required a bit of hackery. I had to create two pass managers, one for the module
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,
2010 Mar 27
2
[LLVMdev] Static code generation - is it gone from LLVM 2.7?
Chris Lattner wrote: > On Mar 27, 2010, at 12:49 PM, Peter Shugalev wrote: > >>>> New method of emitting object code is ok for me. But it is still >>>> experimental, isn't it? >>> Yes. >> Thank you for answers! >> >> Now there is a way to implement what I'd like to. But it would be MUCH >> better if
2010 Mar 29
0
[LLVMdev] Static code generation - is it gone from LLVM 2.7?
On Mar 27, 2010, at 1:50 PM, Peter Shugalev wrote: > Chris Lattner wrote: >> On Mar 27, 2010, at 12:49 PM, Peter Shugalev wrote: >> >>>>> New method of emitting object code is ok for me. But it is still >>>>> experimental, isn't it? >>>> Yes. >>> Thank you for answers! >>> >>> Now there is a way to implement
2017 Dec 27
1
Convert MachineInstr to MCInst in AsmPrinter.cpp
Hello everyone, In the file *lib/CodeGen/AsmPrinter/AsmPrinter.cpp*, I would like to obtain an MCInst corresponding to its MachineInstr. Can anyone tell me a way to do that? If that is not possible, then, I would like to know if a given MachineInstr is an *lea *instruction and I would like to know if the symbol involved with this lea instruction is a jump-table. For instance, given a
2016 Mar 08
11
Deleting function IR after codegen
Hi all After codegen for a given function, the IR should no longer be needed. In the AsmPrinter we convert from MI->MCInstr, and then we never go back and look at the IR during the MC layer. I’ve prototyped a simple pass which can be (optionally) scheduled to do just this. It is added at the end of addPassesToEmitFile. It is optional so that clang can continue to leak the IR with
2013 Jul 16
1
[LLVMdev] Instantiating Target-Specifc ASM Parser
Hello, I am working on backend development and would like to utilize my target's MCAsmParser inside of an MCInst-level class implementation. I noticed that the AsmParser is registered with the target registry however I am having no luck grepping for a "template" of how to instantiate it and have yet to find specific documentation on how it is done. Any ideas or help is greatly
2010 Jul 14
2
[LLVMdev] Win32 COFF Support - Patch 3
On Sun, Jul 11, 2010 at 6:10 PM, Chris Lattner <clattner at apple.com> wrote: > This probably needs to be slightly tweaked to work with mainline.  I don't see anything objectionable, but I think Daniel needs to review this one. Updated patch to work with mainline. http://github.com/Bigcheese/llvm-mirror/commit/d19a4c82c18afc4830c09b70f02d162292231c94 - Michael Spencer
2017 Jun 06
3
[RFC] Pagerando: Page-granularity code randomization
This RFC describes pagerando, an improvement upon ASLR for shared libraries. We're planning to submit this work for upstreaming and would appreciate feedback before we get to the patch submission stage. Pagerando randomizes the location of individual memory pages (ASLR only randomizes the library base address). This increases security against code-reuse attacks (such as ROP) by tolerating
2013 Dec 15
2
[LLVMdev] GCModuleInfo and MCJIT
Hi all, So, MCJIT is working with vmkit, that's great. However, I need to retrieve the GCModuleInfo and the MachineCodeEmitter used during the compilation process. And I don't know how I should proceed? I'm trying to understand how they are preserved with the old jit, but I have to say that I'm a little bit lost because I haven't a global view of the code... So, any help would
2013 Dec 18
1
[LLVMdev] GCModuleInfo and MCJIT
Hi, I have the solution to my problem :). And the llvm gc infrastructure can work with the current MCJIT without any change (good news). I will explain what I have done to find the garbage collector metadata generated by llvm with MCJIT, I'm pretty sure that it could help someone. And it's very easy. You just have to activate a static gcprinter for the assembly. A very good example is
2013 Dec 18
0
[LLVMdev] GCModuleInfo and MCJIT
Hi! I have now a more precise question, I hope that this time, someone will be able to help me :) I'm now able to find the gc meta data. To find this data, I simply register a GCMetadataPrinter (just like during an AOT compilation). A GCMetadataprinter is called at the end of the compilation of a module after having assigned the slots to the live roots. I have almost everything except that
2019 Jan 19
3
Can't find symbol from llvm backend
No, I don't. But I’m sure it is not optimized because I can see this variable in the final binary file emitted. Do you mean if I don’t refer to this variable in the front end, then I can’t see it in the backend? (although it’s in the final binary file) Thank you! 2019年1月19日(土) 2:00 <paul.robinson at sony.com>: > Do you have a use of the new variable as well? If not, it might be
2017 Jun 11
2
[RFC] Pagerando: Page-granularity code randomization
On Sat, Jun 10, 2017 at 4:09 PM, Davide Italiano <davide at freebsd.org> wrote: > On Tue, Jun 6, 2017 at 10:55 AM, Stephen Crane via llvm-dev > <llvm-dev at lists.llvm.org> wrote: >> This RFC describes pagerando, an improvement upon ASLR for shared >> libraries. We're planning to submit this work for upstreaming and >> would appreciate feedback before we get
2011 Sep 08
2
[LLVMdev] [LLVM, llvm-mc, AsmParser] Symbol locations.
Hi everybody. I found that there are some problems with symbol location in AsmParser. 1. We need to know where symbol was declared. 2. We need to know where symbol was defined first time. There are two ways: 1. Add helper table to the parser with additional symbol info. But it takes additional memory consumption. 2. Add user tag (void*) for MCSymbol object. As I understood MCSymbol can live
2017 Jun 12
2
[RFC] Pagerando: Page-granularity code randomization
On Mon, Jun 12, 2017 at 1:03 PM, Stephen Crane <sjc at immunant.com> wrote: > I don't have performance measurements for the new LTO version of > pagerando yet. I'll definitely be thoroughly measuring performance > once the current prototype is finished before moving forward, and will > post results when I have them. > > I'm definitely curious about your work
2010 May 07
0
[LLVMdev] MCStreamer interface
On Wed, May 5, 2010 at 5:53 PM, Chris Lattner <clattner at apple.com> wrote: > > On May 5, 2010, at 5:22 PM, Nathan Jeffords wrote: >> >> The logic to handle this has to go somewhere, putting it in the MCStreamer >> *implementation* that needs it is the most logical place.  We also aim to >> implement an assembler, it doesn't make sense to duplicate this
2016 Mar 08
2
Deleting function IR after codegen
Thanks for the pointer, it's always helpful to be able to see how another project solved similar problems. > On Mar 8, 2016, at 11:24 AM, Andy Ayers <andya at microsoft.com> wrote: > > FWIW, LLILC (https://github.com/dotnet/llilc) uses MCJIT with a custom memory manager to hold onto the binary bits and discard the rest. > > As far as I know it doesn't leak, though
2010 May 06
2
[LLVMdev] MCStreamer interface
On May 5, 2010, at 5:22 PM, Nathan Jeffords wrote: > > The logic to handle this has to go somewhere, putting it in the MCStreamer *implementation* that needs it is the most logical place. We also aim to implement an assembler, it doesn't make sense to duplicate this logic in the compiler and the assembler parser. > > > Assembly language has often been *the* intermediate