[clang] [LifetimeSafety] Implement multi-level origins (PR #168344)
Utkarsh Saxena via cfe-commits
cfe-commits at lists.llvm.org
Mon Dec 8 06:56:26 PST 2025
================
@@ -52,41 +62,118 @@ struct Origin {
}
};
-/// Manages the creation, storage, and retrieval of origins for pointer-like
-/// variables and expressions.
-class OriginManager {
+/// A list of origins representing levels of indirection for pointer-like types.
+///
+/// Each node in the list contains an OriginID representing a level of
+/// indirection. The list structure captures the multi-level nature of
+/// pointer and reference types in the lifetime analysis.
+///
+/// Examples:
+/// - For `int& x`, the list has size 2:
+/// * Root: origin for the reference storage itself (the lvalue `x`)
----------------
usx95 wrote:
Changed to `Outer` and `Inner` to match the updated field names.
https://github.com/llvm/llvm-project/pull/168344
More information about the cfe-commits
mailing list