[all-commits] [llvm/llvm-project] 286043: [LifetimeSafety] Add per-program-point lattice tra...

Utkarsh Saxena via All-commits all-commits at lists.llvm.org
Mon Jul 21 15:02:33 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2860431e1f1bb4ecc4ebaf1006f766b37d975580
      https://github.com/llvm/llvm-project/commit/2860431e1f1bb4ecc4ebaf1006f766b37d975580
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2025-07-22 (Tue, 22 Jul 2025)

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

  Log Message:
  -----------
  [LifetimeSafety] Add per-program-point lattice tracking (#149199)

Add per-program-point state tracking to the dataflow analysis framework.

- Added a `ProgramPoint` type representing a pair of a CFGBlock and a Fact within that block
- Added a `PerPointStates` map to store lattice states at each program point
- Modified the `transferBlock` method to store intermediate states after each fact is processed
- Added a `getLoans` method to the `LoanPropagationAnalysis` class that uses program points

This change enables more precise analysis by tracking program state at each individual program point rather than just at block boundaries. This is necessary for answering queries about the state of loans, origins, and other properties at specific points in the program, which is required for error reporting in the lifetime safety analysis.



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