| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
This can be used to add a relocatable object to the JIT session.
llvm-svn: 313474
|
| |
|
|
|
|
|
|
| |
Calling grow may result in an error if, for example, this is a callback
manager for a remote target. We need to be able to return this error to the
callee.
llvm-svn: 312429
|
| |
|
|
|
|
|
|
| |
This patch updates the ORC layers and utilities to return and propagate
llvm::Errors where appropriate. This is necessary to allow ORC to safely handle
error cases in cross-process and remote JITing.
llvm-svn: 307350
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
symbol resolver argument.
De-templatizing the symbol resolver is part of the ongoing simplification of
ORC layer API.
Removing the memory management argument (and delegating construction of memory
managers for RTDyldObjectLinkingLayer to a functor passed in to the constructor)
allows us to build JITs whose base object layers need not be compatible with
RTDyldObjectLinkingLayer's memory mangement scheme. For example, a 'remote
object layer' that sends fully relocatable objects directly to the remote does
not need a memory management scheme at all (that will be handled by the remote).
llvm-svn: 307058
|
| |
|
|
| |
llvm-svn: 306182
|
| |
|
|
|
|
|
|
|
| |
Revert "[ORC] Remove redundant semicolons from DEFINE_SIMPLE_CONVERSION_FUNCTIONS uses."
Revert "[ORC] Move ORC IR layer interface from addModuleSet to addModule and fix the module type as std::shared_ptr<Module>."
They broke ExecutionEngine/OrcMCJIT/test-global-ctors.ll on linux.
llvm-svn: 306176
|
| |
|
|
| |
llvm-svn: 306168
|
| |
|
|
|
|
| |
module type as std::shared_ptr<Module>.
llvm-svn: 306166
|
| |
|
|
|
|
|
|
|
| |
move the ObjectCache from the IRCompileLayer to SimpleCompiler.
This is the first in a series of patches aimed at cleaning up and improving the
robustness and performance of the ORC APIs.
llvm-svn: 306058
|
| |
|
|
|
|
| |
You Use warnings; other minor fixes (NFC).
llvm-svn: 305760
|
| |
|
|
|
|
|
|
|
|
| |
The current ObjectLinkingLayer (now RTDyldObjectLinkingLayer) links objects
in-process using MCJIT's RuntimeDyld class. In the near future I hope to add new
object linking layers (e.g. a remote linking layer that links objects in the JIT
target process, rather than the client), so I'm renaming this class to be more
descriptive.
llvm-svn: 295636
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch replaces RuntimeDyld::SymbolInfo with JITSymbol: A symbol class
that is capable of lazy materialization (i.e. the symbol definition needn't be
emitted until the address is requested). This can be used to support common
and weak symbols in the JIT (though this is not implemented in this patch).
For consistency, RuntimeDyld::SymbolResolver is renamed to JITSymbolResolver.
For space efficiency a new class, JITEvaluatedSymbol, is introduced that
behaves like the old RuntimeDyld::SymbolInfo - i.e. it is just a pair of an
address and symbol flags. Instances of JITEvaluatedSymbol can be used in
symbol-tables to avoid paying the space cost of the materializer.
llvm-svn: 277386
|
| |
|
|
|
|
|
|
|
|
| |
This tidies up some code that was manually constructing RuntimeDyld::SymbolInfo
instances from JITSymbols. It will save more mess in the future when
JITSymbol::getAddress is extended to return an Expected<TargetAddress> rather
than just a TargetAddress, since we'll be able to embed the error checking in
the conversion.
llvm-svn: 271350
|
| |
|
|
|
|
| |
IndirectStubsManagers.
llvm-svn: 270874
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
searching for external symbols, and fall back to the SymbolResolver::findSymbol
method if the former returns null.
This makes RuntimeDyld behave more like a static linker: Symbol definitions
from within the current module's "logical dylib" will be preferred to
external definitions. We can build on this behavior in the future to properly
support weak symbol handling.
Custom symbol resolvers that override the findSymbolInLogicalDylib method may
notice changes due to this patch. Clients who have not overridden this method
should generally be unaffected, however users of the OrcMCJITReplacement class
may notice changes.
llvm-svn: 270716
|
| |
|
|
|
|
|
| |
Commit r267457 made a lot of type-substitutions threw off code formatting and
alignment. This patch should tidy those changes up.
llvm-svn: 267475
|
| |
|
|
|
|
|
|
|
|
| |
This replaces use of std::error_code and ErrorOr in the ORC RPC support library
with Error and Expected. This required updating the OrcRemoteTarget API, Client,
and server code, as well as updating the Orc C API.
This patch also fixes several instances where Errors were dropped.
llvm-svn: 267457
|
| |
|
|
| |
llvm-svn: 258359
|
| |
|
|
|
|
|
| |
error: field 'CCMgr' will be initialized after field 'IndirectStubsMgr' [-Werror,-Wreorder]
: DL(TM.createDataLayout()), CCMgr(std::move(CCMgr)),
llvm-svn: 258354
|
| |
|
|
| |
llvm-svn: 258324
|
| |
|
|
|
|
|
| |
Previously the CompileOnDemand layer was hard-coded to use a new
SectionMemoryManager for each function when it was called.
llvm-svn: 257265
|
| |
|
|
|
|
| |
No functional change.
llvm-svn: 254885
|
| |
|
|
|
|
|
|
|
| |
This class is turning into a useful interface, rather than an implementation
detail, so I'm dropping the 'Base' suffix.
No functional change.
llvm-svn: 254693
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|