llvm-project/clang/lib
Volodymyr Sapsai 4000c9ee18 Reland "[Modules] Add stats to measure performance of building and loading modules."
Measure amount of high-level or fixed-cost operations performed during
building/loading modules and during header search. High-level operations
like building a module or processing a .pcm file are motivated by
previous issues where clang was re-building modules or re-reading .pcm
files unnecessarily. Fixed-cost operations like `stat` calls are tracked
because clang cannot change how long each operation takes but it can
perform fewer of such operations to improve the compile time.

Also tracking such stats over time can help us detect compile-time
regressions. Added stats are more stable than the actual measured
compilation time, so expect the detected regressions to be less noisy.

On relanding drop stats in MemoryBuffer.cpp as their value is pretty low
but affects a lot of clients and many of those aren't interested in
modules and header search.

rdar://problem/55715134

Reviewed By: aprantl, bruno

Differential Revision: https://reviews.llvm.org/D86895
2020-10-19 15:44:11 -07:00
..
ARCMigrate [clang] Use SourceLocation as key in std::map, NFCI 2020-10-19 18:31:05 +01:00
AST [NFC] Refactor DiagnosticBuilder and PartialDiagnostic 2020-10-19 17:48:04 -04:00
ASTMatchers [clang-tidy] Fix crash in readability-function-cognitive-complexity on weak refs 2020-10-11 18:52:38 +03:00
Analysis Revert "[analyzer] NFC: Move IssueHash to libAnalysis." 2020-10-13 12:07:28 -07:00
Basic Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions" 2020-10-19 17:48:04 -04:00
CodeGen Fix MSVC "not all control paths return a value" warning. NFCI. 2020-10-19 11:48:31 +01:00
CrossTU [analyzer] Add CTUImportCppThreshold for C++ files 2020-07-09 15:36:33 +02:00
DirectoryWatcher Revert "DirectoryWatcher: add an implementation for Windows" 2020-10-13 12:35:22 -07:00
Driver Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions" 2020-10-19 17:48:04 -04:00
Edit [Fixed Point] Add fixed-point to floating point cast types and consteval. 2020-10-13 13:26:56 +02:00
Format clang/{Format,Rewrite}: Stop using SourceManager::getBuffer, NFC 2020-10-19 17:02:59 -04:00
Frontend Reland "[Modules] Add stats to measure performance of building and loading modules." 2020-10-19 15:44:11 -07:00
FrontendTool [NFC] Refactor Registry loops to range for 2020-06-19 00:40:10 +01:00
Headers [PowerPC] Implementation of 128-bit Binary Vector Rotate builtins 2020-10-16 18:03:22 -04:00
Index [clang] Traverse init-captures while indexing 2020-09-22 02:32:09 -04:00
IndexSerialization [index-while-building] Fix build with -DBUILD_SHARED_LIBS=True 2020-08-20 15:12:56 +01:00
Lex Lex: Avoid MemoryBuffer* key in ExcludedPreprocessorDirectiveSkipMapping, NFC 2020-10-12 17:39:01 -04:00
Parse [clang] Fix returning the underlying VarDecl as top-level decl for VarTemplateDecl. 2020-10-12 10:46:18 +02:00
Rewrite clang/{Format,Rewrite}: Stop using SourceManager::getBuffer, NFC 2020-10-19 17:02:59 -04:00
Sema Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions" 2020-10-19 17:48:04 -04:00
Serialization Reland "[Modules] Add stats to measure performance of building and loading modules." 2020-10-19 15:44:11 -07:00
StaticAnalyzer clang/StaticAnalyzer: Stop using SourceManager::getBuffer 2020-10-15 00:34:24 -04:00
Testing Fix MSVC "not all control paths return a value" warning. NFC. 2020-06-05 10:45:59 +01:00
Tooling [clang-rename] Fix rename on variable templates. 2020-10-19 09:44:59 +02:00
CMakeLists.txt Add an explicit toggle for the static analyzer in clang-tidy 2020-09-10 10:48:17 -04:00