diff options
author | Aaron Puchert <aaronpuchert@alice-dsl.net> | 2025-08-04 22:24:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-04 22:24:47 +0200 |
commit | a911eee3bc4923fcfa579c9f0b2c08eddff673eb (patch) | |
tree | 7bd2388017570c498be3a964d96f7ca4d4a51b11 /llvm/utils/FileCheck/FileCheck.cpp | |
parent | 0433e1e15fa3a9ef8485aaba2b96203f2e3d3e6a (diff) | |
download | llvm-a911eee3bc4923fcfa579c9f0b2c08eddff673eb.zip llvm-a911eee3bc4923fcfa579c9f0b2c08eddff673eb.tar.gz llvm-a911eee3bc4923fcfa579c9f0b2c08eddff673eb.tar.bz2 |
Thread safety analysis: Allocate FactEntrys with BumpPtrAllocator (#149660)
The FactManager managing the FactEntrys stays alive for the analysis of
a single function. We are already using that by allocating TIL
S-expressions via BumpPtrAllocator. We can do the same with FactEntrys.
If we allocate the facts in an arena, we won't get destructor calls for
them, and they better be trivially destructible. This required replacing
the SmallVector member of ScopedLockableFactEntry with TrailingObjects.
FactEntrys are now passed around by plain pointer. However, to hide the
allocation of TrailingObjects from users, we introduce `create` methods,
and this allows us to make the constructors private.
Diffstat (limited to 'llvm/utils/FileCheck/FileCheck.cpp')
0 files changed, 0 insertions, 0 deletions