SuccessChanges

Summary

  1. [mlir][Shape] Make sure tensor_cast(constant_shape) folding uses the correct type (details)
  2. [Hexagon] Fold single-use variables into assert. NFCI. (details)
  3. [lldb][NFC] Fix a typo in TestCppMultipleInheritance (details)
  4. Remove Shapet assignment operator that's identical to the default. NFC. (details)
  5. [TruncInstCombine] Remove scalable vector restriction (details)
  6. [mlir] Explicitly track branch instructions in translation to LLVM IR (details)
  7. [ARM] Remove copies from low overhead phi inductions. (details)
Commit 1d00508c5bf0d43203e11765ce84cdd6cf257856 by benny.kra
[mlir][Shape] Make sure tensor_cast(constant_shape) folding uses the correct type

This is still subtle, but I think the test cases are sufficient to show
that it works.

Differential Revision: https://reviews.llvm.org/D92927
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Shape/IR/ShapeCanonicalization.td
Commit eeb713bbe24207343c8666a3240265758cd4fabd by benny.kra
[Hexagon] Fold single-use variables into assert. NFCI.

Silences unused variable warnings in Release builds.
The file was modifiedllvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
Commit 4df4edb6ad14c7748acda8670944cde19d537621 by Raphael Isemann
[lldb][NFC] Fix a typo in TestCppMultipleInheritance
The file was modifiedlldb/test/API/lang/cpp/multiple-inheritance/TestCppMultipleInheritance.py
Commit 60806e856a18262c544244f96739db2d9ac59424 by benny.kra
Remove Shapet assignment operator that's identical to the default. NFC.
The file was modifiedllvm/include/llvm/CodeGen/TileShapeInfo.h
Commit 137674f882fc7d08fc9bff8acecc240699eac096 by JunMa
[TruncInstCombine] Remove scalable vector restriction

Differential Revision: https://reviews.llvm.org/D92819
The file was modifiedllvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
The file was modifiedllvm/test/Transforms/AggressiveInstCombine/trunc_const_expr.ll
Commit db884dafb7b5771e6ae01e8252f1520fac3e1c77 by zinenko
[mlir] Explicitly track branch instructions in translation to LLVM IR

The current implementation of the translation to LLVM IR relies on the
existence of a one-to-one mapping between MLIR blocks and LLVM IR basic blocks
in order to configure PHI nodes with appropriate source blocks. The one-to-one
mapping model is broken in presence of OpenMP operations that use LLVM's
OpenMPIRBuilder, which produces multiple blocks under the hood. This can lead
to invalid LLVM IR being emitted if OpenMPIRBuilder moved the branch operation
into a basic block different from the one it was originally created in;
specifically, a block that is not a direct predecessor could be used in the PHI
node. Instead, keep track of the mapping between MLIR LLVM dialect branch
operations and their LLVM IR counterparts and take the parent basic block of
the LLVM IR instruction at the moment of connecting the PHI nodes to
predecessors.

This behavior cannot be triggered as of now, but will be once we introduce the
conversion of OpenMP workshare loops.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D92845
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
Commit b0ce615b2d29524b0b3541d07dd561665b710e79 by david.green
[ARM] Remove copies from low overhead phi inductions.

The phi created in a low overhead loop gets created with a default
register class it seems. There are then copied inserted between the low
overhead loop pseudo instructions (which produce/consume GPRlr
instructions) and the phi holding the induction. This patch removes
those as a step towards attempting to make t2LoopDec and t2LoopEnd a
single instruction, and appears useful in it's own right as shown in the
tests.

Differential Revision: https://reviews.llvm.org/D91267
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-tailpred.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fma-loops.ll
The file was modifiedllvm/lib/Target/ARM/MVEVPTOptimisationsPass.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/count_dominates_start.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-vctpvpsel.ll