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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
674be02d525d4e24bc6943ed9274958c580bcfbc |
|
10-Jan-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Fix include guards so they exactly match file names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
8213068f3401848d86027e61f74f41c54c4805c5 |
|
27-Nov-2012 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Fix comment formatting in RuntimeDyld.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168739 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
9ed6da49f31be652717404376cc316d3a50d88da |
|
17-Oct-2012 |
Eric Christopher <echristo@gmail.com> |
Spacing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
c2945e44d5d485ce080a09900fbd5245e01165fc |
|
18-Sep-2012 |
Craig Topper <craig.topper@gmail.com> |
Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
6ae599a4a13630c0ceacd1dd98a9715245ed7cbc |
|
21-Mar-2012 |
Danil Malyshev <dmalyshev@accesssoftek.com> |
Missed getPointerToNamedFunction() declaration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
cf852dc49bfadb79a27455f8773dbfda2b96f4f6 |
|
13-Jul-2011 |
Danil Malyshev <dmalyshev@accesssoftek.com> |
Add to RuntimeDyld support different object formats git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
f8c1c8465ff097ad5b87331b6d9a2576167f1402 |
|
12-Apr-2011 |
Jim Grosbach <grosbach@apple.com> |
MCJIT lazy relocation resolution and symbol address re-assignment. Add handling for tracking the relocations on symbols and resolving them. Keep track of the relocations even after they are resolved so that if the RuntimeDyld client moves the object, it can update the address and any relocations to that object will be updated. For our trival object file load/run test harness (llvm-rtdyld), this enables relocations between functions located in the same object module. It should be trivially extendable to load multiple objects with mutual references. As a simple example, the following now works (running on x86_64 Darwin 10.6): $ cat t.c int bar() { return 65; } int main() { return bar(); } $ clang t.c -fno-asynchronous-unwind-tables -o t.o -c $ otool -vt t.o t.o: (__TEXT,__text) section _bar: 0000000000000000 pushq %rbp 0000000000000001 movq %rsp,%rbp 0000000000000004 movl $0x00000041,%eax 0000000000000009 popq %rbp 000000000000000a ret 000000000000000b nopl 0x00(%rax,%rax) _main: 0000000000000010 pushq %rbp 0000000000000011 movq %rsp,%rbp 0000000000000014 subq $0x10,%rsp 0000000000000018 movl $0x00000000,0xfc(%rbp) 000000000000001f callq 0x00000024 0000000000000024 addq $0x10,%rsp 0000000000000028 popq %rbp 0000000000000029 ret $ llvm-rtdyld t.o -debug-only=dyld ; echo $? Function sym: '_bar' @ 0 Function sym: '_main' @ 16 Extracting function: _bar from [0, 15] allocated to 0x100153000 Extracting function: _main from [16, 41] allocated to 0x100154000 Relocation at '_main' + 16 from '_bar(Word1: 0x2d000000) Resolving relocation at '_main' + 16 (0x100154010) from '_bar (0x100153000)(pcrel, type: 2, Size: 4). loaded '_main' at: 0x100154000 65 $ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
7cbf92d1d9945c35d1021458280bb7984f796a01 |
|
12-Apr-2011 |
Jim Grosbach <grosbach@apple.com> |
Tidy up a bit now that we're using the MemoryManager interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
53c5e7b2e7e36d70bd943cb2d576121435bd5b3f |
|
06-Apr-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Make the virtual destructor out-of-line so we have a key function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
d36d42d4aca35d15ef946a5f344b89be1baffecf |
|
06-Apr-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Provide an empty virtual destructor to go with the virtual methods in this class. Clang was warning on this with -Wnon-virtual-dtor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.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
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
b3eecaf19e81f0cccffdeff940afbfd1a3754af2 |
|
22-Mar-2011 |
Jim Grosbach <grosbach@apple.com> |
Propogate the error message, not just the error state. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|
6e56331ed99e5b96de940dfdc53e438eef521a2e |
|
21-Mar-2011 |
Jim Grosbach <grosbach@apple.com> |
Library-ize the dyld components of llvm-rtdyld. Move the dynamic linking functionality of the llvm-rtdyld program into an ExecutionEngine support library. Update llvm-rtdyld to just load an object file into memory, use the library to process it, then run the _main() function, if one is found. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
|