diff options
author | Joseph Huber <huberjn@outlook.com> | 2025-07-23 13:19:36 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-23 13:19:36 -0500 |
commit | df1dd803b6a1b1dd514da5e7c1257c0b75592452 (patch) | |
tree | b74edcfdfccdc95e2755044dab63e0e3e74ab03f /clang/lib/Lex/ModuleMapFile.cpp | |
parent | 6a9817113838a3f87e803ac71aab46b3ccf24686 (diff) | |
download | llvm-df1dd803b6a1b1dd514da5e7c1257c0b75592452.zip llvm-df1dd803b6a1b1dd514da5e7c1257c0b75592452.tar.gz llvm-df1dd803b6a1b1dd514da5e7c1257c0b75592452.tar.bz2 |
[libc] Cache the most recently used slot for a chunk size (#149751)
Summary:
This patch changes the `find_slab` logic to simply cache the most
successful slot. This means the happy fast path is now a single atomic
load on this index. I removed the SIMT shuffling logic that did slab
lookups wave-parallel. Here I am considering the actual traversal to be
comparatively unlikely, so it's not overly bad that it takes longer.
ideally one thread finds a slot and shared it with the rest so we only
pay that cost once.
---------
Co-authored-by: Shilei Tian <i@tianshilei.me>
Diffstat (limited to 'clang/lib/Lex/ModuleMapFile.cpp')
0 files changed, 0 insertions, 0 deletions