| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Fixed warnings are: modernize-use-override, modernize-use-nullptr and modernize-redundant-void-arg.
Differential revision: http://reviews.llvm.org/D14312
llvm-svn: 252087
|
|
|
|
| |
llvm-svn: 252070
|
|
|
|
| |
llvm-svn: 252046
|
|
|
|
|
|
|
|
|
|
| |
and trampolines.""
This reverts commit r251937.
The test was updated to the new API, bring the API back.
llvm-svn: 251944
|
|
|
|
|
|
|
|
|
|
| |
trampolines."
This reverts commit r251933.
It broke the build of examples/Kaleidoscope/Orc/fully_lazy/toy.cpp.
llvm-svn: 251937
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bypassing LLVM for this has a number of benefits:
1) Laziness support becomes asm-syntax agnostic (previously lazy jitting didn't
work on Windows as the resolver block was in Darwin asm).
2) For cross-process JITs, it allows resolver blocks and trampolines to be
emitted directly in the target process, reducing cross process traffic.
3) It should be marginally faster.
llvm-svn: 251933
|
|
|
|
| |
llvm-svn: 251683
|
|
|
|
|
|
|
| |
than a pre-allocated slab of stubs. Also add a convenience method for creating a
single stub, rather than a whole block a time.
llvm-svn: 251658
|
|
|
|
| |
llvm-svn: 251641
|
|
|
|
| |
llvm-svn: 251619
|
|
|
|
| |
llvm-svn: 251605
|
|
|
|
| |
llvm-svn: 251604
|
|
|
|
|
|
|
| |
Orc unit tests that execute code shouldn't run if the compiler doesn't have
target support for the host machine.
llvm-svn: 251551
|
|
|
|
| |
llvm-svn: 251506
|
|
|
|
| |
llvm-svn: 251504
|
|
|
|
| |
llvm-svn: 251495
|
|
|
|
|
|
| |
builder failures.
llvm-svn: 251484
|
|
|
|
|
|
|
|
|
| |
was causing builder failures.
The bindings were originally added in r251472, and reverted in r251473 due to
the builder failures.
llvm-svn: 251482
|
|
|
|
| |
llvm-svn: 251473
|
|
|
|
| |
llvm-svn: 251472
|
|
|
|
| |
llvm-svn: 251423
|
|
|
|
|
|
| |
symbol definition is found in the logical dylibs.
llvm-svn: 250796
|
|
|
|
|
|
| |
Thanks Andy!
llvm-svn: 246226
|
|
|
|
|
|
|
| |
We still have to support C++11 standard libraries, make_unique is a C++14
feature.
llvm-svn: 240642
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This is a utility for clients that want to insert a layer that modifies
each ObjectFile and then passes it along to the next layer.
Reviewers: lhames
Reviewed By: lhames
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10456
llvm-svn: 240640
|
|
|
|
| |
llvm-svn: 235386
|
|
|
|
|
|
|
|
|
|
|
| |
the function body.
This is necessary for correctness when lazily compiling.
Also, flesh out the Orc unit test infrastructure slightly, and add a unit test
for this.
llvm-svn: 235347
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MCJIT.
This patch decouples the two responsibilities of the RTDyldMemoryManager class,
memory management and symbol resolution, into two new classes:
RuntimeDyld::MemoryManager and RuntimeDyld::SymbolResolver.
The symbol resolution interface is modified slightly, from:
uint64_t getSymbolAddress(const std::string &Name);
to:
RuntimeDyld::SymbolInfo findSymbol(const std::string &Name);
The latter passes symbol flags along with symbol addresses, allowing RuntimeDyld
and others to reason about non-strong/non-exported symbols.
The memory management interface removes the following method:
void notifyObjectLoaded(ExecutionEngine *EE,
const object::ObjectFile &) {}
as it is not related to memory management. (Note: Backwards compatibility *is*
maintained for this method in MCJIT and OrcMCJITReplacement, see below).
The RTDyldMemoryManager class remains in-tree for backwards compatibility.
It inherits directly from RuntimeDyld::SymbolResolver, and indirectly from
RuntimeDyld::MemoryManager via the new MCJITMemoryManager class, which
just subclasses RuntimeDyld::MemoryManager and reintroduces the
notifyObjectLoaded method for backwards compatibility).
The EngineBuilder class retains the existing method:
EngineBuilder&
setMCJITMemoryManager(std::unique_ptr<RTDyldMemoryManager> mcjmm);
and includes two new methods:
EngineBuilder&
setMemoryManager(std::unique_ptr<MCJITMemoryManager> MM);
EngineBuilder&
setSymbolResolver(std::unique_ptr<RuntimeDyld::SymbolResolver> SR);
Clients should use EITHER:
A single call to setMCJITMemoryManager with an RTDyldMemoryManager.
OR (exclusive)
One call each to each of setMemoryManager and setSymbolResolver.
This patch should be fully compatible with existing uses of RTDyldMemoryManager.
If it is not it should be considered a bug, and the patch either fixed or
reverted.
If clients find the new API to be an improvement the goal will be to deprecate
and eventually remove the RTDyldMemoryManager class in favor of the new classes.
llvm-svn: 233509
|
|
I made my best guess at the Makefile, since I don't have a make build.
I'm not sure if it should be valid to add an empty list of things, but
it seemed the sort of degenerate case.
llvm-svn: 230196
|