[all-commits] [llvm/llvm-project] 62cf5d: [clang] Use DynamicRecursiveASTVisitor for AST lis...

David Zbarsky via All-commits all-commits at lists.llvm.org
Wed Jul 8 08:23:01 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 62cf5de4fee60958508cca4db5df7769e0a9e57f
      https://github.com/llvm/llvm-project/commit/62cf5de4fee60958508cca4db5df7769e0a9e57f
  Author: David Zbarsky <dzbarsky at gmail.com>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M clang/lib/Frontend/ASTConsumers.cpp

  Log Message:
  -----------
  [clang] Use DynamicRecursiveASTVisitor for AST listing (#202661)

Replace `ASTDeclNodeLister`'s CRTP `RecursiveASTVisitor` with
`DynamicRecursiveASTVisitor` while keeping `ASTPrinter` and
`ASTDeclNodeLister` separate. Set `ShouldWalkTypesOfTypeLocs` to false
to
preserve the previous traversal.

In identical arm64 release builds, standalone clang shrinks by 251,840
bytes
(0.215%), stripped clang by 149,488 bytes, and `ASTConsumers.cpp.o` by
153,352
bytes; linked `__TEXT` falls by 147,456 bytes and linked fixups increase
by
1,040.

The `-ast-list` output is byte-identical on the existing clang-check
input and
`ASTConsumers.cpp` (150,918 lines); two reversed-order ten-run timing
passes
have overlapping wall-time distributions and a 0.4% combined mean user
CPU-time increase.

Work towards #202616

AI tool disclosure: Co-authored with OpenAI Codex.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list