mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 00:06:06 +00:00

Summary: Currently we conditionally enable NVPTX lowering depending on the language (C/C++/OpenMP). Unfortunately this causes problems because this option is only present if the backend was enabled, which causes this to error if you try to make LLVM-IR. This patch instead makes it the only accepted lowering. The reason we had it as opt-in before is because it is not handled by CUDA. So, this pach also introduces diagnostics to prevent *all* creation of device-side global constructors and destructors. We already did this for variables, now we do it for attributes as well. This inverts the responsibility of blocking this from the backend to the langauage like it should be given that support for this is language dependent.
LLVM libc ========= This directory and its subdirectories contain source code for llvm-libc, a retargetable implementation of the C standard library. LLVM is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.