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

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

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.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/MCJIT/MCJIT.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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.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/MCJIT/MCJIT.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/MCJIT/MCJIT.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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.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/lib/ExecutionEngine/MCJIT/MCJIT.h
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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.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/MCJIT/MCJIT.h
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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.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/MCJIT/MCJIT.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/MCJIT/MCJIT.h
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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.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/lib/ExecutionEngine/MCJIT/MCJIT.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/MCJIT/MCJIT.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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.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/MCJIT/MCJIT.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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.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/lib/ExecutionEngine/MCJIT/MCJIT.h
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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
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
/external/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h