[all-commits] [llvm/llvm-project] ecfffb: [libc][OSUtil] refactor quick_exit to be an object...
Nick Desaulniers via All-commits
all-commits at lists.llvm.org
Tue Mar 26 08:28:06 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ecfffbfd3921fd47f3afc1d03a7518b34ec396b3
https://github.com/llvm/llvm-project/commit/ecfffbfd3921fd47f3afc1d03a7518b34ec396b3
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-03-26 (Tue, 26 Mar 2024)
Changed paths:
M libc/src/__support/OSUtil/CMakeLists.txt
M libc/src/__support/OSUtil/baremetal/CMakeLists.txt
A libc/src/__support/OSUtil/baremetal/quick_exit.cpp
R libc/src/__support/OSUtil/baremetal/quick_exit.h
M libc/src/__support/OSUtil/darwin/CMakeLists.txt
R libc/src/__support/OSUtil/darwin/quick_exit.h
M libc/src/__support/OSUtil/gpu/CMakeLists.txt
M libc/src/__support/OSUtil/gpu/quick_exit.cpp
R libc/src/__support/OSUtil/gpu/quick_exit.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
A libc/src/__support/OSUtil/linux/quick_exit.cpp
R libc/src/__support/OSUtil/linux/quick_exit.h
M libc/src/__support/OSUtil/quick_exit.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/_Exit.cpp
M libc/src/stdlib/exit.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][OSUtil] refactor quick_exit to be an object library everywhere (#85955)
The usage of __builtin_unreachable after calls to quick_exit were distressing.
If a function is properly marked [[noreturn]] then __builtin_unreachable is not
necessary.
Looking into this further, we seem to have header only implementations for CPU
targets. The inline nature of these functions is curious; we're going to exit,
it doesn't matter if we need to pay the call of a function or not. If we just
make these functions have distinct TUs rather than be header only, we can clean
up the cmake rules for quick_exit which were different between CPU and GPU.
Remove darwin support for quick_exit. This isn't being tested, and we can bring
it back when necessary.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list