llvm-project/clang/lib/Frontend
Adam Czachorowski 8f4ea36bfe [clang] Improve laziness of resolving module map headers.
clang has support for lazy headers in module maps - if size and/or
modtime and provided in the cppmap file, headers are only resolved when
an include directive for a file with that size/modtime is encoutered.

Before this change, the lazy resolution was all-or-nothing per module.
That means as soon as even one file in that module potentially matched
an include, all lazy files in that module were resolved. With this
change, only files with matching size/modtime will be resolved.

The goal is to avoid unnecessary stat() calls on non-included files,
which is especially valuable on networked file systems, with higher
latency.

Differential Revision: https://reviews.llvm.org/D120569
2022-03-01 15:56:23 +01:00
..
Rewrite [clang] RewriteModernObjC::SynthBlockInitExpr - remove block nullptr check 2022-02-11 15:09:44 +00:00
ASTConsumers.cpp [clang] Fix JSON AST output when a filter is used 2021-10-10 07:46:17 +05:30
ASTMerge.cpp
ASTUnit.cpp [clang] Fix bugprone argument comments (NFC) 2022-01-09 00:19:49 -08:00
CMakeLists.txt [clang] Add an extract-api driver option 2022-01-26 11:31:12 -08:00
ChainedDiagnosticConsumer.cpp
ChainedIncludesSource.cpp [ASTReader] Allow controlling separately whether validation should be disabled for a PCH vs a module file 2021-01-21 20:45:54 -08:00
CompilerInstance.cpp [clang] Fix serialized diagnostics edge-cases 2022-01-26 11:21:51 +01:00
CompilerInvocation.cpp [analyzer] Don't crash if the analyzer-constraint is set to Z3, but llvm is not built with it 2022-02-25 17:51:37 +01:00
CreateInvocationFromCommandLine.cpp [clangd] Bail-out when an empty compile flag is encountered 2021-09-20 16:51:56 +02:00
DependencyFile.cpp [clang] In DependencyCollector on Windows, ignore case and separators when discarding duplicate dependency file paths. 2021-05-17 10:32:52 -04:00
DependencyGraph.cpp [SystemZ][z/OS][Windows] Add new OF_TextWithCRLF flag and use this flag instead of OF_Text 2021-04-06 07:23:31 -04:00
DiagnosticRenderer.cpp [clang][Frontend] Fix a crash in DiagnosticRenderer. 2021-02-17 09:02:49 +01:00
ExtractAPIConsumer.cpp [FIX][clang] Fix unused private field in ExtractAPIVisitor 2022-01-26 16:24:04 -08:00
FrontendAction.cpp [clang] Improve laziness of resolving module map headers. 2022-03-01 15:56:23 +01:00
FrontendActions.cpp Silence some "not all control paths return a value" warnings; NFC 2022-02-23 09:18:56 -05:00
FrontendOptions.cpp [OpenCL] Added distinct file extension for C++ for OpenCL. 2021-03-24 13:07:04 +00:00
HeaderIncludeGen.cpp [clang] Inclusive language: change instances of blacklist/whitelist to allowlist/ignorelist 2021-11-12 15:46:16 +00:00
InitPreprocessor.cpp [HIP] Support `-fgpu-default-stream` 2022-02-23 22:28:29 -05:00
InterfaceStubFunctionsConsumer.cpp [ifs] Prepare llvm-ifs for elfabi/ifs merging. 2021-07-19 11:23:00 -07:00
LayoutOverrideSource.cpp [Driver, Frontend] Use StringRef::contains (NFC) 2021-10-19 08:54:02 -07:00
LogDiagnosticPrinter.cpp
ModuleDependencyCollector.cpp [SystemZ][z/OS][Windows] Add new OF_TextWithCRLF flag and use this flag instead of OF_Text 2021-04-06 07:23:31 -04:00
MultiplexConsumer.cpp [clang] Remove redundant member initialization (NFC) 2022-01-02 10:20:23 -08:00
PrecompiledPreamble.cpp [clang] Change ordering of PreableCallbacks to make sure PP can be referenced in them 2021-11-26 10:10:52 +01:00
PrintPreprocessedOutput.cpp [clang] fix out of bounds access in an empty string when lexing a _Pragma with missing string token 2022-02-02 11:16:11 -08:00
SerializedDiagnosticPrinter.cpp [clang] Remove redundant member initialization (NFC) 2022-01-02 10:20:23 -08:00
SerializedDiagnosticReader.cpp
TestModuleFileExtension.cpp [NFC][clang] Return underlying strings directly instead of OS.str() 2021-12-09 16:05:46 -08:00
TestModuleFileExtension.h [modules] Use `HashBuilder` and `MD5` for the module hash. 2021-09-03 11:13:36 -07:00
TextDiagnostic.cpp [clang] Use true/false instead of 1/0 (NFC) 2022-01-09 00:19:47 -08:00
TextDiagnosticBuffer.cpp
TextDiagnosticPrinter.cpp [clang-cl] Remove the /fallback option 2021-02-04 10:33:16 +01:00
VerifyDiagnosticConsumer.cpp [clang][lex] NFC: Simplify calls to `LookupFile` 2022-01-18 16:02:18 +01:00