SuccessChanges

Summary

  1. [ARM] Prettify gather/scatter debug comments. NFC (details)
  2. [mlir][linalg] Cleanup LinalgOp usage in test passes. (details)
  3. [mlir][linalg] Cleanup LinalgOp usage in bufferize, detensorize, and interchange. (details)
  4. [LLD] [COFF] Fix autoexport from LTO objects with comdat symbols (details)
  5. [mlir][linalg] Cleanup LinalgOp usage in drop unit dims. (details)
  6. [lit] Fix testing of standalone clang and lld builds (details)
  7. [mlir][linalg] Transform PadTensorOp into InitOp, FillOp, GenericOp (details)
  8. [mlir][linalg] Cleanup LinalgOp usage in loop lowering. (details)
  9. [libc++] Remove unused variable warnings (details)
  10. [mlir][linalg] Cleanup LinalgOp usage in op declarations. (details)
  11. [analyzer] Add forwarding `addVisitor` method (details)
  12. [Matrix] Preserve existing fast-math flags during lowering (details)
  13. [flang] Check for duplicate definitions of defined input/output procedures (details)
Commit 929c54379a48ef7b91c28f46b4a57eb8cca863d8 by david.green
[ARM] Prettify gather/scatter debug comments. NFC
The file was modifiedllvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
Commit 9f815cb57833a00a4db6e24598d0a80433e404be by gysit
[mlir][linalg] Cleanup LinalgOp usage in test passes.

Replace the uses of deprecated Structured Op Interface methods in TestLinalgElementwiseFusion.cpp, TestLinalgFusionTransforms.cpp, and Transforms.cpp. The patch is based on https://reviews.llvm.org/D103394.

Differential Revision: https://reviews.llvm.org/D103528
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
Commit 7c234ae549eadcf362f82198d5416d0019d9690c by gysit
[mlir][linalg] Cleanup LinalgOp usage in bufferize, detensorize, and interchange.

Replace the uses of deprecated Structured Op Interface methods in Bufferize.cpp, Detensorize.cpp, and Interchange.cpp. The patch is based on https://reviews.llvm.org/D103394.

Differential Revision: https://reviews.llvm.org/D103530
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Interchange.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
Commit 728cc0075e5dfdb454ebe6418b63bdffae71ec14 by martin
[LLD] [COFF] Fix autoexport from LTO objects with comdat symbols

Make sure that comdat symbols also have a non-null dummy
SectionChunk associated.

This requires moving around an existing FIXME regarding comdats in
LTO.

Differential Revision: https://reviews.llvm.org/D103012
The file was modifiedlld/COFF/InputFiles.cpp
The file was modifiedlld/test/COFF/export-all-lto.ll
Commit c698505257598d04f8e92a7ee79bfdf7c2cc6020 by gysit
[mlir][linalg] Cleanup LinalgOp usage in drop unit dims.

Replace the uses of deprecated Structured Op Interface methods in DropUnitDims.cpp. This patch is based on https://reviews.llvm.org/D103394.

Differential Revision: https://reviews.llvm.org/D103448
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
Commit 3d2c9069dcafd0cbb641841aa3dd6e851fb7d760 by thomasp
[lit] Fix testing of standalone clang and lld builds

In such cases, the executables are not in the llvm_tools_dir directory, so we need to look in the other search locations. Previously, they were found via the PATH, but this was disabled by default in commit rGa1e6565.

Depends on D103154.

Reviewed By: thopre

Differential Revision: https://reviews.llvm.org/D103156
The file was addedllvm/utils/lit/tests/Inputs/use-llvm-tool/search3/case9.exe
The file was addedllvm/utils/lit/tests/Inputs/use-llvm-tool/build/case9.exe
The file was addedllvm/utils/lit/tests/Inputs/use-llvm-tool/build/case10
The file was modifiedllvm/utils/lit/lit/llvm/config.py
The file was modifiedllvm/utils/lit/tests/use-llvm-tool.py
The file was addedllvm/utils/lit/tests/Inputs/use-llvm-tool/path/case10.exe
The file was addedllvm/utils/lit/tests/Inputs/use-llvm-tool/search1/empty
The file was addedllvm/utils/lit/tests/Inputs/use-llvm-tool/build/case9
The file was addedllvm/utils/lit/tests/Inputs/use-llvm-tool/build/case10.exe
The file was modifiedllvm/utils/lit/tests/Inputs/use-llvm-tool/lit.cfg
The file was addedllvm/utils/lit/tests/Inputs/use-llvm-tool/search2/case9
The file was addedllvm/utils/lit/tests/Inputs/use-llvm-tool/path/case10
The file was addedllvm/utils/lit/tests/Inputs/use-llvm-tool/search2/case9.exe
The file was addedllvm/utils/lit/tests/Inputs/use-llvm-tool/search3/case9
Commit 0804a88e48ac23bcf73d6b985ef755559419ee11 by springerm
[mlir][linalg] Transform PadTensorOp into InitOp, FillOp, GenericOp

Introduces a test pass that rewrites PadTensorOps with static shapes as a sequence of:

```
linalg.init_tensor // to create output
linalg.fill        // to initialize with padding value
linalg.generic     // to copy the original contents to the padded tensor
```

The pass can be triggered with:

- `--test-linalg-transform-patterns="test-transform-pad-tensor"`

Differential Revision: https://reviews.llvm.org/D102804
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
The file was addedmlir/test/Dialect/Linalg/lower-pad-tensor.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
Commit 6b265f949f6a5e92075eff018fa0f924bcc5da48 by gysit
[mlir][linalg] Cleanup LinalgOp usage in loop lowering.

Replace the uses of deprecated Structured Op Interface methods in Loops.cpp. This patch is based on https://reviews.llvm.org/D103394.

Differential Revision: https://reviews.llvm.org/D103453
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
Commit 2cf78d4ead4a2ab5375bd6087724211d04119a28 by Louis Dionne
[libc++] Remove unused variable warnings

Since D100581, Clang started flagging this variable which is set but
never read. Based on comparing this function with __match_at_start_posix_nosubs
(which is very similar), I am pretty confident that `__j` was simply left
behind as an oversight in Howard's 6afe8b0a2336.

Also workaround some unused variable warnings in the <random> tests.
It's pretty lame that we're not asserting the skew and kurtosis of
the binomial and negative binomial distributions, but that should be
tackled separately.

Differential Revision: https://reviews.llvm.org/D103533
The file was modifiedlibcxx/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp
The file was modifiedlibcxx/include/regex
The file was modifiedlibcxx/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/eval.pass.cpp
Commit 8fb6c31cbba51b494f232273cdc54dc0788fcd59 by gysit
[mlir][linalg] Cleanup LinalgOp usage in op declarations.

Replace the uses of deprecated Structured Op Interface methods in LinalgOps.cpp. This patch is based on https://reviews.llvm.org/D103394.

Differential Revision: https://reviews.llvm.org/D103506
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Commit 92d03c20ea71479c78a29da09e377e040d37c3a5 by vsavchenko
[analyzer] Add forwarding `addVisitor` method

The majority of all `addVisitor` callers follow the same pattern:
  addVisitor(std::make_unique<SomeVisitor>(arg1, arg2, ...));

This patches introduces additional overload for `addVisitor` to simplify
that pattern:
  addVisitor<SomeVisitor>(arg1, arg2, ...);

Differential Revision: https://reviews.llvm.org/D103457
The file was modifiedclang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporter.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
Commit 83235b07e3c9c2d21a574465287150e7bf750001 by flo
[Matrix] Preserve existing fast-math flags during lowering

This patch makes it so, floating-point instructions created in
LowerMatrixIntrinsics retain fast-math flags from instructions that are
higher up the chain.

Fixes https://bugs.llvm.org/show_bug.cgi?id=49738

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D103233
The file was modifiedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-double-contraction-fmf.ll
The file was modifiedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-double-contraction.ll
The file was modifiedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops.ll
The file was modifiedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-minimal.ll
The file was modifiedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused.ll
The file was modifiedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-float-contraction-fmf.ll
The file was addedllvm/test/Transforms/LowerMatrixIntrinsics/preserve-existing-fast-math-flags.ll
The file was modifiedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-float-contraction.ll
The file was modifiedllvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
The file was modifiedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-multiple-blocks.ll
The file was modifiedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-volatile.ll
Commit 22d7e298dc35a2319d7b71ee78732b0a3a86893d by psteinfeld
[flang] Check for duplicate definitions of defined input/output procedures

It's possible to specify defined input/output procedures either as a
type-bound procedure of a derived type or as a defined-io-generic-spec.  This
means that you can specify the same procedure in both mechanisms, which does
not cause problems.  Alternatively, you can specify two different procedures to
be the defined input/output procedure for the same derived type.  This is an
error.  This change catches this error.  The situation is slightly complicated
by parameterized derived types.  Types with the same value for a KIND parameter
are treated as the same type while types with different KIND parameters are
treated as different types.

I implemented this check by adding a vector to keep track of which defined
input/output procedures had been seen for which derived types along with the
kind of procedure (read vs write and formatted vs unformatted).  I also added
tests for non-parameterized types and types parameterized by KIND and LEN type
parameters.

I also removed an erroneous check from the code that creates runtime type
information.

Differential Revision: https://reviews.llvm.org/D103560
The file was modifiedflang/test/Semantics/io11.f90
The file was modifiedflang/lib/Semantics/check-declarations.cpp
The file was modifiedflang/lib/Semantics/runtime-type-info.cpp