[all-commits] [llvm/llvm-project] a3a316: [libc] Remove use of BlockStore for GPU atexit (#8...
Joseph Huber via All-commits
all-commits at lists.llvm.org
Fri Feb 23 12:11:04 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a3a316e2875258929f062fbffb81e2a9d5b4ce48
https://github.com/llvm/llvm-project/commit/a3a316e2875258929f062fbffb81e2a9d5b4ce48
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M libc/src/stdlib/atexit.cpp
Log Message:
-----------
[libc] Remove use of BlockStore for GPU atexit (#82823)
Summary:
The GPU backends have restrictions on the kinds of initializers they can
produce. The use of BlockStore here currently breaks the backends
through the use of recursive initializers. This prevents it from
actually being included in any builds. This patchs changes it to just
use a fixed size of 64 slots .The chances of someone exceeding the 64
slots in practice is very, very low.
However, this is primarily a bandaid solution as a real solution will
need to use a lock free data structure to push work in parallel.
Currently the mutexes on the GPU build do nothing, so they only work if
the user guards the use themselves.
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