[all-commits] [llvm/llvm-project] a911ee: Thread safety analysis: Allocate FactEntrys with B...

Aaron Puchert via All-commits all-commits at lists.llvm.org
Mon Aug 4 13:25:09 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a911eee3bc4923fcfa579c9f0b2c08eddff673eb
      https://github.com/llvm/llvm-project/commit/a911eee3bc4923fcfa579c9f0b2c08eddff673eb
  Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
  Date:   2025-08-04 (Mon, 04 Aug 2025)

  Changed paths:
    M clang/lib/Analysis/ThreadSafety.cpp

  Log Message:
  -----------
  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.



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