diff options
author | Jacob Lambert <jacob.lambert@amd.com> | 2022-07-14 17:00:26 -0700 |
---|---|---|
committer | Jacob Lambert <jacob.lambert@amd.com> | 2022-07-27 11:54:38 -0700 |
commit | 0f3f357e26cfdb887866215b234138e66fd0c4c9 (patch) | |
tree | 7ac05f241a9e03506d5eba9c81f3e8b9061bcb2b /llvm/lib/Transforms/Utils/LoopUtils.cpp | |
parent | 68901fdbebb73617067cbab9888364ba9f8a2843 (diff) | |
download | llvm-0f3f357e26cfdb887866215b234138e66fd0c4c9.zip llvm-0f3f357e26cfdb887866215b234138e66fd0c4c9.tar.gz llvm-0f3f357e26cfdb887866215b234138e66fd0c4c9.tar.bz2 |
[clang-offload-bundler] Library-ize ClangOffloadBundler
Lifting the core functionalities of the clang-offload-bundler into a
user-facing library/API. This will allow online and JIT compilers to
bundle and unbundle files without spawning a new process.
This patch lifts the classes and functions used to implement
the clang-offload-bundler into a separate OffloadBundler.cpp,
and defines three top-level API functions in OfflaodBundler.h.
BundleFiles()
UnbundleFiles()
UnbundleArchives()
This patch also introduces a Config class that locally stores the
previously global cl::opt options and arrays to allow users to call
the APIs in a multi-threaded context, and introduces an
OffloadBundler class to encapsulate the top-level API functions.
We also lift the BundlerExecutable variable, which is specific
to the clang-offload-bundler tool, from the API, and replace
its use with an ObjcopyPath variable. This variable must be set
in order to internally call llvm-objcopy.
Finally, we move the API files from
clang/tools/clang-offload-bundler into clang/lib/Driver and
clang/include/clang/Driver.
Differential Revision: https://reviews.llvm.org/D129873
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUtils.cpp')
0 files changed, 0 insertions, 0 deletions