Part four extends LifetimeCheck through memory operations, structured control flow, scope cleanup, coroutine tasks, and returned-lambda safety.
Topic
clang
Part two follows the LifetimeCheck pass architecture, its type categories, points-to sets, allocation classification, and operation dispatch.
Part one introduces ClangIR as an MLIR-based representation for C++ static analysis and uses LifetimeCheck to motivate the series.
Part three shows how ClangIR AST attributes, move detection, smart pointer handling, and moved-from state tracking detect use-after-move bugs.