[all-commits] [llvm/llvm-project] 3fffe6: [Serialization] Add -ftime-trace block for reading...

Sam McCall via All-commits all-commits at lists.llvm.org
Fri Dec 9 05:37:13 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3fffe6826448ac2daf9c4feb8e48ae8d601aca06
      https://github.com/llvm/llvm-project/commit/3fffe6826448ac2daf9c4feb8e48ae8d601aca06
  Author: Sam McCall <sam.mccall at gmail.com>
  Date:   2022-12-09 (Fri, 09 Dec 2022)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp

  Log Message:
  -----------
  [Serialization] Add -ftime-trace block for reading loaded modules.

The existing ReadAST block only describes the top-level PCM file being
loaded, when in practice most of the time taken is dealing with other
PCM files which are loaded in turn.

Because this work isn't strictly recursive (first all the modules are
discovered, then processsed in several flat loops), we can't have a neat
recursive structure like processing of source files. Instead, slap a
timer on the largest of these boxes: reading the AST block for modules.
In practice this shows where most of the time goes, and in particular
which modules are most expensive.




More information about the All-commits mailing list