| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
permissions after an object has been loaded.
llvm-svn: 168114
|
|
|
|
| |
llvm-svn: 167477
|
|
|
|
|
|
| |
This patch adds the interface to expose events from MCJIT when an object is emitted or freed and implements the MCJIT functionality to send those events. The IntelJITEventListener implementation is left empty for now. It will be fleshed out in a future patch.
llvm-svn: 167475
|
|
|
|
|
|
| |
Prior to this patch RuntimeDyld attempted to re-apply relocations every time reassignSectionAddress was called (via MCJIT::mapSectionAddress). In addition to being inefficient and redundant, this led to a problem when a section was temporarily moved too far away from another section with a relative relocation referencing the section being moved. To fix this, I'm adding a new method (finalizeObject) which the client can call to indicate that it is finished rearranging section addresses so the relocations can safely be applied.
llvm-svn: 167400
|
|
|
|
|
|
| |
Patch by Ashok Thirumurthi
llvm-svn: 167192
|
|
|
|
| |
llvm-svn: 165402
|
|
|
|
| |
llvm-svn: 165053
|
|
|
|
|
|
|
| |
Make sure to return a pointer into the target memory, not the local memory.
Often they are the same, but we can't assume that.
llvm-svn: 163217
|
|
|
|
|
|
|
|
|
| |
The MCJIT doesn't need or want a TargetJITInfo. That's vestigal from the old
JIT, so just remove it.
rdar://12119347
llvm-svn: 162280
|
|
|
|
| |
llvm-svn: 161438
|
|
|
|
|
|
|
|
| |
LLVM is now -Wunused-private-field clean except for
- lib/MC/MCDisassembler/Disassembler.h. Not sure why it keeps all those unaccessible fields.
- gtest.
llvm-svn: 158096
|
|
|
|
|
|
| |
comments.
llvm-svn: 155793
|
|
|
|
|
|
|
|
|
|
| |
of zero-initialized sections, virtual sections and common symbols
and preventing the loading of sections which are not required for
execution such as debug information.
Patch by Andy Kaylor!
llvm-svn: 154610
|
|
|
|
| |
llvm-svn: 153607
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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.
llvm-svn: 153241
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 153205
|
|
|
|
| |
llvm-svn: 149967
|
|
|
|
| |
llvm-svn: 148578
|
|
|
|
|
|
|
| |
The JIT is expected to take ownership of the TM that's passed in. The MCJIT
wasn't freeing it, resulting in leaks.
llvm-svn: 148356
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 146355
|
|
|
|
|
|
|
| |
and code model. This eliminates the need to pass OptLevel flag all over the
place and makes it possible for any codegen pass to use this information.
llvm-svn: 144788
|
|
|
|
| |
llvm-svn: 140856
|
|
|
|
|
|
|
|
|
|
|
|
| |
lib/ExecutionEngine/MCJIT/MCJIT.cpp from:
assert("error");
to:
assert(0 && "error");
llvm-svn: 139456
|
|
|
|
| |
llvm-svn: 135375
|
|
|
|
|
|
| |
the Twine was used).
llvm-svn: 131612
|
|
|
|
| |
llvm-svn: 131603
|
|
|
|
|
|
| |
dealing with them in the MCJIT.
llvm-svn: 131601
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 131317
|
|
|
|
|
|
|
| |
This prepares for making JITCtor/MCJITCtor take a
TargetMachine* directly from clients like EngineBuilder.
llvm-svn: 131316
|
|
|
|
| |
llvm-svn: 131234
|
|
|
|
|
|
| |
Please ensure the build is clean and tests are passing when recommitting.
llvm-svn: 131044
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 131026
|
|
|
|
|
|
|
| |
This prepares for making JITCtor/MCJITCtor take a
TargetMachine* directly from clients like EngineBuilder.
llvm-svn: 131025
|
|
|
|
| |
llvm-svn: 129973
|
|
|
|
| |
llvm-svn: 129445
|
|
|
|
|
|
|
|
|
|
|
| |
The JITMemory manager references LLVM IR constructs directly, while the
runtime Dyld works at a lower level and can handle objects which may not
originate from LLVM IR. Introduce a new layer for the memory manager to
handle the interface between them. For the MCJIT, this layer will be almost
entirely simply a call-through w/ translation between the IR objects and
symbol names.
llvm-svn: 128851
|
|
|
|
| |
llvm-svn: 128485
|
|
|
|
|
|
|
|
| |
The ExecutionEngine constructor already added the module, so there's no
need to call addModule() directly. Doing so causes a double-free of the
Module at program termination.
llvm-svn: 128171
|
|
|
|
| |
llvm-svn: 128160
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support argument passing simple, common, prototypes directly. More
complicated scenarios will require building up a stub function, which the
MC-JIT isn't set up to handle yet.
Add Intercept.cpp, which is just a copy from ExecutionEngine/JIT for now,
to handle looking looking up external symbol names. This probably more
properly belongs as part of RuntimeDyld. It'll migrate there as things
flesh out more fully.
llvm-svn: 128090
|
|
|
|
| |
llvm-svn: 128077
|
|
|
|
|
|
|
|
| |
Lots of cleanup to make the interfaces prettier, use the JITMemoryManager,
handle multiple functions and modules, etc.. This gets far enough that
the MCJIT compiles and runs code, though.
llvm-svn: 128052
|
|
|
|
| |
llvm-svn: 127918
|
|
|
|
|
|
|
|
|
|
|
| |
Proof-of-concept code that code-gens a module to an in-memory MachO object.
This will be hooked up to a run-time dynamic linker library (see: llvm-rtdyld
for similarly conceptual work for that part) which will take the compiled
object and link it together with the rest of the system, providing back to the
JIT a table of available symbols which will be used to respond to the
getPointerTo*() queries.
llvm-svn: 127916
|
|
|
|
| |
llvm-svn: 120298
|
|
llvm-svn: 119509
|