[OpenMP] Change build of OpenMP device runtime to be a separate runtime by jhuber6 · Pull Request #136729 · llvm/llvm-project (original) (raw)
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})
jhuber6 requested review fromarsenm, carlobertolli, estewart08, jdoerfert, JonChesterfield, jplehr, mgorny, petrhosek, ronlieb, shiltian and ye-luo
jhuber6 added a commit to jhuber6/llvm-project that referenced this pull request
Summary:
This was accidentally kept in the old location when we moved to the
new lib/<triple>/
location for the DeviceRTL. Move this to reduce the
delta with llvm#136729.
Comment on lines +134 to +136
jhuber6 added a commit that referenced this pull request
Summary:
This was accidentally kept in the old location when we moved to the
new lib/<triple>/
location for the DeviceRTL. Move this to reduce the
delta with #136729.
Summary:
Currently we build the OpenMP device runtime as part of the offload/
project. This is problematic because it has several restrictions when
compared to the normal offloading runtime. It can only be built with an
up-to-date clang and we need to set the target appropriately. Currently
we hack around this by creating the compiler invocation manually, but
this patch moves it into a separate runtimes build.
This follows the same build we use for libc, libc++, compiler-rt, and
flang-rt. This also moves it from offload/
into openmp/
because it
is still the openmp/
runtime and I feel it is more appropriate. We do
want a generic offload/
library at some point, but it would be trivial
to then add that as a separate library now that we have the
infrastructure that makes adding these new libraries trivial.
This most importantly will require that users update their build configs, mostly adding the following lines at a minimum. I was debating whether or not I should 'auto-upgrade' this, but I just went with a warning.
-DLLVM_RUNTIME_TARGETS='default;amdgcn-amd-amdhsa;nvptx64-nvidia-cuda' \
-DRUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES=openmp \
-DRUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES=openmp \
This also changed where the .bc
version of the library lives, but it's
still created.
jhuber6 added a commit to jhuber6/llvm-project that referenced this pull request
Summary:
Override the default linker in case the user is passing it separately.
This requires lld
but it always did. This will be fixed properly
when llvm#136729 lands.
sylvestre pushed a commit that referenced this pull request
Summary:
Override the default linker in case the user is passing it separately.
This requires lld
but it always did. This will be fixed properly
when #136729 lands.
Fixes #136822
jyli0116 pushed a commit to jyli0116/llvm-project that referenced this pull request
Summary:
Override the default linker in case the user is passing it separately.
This requires lld
but it always did. This will be fixed properly
when llvm#136729 lands.
Fixes llvm#136822
jhuber6 added a commit to jhuber6/llvm-project that referenced this pull request
Summary:
Another hacky fix done until
llvm#136729 lands. This time for
-mcpu
.
llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request
…h (#136754)
Summary:
This was accidentally kept in the old location when we moved to the
new lib/<triple>/
location for the DeviceRTL. Move this to reduce the
delta with llvm/llvm-project#136729.
llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request
IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request
Summary:
This was accidentally kept in the old location when we moved to the
new lib/<triple>/
location for the DeviceRTL. Move this to reduce the
delta with llvm#136729.
IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request
Summary:
Override the default linker in case the user is passing it separately.
This requires lld
but it always did. This will be fixed properly
when llvm#136729 lands.
Fixes llvm#136822
IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request
Summary:
This was accidentally kept in the old location when we moved to the
new lib/<triple>/
location for the DeviceRTL. Move this to reduce the
delta with llvm#136729.
IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request
Summary:
Override the default linker in case the user is passing it separately.
This requires lld
but it always did. This will be fixed properly
when llvm#136729 lands.
Fixes llvm#136822
IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request
Summary:
This was accidentally kept in the old location when we moved to the
new lib/<triple>/
location for the DeviceRTL. Move this to reduce the
delta with llvm#136729.
IanWood1 pushed a commit to IanWood1/llvm-project that referenced this pull request
Summary:
Override the default linker in case the user is passing it separately.
This requires lld
but it always did. This will be fixed properly
when llvm#136729 lands.
Fixes llvm#136822
jhuber6 added a commit that referenced this pull request
Summary:
Another hacky fix done until
#136729 lands. This time for
-mcpu
.
llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request
GeorgeARM pushed a commit to GeorgeARM/llvm-project that referenced this pull request
Summary:
Another hacky fix done until
llvm#136729 lands. This time for
-mcpu
.
Ankur-0429 pushed a commit to Ankur-0429/llvm-project that referenced this pull request
Summary:
Override the default linker in case the user is passing it separately.
This requires lld
but it always did. This will be fixed properly
when llvm#136729 lands.
Fixes llvm#136822