[ORC] During lookup, do not match against hidden symbols in other JITDylibs.
authorLang Hames <lhames@gmail.com>
Sat, 13 Oct 2018 21:53:40 +0000 (21:53 +0000)
committerLang Hames <lhames@gmail.com>
Sat, 13 Oct 2018 21:53:40 +0000 (21:53 +0000)
commit7899ccbcca9dd69ad21231a047c1e6130528937e
tree1ce81ba02e47fa111fbf63bf46e910dd3bd63666
parent2ac03ec2c4cb1d995a1ce70a5b15fa4f6ac8f9d1
[ORC] During lookup, do not match against hidden symbols in other JITDylibs.

This adds two arguments to the main ExecutionSession::lookup method:
MatchNonExportedInJD, and MatchNonExported. These control whether and where
hidden symbols should be matched when searching a list of JITDylibs.

A similar effect could have been achieved by filtering search results, but
this would have involved materializing symbol definitions (since materialization
is triggered on lookup) only to throw the results away, among other issues.

llvm-svn: 344467
llvm/include/llvm/ExecutionEngine/Orc/Core.h
llvm/lib/ExecutionEngine/Orc/Core.cpp
llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp