SuccessChanges

Summary

  1. [libcxxabi,libunwind] support running tests in standalone mode (details)
  2. [test][lld] Mark TLS tests as REQUIRES: x86. (details)
  3. [clang-rename] Simplify the code of handling class paritial specializations, NFC. (details)
  4. [Attributor][NFC] Make `createShallowWrapper()` available outside of Attributor (details)
  5. [lldb] Reject redefinitions of persistent variables (details)
  6. Fix typos in the documentation of dynamic values in subview ops (details)
  7. [SVE] Add fatal error when running out of registers for SVE tuple call arguments (details)
  8. [Flang][OpenMP] Rework parser changes for OpenMP atomic construct. (details)
  9. [lldb] [test/Register] Add read/write tests for multithreaded process (details)
  10. [LoopFlatten] Precommit new test cases. NFC. (details)
  11. [SyntaxTree] Improve safety of `replaceChildRangeLowLevel` (details)
  12. [SyntaxTree] Bug fix in `MutationsImpl::addAfter`. (details)
Commit 8c03fdf34a659925a3f09c8f54016e47ea1c7519 by dominik.montada
[libcxxabi,libunwind] support running tests in standalone mode

Remove check for standalone and shared library mode in libcxxabi to
allow including tests in said mode. This check prevented running the
tests in standalone mode with static libraries, which is the case for
baremetal targets.

Fix check-unwind target trying to use a non-existent llvm-lit executable
in standalone mode. Copy the HandleOutOfTreeLLVM logic from libcxxabi to
libunwind in order to make the tests work in standalone mode.

Reviewed By: ldionne, #libc_abi, #libc

Differential Revision: https://reviews.llvm.org/D86540
The file was modifiedlibcxxabi/CMakeLists.txt
The file was removedlibcxxabi/cmake/Modules/HandleOutOfTreeLLVM.cmake
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibunwind/test/CMakeLists.txt
The file was modifiedlibcxx/cmake/Modules/HandleOutOfTreeLLVM.cmake
The file was modifiedlibunwind/CMakeLists.txt
Commit dc128e5968ccc632f7875ece639b0d2c94b170a6 by me
[test][lld] Mark TLS tests as REQUIRES: x86.

Fixes http://lab.llvm.org:8011/#/builders/119/builds/92
The file was modifiedlld/test/COFF/tls-alignment-32.ll
The file was modifiedlld/test/COFF/tls-alignment-64.ll
Commit 27c691cf62a9b34789516a24233fa0ee7bbd8111 by hokein.wu
[clang-rename] Simplify the code of handling class paritial specializations, NFC.

Instead of collecting all specializations and doing a post-filterin, we
can just get all targeted specializations from getPartialSpecializationsizations.

Differential Revision: https://reviews.llvm.org/D89220
The file was modifiedclang/lib/AST/DeclTemplate.cpp
The file was modifiedclang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp
The file was modifiedclang/include/clang/AST/DeclTemplate.h
Commit ce16be253c4d772c072325df5776b5324c2c90c1 by sstipanovic
[Attributor][NFC] Make `createShallowWrapper()` available outside of Attributor

D85703 will need to create shallow wrappers in order to track the spmd icv. We need to make it available.

Differential Revision: https://reviews.llvm.org/D89342
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit cb81e662a58908913f342520e4c010564a68126a by Raphael Isemann
[lldb] Reject redefinitions of persistent variables

Currently one can redefine a persistent variable and LLDB will just silently
ignore the second definition:

```
(lldb) expr int $i = 1
(lldb) expr int $i = 2
(lldb) expr $i
(int) $i = 1
```

This patch makes this an error and rejects the expression with the second
definition.

A nice follow up would be to refactor LLDB's persistent variables to not just be
a pair of type and name, but also contain some way to obtain the original
declaration and source code that declared the variable. That way we could
actually make a full diagnostic as we would get from redefining a variable twice
in the same expression.

Reviewed By: labath, shafik, JDevlieghere

Differential Revision: https://reviews.llvm.org/D89310
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
The file was modifiedlldb/test/API/commands/expression/persistent_variables/TestPersistentVariables.py
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
Commit 2b60291285b241fc19f5a4e3f2e814157e0f5984 by nicolas.vasilache
Fix typos in the documentation of dynamic values in subview ops

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D89338
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
Commit af57a0838eba528c2e5bd805d92c611435fca0d8 by david.sherwood
[SVE] Add fatal error when running out of registers for SVE tuple call arguments

When passing SVE types as arguments to function calls we can run
out of hardware SVE registers. This is normally fine, since we
switch to an indirect mode where we pass a pointer to a SVE stack
object in a GPR. However, if we switch over part-way through
processing a SVE tuple then part of it will be in registers and
the other part will be on the stack. This is wrong and we'd like
to avoid any silent ABI compatibility issues in future. For now,
I've added a fatal error when this happens until we can get a
proper fix.

Differential Revision: https://reviews.llvm.org/D89326
The file was addedllvm/test/CodeGen/AArch64/sve-calling-convention-tuples-broken.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64CallingConvention.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit d95d3d2a42cb43fca956efe60ab5965d84b0efd5 by joshisameeran17
[Flang][OpenMP] Rework parser changes for OpenMP atomic construct.

`OmpStructureChecker` is supposed to work only with `parser::OmpClause`
after tablegen changes for OpenMP and OpenACC were introduced.
Hence `OmpMemoryOrderClause`, `OmpAtomicMemoryOrderClause` and similar ones were failing
to catch semantic errors, inspite of having code for semantic checks.
This patch tries to change parser for `OmpMemoryOrderClause` and similar dependent ones
and use `OmpClauseList` which resides/comes from common tablegen for OpenMP/OpenACC eventually using `parser::OmpClause`.

This patch also tries to :
1. Change `OmpCriticalDirective` in `openmp-parsers.cpp` to support `OmpClauseList`.
2. Check-flang regresses when changes were introduced due to missing semantic checks in OmpCritical, patch implements them at the minimal level to pass the regression.
3. Change tablegen to support Hint clause.
4. Adds missing source locations `CharBlock Source` in each atomic construct.
5. Remove dead code realted to `memory-order-clauses` after moving to `OmpClauseList`.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D88965
The file was modifiedflang/lib/Parser/openmp-parsers.cpp
The file was modifiedflang/lib/Parser/unparse.cpp
The file was modifiedflang/lib/Semantics/check-omp-structure.h
The file was addedflang/test/Parser/omp-atomic-unparse.f90
The file was modifiedflang/include/flang/Parser/dump-parse-tree.h
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td
The file was modifiedflang/test/Semantics/omp-atomic.f90
The file was modifiedflang/include/flang/Parser/parse-tree.h
Commit caedbc317a5a4f046c345c136387e3ca199d8503 by mgorny
[lldb] [test/Register] Add read/write tests for multithreaded process

Add a test to verify that 'register read' and 'register write' commands
work correctly in a multithreaded program, in particular that they read
or write registers for the correct thread.  The tests use locking
to ensure that events are serialized and the test can execute reliably.

Differential Revision: https://reviews.llvm.org/D89248
The file was addedlldb/test/Shell/Register/x86-multithread-write.test
The file was addedlldb/test/Shell/Register/x86-multithread-read.test
The file was addedlldb/test/Shell/Register/Inputs/x86-multithread-write.cpp
The file was addedlldb/test/Shell/Register/Inputs/x86-multithread-read.cpp
Commit 20c7ab87a78c8d808a7d1e662d5bfd580dcdc12e by sjoerd.meijer
[LoopFlatten] Precommit new test cases. NFC.
The file was addedllvm/test/Transforms/LoopFlatten/limit-not-invariant.ll
Commit 4178f8f2f08e14abb341fb32dd0f4cc9320df072 by ecaldas
[SyntaxTree] Improve safety of `replaceChildRangeLowLevel`

* Add assertions for other preconditions.
* If nothing is modified, don't mark it.

Differential Revision: https://reviews.llvm.org/D89303
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp
Commit 72732acade77d5ee55a818e2da77a2c5b7033ccb by ecaldas
[SyntaxTree] Bug fix in `MutationsImpl::addAfter`.

* Add assertions to other `MutationsImpl` member functions
* `findPrevious` is a free function

Differential Revision: https://reviews.llvm.org/D89314
The file was modifiedclang/lib/Tooling/Syntax/Mutations.cpp