SuccessChanges

Summary

  1. Add a break statement to appease the build bots; NFC (details)
  2. [InstCombine] recognizeBSwapOrBitReverseIdiom - add vector support (details)
  3. [ARM] Fix pointer offset when splitting stores from VMOVDRR (details)
  4. Add indented raw_ostream class (details)
  5. [InstCombine] Add or(shl(v,and(x,bw-1)),lshr(v,bw-and(x,bw-1))) rotate tests (details)
  6. Revert "Add indented raw_ostream class" (details)
Commit 089e628b61f929ccd26565cd4118395f0a0273c3 by aaron
Add a break statement to appease the build bots; NFC
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
Commit aacfe2be53d441d256091b2b495875a69fc2f285 by llvm-dev
[InstCombine] recognizeBSwapOrBitReverseIdiom - add vector support

Add basic vector handling to recognizeBSwapOrBitReverseIdiom/collectBitParts - this works at the element level, all vector element operations must match (splat constants etc.) and there is no cross-element support (insert/extract/shuffle etc.).
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll
Commit 7feafa0286f1f5e059d70a9a9f4168f32db3b444 by david.green
[ARM] Fix pointer offset when splitting stores from VMOVDRR

We were not accounting for the pointer offset when splitting a store from
a VMOVDRR node, which could lead to incorrect aliasing info. In this
case it is the fneg via integer arithmetic that gives us a store->load
pair that we started getting wrong.

Differential Revision: https://reviews.llvm.org/D88653
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/vmovdrroffset.ll
Commit 78530ce65375fa02bc96019e5cc9d73db8adaca4 by jpienaar
Add indented raw_ostream class

Class simplifies keeping track of the indentation while emitting. For every new line the current indentation is simply prefixed (if not at start of line, then it just emits as normal). Add a simple Region helper that makes it easy to have the C++ scope match the emitted scope.

Use this in op doc generator and rewrite generator.

Differential Revision: https://reviews.llvm.org/D84107
The file was modifiedmlir/lib/Support/CMakeLists.txt
The file was addedmlir/include/mlir/Support/IndentedOstream.h
The file was addedmlir/lib/Support/IndentedOstream.cpp
The file was addedmlir/unittests/Support/IndentedOstreamTest.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDocGen.cpp
The file was addedmlir/unittests/Support/CMakeLists.txt
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
The file was modifiedmlir/tools/mlir-tblgen/CMakeLists.txt
Commit b82a7486d108a708f00c00feed784f34711300db by llvm-dev
[InstCombine] Add or(shl(v,and(x,bw-1)),lshr(v,bw-and(x,bw-1))) rotate tests

If we know the shift amount is less than the bitwidth we should be able to convert this to a rotate/funnel shift
The file was modifiedllvm/test/Transforms/InstCombine/rotate.ll
Commit be185b6a7355fdfeb1c31df2e1272366fe58b01f by jpienaar
Revert "Add indented raw_ostream class"

This reverts commit 78530ce65375fa02bc96019e5cc9d73db8adaca4.

Fails on shared_lib build.
The file was modifiedmlir/tools/mlir-tblgen/CMakeLists.txt
The file was modifiedmlir/tools/mlir-tblgen/OpDocGen.cpp
The file was removedmlir/include/mlir/Support/IndentedOstream.h
The file was modifiedmlir/lib/Support/CMakeLists.txt
The file was removedmlir/unittests/Support/IndentedOstreamTest.cpp
The file was removedmlir/lib/Support/IndentedOstream.cpp
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
The file was removedmlir/unittests/Support/CMakeLists.txt