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
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to