[clang] [clang] Track final substitution for Subst* AST nodes (PR #132748)

Jan Voung via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 2 12:48:16 PDT 2025


jvoung wrote:

> @ymand @jvoung I'd like to know if you tried this patch within google and within your tooling, and if you can report whether it is suited and if there is any noteworthy performance impact.

Ok, I tried some experiments. Our nullability analysis tests do now pass without the flag =) One of our test expectations ended up improving around alias templates with default arguments as well. Maybe that is related to the test expectation change in your patch `subst_default_argument` in `clang/test/AST/ast-dump-template-decls.cpp` ?

No noteworthy performance impact (some same, some diffs within the stddev of several runs, one really big translation unit ended up compiling faster by a little).

One question is, would you be okay with doing the flag removal separately? I.e., make it a no-op first, then delete it as a follow up with some time to adjust? That may allow integrating the change more incrementally (1) merge + update test expectations (2) stop using the flag, then (3) merge again with the flag deleted. 

And, thank you so much for helping with this change!

https://github.com/llvm/llvm-project/pull/132748


More information about the cfe-commits mailing list