[clang] [analyzer] Introduce the invalidation artifact symbol (PR #207155)
Balázs Benics via cfe-commits
cfe-commits at lists.llvm.org
Thu Jul 23 08:46:07 PDT 2026
steakhal wrote:
> > I could repurpose conjured symbols for this, and shove this metadata into it. WDYT about this? @NagyDonat @Xazax-hun
> > I could explore this direction.
>
> I think that is a promising idea. Perhaps instead of introducing this `InvalidationCause` hierarchy, you could introduce a `ConjurationCause` hierarchy which includes the `InvalidationCause` hierarchy as one branch? (I'm not sure whether this is actually useful, but perhaps worth a thought. Also, you can postpone the development of the non-`InvalidationCause` side of the hierarchy if there are no plans to use it right now.)
I have no idea what the "other" branch would be of that hierarchy. If this is about describing how the value was changed (a direct binding was changed to another direct binding due to a direct escape) or what caused this change (calling an opaque function having this variable potentially mutated, which had a second degree impact through some reachable pointer such that we pessimistically escape that region) are orthogonal concepts.
I could store these in separate fields of course.
https://github.com/llvm/llvm-project/pull/207155
More information about the cfe-commits
mailing list