[clang] [Clang] [NFC] Introduce `DynamicRecursiveASTVisitor` (PR #110040)

Nikita Popov via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 5 05:34:03 PST 2024


nikic wrote:

> I think these are a net positive change; @nikic are you comfortable with the performance numbers? I feel like the changes come awfully close to falling out in the noise aside from the positive improvements with building Clang, but you look at compile time performance numbers more than I do, so you may have a better sense for whether the changes are acceptable.
> 
> Signing off with a LGTM, but please wait to land until @nikic has weighed in.

Based on my previous analysis, the compilation time impact here is not actually because the visitor becomes appreciably slower, but because we have more dynamic relocations on startup due to dynamic relocations for the large vtables of these visitors. So only tiny compilations should see any significant impact.

Now, tiny compilations aren't entirely irrelevant (this is the bottleneck for things like configure / cmake tests), but I'm also not overly concerned about it, and I think the benefits here substantially outweigh the costs.

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


More information about the cfe-commits mailing list