The minimizing and caching filesystem used by the dependency scanner can be configured to not minimize some files. That's necessary when scanning a TU with prebuilt inputs (i.e. PCH) that refer to the original (non-minimized) files. Minimizing such files in the dependency scanner would cause discrepancy between the current perceived state of the filesystem and the file sizes stored in the AST file. By not minimizing such files, we avoid creating the discrepancy.
The problem with the current approach is that files that should not be minimized are identified by their path. This breaks down when the prebuilt input (PCH) and the current TU refer to the same file via different paths (i.e. symlinks). This patch switches from paths to llvm::sys::fs::UniqueID when identifying ignored files. This is consistent with how the rest of Clang treats files.
Depends on D114966.
Do you want to modernise RequestedInformation to an enum class?