SuccessChanges

Summary

  1. Serialization: Change InputFile to use FileEntryRef and add getVirtualFileRef, NFC (details)
  2. [OpenMP][Tests][NFC] Use FileCheck from cmake config (details)
  3. [llvm-symbolizer] Fix native symbolization on windows for inline sites. (details)
  4. [lldb] Give TestDefaultTemplateArgs a unique class name (details)
  5. FileManager: Add FileEntryRef::getDir, returning DirectoryEntryRef (details)
  6. Remove dead code added in ac49500cd0484e1b2dcf37fa4c0dade6f113c2c9, NFC (details)
  7. [llvm-symbolizer] Fix typo in llvm-symbolizer test from a previous commit. (details)
  8. [clang][RelativeVTablesABI] Use dso_local_equivalent rather than emitting stubs (details)
  9. [InlineCost] prefer range-for. NFC (details)
  10. Fix GCC 5.3 compile error in ASTImporter code (details)
  11. [libcxx] remove checks for __STDCPP_THREADS__ as it is defined by compiler (details)
  12. [AArch64][GlobalISel] Fix crash during legalization of a vector G_SELECT with scalar mask. (details)
Commit ac40a2d8f16b8a8c68fc811d67f647740e965cb8 by Duncan P. N. Exon Smith
Serialization: Change InputFile to use FileEntryRef and add getVirtualFileRef, NFC

Change the `InputFile` class to store `Optional<FileEntryRef>` instead
of `FileEntry*`. This paged in a few API changes:

- Added `FileManager::getVirtualFileRef`, and converted `getVirtualFile`
  to a wrapper of it.
- Updated `SourceManager::bypassFileContentsOverride` to take
  `FileEntryRef` and return `Optional<FileEntryRef>`
  (`ASTReader::getInputFile` is the only caller).

Differential Revision: https://reviews.llvm.org/D90053
The file was modifiedclang/lib/Basic/FileManager.cpp
The file was modifiedclang/include/clang/Basic/SourceManager.h
The file was modifiedclang/include/clang/Serialization/ModuleFile.h
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/include/clang/Basic/FileManager.h
The file was modifiedclang/lib/Basic/SourceManager.cpp
Commit fd3d1b09c12f1419292172627dbca9929f0daf39 by protze
[OpenMP][Tests][NFC] Use FileCheck from cmake config
The file was modifiedopenmp/runtime/test/lit.cfg
Commit 00bbef2bb20cf212722de282e4eb9afd09ab50db by akhuang
[llvm-symbolizer] Fix native symbolization on windows for inline sites.

The existing code handles this correctly and I checked that the code
in NativeInlineSiteSymbol also handles this correctly, but it was
wrong in the NativeFunctionSymbol code.

Differential Revision: https://reviews.llvm.org/D92134
The file was modifiedlld/test/COFF/symbolizer-inline.s
The file was modifiedllvm/lib/DebugInfo/PDB/Native/NativeFunctionSymbol.cpp
Commit 1b9f214efca7d5855f4e3dd1969c4cbe77078f97 by Jonas Devlieghere
[lldb] Give TestDefaultTemplateArgs a unique class name

Multiple tests cannot share the same test class name.
The file was modifiedlldb/test/API/lang/cpp/default-template-args/TestDefaultTemplateArgs.py
Commit 1b042de5b29af4869a77ecbc632029fba0313dec by Duncan P. N. Exon Smith
FileManager: Add FileEntryRef::getDir, returning DirectoryEntryRef

Add `FileEntryRef::getDir`, which returns a `DirectoryEntryRef`. This
includes a few changes:

- Customize `OptionalStorage` so that `Optional<DirectoryEntryRef>` is
  pointer-sized (like the change made to `Optional<FileEntryRef>`).
  Factored out a common class, `FileMgr::MapEntryOptionalStorage`, to
  reduce the code duplication.
- Store an `Optional<DirectoryEntryRef>` in `FileEntryRef::MapValue`.
  This is set if and only if `MapValue` has a real `FileEntry`.
- Change `FileManager::getFileRef` and `getVirtualFileRef` to use
  `getDirectoryRef` and store it in the `StringMap` for `FileEntryRef`.

Differential Revision: https://reviews.llvm.org/D90484
The file was modifiedclang/lib/Basic/FileManager.cpp
The file was modifiedclang/include/clang/Basic/FileEntry.h
The file was modifiedclang/unittests/Basic/FileEntryTest.cpp
The file was modifiedclang/include/clang/Basic/DirectoryEntry.h
Commit 94f537c6b2bb55c8e058a9989d02ab0d68a0c61a by Duncan P. N. Exon Smith
Remove dead code added in ac49500cd0484e1b2dcf37fa4c0dade6f113c2c9, NFC

This was a copy/paste bug; `M0` is never referenced later.
The file was modifiedclang/unittests/Basic/FileEntryTest.cpp
Commit 8cdf4920c47ddd3d60bdc3298f525512d483ce65 by akhuang
[llvm-symbolizer] Fix typo in llvm-symbolizer test from a previous commit.

(Commit was 00bbef2bb20cf212722de282e4eb9afd09ab50db)
The file was modifiedlld/test/COFF/symbolizer-inline.s
Commit cf8ff75bade763b054476321dcb82dcb2e7744c7 by leonardchan
[clang][RelativeVTablesABI] Use dso_local_equivalent rather than emitting stubs

Thanks to D77248, we can bypass the use of stubs altogether and use PLT
relocations if they are available for the target. LLVM and LLD support the
R_AARCH64_PLT32 relocation, so we can also guarantee a static PLT relocation on AArch64.
Not emitting these stubs saves a lot of extra binary size.

Differential Revision: https://reviews.llvm.org/D83812
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/parent-and-child-in-comdats.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/parent-vtable-in-comdat.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/child-vtable-in-comdat.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
The file was removedclang/test/CodeGenCXX/RelativeVTablesABI/pass-byval-attributes.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
The file was removedclang/test/CodeGenCXX/RelativeVTablesABI/no-stub-when-dso-local.cpp
The file was modifiedclang/lib/CodeGen/CGVTables.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
The file was removedclang/test/CodeGenCXX/RelativeVTablesABI/stub-linkages.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
Commit 91aff1d8bae02fc65970b52895f05d3574cbb481 by ndesaulniers
[InlineCost] prefer range-for. NFC

Prefer range-for over iterators when such methods exist. Precommitted
from https://reviews.llvm.org/D91816.

Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D92350
The file was modifiedllvm/lib/Analysis/InlineCost.cpp
Commit 43b5b485a203f190ee4d5d3cab19c44ca865d316 by rnk
Fix GCC 5.3 compile error in ASTImporter code

Try to simplify this code a different way: use less Expected, more
outparams.
The file was modifiedclang/lib/AST/ASTImporter.cpp
Commit 871f96eed3797061c8b1c82fb77d077d110a2da7 by zequanwu
[libcxx] remove checks for __STDCPP_THREADS__ as it is defined by compiler

Differential Revision: https://reviews.llvm.org/D92349
The file was modifiedlibcxx/include/__config
Commit 87ff156414370043cf149e0c77513c5227b336b1 by Amara Emerson
[AArch64][GlobalISel] Fix crash during legalization of a vector G_SELECT with scalar mask.

The lowering of vector selects needs to first splat the scalar mask into a vector
first.

This was causing a crash when building oggenc in the test suite.

Differential Revision: https://reviews.llvm.org/D91655
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp