llvm-project/llvm
Lang Hames d78ba0d4b2 [ORC] Add helpers for building orc::SymbolResolvers from legacy findSymbol-style
functions/methods that return JITSymbols.

lookupFlagsWithLegacyFn takes a SymbolNameSet and a legacy lookup function and
returns a LookupFlagsResult. It uses the legacy lookup function to search for
each symbol. If found, getFlags is called on the symbol and the flags added to
the SymbolFlags map. If not found, the symbol is added to the SymbolsNotFound
set.

lookupWithLegacyFn takes an AsynchronousSymbolQuery, a SymbolNameSet and a
legacy lookup function. Each symbol in the SymbolNameSet is searched for via the
legacy lookup function. If it is found, its getAddress function is called
(triggering materialization if it has not happened already) and the resulting
mapping stored in the query. If it is not found the symbol is added to the
unresolved symbols set which is returned at the end of the function. If an
error occurs during legacy lookup or materialization it is passed to the
query via setFailed and the function returns immediately.

llvm-svn: 323388
2018-01-24 23:09:07 +00:00
..
bindings [bindings/go] fix vet errors 2017-12-28 04:10:09 +00:00
cmake [cmake] Don't build Native llvm-config when cross compiling if passed by user. 2018-01-21 00:29:00 +00:00
docs Fix up and document controlling ccache via CMake options. 2018-01-24 18:15:08 +00:00
examples PR35705: Fix Chapter 9 example code for API changes to DIBuilder 2017-12-20 19:36:54 +00:00
include [ORC] Add helpers for building orc::SymbolResolvers from legacy findSymbol-style 2018-01-24 23:09:07 +00:00
lib [Hexagon] Replace EmitFunctionEntryCode with a DAG preprocessing code 2018-01-24 21:19:51 +00:00
projects [cmake] Support moving debuginfo-tests to llvm/projects 2017-12-12 17:06:08 +00:00
resources
runtimes [CMake] Support for cross-compilation when build runtimes 2018-01-08 23:50:59 +00:00
test [GlobalISel] Add a requires: asserts to a test. 2018-01-24 22:40:25 +00:00
tools Revert "[ThinLTO] Add call edges' relative block frequency to per-module summary." 2018-01-24 18:15:29 +00:00
unittests [ORC] Add helpers for building orc::SymbolResolvers from legacy findSymbol-style 2018-01-24 23:09:07 +00:00
utils [TableGen] Add a way of getting the number of generic opcodes without including modular CodeGen headers. 2018-01-24 22:35:11 +00:00
.arcconfig [llvm] Set up .arcconfig to point to Diffusion L repository 2018-01-12 15:37:41 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Fix up and document controlling ccache via CMake options. 2018-01-24 18:15:08 +00:00
CODE_OWNERS.TXT
CREDITS.TXT we have now https support for apt.llvm.org. Updating the URL 2018-01-18 19:57:35 +00:00
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.