We previously had some logic that stopped us from building the device runtime if
there were no NVPTX architectures provided. This is incorrect because we could
have AMDGPU libraries. Even if the lists are empty we should be able to attempt
to build these and get dummy output. THis wilil make it much easier for our
tooling which expects certain libraries. If the user wishes to disable the
library entirely they should use `-DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB=OFF"
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Does it affect the option that we can build bc lib for one arch but not for another, like I just would like to build AMD bc lib? We can't assume the LLVM/Clang used for the compilation supports all arch.
Comment Actions
If the lists are empty, the for loops setting the architecture won't generate any code right. For the static library it won't get embedded in the binary either.
Comment Actions
Right. The logic here is a little messy because contains some inconsistency when we implemented DeviceRTL first for NVPTX and later for AMDGPU.