| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
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
|