FailedChanges

Summary

  1. [clang-rename] Simplify the code of handling class paritial specializations, NFC. (details)
  2. [Attributor][NFC] Make `createShallowWrapper()` available outside of Attributor (details)
  3. [lldb] Reject redefinitions of persistent variables (details)
  4. Fix typos in the documentation of dynamic values in subview ops (details)
  5. [SVE] Add fatal error when running out of registers for SVE tuple call arguments (details)
  6. [Flang][OpenMP] Rework parser changes for OpenMP atomic construct. (details)
  7. [lldb] [test/Register] Add read/write tests for multithreaded process (details)
  8. [LoopFlatten] Precommit new test cases. NFC. (details)
  9. [SyntaxTree] Improve safety of `replaceChildRangeLowLevel` (details)
  10. [SyntaxTree] Bug fix in `MutationsImpl::addAfter`. (details)
  11. [SyntaxTree][NFC] Nit on `replaceChildRangeLowLevel` (details)
  12. [InstCombine] matchFunnelShift - add support for non-uniform vectors containing undefs. (details)
  13. [LV] Unroll factor is expected to be > 0 (details)
  14. [DebugInstrRef] Parse debug instruction-references from/to MIR (details)
  15. [AArch64] Add more addv tests (details)
  16. Reland "[Support][unittests] Enforce alignment in ConvertUTFTest" (details)
  17. [Test] Auto-update for some tests (details)
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/include/clang/AST/DeclTemplate.h
The file was modifiedclang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp
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/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
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/ClangExpressionDeclMap.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
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 modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64CallingConvention.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-calling-convention-tuples-broken.ll
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/Semantics/check-omp-structure.cpp
The file was addedflang/test/Parser/omp-atomic-unparse.f90
The file was modifiedflang/include/flang/Parser/parse-tree.h
The file was modifiedflang/test/Semantics/omp-atomic.f90
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td
The file was modifiedflang/include/flang/Parser/dump-parse-tree.h
The file was modifiedflang/lib/Semantics/check-omp-structure.h
The file was modifiedflang/lib/Parser/unparse.cpp
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/Inputs/x86-multithread-read.cpp
The file was addedlldb/test/Shell/Register/x86-multithread-read.test
The file was addedlldb/test/Shell/Register/x86-multithread-write.test
The file was addedlldb/test/Shell/Register/Inputs/x86-multithread-write.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
Commit 6fbad9bf304c05d37454420f7d5a1c2ab3adab20 by ecaldas
[SyntaxTree][NFC] Nit on `replaceChildRangeLowLevel`
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp
Commit 1e4d882f9afe3fa5d0085f056b56eec21eb2c087 by llvm-dev
[InstCombine] matchFunnelShift - add support for non-uniform vectors containing undefs.

Replace m_SpecificInt with m_APIntAllowUndef to matching splats containing undefs, then use ConstantExpr::mergeUndefsWith to merge the undefs together in the result.

The undef funnel shift amounts are getting replaced with zero later on - I'll address this in a later patch, otherwise we lose potential shift by splat value patterns.
The file was modifiedllvm/test/Transforms/InstCombine/rotate.ll
The file was modifiedllvm/test/Transforms/InstCombine/funnel.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit d0c95808e50c9f77484dacb8db0dc95b23f9f877 by ybrevnov
[LV] Unroll factor is expected to be > 0

LV fails with assertion checking that UF > 0. We already set UF to 1 if it is 0 except the case when IC > MaxInterleaveCount. The fix is to set UF to 1 for that case as well.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D87679
The file was addedllvm/test/Transforms/LoopVectorize/SystemZ/zero_unroll.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 2c5f3d54c5ee4efdf63736c23a3a7b448a308996 by jeremy.morse
[DebugInstrRef] Parse debug instruction-references from/to MIR

This patch defines the MIR format for debug instruction references: it's an
integer trailing an instruction, marked out by "debug-instr-number", much
like how "debug-location" identifies the DebugLoc metadata of an
instruction. The instruction number is stored directly in a MachineInstr.

Actually referring to an instruction comes in a later patch, but is done
using one of these instruction numbers.

I've added a round-trip test and two verifier checks: that we don't label
meta-instructions as generating values, and that there are no duplicates.

Differential Revision: https://reviews.llvm.org/D85746
The file was addedllvm/test/DebugInfo/MIR/InstrRef/no-metainstrs.mir
The file was modifiedllvm/include/llvm/CodeGen/MachineInstr.h
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineFunction.h
The file was modifiedllvm/lib/CodeGen/MIRParser/MIParser.cpp
The file was modifiedllvm/lib/CodeGen/MIRParser/MILexer.h
The file was modifiedllvm/lib/CodeGen/MachineFunction.cpp
The file was modifiedllvm/lib/CodeGen/MIRParser/MILexer.cpp
The file was modifiedllvm/lib/CodeGen/MIRParser/MIRParser.cpp
The file was modifiedllvm/lib/CodeGen/MIRPrinter.cpp
The file was addedllvm/test/DebugInfo/MIR/InstrRef/instr-ref-roundtrip.mir
The file was addedllvm/test/DebugInfo/MIR/InstrRef/no-duplicates.mir
Commit a6ad5930d5f51a14b6828cfb4bd661c9e7e6e83e by vinay
[AArch64] Add more addv tests

Differential Revision: https://reviews.llvm.org/D89365
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-addv.ll
Commit 3b956a58f3c51d49b54cfba24a5c241a68078a53 by ro
Reland "[Support][unittests] Enforce alignment in ConvertUTFTest"

This relands commit 53b3873cf428fd78f1d92504cc20adf11181ead7.  The failure
of `ConvertUTFTest.UTF16WrappersForConvertUTF16ToUTF8String` detected the
first time is fixed.

Differential Revision: https://reviews.llvm.org/D88824
The file was modifiedllvm/unittests/Support/ConvertUTFTest.cpp
The file was modifiedllvm/lib/Support/ConvertUTFWrapper.cpp
Commit be8344f2a5d41650128fd046f4c8917a9a164830 by mkazantsev
[Test] Auto-update for some tests
The file was modifiedllvm/test/Transforms/IndVarSimplify/lftr-pr31181.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/floating-point-iv.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/lftr.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/X86/eliminate-trunc.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/infer-poison-flags.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/lftr-dead-ivs.ll

Summary

  1. [LNT] Pin Python version in Dockerfile to 3.7 temporarily (details)
Commit 60343998f7907b77e24f01c94c48ea6c753eca7e by thomasp
[LNT] Pin Python version in Dockerfile to 3.7 temporarily

Python 3.9 has been released and one of the dependencies of LNT does not compiler under it.  pyyaml seems to fail during building:

```
ext/_yaml.c: In function '__Pyx_modinit_type_init_code':
    ext/_yaml.c:25698:25: error: 'PyTypeObject' {aka 'struct _typeobject'} has no member named 'tp_print'
    25698 |   __pyx_type_5_yaml_Mark.tp_print = 0;
          |                         ^
    ext/_yaml.c:25718:28: error: 'PyTypeObject' {aka 'struct _typeobject'} has no member named 'tp_print'
    25718 |   __pyx_type_5_yaml_CParser.tp_print = 0;
          |                            ^
    ext/_yaml.c:25732:29: error: 'PyTypeObject' {aka 'struct _typeobject'} has no member named 'tp_print'
    25732 |   __pyx_type_5_yaml_CEmitter.tp_print = 0;
          |                             ^
```

Presumably because the header has changed under python 3.9.  For now let's pin the Dockerfile to 3.7 until this is sorted so LNT can still run.

Reviewed By: thopre

Differential Revision: https://reviews.llvm.org/D89377
The file was modifieddocker/Dockerfile (diff)