[clang] [clang-tools-extra] [ASTMatchers][NFC] use `Matcher<QualType>` instead of `DynTypedMatcher` in `TypeLocTypeMatcher` (PR #123450)
Nathan Ridge via cfe-commits
cfe-commits at lists.llvm.org
Sun Jan 19 21:26:10 PST 2025
HighCommander4 wrote:
I don't really have enough experience with the AST matcher implementations to provide an authoritative review of this, sorry.
I did do some digging in the code history, and found that `TypeLocTypeMatcher` did store a `Matcher<QualType>` in the past. That was changed in https://github.com/llvm/llvm-project/commit/70f19df90d0f8b69f0516290f75e90ef94d6d57d, whose description reads:
> [ASTMatchers] Factor wrapping matcher classes into a common base class.
>
> The deduplication here is negligible, but it allows the compiler to
> skip emission of many templated base class destructors. Shrinks
> clang-query by 53k. No functionality change intended.
The base class has a `DynTypeMatcher` member; this was further refactored in https://github.com/llvm/llvm-project/commit/35492270ed705ea9ac98ba04c6fda1adafef613a to move the `DynTypeMatcher` member directly into the derived class.
It's not clear to me whether this change would regress the code size improvement brought by the first change.
https://github.com/llvm/llvm-project/pull/123450
More information about the cfe-commits
mailing list