[ORC] Coalesce all of ORC's symbol renaming / linkage-promotion utilities into
authorLang Hames <lhames@gmail.com>
Thu, 27 Sep 2018 19:27:20 +0000 (19:27 +0000)
committerLang Hames <lhames@gmail.com>
Thu, 27 Sep 2018 19:27:20 +0000 (19:27 +0000)
commitc5192f751a5012fddfc1f2a2fa03db02476a183f
tree1256ef894d90d7103b2bb7bcbe4571cc5fae33a6
parent3ac3c0d717c64365c5e55a003f67e9b2460fd660
[ORC] Coalesce all of ORC's symbol renaming / linkage-promotion utilities into
one SymbolLinkagePromoter utility.

SymbolLinkagePromoter renames anonymous and private symbols, and bumps all
linkages to at least global/hidden-visibility. Modules whose symbols have been
promoted by this utility can be decomposed into sub-modules without introducing
link errors. This is used by the CompileOnDemandLayer to extract single-function
modules for lazy compilation.

llvm-svn: 343257
llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
llvm/tools/lli/lli.cpp