| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 256107
|
|
|
|
|
|
|
|
|
| |
Type specific declarations have been moved to Type.h and error handling
routines have been moved to ErrorHandling.h. Both are included in Core.h
so nothing should change for projects directly including the headers,
but transitive dependencies may be affected.
llvm-svn: 255965
|
|
|
|
|
|
| |
Patch by Ramkumar Ramachandra <artagnon@gmail.com>
llvm-svn: 224720
|
|
|
|
|
|
|
|
| |
Approved by Jim Grosbach, Lang Hames, Rafael Espindola.
This reinstates commits r215111, 215115, 215116, 215117, 215136.
llvm-svn: 216982
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 215117
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 193253
|
|
|
|
| |
llvm-svn: 193165
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
This makes it consistent with other function pointers used in llvm-c
Differential Revision: http://llvm-reviews.chandlerc.com/D1712
llvm-svn: 191693
|
|
|
|
|
|
| |
This reverts r191030
llvm-svn: 191075
|
|
|
|
|
|
| |
Differential Revision: http://llvm-reviews.chandlerc.com/D1715
llvm-svn: 191030
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 182409
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Re-submitting with fix for OCaml dependency problems (removing dependency on SectionMemoryManager when it isn't used).
Patch by Fili Pizlo
llvm-svn: 180720
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Patch by Filip Pizlo
llvm-svn: 180229
|
|
|
|
|
|
|
| |
or the C++ files themselves. This enables people to use
just a C compiler to interoperate with LLVM.
llvm-svn: 180063
|
|
|
|
| |
llvm-svn: 178769
|
|
|
|
|
|
| |
Filip Pizlo.
llvm-svn: 178713
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Patch by Benjamin Saunders.
llvm-svn: 108690
|
|
|
|
| |
llvm-svn: 97608
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 75440
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
an optimization level instead of a simple boolean telling it to generate code
"fast" or the other type of "fast".
llvm-svn: 70347
|
|
|
|
|
|
| |
PR3364
llvm-svn: 62697
|
|
|
|
|
|
|
| |
Evan broke it in r54523 by adding a parameter in the implementation without
updating the header correspondingly.
llvm-svn: 54555
|
|
|
|
| |
llvm-svn: 52523
|
|
|
|
| |
llvm-svn: 48851
|
|
|
|
|
|
| |
discussion of this change. Boy are my fingers tired. ;-)
llvm-svn: 45411
|
|
llvm-svn: 45335
|