0a29cb045444c13160e90fe7942a9d7c720185ed |
|
22-Jan-2013 |
Tim Northover <Tim.Northover@arm.com> |
Make APFloat constructor require explicit semantics. Previously we tried to infer it from the bit width size, with an added IsIEEE argument for the PPC/IEEE 128-bit case, which had a default value. This default value allowed bugs to creep in, where it was inappropriate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
847a32b78fefb3097b662bcd1156c202d4569d96 |
|
02-Aug-2012 |
Nuno Lopes <nunoplopes@sapo.pt> |
JIT::runFunction(): add a fast path for functions with a single argument that is a pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
9402be960b4895217d009b6204cf08d8e697b8d5 |
|
25-Jul-2012 |
Chad Rosier <mcrosier@apple.com> |
You cannot call removeModule on a JIT with no modules. Patch by Verena Beckham <verena@codeplay.com>. Reviewed by Jim Grosbach. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/JIT/JIT.cpp
|
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/JIT/JIT.cpp
|
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/JIT/JIT.cpp
|
858143816d43e58b17bfd11cb1b57afbd7f0f893 |
|
07-Feb-2012 |
Craig Topper <craig.topper@gmail.com> |
Convert assert(0) to llvm_unreachable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
4d6ccb5f68cd7c6418a209f1fa4dbade569e4493 |
|
20-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
More dead code removal (using -Wunreachable-code) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
a3efbb15ddd5aa9006564cd79086723640084878 |
|
15-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Convert CallInst and InvokeInst APIs to use ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
f5895e95926c96574888d7eb20b62d2cffe86193 |
|
14-May-2011 |
Dylan Noblesmith <nobled@dreamwidth.org> |
ExecutionEngine: move createJIT() definition (v2) As an ExecutionEngine class function, its definition really belongs in ExecutionEngine.cpp, not JIT.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/JIT/JIT.cpp
|
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/JIT/JIT.cpp
|
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/JIT/JIT.cpp
|
bfb8705d979e910133c8c6637e5a3fa2de6659ee |
|
07-May-2011 |
Dylan Noblesmith <nobled@dreamwidth.org> |
ExecutionEngine: move createJIT() definition As an ExecutionEngine class function, its definition really belongs in ExecutionEngine.cpp, not JIT.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
c06b511eba8a0f7c6dd01c067836168cc33d7801 |
|
07-May-2011 |
Dylan Noblesmith <nobled@dreamwidth.org> |
ExecutionEngine: push TargetMachine creation into clients In particular, into EngineBuilder. This should only impact the private API between the EE and EB classes, not external clients, since JITCtor and MCJITCtor are both protected members. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
4f9fc854bc8d1482e65cd8fad464644a24fca4bf |
|
15-Mar-2011 |
Jim Grosbach <grosbach@apple.com> |
Trailing whitespae. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
32c7a5e08cbabb262e3ec080f34652ebf6c39e0f |
|
13-Nov-2010 |
Daniel Dunbar <daniel@zuster.org> |
Fix some more 80-col violas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
83a82ac0b4dc6ea6b3e56f9e239a113eb5be5f38 |
|
17-Aug-2010 |
Nick Lewycky <nicholas@mxc.ca> |
When creating a JIT, try to load the program so that we can resolve symbols against it. This affects Windows. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
1f74ad761428a140e4e349799bf3158744124cf3 |
|
09-Aug-2010 |
Nick Lewycky <nicholas@mxc.ca> |
Stop the JIT from refusing to work just because the program it was compiled into was built with -static. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
e4373b0da6eb194e49ddd8c8d32e5fa1183e89b6 |
|
26-Jul-2010 |
Bob Wilson <bob.wilson@apple.com> |
Don't call __register_frame from the JIT on systems that use setjmp/longjmp exception handling. Also fix an extra underscore typo in one instance of "__ARM_EABI__". Radar 8236264. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
68feb22ad8e7e3b5cd97312ef105505b3c554d40 |
|
12-Jul-2010 |
Chris Lattner <sabre@nondot.org> |
first part of JIT support for address of labels, part of PR7264, patch by Yuri! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
75361b69f3f327842b9dad69fa7f28ae3b688412 |
|
08-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
rename llvm::llvm_report_error -> llvm::report_fatal_error git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
1df9859c40492511b8aa4321eb76496005d3b75b |
|
16-Feb-2010 |
Duncan Sands <baldrick@free.fr> |
There are two ways of checking for a given type, for example isa<PointerType>(T) and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
b0bc6c361da9009e8414efde317d9bbff755f6c0 |
|
15-Feb-2010 |
Duncan Sands <baldrick@free.fr> |
Uniformize the names of type predicates: rather than having isFloatTy and isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
3174f6703e534366382390b7c7daa913483f4340 |
|
13-Feb-2010 |
Jeffrey Yasskin <jyasskin@google.com> |
Make JIT::runFunction clean up the generated stub function. Patch by Shivram K! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
40966a7c6847c102fbf466da3e8726c59c3dbb1e |
|
11-Feb-2010 |
Jeffrey Yasskin <jyasskin@google.com> |
Make it possible to create multiple JIT instances at the same time, by removing the global TheJIT and TheJITResolver variables. Lazy compilation is supported by a global map from a stub address to the JITResolver that knows how to compile it. Patch by Olivier Meurant! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
f451cb870efcf9e0302d25ed05f4cac6bb494e42 |
|
10-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Fix "the the" and similar typos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
8c65f6e71c1d46d823b9a884819992a9255edd54 |
|
05-Jan-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Move remaining stuff to the isInteger predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92771 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
11acaa374cdcebb161bf0de5f244265d78a749c1 |
|
05-Jan-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Convert a ton of simple integer type equality tests to the new predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
f012705c7e4ca8cf90b6b734ce1d5355daca5ba5 |
|
05-Jan-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
92fdf4537bd298673552d47adac2ff7bceab9dc9 |
|
23-Dec-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
Fix a crash in JIT::recompileAndRelinkFunction(). It doesn't pass the MCI argument to runJITOnFunction(), which caused a null pointer dereference at every call. Patch by Gianluca Guida! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
aad0d52c5bc088e6182f83becee29846bb00d592 |
|
17-Dec-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
Don't codegen available_externally functions. Fixes http://llvm.org/PR5735. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
0c479d3c6bd474e5135bddfed42f37e3092cac31 |
|
15-Dec-2009 |
Eric Christopher <echristo@apple.com> |
Formatting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
898e9df8dbc65b9b7b92c35ac6673ac8651ff3e8 |
|
13-Dec-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
Reinstate r91208 to fix available_externally linkage for globals, with nlewycky's fix to add -rdynamic so the JIT can look symbols up in Linux builds of the JITTests binary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
9b8ff28870abfccf9032d9d5d4d376f337950710 |
|
12-Dec-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
Revert r91208. Something on Linux prevents the JIT from looking up a symbol defined in the test, and I don't have time tonight to figure it out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
5cc966a6c1258e007d90dd0b92a8c146087de9a9 |
|
12-Dec-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
Fix available_externally linkage for globals. It's probably still not supported by emitGlobals, but I don't have a test case for that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
46264f020a2f08c605ac69754291a7413d747766 |
|
26-Oct-2009 |
Chris Lattner <sabre@nondot.org> |
fix PR5186: the JIT shouldn't try to codegen available_externally functions it should just look them up like declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
2763217fbd2f1c54a7a25fd3ae9e997ea6ece0cb |
|
21-Sep-2009 |
Reid Kleckner <reid@kleckner.net> |
Implement the JIT side of the GDB JIT debugging interface. To enable this feature, either build the JIT in debug mode to enable it by default or pass -jit-emit-debug to lli. Right now, the only debug information that this communicates to GDB is call frame information, since it's already being generated to support exceptions in the JIT. Eventually, when DWARF generation isn't tied so tightly to AsmPrinter, it will be easy to push that information to GDB through this interface. Here's a step-by-step breakdown of how the feature works: - The JIT generates the machine code and DWARF call frame info (.eh_frame/.debug_frame) for a function into memory. - The JIT copies that info into an in-memory ELF file with a symbol for the function. - The JIT creates a code entry pointing to the ELF buffer and adds it to a linked list hanging off of a global descriptor at a special symbol that GDB knows about. - The JIT calls a function marked noinline that GDB knows about and has put an internal breakpoint in. - GDB catches the breakpoint and reads the global descriptor to look for new code. - When sees there is new code, it reads the ELF from the inferior's memory and adds it to itself as an object file. - The JIT continues, and the next time we stop the program, we are able to produce a proper backtrace. Consider running the following program through the JIT: #include <stdio.h> void baz(short z) { long w = z + 1; printf("%d, %x\n", w, *((int*)NULL)); // SEGFAULT here } void bar(short y) { int z = y + 1; baz(z); } void foo(char x) { short y = x + 1; bar(y); } int main(int argc, char** argv) { char x = 1; foo(x); } Here is a backtrace before this patch: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x2aaaabdfbd10 (LWP 25476)] 0x00002aaaabe7d1a8 in ?? () (gdb) bt #0 0x00002aaaabe7d1a8 in ?? () #1 0x0000000000000003 in ?? () #2 0x0000000000000004 in ?? () #3 0x00032aaaabe7cfd0 in ?? () #4 0x00002aaaabe7d12c in ?? () #5 0x00022aaa00000003 in ?? () #6 0x00002aaaabe7d0aa in ?? () #7 0x01000002abe7cff0 in ?? () #8 0x00002aaaabe7d02c in ?? () #9 0x0100000000000001 in ?? () #10 0x00000000014388e0 in ?? () #11 0x00007fff00000001 in ?? () #12 0x0000000000b870a2 in llvm::JIT::runFunction (this=0x1405b70, F=0x14024e0, ArgValues=@0x7fffffffe050) at /home/rnk/llvm-gdb/lib/ExecutionEngine/JIT/JIT.cpp:395 #13 0x0000000000baa4c5 in llvm::ExecutionEngine::runFunctionAsMain (this=0x1405b70, Fn=0x14024e0, argv=@0x13f06f8, envp=0x7fffffffe3b0) at /home/rnk/llvm-gdb/lib/ExecutionEngine/ExecutionEngine.cpp:377 #14 0x00000000007ebd52 in main (argc=2, argv=0x7fffffffe398, envp=0x7fffffffe3b0) at /home/rnk/llvm-gdb/tools/lli/lli.cpp:208 And a backtrace after this patch: Program received signal SIGSEGV, Segmentation fault. 0x00002aaaabe7d1a8 in baz () (gdb) bt #0 0x00002aaaabe7d1a8 in baz () #1 0x00002aaaabe7d12c in bar () #2 0x00002aaaabe7d0aa in foo () #3 0x00002aaaabe7d02c in main () #4 0x0000000000b870a2 in llvm::JIT::runFunction (this=0x1405b70, F=0x14024e0, ArgValues=...) at /home/rnk/llvm-gdb/lib/ExecutionEngine/JIT/JIT.cpp:395 #5 0x0000000000baa4c5 in llvm::ExecutionEngine::runFunctionAsMain (this=0x1405b70, Fn=0x14024e0, argv=..., envp=0x7fffffffe3c0) at /home/rnk/llvm-gdb/lib/ExecutionEngine/ExecutionEngine.cpp:377 #6 0x00000000007ebd52 in main (argc=2, argv=0x7fffffffe3a8, envp=0x7fffffffe3c0) at /home/rnk/llvm-gdb/tools/lli/lli.cpp:208 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
1d0be15f89cb5056e20e2d24faa8d6afb1573bca |
|
13-Aug-2009 |
Owen Anderson <resistor@mac.com> |
Push LLVMContexts through the IntegerType APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
debcb01b0f0a15f568ca69e8f288fade4bfc7297 |
|
30-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move types back to the 2.5 API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
baf3c404409d5e47b13984a7f95bfbd6d1f2e79e |
|
29-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move ConstantExpr to 2.5 API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
6f83c9c6ef0e7f79825a0a8f22941815e4b684c7 |
|
27-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move ConstantFP construction back to the 2.5-ish API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77247 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
eed707b1e6097aac2bb6b3d47271f6300ace7f2e |
|
25-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
e922c0201916e0b980ab3cfe91e1413e68d55647 |
|
22-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Get rid of the Pass+Context magic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
fbee579ed46016166d88b4defb81a2e7e253062d |
|
21-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Simplify / normalize some uses of Value::getName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
9adc0abad3c3ed40a268ccbcee0c74cb9e1359fe |
|
15-Jul-2009 |
Owen Anderson <resistor@mac.com> |
Move EVER MORE stuff over to LLVMContext. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
c23197a26f34f559ea9797de51e187087c039c42 |
|
14-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
c25e7581b9b8088910da31702d4ca21c4734c6d7 |
|
11-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
assert(0) -> LLVM_UNREACHABLE. Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
7d696d80409aad20bb5da0fc4eccab941dd371d4 |
|
11-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
Convert more assert(0)+abort() -> LLVM_UNREACHABLE, and abort()/exit() -> llvm_report_error(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
31e2466f159a887fed9139067a676f65adf2a8c3 |
|
07-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
Introduce new error handling API. This will replace exit()/abort() style error handling with an API that allows clients to register custom error handling hooks. The default is to call exit(1) when no error handler is provided. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
0fd38069cb6699ce21eb159f22d3f23c012c9e81 |
|
01-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
improve the APIs for creating struct and function types with no arguments/elements to not have to create a temporary vector (in the API at least). Patch by Jay Foad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
e46161f10c3e0c640b22e446b873df8b01413f52 |
|
24-Jun-2009 |
Bob Wilson <bob.wilson@apple.com> |
Fix the Ocaml bindings for the ExecutionEngine: with the change to build libraries instead of relinked objects, the interpreter, JIT, and native target libraries were not being linked in to an ocaml program using the ExecutionEngine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74117 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
e91208c9631c98abbdce19ca7b1f51d9241faa18 |
|
12-Jun-2009 |
Nicolas Geoffray <nicolas.geoffray@lip6.fr> |
After obtaining the lock, look if the function has been codegen'd by another thread. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
a3f99f90338d89354384ca25f53ca4450a1a9d18 |
|
30-May-2009 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
First patch in the direction of splitting MachineCodeEmitter in two subclasses: JITCodeEmitter and ObjectCodeEmitter. No functional changes yet. Patch by Aaron Gray git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
777d2306b36816a53bc1ae1244c0dc7d998ae691 |
|
09-May-2009 |
Duncan Sands <baldrick@free.fr> |
Rename PaddedSize to AllocSize, in the hope that this will make it more obvious what it represents, and stop it being confused with the StoreSize. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
3f91bb3ce4c8f6e31c4051cc10799e54c3a26a3a |
|
16-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
make sure to unlock keymgr if the JIT is created and destroyed, all locks must be matched with unlocks. Also, use calloc to allocate the block so that it is properly zero'd. Thanks to Nick Kledzik for tracking this down. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
00f16283cf12c53c2626d21fb534f9422500f0f1 |
|
15-Apr-2009 |
Evan Cheng <evan.cheng@apple.com> |
Mac OS X 10.6 and above do not use key manager to register EH frames. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
667d4b8de6dea70195ff12ef39a4deebffa2f5c7 |
|
07-Mar-2009 |
Duncan Sands <baldrick@free.fr> |
Introduce new linkage types linkonce_odr, weak_odr, common_odr and extern_weak_odr. These are the same as the non-odr versions, except that they indicate that the global will only be overridden by an *equivalent* global. In C, a function with weak linkage can be overridden by a function which behaves completely differently. This means that IP passes have to skip weak functions, since any deductions made from the function definition might be wrong, since the definition could be replaced by something completely different at link time. This is not allowed in C++, thanks to the ODR (One-Definition-Rule): if a function is replaced by another at link-time, then the new function must be the same as the original function. If a language knows that a function or other global can only be overridden by an equivalent global, it can give it the weak_odr linkage type, and the optimizers will understand that it is alright to make deductions based on the function body. The code generators on the other hand map weak and weak_odr linkage to the same thing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
b9c6c9bfe410bbea357503872ce662d6838026ce |
|
07-Mar-2009 |
Nate Begeman <natebegeman@mac.com> |
Finish cross-process JIT work, and clean up previous work. 1. When the JIT is asked to remove a function, updating it's mapping to 0, we invalidate any function stubs used only by that function. Now, also invalidate the JIT's mapping from the GV the stub pointed to, to the address of the GV. 2. When dlsym stubs for cross-process JIT are enabled, do not abort just because a named function cannot be found in the JIT's process. 3. Fix various assumptions about when it is ok to use the lazy resolver when non-lazy JITing is enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
66941988de6a295649b33f4c2b0f36a094b2244d |
|
04-Mar-2009 |
Nate Begeman <natebegeman@mac.com> |
Fix a thinko in the JIT where the address of a GV was only recorded in the map on failure to resolve it. Do not abort on failure to resolve an external symbol when using dlsym stubs, since the symbol may not be in the JIT's address space. Just use 0. Allow dlsym stubs to differentiate between GlobalVars and Functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
44e3dd1672572df28e79649c86f2d44bf3730062 |
|
03-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
don't #include a header into the middle of an anon namespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
07ab52b6459f65b3e1c94d52321165688a6096aa |
|
19-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Fix the logic in this assertion to properly validate the number of arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
a3ac0c105d26f8535d03031db7e97274b3ff8159 |
|
19-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Reapply r57340. VMKit does not presently rely on materializeFunction being called with the lock released, and this fixes a race condition in the JIT as used by lli. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
21afcda54479602c2936946731a3f1ee8e5d2322 |
|
06-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Split the locking out of JIT::runJITOnFunction so that callers that already hold the lock can call an entry point that doesn't re-acquire the lock. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
2d5424d76add9714d95239f183f7f88263f44360 |
|
01-Feb-2009 |
Evan Cheng <evan.cheng@apple.com> |
Fix PR3423: Link llvm on ARM EABI machines. Patch by Robert Schuster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
4d544a2c807756af6bffc71f1967f22e8045d02e |
|
16-Jan-2009 |
Evan Cheng <evan.cheng@apple.com> |
Change isGVCompilationDisabled() semantics again. It should abort on any GV that's not constant whether it's "internal" or not. In a server / client environment, GV is returned in the same block of memory as code. However, the memory might not be writable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62336 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
bb46f52027416598a662dc1c58f48d9d56b1a65b |
|
15-Jan-2009 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add the private linkage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
ceb4d1aecb9deffe59b3dcdc9a783ffde8477be9 |
|
12-Jan-2009 |
Duncan Sands <baldrick@free.fr> |
Rename getABITypeSize to getTypePaddedSize, as suggested by Chris. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
69f9378675b23135043d93aa58300fed3ec41cbf |
|
05-Jan-2009 |
Dan Gohman <gohman@apple.com> |
Handle weak_extern in the JIT. This fixes SingleSource/UnitTests/2007-04-25-weak.c in JIT mode. The test now passes on systems which are able to produce a correct reference output to compare with. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
cdfc51ffe3eda17a611fe2aaed1a2e6650d3d203 |
|
23-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
Make JIT::runFunction handle functions with non-C calling conventions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
b0b53491ef32b85bd90c8590faeb8a3fb4b17a95 |
|
04-Nov-2008 |
Evan Cheng <evan.cheng@apple.com> |
For some targets, it's not possible to place GVs in the same memory buffer as the MachineCodeEmitter allocated memory. Code and data has different read / write / execution privilege requirements. This is a short term workaround. The current solution is for the JIT memory manager to manage code and data memory separately. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
77fcca845e84304c1949c979ba539d2329e87f38 |
|
10-Oct-2008 |
Mon P Wang <wangmp@apple.com> |
Revert r57340 move guard mutex in getPointerToFunction as this can cause deadlock issues with java git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
1c341c8462a208ccc5ba4b4e030cdc989ce38818 |
|
10-Oct-2008 |
Mon P Wang <wangmp@apple.com> |
Moved guard mutex upwards to guard materializing a function in getPointerToFunction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
d046fc61ac28f65b209185a12a5e83716941d59b |
|
29-Aug-2008 |
Nicolas Geoffray <nicolas.geoffray@lip6.fr> |
Add support for JIT exceptions on Darwin. Since we're dealing with libgcc, whose darwin code was written after the ability to dynamically register frames, we need to do special hacks to make things work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
a7ec87cd0793c463d792323087b2fb3a4871efe0 |
|
18-Aug-2008 |
Nicolas Geoffray <nicolas.geoffray@lip6.fr> |
Register the frame register function when allocating the JIT, so that lli works out of the box with -enable-eh. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
dd947ea3c5e020c33c58a31939561265b980a3ad |
|
07-Aug-2008 |
Dale Johannesen <dalej@apple.com> |
Rewrite JIT handling of GlobalVariables so they are allocated in the same buffer as the code, jump tables, etc. The default JIT memory manager does not handle buffer overflow well. I didn't introduce this and I'm not attempting to fix it here, but it is more likely to be hit now since we're putting more stuff in the buffer. This affects one test that I know of so far, MultiSource/Benchmarks/NPB-serial/is. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
2dad0250f683ac5b28a8984ce5be00d299f3c35e |
|
01-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Prune a few dependencies on MachineFunction.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
b1dbcd886a4b5597a839f299054b78b33fb2d6df |
|
15-May-2008 |
Gabor Greif <ggreif@gmail.com> |
Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
844731a7f1909f55935e3514c9e713a62d67662e |
|
13-May-2008 |
Dan Gohman <gohman@apple.com> |
Clean up the use of static and anonymous namespaces. This turned up several things that were neither in an anonymous namespace nor static but not intended to be global. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
fd7d99120b394e7aa4cf0b670f7b783a61dec3a1 |
|
20-Apr-2008 |
Nicolas Geoffray <nicolas.geoffray@lip6.fr> |
Do not hold the JIT lock when materializing a function and verify if the function has already been codegen'd. This is required by the Java class loading mechanism which executes Java code when materializing a function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49988 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
02a260aa11a2e1b2c14335274d3c42ca3f3eabc0 |
|
20-Apr-2008 |
Chris Lattner <sabre@nondot.org> |
Switch to using Simplified ConstantFP::get API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
051a950000e21935165db56695e35bade668193b |
|
06-Apr-2008 |
Gabor Greif <ggreif@gmail.com> |
API changes for class Use size reduction, wave 1. Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
299d9d74e9b010c499557380fb6467f5361e141a |
|
22-Mar-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Register EH frames emitted in JIT when using gcc unwinding runtime git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
d102593b425da27fa96359300ff0e3d547d0ac8d |
|
29-Jan-2008 |
Duncan Sands <baldrick@free.fr> |
Use getPreferredAlignmentLog or getPreferredAlignment to get the alignment of global variables, rather than using hand-made versions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
4ee451de366474b9c228b4e5fa573795a715216d |
|
29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Remove attribution from file headers, per discussion on llvmdev. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
514ab348fddcdffa8367685dc608b2f8d5de986d |
|
01-Nov-2007 |
Duncan Sands <baldrick@free.fr> |
Executive summary: getTypeSize -> getTypeStoreSize / getABITypeSize. The meaning of getTypeSize was not clear - clarifying it is important now that we have x86 long double and arbitrary precision integers. The issue with long double is that it requires 80 bits, and this is not a multiple of its alignment. This gives a primitive type for which getTypeSize differed from getABITypeSize. For arbitrary precision integers it is even worse: there is the minimum number of bits needed to hold the type (eg: 36 for an i36), the maximum number of bits that will be overwriten when storing the type (40 bits for i36) and the ABI size (i.e. the storage size rounded up to a multiple of the alignment; 64 bits for i36). This patch removes getTypeSize (not really - it is still there but deprecated to allow for a gradual transition). Instead there is: (1) getTypeSizeInBits - a number of bits that suffices to hold all values of the type. For a primitive type, this is the minimum number of bits. For an i36 this is 36 bits. For x86 long double it is 80. This corresponds to gcc's TYPE_PRECISION. (2) getTypeStoreSizeInBits - the maximum number of bits that is written when storing the type (or read when reading it). For an i36 this is 40 bits, for an x86 long double it is 80 bits. This is the size alias analysis is interested in (getTypeStoreSize returns the number of bytes). There doesn't seem to be anything corresponding to this in gcc. (3) getABITypeSizeInBits - this is getTypeStoreSizeInBits rounded up to a multiple of the alignment. For an i36 this is 64, for an x86 long double this is 96 or 128 depending on the OS. This is the spacing between consecutive elements when you form an array out of this type (getABITypeSize returns the number of bytes). This is TYPE_SIZE in gcc. Since successive elements in a SequentialType (arrays, pointers and vectors) need to be aligned, the spacing between them will be given by getABITypeSize. This means that the size of an array is the length times the getABITypeSize. It also means that GEP computations need to use getABITypeSize when computing offsets. Furthermore, if an alloca allocates several elements at once then these too need to be aligned, so the size of the alloca has to be the number of elements multiplied by getABITypeSize. Logically speaking this doesn't have to be the case when allocating just one element, but it is simpler to also use getABITypeSize in this case. So alloca's and mallocs should use getABITypeSize. Finally, since gcc's only notion of size is that given by getABITypeSize, if you want to output assembler etc the same as gcc then getABITypeSize is the size you want. Since a store will overwrite no more than getTypeStoreSize bytes, and a read will read no more than that many bytes, this is the notion of size appropriate for alias analysis calculations. In this patch I have corrected all type size uses except some of those in ScalarReplAggregates, lib/Codegen, lib/Target (the hard cases). I will get around to auditing these too at some point, but I could do with some help. Finally, I made one change which I think wise but others might consider pointless and suboptimal: in an unpacked struct the amount of space allocated for a field is now given by the ABI size rather than getTypeStoreSize. I did this because every other place that reserves memory for a type (eg: alloca) now uses getABITypeSize, and I didn't want to make an exception for unpacked structs, i.e. I did it to make things more uniform. This only effects structs containing long doubles and arbitrary precision integers. If someone wants to pack these types more tightly they can always use a packed struct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
1abac0d725374cb6e527d2a735a5272a4f7913fa |
|
17-Sep-2007 |
Dale Johannesen <dalej@apple.com> |
Implement x86 long double in jit (not really complete, but common cases work) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
43421b3dd70af5b70e71816521f37502c397cc65 |
|
06-Sep-2007 |
Dale Johannesen <dalej@apple.com> |
Next round of APFloat changes. Use APFloat in UpgradeParser and AsmParser. Change all references to ConstantFP to use the APFloat interface rather than double. Remove the ConstantFP double interfaces. Use APFloat functions for constant folding arithmetic and comparisons. (There are still way too many places APFloat is just a wrapper around host float/double, but we're getting there.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
17f218e001862785c5ba5974a6374f2f7bc29ac0 |
|
13-Aug-2007 |
Chris Lattner <sabre@nondot.org> |
move assertion into mutex guard, a partial fix for PR1606. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
79e038a16d644868bd8d6e230b451c4cb8f8ff93 |
|
08-Aug-2007 |
Chris Lattner <sabre@nondot.org> |
eliminate redundant conditions from the signless types conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40927 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
52eec548206d0b135b55ba52dd0e82e978f15ae5 |
|
01-Aug-2007 |
David Greene <greened@obbligato.org> |
New CallInst interface to address GLIBCXX_DEBUG errors caused by indexing an empty std::vector. Updates to all clients. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
3b30a6e92d1da79674451879d4112a8f83cc12a4 |
|
30-Jul-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
Add detection of __dso_handle presence during configure. Use this information in the JITer (short path is added for darwin). This is needed to properly JIT llvm-gcc-4.2-built binaries, since cxa_atexit is enabled by default on much more targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
a99be51bf5cdac1438069d4b01766c47704961c8 |
|
05-Jul-2007 |
Gabor Greif <ggreif@gmail.com> |
Here is the bulk of the sanitizing. Almost all occurrences of "bytecode" in the sources have been eliminated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
2c639add5f54ba0d0d59771e16d0582f6c59b8be |
|
21-Apr-2007 |
Chris Lattner <sabre@nondot.org> |
rename JIT::state -> JIT::jitstate to avoid shadowing ExecutionEngine::state git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
38f6a15df69c271c3bebf648642041b31380e31a |
|
06-Mar-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Simplify code as a result of the change in GenericValue to have a single integer field of type APInt instead of different sized integer fields. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
d2b7cec527a0efa552628378ebca7a8ca63bb45d |
|
14-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
Generalize TargetData strings, to support more interesting forms of data. Patch by Scott Michel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
990b849abc9481b8c7a482019cd0d95fe2f2a3ea |
|
13-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
eliminate vector-related allocations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
5cbf985dcbc89fba3208e7baf8b6f488b06d3ec9 |
|
30-Jan-2007 |
Reid Spencer <rspencer@reidspencer.com> |
For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid confusion with external linkage types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
58092e35a3368e130438cbc793c8f9dce2e4fe0f |
|
20-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
Teach TargetData to handle 'preferred' alignment for each target, and use these alignment amounts to align scalars when we can. Patch by Scott Michel! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
a54b7cbd452b3adb2f51346140d996b29c2cdb30 |
|
12-Jan-2007 |
Reid Spencer <rspencer@reidspencer.com> |
For PR1064: Implement the arbitrary bit-width integer feature. The feature allows integers of any bitwidth (up to 64) to be defined instead of just 1, 8, 16, 32, and 64 bit integers. This change does several things: 1. Introduces a new Derived Type, IntegerType, to represent the number of bits in an integer. The Type classes SubclassData field is used to store the number of bits. This allows 2^23 bits in an integer type. 2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and 64-bit integers. These are replaced with just IntegerType which is not a primitive any more. 3. Adjust the rest of LLVM to account for this change. Note that while this incremental change lays the foundation for arbitrary bit-width integers, LLVM has not yet been converted to actually deal with them in any significant way. Most optimization passes, for example, will still only deal with the byte-width integer types. Future increments will rectify this situation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33113 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
579dca12c2cfd60bc18aaadbd5331897d48fec29 |
|
12-Jan-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Implement review feedback for the ConstantBool->ConstantInt merge. Chris recommended that getBoolValue be replaced with getZExtValue and that get(bool) be replaced by get(const Type*, uint64_t). This implements those changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33110 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
4fe16d607d11e29d742208894909733f5ad01f8f |
|
11-Jan-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Rename BoolTy as Int1Ty. Patch by Sheng Zhou. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
6b6b6ef1677fa71b1072c2911b4c1f9524a558c9 |
|
11-Jan-2007 |
Zhou Sheng <zhousheng00@gmail.com> |
For PR1043: Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
e49661bdf5b7a913d4e368cf511381e524ae403a |
|
31-Dec-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: Convert signed integer types to signless ones. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
c1f400ccddeaacd2bd6c123bb7895be632d82678 |
|
17-Dec-2006 |
Chris Lattner <sabre@nondot.org> |
Fix PR1057 (compilation on macos 10.3), patch by Scott Michel! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
15f46d6c280cc91be70c60ed181931fbe0088652 |
|
12-Dec-2006 |
Reid Spencer <rspencer@reidspencer.com> |
Change inferred cast creation calls to more specific cast creations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
832171cb9724d2d31c8dfb73172e2be8f6dd13ee |
|
07-Dec-2006 |
Bill Wendling <isanbard@gmail.com> |
Removing even more <iostream> includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
b83eb6447ba155342598f0fabe1f08f5baa9164a |
|
20-Oct-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR950: This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
1911fd4f85aebcd4d7b8f27313c5a363eebf49cb |
|
04-Sep-2006 |
Chris Lattner <sabre@nondot.org> |
Completely rearchitect the interface between targets and the pass manager. This pass: 1. Splits TargetMachine into TargetMachine (generic targets, can be implemented any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by things using libcodegen and other support). 2. Instead of having each target fully populate the passmgr for file or JIT output, move all this to common code, and give targets hooks they can implement. 3. Commonalize the target population stuff between file emission and JIT emission. 4. All (native code) codegen stuff now happens in a FunctionPassManager, which paves the way for "fast -O0" stuff in the CFE later, and now LLC could lazily stream .bc files from disk to use less memory. 5. There are now many fewer #includes and the targets don't depend on the scalar xforms or libanalysis anymore (but codegen does). 6. Changing common code generator pass ordering stuff no longer requires touching all targets. 7. The JIT now has the option of "-fast" codegen or normal optimized codegen, which is now orthogonal to the fact that JIT'ing is being done. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
c50b76f61dfa7d56ef5a135be769187626007fe5 |
|
03-Sep-2006 |
Chris Lattner <sabre@nondot.org> |
eliminate use of TM.getName() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30068 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
b5aaee00276ec5d666a0202c51e5264ba7dc060e |
|
01-Sep-2006 |
Evan Cheng <evan.cheng@apple.com> |
Remove extra spaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
78050d6cbed27220896f997492248763639fcb04 |
|
01-Sep-2006 |
Evan Cheng <evan.cheng@apple.com> |
Last check-in was a mistake... I've been told apple gcc version number is not guaranteed to increase monotonically. Change the preprocess condition to make it less risky. The configuration change is done during the middle 10.4 life cycle so we have to check __APPLE_CC. For future OS X release, we should be able to assume -fenable-cxa-atexit is the default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30024 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
4f260b4efaa0e2b99dcdc45989f6accee8548373 |
|
01-Sep-2006 |
Evan Cheng <evan.cheng@apple.com> |
*** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
fb9c0d7e317d1320c130ef7a5906f8f2660d5644 |
|
01-Sep-2006 |
Evan Cheng <evan.cheng@apple.com> |
Better comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
5f271aff5cc56e6e41a7a0777e122071ee7fc7eb |
|
01-Sep-2006 |
Evan Cheng <evan.cheng@apple.com> |
Yikes. This requires checking apple gcc version. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
b76ea74845849e7a499603bb04bfe1614101e910 |
|
22-Jul-2006 |
Nate Begeman <natebegeman@mac.com> |
Fix the build on my old and busted version of OS X git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
b82ab94e20bd48ac149746864e0d5b1653bdcf3e |
|
22-Jul-2006 |
Evan Cheng <evan.cheng@apple.com> |
Forgot to #ifdef __APPLE__ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
5f42c550305814f916207b9604b92fbd258e8eaf |
|
22-Jul-2006 |
Evan Cheng <evan.cheng@apple.com> |
Resolve __dso_handle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
21c39a65201e0f9ed98d399b45fb629fe12a728f |
|
12-Jul-2006 |
Chris Lattner <sabre@nondot.org> |
Remove non-portable optimization that isn't worth it git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
5c72a3ae106d8d1dd6aa7e573948dac4102aca7b |
|
07-Jul-2006 |
Chris Lattner <sabre@nondot.org> |
Adapt to new interface function materialization interface git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
870286aa33290c00e55ba479a60251c79f3a7911 |
|
01-Jun-2006 |
Chris Lattner <sabre@nondot.org> |
Fix -pedantic warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
07000c6f01d8f57170f2d4c77a86d934bdc5c696 |
|
12-May-2006 |
Owen Anderson <resistor@mac.com> |
Refactor a bunch of includes so that TargetMachine.h doesn't have to include TargetData.h. This should make recompiles a bit faster with my current TargetData tinkering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
e7fd553b3be8b95dc0946cd3267bc2db859cd3d8 |
|
09-May-2006 |
Chris Lattner <sabre@nondot.org> |
Move some methods out of line so that MutexGuard.h isn't needed in a public header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
b93b0347d8715e9f2ded1dc56a086f92aeedfb86 |
|
04-May-2006 |
Chris Lattner <sabre@nondot.org> |
Adjust to use proper TargetData copy ctor git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
f5d438c1f0e0c0ed44475ab69f03d86a3c818c60 |
|
02-May-2006 |
Chris Lattner <sabre@nondot.org> |
Do not make the JIT memory manager manage the memory for globals. Instead just have the JIT malloc them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
2f51914d828b462b054195e73c75448f24e01979 |
|
24-Mar-2006 |
Jeff Cohen <jeffc@jolt-lang.org> |
Get JIT/Interpreter working on Windows again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
2fe4bb06c6c40d16b7a5ae9cdf6bb6fe94d51be0 |
|
22-Mar-2006 |
Chris Lattner <sabre@nondot.org> |
Eliminate the dependency of ExecutionEngine on the JIT/Interpreter libraries. Now you can build a tool with just the JIT or just the interpreter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
51e6a38b868b33fb5c3dcb3d502239affe762c80 |
|
07-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
wrap long line git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25139 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
6a9746127a168306a670eaff11925605dbea9d4f |
|
28-Jul-2005 |
Andrew Lenharth <andrewl@lenharth.org> |
Like constants, globals on some platforms are GOT relative. This means they have to be allocated near the GOT, which new doesn't do. So break out the allocate into a new function. Also move GOT index handling into JITResolver. This lets it update the mapping when a Lazy function is JITed. It doesn't managed the table, just the mapping. Note that this is still non-ideal, as any function that takes a function address should also take a GOT index, but that is a lot of changes. The relocation resolve process updates any GOT entry it sees is out of date. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
00b16889ab461b7ecef1c91ade101186b7f1fce2 |
|
27-Jul-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Eliminate all remaining tabs and trailing spaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
a471e045b7cef5da428bdada4a362a4be671ef0b |
|
06-May-2005 |
Chris Lattner <sabre@nondot.org> |
Make the stub functions be tail calls git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
f976c856fcc5055f3fc7d9f070d72c2d027c1d9d |
|
22-Apr-2005 |
Misha Brukman <brukman+llvm@gmail.com> |
Remove trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
a8101c163dfb7a8c63f5ac74e878538245802fa4 |
|
08-Jan-2005 |
Chris Lattner <sabre@nondot.org> |
Silence VS warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
e518b7170b09b20abf2806b2762019db082471d8 |
|
05-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
Properly implement a fix for PR475 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
6d316f85ba97b38292820159d718504d19ad9edb |
|
05-Dec-2004 |
Chris Lattner <sabre@nondot.org> |
Revert this patch, it broke a ton of programs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
9d272d4953ecdeb787e16c80ef28cb4352f53a68 |
|
05-Dec-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Fix PR475. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
df5a37efc997288da520ff4889443e3560d95387 |
|
29-Nov-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Use System/DynamicLibrary instead of Support/DynamicLinker git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
3c600c8346ddbd7eae9e07ea0cacad4ac2859237 |
|
21-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
This method does not exist any longer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
0050ef831912eea2377c815bc59c09ed828f2684 |
|
16-Nov-2004 |
Chris Lattner <sabre@nondot.org> |
There is no reason to try to materialize the function from bytecode if it already has been. This may be a small speedup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
895eddfad43f848d5accce1789aa80be0db459d3 |
|
08-Nov-2004 |
Misha Brukman <brukman+llvm@gmail.com> |
Implement ExecutionEngine::freeMachineCodeForFunction() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
ec8430270a9f1adbf9b790319a1d4781658359fd |
|
23-Oct-2004 |
Misha Brukman <brukman+llvm@gmail.com> |
Use cleaner quoting and eliminate blank space git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
551ccae044b0ff658fe629dd67edd5ffe75d10e8 |
|
02-Sep-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Changes For Bug 352 Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
174f2264649d9ae062bdb0a038131c2836596be5 |
|
16-Aug-2004 |
Chris Lattner <sabre@nondot.org> |
Add a special case for argc,argv git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15802 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
cc22e9f406cf21e3a2036bf6628ee7a5c850d42c |
|
16-Aug-2004 |
Chris Lattner <sabre@nondot.org> |
Finally, add support for calling arbitrary non-varargs functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
e5eab142a51373dd3bee758ea958575afbfce259 |
|
16-Aug-2004 |
Chris Lattner <sabre@nondot.org> |
Handle all nullary functions, of any valid return type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
f7bedf447e080cb57c64d6f0cbf6fbeb9f4c596e |
|
16-Aug-2004 |
Chris Lattner <sabre@nondot.org> |
Fine, go all of the way and check that the argument types are correct as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
d297aea5f24f2ad369162b8c1084cda4dcc839f0 |
|
16-Aug-2004 |
Chris Lattner <sabre@nondot.org> |
These only really work if returning int or void git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
7c45d7898bdfdc29a61a58b678e13ed41333ed51 |
|
16-Aug-2004 |
Chris Lattner <sabre@nondot.org> |
Handle zero arg function case git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15794 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
b47130c580385a5a2c922c480a85438b2bb80293 |
|
16-Aug-2004 |
Chris Lattner <sabre@nondot.org> |
Simplify code a bit, print error message always instead of asserting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
f86cafdda4f5e52dcbd4e1a138895db3b4f50c4d |
|
07-Jul-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Make error message consistent with the rest of LLVM by saying that bytecode is read, not parsed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
e2947531280503a4e73e8d94a6161f68bea857a7 |
|
07-Jul-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Fix for bug 391. Improve exeception handling around bcreader invocations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
954da37bb492b519f5c31dc360f2a142567e08b4 |
|
04-Jul-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Add #include <iostream> since Value.h does not #include it any more. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
50872d5385463cf1d2e23a758516e7f818e1af24 |
|
14-Apr-2004 |
Brian Gaeke <gaeke@uiuc.edu> |
Add a TargetData to the PassManager regardless of the TargetMachine. This should unbreak the Sparc JIT again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
da79bd2322b63c2568e760ce5d3842bade9b3ecf |
|
01-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Print an error message if there is an error materialize the bc file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11041 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
ff0f1bb32a439cf82cb09ee29544c894a2bfe877 |
|
26-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
No longer run atExit functions from run() rename run to runFunction Genericize the runFunction code a little bit, though it still stinks git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
028565b14b9dcf7b615b6617c2df8618e9b673ef |
|
20-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
This should not be needed anymore git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
c07ed1387503d25c0b93fcf617f69329d73fc589 |
|
20-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Implement PR135, lazy emission of global variables git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
4d326fa9bea5b80147edf14d1521fc41ce315275 |
|
20-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Cleanup the JIT as per PR176. This renames the VM class to JIT, and merges the VM.cpp and JIT.cpp files into JIT.cpp. This also splits some nasty code out into TargetSelect.cpp so that people hopefully won't notice it. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
1e60a9165dc4d6ce5650dacc026f2942696af920 |
|
20-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Rip JIT specific stuff out of TargetMachine, as per PR176 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
c19aadee66b744311afe6e420847e80822a765f2 |
|
08-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Finegrainify namespacification git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
0bb3c2b85450cc65ef81b34f1df1af1175951cf7 |
|
09-Nov-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
Remove #include of PassManager.h which was marked FIXME, and apparently is no longer used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
cb93d8d3a9573917593d56b9a333ded088751b70 |
|
07-Nov-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
Remove the *BIG UGLY HACK* from the JIT: PreSelection is now a FunctionPass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
11911abf5cd6f91885b961e4386989e5a5399af3 |
|
29-Oct-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
In VM::create(), comment out almost the whole function if NO_JITS_ENABLED, because the Arch variable will likely be undefined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
b576c94c15af9a440f69d9d03c2afead7971118c |
|
20-Oct-2003 |
John Criswell <criswell@uiuc.edu> |
Added LLVM project notice to the top of every C++ source file. Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
0f4f7d9eb72dec2a72ec596fb3d611a241893bb7 |
|
16-Oct-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
JIT.cpp: * #include "llvm/ModuleProvider" * alphabetize #includes * omit extraneous parens in pointer expressions VM.cpp: * #include "llvm/ModuleProvider" * alphabetize #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9182 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
005e5e9a482674b648ff8595c65239efab9b6276 |
|
14-Oct-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
Enabling incremental bytecode loading in the JIT: * The VM is now constructed with a ModuleProvider git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9125 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
9722294d30fff2a432d8e171eb904f33956353e2 |
|
05-Sep-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
ExecutionEngine.h, GenericValue.h --> include/llvm/ExecutionEngine/ Build ExecutionEngine as library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
05a1a306bcfba2b533dc1210d24924e5f3e9ed0e |
|
21-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
Minor cleanups: wrap at 80 lines. Convert file comment to doxygen format and llvm style git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8024 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
a84983ea72ca5569585a4f321e2bb89cf78d6d9c |
|
23-Jul-2003 |
Chris Lattner <sabre@nondot.org> |
Fix space git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
82742916f30b09b878d1ad9d95005389c23b02c6 |
|
02-Jul-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
* If compiling on X86 or Sparc, automagically enable the JIT for that arch * Setting ENABLE_X86_JIT or ENABLE_SPARC_JIT on the `make' command-line will force the inclusion of that JIT on a different architecture * If neither JIT is enabled (e.g., compiling on a different architecture), the -march option will not be available to LLI. * As a side effect of the $ARCH variable, the Sparc LLI can now link just a bit faster by not including the x86 library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7070 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
de3209bfdbb5b26198af8e6f30684bc50eb39ab6 |
|
17-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Apparently "sparc" is a macro on sparcs. Ugh. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
97ac14f33cc8fed7f34cb8c7199ef42be124de7e |
|
17-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Use more structured command line option processing git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
7aefa966cdeaf054922de341a1e36b4fceee08ce |
|
17-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
#ifdef out code that only applies when the HOSTARCH = sparc git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
4e8c999518361ceafd2f816e29f76284c7f8a210 |
|
06-Jun-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: The JIT is designed to code-generate a function at-a-time. That means that any pass can only make local changes to its function. Period. Because the Sparc PreSelection pass claims to be a BasicBlock pass while adding globals to the Module, it cannot be run with the other passes, because by this time, the globals have been output already by the JIT, and the addresses of any globals appearing AFTER this point are not recognized. However, the PreSelection pass is a requirement for correctness in the Sparc codegen path, so it MUST be run. ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6650 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
906f5fa5c8bb790201c79a33ea6d906f9f57f827 |
|
02-Jun-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
* Removed SparcEmitter.cpp; rolled into lib/Target/Sparc/SparcV9CodeEmitter.cpp * No more createX86Emitter() vs. createSparcEmitter() -- there can be only one * As a result, the memory management semantics must be handled according to platform -- the parameters to mmap() are particularly sensitive to the host architecture. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
bba1b6df9a7ac36e3a479dfe953a9618c87db7bb |
|
02-Jun-2003 |
Chris Lattner <sabre@nondot.org> |
Move target specific code to target files. The new MachineCodeEmitter class is actually target independent! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
abb027cf412944db4d27579ba3ae00717d23c25e |
|
27-May-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
Allow for specification of which JIT to run on the commandline. `lli -march=x86' or `lli -march=sparc' will forcefully select the JIT even on a different platform. Running lli without the -march option will select the JIT for the platform that it's currently running on. Pro: can test Sparc JIT (debug printing mode) on X86 -- faster to compile/link LLVM source base to test changes. Con: Linking lli on x86 now pulls in all the Sparc libs -> longer link time (but X86 can bear it, right?) In the future, perhaps this should be a ./configure option to enable/disable target JITting... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
22080f9f168b0129d0ed3a2a29a145e17723c3ba |
|
14-May-2003 |
Chris Lattner <sabre@nondot.org> |
Add support for atexit handlers to the JIT, fixing 2003-05-14-AtExit.c git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|
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/lib/ExecutionEngine/JIT/JIT.cpp
|