cd81d94322a39503e4a3e87b6ee03d4fcb3465fb |
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for rebase to r212749. Includes a cherry-pick of: r212948 - fixes a small issue with atomic calls Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
CJIT.cpp
ectionMemoryManager.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
LVMBuild.txt
CJIT.cpp
CJIT.h
ectionMemoryManager.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
LVMBuild.txt
CJIT.cpp
CJIT.h
ectionMemoryManager.cpp
|
ce9904c6ea8fd669978a8eefb854b330eb9828ff |
12-Feb-2014 |
Stephen Hines <srhines@google.com> |
Merge remote-tracking branch 'upstream/release_34' into merge-20140211 Conflicts: lib/Linker/LinkModules.cpp lib/Support/Unix/Signals.inc Change-Id: Ia54f291fa5dc828052d2412736e8495c1282aa64
|
59bbf5a759a4891ea90ac67f13485f67ef42234c |
15-Nov-2013 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Fix a problem in MCJIT identifying the module containing a global variable. Patch by Keno Fischer! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194859 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
3985f6a98d39e306b145b766253d75d4de79cb9e |
24-Oct-2013 |
Yaron Keren <yaron.keren@gmail.com> |
Replaced non-ASCII character. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193324 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.h
|
817987350442e9349dbcf3416abaadc1796036a4 |
24-Oct-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Revert part of r193291, restoring the deletion of loaded objects. Without this, customers of the MCJIT were leaking memory like crazy. It's not really clear what the *right* memory management is here, so I'm not trying to add lots of tests or other logic, just trying to get us back to a better baseline. I'll follow up on the original commit to figure out the right path forward. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193323 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
2ad18efdc73bc2356aa7fbf811d5ecbbaac0f2c9 |
24-Oct-2013 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Optimizing MCJIT module state tracking Patch co-developed with Yaron Keren. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193291 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
ba309b04ea5c66df1bc1c27849642d2602ab869d |
19-Oct-2013 |
Todd Fiala <tfiala@google.com> |
Added libs to the host's libLLVM.so. Added Android.mk build rules for: * lib/ExecutionEngine * lib/ExecutionEngine/RuntimeDyld * lib/ExecutionEngine/MCJIT * lib/MC/MCDisassembler Added all of the static libraries above to the host build of libLLVM.so. In addition, the following existing static library was added to the host build of libLLVM.so: * lib/ExecutionEngine/JIT Change-Id: I0e6cfac607e02b4ae77ee46df33eca2f96dac8e1
ndroid.mk
|
5e206fcf3065950f081bd39a3116b3c3c3bbb9f7 |
22-Oct-2013 |
Andrew Kaylor <andrew.kaylor@intel.com> |
FIXME comment shouldn't have been doxygen style git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193131 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.h
|
6169453ba37ac353655f2475f336e66f31276752 |
21-Oct-2013 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Improving MCJIT/RuntimeDyld thread safety git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193094 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
f14bb8f5e664cda4cd720d638ad99cc635531442 |
19-Oct-2013 |
Yaron Keren <yaron.keren@gmail.com> |
Added comments from Andrew Kaylor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193033 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.h
|
43507d026bef31100cb0c35614bcf419029a265b |
16-Oct-2013 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Adding support for deregistering EH frames with MCJIT. Patch by Yaron Keren git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192753 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
528f6d787b1a847e61eb2f1114559f423fdeb68c |
11-Oct-2013 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Adding multiple object support to MCJIT EH frame handling git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192504 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
b868e9101c138016aad5bd910b67f40a3213d6fc |
04-Oct-2013 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Adding support and tests for multiple module handling in lli git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191938 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
6eb43d295625cd2ff314c59b49d4fd11f3348cad |
02-Oct-2013 |
Filip Pizlo <fpizlo@apple.com> |
This threads SectionName through the allocateCodeSection/allocateDataSection 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). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191804 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.h
ectionMemoryManager.cpp
|
52c9016db0560644a03ca661302e45143372f2fc |
01-Oct-2013 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Fixing MCJIT multiple module linking for OSX git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191780 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
8e9ec015348c5419b905c2ca6e39534429eda073 |
01-Oct-2013 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Adding multiple module support for MCJIT. Tests to follow. PIC with small code model and EH frame handling will not work with multiple modules. There are also some rough edges to be smoothed out for remote target support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191722 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
ectionMemoryManager.cpp
|
40d8171e3e74f4786d89a8f1fb370653f81c7941 |
28-Jun-2013 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Revising the MCJIT ObjectCache interface to allow subclasses to avoid retaining references to returned objects git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185221 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
a4ea4a72031809911d77f543eb65175e00fe914e |
21-May-2013 |
Filip Pizlo <fpizlo@apple.com> |
Put RTDyldMemoryManager into its own file, and make it linked into libExecutionEngine. Move method implementations that aren't specific to allocation out of SectionMemoryManager and into RTDyldMemoryManager. This is in preparation for exposing RTDyldMemoryManager through the C API. This is a fixed version of r182407 and r182411. That first revision broke builds because I forgot to move the conditional includes of various POSIX headers from SectionMemoryManager into RTDyldMemoryManager. Those includes are necessary because of how getPointerToNamedFunction works around the glibc libc_nonshared.a thing. The latter revision still broke things because I forgot to include llvm/Config/config.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182418 91177308-0d34-0410-b5e6-96231b3b80d8
ectionMemoryManager.cpp
|
50f19a906a9d5e42d7707b54a11c0f0c9265fc1f |
21-May-2013 |
Filip Pizlo <fpizlo@apple.com> |
Roll out r182411 and 182412 because it's still broken. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182415 91177308-0d34-0410-b5e6-96231b3b80d8
ectionMemoryManager.cpp
|
876af64ac716ba557a25e136793b9343a24a35ad |
21-May-2013 |
Filip Pizlo <fpizlo@apple.com> |
Put RTDyldMemoryManager into its own file, and make it linked into libExecutionEngine. Move method implementations that aren't specific to allocation out of SectionMemoryManager and into RTDyldMemoryManager. This is in preparation for exposing RTDyldMemoryManager through the C API. This is a fixed version of r182407. That revision broke builds because I forgot to move the conditional includes of various POSIX headers from SectionMemoryManager into RTDyldMemoryManager. Those includes are necessary because of how getPointerToNamedFunction works around the glibc libc_nonshared.a thing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182411 91177308-0d34-0410-b5e6-96231b3b80d8
ectionMemoryManager.cpp
|
1441bf7a41b50075cf761cbc794ce3fd0b5762fc |
21-May-2013 |
Filip Pizlo <fpizlo@apple.com> |
Roll out r182407 and r182408 because they broke builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182409 91177308-0d34-0410-b5e6-96231b3b80d8
ectionMemoryManager.cpp
|
3bcc3e6f6316f82adff52a04b0c320c2ce3a3d86 |
21-May-2013 |
Filip Pizlo <fpizlo@apple.com> |
Put RTDyldMemoryManager into its own file, and make it linked into libExecutionEngine. Move method implementations that aren't specific to allocation out of SectionMemoryManager and into RTDyldMemoryManager. This is in preparation for exposing RTDyldMemoryManager through the C API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182407 91177308-0d34-0410-b5e6-96231b3b80d8
ectionMemoryManager.cpp
|
abb38fe8dec11b1ea7535f84fac8ad0f0af70add |
17-May-2013 |
David Tweed <david.tweed@arm.com> |
Minor changes to the MCJITTest unittests to use the correct API for finalizing the JIT object (including XFAIL an ARM test that now needs fixing). Also renames internal function for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182085 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
ectionMemoryManager.cpp
|
13a3cf192887233fb9452ec5b7f841e4652c33c7 |
14-May-2013 |
Filip Pizlo <fpizlo@apple.com> |
SectionMemoryManager shouldn't be a JITMemoryManager. Previously, the EngineBuilder interface required a JITMemoryManager even if it was being used to construct an MCJIT. But the MCJIT actually wants a RTDyldMemoryManager. Consequently, the SectionMemoryManager, which is meant for MCJIT, derived from the JITMemoryManager and then stubbed out a bunch of JITMemoryManager methods that weren't relevant to the MCJIT. This patch fixes the situation: it teaches the EngineBuilder that RTDyldMemoryManager is a supertype of JITMemoryManager, and that it's appropriate to pass a RTDyldMemoryManager instead of a JITMemoryManager if we're using the MCJIT. This allows us to remove the stub methods from SectionMemoryManager, and make SectionMemoryManager a direct subtype of RTDyldMemoryManager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181820 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
a2e40fbd624916c187a95ed76939ca7f02ed3e53 |
05-May-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add EH support to the MCJIT. This gets exception handling working on ELF and Macho (x86-64 at least). Other than the EH frame registration, this patch also implements support for GOT relocations which are used to locate the personality function on MachO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181167 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
ectionMemoryManager.cpp
|
0e1327e4aa1426aaa3f99a2cbfcb1f2b575791ad |
02-May-2013 |
Filip Pizlo <fpizlo@apple.com> |
This exposes more MCJIT options via the C API: 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180893 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
d2755af8bda2e0fd80efb46556485c4cdbe8704a |
29-Apr-2013 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Exposing MCJIT through C API Re-submitting with fix for OCaml dependency problems (removing dependency on SectionMemoryManager when it isn't used). Patch by Fili Pizlo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180720 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
1c489455ea5fac43a5f20911dfb5486630eb0160 |
25-Apr-2013 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Re-enabling MCJIT object caching with memory leak fixed git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180575 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
06fd5bf4ea122960f0435449c2391ea4fe1ea2ca |
25-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert "Adding object caching support to MCJIT" This reverts commit 07f03923137a91e3cca5d7fc075a22f8c9baf33a. Looks like it broke the valgrind bot: http://lab.llvm.org:8011/builders/llvm-x86_64-linux-vg_leak/builds/649 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180249 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
034f4be273f0ec629da4bc8369578fc195f3212f |
25-Apr-2013 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Making invalidateInstructionCache automatic in SectionMemoryManager git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180225 91177308-0d34-0410-b5e6-96231b3b80d8
ectionMemoryManager.cpp
|
07f03923137a91e3cca5d7fc075a22f8c9baf33a |
23-Apr-2013 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Adding object caching support to MCJIT git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180146 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
a1514e24cc24b050f53a12650e047799358833a1 |
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort includes for all of the .h files under the 'lib' tree. These were missed in the first pass because the script didn't yet handle include guards. Note that the script is now able to handle all of these headers without manual edits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169224 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.h
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
bacc82548ae0ddddeb99f79fc01641a08133c550 |
28-Nov-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
MCJIT depends on JIT. Unbreaks the CMake shared library build. This is nasty and should be fixed eventually. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168800 91177308-0d34-0410-b5e6-96231b3b80d8
LVMBuild.txt
|
6e1c4561e54da1f9d7052bcb4d985de513b4859c |
28-Nov-2012 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Moving SectionMemoryManager to MCJIT to avoid cross dependency between JIT and RuntimeDyld git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168755 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
ectionMemoryManager.cpp
|
53608a34ce3f0969e9fb01eaa983422761011e03 |
16-Nov-2012 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Interface changes to allow RuntimeDyld memory managers to set memory permissions after an object has been loaded. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168114 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
a082892fb734f4738f5e687778997706fa0dd65a |
06-Nov-2012 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Fix build error from previous commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167477 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
776054dd938472828ac3ebf75b05e21171ef4ecf |
06-Nov-2012 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Add interface for object-based JIT events. This patch adds the interface to expose events from MCJIT when an object is emitted or freed and implements the MCJIT functionality to send those events. The IntelJITEventListener implementation is left empty for now. It will be fleshed out in a future patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167475 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
28989889bf3aa3314562d438aece245b71176ec4 |
05-Nov-2012 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Add a method to indicate section address re-assignment is finished. Prior to this patch RuntimeDyld attempted to re-apply relocations every time reassignSectionAddress was called (via MCJIT::mapSectionAddress). In addition to being inefficient and redundant, this led to a problem when a section was temporarily moved too far away from another section with a relative relocation referencing the section being moved. To fix this, I'm adding a new method (finalizeObject) which the client can call to indicate that it is finished rearranging section addresses so the relocations can safely be applied. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167400 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
647d6d7d3b6bfc8d99b8425cff50f979dbbd2ab6 |
01-Nov-2012 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Streamlined memory manager hierarchy for MCJIT and RuntimeDyld. Patch by Ashok Thirumurthi git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167192 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
CJIT.cpp
CJITMemoryManager.cpp
CJITMemoryManager.h
|
3574eca1b02600bac4e625297f4ecf745f4c4f32 |
08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165402 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
3f23cef24fc9200def464bd4bce820678b5715de |
02-Oct-2012 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Clean-up of memory buffer and object ownership model in MCJIT git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165053 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
e940c1bb6c976539f07d6f440aeaacf7c25e1ddc |
13-Sep-2012 |
Jim Grosbach <grosbach@apple.com> |
Better const handling for RuntimeDyld and MCJIT. mapSectionAddress() wasn't consistent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163843 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.h
|
35ed842773da41779d57d3ed23f440202d0be198 |
05-Sep-2012 |
Jim Grosbach <grosbach@apple.com> |
MCJIT: getPointerToFunction() references target address space. Make sure to return a pointer into the target memory, not the local memory. Often they are the same, but we can't assume that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163217 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
8005bcd5e0c923881d82afcb813a7e537cd1b241 |
21-Aug-2012 |
Jim Grosbach <grosbach@apple.com> |
MCJIT: Tidy up the constructor. The MCJIT doesn't need or want a TargetJITInfo. That's vestigal from the old JIT, so just remove it. rdar://12119347 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162280 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
ea708d1071898bd8fda58f9d58d1d3fe38faf9f2 |
07-Aug-2012 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Enable lazy compilation in MCJIT git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161438 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
95a9d937728ca9cf2bf44f86ff1184df318b3bd7 |
06-Jun-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Round 2 of dead private variable removal. LLVM is now -Wunused-private-field clean except for - lib/MC/MCDisassembler/Disassembler.h. Not sure why it keeps all those unaccessible fields. - gtest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158096 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJITMemoryManager.h
|
068c65b22d50c265b51886062b2b9c1cb696d67d |
16-May-2012 |
Danil Malyshev <dmalyshev@accesssoftek.com> |
Added LLIMCJITMemoryManager to the lli. This manager will be used for MCJIT instead of DefaultJIMMemoryManager. It's more flexible for MCJIT tasks, in addition it's provides a invalidation instruction cache for code sections which will be used before JIT code will be executed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156933 91177308-0d34-0410-b5e6-96231b3b80d8
CJITMemoryManager.h
|
5fe019835c269ccbfe185276269bc53b3f9a7a86 |
29-Apr-2012 |
Eli Bendersky <eli.bendersky@intel.com> |
Fix some formatting, grammar and style issues and add a couple of missing comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155793 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
c68dda815e64fb2fb463318d1eaa304e22199d50 |
12-Apr-2012 |
Preston Gurd <preston.gurd@intel.com> |
This patch improves the MCJIT runtime dynamic loader by adding new handling of zero-initialized sections, virtual sections and common symbols and preventing the loading of sections which are not required for execution such as debug information. Patch by Andy Kaylor! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154610 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
0e4fa5ff365fccff46870b7d5d8d4d1d46e77986 |
30-Mar-2012 |
Danil Malyshev <dmalyshev@accesssoftek.com> |
Re-factored RuntimeDyLd: 1. The main works will made in the RuntimeDyLdImpl with uses the ObjectFile class. RuntimeDyLdMachO and RuntimeDyLdELF now only parses relocations and resolve it. This is allows to make improvements of the RuntimeDyLd more easily. In addition the support for COFF can be easily added. 2. Added ARM relocations to RuntimeDyLdELF. 3. Added support for stub functions for the ARM, allowing to do a long branch. 4. Added support for external functions that are not loaded from the object files, but can be loaded from external libraries. Now MCJIT can correctly execute the code containing the printf, putc, and etc. 5. The sections emitted instead functions, thanks Jim Grosbach. MemoryManager.startFunctionBody() and MemoryManager.endFunctionBody() have been removed. 6. MCJITMemoryManager.allocateDataSection() and MCJITMemoryManager. allocateCodeSection() used JMM->allocateSpace() instead of JMM->allocateCodeSection() and JMM->allocateDataSection(), because I got an error: "Cannot allocate an allocated block!" with object file contains more than one code or data sections. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153754 91177308-0d34-0410-b5e6-96231b3b80d8
CJITMemoryManager.h
|
288967dfac246c8e35dc4f85afb667e74d1d26a8 |
30-Mar-2012 |
Bill Wendling <isanbard@gmail.com> |
Revert r153694. It was causing failures in the buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153701 91177308-0d34-0410-b5e6-96231b3b80d8
CJITMemoryManager.h
|
4b0b8ef1b0edc2c343145f6b029c43b00a6f5c13 |
29-Mar-2012 |
Danil Malyshev <dmalyshev@accesssoftek.com> |
Re-factored RuntimeDyld. Added ExecutionEngine/MCJIT tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153694 91177308-0d34-0410-b5e6-96231b3b80d8
CJITMemoryManager.h
|
30b9e322e159df8eaabb5b194cec6e11ba99c261 |
28-Mar-2012 |
Danil Malyshev <dmalyshev@accesssoftek.com> |
Move getPointerToNamedFunction() from JIT/MCJIT to JITMemoryManager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153607 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
ntercept.cpp
CJIT.cpp
CJIT.h
CJITMemoryManager.h
|
3e29671cca14f8fce1ea6b602175880cb3df7199 |
22-Mar-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Revert a series of commits to MCJIT to get the build working in CMake (and hopefully on Windows). The bots have been down most of the day because of this, and it's not clear to me what all will be required to fix it. The commits started with r153205, then r153207, r153208, and r153221. The first commit seems to be the real culprit, but I couldn't revert a smaller number of patches. When resubmitting, r153207 and r153208 should be folded into r153205, they were simple build fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153241 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
ntercept.cpp
CJIT.cpp
CJIT.h
CJITMemoryManager.h
|
799184d8eb140d02385501223cea0a087148b67b |
21-Mar-2012 |
Danil Malyshev <dmalyshev@accesssoftek.com> |
Re-factored RuntimeDyld. Added ExecutionEngine/MCJIT tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153221 91177308-0d34-0410-b5e6-96231b3b80d8
CJITMemoryManager.h
|
b4746203986e943f3dc0af789c5dc8b34cc85db5 |
21-Mar-2012 |
Danil Malyshev <dmalyshev@accesssoftek.com> |
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153208 91177308-0d34-0410-b5e6-96231b3b80d8
CJITMemoryManager.h
|
7803ec3d458ec73372760b838469292cdf38fe67 |
21-Mar-2012 |
Danil Malyshev <dmalyshev@accesssoftek.com> |
Based on this discussion: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120305/138477.html 1. Declare a virtual function getPointerToNamedFunction() in JITMemoryManager 2. Move the implementation of getPointerToNamedFunction() form JIT/MCJIT to DefaultJITMemoryManager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153205 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
ntercept.cpp
CJIT.cpp
CJIT.h
|
858143816d43e58b17bfd11cb1b57afbd7f0f893 |
07-Feb-2012 |
Craig Topper <craig.topper@gmail.com> |
Convert assert(0) to llvm_unreachable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149967 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
4d6ccb5f68cd7c6418a209f1fa4dbade569e4493 |
20-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
More dead code removal (using -Wunreachable-code) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
893f4864b34a84a88860035c7a21a5ee9560a530 |
18-Jan-2012 |
Jim Grosbach <grosbach@apple.com> |
Fix MCJIT memory leak of owned TargetMachine. The JIT is expected to take ownership of the TM that's passed in. The MCJIT wasn't freeing it, resulting in leaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148356 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
020f4e861a9a32059f76377e787703c92ba55a98 |
17-Jan-2012 |
Jim Grosbach <grosbach@apple.com> |
ExecutionEngine interface to re-map addresses for engines that support it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148264 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.h
|
61425c0a7f4e3608a85f7bbf254cd052a15b7446 |
16-Jan-2012 |
Jim Grosbach <grosbach@apple.com> |
MCJIT support for non-function sections. Move to a by-section allocation and relocation scheme. This allows better support for sections which do not contain externally visible symbols. Flesh out the relocation address vs. local storage address separation a bit more as well. Remote process JITs use this to tell the relocation resolution code where the code will live when it executes. The startFunctionBody/endFunctionBody interfaces to the JIT and the memory manager are deprecated. They'll stick around for as long as the old JIT does, but the MCJIT doesn't use them anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148258 91177308-0d34-0410-b5e6-96231b3b80d8
CJITMemoryManager.h
|
45a93d6eb4c55876e94f91b471657f23fe2149aa |
05-Jan-2012 |
Danil Malyshev <dmalyshev@accesssoftek.com> |
A small re-factored JIT/MCJIT::getPointerToNamedFunction(), so it could be called with the base class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147610 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.h
|
cfb75fba735edd44841eb21c72c3a9736a7d9af2 |
20-Dec-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Fix up the CMake build for the new files added in r146960, they're likely to stay either way that discussion ends up resolving itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146966 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
2d24e2a396a1d211baaeedf32148a3b657240170 |
20-Dec-2011 |
David Blaikie <dblaikie@gmail.com> |
Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146960 91177308-0d34-0410-b5e6-96231b3b80d8
CJITMemoryManager.cpp
CJITMemoryManager.h
|
4ab406d7fc06b1272d02cd8be46f0c5ebe51a3da |
12-Dec-2011 |
Daniel Dunbar <daniel@zuster.org> |
LLVMBuild: Remove trailing newline, which irked me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146409 91177308-0d34-0410-b5e6-96231b3b80d8
LVMBuild.txt
|
9ea47179e647e806a2c67639bfead9d254514e59 |
12-Dec-2011 |
Dylan Noblesmith <nobled@dreamwidth.org> |
ExecutionEngine: refactor interface The OptLevel is now redundant with the TargetMachine*. And selectTarget() isn't really JIT-specific and could probably get refactored into one of the lower level libraries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146355 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
d782bae970e888572f0458ac05369bbd7752f05a |
29-Nov-2011 |
Daniel Dunbar <daniel@zuster.org> |
build/CMake: Finish removal of add_llvm_library_dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145420 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
b95fc31aa2e5a0a0b9ee1909d1cb949577c5aa16 |
16-Nov-2011 |
Evan Cheng <evan.cheng@apple.com> |
Sink codegen optimization level into MCCodeGenInfo along side relocation model and code model. This eliminates the need to pass OptLevel flag all over the place and makes it possible for any codegen pass to use this information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144788 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
afe153c53f525b5599e79f847e2a0723905b6518 |
12-Nov-2011 |
Sean Callanan <scallanan@apple.com> |
Fixed the MCJIT so that it can emit not only instance methods but also class methods for Objective-C. Clang emits Objective-C method names with '\1' at the beginning, and the JIT has pre-existing logic to try prepending a '\1' when searching a module for an instance method (that is, a method whose name begins with '-'). I simply extended it to do the same thing when it encountered a class method (a method whose name begins with '+'). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144451 91177308-0d34-0410-b5e6-96231b3b80d8
CJITMemoryManager.h
|
a3a2dfd4a2a8265a9a0c962cb776e2e6ba123956 |
03-Nov-2011 |
Daniel Dunbar <daniel@zuster.org> |
build: Add initial cut at LLVMBuild.txt files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143634 91177308-0d34-0410-b5e6-96231b3b80d8
LVMBuild.txt
|
3326fc18c859d7988b90345b195d784cc39b3cf6 |
18-Oct-2011 |
Jim Grosbach <grosbach@apple.com> |
The MCJITMemoryManager takes ownership of the JMM, so don't leak it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142410 91177308-0d34-0410-b5e6-96231b3b80d8
CJITMemoryManager.h
|
0ba3c0ab634220f51b7f65bd05839897a99e56ac |
30-Sep-2011 |
Danil Malyshev <dmalyshev@accesssoftek.com> |
MCJIT initialization TargetData git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140856 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
81cbb0ad608af0839471b8d41ceac64047b41d68 |
10-Sep-2011 |
Richard Trieu <rtrieu@google.com> |
Fix the asserts in lib/Target/X86/X86ELFWriterInfo.cpp and lib/ExecutionEngine/MCJIT/MCJIT.cpp from: assert("error"); to: assert(0 && "error"); git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139456 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
2ed7464c09d04d9a35f50f0981482878edc0065f |
14-Aug-2011 |
NAKAMURA Takumi <geek4civic@gmail.com> |
EE: Provide the symbol "lseek64" explicitly with <unistd.h> on Linux glibc. With libcxx, it seems <unistd.h> would not be provided. Thanks to Ryuta Suzuki. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137567 91177308-0d34-0410-b5e6-96231b3b80d8
ntercept.cpp
|
ac03e736c77bcf7e8deb515fc16a7e55d343dc8d |
29-Jul-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Rewrite the CMake build to use explicit dependencies between libraries, specified in the same file that the library itself is created. This is more idiomatic for CMake builds, and also allows us to correctly specify dependencies that are missed due to bugs in the GenLibDeps perl script, or change from compiler to compiler. On Linux, this returns CMake to a place where it can relably rebuild several targets of LLVM. I have tried not to change the dependencies from the ones in the current auto-generated file. The only places I've really diverged are in places where I was seeing link failures, and added a dependency. The goal of this patch is not to start changing the dependencies, merely to move them into the correct location, and an explicit form that we can control and change when necessary. This also removes a serialization point in the build because we don't have to scan all the libraries before we begin building various tools. We no longer have a step of the build that regenerates a file inside the source tree. A few other associated cleanups fall out of this. This isn't really finished yet though. After talking to dgregor he urged switching to a single CMake macro to construct libraries with both sources and dependencies in the arguments. Migrating from the two macros to that style will be a follow-up patch. Also, llvm-config is still generated with GenLibDeps.pl, which means it still has slightly buggy dependencies. The internal CMake 'llvm-config-like' macro uses the correct explicitly specified dependencies however. A future patch will switch llvm-config generation (when using CMake) to be based on these deps as well. This may well break Windows. I'm getting a machine set up now to dig into any failures there. If anyone can chime in with problems they see or ideas of how to solve them for Windows, much appreciated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136433 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
|
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e |
18-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
land David Blaikie's patch to de-constify Type, with a few tweaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
c0ceedb6f885b1cbd3d3cea02f695afe393dfd2c |
19-May-2011 |
Jim Grosbach <grosbach@apple.com> |
Avoid a Twine that referenced a tmp (which proceded to go out of scope before the Twine was used). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131612 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
e0b58634a1953ed9138882da8b251b3e2aab9220 |
19-May-2011 |
Jim Grosbach <grosbach@apple.com> |
Restore sanity to 131601. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131603 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
3ec2c7c3e48f1fbab749870c51a74920f91c82c1 |
19-May-2011 |
Jim Grosbach <grosbach@apple.com> |
Objective C functions may use a magic '\1' on the name. Handle that when dealing with them in the MCJIT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131601 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJITMemoryManager.h
|
c5b28580a94e247300e5d3ccf532e153f2ae6f12 |
13-May-2011 |
Dylan Noblesmith <nobled@dreamwidth.org> |
ExecutionEngine: push TargetMachine creation into clients (v2) In particular, into EngineBuilder. This should only impact the private API between the EE and EB classes, not external clients, since JITCtor and MCJITCtor are both protected members. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131317 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
2ea29ba2a8ddd7ba4b946eb754f1a39304d9fc09 |
13-May-2011 |
Dylan Noblesmith <nobled@dreamwidth.org> |
ExecutionEngine: fix JIT/MCJIT selectTarget() duplication (v2) This prepares for making JITCtor/MCJITCtor take a TargetMachine* directly from clients like EngineBuilder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131316 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
CJIT.cpp
CJIT.h
argetSelect.cpp
|
c154514e2daf5497141980544f6b0b03a8e6c37c |
12-May-2011 |
Jim Grosbach <grosbach@apple.com> |
The MCJIT memory manager needs to initialize its Module member. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131234 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJITMemoryManager.h
|
701529b2488477d1887c2975677a574d1e90389f |
07-May-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Revert ExecutionEngine patches, they either failed to build or broke unit tests. Please ensure the build is clean and tests are passing when recommitting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131044 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
CJIT.cpp
CJIT.h
argetSelect.cpp
|
226c34be0d57194851744506cf63b00a620d713c |
07-May-2011 |
Dylan Noblesmith <nobled@dreamwidth.org> |
ExecutionEngine: delete duplicated files Forgot to `svn rm` these in revisions 131025 / 131029. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131030 91177308-0d34-0410-b5e6-96231b3b80d8
argetSelect.cpp
|
c06b511eba8a0f7c6dd01c067836168cc33d7801 |
07-May-2011 |
Dylan Noblesmith <nobled@dreamwidth.org> |
ExecutionEngine: push TargetMachine creation into clients In particular, into EngineBuilder. This should only impact the private API between the EE and EB classes, not external clients, since JITCtor and MCJITCtor are both protected members. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131026 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
71cbac6a834a6ab48598b57cf9e97d7b3da421ef |
07-May-2011 |
Dylan Noblesmith <nobled@dreamwidth.org> |
ExecutionEngine: fix JIT/MCJIT selectTarget() duplication This prepares for making JITCtor/MCJITCtor take a TargetMachine* directly from clients like EngineBuilder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131025 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
CJIT.cpp
CJIT.h
|
bb498ca5c2acb7567d8d4d84b00229bed6f501b1 |
22-Apr-2011 |
Eric Christopher <echristo@apple.com> |
80-col fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129973 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
69e813282d4aa078102ce058f8269d0c13260061 |
13-Apr-2011 |
Jim Grosbach <grosbach@apple.com> |
MCJIT relocation resolution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129445 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
b027105fa50c864d44873dc78daafb3db3ec9c14 |
08-Apr-2011 |
Jim Grosbach <grosbach@apple.com> |
Refactor MCJIT 32-bit section loading. Teach 32-bit section loading to use the Memory Manager interface, just like the 64-bit loading does. Tidy up a few other things here and there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129138 91177308-0d34-0410-b5e6-96231b3b80d8
CJITMemoryManager.h
|
c41ab789a052d7a8a4eacecfa1edd4af0d933990 |
06-Apr-2011 |
Jim Grosbach <grosbach@apple.com> |
RuntimeDyld should use the memory manager API. Start teaching the runtime Dyld interface to use the memory manager API for allocating space. Rather than mapping directly into the MachO object, we extract the payload for each object and copy it into a dedicated buffer allocated via the memory manager. For now, just do Segment64, so this works on x86_64, but not yet on ARM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128973 91177308-0d34-0410-b5e6-96231b3b80d8
CJITMemoryManager.h
|
caf767bb027088e28460cde21c721cda681e38fc |
06-Apr-2011 |
Jim Grosbach <grosbach@apple.com> |
Remove extraneous 'return'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128959 91177308-0d34-0410-b5e6-96231b3b80d8
CJITMemoryManager.h
|
b572830a52faad2fffc7119de53aa96c18d9bf07 |
05-Apr-2011 |
Jim Grosbach <grosbach@apple.com> |
Add missing file from r128851. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128856 91177308-0d34-0410-b5e6-96231b3b80d8
CJITMemoryManager.h
|
fcbe5b71936b820647dffff0e4f9c60ece3988a5 |
05-Apr-2011 |
Jim Grosbach <grosbach@apple.com> |
Layer the memory manager between the JIT and the runtime Dyld. The JITMemory manager references LLVM IR constructs directly, while the runtime Dyld works at a lower level and can handle objects which may not originate from LLVM IR. Introduce a new layer for the memory manager to handle the interface between them. For the MCJIT, this layer will be almost entirely simply a call-through w/ translation between the IR objects and symbol names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128851 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
5acfa9f0fd641906e520a6caaf644d03def27ae0 |
29-Mar-2011 |
Jim Grosbach <grosbach@apple.com> |
Instantiate a JITMemoryManager for MCJIT Dyld git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128485 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
66978bd81c8f3dc87ced049e2577b98a399d72bc |
23-Mar-2011 |
Jim Grosbach <grosbach@apple.com> |
Fix double-free of Module. The ExecutionEngine constructor already added the module, so there's no need to call addModule() directly. Doing so causes a double-free of the Module at program termination. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128171 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
8086f3b49429e02603270c8e09e2aabac9215a21 |
23-Mar-2011 |
Jim Grosbach <grosbach@apple.com> |
Make sure to report any errors from the runtime dyld. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128160 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
5010ed03679b42c627c6eccb69fe66505b7d8bfd |
22-Mar-2011 |
Jim Grosbach <grosbach@apple.com> |
Add missing file from previous commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128095 91177308-0d34-0410-b5e6-96231b3b80d8
ntercept.cpp
|
34714a06096f854c76371295d8c20b017fbba50b |
22-Mar-2011 |
Jim Grosbach <grosbach@apple.com> |
Add simple arg passing to MC-JIT and support for exit() call. Support argument passing simple, common, prototypes directly. More complicated scenarios will require building up a stub function, which the MC-JIT isn't set up to handle yet. Add Intercept.cpp, which is just a copy from ExecutionEngine/JIT for now, to handle looking looking up external symbol names. This probably more properly belongs as part of RuntimeDyld. It'll migrate there as things flesh out more fully. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128090 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
CJIT.cpp
CJIT.h
|
d6190673f0ccc2a7cca38b6ff7dbec85084b0660 |
22-Mar-2011 |
Eric Christopher <echristo@apple.com> |
Fix comment in header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128077 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
f922910494377909b4cf2a0b73f509b2b1925799 |
22-Mar-2011 |
Jim Grosbach <grosbach@apple.com> |
Hook up the MCJIT to the RuntimeDyld library. Lots of cleanup to make the interfaces prettier, use the JITMemoryManager, handle multiple functions and modules, etc.. This gets far enough that the MCJIT compiles and runs code, though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128052 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
7b6747ed420ef32d5c12f62833c2b5ad1c46d604 |
18-Mar-2011 |
Jim Grosbach <grosbach@apple.com> |
Silence a warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127918 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
|
31649e61bcead26a63c7cd452da90fff5e000b91 |
18-Mar-2011 |
Jim Grosbach <grosbach@apple.com> |
Beginnings of MC-JIT code generation. Proof-of-concept code that code-gens a module to an in-memory MachO object. This will be hooked up to a run-time dynamic linker library (see: llvm-rtdyld for similarly conceptual work for that part) which will take the compiled object and link it together with the rest of the system, providing back to the JIT a table of available symbols which will be used to respond to the getPointerTo*() queries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127916 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
CJIT.h
|
1f6efa3996dd1929fbc129203ce5009b620e6969 |
29-Nov-2010 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Merge System into Support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
CJIT.cpp
argetSelect.cpp
|
6aec29848676494867e26307698155bc2c5a4033 |
17-Nov-2010 |
Daniel Dunbar <daniel@zuster.org> |
MCJIT: Stub out MCJIT implementation, still doesn't do anything useful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119509 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
CJIT.cpp
CJIT.h
akefile
argetSelect.cpp
|