Context: I plan on using this change primarily downstream in the apple fork of llvm to track swift module loading time.
The idea is that TypeSystems from modules can self-report statistics when performing the statistics dump of a module.
| Paths 
 |  Differential  D137191  
[lldb] Add information on type systems to statistics dump command ClosedPublic Authored by bulbazord on Nov 1 2022, 1:41 PM. 
Details Summary Context: I plan on using this change primarily downstream in the apple fork of llvm to track swift module loading time. The idea is that TypeSystems from modules can self-report statistics when performing the statistics dump of a module. 
Diff Detail 
 Event TimelineComment Actions I have a pull request to apple's fork to show how this is used for swift: https://github.com/apple/llvm-project/pull/5540 I primarily wanted this portion to be upstream so that the patch is easier to maintain downstream, but it could be useful for clang-produced TypeSystems as well. clayborg added inline comments. 
 This revision now requires changes to proceed.Nov 1 2022, 2:03 PM tschuett added inline comments. 
 
 This revision is now accepted and ready to land.Nov 1 2022, 9:19 PM 
 Closed by commit rG13cd39017de0: [lldb] Add information on type systems to statistics dump command (authored by bulbazord).  ·  Explain WhyNov 2 2022, 10:46 AM This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
Diff 472689 lldb/include/lldb/Core/Module.h
 lldb/include/lldb/Symbol/TypeSystem.h
 lldb/include/lldb/Target/Statistics.h
 lldb/source/Core/Module.cpp
 lldb/source/Symbol/TypeSystem.cpp
 lldb/source/Target/Statistics.cpp
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Maybe llvm::function_ref?
https://llvm.org/doxygen/classllvm_1_1function__ref_3_01Ret_07Params_8_8_8_08_4.html