similar to: [LLVMdev] Native codegen

Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] Native codegen"

2012 Apr 12
0
[LLVMdev] Native codegen
On Fri, Apr 13, 2012 at 03:32:01AM +1200, James Miller wrote: > * Tom Stellard <thomas.stellard at amd.com> [2012-04-12 10:54:17 -0400]: > > > On Fri, Apr 13, 2012 at 02:41:58AM +1200, James Miller wrote: > > > Hi, I've just started working with LLVM, and have just finished the > > > Kaleidoscope tutorial. Everything is fine, however I am finding it >
2012 Sep 20
2
[LLVMdev] Programmatically converting LLVM IR to native code
I am generating LLVM IR code and I would like to convert this IR code to native code using the LLVM C++ API. This would be very similar to what's done in the Kaleidoscope tutorial, but instead of relying on JIT compilation, I'd like to emit native code -- the same native code that's produced by llc, for instance. I'm sure this is possible, but I wasn't able to find the
2014 Jun 24
4
[LLVMdev] Any way get debug output of generated assembly from MCJIT without completely redoing CodeGen?
Hello all, I'm trying to hack MCJIT::emitObject to optionally output the corresponding text assembly associated with the object code being emitted (if a debug flag is set in the app/dev environment which is hosting LLVM). I attempted to do this by adding another AsmPrinter pass to the PassManager, but this runs into all sorts of problems because there's only once MCContext and one
2012 Sep 20
0
[LLVMdev] Programmatically converting LLVM IR to native code
On Thu, Sep 20, 2012 at 2:42 AM, Baris Aktemur <baris.aktemur at ozyegin.edu.tr> wrote: > I am generating LLVM IR code and I would like to convert this IR code to > native code using the LLVM C++ API. This would be very similar to what's > done in the Kaleidoscope tutorial, but instead of relying on JIT > compilation, I'd like to emit native code -- the same native code
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: >
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
2007 Jun 21
2
[LLVMdev] PassManager vs FunctionPassManager
Right now, addPassesToEmitFile requires a FunctionPassManager. If I'm working with code that uses a plain PassManager and want it to generate code, are there any options better than doing this: /** * Wrapper class to run a FunctionPassManager as a ModulePass so that it * can be added to a plain PassManager. */ class FunctionPassManagerModulePass : public ModulePass { FunctionPassManager
2008 Sep 30
1
[LLVMdev] Can't add Merge Duplicate Global Constants pass
Hi I have a program similar to kaleidoscope with same optimization passes. It works fine. But when I tried to add Constant Merge Pass with a line: OurFPM.add(createConstantMergePass()); the program died with segmentation fault. Then I tried to add the same line to native kaleidoscope from http://llvm.org/docs/tutorial/LangImpl4.html and I've got the same segmentation fault. The backtrace
2010 Aug 12
1
[LLVMdev] Optimization pass questions
On Aug 11, 2010, at 5:57 PM, Tanya Lattner wrote: > Have you read this document? > http://llvm.org/docs/WritingAnLLVMPass.html#passtype Yes, but I didn't find it as instructive as I'd hoped. The only two examples of pass sets I can find are the Kaleidoscope tutorial and StandardPasses.h (corresponding, I assume, to what llvm-gcc does). Just looking at the two of these, some
2007 Jan 22
2
[LLVMdev] addPassesToEmit(Whole)File changes?
Hi folks, just installed the new llvm 1.9 build and noticed that my code no longer worked. It seems something has changed with addPassesToEmitFile(). First, the arguments to that method changed so that it no longer takes a PassManager, but only a FunctionPassManager. Instead there is a addPassesToEmitWholeFile() method, but that is marked as optional, and when I change my code to
2007 Jun 25
1
[LLVMdev] PassManager vs FunctionPassManager
On Thu, Jun 21, 2007 at 04:37:14PM -0700, Devang Patel wrote: > > On Jun 21, 2007, at 4:13 PM, Dan Gohman wrote: > > > Right now, addPassesToEmitFile requires a FunctionPassManager. If I'm > > working with code that uses a plain PassManager and want it to > > generate > > code, are there any options better than doing this: > > That's what
2009 Feb 19
6
[LLVMdev] Improving performance with optimization passes
I'm toying with benchmarks on my HLVM and am unable to get any performance improvement from optimization passes. Moreover, some of my programs generate a lot of redundant code (e.g. alloca a struct, store a struct into it and read only one field without using the rest of the struct) and this does not appear to be optimized away. I simply copied the use of PassManager from the Kaleidoscope
2008 Nov 04
2
[LLVMdev] Basic questions
Hi, I apologize in advance if this is not the correct place to ask these questions, but I would be very grateful for redirection to the appropriate list/docs if so. I've just started with LLVM in the last week or so, and have worked my way through the Kaleidoscope tutorial, the IR docs & programmers manual, plus a few of the examples; everything makes sense. But there's one
2009 Jul 21
3
[LLVMdev] Handling of built-in functions
The issue is that there is no runtime function. I'm not sure we're in the same page but just in case we aren't I'm trying to provide support for built-in functions at compilation time. Some functions can be expressed in LLVM and others only in the target language. For the first group I'm trying to inline the implementation in a module pass added in addPassesToEmitFile. For the
2011 Jun 06
0
[LLVMdev] Understanding SelectionDAG construction
Hi Ankur, > The flags "-view-sched-dags".. described in the doc doesn't seem to work. ( > "llc -help" doesn't list it ). as far as I remember, displaying DAGs during compilation is only enabled in "debug builds" [1] of LLVM. You probably have to re-configure and re-compile LLVM to enable this feature. Best regards, Christoph [1]
2008 Mar 28
0
[LLVMdev] Python bindings?
On Fri, Mar 28, 2008 at 12:00 AM, Mahadevan R <mdevan.foobar at gmail.com> wrote: > 1) > Are the C bindings complete? That is, is there some part of the C++ API > that is not exposed by the C API? Nope, there's still a lot that's not done. Patches are always welcome :) We've got enough in subversion to implement the Kaleidoscope tutorial though. > 2) > Do
2009 Feb 19
0
[LLVMdev] Improving performance with optimization passes
Hi Jon, On 2009-02-19, at 14:00, Jon Harrop wrote: > I'm toying with benchmarks on my HLVM and am unable to get any > performance improvement from optimization passes. I simply copied > the use of PassManager from the Kaleidoscope tutorial: > > Any idea what I might be doing wrong? Has anyone else got this > functionality giving performance boosts from OCaml?
2007 Jun 21
0
[LLVMdev] PassManager vs FunctionPassManager
On Jun 21, 2007, at 4:13 PM, Dan Gohman wrote: > Right now, addPassesToEmitFile requires a FunctionPassManager. If I'm > working with code that uses a plain PassManager and want it to > generate > code, are there any options better than doing this: That's what FPPassManager does (include/llvm/PassManagers.h) . Function pass manager itself is a module level pass.
2009 Jul 21
0
[LLVMdev] Handling of built-in functions
If you add an ASM node, you won't be able to JIT the result. I don't know if you care about that or not, but ASM nodes aren't supported by the execution engine. (If you do want to JIT, you could always dump the machine code to memory and link its location to a global using ExecutionEngine::addGlobalMapping), and then JIT whatever needs to call it. Obviously, it won't get inlined
2009 Jul 16
3
[LLVMdev] Handling of built-in functions
Hi, I'm trying to add support in my back end for certain functions that are seen as built-in by the target. Some of these functions can be implemented in a) LLVM, and some in b) the native target language. My approach to case a) is to write the built-in function implementation in C, compile it to LLVM using Clang, link it to the module that uses it and finally add a pass to inline it.