aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
diff options
context:
space:
mode:
authorJoseph Huber <jhuber6@vols.utk.edu>2023-01-30 17:40:26 -0600
committerJoseph Huber <jhuber6@vols.utk.edu>2023-02-02 09:47:03 -0600
commit6d0e1373589a105696854d66d9146b555b791a5f (patch)
treef7736fe66572fbef410016d0b2a5df0e0975fd86 /llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
parent48560e264c4010b64f226169487921ffed989d30 (diff)
downloadllvm-6d0e1373589a105696854d66d9146b555b791a5f.zip
llvm-6d0e1373589a105696854d66d9146b555b791a5f.tar.gz
llvm-6d0e1373589a105696854d66d9146b555b791a5f.tar.bz2
[libc] Remove OpenMP and build the GPU libc directly
The current `libcgpu.a` is actually an archive of fatbinaries. The host file contains nothing but a section called `LLVM_OFFLOADING` that contains embedded device code. This used to be handled implicitly by borrowing the OpenMP toolchain, which did this packaging internally. Passing the OpenMP flags causes problems with trying to move to testing. This patch pulls this logic out into the CMake and handles it manually. This patch is a lot of noise, but it fundamentally comes down to the following changes. 1. Build the source for every GPU architecture (GPU architectures are generally not backwards compatible) 2. Combine all of these files into a single binary blob 3. Embed that binary blob into a host file 4. Package these host files into a `.a` archive. 5. The device code will be extracted and managed by the offloading linker. Another important point. Right now we are maintaining an important distinction with the GPU build. That is, when we build the exported library we will build for many GPU architectures. However, the internal version will only be built for a single GPU architecture, one that was found on the user's system. This is intended to be used for internal testing, very similar to the current path where `libc` is compiled for a single target triple. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D143089
Diffstat (limited to 'llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions