aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorJacob Lambert <jacob.lambert@amd.com>2022-07-14 17:00:26 -0700
committerJacob Lambert <jacob.lambert@amd.com>2022-07-26 10:05:22 -0700
commit8348c4095600ec2c0beee293267832799d2ebee3 (patch)
treead14a88d146709771f2eafaa5cc46742be2c24cc /clang/lib/Frontend/CompilerInvocation.cpp
parent1ea7b9c6ee6420dd6e87489534f44b92e1b6f220 (diff)
downloadllvm-8348c4095600ec2c0beee293267832799d2ebee3.zip
llvm-8348c4095600ec2c0beee293267832799d2ebee3.tar.gz
llvm-8348c4095600ec2c0beee293267832799d2ebee3.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 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions