diff options
author | Joseph Huber <huberjn@outlook.com> | 2025-02-05 08:18:52 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-05 08:18:52 -0600 |
commit | bb7ab2557c485e004e619570cca7e2204b98a71b (patch) | |
tree | 1d20fd3f358a9b7574f5bb6144f03ccdaf44eb22 /clang/lib/Analysis/ProgramPoint.cpp | |
parent | 455cedc805e7a42c6cfbe26a4ddd9e623cca6066 (diff) | |
download | llvm-bb7ab2557c485e004e619570cca7e2204b98a71b.zip llvm-bb7ab2557c485e004e619570cca7e2204b98a71b.tar.gz llvm-bb7ab2557c485e004e619570cca7e2204b98a71b.tar.bz2 |
[OpenMP] Port the OpenMP device runtime to direct C++ compilation (#123673)
Summary:
This removes the use of OpenMP offloading to build the device runtime.
The main benefit here is that we no longer need to rely on offloading
semantics to build a device only runtime. Things like variants are now
no longer needed and can just be simple if-defs. In the future, I will
remove most of the special handling here and fold it into calls to the
`<gpuintrin.h>` functions instead. Additionally I will rework the
compilation to make this a separate runtime.
The current plan is to have this, but make including OpenMP and
offloading either automatically add it, or print a warning if it's
missing. This will allow us to use a normal CMake workflow and delete
all the weird 'lets pull the clang binary out of the build' business.
```
-DRUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES=offload
-DLLVM_RUNTIME_TARGETS=amdgcn-amd-amdhsa
```
After that, linking the OpenMP device runtime will be `-Xoffload-linker
-lomp`. I.e. no more fat binary business.
Only look at the most recent commit since this includes the two
dependencies
(fix to AMDGPUEmitPrintfBinding and the PointerToMember bug).
Diffstat (limited to 'clang/lib/Analysis/ProgramPoint.cpp')
0 files changed, 0 insertions, 0 deletions