SuccessChanges

Summary

  1. [lld][test] Relax test assertion of cmake defaults appearing in --version output. (details)
  2. [AMDGPU] Fix adjustWritemask subreg handling (details)
  3. Basic: Support named pipes natively in SourceManager and FileManager (details)
Commit be89d7460b63508a6a277050395c14a4fa74b031 by rupprecht
[lld][test] Relax test assertion of cmake defaults appearing in --version output.

D93491 implemented `--version` for the MachO LLD port, but asserts that the string contains something like "LLD N.N". However, this is just the cmake default for `LLD_VERSION_STRING`, and downstream users may choose a different value, e.g. a rolling distro may print "LLD trunk".
The file was modifiedlld/test/MachO/driver.test
Commit 747f67e034a924cf308f4c0f1bb6b1fa46bd9fbe by Stanislav.Mekhanoshin
[AMDGPU] Fix adjustWritemask subreg handling

If we happen to extract a non-dword subreg that breaks the
logic of the function and it may shrink the dmask because
it does not recognize the use of a lane(s).

This bug is next to impossible to trigger with the current
lowering in the BE, but it breaks in one of my future patches.

Differential Revision: https://reviews.llvm.org/D93782
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit 245218bb355599771ba43a0fe1449d1670f2666c by Duncan P. N. Exon Smith
Basic: Support named pipes natively in SourceManager and FileManager

Handle named pipes natively in SourceManager and FileManager, removing a
call to `SourceManager::overrideFileContents` in
`CompilerInstance::InitializeSourceManager` (removing a blocker for
sinking the content cache to FileManager (which will incidently sink
this new named pipe logic with it)).

SourceManager usually checks if the file entry's size matches the
eventually loaded buffer, but that's now skipped for named pipes since
the `stat` won't reflect the full size.  Since we can't trust
`ContentsEntry->getSize()`, we also need shift the check for files that
are too large until after the buffer is loaded... and load the buffer
immediately in `createFileID` so that no client gets a bad value from
`ContentCache::getSize`. `FileManager::getBufferForFile` also needs to
treat these files as volatile when loading the buffer.

Native support in SourceManager / FileManager means that named pipes can
also be `#include`d, and clang/test/Misc/dev-fd-fs.c was expanded to
check for that.

This is a new version of 3b18a594c7717a328c33b9c1eba675e9f4bd367c, which
was reverted in b34632201987eed369bb7ef4646f341b901c95b8 since it was
missing the `SourceManager` changes.

Differential Revision: https://reviews.llvm.org/D92531
The file was modifiedclang/lib/Basic/FileManager.cpp
The file was modifiedclang/test/Misc/dev-fd-fs.c
The file was modifiedclang/lib/Basic/SourceManager.cpp
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp