History log of /external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.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
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
4805bf59b9e41a95336c066ec58194ff6801694a 19-Oct-2013 Yaron Keren <yaron.keren@gmail.com> Avoid duplicate search by reusing the iterator.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193034 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.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/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
72be32c6332ff9dd38b989d5a0dd80f40996dd10 15-Oct-2013 Andrew Kaylor <andrew.kaylor@intel.com> Separating ELF and MachO stub info functions for RuntimeDyld

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
ab950f5f334d30a7b5bfb1e009846dfb0b47f61c 15-Oct-2013 Andrew Kaylor <andrew.kaylor@intel.com> Fixing some host==target assumptions in RuntimeDyld

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192732 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.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/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
74e81aae7c07b0619a77a5a0a56fdb954ce4b8fd 20-Aug-2013 Benjamin Kramer <benny.kra@googlemail.com> memcmp is not a valid way to compare structs with padding in them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
ff9fa05905be716435460b5f6d32689041bf895b 20-Aug-2013 Andrew Kaylor <andrew.kaylor@intel.com> Adding PIC support for ELF on x86_64 platforms

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
f38cc38fa647d4e72c053c39bbe0cdec1342535f 26-Jul-2013 Bill Schmidt <wschmidt@linux.vnet.ibm.com> [PowerPC] Support powerpc64le as a syntax-checking target.

This patch provides basic support for powerpc64le as an LLVM target.
However, use of this target will not actually generate little-endian
code. Instead, use of the target will cause the correct little-endian
built-in defines to be generated, so that code that tests for
__LITTLE_ENDIAN__, for example, will be correctly parsed for
syntax-only testing. Code generation will otherwise be the same as
powerpc64 (big-endian), for now.

The patch leaves open the possibility of creating a little-endian
PowerPC64 back end, but there is no immediate intent to create such a
thing.

The LLVM portions of this patch simply add ppc64le coverage everywhere
that ppc64 coverage currently exists. There is nothing of any import
worth testing until such time as little-endian code generation is
implemented. In the corresponding Clang patch, there is a new test
case variant to ensure that correct built-in defines for little-endian
code are generated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.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/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
4a9b6b798d5ea335f5f29d278db83b830ae4a564 04-May-2013 Tim Northover <Tim.Northover@arm.com> AArch64: add stubs to support long function calls on MCJIT

As with global accesses, external functions could exist anywhere in
memory. Therefore the stub must create a complete 64-bit address. This
patch implements the fragment as (roughly):
movz x16, #:abs_g3:somefunc
movk x16, #:abs_g2_nc:somefunc
movk x16, #:abs_g1_nc:somefunc
movk x16, #:abs_g0_nc:somefunc
br x16

In principle we could save 4 bytes by using a literal-load instead,
but it is unclear that would be more efficient and can only be tested
when real hardware is readily available.

This allows (for example) the MCJIT test 2003-05-07-ArgumentTest to
pass on AArch64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
6fc2ad62e23673ef829c9c4bbf62743d30928a5b 03-May-2013 Richard Sandiford <rsandifo@linux.vnet.ibm.com> [SystemZ] Add MCJIT support

Another step towards reinstating the SystemZ backend. I'll commit
the configure changes separately (TARGET_HAS_JIT etc.), then commit
a patch to enable the MCJIT tests on SystemZ.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
59a0e79631ed851d98cf9c2ba6fa5f9aafdfdc93 30-Apr-2013 Rafael Espindola <rafael.espindola@gmail.com> Add getSymbolAlignment to the ObjectFile interface.

For regular object files this is only meaningful for common symbols. An object
file format with direct support for atoms should be able to provide alignment
information for all symbols.

This replaces getCommonSymbolAlignment and fixes
test-common-symbols-alignment.ll on darwin. This also includes a fix to
MachOObjectFile::getSymbolFlags. It was marking undefined symbols as common
(already tested by existing mcjit tests now that it is used).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
1fbeecb0394a2f203fd48b699718c4f90a8870b7 29-Apr-2013 Rafael Espindola <rafael.espindola@gmail.com> Update the documentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
ca0e73610056110e9a175c14dd82d6d616fd830f 29-Apr-2013 Rafael Espindola <rafael.espindola@gmail.com> Use a RelocationRef instead of a relocation_iterator.
No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
87b5017139e9d8ac9b046b3284a9cc68c76185d6 29-Apr-2013 Rafael Espindola <rafael.espindola@gmail.com> Propagate relocation info to resolveRelocation.

This gets most of the MCJITs tests passing with MachO.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
efa91f6475f6e96552986104ab4857db46185a2a 29-Apr-2013 Rafael Espindola <rafael.espindola@gmail.com> Replace ObjRelocationInfo with relocation_iterator.

For MachO we need information that is not represented in ObjRelocationInfo.
Instead of copying the bits we think are needed from a relocation_iterator,
just pass the relocation_iterator down to the format specific functions.

No functionality change yet as we still drop the information once
processRelocationRef returns.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
21a01d1ea89dba97c4f9e1f9f41485729a4046bc 15-Apr-2013 Rafael Espindola <rafael.espindola@gmail.com> Make the host endianness check an integer constant expression.

I will remove the isBigEndianHost function once I update clang.

The ifdef logic is designed to
* not use configure/cmake to avoid breaking -arch i686 -arch ppc.
* default to little endian
* be as small as possible

It looks like sys/endian.h is the preferred header on most modern BSD systems,
but it is better to change this in a followup patch as machine/endian.h is
available on FreeBSD, OpenBSD, NetBSD and OS X.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
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
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
4af1ca5229a149c1d8e5e89bc2f13209da33221c 04-Dec-2012 NAKAMURA Takumi <geek4civic@gmail.com> RuntimeDyld: Fix up r169178. MSVC doesn't like "or".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
ade047463fd6e0fbb447145eb06015b8e7836482 04-Dec-2012 Akira Hatanaka <ahatanaka@mips.com> Runtime dynamic linker for MCJIT should support MIPS BigEndian architecture.
This small change adds support for that. It will make all MCJIT tests pass
in make-check on BigEndian platforms.

Patch by Petar Jovanovic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169178 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
a307a1cf859f4a523951ac887d094039547adeb5 02-Nov-2012 Andrew Kaylor <andrew.kaylor@intel.com> Change resolveRelocation parameters so the relocations can find placeholder values in the original object buffer.

Some ELF relocations require adding the a value to the original contents of the object buffer at the specified location. In order to properly handle multiple applications of a relocation, the RuntimeDyld code should be grabbing the original value from the object buffer and writing a new value into the loaded section buffer. This patch changes the parameters passed to resolveRelocations to accommodate this need.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
f00677d74f1be5b4c7c73e1681a64c9062f4c7ee 29-Oct-2012 Tim Northover <Tim.Northover@arm.com> Make use of common-symbol alignment info in ELF loader.

Patch by Amara Emerson.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
6e8946c5280ad6071d21013651745a9478f063ed 25-Oct-2012 Adhemerval Zanella <azanella@linux.vnet.ibm.com> PowerPC: Initial support for PowerPC64 MCJIT

This patch adds initial support for MCJIT for PPC64-elf-abi. The TOC
relocation and ODP handling is implemented.

It fixes the following ExecutionEngine testcases:

ExecutionEngine/2003-01-04-ArgumentBug.ll
ExecutionEngine/2003-01-04-LoopTest.ll
ExecutionEngine/2003-01-04-PhiTest.ll
ExecutionEngine/2003-01-09-SARTest.ll
ExecutionEngine/2003-01-10-FUCOM.ll
ExecutionEngine/2003-01-15-AlignmentTest.ll
ExecutionEngine/2003-05-11-PHIRegAllocBug.ll
ExecutionEngine/2003-06-04-bzip2-bug.ll
ExecutionEngine/2003-06-05-PHIBug.ll
ExecutionEngine/2003-08-15-AllocaAssertion.ll
ExecutionEngine/2003-08-21-EnvironmentTest.ll
ExecutionEngine/2003-08-23-RegisterAllocatePhysReg.ll
ExecutionEngine/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
ExecutionEngine/simplesttest.ll
ExecutionEngine/simpletest.ll
ExecutionEngine/stubs.ll
ExecutionEngine/test-arith.ll
ExecutionEngine/test-branch.ll
ExecutionEngine/test-call-no-external-funcs.ll
ExecutionEngine/test-cast.ll
ExecutionEngine/test-common-symbols.ll
ExecutionEngine/test-constantexpr.ll
ExecutionEngine/test-fp-no-external-funcs.ll
ExecutionEngine/test-fp.ll
ExecutionEngine/test-global-init-nonzero.ll
ExecutionEngine/test-global.ll
ExecutionEngine/test-loadstore.ll
ExecutionEngine/test-local.ll
ExecutionEngine/test-logical.ll
ExecutionEngine/test-loop.ll
ExecutionEngine/test-phi.ll
ExecutionEngine/test-ret.ll
ExecutionEngine/test-return.ll
ExecutionEngine/test-setcond-fp.ll
ExecutionEngine/test-setcond-int.ll
ExecutionEngine/test-shift.ll



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.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/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.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/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.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/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
52297414cb285d85ffb5513165ce3729ae12ffa8 27-Aug-2012 Danil Malyshev <dmalyshev@accesssoftek.com> Fix comment for function RuntimeDyldImpl.resolveRelocation()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
b889e0cd2fea4afee623d5be603b912b955a2eca 17-Aug-2012 Akira Hatanaka <ahatanaka@mips.com> Correct MCJIT functionality for MIPS32 architecture.

No new tests are added.
All tests in ExecutionEngine/MCJIT that have been failing pass after this patch
is applied (when "make check" is done on a mips board).

Patch by Petar Jovanovic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
d9b0b025612992a0b724eeca8bdf10b1d7a5c355 02-Jun-2012 Benjamin Kramer <benny.kra@googlemail.com> Fix typos found by http://github.com/lyda/misspell-check

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
c201e6eaf165c83f0092c43b371e509fa8eaf4cc 01-May-2012 Eli Bendersky <eli.bendersky@intel.com> RuntimeDyld cleanup:

- Improved parameter names for clarity
- Added comments
- emitCommonSymbols should return void because its return value is not being
used anywhere
- Attempt to reduce the usage of the RelocationValueRef type. Restricts it
for a single goal and may serve as a step for eventual removal.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155908 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
d98c9e918c9750d965c1efe9efcc9e13feacbe13 01-May-2012 Eli Bendersky <eli.bendersky@intel.com> RuntimeDyld code cleanup:

- There's no point having a different type for the local and global symbol
tables.
- Renamed SymbolTable to GlobalSymbolTable to clarify the intention
- Improved const correctness where relevant



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
37bc5a200092f1b41da799c75da70258015e43a4 30-Apr-2012 Eli Bendersky <eli.bendersky@intel.com> It doesn't make sense to move symbol relocations to section relocations when
relocations are resolved. It's much more reasonable to do this decision when
relocations are just being added - we have all the information at that point.

Also a bit of renaming and extra comments to clarify extensions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
6d15e8717767af9a6a20c6ea456119c15c77dd00 30-Apr-2012 Eli Bendersky <eli.bendersky@intel.com> Code cleanup in RuntimeDyld:

- Add comments
- Change field names to be more reasonable
- Fix indentation and naming to conform to coding conventions
- Remove unnecessary includes / replace them by forward declatations



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.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/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
689ff9c00f4f3dcf3491778bcdbda79e19e2285d 17-Apr-2012 Preston Gurd <preston.gurd@intel.com> Implement GDB integration for source level debugging of code JITed using
the MCJIT execution engine.

The GDB JIT debugging integration support works by registering a loaded
object image with a pre-defined function that GDB will monitor if GDB
is attached. GDB integration support is implemented for ELF only at this
time. This integration requires GDB version 7.0 or newer.

Patch by Andy Kaylor!




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
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
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.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/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.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/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.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/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.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/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.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/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
76463fdeb603e1d89b05f094bfd6fe73b90d0b61 22-Jan-2012 Eli Bendersky <eli.bendersky@intel.com> Split the lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h header to smaller logical headers.

ELF and MachO implementations of RuntimeDyldImpl go into their own header files now.

Reviewed on llvm-commits



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
e0934bee3a4f40731169bc42b15a39ce39978175 17-Jan-2012 Jim Grosbach <grosbach@apple.com> Tidy up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.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/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.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/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
a66a18505e07a4e72d6fa7e85663937a257577f3 16-Jan-2012 Eli Bendersky <eli.bendersky@intel.com> Adding a basic ELF dynamic loader and MC-JIT for ELF. Functionality is currently basic and will be enhanced with future patches.
Patch developed by Andy Kaylor and Daniel Malea. Reviewed on llvm-commits.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
cf1e967df2a573fba94591b84fc56885e67772db 20-Jul-2011 Eric Christopher <echristo@apple.com> Extra semi-colon.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.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/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h