SuccessChanges

Summary

  1. [ARM] A couple of small MVE reduction tests from intrinsics. NFC (details)
  2. [BasicAA] Add test for single arg phi in loop (NFC) (details)
  3. [BasicAA] Merge aliasGEP code paths (details)
  4. [ConstraintElimination] Fix variables used for pattern matching. (details)
  5. [ARM] Move PhaseOrdering test to the correct place. NFC (details)
  6. [clang-format] Add possibility to be based on parent directory (details)
  7. [llvm/Support] Add SHA256 implementation (details)
  8. [gn build] Port 656ead1fb7db (details)
  9. Reland "[mlir] add support for verification in integration tests" (details)
Commit bc2e843839ee53800cfd29f7f893bca2b9cbe515 by david.green
[ARM] A couple of small MVE reduction tests from intrinsics. NFC

Also added a PhaseOrdering test, to make sure they are not broken by
VectorCombine cost changes.
The file was addedllvm/test/Transforms/PhaseOrdering/arm_floatreduce.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float32regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float16regloops.ll
Commit da46a2a87bca044fe1577bb0ca674296848453b8 by nikita.ppv
[BasicAA] Add test for single arg phi in loop (NFC)
The file was modifiedllvm/test/Analysis/BasicAA/phi-aa.ll
Commit f197cf2126be3b224cadfe8b1cde9c05f638a0ea by nikita.ppv
[BasicAA] Merge aliasGEP code paths

At this point, we can treat the case of GEP/GEP aliasing and
GEP/non-GEP aliasing in essentially the same way. The only
differences are that we need to do an additional negative GEP base
check, and that we perform a bailout on unknown sizes for the
GEP/non-GEP case (the latter exists only to limit compile-time).

This change is not quite NFC due to the peculiar effect that
the DecomposedGEP for V2 can actually be non-trivial even if V2
is not a GEP. The reason for this is that getUnderlyingObject()
can look through LCSSA phi nodes, while stripPointerCasts() doesn't.
This can lead to slightly better results if single-entry phi nodes
occur inside a loop, where looking through the phi node via aliasPhi()
would subject it to phi cycle equivalence restrictions. It would
probably make sense to adjust pointer cast stripping (for AA) to
handle this case, and ensure consistent results.
The file was modifiedllvm/test/Analysis/BasicAA/phi-aa.ll
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
Commit 3df5d5aace0e61592ffa8e9b950d86099228e77d by flo
[ConstraintElimination] Fix variables used for pattern matching.

Re-using the matched variable in the pattern does not work as expected.
This patch fixes that by introducing a new variable for the 2nd level
match.
The file was modifiedllvm/lib/Transforms/Scalar/ConstraintElimination.cpp
The file was modifiedllvm/test/Transforms/ConstraintElimination/geps.ll
Commit 08c09bb89fd1f0cf46ea3b31abb194556e4d53ed by david.green
[ARM] Move PhaseOrdering test to the correct place. NFC
The file was addedllvm/test/Transforms/PhaseOrdering/ARM/mve-floatreduce.ll
The file was removedllvm/test/Transforms/PhaseOrdering/arm_floatreduce.ll
Commit 25f753c51e7b17bfca08155c1d777c5667110970 by bjoern
[clang-format] Add possibility to be based on parent directory

This allows the define BasedOnStyle: InheritParentConfig and then
clang-format looks into the parent directories for their
.clang-format and takes that as a basis.

Differential Revision: https://reviews.llvm.org/D93844
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
The file was modifiedclang/include/clang/Format/Format.h
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
Commit 656ead1fb7db0afc4927446e5b604491efbba08c by joker.eph
[llvm/Support] Add SHA256 implementation

Adds an *unaudited* SHA-256 implementation to `llvm/Support`. The ongoing lld-macho effort needs this to emit an adhoc code signature for macho files on macOS Big Sur.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D96540
The file was addedllvm/include/llvm/Support/SHA256.h
The file was addedllvm/lib/Support/SHA256.cpp
The file was modifiedllvm/unittests/Support/CMakeLists.txt
The file was modifiedllvm/lib/Support/CMakeLists.txt
The file was addedllvm/unittests/Support/SHA256.cpp
Commit 28315df073328601a5369773ce53156e979bd9d0 by llvmgnsyncbot
[gn build] Port 656ead1fb7db
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Commit 99f3510b413768d8e5a7ad06af5e127ba7fee331 by tobias.gysi
Reland "[mlir] add support for verification in integration tests"

The patch extends the runner utils by verification methods that compare two memrefs. The methods compare the content of the two memrefs and print success if the data is identical up to a small numerical error. The methods are meant to simplify the development of integration tests that compare the results against a reference implementation (cf. the updates to the linalg matmul integration tests).

Originally landed in 5fa893c (https://reviews.llvm.org/D96326) and reverted in dd719fd due to a Windows build failure.

Changes:
- Remove the max function that requires the "algorithm" header on Windows
- Eliminate the truncation warning in the float specialization of verifyElem by using a float constant

Reviewed By: Kayjukh

Differential Revision: https://reviews.llvm.org/D96593
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_column_major.mlir
The file was modifiedmlir/include/mlir/ExecutionEngine/RunnerUtils.h
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_column_major_as_row_major.mlir
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul_i8_i8_i32.mlir
The file was modifiedmlir/integration_test/Dialect/Linalg/CPU/benchmark_matmul.mlir
The file was modifiedmlir/lib/ExecutionEngine/RunnerUtils.cpp