[all-commits] [llvm/llvm-project] 2e78c2: [RISCV] Simplify the description for ssaia and sma...

Fangrui Song via All-commits all-commits at lists.llvm.org
Fri Jan 12 10:10:07 PST 2024


  Branch: refs/heads/users/MaskRay/spr/x86-add-ws-constraint-and-p-modifier-for-symbolic-addresslabel-reference
  Home:   https://github.com/llvm/llvm-project
  Commit: 2e78c220fc18bc79cf396b96c65de6d4446318c6
      https://github.com/llvm/llvm-project/commit/2e78c220fc18bc79cf396b96c65de6d4446318c6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td

  Log Message:
  -----------
  [RISCV] Simplify the description for ssaia and smaia. (#77870)

It feels more important to expand out Advanced Interrupt Architecture
for users than to have a description that explains how one extension is
different from the other.


  Commit: 249186701d5c74a36d5a1c8ccb5de2deac42944a
      https://github.com/llvm/llvm-project/commit/249186701d5c74a36d5a1c8ccb5de2deac42944a
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
    M mlir/test/Dialect/NVGPU/invalid.mlir

  Log Message:
  -----------
  [mlir][nvgpu] Improve verifier of `ldmatrix` (#77807)

PR improves the verifier of `nvgpu.ldmatrix` Op, so `nvgpu-to-nvvm`
lowering does not crash.


  Commit: c297597e1cc0e731540ec72334a305490db21fe6
      https://github.com/llvm/llvm-project/commit/c297597e1cc0e731540ec72334a305490db21fe6
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M mlir/test/lib/Interfaces/TilingInterface/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Fix linking failure of libMLIRTilingInterfaceTestPasses.dylib (NFC)


  Commit: f489fb3d75aaedf6f056113370a8b3b8659b9f17
      https://github.com/llvm/llvm-project/commit/f489fb3d75aaedf6f056113370a8b3b8659b9f17
  Author: Kon <kinsei0916 at gmail.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang-tools-extra/clangd/CompileCommands.cpp
    M clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp

  Log Message:
  -----------
  [clangd] Fix sysroot flag handling in CommandMangler to prevent duplicates (#75694)

CommandMangler should guess the sysroot path of the host system and add
that through `-isysroot` flag only when there is no `--sysroot` or
`-isysroot` flag in the original compile command to avoid duplicate
sysroot.

Previously, CommandMangler appropriately avoided adding a guessed
sysroot flag if the original command had an argument in the form of
`--sysroot=<sysroot>`, `--sysroot <sysroot>`, or `-isysroot <sysroot>`.
However, when presented as `-isysroot<sysroot>` (without spaces after
`-isysroot`), CommandMangler mistakenly appended the guessed sysroot
flag, resulting in duplicated sysroot in the final command.

This commit fixes it, ensuring the final command has no duplicate
sysroot flags. Also adds unit tests for this fix.


  Commit: dabc9018ee856dee672fb1035fd3eb1bb39bd7a6
      https://github.com/llvm/llvm-project/commit/dabc9018ee856dee672fb1035fd3eb1bb39bd7a6
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang-tools-extra/clangd/CompileCommands.cpp

  Log Message:
  -----------
  [clangd] Use starts_with instead of startswith in CompileCommands.cpp (NFC)

llvm-project/clang-tools-extra/clangd/CompileCommands.cpp:324:52:
 error: 'startswith' is deprecated: Use starts_with instead [-Werror,-Wdeprecated-declarations]
  324 |         Cmd, [&](llvm::StringRef Arg) { return Arg.startswith(Flag); });
      |                                                    ^~~~~~~~~~
      |                                                    starts_with


  Commit: 537bbb4688b021c7eb7045ffd0d5f63087af83c3
      https://github.com/llvm/llvm-project/commit/537bbb4688b021c7eb7045ffd0d5f63087af83c3
  Author: martinboehme <mboehme at google.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/LoggerTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Process terminator condition within `transferCFGBlock()`. (#77750)

In particular, it's important that we create the "fallback" atomic at
this point
(which we produce if the transfer function didn't produce a value for
the
expression) so that it is placed in the correct environment.

Previously, we processed the terminator condition in the
`TerminatorVisitor`,
which put the fallback atomic in a copy of the environment that is
produced as
input for the _successor_ block, rather than the environment for the
block
containing the expression for which we produce the fallback atomic.

As a result, we produce different fallback atomics every time we process
the
successor block, and hence we don't have a consistent representation of
the
terminator condition in the flow condition.

This patch includes a test (authored by ymand@) that fails without the
fix.


  Commit: ef156f91262e960eea5ca93f95dd6111cfa3c5cc
      https://github.com/llvm/llvm-project/commit/ef156f91262e960eea5ca93f95dd6111cfa3c5cc
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp

  Log Message:
  -----------
  [clang][dataflow] Remove unused private field 'StmtToEnv' (NFC)

llvm-project/clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp:148:23:
 error: private field 'StmtToEnv' is not used [-Werror,-Wunused-private-field]
  148 |   const StmtToEnvMap &StmtToEnv;
      |                       ^
1 error generated.


  Commit: c65b939fb795ce4688d33531341d460a47d16664
      https://github.com/llvm/llvm-project/commit/c65b939fb795ce4688d33531341d460a47d16664
  Author: MyDeveloperDay <mydeveloperday at gmail.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/FormatTestJava.cpp

  Log Message:
  -----------
  [clang-format] SpacesInSquareBrackets not working for Java (#77833)

spaces in [] needs to be handled the same in Java the same as C#.

Co-authored-by: paul_hoad <paul_hoad at amat.com>


  Commit: 011ba725070360341f5473e88ebb4c956574805f
      https://github.com/llvm/llvm-project/commit/011ba725070360341f5473e88ebb4c956574805f
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    A flang/test/Fir/struct-passing-x86-64-several-fields-inreg.fir

  Log Message:
  -----------
  [flang] finish BIND(C) VALUE derived type passing ABI on X86-64 (#77742)

Derived type passed with VALUE in BIND(C) context must be passed like C
struct and LLVM is not implementing the ABI for this (it is up to the
frontends like clang).

Previous patch #75802 implemented the simple cases where the derived
type have one field, this patch implements the general case. Note that
the generated LLVM IR is compliant from a X86-64 C ABI point of view and
compatible with clang generated assembly, but that it is not guaranteed
to match the LLVM IR signatures generated by clang for the C equivalent
functions because several LLVM IR signatures may lead to the same X86-64
signature.


  Commit: 1aacdfe473276ad631db773310fe167ec93fb764
      https://github.com/llvm/llvm-project/commit/1aacdfe473276ad631db773310fe167ec93fb764
  Author: martinboehme <mboehme at google.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/LoggerTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  Revert "[clang][dataflow] Process terminator condition within `transferCFGBlock()`." (#77895)

Reverts llvm/llvm-project#77750


  Commit: 0a8e3dd432ff15ce871e4b9df0645e8a7e011fb3
      https://github.com/llvm/llvm-project/commit/0a8e3dd432ff15ce871e4b9df0645e8a7e011fb3
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/DestinationStyleOpInterface.td
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/BubbleUpExtractSlice.cpp
    M mlir/lib/Dialect/Linalg/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ConstantFold.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/EraseUnusedOperandsAndResults.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
    M mlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
    M mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
    M mlir/lib/Dialect/NVGPU/Transforms/CreateAsyncGroups.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Interfaces/DestinationStyleOpInterface.cpp
    M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp

  Log Message:
  -----------
  [mlir][Interfaces] `DestinationStyleOpInterface`: Rename `hasTensor/BufferSemantics` (#77574)

Rename interface functions as follows:
* `hasTensorSemantics` -> `hasPureTensorSemantics`
* `hasBufferSemantics` -> `hasPureBufferSemantics`

These two functions return "true" if the op has tensor/buffer operands
but not buffer/tensor operands.

Also drop the "ranked" part from the interface, i.e., do not distinguish
between ranked/unranked types.

The new function names describe the functions more accurately. They also
align their semantics with the notion of "tensor semantics" with the
bufferization framework. (An op is supposed to be bufferized if it has
tensor operands, and we don't care if it also has memref operands.)

This change is in preparation of #75273, which adds
`BufferizableOpInterface::hasTensorSemantics`. By renaming the functions
in the `DestinationStyleOpInterface`, we can avoid name clashes between
the two interfaces.


  Commit: 3168192de567815c511e384707a3a5063b81189b
      https://github.com/llvm/llvm-project/commit/3168192de567815c511e384707a3a5063b81189b
  Author: Frederik Carlier <frederik.carlier at keysight.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/test/CodeGenObjC/dllstorage.m
    M clang/test/CodeGenObjC/encode-test-6.m

  Log Message:
  -----------
  [ObjC]: Make type encoding safe in symbol names (#77797)

Type encodings are part of symbol names in the Objective C ABI. Replace
characters which are reseved in symbol names:

- ELF: avoid including '@' characters in type encodings
- Windows: avoid including '=' characters in type encodings


  Commit: 9c9bffe213415eabee1f7751e8e7150d94b36308
      https://github.com/llvm/llvm-project/commit/9c9bffe213415eabee1f7751e8e7150d94b36308
  Author: ostannard <oliver.stannard at arm.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    A llvm/test/MC/AArch64/no-fp-errors.s

  Log Message:
  -----------
  [AArch64] Disable FP loads/stores when fp-armv8 not enabled (#77817)

Most of the floating-point instructions are already gated on the
fp-armv8 subtarget feature (or some other feature), but most of the load
and store instructions, and one move instruction, were not.

I found this list of instructions with a script which consumes the
output of llvm-tblgen --dump-json, looking for instructions which have
an FPR operand but no predicate. That script now finds zero
instructions.

This only affects assembly, not codegen, because the floating-point
types and registers are already not marked as legal when the FPU is
disabled, so it is impossible for any of these to be selected.


  Commit: fbac3b0db5ff1d409f90219aeb6460ec5d14f19a
      https://github.com/llvm/llvm-project/commit/fbac3b0db5ff1d409f90219aeb6460ec5d14f19a
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp

  Log Message:
  -----------
  Revert "[clang][dataflow] Remove unused private field 'StmtToEnv' (NFC)"

Revert it after 1aacdfe473276ad631db773310fe167ec93fb764


  Commit: a8f83cc1597216821b41c69dcfc8251f73b08848
      https://github.com/llvm/llvm-project/commit/a8f83cc1597216821b41c69dcfc8251f73b08848
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-cvt.ll

  Log Message:
  -----------
  [AArch64][SME] Fix multi vector cvt builtins (#77656)

This fixes cvt multi vector builtins that erroneously had inverted
return vectors and vector parameters. This caused the incorrect
instructions to be emitted.


  Commit: 42fe3bc186b938197b3dfe3bd0445674c33fc5eb
      https://github.com/llvm/llvm-project/commit/42fe3bc186b938197b3dfe3bd0445674c33fc5eb
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c

  Log Message:
  -----------
  [AArch64][SME2] Fix SME2 mla/mls tests (#76711)

The ACLE defines these builtins as svmla[_single]_za32[_f32]_vg1x2,
which means the SVE_ACLE_FUNC macro should test the overloaded forms as

SVE_ACLE_FUNC(svmla,_single,_za32,_f32,_vg1x2)


https://github.com/ARM-software/acle/blob/b88cbf7e9c104100bb5016c848763171494dee44/main/acle.md?plain=1#L10170-L10205


  Commit: 2adbf254a12beca76ed25a1c575f11d5e72a0018
      https://github.com/llvm/llvm-project/commit/2adbf254a12beca76ed25a1c575f11d5e72a0018
  Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td

  Log Message:
  -----------
  [AMDGPU][NFC] Rename DotIUVOP3PMods to VOP3PModsNeg (#77785)

This is used to select the source modifier (neg) from the immediate
operand. After a follow up commit this will no longer be DOTIU specific.

Co-authored-by: Changpeng Fang <changpeng.fang at amd.com>


  Commit: 4d467215f162b487381e17b8cb59283af75ca50e
      https://github.com/llvm/llvm-project/commit/4d467215f162b487381e17b8cb59283af75ca50e
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/.clang-tidy
    M llvm/cmake/modules/HandleLLVMOptions.cmake

  Log Message:
  -----------
  [Clang] Revert inintentional changes to cmake committed in 33e5db6e0


  Commit: 35c19fdde2583e74d940f6cd47b97a5c28bfe368
      https://github.com/llvm/llvm-project/commit/35c19fdde2583e74d940f6cd47b97a5c28bfe368
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
    M mlir/test/Dialect/Vector/vector-warp-distribute.mlir

  Log Message:
  -----------
  [mlir][vector] Support warp distribution of `transfer_read` with dependencies (#77779)

Support distribution of `vector.transfer_read` ops when operands are
defined inside of the region of `warp_execute_on_lane_0` (except for the
buffer from which the op is reading).

Such IR was previously not supported. This commit changes the
implementation such that indices and the padding value are also
distributed.

This commit simplifies the implementation considerably: the original
implementation created a new `transfer_read` op and then checked if this
new op is valid. If not, the rewrite pattern failed. This was a bit
hacky. It was also a violation of the rewrite pattern API (detected by
`MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS`) because the IR was modified,
but the pattern returned "failure".


  Commit: a762cc21556bbd90ae7d9ee13c33213501195f64
      https://github.com/llvm/llvm-project/commit/a762cc21556bbd90ae7d9ee13c33213501195f64
  Author: Dan McGregor <dan.mcgregor at usask.ca>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M flang/runtime/execute.cpp

  Log Message:
  -----------
  [flang] include sys/wait.h for EXECUTE_COMMAND_LINE (#77675)

Linux defines WEXITSTATUS in stdlib.h, but at least FreeBSD and NetBSD
only define it in sys/wait.h. Include this header unconditionally, since
it is required on the BSDs and should be harmless on other platforms.

Fixes FreeBSD build after #74077.


  Commit: c87e94b0303cef11d24c5a3cf14bec570d850362
      https://github.com/llvm/llvm-project/commit/c87e94b0303cef11d24c5a3cf14bec570d850362
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M flang/include/flang/Parser/provenance.h
    M flang/lib/Parser/provenance.cpp
    M flang/test/Lower/macro-debug-file-loc.f90
    A flang/test/Semantics/assign15.f90

  Log Message:
  -----------
  [flang] Get ProvenanceRange from CharBlock starting with expanded macro (#77791)

When a CharBlock starts with an expanded macro but does not end in this
macro expansion, GetProvenanceRange fails to return a ProvenanceRange
which may cause error message to be emitted without location or lowering
to emit code without source location (which is problematic if this code
contains calls to procedures defined in the same file since LLVM will
later crash with the error:
"inlinable function call in a function with a DISubprogram location must
have a debug location"

Fix this situation by returning the ProvenanceRange starting at the
replaced macro reference.


  Commit: 2798b72ae7e5caad793169b77cbac47fe2362d0f
      https://github.com/llvm/llvm-project/commit/2798b72ae7e5caad793169b77cbac47fe2362d0f
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M mlir/docs/Dialects/Transform.md
    M mlir/docs/Tutorials/transform/Ch1.md
    M mlir/docs/Tutorials/transform/Ch4.md
    M mlir/include/mlir/Dialect/Transform/CMakeLists.txt
    A mlir/include/mlir/Dialect/Transform/DebugExtension/CMakeLists.txt
    A mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtension.h
    A mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.h
    A mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.td
    M mlir/include/mlir/Dialect/Transform/LoopExtension/LoopExtension.h
    M mlir/include/mlir/InitAllExtensions.h
    M mlir/lib/Dialect/Transform/CMakeLists.txt
    A mlir/lib/Dialect/Transform/DebugExtension/CMakeLists.txt
    A mlir/lib/Dialect/Transform/DebugExtension/DebugExtension.cpp
    A mlir/lib/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp
    M mlir/test/Dialect/Linalg/match-ops-interpreter.mlir
    M mlir/test/Dialect/Linalg/transform-op-bufferize-to-allocation.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse-into-containing.mlir
    M mlir/test/Dialect/Linalg/transform-op-match.mlir
    M mlir/test/Dialect/Linalg/transform-op-multitile-sizes.mlir
    M mlir/test/Dialect/Linalg/transform-op-pad.mlir
    M mlir/test/Dialect/MemRef/extract-address-computations.mlir
    M mlir/test/Dialect/MemRef/transform-ops.mlir
    M mlir/test/Dialect/SCF/transform-ops.mlir
    M mlir/test/Dialect/SparseTensor/transform-ops.mlir
    M mlir/test/Dialect/Transform/expensive-checks.mlir
    M mlir/test/Dialect/Transform/include/test-interpreter-external-concurrent-source.mlir
    M mlir/test/Dialect/Transform/include/test-interpreter-external-source.mlir
    M mlir/test/Dialect/Transform/include/test-interpreter-external-symbol-def-invalid.mlir
    M mlir/test/Dialect/Transform/include/test-interpreter-library-invalid/definitions-invalid.mlir
    M mlir/test/Dialect/Transform/include/test-interpreter-library/definitions-self-contained.mlir
    M mlir/test/Dialect/Transform/infer-effects.mlir
    M mlir/test/Dialect/Transform/multi-arg-top-level-ops.mlir
    M mlir/test/Dialect/Transform/multi-arg-top-level-params.mlir
    M mlir/test/Dialect/Transform/multi-arg-top-level-values.mlir
    M mlir/test/Dialect/Transform/ops-invalid.mlir
    M mlir/test/Dialect/Transform/test-interpreter-debug.mlir
    M mlir/test/Dialect/Transform/test-interpreter-external-symbol-decl-invalid.mlir
    M mlir/test/Dialect/Transform/test-interpreter-external-symbol-decl.mlir
    M mlir/test/Dialect/Transform/test-interpreter-multiple-top-level-ops.mlir
    M mlir/test/Dialect/Transform/test-interpreter.mlir
    M mlir/test/Dialect/Transform/test-loop-transforms.mlir
    M mlir/test/Dialect/Transform/test-pattern-application.mlir
    M mlir/test/Dialect/Transform/test-pdl-extension.mlir
    M mlir/test/Dialect/Transform/test-repro-dump.mlir
    M mlir/test/Examples/transform/Ch1/invalidation-1.mlir
    M mlir/test/Examples/transform/Ch1/invalidation-2.mlir
    M mlir/test/Examples/transform/Ch4/features.mlir
    M mlir/test/Examples/transform/Ch4/multiple.mlir
    M mlir/test/Examples/transform/Ch4/sequence.mlir
    M mlir/test/Integration/Dialect/Transform/match_batch_matmul.mlir
    M mlir/test/Integration/Dialect/Transform/match_matmul.mlir
    M mlir/test/Integration/Dialect/Transform/match_reduction.mlir
    M mlir/test/lib/Dialect/Transform/CMakeLists.txt
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
    M mlir/test/lib/Dialect/Transform/TestTransformDialectInterpreter.cpp
    M mlir/unittests/Dialect/Transform/CMakeLists.txt
    M mlir/unittests/Dialect/Transform/Preload.cpp

  Log Message:
  -----------
  [mlir] introduce debug transform dialect extension (#77595)

Introduce a new extension for simple print-debugging of the transform
dialect scripts. The initial version of this extension consists of two
ops that are printing the payload objects associated with transform
dialect values. Similar ops were already available in the test extenion
and several downstream projects, and were extensively used for testing.


  Commit: 35708b07547950ec94e5481227da4b47fcc629b7
      https://github.com/llvm/llvm-project/commit/35708b07547950ec94e5481227da4b47fcc629b7
  Author: Alexey Lapshin <55248412+avl-llvm at users.noreply.github.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M bolt/lib/Rewrite/CMakeLists.txt
    M llvm/lib/DWARFLinker/CMakeLists.txt
    M llvm/lib/DWARFLinker/Classic/CMakeLists.txt
    M llvm/lib/DWARFLinker/Parallel/CMakeLists.txt
    M llvm/tools/dsymutil/CMakeLists.txt
    M llvm/tools/llvm-dwarfutil/CMakeLists.txt
    M llvm/unittests/DWARFLinkerParallel/CMakeLists.txt

  Log Message:
  -----------
  [DWARFLinker][NFC] Rename libraries to match with directories name. (#77592)

It was noted that new DWARFLinker libraries do not follow naming
agreement -
https://github.com/llvm/llvm-project/pull/75925#issuecomment-1883301659
This patch rename libraries to match with the agreement.

Rename LLVMDWARFLinkerBase library into the LLVMDWARFLinker. Rename
LLVMDWARFLinker library into the LLVMDWARFLinkerClassic. Correct include
path according to the new directory structure.


  Commit: aa2dc792abd5f6b061e277607722b9b773ce2178
      https://github.com/llvm/llvm-project/commit/aa2dc792abd5f6b061e277607722b9b773ce2178
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp

  Log Message:
  -----------
  [mlir][vector] Fix rewrite pattern API violation in `VectorToSCF` (#77909)

A rewrite pattern is not allowed to change the IR if it returns
"failure". This commit fixes
`test/Conversion/VectorToSCF/vector-to-scf.mlir` when running with
`MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS`.

```
Processing operation : 'vector.transfer_read'(0x55823a409a60) {
  %5 = "vector.transfer_read"(%arg0, %0, %0, %2, %4) <{in_bounds = [true, true], operandSegmentSizes = array<i32: 1, 2, 1, 1>, permutation_map = affine_map<(d0, d1) -> (d0, d1)>}> : (memref<?x4xf32>, index, index, f32, vector<[4]x4xi1>) -> vector<[4]x4xf32>

  * Pattern (anonymous namespace)::lowering_n_d_unrolled::UnrollTransferReadConversion : 'vector.transfer_read -> ()' {
Trying to match "(anonymous namespace)::lowering_n_d_unrolled::UnrollTransferReadConversion"
    ** Insert  : 'vector.splat'(0x55823a445640)
"(anonymous namespace)::lowering_n_d_unrolled::UnrollTransferReadConversion" result 0
  } -> failure : pattern failed to match

LLVM ERROR: pattern returned failure but IR did change
```


  Commit: 39b2104b4a4e0990eddc763eab99b28e8deab953
      https://github.com/llvm/llvm-project/commit/39b2104b4a4e0990eddc763eab99b28e8deab953
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/reused-reductions-with-minbitwidth.ll

  Log Message:
  -----------
  [SLP]Fix a crash for reduced values with minbitwidth, which are reused.

If the reduced values are additionally affected by minbitwidth analysis,
need to cast them to a proper type before doing any math, if they are
reused.


  Commit: 59d6f033a25d161e494457e8bb6e30375eb7f40f
      https://github.com/llvm/llvm-project/commit/59d6f033a25d161e494457e8bb6e30375eb7f40f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/Transforms/LoopVectorize/trunc-loads-p16.ll

  Log Message:
  -----------
  [VPlan] Support narrowing widened loads in truncateToMinimimalBitwidths.

MinBWs may also contain widened load instructions, handle them by only
narrowing their result.

Fixes https://github.com/llvm/llvm-project/issues/77468


  Commit: ae5d63924a6214154194c286a13c6ae74d31c086
      https://github.com/llvm/llvm-project/commit/ae5d63924a6214154194c286a13c6ae74d31c086
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir

  Log Message:
  -----------
  [mlir][nvvm] Introduce `cp.async.bulk.wait_group` (#77917)


  Commit: 6c2fbc3a68ba6d4bd1c8c2c43c98cff5e82f2ba4
      https://github.com/llvm/llvm-project/commit/6c2fbc3a68ba6d4bd1c8c2c43c98cff5e82f2ba4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
    M llvm/lib/CodeGen/SafeStack.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/unittests/Analysis/BasicAliasAnalysisTest.cpp
    M llvm/unittests/Analysis/MemorySSATest.cpp

  Log Message:
  -----------
  [IRBuilder] Add CreatePtrAdd() method (NFC) (#77582)

This abstracts over the common pattern of creating a gep with i8 element
type.


  Commit: b32001a232831b98fbcfff7b642a7c1dc05127ad
      https://github.com/llvm/llvm-project/commit/b32001a232831b98fbcfff7b642a7c1dc05127ad
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel

  Log Message:
  -----------
  [mlir] update bazel for transform debug extension


  Commit: 39bb790b906f4921a5d9fc09e856abe53ae7a320
      https://github.com/llvm/llvm-project/commit/39bb790b906f4921a5d9fc09e856abe53ae7a320
  Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/switch-dead-default.ll

  Log Message:
  -----------
  [SimplifyCFG] `switch`: Do Not Transform the Default Case if the Condition is Too Wide (#77831)

https://github.com/llvm/llvm-project/pull/76669 taught SimplifyCFG to
handle switches when `default` has only one case. When the `switch`'s
condition is wider than 64 bit, the current implementation can calculate
the wrong default value. This PR skips cases where the condition is too
wide.


  Commit: 45568135cbb31bb3b345a8355134970742248120
      https://github.com/llvm/llvm-project/commit/45568135cbb31bb3b345a8355134970742248120
  Author: antangelo <contact at antangelo.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    A clang/test/SemaTemplate/GH75426.cpp

  Log Message:
  -----------
  [Sema] Use lexical DC for friend functions when getting constraint instantiation args (#77552)

Fixes a crash where the template argument depth computed in the semantic
context for a friend FunctionDecl with a constrained parameter is
compared against arguments in the lexical context for the purpose of
checking if the constraint depends on enclosing template parameters.

Since getTemplateInstantiationArgs in this case follows the semantic DC
for friend FunctionDecls, the resulting depth is incorrect and trips an
assertion.

Fixes #75426


  Commit: 460ff58f62456a1f3ccf61ec9cf9d10781bd41bb
      https://github.com/llvm/llvm-project/commit/460ff58f62456a1f3ccf61ec9cf9d10781bd41bb
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/CXX/over/over.match/over.match.funcs/over.match.oper/p3-2a.cpp

  Log Message:
  -----------
  [clang] Reapply Handle templated operators with reversed arguments (#72213)

Re-applies https://github.com/llvm/llvm-project/pull/69595 with extra
[diff](https://github.com/llvm/llvm-project/pull/72213/commits/79181efd0d7aef1b8396d44cdf40c0dfa4054984)
### New changes

Further relax ambiguities with a warning for member operators of a
template class (primary templates of such ops do not match). Eg:
```cpp
template <class T>
struct S {
    template <typename OtherT>
    bool operator==(const OtherT &rhs); 
};
struct A : S<int> {};
struct B : S<bool> {};
bool x = A{} == B{}; // accepted with a warning.
```

This is important for making llvm build using previous clang versions in
C++20 mode (eg: this makes the commit
e558be51bab051d1471d92e967f8a2aecc13567a keep working with a warning
instead of an error).

### Description from https://github.com/llvm/llvm-project/pull/69595

https://github.com/llvm/llvm-project/pull/68999 correctly computed
conversion sequence for reversed args to a template operator. This was a
breaking change as code, previously accepted in C++17, starts to break
in C++20.

Example:
```cpp
struct P {};
template<class S> bool operator==(const P&, const S &);

struct A : public P {};
struct B : public P {};
bool check(A a, B b) { return a == b; }  // This is now ambiguous in C++20.
```

In order to minimise widespread breakages, as a clang extension, we had
previously accepted such ambiguities with a warning
(`-Wambiguous-reversed-operator`) for non-template operators. Due to the
same reasons, we extend this relaxation for template operators.

Fixes https://github.com/llvm/llvm-project/issues/53954


  Commit: ad100b36e728880391df0c3941cdfb1d53517ac7
      https://github.com/llvm/llvm-project/commit/ad100b36e728880391df0c3941cdfb1d53517ac7
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp

  Log Message:
  -----------
  [mlir][vector] Fix dominance error in warp vector distribution (#77771)

This commit fixes a test in `vector-warp-distribute.mlir` when
`MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS` is enabled.

```
within split at /usr/local/google/home/springerm/mlir_public/llvm-project/mlir/test/Dialect/Vector/vector-warp-distribute.mlir:1 offset :18:10: error: operand #0 does not dominate this use
    %1 = vector.extract %0[9] : f32 from vector<64xf32>
         ^
within split at /usr/local/google/home/springerm/mlir_public/llvm-project/mlir/test/Dialect/Vector/vector-warp-distribute.mlir:1 offset :18:10: note: see current operation: %1 = "affine.apply"(%8) <{map = affine_map<()[s0] -> (s0 ceildiv 2)>}> : (index) -> index
within split at /usr/local/google/home/springerm/mlir_public/llvm-project/mlir/test/Dialect/Vector/vector-warp-distribute.mlir:1 offset :18:10: note: operand defined here (op in a child region)
"func.func"() <{function_type = (index) -> f32, sym_name = "vector_extract_1d"}> ({
^bb0(%arg0: index):
  %0:2 = "vector.warp_execute_on_lane_0"(%arg0) <{warp_size = 32 : i64}> ({
    %7 = "some_def"() : () -> vector<64xf32>
    %8 = "arith.constant"() <{value = 9 : index}> : () -> index
    %9 = "vector.extractelement"(%7, %8) : (vector<64xf32>, index) -> f32
    "vector.yield"(%9, %7) : (f32, vector<64xf32>) -> ()
  }) : (index) -> (f32, vector<2xf32>)
  %1 = "affine.apply"(%8) <{map = affine_map<()[s0] -> (s0 ceildiv 2)>}> : (index) -> index
  %2 = "affine.apply"(%8) <{map = affine_map<()[s0] -> (s0 mod 2)>}> : (index) -> index
  %3 = "vector.extractelement"(%0#1, %2) : (vector<2xf32>, index) -> f32
  %4 = "arith.index_cast"(%1) : (index) -> i32
  %5 = "arith.constant"() <{value = 32 : i32}> : () -> i32
  %6:2 = "gpu.shuffle"(%3, %4, %5) <{mode = #gpu<shuffle_mode idx>}> : (f32, i32, i32) -> (f32, i1)
  "func.return"(%6#0) : (f32) -> ()
}) : () -> ()
LLVM ERROR: IR failed to verify after pattern application
```

The position at which `vector.extractelement` extracts must also be
distributed. The fix in `WarpOpExtractElement` is similar to
`WarpOpInsertElement`.


  Commit: 7700ea103187ba6e547deb501ca4a1402e8a23fd
      https://github.com/llvm/llvm-project/commit/7700ea103187ba6e547deb501ca4a1402e8a23fd
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/test/ParserOpenACC/parse-clauses.c

  Log Message:
  -----------
  [OpenACC] Implement the 'rest' of the simple 'var-list' clauses

A large number of clauses are simple, required parens with a var-list.
This patch adds them all, as adding them is quite trivial.


  Commit: dec908a285b58787f5b211a600c90b63ca0c5778
      https://github.com/llvm/llvm-project/commit/dec908a285b58787f5b211a600c90b63ca0c5778
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp

  Log Message:
  -----------
  [mlir][Transforms] `GreedyPatternRewriteDriver`: log successful folding (#77796)

Similar to successful pattern applications, dump the rewritten IR after
each successful folding when running with `-debug`.


  Commit: 8751bbe7d3642e2641dad02da7ad9b95a3f77d4f
      https://github.com/llvm/llvm-project/commit/8751bbe7d3642e2641dad02da7ad9b95a3f77d4f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/include/__memory/allocator.h
    M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.depr_in_cxx17.verify.cpp
    M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.depr_in_cxx17.verify.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/enable_removed_allocator_members.deprecated.verify.cpp

  Log Message:
  -----------
  [libc++] Deprecate the _LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS macro (#77692)

As described in #69994, using the escape hatch makes us non-conforming
in C++20 due to incorrect constexpr-ness. It also leads to bad
diagnostics as reported by #63900. We discussed the issue in the libc++
monthly meeting and we agreed that we should deprecate the macro in LLVM
18, and then remove it in LLVM 19 since it causes too many problems.

This patch does the first part of this -- it deprecates the macro.

Fixes #69994
Fixes #63900
Partially addresses #75975


  Commit: 5417a5fed6e1e026fa040de2e83872fa9fa1a443
      https://github.com/llvm/llvm-project/commit/5417a5fed6e1e026fa040de2e83872fa9fa1a443
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSME.h
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    M mlir/lib/Dialect/ArmSME/IR/Utils.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
    A mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
    M mlir/test/Dialect/ArmSME/tile-allocation.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Add rudimentary support for tile spills to the stack (#76086)

This adds very basic (and inelegant) support for something like spilling
and reloading tiles, if you use more SME tiles than physically exist.

This is purely implemented to prevent the compiler from aborting if a
function uses too many tiles (i.e. due to bad unrolling), but is
expected to perform very poorly.

Currently, this works in two stages:

During tile allocation, if we run out of tiles instead of giving up, we
switch to allocating 'in-memory' tile IDs. These are tile IDs that start
at 16 (which is higher than any real tile ID). A warning will also be
emitted for each (root) tile op assigned an in-memory tile ID:

```
warning: failed to allocate SME virtual tile to operation, all tile operations will go through memory, expect degraded performance
```

Everything after this works like normal until `-convert-arm-sme-to-llvm`

Here the in-memory tile op:

```mlir
arm_sme.tile_op { tile_id = <IN MEMORY TILE> }
```

Is lowered to:

```mlir
// At function entry:
%alloca = memref.alloca ... : memref<?x?xty>

// Around the op:
// Swap the contents of %alloca and tile 0.
scf.for %slice_idx {
  %current_slice = "arm_sme.intr.read.horiz" ... <{tile_id = 0 : i32}>
  "arm_sme.intr.ld1h.horiz"(%alloca, %slice_idx)  <{tile_id = 0 : i32}>
  vector.store %current_slice, %alloca[%slice_idx, %c0]
}
// Execute op using tile 0.
arm_sme.tile_op { tile_id = 0 }
// Swap the contents of %alloca and tile 0.
// This restores tile 0 to its original state.
scf.for %slice_idx {
  %current_slice = "arm_sme.intr.read.horiz" ... <{tile_id = 0 : i32}>
  "arm_sme.intr.ld1h.horiz"(%alloca, %slice_idx)  <{tile_id = 0 : i32}>
  vector.store %current_slice, %alloca[%slice_idx, %c0]
}
```

This is inserted during the lowering to LLVM as spilling/reloading
registers is a very low-level concept, that can't really be modeled
correctly at a high level in MLIR.

Note: This is always doing the worst case full-tile swap. This could be
optimized to only spill/load data the tile op will use, which could be
just a slice. It's also not making any use of liveness, which could
allow reusing tiles. But these is not seen as important as correct code
should only use the available number of tiles.


  Commit: d199ab469949b104bc4fbb888251ee184fd53de1
      https://github.com/llvm/llvm-project/commit/d199ab469949b104bc4fbb888251ee184fd53de1
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    A clang/test/CodeGen/debug-names-compound-type-units.ll
    A clang/test/CodeGen/thinlto-debug-names-tu-reuse.ll
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp

  Log Message:
  -----------
  [LLVM][DWARF] Fix accelerator table switching between CU and TU (#77511)

Bug 1 is triggered when a TU is already created, and we process the same
DICompositeType at a top level. We would switch to TU accelerator table,
but
would not switch back on early exit. As the result we would add CU
entries to the TU
accelerator table. When we try to write out TUs and normalize entries,
the
offsets for DIEs that are part of a CU would not have been computed, and
it
would assert on getOffset().

Bug 2 is triggered when processing nested TUs. When we exit from
addDwarfTypeUnitType we switched back to CU accelerator table. If we
were processing nested TUs, the rest of the entries from TUs would be
added to CU accelerator table. When we write out TUs, all the DIE
pointers will become invalid. Eventually it will assert during
normalization step after CU is processed.


  Commit: 2aae304cbcc0ec4d57e9cd002887f26daa7dfd5d
      https://github.com/llvm/llvm-project/commit/2aae304cbcc0ec4d57e9cd002887f26daa7dfd5d
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/cast_ptr.ll

  Log Message:
  -----------
  [InstCombine] Fold `icmp pred (inttoptr X), (inttoptr Y) -> icmp pred X, Y` (#77832)

NOTE: Alive2 proofs are unavailable because `inttoptr` is unsupported.


  Commit: 4f47372f8c0733b3846d3a6dbdfffc6b644d9be4
      https://github.com/llvm/llvm-project/commit/4f47372f8c0733b3846d3a6dbdfffc6b644d9be4
  Author: Natalie Chouinard <sudonatalie at google.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/test/CodeGen/SPIRV/basic_float_types.ll

  Log Message:
  -----------
  [SPIR-V] Add Float16 support when targeting Vulkan (#77115)

Add Float16 to Vulkan's available capabilities, and guard Float16Buffer
(Kernel-only capability) against being added outside OpenCL
environments.

Add tests to verify half and half vector types, and validate with
spirv-val.

Fixes #66398


  Commit: 4210eb1d704c3ba602328efc8924147b2e98ed18
      https://github.com/llvm/llvm-project/commit/4210eb1d704c3ba602328efc8924147b2e98ed18
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M flang/runtime/extensions.cpp

  Log Message:
  -----------
  Revert "[flang] Fix a warning"

This reverts commit 18734f606635f4f4270f911b68060890ce3dd94a.

This caused a test suite failure on our bots:
https://lab.llvm.org/buildbot/#/builders/184/builds/9407

```
$ ~/stage1.install/bin/flang-new flush_1.f90
/usr/bin/ld: /home/david.spickett/stage1.install/lib/libFortranRuntime.a(extensions.cpp.o): in function `getlog_':
extensions.cpp:(.text.getlog_+0x1c): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: extensions.cpp:(.text.getlog_+0x7c): undefined reference to `operator delete(void*)'
/usr/bin/ld: extensions.cpp:(.text.getlog_+0xc4): undefined reference to `operator delete(void*)'
/usr/bin/ld: extensions.cpp:(.text.getlog_+0xe8): undefined reference to `operator delete(void*)'
flang-new: error: linker command failed with exit code 1 (use -v to see invocation)
```


  Commit: 5dbf178154c57851f3519c0e6c36d69b18648d37
      https://github.com/llvm/llvm-project/commit/5dbf178154c57851f3519c0e6c36d69b18648d37
  Author: Maciej Gabka <maciej.gabka at arm.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/replace-with-veclib-armpl.ll
    M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef-scalable.ll
    M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll

  Log Message:
  -----------
  [TLI][NFC] Fix ordering of ArmPL and SLEEF tests (#77609)

This patch sorts the tests which check if SLEEF and ArmPL mappings are
used, in the order of the math functions base names.


  Commit: 6fdc2ce8c507d3acf4e4b65beb66cfed68045588
      https://github.com/llvm/llvm-project/commit/6fdc2ce8c507d3acf4e4b65beb66cfed68045588
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-resized.ll

  Log Message:
  -----------
  [SLP]Fix PR77916: transform the whole mask, not only the elements for
the second vector.

Need to transform all elements in the long mask, if we decided to
produce shorter version, some elements may still have incorrect inifices
after transformation for the first vector in the permutation.


  Commit: eaa4b6cf2914435c7549d5caa09b5f2d87082ed0
      https://github.com/llvm/llvm-project/commit/eaa4b6cf2914435c7549d5caa09b5f2d87082ed0
  Author: donald chen <62002319+cxy-1993 at users.noreply.github.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
    M mlir/test/Dialect/Bufferization/canonicalize.mlir

  Log Message:
  -----------
  [mlir][bufferization] Clone simplify fails when input and result type not cast compatiable (#71310)

The simplify of bufferization.clone generates a memref.cast op, but the
checks in simplify do not verify whether the operand types and return
types of clone op is compatiable, leading to errors. This patch
addresses this issue.


  Commit: 9fdc568824b0992d48704dfa530a12073cc02f5e
      https://github.com/llvm/llvm-project/commit/9fdc568824b0992d48704dfa530a12073cc02f5e
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
    M llvm/unittests/Analysis/CMakeLists.txt
    A llvm/unittests/Analysis/ReplaceWithVecLibTest.cpp

  Log Message:
  -----------
  [TLI] Fix replace-with-veclib crash with invalid arguments (#77112)

Fix a crash of `replace-with-veclib` pass, when the arguments of the TLI
mapping do not match the original call.
Now, it simply ignores such cases.

Test require assertions as it accesses programmatically the debug log.


  Commit: 5b14bd01f500be33ad94f14dca6f5cb33c623ee7
      https://github.com/llvm/llvm-project/commit/5b14bd01f500be33ad94f14dca6f5cb33c623ee7
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M flang/runtime/extensions.cpp

  Log Message:
  -----------
  Reland "[flang] Fix a warning"

This reverts commit 4210eb1d704c3ba602328efc8924147b2e98ed18.

I didn't realise this was going to break every -Werror bot,
so I guess we'll take the test suite failure until a fix is found,
it's less disruptive.


  Commit: 89c0ea88b1126521ed68d669cf8b8433cdbb475e
      https://github.com/llvm/llvm-project/commit/89c0ea88b1126521ed68d669cf8b8433cdbb475e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 9fdc568824b0


  Commit: e4d01bb2273804355cf84a8a560e578735590ac2
      https://github.com/llvm/llvm-project/commit/e4d01bb2273804355cf84a8a560e578735590ac2
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/CodeGen/PowerPC/loop-instr-form-prepare.ll
    M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold.ll

  Log Message:
  -----------
  [SCEV] Special case sext in isKnownNonZero (#77834)

The existing logic in isKnownNonZero relies on unsigned ranges, which
can be problematic when our range calculation is imprecise. Consider the
following:
  %offset.nonzero = or i32 %offset, 1
  -->  %offset.nonzero U: [1,0) S: [1,0)
  %offset.i64 = sext i32 %offset.nonzero to i64
  -->  (sext i32 %offset.nonzero to i64) U: [-2147483648,2147483648)
                                         S: [-2147483648,2147483648)

Note that the unsigned range for the sext does contain zero in this case
despite the fact that it can never actually be zero.

Instead, we can push the query down one level - relying on the fact that
the sext is an invertible operation and that the result can only be zero
if the input is. We could likely generalize this reasoning for other
invertible operations, but special casing sext seems worthwhile.


  Commit: a300b2403784f416f36a1cee8d0425975f790b45
      https://github.com/llvm/llvm-project/commit/a300b2403784f416f36a1cee8d0425975f790b45
  Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
    M llvm/unittests/Analysis/CMakeLists.txt
    R llvm/unittests/Analysis/ReplaceWithVecLibTest.cpp

  Log Message:
  -----------
  Revert "[TLI] Fix replace-with-veclib crash with invalid arguments (#77112)"

This reverts commit 9fdc568824b0992d48704dfa530a12073cc02f5e,
as it linker crashes on some platforms.


  Commit: 8550e8845c4fe1aea3bd3d69bcc33d33040b1f13
      https://github.com/llvm/llvm-project/commit/8550e8845c4fe1aea3bd3d69bcc33d33040b1f13
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream.c

  Log Message:
  -----------
  [clang][analyzer] Add function 'fprintf' to StreamChecker. (#77613)

[clang][analyzer] Add function 'fprintf' to StreamChecker.


  Commit: 6f55c134d4aaa9eab9ef53886c2532d6da72ca47
      https://github.com/llvm/llvm-project/commit/6f55c134d4aaa9eab9ef53886c2532d6da72ca47
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang/test/CodeGen/debug-names-compound-type-units.ll
    M clang/test/CodeGen/thinlto-debug-names-tu-reuse.ll

  Log Message:
  -----------
  [clang[test] Require x86 target for new tests

Fixes d199ab469949b104bc4fbb888251ee184fd53de1.


  Commit: 844a8dcaafb3efcac936e0d89df857f818e5a209
      https://github.com/llvm/llvm-project/commit/844a8dcaafb3efcac936e0d89df857f818e5a209
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M lldb/include/lldb/Core/ValueObject.h
    M lldb/source/Core/ValueObject.cpp

  Log Message:
  -----------
  [lldb][ValueObject][NFC] Remove unused parameter to ReadPointedString (#77919)

All its usages were removed in
`2206b48d6ddabad61979fa69ba09e6b6fb19b0b2`.


  Commit: f02b7770bb04b88455804b371dba1f44a86b90da
      https://github.com/llvm/llvm-project/commit/f02b7770bb04b88455804b371dba1f44a86b90da
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn

  Log Message:
  -----------
  [gn build] Port a300b2403784


  Commit: dc1ae8378926e9a730fa7b87ecf73aa9493760ca
      https://github.com/llvm/llvm-project/commit/dc1ae8378926e9a730fa7b87ecf73aa9493760ca
  Author: Wu Yingcong <yingcong.wu at intel.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M libcxx/test/support/filesystem_test_helper.h

  Log Message:
  -----------
  [libc++][test] Fix a logical mistake introduced by #77058 (#77867)

A logical mistake is made in #77058, we should try to find a new file
path for socket creation when the path's length generated is bigger than
the socket length limit.


  Commit: 108bedee448684fa9495de928f4951162deb7943
      https://github.com/llvm/llvm-project/commit/108bedee448684fa9495de928f4951162deb7943
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir] fix bazel


  Commit: dec74a834700d0cc5aecc570aca464b1cdffce66
      https://github.com/llvm/llvm-project/commit/dec74a834700d0cc5aecc570aca464b1cdffce66
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    A llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll

  Log Message:
  -----------
  [AMDGPU] Fix VS_CNT overflow assertion (#77935)

Always set the upper bound for VS_CNT higher than the lower bound.
Before #77439 this code was only executed on function entry where the
lower bound was 0 so it was not a problem.

Fixes #77931


  Commit: 9d8e53818ded8268da2df43e73880073fcf02922
      https://github.com/llvm/llvm-project/commit/9d8e53818ded8268da2df43e73880073fcf02922
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h

  Log Message:
  -----------
  [AMDGPU] Refactor getNonSoftWaitcntOpcode and its callers (#77933)

This avoids listing all soft waitcnt opcodes in two places
(getNonSoftWaitcntOpcode and isSoftWaitcnt) and avoids the need for
helpers isWaitcnt and isWaitcntVsCnt.


  Commit: 88871784fd722efd3c94954e460acb32446142f2
      https://github.com/llvm/llvm-project/commit/88871784fd722efd3c94954e460acb32446142f2
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.store.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll

  Log Message:
  -----------
  [AMDGPU] Allow buffer intrinsics to be marked volatile at the IR level (#77847)

In order to ensure the correctness of ptr addrspace(7) lowering, we need
a backwards-compatible way to flag buffer intrinsics as volatile that
can't be dropped (unlike metadata).

To acheive this in a backwards-compatible way, we use bit 31 of the
auxilliary immediates of buffer intrinsics as the volatile flag. When
this bit is set, the MachineMemOperand for said intrinsic is marked
volatile. Existing code will ensure that this results in the appropriate
use of flags like glc and dlc.

This commit also harmorizes the handling of the auxilliary immediate for
atomic intrinsics, which new go through extract_cpol like loads and
stores, which masks off the volatile bit.


  Commit: 3af6ae0fbea40097e159c11893ee7ab57d00480c
      https://github.com/llvm/llvm-project/commit/3af6ae0fbea40097e159c11893ee7ab57d00480c
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/static-assert.cpp

  Log Message:
  -----------
  [clang-tidy] Fix false-positives in misc-static-assert caused by non-constexpr variables (#77203)

Ignore false-positives when referring to non-constexpr variables in
non-unevaluated context (like decltype, sizeof, ...).

Moved from https://reviews.llvm.org/D158657

Fixes: #24066


  Commit: 241d8f1b955787edf52168d7361ee3696ea581b5
      https://github.com/llvm/llvm-project/commit/241d8f1b955787edf52168d7361ee3696ea581b5
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
    M bolt/lib/Rewrite/CMakeLists.txt
    M clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
    M clang-tools-extra/clangd/CompileCommands.cpp
    M clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/static-assert.cpp
    M clang/.clang-tidy
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/arm_sve.td
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/test/Analysis/stream-error.c
    M clang/test/Analysis/stream.c
    M clang/test/CXX/over/over.match/over.match.funcs/over.match.oper/p3-2a.cpp
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c
    A clang/test/CodeGen/debug-names-compound-type-units.ll
    A clang/test/CodeGen/thinlto-debug-names-tu-reuse.ll
    M clang/test/CodeGenObjC/dllstorage.m
    M clang/test/CodeGenObjC/encode-test-6.m
    M clang/test/ParserOpenACC/parse-clauses.c
    A clang/test/SemaTemplate/GH75426.cpp
    M clang/unittests/Format/FormatTestJava.cpp
    M flang/include/flang/Parser/provenance.h
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Parser/provenance.cpp
    M flang/runtime/execute.cpp
    A flang/test/Fir/struct-passing-x86-64-several-fields-inreg.fir
    M flang/test/Lower/macro-debug-file-loc.f90
    A flang/test/Semantics/assign15.f90
    M libcxx/docs/ReleaseNotes/18.rst
    M libcxx/include/__memory/allocator.h
    M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.depr_in_cxx17.verify.cpp
    M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.depr_in_cxx17.verify.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/enable_removed_allocator_members.deprecated.verify.cpp
    M libcxx/test/support/filesystem_test_helper.h
    M lldb/include/lldb/Core/ValueObject.h
    M lldb/source/Core/ValueObject.cpp
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
    M llvm/lib/CodeGen/SafeStack.cpp
    M llvm/lib/DWARFLinker/CMakeLists.txt
    M llvm/lib/DWARFLinker/Classic/CMakeLists.txt
    M llvm/lib/DWARFLinker/Parallel/CMakeLists.txt
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/CodeGen/AArch64/replace-with-veclib-armpl.ll
    M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef-scalable.ll
    M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-cvt.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.store.ll
    A llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.ll
    M llvm/test/CodeGen/PowerPC/loop-instr-form-prepare.ll
    M llvm/test/CodeGen/SPIRV/basic_float_types.ll
    M llvm/test/CodeGen/X86/inline-asm-Ws-constraint.ll
    A llvm/test/MC/AArch64/no-fp-errors.s
    M llvm/test/Transforms/InstCombine/cast_ptr.ll
    M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
    A llvm/test/Transforms/LoopVectorize/trunc-loads-p16.ll
    A llvm/test/Transforms/SLPVectorizer/X86/reused-reductions-with-minbitwidth.ll
    A llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-resized.ll
    M llvm/test/Transforms/SimplifyCFG/switch-dead-default.ll
    M llvm/tools/dsymutil/CMakeLists.txt
    M llvm/tools/llvm-dwarfutil/CMakeLists.txt
    M llvm/unittests/Analysis/BasicAliasAnalysisTest.cpp
    M llvm/unittests/Analysis/MemorySSATest.cpp
    M llvm/unittests/DWARFLinkerParallel/CMakeLists.txt
    M mlir/docs/Dialects/Transform.md
    M mlir/docs/Tutorials/transform/Ch1.md
    M mlir/docs/Tutorials/transform/Ch4.md
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSME.h
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/Transform/CMakeLists.txt
    A mlir/include/mlir/Dialect/Transform/DebugExtension/CMakeLists.txt
    A mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtension.h
    A mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.h
    A mlir/include/mlir/Dialect/Transform/DebugExtension/DebugExtensionOps.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.td
    M mlir/include/mlir/Dialect/Transform/LoopExtension/LoopExtension.h
    M mlir/include/mlir/InitAllExtensions.h
    M mlir/include/mlir/Interfaces/DestinationStyleOpInterface.td
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
    M mlir/lib/Dialect/ArmSME/IR/Utils.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
    M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/BubbleUpExtractSlice.cpp
    M mlir/lib/Dialect/Linalg/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ConstantFold.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/EraseUnusedOperandsAndResults.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
    M mlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
    M mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
    M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
    M mlir/lib/Dialect/NVGPU/Transforms/CreateAsyncGroups.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Dialect/Transform/CMakeLists.txt
    A mlir/lib/Dialect/Transform/DebugExtension/CMakeLists.txt
    A mlir/lib/Dialect/Transform/DebugExtension/DebugExtension.cpp
    A mlir/lib/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
    M mlir/lib/Interfaces/DestinationStyleOpInterface.cpp
    M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
    A mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
    M mlir/test/Dialect/ArmSME/tile-allocation.mlir
    M mlir/test/Dialect/Bufferization/canonicalize.mlir
    M mlir/test/Dialect/Linalg/match-ops-interpreter.mlir
    M mlir/test/Dialect/Linalg/transform-op-bufferize-to-allocation.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse-into-containing.mlir
    M mlir/test/Dialect/Linalg/transform-op-match.mlir
    M mlir/test/Dialect/Linalg/transform-op-multitile-sizes.mlir
    M mlir/test/Dialect/Linalg/transform-op-pad.mlir
    M mlir/test/Dialect/MemRef/extract-address-computations.mlir
    M mlir/test/Dialect/MemRef/transform-ops.mlir
    M mlir/test/Dialect/NVGPU/invalid.mlir
    M mlir/test/Dialect/SCF/transform-ops.mlir
    M mlir/test/Dialect/SparseTensor/transform-ops.mlir
    M mlir/test/Dialect/Transform/expensive-checks.mlir
    M mlir/test/Dialect/Transform/include/test-interpreter-external-concurrent-source.mlir
    M mlir/test/Dialect/Transform/include/test-interpreter-external-source.mlir
    M mlir/test/Dialect/Transform/include/test-interpreter-external-symbol-def-invalid.mlir
    M mlir/test/Dialect/Transform/include/test-interpreter-library-invalid/definitions-invalid.mlir
    M mlir/test/Dialect/Transform/include/test-interpreter-library/definitions-self-contained.mlir
    M mlir/test/Dialect/Transform/infer-effects.mlir
    M mlir/test/Dialect/Transform/multi-arg-top-level-ops.mlir
    M mlir/test/Dialect/Transform/multi-arg-top-level-params.mlir
    M mlir/test/Dialect/Transform/multi-arg-top-level-values.mlir
    M mlir/test/Dialect/Transform/ops-invalid.mlir
    M mlir/test/Dialect/Transform/test-interpreter-debug.mlir
    M mlir/test/Dialect/Transform/test-interpreter-external-symbol-decl-invalid.mlir
    M mlir/test/Dialect/Transform/test-interpreter-external-symbol-decl.mlir
    M mlir/test/Dialect/Transform/test-interpreter-multiple-top-level-ops.mlir
    M mlir/test/Dialect/Transform/test-interpreter.mlir
    M mlir/test/Dialect/Transform/test-loop-transforms.mlir
    M mlir/test/Dialect/Transform/test-pattern-application.mlir
    M mlir/test/Dialect/Transform/test-pdl-extension.mlir
    M mlir/test/Dialect/Transform/test-repro-dump.mlir
    M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
    M mlir/test/Examples/transform/Ch1/invalidation-1.mlir
    M mlir/test/Examples/transform/Ch1/invalidation-2.mlir
    M mlir/test/Examples/transform/Ch4/features.mlir
    M mlir/test/Examples/transform/Ch4/multiple.mlir
    M mlir/test/Examples/transform/Ch4/sequence.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
    M mlir/test/Integration/Dialect/Transform/match_batch_matmul.mlir
    M mlir/test/Integration/Dialect/Transform/match_matmul.mlir
    M mlir/test/Integration/Dialect/Transform/match_reduction.mlir
    M mlir/test/lib/Dialect/Transform/CMakeLists.txt
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
    M mlir/test/lib/Dialect/Transform/TestTransformDialectInterpreter.cpp
    M mlir/test/lib/Interfaces/TilingInterface/CMakeLists.txt
    M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
    M mlir/unittests/Dialect/Transform/CMakeLists.txt
    M mlir/unittests/Dialect/Transform/Preload.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel

  Log Message:
  -----------
  fix test and remove braces

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/f5a33f9e6893...241d8f1b9557


More information about the All-commits mailing list