llvm-project/llvm/lib/ExecutionEngine/Orc
Lang Hames bf6603e918 [ORC] Promote and rename private symbols inside the CompileOnDemand layer,
rather than require them to have been promoted before being passed in.

Dropping this precondition is better for layer composition (CompileOnDemandLayer
was the only one that placed pre-conditions on the modules that could be added).
It also means that the promoted private symbols do not show up in the target
JITDylib's symbol table. Instead, they are confined to the hidden implementation
dylib that contains the actual definitions.

For the 403.gcc testcase this cut down the public symbol table size from ~15,000
symbols to ~4000, substantially reducing symbol dependence tracking costs.

llvm-svn: 344078
2018-10-09 20:44:32 +00:00
..
CMakeLists.txt [ORC] Extract and tidy up JITTargetMachineBuilder, add unit test. 2018-09-30 19:12:23 +00:00
CompileOnDemandLayer.cpp [ORC] Promote and rename private symbols inside the CompileOnDemand layer, 2018-10-09 20:44:32 +00:00
Core.cpp [ORC] Add a 'remove' method to JITDylib to remove symbols. 2018-10-06 23:03:59 +00:00
ExecutionUtils.cpp [ORC] Promote and rename private symbols inside the CompileOnDemand layer, 2018-10-09 20:44:32 +00:00
IRCompileLayer.cpp [ORC] Add ThreadSafeModule and ThreadSafeContext wrappers to support concurrent 2018-09-26 01:24:12 +00:00
IRTransformLayer.cpp [ORC] Add more utilities to aid debugging output. 2018-09-28 21:49:53 +00:00
IndirectionUtils.cpp [ORC] Promote and rename private symbols inside the CompileOnDemand layer, 2018-10-09 20:44:32 +00:00
JITTargetMachineBuilder.cpp [ORC] Extract and tidy up JITTargetMachineBuilder, add unit test. 2018-09-30 19:12:23 +00:00
LLJIT.cpp [ORC] Promote and rename private symbols inside the CompileOnDemand layer, 2018-10-09 20:44:32 +00:00
LLVMBuild.txt [ORC] Add a dependence on MC to LLVMBuild.txt 2018-06-26 22:12:02 +00:00
Layer.cpp [ORC] Pass symbol name to discard by const reference. 2018-10-06 23:02:06 +00:00
LazyReexports.cpp [ORC] Pass symbol name to discard by const reference. 2018-10-06 23:02:06 +00:00
Legacy.cpp [ORC] Add an 'intern' method to ExecutionEngine for interning symbol names. 2018-09-30 23:18:24 +00:00
NullResolver.cpp [ORC] Replace lookupFlags in JITSymbolResolver with getResponsibilitySet. 2018-08-28 21:18:05 +00:00
ObjectTransformLayer.cpp [LKH] Add ObjectTransformLayer2. 2018-05-23 21:27:06 +00:00
OrcABISupport.cpp [MIPS] ORC JIT support 2018-09-11 13:10:04 +00:00
OrcCBindings.cpp [ORC] Update ORC C bindings to use the new llvm::Error C API. 2018-09-23 02:09:18 +00:00
OrcCBindingsStack.h [ORC] Refactor trampoline pool management out of JITCompileCallbackManager. 2018-09-26 03:32:12 +00:00
OrcError.cpp [ORC] Plumb error notifications through the VSO interface. 2018-04-12 18:35:08 +00:00
OrcMCJITReplacement.cpp [ORC] Re-apply r327566 with a fix for test-global-ctors.ll. 2018-03-15 00:30:14 +00:00
OrcMCJITReplacement.h [MIPS] ORC JIT support 2018-09-11 13:10:04 +00:00
RPCUtils.cpp [ORC] Add missing file from r300155. 2017-04-13 01:06:45 +00:00
RTDyldObjectLinkingLayer.cpp [ORC] Add an 'intern' method to ExecutionEngine for interning symbol names. 2018-09-30 23:18:24 +00:00
ThreadSafeModule.cpp [ORC] Add partitioning support to CompileOnDemandLayer2. 2018-09-29 23:49:57 +00:00