SuccessChanges

Summary

  1. [lldb] Fix import-std-module tests after libc++ got a new __memory subdirectory (details)
  2. [utils] Fix UpdateTestChecks case where 2 runs differ for last label (details)
  3. [SystemZ] Remove most hard-coded R1D instances for sibcalls (details)
  4. [clangd] Improve goToDefinition on auto and dectype (details)
Commit 2b09dedac4c824c51bc0a8934b33c0f50ce0e126 by Raphael Isemann
[lldb] Fix import-std-module tests after libc++ got a new __memory subdirectory

7ad49aec125b3c1205b164331d0aa954d773f890 added a __memory subdirectory to libc++
but the code we use to find libc++ from the debug info support files wasn't
prepared to encounter unknown subdirectories within libc++. The import-std-module
tests automatically fell back to not importing the std module which caused
them to fail.

This patch removes our hardcoded exception for the 'experimental' subdirectory
and instead just ignores all subdirectories of c++/vX/ when searching the
support files.
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp
Commit e2dc306b1ac71258e6ce40a66e778527f282c355 by mtrofin
[utils] Fix UpdateTestChecks case where 2 runs differ for last label

Two RUN lines produce outputs that, each, have some common parts and
some different parts. The common parts are checked under label A. The
differing parts are associated to a function and checked under labels B
and C, respectivelly.
When build_function_body_dictionary is called for the first RUN line, it
will attribute the function body to labels A and C. When the second RUN
is passed to build_function_body_dictionary, it sees that the function
body under A is different from what it has. If in this second RUN line,
A were at the end of the prefixes list, A's body is still kept
associated with the first run's function.

When we output the function body (i.e. add_checks), we stop after
emitting for the first prefix matching that function. So we end up with
the wrong function body (first RUN's A-association).

There is no reason to special-case the last label in the prefixes list,
and the fix is to always clear a label association if we find a RUN line
where the body is different.

Differential Revision: https://reviews.llvm.org/D93078
The file was addedclang/test/utils/update_cc_test_checks/prefix-never-matches.test
The file was addedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/prefix-never-matches.test
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/prefix-never-matches.ll
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/prefix-never-matches.test
The file was addedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/common-label-different-bodies-1.ll
The file was addedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/prefix-never-matches.ll
The file was addedclang/test/utils/update_cc_test_checks/Inputs/prefix-never-matches.cpp
The file was addedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/common-label-different-bodies.test
The file was modifiedllvm/utils/update_test_prefix.py
The file was addedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/common-label-different-bodies-3.ll
The file was modifiedllvm/utils/UpdateTestChecks/common.py
The file was addedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/common-label-different-bodies-2.ll
Commit ebef92169ca5a50fb8aeec08f35ccb919311acc1 by ulrich.weigand
[SystemZ] Remove most hard-coded R1D instances for sibcalls

Indirect sibling calls need to use %r1 to hold the target address.
This is currently hard-coded in many places.  This is not only
unnecessary, but makes future changes in this area difficult.

This patch now encodes the target address as operand without
hard coding a register in most places throughout the MI back-end.
Code generation still always uses %r1, but this is now decided
solely in one place in SystemZTargetLowering::LowerCall.

NFC intended.
The file was modifiedllvm/lib/Target/SystemZ/SystemZElimCompare.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.td
Commit bda7d0af970718c243d93b22a8449c20156e574f by sam.mccall
[clangd] Improve goToDefinition on auto and dectype

locateSymbolAt (used in goToDeclaration) follows the
deduced type instead of failing to locate the declaration.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D92977
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ASTTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/XRefsTests.cpp