aboutsummaryrefslogtreecommitdiff
path: root/llvm/include/llvm-c/ExecutionEngine.h
AgeCommit message (Collapse)AuthorFilesLines
2014-12-22[C API] Expose LLVMGetGlobalValueAddress and LLVMGetFunctionAddress.Peter Zotov1-0/+4
Patch by Ramkumar Ramachandra <artagnon@gmail.com> llvm-svn: 224720
2014-09-02Reinstate "Nuke the old JIT."Eric Christopher1-1/+0
Approved by Jim Grosbach, Lang Hames, Rafael Espindola. This reinstates commits r215111, 215115, 215116, 215117, 215136. llvm-svn: 216982
2014-08-07Temporarily Revert "Nuke the old JIT." as it's not quite ready toEric Christopher1-0/+1
be deleted. This will be reapplied as soon as possible and before the 3.6 branch date at any rate. Approved by Jim Grosbach, Lang Hames, Rafael Espindola. This reverts commits r215111, 215115, 215116, 215117, 215136. llvm-svn: 215154
2014-08-07Fix the ocaml bindings.Rafael Espindola1-1/+0
llvm-svn: 215117
2014-01-23Add target analysis passes to the codegen pipeline for MCJIT.Juergen Ributzka1-0/+2
This patch adds the target analysis passes (usually TargetTransformInfo) to the codgen pipeline. We also expose now the AddAnalysisPasses method through the C API, because the optimizer passes would also benefit from better target-specific cost models. Reviewed by Andrew Kaylor llvm-svn: 199926
2013-10-23include/llvm-c: Whitespace.NAKAMURA Takumi1-1/+1
llvm-svn: 193253
2013-10-22Speling fixes.Benjamin Kramer1-1/+1
llvm-svn: 193165
2013-10-02This threads SectionName through the allocateCodeSection/allocateDataSection ↵Filip Pizlo1-7/+8
APIs, both in C++ and C land. It's useful for the memory managers that are allocating a section to know what the name of the section is. At a minimum, this is useful for low-level debugging - it's customary for JITs to be able to tell you what memory they allocated, and as part of any such dump, they should be able to tell you some meta-data about what each allocation is for. This allows clients that supply their own memory managers to do this. Additionally, we also envision the SectionName being useful for passing meta-data from within LLVM to an LLVM client. This changes both the C and C++ APIs, and all of the clients of those APIs within LLVM. I'm assuming that it's safe to change the C++ API because that API is allowed to change. I'm assuming that it's safe to change the C API because we haven't shipped the API in a release yet (LLVM 3.3 doesn't include the MCJIT memory management C API). llvm-svn: 191804
2013-09-30llvm-c: use typedef for function pointersAnders Waldenborg1-8/+13
This makes it consistent with other function pointers used in llvm-c Differential Revision: http://llvm-reviews.chandlerc.com/D1712 llvm-svn: 191693
2013-09-20Revert "llvm-c: Add LLVMGetPointerToFunction"Anders Waldenborg1-2/+0
This reverts r191030 llvm-svn: 191075
2013-09-19llvm-c: Add LLVMGetPointerToFunctionAnders Waldenborg1-0/+2
Differential Revision: http://llvm-reviews.chandlerc.com/D1715 llvm-svn: 191030
2013-05-22Expose the RTDyldMemoryManager through the C API. This allows clients of Filip Pizlo1-0/+28
the C API to provide their own way of allocating JIT memory (both code and data) and finalizing memory permissions (page protections, cache flush). llvm-svn: 182448
2013-05-21Roll out r182407 and r182408 because they broke builds.Filip Pizlo1-28/+0
llvm-svn: 182409
2013-05-21Expose the RTDyldMemoryManager through the C API. This allows clients of Filip Pizlo1-0/+28
the C API to provide their own way of allocating JIT memory (both code and data) and finalizing memory permissions (page protections, cache flush). llvm-svn: 182408
2013-05-01This exposes more MCJIT options via the C API:Filip Pizlo1-11/+18
CodeModel: It's now possible to create an MCJIT instance with any CodeModel you like. Previously it was only possible to create an MCJIT that used CodeModel::JITDefault. EnableFastISel: It's now possible to turn on the fast instruction selector. The CodeModel option required some trickery. The problem is that previously, we were ensuring future binary compatibility in the MCJITCompilerOptions by mandating that the user bzero's the options struct and passes the sizeof() that he saw; the bindings then bzero the remaining bits. This works great but assumes that the bitwise zero equivalent of any field is a sensible default value. But this is not the case for LLVMCodeModel, or its internal equivalent, llvm::CodeModel::Model. In both of those, the default for a JIT is CodeModel::JITDefault (or LLVMCodeModelJITDefault), which is not bitwise zero. Hence this change introduces LLVMInitializeMCJITCompilerOptions(), which will initialize the user's options struct with defaults. The user will use this in the same way that they would have previously used memset() or bzero(). MCJITCAPITest.cpp illustrates the change, as does the comment in ExecutionEngine.h. llvm-svn: 180893
2013-04-29Exposing MCJIT through C APIAndrew Kaylor1-0/+28
Re-submitting with fix for OCaml dependency problems (removing dependency on SectionMemoryManager when it isn't used). Patch by Fili Pizlo llvm-svn: 180720
2013-04-25Revert "Exposing MCJIT through C API"Rafael Espindola1-28/+0
This reverts commit 8c31b298149ca3c3f2bbd9e8aa9a01c4d91f3d74. It looks like this commit broke some bots: http://lab.llvm.org:8011/builders/llvm-ppc64-linux2/builds/5209 llvm-svn: 180248
2013-04-24Exposing MCJIT through C APIAndrew Kaylor1-0/+28
Patch by Filip Pizlo llvm-svn: 180229
2013-04-22Move C++ code out of the C headers and into either C++ headersEric Christopher1-21/+1
or the C++ files themselves. This enables people to use just a C compiler to interoperate with LLVM. llvm-svn: 180063
2013-04-04Revert r178713Evan Cheng1-3/+2
llvm-svn: 178769
2013-04-03Make it possible to include llvm-c without including C++ headers. Patch by ↵Evan Cheng1-2/+3
Filip Pizlo. llvm-svn: 178713
2012-03-21Organize LLVM C API docs into doxygen modules; add docsGregory Szorc1-0/+11
This gives a lot of love to the docs for the C API. Like Clang's documentation, the C API is now organized into a Doxygen "module" (LLVMC). Each C header file is a child of the main module. Some modules (like Core) have a hierarchy of there own. The produced documentation is thus better organized (before everything was in one monolithic list). This patch also includes a lot of new documentation for APIs in Core.h. It doesn't document them all, but is better than none. Function docs are missing @param and @return annotation, but the documentation body now commonly provides help details (like the expected llvm::Value sub-type to expect). llvm-svn: 153157
2010-07-19Expose JIT::recompileAndRelinkFunction for use through the C API.Duncan Sands1-0/+2
Patch by Benjamin Saunders. llvm-svn: 108690
2010-03-02Add Module functions in place of module providers.Erick Tryzelaar1-0/+23
llvm-svn: 97608
2010-01-09"In order to ease automatic bindings generation, it would be helpful if ↵Chris Lattner1-17/+17
boolean values were distinguishable from integers. The attached patch introduces "typedef int LLVMBool;", and uses LLVMBool instead of int throughout the C API, wherever a boolean value is called for." Patch by James Y Knight! llvm-svn: 93079
2009-07-12Match declaration to definition.Daniel Dunbar1-1/+1
llvm-svn: 75440
2009-06-24Fix the Ocaml bindings for the ExecutionEngine: with the change to buildBob Wilson1-0/+3
libraries instead of relinked objects, the interpreter, JIT, and native target libraries were not being linked in to an ocaml program using the ExecutionEngine. llvm-svn: 74117
2009-04-29The second part of the change from -fast to -O#. This changes the JIT to acceptBill Wendling1-1/+1
an optimization level instead of a simple boolean telling it to generate code "fast" or the other type of "fast". llvm-svn: 70347
2009-01-21add getPointerToGlobal to the C bindings, patch by Lennart Augustsson!Chris Lattner1-0/+2
PR3364 llvm-svn: 62697
2008-08-08Fix the LLVMCreateJITCompiler C binding.Gordon Henriksen1-0/+1
Evan broke it in r54523 by adding a parameter in the implementation without updating the header correspondingly. llvm-svn: 54555
2008-06-20Add C binding for ExecutionEngine::addGlobalMapping.Gordon Henriksen1-0/+3
llvm-svn: 52523
2008-03-27Expose ExecutionEngine::getTargetData() to c and ocaml bindings.Erick Tryzelaar1-0/+3
llvm-svn: 48851
2007-12-29Don't attribute in file headers anymore. See llvmdev for theChris Lattner1-2/+2
discussion of this change. Boy are my fingers tired. ;-) llvm-svn: 45411
2007-12-23C and Ocaml bindings for ExecutionEngine (i.e., the JIT compiler).Gordon Henriksen1-0/+115
llvm-svn: 45335