History log of /external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.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/include/llvm/ExecutionEngine/ExecutionEngine.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/ExecutionEngine.h
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.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/include/llvm/ExecutionEngine/ExecutionEngine.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/include/llvm/ExecutionEngine/ExecutionEngine.h
d0acc84b2b98d7c4ba5057cfb004ecf9f9db6a3d 07-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove dead code.

Support for exception handling in the legacy JIT was removed in r181354 and
this code was dead since then.

Thanks to Yaron Keren for noticing it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.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/include/llvm/ExecutionEngine/ExecutionEngine.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/ExecutionEngine.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/include/llvm/ExecutionEngine/ExecutionEngine.h
40be1e85665d10f5444186f0e7106e368dd735b8 01-May-2013 Filip Pizlo <fpizlo@apple.com> This patch breaks up Wrap.h so that it does not have to include all of
the things, and renames it to CBindingWrapping.h. I also moved
CBindingWrapping.h into Support/.

This new file just contains the macros for defining different wrap/unwrap
methods.

The calls to those macros, as well as any custom wrap/unwrap definitions
(like for array of Values for example), are put into corresponding C++
headers.

Doing this required some #include surgery, since some .cpp files relied
on the fact that including Wrap.h implicitly caused the inclusion of a
bunch of other things.

This also now means that the C++ headers will include their corresponding
C API headers; for example Value.h must include llvm-c/Core.h. I think
this is harmless, since the C API headers contain just external function
declarations and some C types, so I don't believe there should be any
nasty dependency issues here.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.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/include/llvm/ExecutionEngine/ExecutionEngine.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/include/llvm/ExecutionEngine/ExecutionEngine.h
43dfffe890f58468e2fe01f312978d7aa5303801 24-Apr-2013 Eric Christopher <echristo@gmail.com> Fix dependency layering issues caused by r180112.

Patch by Tom Stellard. (Committed while he's afk per request)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
23b7a7032d79d755b2f06a24e0711471172f1088 23-Apr-2013 Andrew Kaylor <andrew.kaylor@intel.com> Fixing typo in comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.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/include/llvm/ExecutionEngine/ExecutionEngine.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/ExecutionEngine.h
255f89faee13dc491cb64fbeae3c763e7e2ea4e6 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort the #include lines for the include/... tree with the script.

AKA: Recompile *ALL* the source code!

This one went much better. No manual edits here. I spot-checked for
silliness and grep-checked for really broken edits and everything seemed
good. It all still compiles. Yell if you see something that looks goofy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.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/include/llvm/ExecutionEngine/ExecutionEngine.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
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
c5252da873d547a19069eaf9030fec203f128f66 14-Sep-2012 Dmitri Gribenko <gribozavr@gmail.com> Fix Doxygen issues:
* wrap code blocks in \code ... \endcode;
* refer to parameter names in paragraphs correctly (\arg is not what most
people want -- it starts a new paragraph);
* use \param instead of \arg to document parameters in order to be consistent
with the rest of the codebase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.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/ExecutionEngine.h
72ea0c9ffaa1700730c8ce36e9b73aef4b914988 19-Jul-2012 Galina Kistanova <gkistanova@gmail.com> Fixed few warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
8e1fc56b2496270d1d6040cb648eef5d5aeb6079 23-Mar-2012 Owen Anderson <resistor@mac.com> Make it feasible for clients using EngineBuilder to capture the TargetMachine that is created as part of selecting the appropriate target.
This is necessary if the client wants to be able to mutate TargetOptions (for example, fast FP math mode) after the initial creation of the ExecutionEngine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
50bee42b54cd9aec5f49566307df2b0cf23afcf6 05-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@149849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.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/ExecutionEngine.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/include/llvm/ExecutionEngine/ExecutionEngine.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/include/llvm/ExecutionEngine/ExecutionEngine.h
d40e103ea5bca8a223fc8261b3322b9454e9af12 08-Dec-2011 Peter Collingbourne <peter@pcc.me.uk> EngineBuilder: support for custom TargetOptions. Fixes the
ExceptionDemo example.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
d95e67dac029d48984b72889a96a1bb389b8ac71 01-Dec-2011 Dylan Noblesmith <nobled@dreamwidth.org> ExecutionEngine: honor optimization level

It was getting ignored after r144788.

Also fix an accidental implicit cast from the OptLevel enum
to an optional bool argument. MSVC warned on this, but gcc
didn't.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
026fa8782cd59f79ac6335e54a0d1cc882a0b626 29-Sep-2011 Jim Grosbach <grosbach@apple.com> Tidy up. Formatting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
5af214fef09396433bb38c97f33bfdc1f03118c7 30-Aug-2011 Nicolas Geoffray <nicolas.geoffray@lip6.fr> The code model of JIT should default to JITDefault.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
34ad6db8b958fdc0d38e122edf753b5326e69b03 20-Jul-2011 Evan Cheng <evan.cheng@apple.com> - Move CodeModel from a TargetMachine global option to MCCodeGenInfo.
- Introduce JITDefault code model. This tells targets to set different default
code model for JIT. This eliminates the ugly hack in TargetMachine where
code model is changed after construction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135580 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
439661395fd2a2a832dba01c65bc88718528313c 19-Jul-2011 Evan Cheng <evan.cheng@apple.com> Introduce MCCodeGenInfo, which keeps information that can affect codegen
(including compilation, assembly). Move relocation model Reloc::Model from
TargetMachine to MCCodeGenInfo so it's accessible even without TargetMachine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
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
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.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/include/llvm/ExecutionEngine/ExecutionEngine.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/include/llvm/ExecutionEngine/ExecutionEngine.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/include/llvm/ExecutionEngine/ExecutionEngine.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/include/llvm/ExecutionEngine/ExecutionEngine.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/include/llvm/ExecutionEngine/ExecutionEngine.h
7a2bdde0a0eebcd2125055e0eacaca040f0b766c 15-Apr-2011 Chris Lattner <sabre@nondot.org> Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
714b34fc24d5df02aff01bd64eb80e5945d663ac 06-Apr-2011 Jim Grosbach <grosbach@apple.com> EngineBuilder setter method for UseMCJIT was missing return value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129008 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
f5b23368d27ef7dd44b2c45b5c08812ac99c7661 31-Mar-2011 Jim Grosbach <grosbach@apple.com> Tidy up. Whitespace and 80-columns.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
515c67ee77f8d9c417efc0fe04615d269bfb70e4 05-Mar-2011 Eric Christopher <echristo@apple.com> Support unregistering exception frames of functions when they are removed.

Patch by Johannes Schaub!

Fixes PR8548


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.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
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
6d135972bf4e7fdc4de6b0538d6a3b91a06e3a5d 17-Nov-2010 Daniel Dunbar <daniel@zuster.org> lli: Add stub -use-mcjit option, which doesn't currently do anything.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
48dd875be12006060260526e4a1df0bae48dd5c9 13-Nov-2010 Daniel Dunbar <daniel@zuster.org> JIT: More nitty style tweakage, aka territory marking.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
b35fd448cea32da671ecd3ecaad3cc637598c6e0 21-Oct-2010 Duncan Sands <baldrick@free.fr> Fix the cleanup process of exception information in JIT. Now JIT
deregisters registered by it FDE structures allowing consecutive
JIT runs to succeed. Patch by Yuri. Fixes PR8285.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
3472766f9eb7d66f234c390ce1b3a8b76f0ee9ce 12-Jul-2010 Duncan Sands <baldrick@free.fr> Convert some tab stops into spaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
4688261c20735f5ead2f08695acdeb727db31894 05-Feb-2010 Jeffrey Yasskin <jyasskin@google.com> Move --march, --mcpu, and --mattr from JIT/TargetSelect.cpp to lli.cpp.
llc.cpp also defined these flags, meaning that when I linked all of LLVM's
libraries into a single shared library, llc crashed on startup with duplicate
flag definitions. This patch passes them through the EngineBuilder into
JIT::selectTarget().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
3a813dc7079135fa417d22f7b234e902a20c93ce 03-Feb-2010 Jeffrey Yasskin <jyasskin@google.com> r94686 changed all ModuleProvider parameters to Modules, which made the
1-argument ExecutionEngine::create(Module*) ambiguous with the signature that
used to be ExecutionEngine::create(ModuleProvider*, defaulted_params). Fixed
by removing the 1-argument create(). Fixes PR6221.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95236 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
f0356fe140af1a30587b9a86bcfb1b2c51b8ce20 27-Jan-2010 Jeffrey Yasskin <jyasskin@google.com> Kill ModuleProvider and ghost linkage by inverting the relationship between
Modules and ModuleProviders. Because the "ModuleProvider" simply materializes
GlobalValues now, and doesn't provide modules, it's renamed to
"GVMaterializer". Code that used to need a ModuleProvider to materialize
Functions can now materialize the Functions directly. Functions no longer use a
magic linkage to record that they're materializable; they simply ask the
GVMaterializer.

Because the C ABI must never change, we can't remove LLVMModuleProviderRef or
the functions that refer to it. Instead, because Module now exposes the same
functionality ModuleProvider used to, we store a Module* in any
LLVMModuleProviderRef and translate in the wrapper methods. The bindings to
other languages still use the ModuleProvider concept. It would probably be
worth some time to update them to follow the C++ more closely, but I don't
intend to do it.

Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
88b5aca20a6dd0a8b15ff620bdee59aae567d245 17-Nov-2009 Eric Christopher <echristo@apple.com> Add ability to set code model within the execution engine builders
and creation interfaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
6f348e458660063a40052b208bab96895c822877 09-Nov-2009 Jeffrey Yasskin <jyasskin@google.com> Remove dlsym stubs, with Nate Begeman's permission.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
f32a6a3091e0b01d17926f4b1cf78972854b8cb5 29-Oct-2009 Chris Lattner <sabre@nondot.org> add interpreter support for indirect goto / blockaddress. The interpreter
now correctly runs clang's test/CodeGen/indirect-goto.c. The JIT will abort
on it until someone feels compelled to implement this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
18fec73e29d68b9c7473720507f51de39b0873b1 27-Oct-2009 Jeffrey Yasskin <jyasskin@google.com> Revert the API changes from r85295 to make it easier for people to build
against both 2.6 and HEAD. The default is still changed to eager jitting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
dc85724f703bddf6988b6b3f20203beab775f32b 27-Oct-2009 Jeffrey Yasskin <jyasskin@google.com> Change the JIT to compile eagerly by default as agreed in
http://llvm.org/PR5184, and beef up the comments to describe what both options
do and the risks of lazy compilation in the presence of threads.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
7a9034c4db248fe8b8cb82762881b51b221988d3 27-Oct-2009 Jeffrey Yasskin <jyasskin@google.com> Automatically do the equivalent of freeMachineCodeForFunction(F) when F is
being destroyed. This allows users to run global optimizations like globaldce
even after some functions have been jitted.

This patch also removes the Function* parameter to
JITEventListener::NotifyFreeingMachineCode() since it can cause that to be
called when the Function is partially destroyed. This change will be even more
helpful later when I think we'll want to allow machine code to actually outlive
its Function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85182 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
23e5fcfec4640955fec41dc8348f467adf1a3e56 24-Oct-2009 Jeffrey Yasskin <jyasskin@google.com> Fix http://llvm.org/PR4822: allow module deletion after a function has been
compiled.

When functions are compiled, they accumulate references in the JITResolver's
stub maps. This patch removes those references when the functions are
destroyed. It's illegal to destroy a Function when any thread may still try to
call its machine code.

This patch also updates r83987 to use ValueMap instead of explicit CallbackVHs
and fixes a couple "do stuff inside assert()" bugs from r84522.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
4c5b23b24f230607fa18a162519875a91a5e89e0 13-Oct-2009 Jeffrey Yasskin <jyasskin@google.com> Make the ExecutionEngine automatically remove global mappings on when their
GlobalValue is destroyed. Function destruction still leaks machine code and
can crash on leaked stubs, but this is some progress.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
c89d27a440370455336202b2a8f25eb9c73e67bc 10-Oct-2009 Jeffrey Yasskin <jyasskin@google.com> ExecutionEngine::clearGlobalMappingsFromModule failed to remove reverse
mappings, which could cause errors and assert-failures. This patch fixes that,
adds a test, and refactors the global-mapping-removal code into a single place.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
0d5bd59553375dc85ac04c81ef48ef74c9e7193e 07-Aug-2009 Jeffrey Yasskin <jyasskin@google.com> To catch bugs like the one fixed in
http://llvm.org/viewvc/llvm-project?view=rev&revision=78127, I'm changing the
ExecutionEngine's global mappings to hold AssertingVH<const GlobalValue>. That
way, if unregistering a mapping fails to actually unregister it, we'll get an
assert. Running the jit nightly tests didn't uncover any actual instances of
the problem.

This also uncovered the fact that AssertingVH<const X> didn't work, so I fixed
that too.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
4b1511b027ce0b648b3379f2891816c25b46f515 18-Jul-2009 Reid Kleckner <reid@kleckner.net> Add EngineBuilder to ExecutionEngine in favor of the five optional argument EE::create().

Also a test commit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
1d929216916dc992f8643dda971aac58d47c7765 16-Jul-2009 Daniel Dunbar <daniel@zuster.org> Switch llc and createJIT to use simpler command line parsing for -march.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
489393d7b92107cc3de17d8dbe7dd11ab7395fdc 08-Jul-2009 Jeffrey Yasskin <jyasskin@google.com> Add an option to allocate JITed global data separately from code. By
default, this option is not enabled to support clients who rely on
this behavior.

Fixes http://llvm.org/PR4483

A patch to allocate additional memory for globals after we run out is
forthcoming.

Patch by Reid Kleckner!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
df225c0253aa987830fbd3dfcb5d9f8f7f973336 07-Jul-2009 Bill Wendling <isanbard@gmail.com> Remove unused parameter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
df5a7daff9c7664bff8b713e8ed5155319bc6041 25-Jun-2009 Jeffrey Yasskin <jyasskin@google.com> Add a JITEventListener interface that gets called back when a new function is
emitted or the machine code for a function is freed. Chris mentioned that we
may also want a notification when a stub is emitted, but that'll be a future
change. I intend to use this to tell oprofile where functions are emitted and
what lines correspond to what addresses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
5e0644c73e0415e85c035ad1306a86554dd26df7 11-Jun-2009 Bill Wendling <isanbard@gmail.com> Remove unused parameter warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73202 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
b3a847db0b991d3210706a2580428fdc2b6bf037 18-May-2009 Argyrios Kyrtzidis <akyrtzi@gmail.com> Allow the JIT ExecutionEngine to report details about the generated machine code.
Introduce a new class (MachineCodeInfo) that the JIT can fill in with details. Right now, just the address and the size of the machine code are reported.

Patch by Evan Phoenix!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
98a366d547772010e94609e4584489b3e5ce0043 30-Apr-2009 Bill Wendling <isanbard@gmail.com> Instead of passing in an unsigned value for the optimization level, use an enum,
which better identifies what the optimization is doing. And is more flexible for
future uses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
5e5cb7985de2508ecd707568afbcbb39e8a688fc 29-Apr-2009 Bill Wendling <isanbard@gmail.com> The second part of the change from -fast to -O#. This changes the JIT to accept
an optimization level instead of a simple boolean telling it to generate code
"fast" or the other type of "fast".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
552672d28516f71344d7ce5ae3edd8a251cefc42 26-Apr-2009 Chris Lattner <sabre@nondot.org> improve documentation around memory lifetimes,
patch by Jeffrey Yasskin!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70083 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
d6b7a242d345fd79a337afd384bb586c5619cfe7 18-Feb-2009 Nate Begeman <natebegeman@mac.com> Add support to the JIT for true non-lazy operation. When a call to a function
that has not been JIT'd yet, the callee is put on a list of pending functions
to JIT. The call is directed through a stub, which is updated with the address
of the function after it has been JIT'd. A new interface for allocating and
updating empty stubs is provided.

Add support for removing the ModuleProvider the JIT was created with, which
would otherwise invalidate the JIT's PassManager, which is initialized with the
ModuleProvider's Module.

Add support under a new ExecutionEngine flag for emitting the infomration
necessary to update Function and GlobalVariable stubs after JITing them, by
recording the address of the stub and the name of the GlobalValue. This allows
code to be copied from one address space to another, where libraries may live
at different virtual addresses, and have the stubs updated with their new
correct target addresses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
60789e419e04c260e36af9a1add5ad316313e490 23-Jan-2009 Nate Begeman <natebegeman@mac.com> Add support for deleting a module provider from a JIT in such a way that it does not cause the owned module to be fully materialized.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
d68a07650cdb2e18f18f362ba533459aa10e01b6 05-Jan-2009 Dan Gohman <gohman@apple.com> Tidy up #includes, deleting a bunch of unnecessary #includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
77f86ad08775e0ed2a704ef09ffff3dbd6e04583 09-Dec-2008 Evan Cheng <evan.cheng@apple.com> DisableGVCompilation should not abort on internal GlobalValue's.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60750 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
46fa139e26be6ebc00be2fb45820c2560dd22a32 25-Oct-2008 Nicolas Geoffray <nicolas.geoffray@lip6.fr> Support for allocation of TLS variables in the JIT. Allocation of a global
variable is moved to the execution engine. The JIT calls the TargetJITInfo
to allocate thread local storage. Currently, only linux/x86 knows how to
allocate thread local global variables.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58142 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
18314dc741ab7dc4db02b199af77f43bd8551fd2 30-Sep-2008 Evan Cheng <evan.cheng@apple.com> Add runStaticConstructorsDestructors which runs ctors / dtors of a single module. Patch by David Chisnall.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
446531e7bb4355117b070493ca8e81e4b123ef18 24-Sep-2008 Evan Cheng <evan.cheng@apple.com> Add DisableGVCompilation which forces the JIT to assert when it tries to allocate space for a GlobalVariable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
502f20b17ede40de84503010b7699b328a4f2867 08-Aug-2008 Evan Cheng <evan.cheng@apple.com> Add new parameter Fast to createJIT to enable the fast codegen path.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
e846db667529eeeae531ce3b7382e18888d1eba0 16-Jun-2008 Chris Lattner <sabre@nondot.org> Add a new flag that disables symbol lookup with dlsym when set. This allows
a JIT client to completely control symbol lookup with the LazyFunctionCreator
interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
f049e07eb8930214941c72f8e4409df394de1567 21-May-2008 Nate Begeman <natebegeman@mac.com> Fix a couple issues with the JIT and multiple modules:

1. The "JITState" object creates a PassManager with the ModuleProvider that the
jit is created with. If the ModuleProvider is removed and deleted, the
PassManager is invalid.

2. The Global maps in the JIT were not invalidated with a ModuleProvider was
removed. This could lead to a case where the Module would be freed, and a
new Module with Globals at the same addresses could return invalid results.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
13d57320bd212483463d4f8992d5787b29eda5df 19-May-2008 Bill Wendling <isanbard@gmail.com> Remove warnings about unused parameters and shadowed variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
f4cc3096fd893cdef5b5c2664ebff8c13a07ad51 04-Apr-2008 Chris Lattner <sabre@nondot.org> Make ExecutionEngine::updateGlobalMapping return the old mapping.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
afe6c2b001a924cd74bd0aacfed5984d9af004b0 13-Feb-2008 Nicolas Geoffray <nicolas.geoffray@lip6.fr> Enable exception handling int JIT



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
7ed47a13356daed2a34cd2209a31f92552e3bdd8 29-Dec-2007 Chris Lattner <sabre@nondot.org> Don't attribute in file headers anymore. See llvmdev for the
discussion of this change. Boy are my fingers tired. ;-)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
ded2b0d0fb0d4fa09198e3d05da529d2c97214c3 14-Dec-2007 Dan Gohman <gohman@apple.com> Add explicit keywords, and fix a minor typo that they uncovered.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45034 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
34c9433004cabd4760987dce4804a91c84908219 06-Dec-2007 Chris Lattner <sabre@nondot.org> add a new ExecutionEngine::createJIT which can be used if you only want
to create a JIT. This lets you specify JIT-specific configuration items
like the JITMemoryManager to use.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
9f2f142d255bc96f109dd5c6524a485937b1f3a1 06-Dec-2007 Chris Lattner <sabre@nondot.org> simplify creation of the interpreter, make ExecutionEngine ctor protected,
delete one ExecutionEngine ctor, minor cleanup.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
d958a5a9feea7239a73c2068f43f237db550f46e 22-Oct-2007 Chris Lattner <sabre@nondot.org> add a mechanism for the JIT to invoke a function to lazily create functions as they are referenced.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
8b5295b7bb8bf44f13df7fc8e38069d1218b1f94 22-Oct-2007 Chris Lattner <sabre@nondot.org> Add a convenience method for creating EE's.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
73d0e211a39650fc7562e0f15ed21440dde2243a 15-Oct-2007 Devang Patel <dpatel@apple.com> Add removeModuleProvider()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
2471ae46df8f59a69cc152230f3f39d2e68525c5 06-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Make StoreValueToMemory a little more efficient by not copying a
GenericValue to a temporary.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
9d87eb19be82b28d288e38eab3bbe145060a0701 06-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Make GenericeValue into a struct with a union instead of just a union. This
allows an APInt value to be constructed. Remove all the native integer types
from the union. These are replaced with the single IntVal of type APInt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
c923435a5953993c046b6259a8c4c0589e00b69f 03-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Make the creation functions take an error string. This will help the
ExecutionEngine report errors on creation (like bytecode stuff) and also
help to get rid of exception handling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
47567bdcb5ba3886eaf3fa5f0e0b912a24c12347 03-Mar-2007 Reid Spencer <rspencer@reidspencer.com> Require the destination GlobalValue for LoadValueFromMemory to be passed
in as a parameter instead of returned.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34882 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
1c1a44699049cf56713a46ccaef7c747e4a888a3 09-Nov-2006 Chris Lattner <sabre@nondot.org> allow clients to indicate that they never want lazy compilation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
2e40ae4de67ba37d02281d51e7dfd629205e1e30 16-Aug-2006 Chris Lattner <sabre@nondot.org> add a way to have multiple modules in a JIT :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
fe854034677f59baca1e38075e71f6efca247a03 16-Aug-2006 Chris Lattner <sabre@nondot.org> initial changes to support JIT'ing from multiple module providers, implicitly
linking the program on the fly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
683d1bb712d8f8fc2d727a160da029c9cf40a423 09-May-2006 Chris Lattner <sabre@nondot.org> Move methods out of line so that MutexGuard.h isn't required in the header.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28178 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
a69571c7991813c93cba64e88eced6899ce93d81 03-May-2006 Owen Anderson <resistor@mac.com> Refactor TargetMachine, pushing handling of TargetData into the target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference.

This fixes PR 759.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
726c1ef2bdd72975f41e3188371bb7d6f40401be 23-Mar-2006 Chris Lattner <sabre@nondot.org> remove the intrinsiclowering hook


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26970 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
765c93cefda367d8e5a8e0afcd610a7e15bbd987 22-Mar-2006 Chris Lattner <sabre@nondot.org> wrap lines to 80 columns.

Add static JITCtor/InterpCtor fields


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
9ca6cdaee91fddcd3ea57dedcd624c14c7a40f65 08-Mar-2006 Chris Lattner <sabre@nondot.org> Add a helper method for running static ctors/dtors in the module.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
ee448630bdf7eb6037fe2c50518d32010c433ca3 12-Jul-2005 Reid Spencer <rspencer@reidspencer.com> For PR540:
This patch completes the changes for making lli thread-safe. Here's the list
of changes:
* The Support/ThreadSupport* files were removed and replaced with the
MutexGuard.h file since all ThreadSupport* declared was a Mutex Guard.
The implementation of MutexGuard.h is now based on sys::Mutex which hides
its implementation and makes it unnecessary to have the -NoSupport.h and
-PThreads.h versions of ThreadSupport.

* All places in ExecutionEngine that previously referred to "Mutex" now
refer to sys::Mutex

* All places in ExecutionEngine that previously referred to "MutexLocker"
now refer to MutexGuard (this is frivolous but I believe the technically
correct name for such a class is "Guard" not a "Locker").

These changes passed all of llvm-test. All we need now are some test cases
that actually use multiple threads.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
ea61c358720aa6c7a159d51658b34276316aa841 21-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
0982d081056f64d7245ba26368d20de33e206ff9 13-Dec-2004 Reid Spencer <rspencer@reidspencer.com> Add a convenience function for clearing the two global areas.
Patch contributed by Morten Ofsted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
f5feaf4fe381476b0ea567d7837c64b6590133e9 22-Nov-2004 Chris Lattner <sabre@nondot.org> This is the proper code for this method, thanks to Reid for getting CVS working
again.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
c1d035a8818058461d776fc0ffb9cdbfa4cfccd3 22-Nov-2004 Reid Spencer <rspencer@reidspencer.com> Implement a missing function called by JIT/Emitter.cpp but never defined.

NOTE: Its not clear that this implementation is correct.
CHRIS: Please review this!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
e81aaf238c32dbc34274ede09fb16aa78dae9f53 08-Nov-2004 Misha Brukman <brukman+llvm@gmail.com> Add method to delete machine code generated for a Function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
20aa474f8fbebde588edc101b90e834df28ce4ce 03-Sep-2004 Alkis Evlogimenos <alkis@evlogimenos.com> Fixes to make LLVM compile with vc7.1.

Patch contributed by Paolo Invernizzi!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
c8a07d7378699b8d11ce2a1549b984d84706da19 31-Dec-2003 Chris Lattner <sabre@nondot.org> Add new ExecutionEngine::getGlobalValueAtAddress method, which can efficiently
turn a memory address back into the LLVM global object that starts at that
address. Note that this won't cause any additional datastructures to be built
for clients of the EE that don't need this information.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
cd824d7678785379a4a11fd7e3099cc44b37db41 28-Dec-2003 Chris Lattner <sabre@nondot.org> We may now pass IntrinsicLowering implementations into these methods


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
e5dbbf2bddf7fc28d9f63a5e978af12184c80ada 26-Dec-2003 Chris Lattner <sabre@nondot.org> New method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
ff65e36be0f4fbe776ee6bb39b7ab14ebe3895eb 26-Dec-2003 Chris Lattner <sabre@nondot.org> Rename 'run' to 'runFunction' to emphasize that it is usable to run any
function in a module, not just main


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
1514b5b334c72e1e190fe1ce2bce7bf7d8a91c1a 20-Dec-2003 Chris Lattner <sabre@nondot.org> Cleanups to implement PR135


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
3ddc05bdde6ed65f93340ea467d362e80c0ceb9c 20-Dec-2003 Chris Lattner <sabre@nondot.org> Simple refactorings to prepare for lazy global emission


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
895be4bae2c4f9a2fd2234f0329f618274e67eab 12-Dec-2003 Chris Lattner <sabre@nondot.org> Doxygenify comments, remove extraneous #include


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10428 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
18cb4c3c747ac2439ca9fb1218edd8993df69d7a 08-Dec-2003 Chris Lattner <sabre@nondot.org> add two new virtual functions:
The first returns a function pointer or a stub if it's not already generated
The second exposes what was previously JIT specific state to general clients


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
d0fde30ce850b78371fd1386338350591f9ff494 11-Nov-2003 Brian Gaeke <gaeke@uiuc.edu> Put all LLVM code into the llvm namespace, as per bug 109.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
20a277e162f971ec1b9c6f2c90a214c177d54f99 24-Oct-2003 Brian Gaeke <gaeke@uiuc.edu> ExecutionEngine::create no longer takes a TraceMode argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
6fbcc26f1460eaee4e0eb8b426fc1ff0c7af11be 20-Oct-2003 John Criswell <criswell@uiuc.edu> Added LLVM copyright header (for lack of a better term).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
7034adbce2fc7e761d745dbf586167380a69ee1a 16-Oct-2003 Misha Brukman <brukman+llvm@gmail.com> If we move the constructors to the .cpp file, we can drop the #include


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9180 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
b6c54ed8f50a351989993a5ef88507abc6d63e2d 14-Oct-2003 Misha Brukman <brukman+llvm@gmail.com> Enabling incremental bytecode loading in the JIT:
* ExecutionEngine can be constructed from a ModuleProvider
* Alphabetized order of forward-declared classes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9123 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
29794cba810ec249a9ede5ea77333a71579fd182 05-Sep-2003 Brian Gaeke <gaeke@uiuc.edu> Make getOperandValue and executeCastOperation methods of Interpreter.
This lets us protect a few more ExecutionEngine methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
70975eef572b9e132bbaade16ba9edb76f15f287 05-Sep-2003 Brian Gaeke <gaeke@uiuc.edu> Make CreateArgv part of lli rather than part of ExecutionEngine.
Switch Interpreter and JIT's "run" methods to take a Function and a vector of
GenericValues.
Move (almost all of) the stuff that constructs a canonical call to main()
into lli (new methods "callAsMain", "makeStringVector").
Nuke getCurrentExecutablePath(), enableTracing(), getCurrentFunction(),
isStopped(), and many dead decls from interpreter.
Add linux strdup() support to interpreter.
Make interpreter's atexit handler runner and JIT's runAtExitHandlers() look
more alike, in preparation for refactoring.
atexit() is spelled "atexit", not "at_exit".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
f3c333e36f576a846a6023da4253eaa8577709ff 05-Sep-2003 Brian Gaeke <gaeke@uiuc.edu> Zap some more unused static method decls


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8364 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
f58815e161c8c91075dd1af7a277314190ebc286 05-Sep-2003 Brian Gaeke <gaeke@uiuc.edu> Interpreter cleanups:

Get rid of support for DebugMode (make it always off).
Mung some comments.
Get rid of interpreter's PROFILE_STRUCTURE_FIELDS and PerformExitStuff
which have been disabled forever.
Get rid of -abort-on-exception (make it always on).
Get rid of user interaction stuff (debug mode innards).
Simplify Interpreter's callMainFunction().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
82d8277ad5862b54341808812bb4016e52347060 03-Sep-2003 Brian Gaeke <gaeke@uiuc.edu> ExecutionEngine.cpp: Move execution engine creation stuff into a new
static method here.
Remove some extra blank lines.
ExecutionEngine.h: Add its prototype.
lli.cpp: Call it.

Make creation method for each type of EE into a static method of its
own subclass.

Interpreter/Interpreter.cpp: ExecutionEngine::createInterpreter -->
Interpreter::create
Interpreter/Interpreter.h: Likewise.
JIT/JIT.cpp: ExecutionEngine::createJIT --> VM::create
JIT/VM.h: Likewise.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
39c07264da992fd5d37fa7eaac0b9f02f55f80d0 24-Aug-2003 Chris Lattner <sabre@nondot.org> Targets now configure themselves based on the source module, not on the
ad-hoc "Config" flags


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
69582b35b6aa4e48cbbad7f6f1193c967da96b25 21-Aug-2003 John Criswell <criswell@uiuc.edu> The JIT now passes the environment pointer to the main() function when it
starts a program. This allows the GNU env program to compile and JIT under
LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
fb0ef2e82cb2e80983c097100ae168af68ee8e7b 13-Aug-2003 Brian Gaeke <gaeke@uiuc.edu> Deconstify parameter to getPointerToFunction().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
2e99791a1ed49f11a2825a9a7590742e1ddc110a 25-Jul-2003 Chris Lattner <sabre@nondot.org> More cassert inclusion for GCC 3.3


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
56adf152f6354a9b5609e059050fd2315ad5960c 12-May-2003 Chris Lattner <sabre@nondot.org> Make sure that globals are emitted AFTER the passmanager is set up for the JIT,
because the globals may refer to functions that need to be compiled!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
70bca51f92871c7f9d3eac9ab68292c149fab53c 09-May-2003 Chris Lattner <sabre@nondot.org> Add new method to check to see if a global is available


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
f88b9a639770327196b2a00f365155b954dd1d30 08-May-2003 Chris Lattner <sabre@nondot.org> Add a pointersize/endianness safe load routine to match the store routine


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
bd199fb1148b9e16c4e6f3d0ee386c2505a55b71 24-Dec-2002 Chris Lattner <sabre@nondot.org> Initial checkin of new LLI with JIT compiler


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5126 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h