[all-commits] [llvm/llvm-project] 785490: [MLIR] Remove `let constructor = ` from mlir/inclu...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Mon Mar 2 09:14:36 PST 2026


  Branch: refs/heads/users/alexey-bataev/spr/slpprefer-copyable-over-alternate
  Home:   https://github.com/llvm/llvm-project
  Commit: 785490e9db54ef03988d8e9fe56aab45e4b29129
      https://github.com/llvm/llvm-project/commit/785490e9db54ef03988d8e9fe56aab45e4b29129
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M mlir/include/mlir/Transforms/Passes.h
    M mlir/include/mlir/Transforms/Passes.td
    M mlir/include/mlir/Transforms/ViewOpGraph.h
    M mlir/lib/Transforms/CSE.cpp
    M mlir/lib/Transforms/Canonicalizer.cpp
    M mlir/lib/Transforms/ControlFlowSink.cpp
    M mlir/lib/Transforms/GenerateRuntimeVerification.cpp
    M mlir/lib/Transforms/InlinerPass.cpp
    M mlir/lib/Transforms/LoopInvariantCodeMotion.cpp
    M mlir/lib/Transforms/OpStats.cpp
    M mlir/lib/Transforms/PrintIR.cpp
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/lib/Transforms/SCCP.cpp
    M mlir/lib/Transforms/StripDebugInfo.cpp
    M mlir/lib/Transforms/SymbolDCE.cpp
    M mlir/lib/Transforms/SymbolPrivatize.cpp
    M mlir/lib/Transforms/TopologicalSort.cpp
    M mlir/lib/Transforms/ViewOpGraph.cpp
    M mlir/test/CAPI/pass.c
    M mlir/test/Pass/ir-printing.mlir
    M mlir/test/Pass/pass-timing.mlir
    M mlir/test/Pass/run-reproducer.mlir
    M mlir/test/Transforms/composite-pass.mlir
    M mlir/test/python/pass_manager.py

  Log Message:
  -----------
  [MLIR] Remove `let constructor = ` from mlir/include/mlir/Transforms/Passes.td (#183950)

This makes the constructor auto-generated.


  Commit: 0ba4f13b264a385ffdcdcb77c935f6c503ba62df
      https://github.com/llvm/llvm-project/commit/0ba4f13b264a385ffdcdcb77c935f6c503ba62df
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M mlir/test/Dialect/Affine/invalid-reify-bound-dim.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp

  Log Message:
  -----------
  [mlir][test] Fix crash in ReifyBoundOp with invalid 'type' attribute (#184004)

The `ReifyBoundOp::getBoundType()` called `llvm_unreachable("invalid
bound type")` when the `type` attribute was set to a value other than
"EQ", "LB", or "UB" (e.g., "scalable"). This caused an abort instead of
a user-visible diagnostic.

Add a verification check that rejects invalid `type` values with a
proper error message before `getBoundType()` is ever called.

Fixes #128805


  Commit: 2c9720972e90fce4a5409cac9d9141c048a64632
      https://github.com/llvm/llvm-project/commit/2c9720972e90fce4a5409cac9d9141c048a64632
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M mlir/CMakeLists.txt
    M mlir/cmake/modules/AddMLIRPython.cmake
    M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
    M mlir/include/mlir/Bindings/Python/IRCore.h
    M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
    M mlir/include/mlir/Bindings/Python/NanobindUtils.h
    M mlir/lib/Bindings/Python/IRAttributes.cpp
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/test/CMakeLists.txt
    M mlir/test/lit.cfg.py
    M mlir/test/lit.site.cfg.py.in
    M mlir/test/python/ir/auto_location.py
    A mlir/test/python/ir/auto_location_stable_abi.py

  Log Message:
  -----------
  [mlir][python] Add stable ABI (abi3) support (#183856)

Add `MLIR_ENABLE_PYTHON_STABLE_ABI` cmake flag to build bindings against
the Python limited/stable API (abi3 / PEP 384). This allow for
compatibility across different >=3.12 versions with a single .so /
wheel. We also require CMake >=3.26.

The stable ABI restricts usage to a subset of the CPython C API: frame
and code object structs are opaque, so introspection APIs like
`PyCode_Addr2Location`, `PyFrame_GetLasti`, and `PyFrame_GetCode` are
unavailable. The traceback-based auto-location logic is dropped because
we don’t have stable ABI to produce complete locations.

Assisted-by: claude


  Commit: 3bdee9b5576bd0b64da9501c267d4b40d768be9a
      https://github.com/llvm/llvm-project/commit/3bdee9b5576bd0b64da9501c267d4b40d768be9a
  Author: Valeriy Savchenko <vsavchenko at apple.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/test/Transforms/GVN/PRE/pre-load-through-select.ll
    M llvm/test/Transforms/GVN/PRE/pre-loop-load-through-select.ll
    A llvm/test/Transforms/GVN/load-select-addr-store-fwd.ll

  Log Message:
  -----------
  [GVN] Forward store values through select addresses in findDominatingValue (#183316)

## Alive2 proof

https://alive2.llvm.org/ce/z/v6pX7C


  Commit: 49b77e3b45555b022d0a0e2aac239708d706ae10
      https://github.com/llvm/llvm-project/commit/49b77e3b45555b022d0a0e2aac239708d706ae10
  Author: Valeriy Savchenko <vsavchenko at apple.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/AArch64/fold-signbit-reduction-cmp.ll
    M llvm/test/Transforms/VectorCombine/RISCV/fold-signbit-reduction-cmp.ll
    M llvm/test/Transforms/VectorCombine/X86/fold-signbit-reduction-cmp.ll

  Log Message:
  -----------
  [VectorCombine] Fold sign-bit check for multiple vectors (#182911)

## Alive2 proofs

| Reduction | Shift | Cmp      | Sources | Proof |
|-----------|-------|----------|---------|-------|
| add | lshr | == 0 | 2 | [proof](https://alive2.llvm.org/ce/z/f44vco) |
| add | lshr | == 8 | 2 | [proof](https://alive2.llvm.org/ce/z/Ks_nea) |
| add | ashr | == 0 | 2 | [proof](https://alive2.llvm.org/ce/z/ZsXJ5k) |
| add | ashr | == -8 | 2 | [proof](https://alive2.llvm.org/ce/z/HZfans)
|
| add | lshr | == 0 | 3 | [proof](https://alive2.llvm.org/ce/z/x-dEdz) |
| add | lshr | == 12 | 3 | [proof](https://alive2.llvm.org/ce/z/sfNvhr)
|

These proofs are not very exhaustive, but somewhat show that it works
for addition. Apart from the fact that we use multiple vectors, the
proofs from the previous changes generally apply here as well because we
effectively match on reductions of size M x N.


  Commit: a6e7c38ea6310ef8d8e6ba0d8158d7d1f4e28f5b
      https://github.com/llvm/llvm-project/commit/a6e7c38ea6310ef8d8e6ba0d8158d7d1f4e28f5b
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/AArch64/revec-select-scalar-vector-cond.ll

  Log Message:
  -----------
  [SLP]Do not vectorize select nodes with scalar and vector conditions

If the select nodes contains selects with mixed scalar/vector
conditions, such nodes should not be revectorized.

Fixes #170836


  Commit: 7b26069828aa88064b92f73f764b708754e441ec
      https://github.com/llvm/llvm-project/commit/7b26069828aa88064b92f73f764b708754e441ec
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll

  Log Message:
  -----------
  [VPlan] Pass ForceTargetInstructionCost insted of NumOccurences.

Update code incorrectly passing
ForceTargetInstructionCost.getNumOccurrences().

Fixes a cost-divergence with legacy cost model.


  Commit: 9730d3128435350c5ef90c198979df25004ccc1f
      https://github.com/llvm/llvm-project/commit/9730d3128435350c5ef90c198979df25004ccc1f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/AArch64/revec-reductions.ll

  Log Message:
  -----------
  [SLP]Fix types for reductions in revec

Need to consider vector inputs, when building casts for the reduced
values

Fixes #170828


  Commit: 320220e48b8f1054ce7a37c8b2a528315080e29c
      https://github.com/llvm/llvm-project/commit/320220e48b8f1054ce7a37c8b2a528315080e29c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
    M llvm/test/Transforms/LoopVectorize/predicated-early-exits-interleave.ll
    M llvm/test/Transforms/LoopVectorize/predicated-multiple-exits.ll
    M llvm/test/Transforms/LoopVectorize/unsupported_early_exit.ll

  Log Message:
  -----------
  [VPlan] Support arbitrary predicated early exits. (#182396)

This removes the restriction requiring a single predicated early exit.
Using MaskedCond, we only combine early-exit conditions with block
masks from non-exiting control flow.

This means we have to ensure that we check the early exit conditions in
program order, to make sure we take the first exit in program order that
exits at the first lane for the combined exit condition.

To do so, sort the exits by their reverse post-order numbers.

Depends on https://github.com/llvm/llvm-project/pull/182395

PR: https://github.com/llvm/llvm-project/pull/182396


  Commit: ae7916539918544655bd92b7f9a05b48563483b4
      https://github.com/llvm/llvm-project/commit/ae7916539918544655bd92b7f9a05b48563483b4
  Author: Dave Bartolomeo <dave_bartolomeo at apple.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftCXXABI.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/test/CodeGenObjC/aarch64-sve-types.m

  Log Message:
  -----------
  [clang][NFC][diagnostics] Remove several uses of `getCustomDiagID()` (#172532)

This change converts all existing uses of `getCustomDiagID()` within the
`clang/AST` library into regular diagnostics defined in
`DiagnosticASTKinds.td`.

This is mostly just cleanup, but it will also help with future changes
to the diagnostic system by letting us focus on the custom diagnostic
scenarios that _don't_ fit into the usual pre-declared diagnostic
scenario.


  Commit: 02c7a6cd7f35a9ad5d1c650b4f56593db1210641
      https://github.com/llvm/llvm-project/commit/02c7a6cd7f35a9ad5d1c650b4f56593db1210641
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/disjoint-or-reductions.ll

  Log Message:
  -----------
  [SLP][NFC]Add tests for bitcasts/bswaps with large target type


  Commit: 451529778d428ee691ce699c5ae8acfa9b9ea6c4
      https://github.com/llvm/llvm-project/commit/451529778d428ee691ce699c5ae8acfa9b9ea6c4
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Sema/sugar-common-types.c

  Log Message:
  -----------
  [clang] fix common type calculation for l-values of 'void' type (#183972)

Fixes #111300


  Commit: e4301c48fdd95f43644d84868f560b291d46bc60
      https://github.com/llvm/llvm-project/commit/e4301c48fdd95f43644d84868f560b291d46bc60
  Author: David Zbarsky <dzbarsky at gmail.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

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

  Log Message:
  -----------
  [bazel] Fix windows stack space on llvm driver link (#182998)

Bazel was missing this logic from cmake:
https://github.com/llvm/llvm-project/blob/cd200c8dfae0de1602b59011381377d147a86bdb/llvm/cmake/modules/HandleLLVMOptions.cmake#L567-L580


  Commit: 3041c90718df44617382af80c3b1fc8d68ce9f2c
      https://github.com/llvm/llvm-project/commit/3041c90718df44617382af80c3b1fc8d68ce9f2c
  Author: Matthias Springer <me at m-sp.org>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Tensor/fold-constant-extract-slice.mlir

  Log Message:
  -----------
  [mlir][tensor] Remove hard-coded types from `ConstantOpExtractSliceFolder` (#184013)

Use the `Attribute` API, which works with arbitrary element types.


  Commit: a13afe84bb4240608b9ce822918c43e689d63b47
      https://github.com/llvm/llvm-project/commit/a13afe84bb4240608b9ce822918c43e689d63b47
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/disjoint-or-reductions.ll

  Log Message:
  -----------
  [SLP][NFC]Add more bitcast/bswap tests with immediate loads, NFC


  Commit: 48209b6777be924b4384f2fc3148d713ac3f411c
      https://github.com/llvm/llvm-project/commit/48209b6777be924b4384f2fc3148d713ac3f411c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/X86/known-pow2.ll

  Log Message:
  -----------
  [DAG] isKnownToBeAPowerOfTwo - add ISD::EXTRACT_VECTOR_ELT handling (#183924)

Initialize DemandedElts mask when the index is constant and inbounds, otherwise check all elements.


  Commit: 1dc85c60410f8366e59fd518afa1d9cf22a909e6
      https://github.com/llvm/llvm-project/commit/1dc85c60410f8366e59fd518afa1d9cf22a909e6
  Author: Daniil Dudkin <unterumarmung at yandex.ru>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
    M clang-tools-extra/clang-tidy/utils/LexerUtils.h
    M clang-tools-extra/unittests/clang-tidy/LexerUtilsTest.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Add `getCommentsInRange` utility (#183940)


  Commit: 3cf53f684d511c5e31b27ab40397f24efaba1866
      https://github.com/llvm/llvm-project/commit/3cf53f684d511c5e31b27ab40397f24efaba1866
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll

  Log Message:
  -----------
  [LV] Handle sunk reverse VPInstruction in planContainsAdditionalSimps.

Licm can now sink reverse VPInstructions outside the loop region; they
won't be considered when computing costs. Account for that in
planContainsAdditionalSimplifications.

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


  Commit: f62adea305d6e0a9307fa69943c625f407a73688
      https://github.com/llvm/llvm-project/commit/f62adea305d6e0a9307fa69943c625f407a73688
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  [ProfCheck] Exclude new GVN test

Added in a recent PR. We still have not gotten through GVN, so this is
likely caused by existing code. Exclude it to keep the bot green.


  Commit: dddd06be8c3ed10eaef4f986ec4ceb828be7e789
      https://github.com/llvm/llvm-project/commit/dddd06be8c3ed10eaef4f986ec4ceb828be7e789
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl

  Log Message:
  -----------
  [NFC][Clang] Auto generate check lines for `clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl` (#183926)


  Commit: d1d2a1ed76a687ae0dea54b6925bd8c104341d4a
      https://github.com/llvm/llvm-project/commit/d1d2a1ed76a687ae0dea54b6925bd8c104341d4a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/multi-use-bicasted-reduction.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the incorrect compare, extracted from the transformed vector


  Commit: cf1e76835febe1e6f1bcd5c3ebf4178b4c92dbe7
      https://github.com/llvm/llvm-project/commit/cf1e76835febe1e6f1bcd5c3ebf4178b4c92dbe7
  Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ThrowingStaticInitializationCheck.h
    M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.h

  Log Message:
  -----------
  [clang-tidy][NFC] Don't call `getLangOpts` in `isLanguageVersionSupported` (#184029)

This is just a little inconsistency I noticed. Basically all checks
inspect the `LangOpts` parameter, but these two ignore the parameter and
call `getLangOpts` instead.


  Commit: 789bf51f0ce64c541ab0ca81d43c912cf0731628
      https://github.com/llvm/llvm-project/commit/789bf51f0ce64c541ab0ca81d43c912cf0731628
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/multi-use-bicasted-reduction.ll

  Log Message:
  -----------
  [SLP]Do not consider condition with multiple uses and negate predicate as a candidate for inversed select

If the select/zext comparison has negate predicate and is used in
several places, it should not be considered as a candidate for inversed
zext/select pattern, it will be replaced by a negate vector predicate,
leading to an incorrect codegen for other uses


  Commit: d9ca61b6e7b9aa94d244b831a3cb6274d3839d1c
      https://github.com/llvm/llvm-project/commit/d9ca61b6e7b9aa94d244b831a3cb6274d3839d1c
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl

  Log Message:
  -----------
  Revert "[NFC][Clang] Auto generate check lines for `clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl`" (#184035)

Reverts llvm/llvm-project#183926 because of some BB failures.


  Commit: e2ef93fc5750e1d5bd15cfbac49996c8b9b5e8ff
      https://github.com/llvm/llvm-project/commit/e2ef93fc5750e1d5bd15cfbac49996c8b9b5e8ff
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    R clang/test/CodeGenOpenCL/.gdb_history

  Log Message:
  -----------
  [NFC] Remove `clang/test/CodeGenOpenCL/.gdb_history` (#184038)


  Commit: f05d2e8a39987b8d87e0a7d6ef887749b5b1700e
      https://github.com/llvm/llvm-project/commit/f05d2e8a39987b8d87e0a7d6ef887749b5b1700e
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/test/CodeGenCUDA/amdgpu-kernel-attrs.cu
    M clang/test/CodeGenHIP/default-attributes.hip
    M clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
    M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
    M clang/test/OpenMP/amdgcn-attributes.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
    M llvm/test/Analysis/KernelInfo/openmp/amdgpu.ll
    A llvm/test/Bitcode/upgrade-uniform-work-group-size.ll
    M llvm/test/CodeGen/AMDGPU/amdhsa-kernarg-preload-num-sgprs.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-uniform-workgroup-size-v5.ll
    M llvm/test/CodeGen/AMDGPU/implicit-arg-v5-opt.ll
    M llvm/test/CodeGen/AMDGPU/inline-attr.ll
    M llvm/test/CodeGen/AMDGPU/inlineasm-sgmask.ll
    M llvm/test/CodeGen/AMDGPU/invalid-hidden-kernarg-in-kernel-signature.ll
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/mdt-preserving-crash.ll
    M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
    M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
    M llvm/test/CodeGen/AMDGPU/si-opt-vgpr-liverange-bug-deadlanes.mir
    M llvm/test/CodeGen/AMDGPU/si-optimize-vgpr-live-range-dbg-instr.mir
    M llvm/test/CodeGen/AMDGPU/swdev-549940.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
    M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_12.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_20.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_spirv.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr_spec_const.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_subgroup_rotate/subgroup-rotate.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/constrained-comparison.ll.bak
    M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [AMDGPU] Make uniform-work-group-size a valueless attribute (#183925)

The "uniform-work-group-size" function attribute previously took a
string value of "true" or "false". Since presence alone can convey the
"true" semantics and absence can convey "false", the value is
unnecessary.

This patch converts it to a valueless string attribute: presence
indicates true, absence indicates false. For backward compatibility,
auto-upgrade logic is added in both UpgradeAttributes (bitcode) and
UpgradeFunctionAttributes: if the old value is "true", the attribute is
kept without a value; if "false", the attribute is removed.


  Commit: d947f8f699eb7d14c883f180f72329cae3a23fd3
      https://github.com/llvm/llvm-project/commit/d947f8f699eb7d14c883f180f72329cae3a23fd3
  Author: Serosh <janmejayapanda400 at gmail.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaTemplate.cpp
    A clang/test/SemaCXX/builtin_templates_invalid_parameters.cpp

  Log Message:
  -----------
  [clang][Sema] fix crash on __type_pack_element with dependent packs (GH180307) (#180407)

dependent pack expansions in __type_pack_element can result in
single-element template argument lists. When performing semantic
analysis for these builtins, the compiler needs to account for the
dependent expansions and handle them without triggering strict size
assertions. The patch adds this analysis and ensures we either defer
evaluation for dependent cases or report clear out-of-bounds diagnostics
instead of crashing
Ai was used for test generation and CI debugging 
fixes #180307


  Commit: e6aafae828e0c6f7045cdc17253b42b844f52098
      https://github.com/llvm/llvm-project/commit/e6aafae828e0c6f7045cdc17253b42b844f52098
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M polly/lib/External/isl/GIT_HEAD_ID
    M polly/lib/External/isl/isl_ast_build_expr.c
    A polly/lib/External/isl/test_inputs/codegen/polly3.c
    A polly/lib/External/isl/test_inputs/codegen/polly3.st

  Log Message:
  -----------
  [Polly] Update isl to isl-0.27-86-gcf471c16 (#184044)

Update isl to include
https://repo.or.cz/isl.git/commit/d1b49851aca59c1edd01cb1dc97674e6d79d07af
which fixes #180958

Closes #180958

Thanks @skimo-openhub for the fix and @thapgua for the bugreport.


  Commit: 81872e7049ea9b19d91bb01da92869060edbf2a3
      https://github.com/llvm/llvm-project/commit/81872e7049ea9b19d91bb01da92869060edbf2a3
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl

  Log Message:
  -----------
  [NFC] Fix check lines for `clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl` on Darwin (#184042)


  Commit: 8774da8f2f4d28e1b806da38af8732603dc63530
      https://github.com/llvm/llvm-project/commit/8774da8f2f4d28e1b806da38af8732603dc63530
  Author: Nishant Patel <nishant.b.patel at intel.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
    M mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
    M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Preserve anchor layouts in recoverTemporaryLayout (#182186)


  Commit: e95dabef96f481d78f2b4da9d6f8b5d27195c2b2
      https://github.com/llvm/llvm-project/commit/e95dabef96f481d78f2b4da9d6f8b5d27195c2b2
  Author: Twice <twice at apache.org>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M mlir/python/mlir/dialects/ext.py
    M mlir/test/python/dialects/ext.py

  Log Message:
  -----------
  [MLIR][Python] Support attribute definitions in Python-defined dialects (#183907)

This PR is quite similiar to
https://github.com/llvm/llvm-project/pull/182805.

We added basic support of attribute definitions in Python-defined
dialects, including:

- IRDL codegen for attribute definitions
- Attr builders like `MyAttr.get(..)` and attr parameter accessors (e.g.
`my_attr.param1`)
- Use Python-defined attrs in Python-defined operations

Assisted by GitHub Copilot.


  Commit: 686987a540bc176bceaad43ffe530cb3e88796d5
      https://github.com/llvm/llvm-project/commit/686987a540bc176bceaad43ffe530cb3e88796d5
  Author: Ruiling, Song <ruiling.song at amd.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
    M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
    M llvm/test/CodeGen/AMDGPU/load-saddr-offset-imm.ll
    A llvm/test/Transforms/InstCombine/AMDGPU/canonicalize-add-to-gep.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.wave.shuffle.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/mbcnt.ll

  Log Message:
  -----------
  ValueTracking/AMDGPU: handle mbcnt in computeKnownBitsFromOperator (#183229)

This helps canonicalize some address calculation. This would further
help immediate folding into memory load instructions in the backend.

The order changes to v_mad_u32_u24 is just because
@llvm.amdgcn.mul.u24.i32 was used in codegen prepare after this change.
It does not really change anything important.


  Commit: 8fff1c042d14d903ad8bcd1b169e06f0ba04882d
      https://github.com/llvm/llvm-project/commit/8fff1c042d14d903ad8bcd1b169e06f0ba04882d
  Author: Mend Renovate <bot at renovateapp.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M .github/workflows/upload-release-artifact/action.yml

  Log Message:
  -----------
  Update actions/attest-build-provenance action to v4 (#184051)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/attest-build-provenance](https://redirect.github.com/actions/attest-build-provenance)
| action | major | `v3.1.0` → `v4.1.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](../issues/160328) for more information.

---

### Release Notes

<details>
<summary>actions/attest-build-provenance
(actions/attest-build-provenance)</summary>

###
[`v4.1.0`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v4.1.0)

[Compare
Source](https://redirect.github.com/actions/attest-build-provenance/compare/v4.0.0...v4.1.0)

> \[!NOTE]
> As of version 4, `actions/attest-build-provenance` is simply a wrapper
on top of
[`actions/attest`](https://redirect.github.com/actions/attest).
>
> Existing applications may continue to use the
`attest-build-provenance` action, but new implementations should use
`actions/attest` instead.

#### What's Changed

- Update RELEASE.md docs by
[@​bdehamer](https://redirect.github.com/bdehamer) in
[#​836](https://redirect.github.com/actions/attest-build-provenance/pull/836)
- Bump `actions/attest` from 4.0.0 to 4.1.0 by
[@​bdehamer](https://redirect.github.com/bdehamer) in
[#​838](https://redirect.github.com/actions/attest-build-provenance/pull/838)
- Bump `@actions/attest` from 3.0.0 to 3.1.0 by
[@​bdehamer](https://redirect.github.com/bdehamer) in
[actions/attest#362](https://redirect.github.com/actions/attest/pull/362)
- Bump `@actions/attest` from 3.1.0 to 3.2.0 by
[@​bdehamer](https://redirect.github.com/bdehamer) in
[actions/attest#365](https://redirect.github.com/actions/attest/pull/365)
- Add new `subject-version` input for inclusion in storage record by
[@​bdehamer](https://redirect.github.com/bdehamer) in
[actions/attest#364](https://redirect.github.com/actions/attest/pull/364)
- Add storage record content to README by
[@​bdehamer](https://redirect.github.com/bdehamer) in
[actions/attest#366](https://redirect.github.com/actions/attest/pull/366)

**Full Changelog**:
<https://github.com/actions/attest-build-provenance/compare/v4.0.0...v4.1.0>

###
[`v4.0.0`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v4.0.0)

[Compare
Source](https://redirect.github.com/actions/attest-build-provenance/compare/v3.2.0...v4.0.0)

> \[!NOTE]
> As of version 4, `actions/attest-build-provenance` is simply a wrapper
on top of
[`actions/attest`](https://redirect.github.com/actions/attest).
>
> Existing applications may continue to use the
`attest-build-provenance` action, but new implementations should use
`actions/attest` instead.

#### What's Changed

- Prepare v4 release by
[@​bdehamer](https://redirect.github.com/bdehamer) in
[#​835](https://redirect.github.com/actions/attest-build-provenance/pull/835)

**Full Changelog**:
<https://github.com/actions/attest-build-provenance/compare/v3.2.0...v4.0.0>

###
[`v3.2.0`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v3.2.0)

[Compare
Source](https://redirect.github.com/actions/attest-build-provenance/compare/v3.1.0...v3.2.0)

#### What's Changed

- Bump [@​actions/core](https://redirect.github.com/actions/core)
from 1.11.1 to 2.0.1 by
[@​dependabot](https://redirect.github.com/dependabot)\[bot] in
[#​776](https://redirect.github.com/actions/attest-build-provenance/pull/776)
- Add more documentation on Artifact Metadata Storage Records by
[@​malancas](https://redirect.github.com/malancas) in
[#​797](https://redirect.github.com/actions/attest-build-provenance/pull/797)
- Update actions/attest to latest version v3.2.0 by
[@​malancas](https://redirect.github.com/malancas) in
[#​812](https://redirect.github.com/actions/attest-build-provenance/pull/812)

**Full Changelog**:
<https://github.com/actions/attest-build-provenance/compare/v3.1.0...v3.2.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 12:59 AM, only on
Monday ( * 0 * * 1 ) (UTC), Automerge - At any time (no schedule
defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/llvm/llvm-project).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My40My4yIiwidXBkYXRlZEluVmVyIjoiNDMuNDMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->


  Commit: 52a9eb37db83e1891b20c8d9cf0d03559bb4b2ca
      https://github.com/llvm/llvm-project/commit/52a9eb37db83e1891b20c8d9cf0d03559bb4b2ca
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M .github/workflows/upload-release-artifact/action.yml

  Log Message:
  -----------
  [Github] Add TODO around actions/attest


  Commit: ab1d59e72524c0fbb77b614c46d67265f1f6a47d
      https://github.com/llvm/llvm-project/commit/ab1d59e72524c0fbb77b614c46d67265f1f6a47d
  Author: owenca <owenpiano at gmail.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/unittests/Format/ConfigParseTest.cpp

  Log Message:
  -----------
  [clang-format] Allow InheritParentConfig to accept a directory (#182791)

Add support for `BasedOnStyle: InheritParentConfig=<directory-path>` in
config files to redirect inheritance to the `.clang-format` or
`_clang-format` file in the `<directory_path>` directory.

Closes #107808


  Commit: f1620e44412fd01a453f6f36d561bb395e1c0627
      https://github.com/llvm/llvm-project/commit/f1620e44412fd01a453f6f36d561bb395e1c0627
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
    M clang/test/Misc/nvptx.languageOptsOpenCL.cl

  Log Message:
  -----------
  [OpenCL] Enable __cl_clang_function_scope_local_variables for AMDGPU and NVPTX targets (#183892)

I'd like to use this extension in our downstream SYCL compiler to
implement the __clc__group_scratch helper function, allowing us to
replace .ll files with .cl files for the two targets:
https://github.com/intel/llvm/blob/sycl/libclc/libspirv/lib/amdgcn-amdhsa/group/collectives_helpers.ll
https://github.com/intel/llvm/blob/sycl/libclc/libspirv/lib/ptx-nvidiacl/group/collectives_helpers.ll


  Commit: 6d82f143dee1add67f64ceca89a7bce7bcf2277a
      https://github.com/llvm/llvm-project/commit/6d82f143dee1add67f64ceca89a7bce7bcf2277a
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/performance/CMakeLists.txt
    M clang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp
    A clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
    A clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/performance/use-std-move.rst
    A clang-tools-extra/test/clang-tidy/checkers/performance/use-std-move.cpp

  Log Message:
  -----------
  [clang-tidy] New performance linter: performance-use-std-move (#179467)

This linter suggests calls to ``std::move`` when a costly copy would
happen otherwise. It does not try to suggest ``std::move`` when they are
valid but obviously not profitable (e.g. for trivially movable types)

This is a very simple version that only considers terminating basic
blocks. Further work will extend the approach through the control flow
graph.

It has already been used successfully on llvm/lib to submit bugs
#178174,
 #178169, #178176, #178172, #178175, #178180, #178178, #178177, #178179,
 #178173 and #178167, and on the firefox codebase to submit most of the
dependencies of bug https://bugzilla.mozilla.org/show_bug.cgi?id=2012658


  Commit: b8d0bb2ddc77c6f9a856ae90fd1329778c070823
      https://github.com/llvm/llvm-project/commit/b8d0bb2ddc77c6f9a856ae90fd1329778c070823
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp

  Log Message:
  -----------
  [WebKit checkers] Trivial function analysis ignores some nodelete annotation (#183970)

This PR fixes the bug that TrivialFunctionAnalysis can ignore nodelete
annotation set on some but not all function declarations because it does
not check the annotation on prior declarations unlike
alpha.webkit.NoDeleteChecker which checks it on any declaration by
replacing isNoDeleteFunction with NoDeleteChecker's
hasNoDeleteAnnotation.


  Commit: 3270bbf04cbae1d11b6a2283056974b10047094b
      https://github.com/llvm/llvm-project/commit/3270bbf04cbae1d11b6a2283056974b10047094b
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M bolt/runtime/instr.cpp

  Log Message:
  -----------
  [BOLT][instr] Make instrumentation counter reset thread safe (#183186)

Use `GlobalWriteProfileMutex` to synchronize between data reset and
dump. Between static counter reset and increment, we use atomic store
in counter reset - the counter increment sequence inserted within user
code already takes care of thread safety, so we just need to make sure
the counter reset code is also thread safe (no torn write to counter).


  Commit: b4b32e88dde64ffc97fc0265e356c8743695fe0c
      https://github.com/llvm/llvm-project/commit/b4b32e88dde64ffc97fc0265e356c8743695fe0c
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M bolt/runtime/common.h
    M bolt/runtime/instr.cpp

  Log Message:
  -----------
  [BOLT][instr] Disable stderr diagnostic output when targeting Android (#183185)

Disable all stderr diagnostic output on Android since there is typically
no terminal to read diagnostic message. The `noinline`annotation is to
keep same inline decision before and after this change. On AArch64
the `.text` section in instr runtime library is now ~4.8 KB smaller.


  Commit: 14bcb1a0095408cbf04bad4cea984eb9f448de23
      https://github.com/llvm/llvm-project/commit/14bcb1a0095408cbf04bad4cea984eb9f448de23
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2026-03-01 (Sun, 01 Mar 2026)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Core/BinaryFunction.cpp

  Log Message:
  -----------
  [BOLT] Make sure IOAddressMap exist before lookup (NFC) (#183184)

`BinaryFunction::translateInputToOutputAddress()` contains fallback
logic in case that querying `IOAddressMap` doesn't yield an output
address. Because this function could be called in scenarios where
`IOAddressMap` won't be set up, we should check if the map actually
exists before lookup.


  Commit: 1c3327561977a77aea21956c084d63e0e4fd2860
      https://github.com/llvm/llvm-project/commit/1c3327561977a77aea21956c084d63e0e4fd2860
  Author: Davide Grohmann <davide.grohmann at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td

  Log Message:
  -----------
  [mlir][spirv] Introduce a base class for spirv.TOSA convolution ops (#183751)

Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>


  Commit: 265c1f483398e2b8dbbd193258570a16fc4c5e09
      https://github.com/llvm/llvm-project/commit/265c1f483398e2b8dbbd193258570a16fc4c5e09
  Author: Tomer Shafir <tomer.shafir8 at gmail.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/max-interleave-factor-debug.ll

  Log Message:
  -----------
  [LV] Add debug print for TTI.MaxInterleaveFactor (NFC) (#183309)

As its not currently visible in the debug output.

---------

Co-authored-by: Sander de Smalen <sander.desmalen at arm.com>


  Commit: f7b1107bf5641b199340d08f96980cd228755da7
      https://github.com/llvm/llvm-project/commit/f7b1107bf5641b199340d08f96980cd228755da7
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/IVDescriptors.h
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
    M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
    M llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
    M llvm/test/Transforms/LoopVectorize/minmax_reduction.ll

  Log Message:
  -----------
  [IVDescriptors] Remove function FMF attribute check for FP min/max reduction (#183523)

Remove the use of function attributes no-nans-fp-math and
no-signed-zeros-fp-math in FP min/max reduction detection. The required
fast-math flags nnan and nsz should be present on the intrinsic calls,
fcmp and select instructions themselves.


  Commit: 51d9b40b0d094f2de64a5ec9493fb8689daf1e08
      https://github.com/llvm/llvm-project/commit/51d9b40b0d094f2de64a5ec9493fb8689daf1e08
  Author: David Green <david.green at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/sve-lrint.ll

  Log Message:
  -----------
  [AArch64] Remove iXLen from sve-lrint.ll. NFC


  Commit: c62c00c52405da2650512ab030bef30a9ccaec6a
      https://github.com/llvm/llvm-project/commit/c62c00c52405da2650512ab030bef30a9ccaec6a
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/cast-induction.ll
    M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
    M llvm/test/Transforms/LoopVectorize/version-mem-access.ll
    M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll

  Log Message:
  -----------
  [VPlan] Remove unused VPExpandSCEVRecipe before expansion (#181329)

VPExpandSCEVRecipe may become unused after VPlan optimizations. This
patch removes VPExpandSCEVRecipes with no users before expansion in
expandSCEVs, avoiding generating dead code during VPlan execution.


  Commit: 0704b68a027a84863bbdc654df1e2989b4de3ab7
      https://github.com/llvm/llvm-project/commit/0704b68a027a84863bbdc654df1e2989b4de3ab7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/test/tools/gold/X86/thinlto.ll

  Log Message:
  -----------
  [gold] Fix test

Update for https://github.com/llvm/llvm-project/pull/183793.


  Commit: 4922ab9915b0bc8cb6528583fe2da324d2d4bdeb
      https://github.com/llvm/llvm-project/commit/4922ab9915b0bc8cb6528583fe2da324d2d4bdeb
  Author: Kito Cheng <kito.cheng at sifive.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/test/CodeGen/RISCV/prefetch.ll
    M llvm/test/CodeGen/RISCV/riscv-zihintpause.ll

  Log Message:
  -----------
  [RISCV] Relax codegen predicates for HINT-based instructions (#179872)

Following the assembler/disassembler changes in #178609, this patch also
relaxes the codegen predicates for HINT-based instructions. Since these
instructions use encodings that are architecturally guaranteed not to
trap, the compiler can safely generate them regardless of extension
availability.

Changes:
- int_riscv_pause: Remove HasStdExtZihintpause predicate. The pause
intrinsic now generates the FENCE hint encoding unconditionally.
- NTL hints: Remove hasStdExtZihintntl() check in emitNTLHint().
Non-temporal locality hints are now emitted for all nontemporal memory
operations.


  Commit: 36c6c689dc3141b557638808a073b71104e82c35
      https://github.com/llvm/llvm-project/commit/36c6c689dc3141b557638808a073b71104e82c35
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M compiler-rt/test/builtins/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt][ARM] Fix conditions for strict-mode FP testing (#183507)

On sufficiently old versions of the Arm architecture, the optimized FP
routines are not enabled. So commit a84ee1416b6c179 should not have
enabled the extra-strict tests that go with them.

Also in that commit, I wrote a comment saying I was setting two separate
compile-time definitions (-DCOMPILER_RT_ARM_OPTIMIZED_FP and
-DCOMPILER_RT_ARM_OPTIMIZED_FP_THUMB1), and then didn't actually do it!
This caused the strict mulsf3 tests to be wrongly disabled in Thumb2.


  Commit: 4c2ac846bb776659ad9b7bf330f0152249b13764
      https://github.com/llvm/llvm-project/commit/4c2ac846bb776659ad9b7bf330f0152249b13764
  Author: Davide Grohmann <davide.grohmann at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaTypes.td
    M mlir/test/Dialect/SPIRV/IR/tosa-ops-verification.mlir
    M mlir/test/Dialect/SPIRV/IR/tosa-ops.mlir
    M mlir/test/Target/SPIRV/tosa-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Add Element Binary Logical operators to TOSA Ext Inst Set (#183703)

This patch introduces the following element binary operators:
* spirv.Tosa.LogicalAnd
* spirv.Tosa.LogicalLeftShift
* spirv.Tosa.LogicalRightShift
* spirv.Tosa.LogicalOr
* spirv.Tosa.LogicalXor

Also dialect and serialization round-trip tests have been added.

Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>


  Commit: c7e1ec97b9794da3154f44ad198d9b8eaddc7dfd
      https://github.com/llvm/llvm-project/commit/c7e1ec97b9794da3154f44ad198d9b8eaddc7dfd
  Author: Ritanya-B-Bharadwaj <ritanya.b.bharadwaj at gmail.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Lower/OpenMP/task-implicit-firstprivate.f90

  Log Message:
  -----------
  [flang][OpenMP] Implicitly capture variables in enclosing task for nested firstprivate (#183770)

Fixes https://github.com/llvm/llvm-project/issues/181271
If a variable is marked firstprivate in a nested task but not actually
used in the outer task body, we still need the outer task to capture it
as firstprivate. Otherwise the nested task can end up pointing to the
parallel region’s stack frame, which might already be gone when the
deferred task runs, causing a use-after-free.


  Commit: 86b07a79a9c34cbd6ecd9e814a68796ca9c38a46
      https://github.com/llvm/llvm-project/commit/86b07a79a9c34cbd6ecd9e814a68796ca9c38a46
  Author: David Green <david.green at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/arm64-abi-varargs.ll
    M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
    M llvm/test/CodeGen/AArch64/arm64-variadic-aapcs.ll
    M llvm/test/CodeGen/AArch64/ilp32-va.ll
    M llvm/test/CodeGen/AArch64/machine-outliner.ll

  Log Message:
  -----------
  [AArch64] Remove -aarch64-load-store-renaming=true from test. NFC

This is the default nowadays, and can be removed from tests not specific to the
feature.


  Commit: 037fd6eaaf45e5bd9969d6a62d2b4cbc7820be7a
      https://github.com/llvm/llvm-project/commit/037fd6eaaf45e5bd9969d6a62d2b4cbc7820be7a
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/VINTERPInstructions.td
    M llvm/test/MC/AMDGPU/vinterp-fake16.s
    M llvm/test/MC/Disassembler/AMDGPU/vinterp.txt

  Log Message:
  -----------
  [AMDGPU] Add VINTERP encoding to gfx13 (#182481)


  Commit: 96113ac416e7af1343d4ca9620ac312c301e9fc7
      https://github.com/llvm/llvm-project/commit/96113ac416e7af1343d4ca9620ac312c301e9fc7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/test/CodeGen/ubsan-function-sugared.cpp
    M clang/test/CodeGen/ubsan-function.cpp

  Log Message:
  -----------
  [Clang] Use llvm.ptrmask to mask out thumb bit (#183535)

Use llvm.ptrmask instead of a ptrtoint + and + inttoptr sequence to mask
out the thumb bit.


  Commit: 3ad43f2d1c03f7f04bd2943e9411a7986b1962c3
      https://github.com/llvm/llvm-project/commit/3ad43f2d1c03f7f04bd2943e9411a7986b1962c3
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/intrinsic-select.ll

  Log Message:
  -----------
  [LangRef] Clarify nsz semantics (#180906)

The current LangRef wording says that the sign of a zero argument or
result is "insignificant", which is not really clear on what this means.

Alive2 models this as non-deterministically flipping the zero sign bits
for both inputs and outputs.

This PR proposes to specify this flag as non-deterministically flipping
inputs only. A consequence of this is that fabs is guaranteed to have an
unset sign bit even if the input is zero (that is,
https://alive2.llvm.org/ce/z/irCftQ is no longer a valid transform), and
that the copysign result sign only depends on the second operand (that
is, https://alive2.llvm.org/ce/z/VnHdfh is no longer a valid transform).

These rules are still more liberal than we'd really like them to be, but
at least avoid some of the issues with nsz.

This is based on the discussion in:
https://discourse.llvm.org/t/rfc-clarify-the-behavior-of-fp-operations-on-bit-strings-with-nsz-flag/85981


  Commit: 900f70258b905d0b5d9eaecc74cc9130e79f899d
      https://github.com/llvm/llvm-project/commit/900f70258b905d0b5d9eaecc74cc9130e79f899d
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M lldb/include/lldb/Utility/AnsiTerminal.h
    M lldb/source/Interpreter/Options.cpp
    M lldb/test/API/commands/help/TestHelp.py
    M lldb/unittests/Utility/AnsiTerminalTest.cpp

  Log Message:
  -----------
  [lldb] Indent option help with ANSI cursor codes when possible. (#183558)

This avoids formatting empty space when a range of text formatted by
ANSI codes is split across lines.

This is not currently done in any option, but the `${...}` syntax we
have does support marking any range of text, so it could be done in
future, and fixing it is simple.

As an example, if I change a breakpoint option:
```
             "${S}et the breakpoint only in this shared library.  Can repeat "
-            "this option multiple times to specify multiple shared libraries.">;
+            "this option multiple ${times to specify multiple} shared libraries.">;
```
This applies the underline to words that will be split across lines. In
the outputs below, `^` represents an underlined character.

With spaces:
```
       -s <shlib-name> ( --shlib <shlib-name> )
            Set the breakpoint only in this shared library.  Can repeat this option multiple times to
                                                                                             ^^^^^^^^
            specify multiple shared libraries.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```
The indent and the text are underlined, this is not what we want.

With cursor movement:
```
       -s <shlib-name> ( --shlib <shlib-name> )
            Set the breakpoint only in this shared library.  Can repeat this option multiple times to
                                                                                             ^^^^^^^^
            specify multiple shared libraries.
            ^^^^^^^^^^^^^^^^
```
Only the text is underlined, which is correct.

If we are not allowed to use ANSI (use-color is off), then the
descriptions will be stripped of ANSI anyway, so this is not a problem.

---------

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>


  Commit: f46aca9bf84e810e3c97216a4d95eebc5652f651
      https://github.com/llvm/llvm-project/commit/f46aca9bf84e810e3c97216a4d95eebc5652f651
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll

  Log Message:
  -----------
  [AArch64] Combine (and/or X, (dup (not Y))) -> (bic/orn X, (dup Y)) (#175739)


  Commit: 925ec952ddd88f51fe022c5caeb47c6bbdca6c6f
      https://github.com/llvm/llvm-project/commit/925ec952ddd88f51fe022c5caeb47c6bbdca6c6f
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/test/MC/ARM/dwarf-asm-multiple-sections.s

  Log Message:
  -----------
  [llvm][DebugInfo][test] dwarf-asm-multiple-sections.s: refine FileCheck checks

Renames the `DWARF6` check-prefix to `DWARF7` because it's the check we use for `-dwarf-version 7`.

Also adds a check prefix for just `-dwarf-version 5` because we will
diverge DWARFv5 and DWARFv6 CU langauge attribute in https://github.com/llvm/llvm-project/pull/183897.


  Commit: 0c89071fa33ff0b8a719a1671f2b3551ccf0902a
      https://github.com/llvm/llvm-project/commit/0c89071fa33ff0b8a719a1671f2b3551ccf0902a
  Author: Kleis Auke Wolthuizen <github at kleisauke.nl>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  github-automation.py: Fix mis-indented statement (#149653)

Ensure all reviewers who approved the original PR are properly notified
and added as reviewers on backport PRs.

Resolves: #109429.


  Commit: 61faf7d3db72dcfe8d19f9bd926133be1be0f62b
      https://github.com/llvm/llvm-project/commit/61faf7d3db72dcfe8d19f9bd926133be1be0f62b
  Author: Ryan Cowan <ryan.cowan at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/inttoptr_add.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/regbankselect-build-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-constant.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-dup.mir
    M llvm/test/CodeGen/AArch64/aarch64-mops.ll
    M llvm/test/CodeGen/AArch64/arm64-fp-imm-size.ll
    M llvm/test/CodeGen/AArch64/arm64-fp-imm.ll
    M llvm/test/CodeGen/AArch64/arm64-fp128.ll
    M llvm/test/CodeGen/AArch64/arm64-vhadd.ll
    M llvm/test/CodeGen/AArch64/dup.ll
    M llvm/test/CodeGen/AArch64/fcvt_combine.ll
    M llvm/test/CodeGen/AArch64/fpimm.ll
    M llvm/test/CodeGen/AArch64/fptoui-sat-scalar.ll
    M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
    M llvm/test/CodeGen/AArch64/frem-power2.ll
    M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
    M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
    M llvm/test/CodeGen/AArch64/rem-by-const.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Use GPR for illegal fconstants and extend < 32 bit GPR constants to 32 bits (#178692)

In a similar fashion to
https://github.com/llvm/llvm-project/pull/175810, this PR aims to
simplify the handling of constants by extending smaller than 32 bit
integer constants to 32 bits in regbankselect. This is only done for
constants that were going to be assigned to a GPR and aims to simplify
the selection of these.

In addition, fconstants that would have lead to a constant pool load
because they are illegal as immediates (except for 128 bit) are now
converted to a constant on GPR registers before being copied to the FPR.
This hopefully reduces cache pressure & simplifies selection.

I have tried to rely on tablegen as much as possible for selecting the
instructions for this.


  Commit: 730587d3be6cdd984d91336c0992176d72f5d5c1
      https://github.com/llvm/llvm-project/commit/730587d3be6cdd984d91336c0992176d72f5d5c1
  Author: Aaron Smull <45045667+asmull at users.noreply.github.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/X86/known-never-zero.ll

  Log Message:
  -----------
  [DAG] isKnownNeverZero - add DemandedElts for ISD::SMIN/SMAX (#184054)

Resolves #183039


  Commit: 13751c87076b9fe1c235a951e75715a6761203a7
      https://github.com/llvm/llvm-project/commit/13751c87076b9fe1c235a951e75715a6761203a7
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/CodeGen/AArch64/replace-with-veclib-armpl.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll

  Log Message:
  -----------
  [AArch64] Vectorise llvm.pow using vector intrinsic for ArmPL library (#183319)

When vectorising loops containing calls to the llvm.pow intrinsic we
currently end up with direct calls to the vector math library equivalent
of llvm.pow. This causes problems later on because we then miss out on
optimisations in the backend for things like

  pow(x, 0.25)
  pow(x, 0.75)
  etc.

There are a few different ways of trying to solve this, but I think the
cleanest way is to leave the call in the intrinsic form and then teach
the backend how to lower the FPOW DAG node to the vector math library
function. This is similar to what we already do for llvm.sincos/FSINCOS
today.

I've done this by removing the entries in Analysis/VecFuncs.def that map
the intrinsic to the vector math functions, whilst also teaching the
cost model that the vector intrinsic form of llvm.pow is cheap in the
presence of the library.


  Commit: e3b01e132908836aebc142d5e92d96314fd44951
      https://github.com/llvm/llvm-project/commit/e3b01e132908836aebc142d5e92d96314fd44951
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py

  Log Message:
  -----------
  [lldb] Fix wchar addition tests in DIL (#184082)

This patch fixes tests on systems where `wchar`'s underlying type is
`unsigned long`, or `long` and `int` types have the same width, so
`unsigned int` gets promoted to `unsigned long` during binary addition.
These tests check that `wchar` types get promoted to regular integer
types at all.


  Commit: e44fd05035a3d6a55fff4e29049ba05340c447da
      https://github.com/llvm/llvm-project/commit/e44fd05035a3d6a55fff4e29049ba05340c447da
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M mlir/Maintainers.md
    M mlir/docs/TargetLLVMIR.md
    R mlir/include/mlir-c/Dialect/AMX.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Conversion/VectorToAMX/VectorToAMX.h
    R mlir/include/mlir/Dialect/AMX/AMX.td
    R mlir/include/mlir/Dialect/AMX/AMXDialect.h
    R mlir/include/mlir/Dialect/AMX/AMXInterfaces.td
    R mlir/include/mlir/Dialect/AMX/CMakeLists.txt
    R mlir/include/mlir/Dialect/AMX/Transforms.h
    M mlir/include/mlir/Dialect/CMakeLists.txt
    M mlir/include/mlir/Dialect/SparseTensor/Pipelines/Passes.h
    M mlir/include/mlir/Dialect/X86/Transforms.h
    M mlir/include/mlir/Dialect/X86/X86.td
    M mlir/include/mlir/Dialect/X86/X86Dialect.h
    R mlir/lib/CAPI/Dialect/AMX.cpp
    M mlir/lib/CAPI/Dialect/CMakeLists.txt
    M mlir/lib/Conversion/VectorToAMX/CMakeLists.txt
    M mlir/lib/Conversion/VectorToAMX/VectorToAMX.cpp
    M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    R mlir/lib/Dialect/AMX/CMakeLists.txt
    R mlir/lib/Dialect/AMX/IR/AMXDialect.cpp
    R mlir/lib/Dialect/AMX/IR/CMakeLists.txt
    R mlir/lib/Dialect/AMX/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/AMX/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Dialect/CMakeLists.txt
    M mlir/lib/Dialect/X86/IR/X86Dialect.cpp
    M mlir/lib/Dialect/X86/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/RegisterAllDialects.cpp
    M mlir/lib/RegisterAllExtensions.cpp
    M mlir/test/CMakeLists.txt
    M mlir/test/Conversion/VectorToAMX/contract-to-amx.mlir
    M mlir/test/Conversion/VectorToAMX/transfer-to-amx.mlir
    M mlir/test/Conversion/VectorToLLVM/pass-option-serialization.mlir
    R mlir/test/Dialect/AMX/invalid.mlir
    R mlir/test/Dialect/AMX/legalize-for-llvm.mlir
    R mlir/test/Dialect/AMX/roundtrip.mlir
    R mlir/test/Dialect/AMX/side-effects.mlir
    M mlir/test/Dialect/Linalg/invalid.mlir
    A mlir/test/Dialect/X86/AMX/invalid.mlir
    A mlir/test/Dialect/X86/AMX/legalize-for-llvm.mlir
    A mlir/test/Dialect/X86/AMX/roundtrip.mlir
    A mlir/test/Dialect/X86/AMX/side-effects.mlir
    R mlir/test/Integration/Dialect/Vector/CPU/AMX/lit.local.cfg
    R mlir/test/Integration/Dialect/Vector/CPU/AMX/mulf-full.mlir
    R mlir/test/Integration/Dialect/Vector/CPU/AMX/mulf.mlir
    R mlir/test/Integration/Dialect/Vector/CPU/AMX/muli-ext.mlir
    R mlir/test/Integration/Dialect/Vector/CPU/AMX/muli-full.mlir
    R mlir/test/Integration/Dialect/Vector/CPU/AMX/muli.mlir
    R mlir/test/Integration/Dialect/Vector/CPU/AMX/tilezero-block.mlir
    R mlir/test/Integration/Dialect/Vector/CPU/AMX/tilezero.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/lit.local.cfg
    A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/mulf-full.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/mulf.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/muli-ext.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/muli-full.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/muli.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/tilezero-block.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/tilezero.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/X86/dot.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/X86/sparse-dot-product.mlir
    M mlir/test/Target/LLVMIR/amx.mlir
    M mlir/test/lit.site.cfg.py.in
    M mlir/test/mlir-opt/commandline.mlir

  Log Message:
  -----------
  [mlir][x86] Move AMX dialect into X86 dialect (#183717)

Unifies the two dialects that define x86 operations into a single one.
The AMX dialect is moved into X86 in line with other x86 extensions.

Following the dialect renaming, X86 dialect is now a suitable home for
wider range of operations targeting specific hardware features. Moving
AMX definitions to X86 dialect creates a single, centralized hub for
defining all x86 intrinsic-like operations. The new grouping aims to
eliminate the need for new dialects as new hardware extensions become
available.

The two dialects are simply merged together. X86 dialect refactoring
will be addressed separately.

List of changes:
  - operations: 'amx.tile_*' => 'x86.amx.tile_*'
  - types: '!amx.tile' => '!x86.amx.tile'
  - namespace: 'mlir::amx' => 'mlir::x86::amx'
  - test define: 'MLIR_RUN_AMX_TESTS' => 'MLIR_RUN_X86_AMX_TESTS'
  - vector lowering: AMX is enabled by default together with X86

The MLIR AMX tests are now nested under X86 directory. To enable AMX
integration tests, 'MLIR_RUN_X86_TESTS' must also be defined.


  Commit: 482a7718a8d8376b56e9dad7432624c1491ee1e6
      https://github.com/llvm/llvm-project/commit/482a7718a8d8376b56e9dad7432624c1491ee1e6
  Author: fbrv <Fabio.Baravalle at gmail.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/RISCV/combine-clmul.ll
    M llvm/test/CodeGen/X86/combine-clmul.ll

  Log Message:
  -----------
  [DAG] visitCLMUL - fold (clmul x, c_pow2) -> (shl x, log2(c_pow2)) (#184049)

Implements the missing basic folds for `ISD::CLMUL` in `visitCLMUL`:
 - `(clmul x, 1)` → `x` 
 - `(clmul x, c_pow2)` → `(shl x, log2(c_pow2))`

These were previously only folded during scalar expansion
(`expandCLMUL`), so targets with native CLMUL support (e.g. X86 pclmul,
RISCV Zbc) never had the opportunity to simplify these cases.

Fixes #181831


  Commit: 00af181a4eddad6ad2b0ea2e435ecde5f4033314
      https://github.com/llvm/llvm-project/commit/00af181a4eddad6ad2b0ea2e435ecde5f4033314
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/test/Dialect/EmitC/form-expressions.mlir

  Log Message:
  -----------
  [mlir][emitc] Fix crash in form-expressions when identity cast is folded (#183894)

When the --form-expressions pass runs applyPatternsGreedily, the greedy
rewriter calls CastOpInterface::foldTrait on ops inside ExpressionOp
bodies. For an identity cast (e.g. `emitc.cast i32 to i32`), this fold
succeeds and replaces the op's result with its operand (a block
argument), leaving the ExpressionOp body in the form `{ yield %arg }`.

Subsequently, if the cast expression's result had its use count reduced
to one (e.g. because a dead non-EmitC use was eliminated),
FoldExpressionOp would select this expression as a candidate to fold
into an outer expression. It then calls usedExpression.getRootOp(),
which returns nullptr because the body yields a block argument rather
than an op result. The subsequent mapper.lookup(nullptr) crashes with an
assertion.

Fix by adding a FoldTrivialExpressionOp canonicalization pattern that
handles ExpressionOps whose body yields a block argument directly: such
an expression is a passthrough and can be replaced by the corresponding
operand value. This canonicalization fires during greedy rewriting
before FoldExpressionOp encounters the invalid state.

Fixes #179844


  Commit: c1d82e2f3e83c89b78825233afe05796ae2f73c0
      https://github.com/llvm/llvm-project/commit/c1d82e2f3e83c89b78825233afe05796ae2f73c0
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M mlir/lib/Reducer/OptReductionPass.cpp

  Log Message:
  -----------
  [mlir][reducer] Use LDBG in opt-reduction-pass (NFC) (#184026)

Co-authored-by: Mehdi Amini <joker.eph at gmail.com>


  Commit: 6cce18b9f5185e7285a3de5202b494282e6ef43f
      https://github.com/llvm/llvm-project/commit/6cce18b9f5185e7285a3de5202b494282e6ef43f
  Author: Ricardo Jesus <rjj at nvidia.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp
    M llvm/test/Transforms/LoopIdiom/AArch64/find-first-byte.ll

  Log Message:
  -----------
  [LoopIdiomVectorize] Avoid wrapping in find_first_of loops. (#180570)

As noted in
https://github.com/llvm/llvm-project/pull/179298#discussion_r2757948654,
use integer induction variables to avoid potential pointer wrap.


  Commit: 47383919d11171607ec2f00d4122a1a958551a3e
      https://github.com/llvm/llvm-project/commit/47383919d11171607ec2f00d4122a1a958551a3e
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

  Log Message:
  -----------
  [AArch64][NFC] Remove unused parameters for `performORCombine` (#184075)


  Commit: dd871f55f01870bb29468ceea89f7b810a330add
      https://github.com/llvm/llvm-project/commit/dd871f55f01870bb29468ceea89f7b810a330add
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M flang/test/Lower/HLFIR/goto-do-body.f90

  Log Message:
  -----------
  [flang] Use CHECK-DAG to check constants (NFC) (#184097)

It is part of https://github.com/llvm/llvm-project/pull/180556, as a
separate NFC PR.


  Commit: 52df4a19599b9b51bc8ac7c612e979e361aded93
      https://github.com/llvm/llvm-project/commit/52df4a19599b9b51bc8ac7c612e979e361aded93
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

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

  Log Message:
  -----------
  [AMDGPU] Fix typos "SPGR" / "VPGR" in comments


  Commit: 82a1905c4bd33c26d8d91c3ba892652d978f7b74
      https://github.com/llvm/llvm-project/commit/82a1905c4bd33c26d8d91c3ba892652d978f7b74
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp

  Log Message:
  -----------
  InstCombine: Pass SimplifyQuery through SimplifyDemandedFPClass (#184096)


  Commit: d2b6a5a3f6e8a1d9bf0ff2d6329653f9873d3c4d
      https://github.com/llvm/llvm-project/commit/d2b6a5a3f6e8a1d9bf0ff2d6329653f9873d3c4d
  Author: Pradeep Kumar <pradeepku at nvidia.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp

  Log Message:
  -----------
  [LLVM][NVPTX] Fix infinite legalization loop in tcgen05.st (#183012)

This commit adds missing legalizer check without which ISel Lowering gets stuck in an infinite loop


  Commit: 24d21ca03cd2ba7792f72c5acad1d8715b622237
      https://github.com/llvm/llvm-project/commit/24d21ca03cd2ba7792f72c5acad1d8715b622237
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-loop.cpp
    A flang/test/Semantics/OpenMP/fuse1.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix counting generated nests (#183957)

The code in `CountGeneratedNests` returned std::nullopt if the LOOPRANGE
clause was not present on a FUSE construct. That is incorrect, the
answer should be 1 instead, except in cases where the FUSE itself was
invalid, such as having no loops nested in it.

Returning std::nullopt will not cause any messages to be emitted. The
case of zero loops inside of FUSE will be diagnosed when analyzing the
body of the FUSE construct itself, not when checking a construct in
which the FUSE is nested.
This prevents error messages caused by the same problem from being
emitted for every enclosing loop construct.


  Commit: b39247c391c4eca1ce1a327716ca5e8e7557feb7
      https://github.com/llvm/llvm-project/commit/b39247c391c4eca1ce1a327716ca5e8e7557feb7
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp

  Log Message:
  -----------
  [AMDGPU] Fix typo "PGRM" in variable name. NFC. (#184104)


  Commit: 87cbea6cdc9a55c1fda2d83820d0d81f314868a7
      https://github.com/llvm/llvm-project/commit/87cbea6cdc9a55c1fda2d83820d0d81f314868a7
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M openmp/cmake/modules/LibompHandleFlags.cmake
    M openmp/cmake/modules/LibompUtils.cmake
    M openmp/docs/CMakeLists.txt
    M openmp/libompd/src/CMakeLists.txt
    M openmp/runtime/CMakeLists.txt
    M openmp/runtime/cmake/LibompExports.cmake
    M openmp/runtime/cmake/LibompMicroTests.cmake
    M openmp/runtime/cmake/config-ix.cmake
    M openmp/runtime/src/CMakeLists.txt
    M openmp/tools/omptest/CMakeLists.txt

  Log Message:
  -----------
  [openmp][cmake][NFCI] Avoid non-eval uses of ${var} (#182267)

When using

    set(var "Example")
    if (${var})

CMake will first resolve the if-argument to

    if (Example)

And what then happens depends on the existance of a variable with the
name "Example":

1. If instead of "Example", a truth constant is used ("TRUE", "FALSE",
   "ON", "OFF", "", "-NOTFOUND" ...), it is prioritized
   (https://cmake.org/cmake/help/latest/command/if.html#constant)

2. If a variable with the name "Example" exists: Use the truthiness of
   its content
   (https://cmake.org/cmake/help/latest/command/if.html#variable)

3. Otherwise, it is false-y

That is, the the result of the conditional does not only depend on the
content of `var`, but also some other variable. This is usually
unintended and leads to problems such as addressed with #154537. The
only case where this is intended is when passing an expression to be
evaluated such as with `pythonize_bool`, `append_if` and
`libomp_append`. In all other cases, using `${var}` without quotes is a
pattern to be avoided.

Remark:
If `${var}` is not one of the values considered a [truthiness
constant](https://cmake.org/cmake/help/latest/command/if.html#constant),
the result of `if (var)` and `if ("${var}")` is different:

* `if (var)` is true-ish
  (https://cmake.org/cmake/help/latest/command/if.html#variable)

* `if ("Example")` and therefore `if ("${var}")` are false-y
  (https://cmake.org/cmake/help/latest/command/if.html#string)

In this PR I am preferring `if (var)` over `if ("${var}")` because has
less clutter, resembles Python's behaviour, and problably what most
users are expecting, even though `if (${var})` in most cases would
evaluate to false-y because a variable does not exist. This ambiguity
does not exist for STREQUAL and MATCHES.


  Commit: 88693c49d9ac58a33af5978d31f6c70fe1d5b45b
      https://github.com/llvm/llvm-project/commit/88693c49d9ac58a33af5978d31f6c70fe1d5b45b
  Author: Ella Ma <alansnape3058 at gmail.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    R clang/test/Analysis/PR37855.c
    R clang/test/Analysis/bitint-z3.c
    R clang/test/Analysis/cstring-addrspace.c
    R clang/test/Analysis/unary-sym-expr-z3-refutation.c
    R clang/test/Analysis/z3-crosscheck-max-attempts.cpp
    R clang/test/Analysis/z3-crosscheck.c
    R clang/test/Analysis/z3-refute-enum-crash.cpp
    R clang/test/Analysis/z3-unarysymexpr.c
    A clang/test/Analysis/z3/PR37855.c
    A clang/test/Analysis/z3/bitint-z3.c
    A clang/test/Analysis/z3/cstring-addrspace.c
    A clang/test/Analysis/z3/unary-sym-expr-z3-refutation.c
    A clang/test/Analysis/z3/z3-crosscheck-max-attempts.cpp
    A clang/test/Analysis/z3/z3-crosscheck.c
    A clang/test/Analysis/z3/z3-refute-enum-crash.cpp
    A clang/test/Analysis/z3/z3-unarysymexpr.c

  Log Message:
  -----------
  [NFC][analyzer][test][z3] Move test cases requiring Z3 to the `Analysis/z3/` subdirectory (#183724)

Addressing #181581, continuing #183034

This enables executing all test cases with the `REQUIRES: z3` tag via
the `check-clang-analysis-z3` target.


  Commit: 60fec80bdcb3b1bc4f67ebf56ff509fef0097c85
      https://github.com/llvm/llvm-project/commit/60fec80bdcb3b1bc4f67ebf56ff509fef0097c85
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/cast-induction.ll
    M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
    M llvm/test/Transforms/LoopVectorize/version-mem-access.ll
    M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll

  Log Message:
  -----------
  Revert "[VPlan] Remove unused VPExpandSCEVRecipe before expansion" (#184108)

Reverts llvm/llvm-project#181329

Breaks: https://lab.llvm.org/buildbot/#/builders/123/builds/36163
Local revert fixes the issue seen in the buildbot.


  Commit: cd0eb16a11f8c3102d1fe0d8d135b9f592515ff9
      https://github.com/llvm/llvm-project/commit/cd0eb16a11f8c3102d1fe0d8d135b9f592515ff9
  Author: David Green <david.green at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp

  Log Message:
  -----------
  [AArch64] Add maybe_unused to DstTy in assert. NFC


  Commit: ce79fb371245c53cad00817b246e920f21568e08
      https://github.com/llvm/llvm-project/commit/ce79fb371245c53cad00817b246e920f21568e08
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/assume-icmp-null-select.ll
    M llvm/test/Transforms/InstCombine/assume-loop-align.ll
    M llvm/test/Transforms/InstCombine/assume.ll

  Log Message:
  -----------
  [InstCombine] Always fold nonnull assumptions into operand bundles (#169923)

Fixes #168688


  Commit: bcc272b3220fac5badb3e2f439f6d91fae15c4f4
      https://github.com/llvm/llvm-project/commit/bcc272b3220fac5badb3e2f439f6d91fae15c4f4
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h

  Log Message:
  -----------
  [LV] Remove DataAndControlFlowWithoutRuntimeCheck. NFC (#183762)

After #144963 and #183292 we never emit the runtime check, so
DataAndControlFlowWithoutRuntimeCheck is equivalent to
DataAndControlFlow.

With that we only need to store one tail folding style instead of two,
because we don't need to distinguish whether or not the IV update
overflows (to a non-zero value)


  Commit: 4af885c0c13c0cf1fe9aee554634020d801b4999
      https://github.com/llvm/llvm-project/commit/4af885c0c13c0cf1fe9aee554634020d801b4999
  Author: Gaëtan Bossu <gaetan.bossu at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/zext-shuffle.ll

  Log Message:
  -----------
  [AArch64] Fix performZExtUZPCombine() DAG combine (#183765)

This used to look through all extract_subvector nodes, including those
extracting a fixed vector from a scalable one. One consequence is that
we could end up generating a NVCAST from a scalable vector to a fixed
one, even when vscale was unknown.


  Commit: 4a907a526dd735acf7433be2cbddb30d48e96095
      https://github.com/llvm/llvm-project/commit/4a907a526dd735acf7433be2cbddb30d48e96095
  Author: Shaojie Zhu <shaojie.zhu at intel.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/cmake/modules/LLVMConfig.cmake.in
    M llvm/docs/CMake.rst

  Log Message:
  -----------
  [CMake] Add LLVM_ENABLE_WARNING_SUPPRESSIONS to toggle warning suppressions (#183439)

This PR introduces a new opt-in CMake option
`LLVM_ENABLE_WARNING_SUPPRESSIONS` (default `ON`) to toggle warning
suppressions

Previously, several compiler warnings were explicitly disabled using
`-wd` (for MSVC) or `-Wno-...` (for GCC/Clang) flags by default.
However, this causes validation failures with strict compliance scanners
like BinSkim, which require builds to run without any warning
suppressions to meet SDL compliance standards.

This change introduces an opt-in `LLVM_ENABLE_WARNING_SUPPRESSIONS`
option (default ON). When explicitly disabled (OFF), it selectively
filters out the `-wd` flags for MSVC and removes all `-Wno-...` flags
for GCC/Clang in HandleLLVMOptions.cmake. This ensures all compiler
warnings are exposed as intended for static analysis tools while
preserving the default noise-free build experience for regular users.

The option has also been exported to `LLVMConfig.cmake.in` and
documented in `CMake.rst`.

Signed-off-by: Zhu, Shaojie <shaojie.zhu at intel.com>


  Commit: 9d5ca5282d13603dc923d4710cbb7c1ef5089dfd
      https://github.com/llvm/llvm-project/commit/9d5ca5282d13603dc923d4710cbb7c1ef5089dfd
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/include/llvm/IR/Value.h
    M llvm/lib/IR/Value.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp

  Log Message:
  -----------
  [IR] Return bool from replaceUsesWithIf() (#184107)

We regularly want to know whether replaceUsesWithIf() actually replaced
any uses for the purpose of change tracking. It's possible to do this by
maintaining a Changed flag inside the callback, but it's cleaner if the
method directly returns whether it modified anything.


  Commit: 4e8be20faa1c3bc43f18eb1b250453e69aaf4eca
      https://github.com/llvm/llvm-project/commit/4e8be20faa1c3bc43f18eb1b250453e69aaf4eca
  Author: earnol <earnol at users.noreply.github.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    A clang/test/Sema/multi-dim-array.c

  Log Message:
  -----------
  [clang][test] Add multi-dim-array diagnostic test for multi-dimensional array function passing (#183847)

Add test coverage for incompatible pointer type diagnostics when passing
multidimensional arrays to functions expecting flat pointers. Tests
covers 2D, 3D, 4D arrays, zero-sized dimensions, struct arrays, and type
mismatches.

Co-authored-by: Vladislav Aranov <vladislav.aranov at ericsson.com>


  Commit: 977355be38d10c62c3d5498a64618ec926348252
      https://github.com/llvm/llvm-project/commit/977355be38d10c62c3d5498a64618ec926348252
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/test/Dialect/Tosa/error_if_check.mlir

  Log Message:
  -----------
  [mlir][tosa] Disallow inferable dim in reshape/slice validation (#182472)

This commit ensures that the validation pass checks for the presence of
inferable dimensions (represented by -1) in reshape and slice
operations. These are not compliant with the TOSA specification. If such
dimensions are found, an error message is emitted indicating that they
do not conform to the TOSA specification.


  Commit: 19be8d60662be4972cf52ca58a3c35e0983c1d73
      https://github.com/llvm/llvm-project/commit/19be8d60662be4972cf52ca58a3c35e0983c1d73
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir

  Log Message:
  -----------
  [mlir][tosa] Fix crash in TosaInferShapes when while_loop carries sparse tensors (#183943)

TypeModificationState::commit() inserted a tensor.cast immediately after
the defining operation of the value whose type changed. For block
arguments (e.g., loop-carried variables in tosa.while_loop), there is no
defining operation, so getDefiningOp() returns nullptr, causing a
segmentation fault when the insertion point was set via
setInsertionPointAfter(nullptr).

Fix by checking whether the value is defined by an operation; if not
(i.e., it is a block argument), insert the cast at the start of the
block that owns the argument.

Fixes #181449


  Commit: c5e5c9735a33909e2268f99e84654e46bd98b109
      https://github.com/llvm/llvm-project/commit/c5e5c9735a33909e2268f99e84654e46bd98b109
  Author: sweiglbosker <stefan at s00.xyz>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
    M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
    M mlir/test/Dialect/MemRef/high-rank-overflow.mlir

  Log Message:
  -----------
  [MLIR][MemRef] Validate linear size before lowering allocs (#179155)

See discussion here: https://github.com/llvm/llvm-project/pull/178395,
https://github.com/llvm/llvm-project/pull/178994

Detect when the total number of elements overflows, and allocate poison
instead of the overflowed size.


  Commit: 1175046d14b9ce11c6b171df4e935882fe2c80b3
      https://github.com/llvm/llvm-project/commit/1175046d14b9ce11c6b171df4e935882fe2c80b3
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M libc/test/CMakeLists.txt
    M libc/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [libc] Fix GPU loader propagation to lit test infrastructure (#184105)

The lit-based test execution added in c776a52fa263 did not propagate the
GPU loader executable to the lit site configuration. When building for
GPU targets, the loader (amdhsa-loader, nvptx-loader, or a
user-specified LIBC_GPU_LOADER_EXECUTABLE) was resolved into the
libc.utils.gpu.loader target but never passed through to the generated
lit.site.cfg.py.

Fix this by resolving the executable path from the libc.utils.gpu.loader
target property and including it in configure_lit_site_cfg's PATHS list.
In lit.site.cfg.py.in, if no explicit LIBC_TEST_CMD is set but a GPU
loader is present, construct libc_test_cmd from the loader path,
mirroring the logic in add_libc_hermetic() in LLVMLibCTestRules.cmake.

Tested:
* GPU build with LIBC_GPU_LOADER_EXECUTABLE set to /bin/echo used to
fail (tried to run the binary), now it works.
 * Native compiler check-libc-lit continues to work after this change.


  Commit: e0fa4952fd7853c542639f0747a8a06435486a7d
      https://github.com/llvm/llvm-project/commit/e0fa4952fd7853c542639f0747a8a06435486a7d
  Author: David Green <david.green at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp

  Log Message:
  -----------
  [ARM] Format ARMLoadStoreOptimizer Pass classes. NFC

These will need modifications to support the NPM, pre-format the classes to
reduce the needed differences.


  Commit: eb8f171629730ed73004afd5c535c696fcd5191d
      https://github.com/llvm/llvm-project/commit/eb8f171629730ed73004afd5c535c696fcd5191d
  Author: Fady Farag <com.webkit.iidmsa at gmail.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/test/C/C11/n1311.c

  Log Message:
  -----------
  [clang][test] Add missing FileCheck pipe in n1311.c (#183965)

The test had CHECK directives that were never executed because the RUN
line did not pipe the output to FileCheck.


  Commit: cca5bb52f37af8ff263af68e5efd4afbe106185b
      https://github.com/llvm/llvm-project/commit/cca5bb52f37af8ff263af68e5efd4afbe106185b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/test/OpenMP/target_task_affinity_codegen.cpp
    M clang/test/OpenMP/task_codegen.cpp
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/IR/IRBuilder.cpp

  Log Message:
  -----------
  [OpenMP] Use CreatePtrDiff() (#184127)

This will use ptrtoaddr instead of ptrtoint in the pointer difference
calculation, avoiding unnecessary provenance exposure.

Add an IsNUW flag to allow specifying nuw on the subtraction.


  Commit: bb42c74b05c6070c894a4e45be3c750c80b56111
      https://github.com/llvm/llvm-project/commit/bb42c74b05c6070c894a4e45be3c750c80b56111
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/test/clang-tidy/checkers/performance/use-std-move.cpp

  Log Message:
  -----------
  [clang-tidy] Add fixit capability to performance-use-std-move linter (#184072)


  Commit: 644f07cef5dca8d7926da866a09af1e42d356e12
      https://github.com/llvm/llvm-project/commit/644f07cef5dca8d7926da866a09af1e42d356e12
  Author: Akimasa Watanuki <mencotton0410 at gmail.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp

  Log Message:
  -----------
  [CIR] Use `-verify` on clang/test/CIR/CodeGen/nonzeroinit-struct.cpp (#183910)

Update clang/test/CIR/CodeGen/nonzeroinit-struct.cpp to use `-verify`
with expected CIR NYI diagnostics.


  Commit: 919ae1cd2f464e5e453049fe17662b5fbdfc2504
      https://github.com/llvm/llvm-project/commit/919ae1cd2f464e5e453049fe17662b5fbdfc2504
  Author: Ebuka Ezike <yerimyah1 at gmail.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/variables/children/TestDAP_variables_children.py

  Log Message:
  -----------
  [lldb-dap] Skip return_variable_with_children on arm64 (#184132)

In lldb arm64 does not support scalar return types that is larger than
the register size. skip the test on that architecture.

Unblocks CI.


  Commit: 8da1bb891e003b4fdf4253a76b05ad8d4a19cceb
      https://github.com/llvm/llvm-project/commit/8da1bb891e003b4fdf4253a76b05ad8d4a19cceb
  Author: Janek van Oirschot <janek.vanoirschot at amd.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/av-split-dead-valno-crash.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/imm.ll
    M llvm/test/CodeGen/AMDGPU/siloadstoreopt-misaligned-regsequence.ll

  Log Message:
  -----------
  Reapply "[AMDGPU] Elide bitcast fold i64 imm to build_vector" (#160325) (#184114)

Reapplies commit 341cdbc9703d3cdd151f897b63548387f0017f49


  Commit: 07068315776663412b801c964d99207071564ff2
      https://github.com/llvm/llvm-project/commit/07068315776663412b801c964d99207071564ff2
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

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

  Log Message:
  -----------
  [mlir][bazel] Fix build after changes from #183856. (#184134)

This PR fixes the bazel build breakages introduced by #183856, which
introduced a new CMake flag that wasn't set in the bazel build, thus
leading to a placeholder not being replaced and a consequent syntax
error. The fix consists of setting this value to the default (`0`),
which is how similar flags are handled.

Signed-off-by: Ingo Müller <ingomueller at google.com>


  Commit: dfcbf6c70e7088e4b10e9c9c47bdfa19eb031228
      https://github.com/llvm/llvm-project/commit/dfcbf6c70e7088e4b10e9c9c47bdfa19eb031228
  Author: lijinpei-amd <jinpei.li at amd.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/conflict.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll

  Log Message:
  -----------
  [CVP] Stop CVP constant propagation from destroying `llvm.assume` (#183688)

For following code sequence:
```
  %cmp = icmp ugt i64 %idx, 1
  tail call void @llvm.assume(i1 %cmp)
```
CVP may replace all use of `%cmp` with `true`, and the information about
`%idx` is lost. This commit stop CVP from doing that, so that later pass
can exploit the `llvm.assume`.

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


  Commit: bc0af9901b5178204ece0658a0a0b0f57aef6aac
      https://github.com/llvm/llvm-project/commit/bc0af9901b5178204ece0658a0a0b0f57aef6aac
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/docs/TableGen/BackEnds.rst
    M llvm/include/llvm/TableGen/SearchableTable.td
    M llvm/test/TableGen/generic-tables.td
    M llvm/utils/TableGen/SearchableTableEmitter.cpp

  Log Message:
  -----------
  [TableGen] Allow specification of underlying type for GenericEnum (#183769)

Allow specification of the underlying C++ data type for `GenericEnum`.

I ran into this because I was trying to use a TableGen-genered enum in
`DenseSet` which requires the underlying type be specified.

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>


  Commit: 4f84347b2e7e02b4fbcb43376a93a1e9dd198c66
      https://github.com/llvm/llvm-project/commit/4f84347b2e7e02b4fbcb43376a93a1e9dd198c66
  Author: Nishant Sachdeva <32475507+nishant-sachdeva at users.noreply.github.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/test/tools/llvm-ir2vec/bindings/ir2vec-bindings.py
    M llvm/tools/llvm-ir2vec/Bindings/PyIR2Vec.cpp
    M llvm/tools/llvm-ir2vec/lib/Utils.cpp
    M llvm/tools/llvm-ir2vec/lib/Utils.h

  Log Message:
  -----------
  [llvm-ir2vec] Adding Inst Embeddings Map API to ir2vec python bindings (#180140)

- Returns a Inst Embedding Map based on the input function name
 `getInstEmbMap(funcName) -> Map<Inst string, Embedding>`

- Refactors IR2VecTool methods to have a separate call to create the
embedder object


  Commit: dbacb148dc41e16b1fdb33f83097816235106614
      https://github.com/llvm/llvm-project/commit/dbacb148dc41e16b1fdb33f83097816235106614
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

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

  Log Message:
  -----------
  [bazel][libc] Enable layering_check for libc/BUILD.bazel (#183822)


  Commit: 24ac5987b482edb33b73f0ebff509e0a520eca1c
      https://github.com/llvm/llvm-project/commit/24ac5987b482edb33b73f0ebff509e0a520eca1c
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

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

  Log Message:
  -----------
  [bazel][libc] Add missing dep (#184152)

#183822 enabled layering checks, but there was some backsliding


  Commit: a8fb8eb49f002abdb05013fcc0072896a7969b50
      https://github.com/llvm/llvm-project/commit/a8fb8eb49f002abdb05013fcc0072896a7969b50
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h

  Log Message:
  -----------
  AMDGPU: Stop copying triple into AMDGPUSubtarget (#184147)

Really the triple doesn't belong here at all.


  Commit: bd02c17123226f7e701126e62a99ec0964240fb1
      https://github.com/llvm/llvm-project/commit/bd02c17123226f7e701126e62a99ec0964240fb1
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/known-never-zero.ll

  Log Message:
  -----------
  [X86] known-never-zero.ll - add shift right vector test coverage for #183577 (#184140)


  Commit: 64139516e5c22028ca5c7c9d998e358b3ecf4116
      https://github.com/llvm/llvm-project/commit/64139516e5c22028ca5c7c9d998e358b3ecf4116
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/known-never-zero.ll

  Log Message:
  -----------
  [X86] known-never-zero.ll - remove unnecessary declarations (#184142)


  Commit: 3357e487cf0ee7bb9a565cb79ac7ea65f12583b0
      https://github.com/llvm/llvm-project/commit/3357e487cf0ee7bb9a565cb79ac7ea65f12583b0
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/APINotes/SomeKit.apinotes
    M clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Headers/SomeKit.h
    A clang/test/APINotes/objc_designated_init_protocol.m

  Log Message:
  -----------
  [clang/APINotes] Fix assertion crash in addObjCMethod for protocol DesignatedInit methods (#183799)


  Commit: f5e8e98a4ef4a4889523101b4d4039e13bccbdf4
      https://github.com/llvm/llvm-project/commit/f5e8e98a4ef4a4889523101b4d4039e13bccbdf4
  Author: Lukas Sommer <lukas.sommer at amd.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir

  Log Message:
  -----------
  [mlir][VectorOps] Fold extract on constant_mask (#183780)

Fold `vector.extract(vector.constant_mask)` to `vector.constant_mask` if
possible.

If the static position is outside of the masked area, the pattern will
fold to a constant all-false value instead.

Dynamic positions are only supported if the mask covers the entire
vector in that dimension.

Assisted-by: Claude Code

---------

Signed-off-by: Lukas Sommer <lukas.sommer at amd.com>


  Commit: 11576569336d5c92baf8fbc9a3f1502a95f57e52
      https://github.com/llvm/llvm-project/commit/11576569336d5c92baf8fbc9a3f1502a95f57e52
  Author: Minsoo Choo <minsoochoo0122 at proton.me>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.cpp

  Log Message:
  -----------
  [lldb][Process/FreeBSDKernelCore] Fix RegisterContext for arm64 (#183947)

Since `pcb.lr` always contains the value of pc, `gpr_lr_arm64` should be
unavailable. This also fixes the case where `gpr_pc_arm64` displays sp
not lr field in pcb.

Reported by: jrtc27
Fixes: 4f0eb3d3af443ff54425ebafce83b87ee61ee403 (#180222)

---------

Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>


  Commit: b11a424e05826aadba71d9c15c4ae3821c92f713
      https://github.com/llvm/llvm-project/commit/b11a424e05826aadba71d9c15c4ae3821c92f713
  Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/test/HLFIR/assign-codegen.fir
    M flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90

  Log Message:
  -----------
  [flang] Inline trivial scalar allocatable assignments in HLFIR-to-FIR (#183177)

For trivial scalar allocatable assignments (non-polymorphic,
non-character, non-array, non-temporary), inline the assignment directly
instead of calling the `_FortranAAssign` runtime. The inlined code
checks whether the allocatable is already allocated: if so, it stores
directly; otherwise, it allocates memory via `fir.allocmem`, stores, and
updates the box descriptor. The if-branch is necessary to handle both
cases:

```fortran
integer, allocatable :: k
allocate(k)
k = 42    ! already allocated: store directly
```

```fortran
integer, allocatable :: k
k = 42    ! not allocated: allocmem, store, update box
```


  Commit: 82d747e491422776998f5fe415ea7104ddb9b436
      https://github.com/llvm/llvm-project/commit/82d747e491422776998f5fe415ea7104ddb9b436
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/known-never-zero.ll

  Log Message:
  -----------
  [X86] known-never-zero.ll - add additional demanded elts vector test coverage (#184159)

vector variants of existing tests where we only demand 1 element for the
never zero test


  Commit: 95832c9bfd7c018e7b4a7a933942d4eeb792dc85
      https://github.com/llvm/llvm-project/commit/95832c9bfd7c018e7b4a7a933942d4eeb792dc85
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/test/Driver/linker-wrapper-hip-no-rdc.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [LinkerWrapper] Fix a bunch of minor issues and typos (#183679)

Summary:
A bunch of small issues found through linting and LLM checking.

- Broken sort comparator that violated strict weak ordering (UB)
- SearchLibrary corrupting .lib filenames via erroneous drop_front()
- Hardcoded x86_64-unknown-linux-gnu host triple in AMDGPU fatbinary
- OffloadFile loop variable shadowing its own type, causing std::move on
the type rather than the variable
- GetDeviceInput calling exit() directly instead of returning Error
- Redundant double-wrapping of DerivedArgList
- Various typo and style fixes


  Commit: 9ae143149b6fa287e166851ad4d0cde9613dc24b
      https://github.com/llvm/llvm-project/commit/9ae143149b6fa287e166851ad4d0cde9613dc24b
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

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

  Log Message:
  -----------
  [mlir][bazel] Fix build after moving AMX into X86 in #183717. (#184165)

This PR fixes the bazel build that got broken by #183717, which moved
the AMX dialect into the X86 dialect. The fix consists of replicating
the changes from the CMake files into BUILD files as usual; in this
case, mostly removing the AMX dialect targets, adding a few new
references to the corresponding X86 targets, and adding a few new
dependencies to the existing X86 targets due to the new code.

Signed-off-by: Ingo Müller <ingomueller at google.com>


  Commit: f3e8508ac771074edd60889a33e512265990ef6e
      https://github.com/llvm/llvm-project/commit/f3e8508ac771074edd60889a33e512265990ef6e
  Author: Aviral Goel <aviralg at users.noreply.github.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
    M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
    M clang/lib/Analysis/Scalable/CMakeLists.txt
    M clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
    M clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.h
    A clang/lib/Analysis/Scalable/Serialization/JSONFormat/LUSummary.cpp
    A clang/lib/Analysis/Scalable/Serialization/JSONFormat/LUSummaryEncoding.cpp
    M clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummary.cpp
    M clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummaryEncoding.cpp
    M clang/unittests/Analysis/Scalable/CMakeLists.txt
    M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
    M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
    A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.cpp
    M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.h
    A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/LUSummaryTest.cpp
    M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp

  Log Message:
  -----------
  [clang][ssaf]  Add `JSONFormat` serialization support for `LUSummary` and `LUSummaryEncoding`

This change extends `SerializationFormat` and `JSONFormat` with APIs to
read and write `LUSummary` and `LUSummaryEncoding`, completing the
serialization interface for both TU-level and LU-level summaries. As
part of the implementation, common serialization infrastructure has been
extracted into `JSONFormatImpl.{cpp, h}`, eliminating duplication across
the TU and LU translation units. A comprehensive `LUSummaryTest` suite
has been added to test `LUSummary` and `LUSummaryEncoding`, mirroring
the structure of the existing `TUSummaryTest` suite. Shared testing
infrastructure has been extracted into `JSONFormatTest.{cpp, h}`.


  Commit: 63bd69df227e7888723a4029735789c4c2a085b0
      https://github.com/llvm/llvm-project/commit/63bd69df227e7888723a4029735789c4c2a085b0
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M .github/workflows/upload-release-artifact/action.yml
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/runtime/common.h
    M bolt/runtime/instr.cpp
    M clang-tools-extra/clang-tidy/bugprone/ThrowingStaticInitializationCheck.h
    M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.h
    M clang-tools-extra/clang-tidy/performance/CMakeLists.txt
    M clang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp
    A clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
    A clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.h
    M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
    M clang-tools-extra/clang-tidy/utils/LexerUtils.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/performance/use-std-move.rst
    A clang-tools-extra/test/clang-tidy/checkers/performance/use-std-move.cpp
    M clang-tools-extra/unittests/clang-tidy/LexerUtilsTest.cpp
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Analysis/Scalable/Serialization/JSONFormat.h
    M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Format/Format.h
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftCXXABI.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/Analysis/Scalable/CMakeLists.txt
    M clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
    M clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.h
    A clang/lib/Analysis/Scalable/Serialization/JSONFormat/LUSummary.cpp
    A clang/lib/Analysis/Scalable/Serialization/JSONFormat/LUSummaryEncoding.cpp
    M clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummary.cpp
    M clang/lib/Analysis/Scalable/Serialization/JSONFormat/TUSummaryEncoding.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/APINotes/SomeKit.apinotes
    M clang/test/APINotes/Inputs/Frameworks/SomeKit.framework/Headers/SomeKit.h
    A clang/test/APINotes/objc_designated_init_protocol.m
    M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
    R clang/test/Analysis/PR37855.c
    R clang/test/Analysis/bitint-z3.c
    R clang/test/Analysis/cstring-addrspace.c
    R clang/test/Analysis/unary-sym-expr-z3-refutation.c
    R clang/test/Analysis/z3-crosscheck-max-attempts.cpp
    R clang/test/Analysis/z3-crosscheck.c
    R clang/test/Analysis/z3-refute-enum-crash.cpp
    R clang/test/Analysis/z3-unarysymexpr.c
    A clang/test/Analysis/z3/PR37855.c
    A clang/test/Analysis/z3/bitint-z3.c
    A clang/test/Analysis/z3/cstring-addrspace.c
    A clang/test/Analysis/z3/unary-sym-expr-z3-refutation.c
    A clang/test/Analysis/z3/z3-crosscheck-max-attempts.cpp
    A clang/test/Analysis/z3/z3-crosscheck.c
    A clang/test/Analysis/z3/z3-refute-enum-crash.cpp
    A clang/test/Analysis/z3/z3-unarysymexpr.c
    M clang/test/C/C11/n1311.c
    M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
    M clang/test/CodeGen/ubsan-function-sugared.cpp
    M clang/test/CodeGen/ubsan-function.cpp
    M clang/test/CodeGenCUDA/amdgpu-kernel-attrs.cu
    M clang/test/CodeGenHIP/default-attributes.hip
    M clang/test/CodeGenObjC/aarch64-sve-types.m
    R clang/test/CodeGenOpenCL/.gdb_history
    M clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
    M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
    M clang/test/Driver/linker-wrapper-hip-no-rdc.c
    M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
    M clang/test/Misc/nvptx.languageOptsOpenCL.cl
    M clang/test/OpenMP/amdgcn-attributes.cpp
    M clang/test/OpenMP/target_task_affinity_codegen.cpp
    M clang/test/OpenMP/task_codegen.cpp
    A clang/test/Sema/multi-dim-array.c
    M clang/test/Sema/sugar-common-types.c
    A clang/test/SemaCXX/builtin_templates_invalid_parameters.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/unittests/Analysis/Scalable/CMakeLists.txt
    M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
    M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
    A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.cpp
    M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/JSONFormatTest.h
    A clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/LUSummaryTest.cpp
    M clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M compiler-rt/test/builtins/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/HLFIR/assign-codegen.fir
    M flang/test/Lower/HLFIR/goto-do-body.f90
    M flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90
    A flang/test/Lower/OpenMP/task-implicit-firstprivate.f90
    A flang/test/Semantics/OpenMP/fuse1.f90
    M libc/test/CMakeLists.txt
    M libc/test/lit.site.cfg.py.in
    M lldb/include/lldb/Utility/AnsiTerminal.h
    M lldb/source/Interpreter/Options.cpp
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.cpp
    M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py
    M lldb/test/API/commands/help/TestHelp.py
    M lldb/test/API/tools/lldb-dap/variables/children/TestDAP_variables_children.py
    M lldb/unittests/Utility/AnsiTerminalTest.cpp
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/cmake/modules/LLVMConfig.cmake.in
    M llvm/docs/CMake.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/TableGen/BackEnds.rst
    M llvm/include/llvm/Analysis/IVDescriptors.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/IR/Value.h
    M llvm/include/llvm/TableGen/SearchableTable.td
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Value.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
    M llvm/lib/Target/AMDGPU/VINTERPInstructions.td
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Analysis/KernelInfo/openmp/amdgpu.ll
    A llvm/test/Bitcode/upgrade-uniform-work-group-size.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/inttoptr_add.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/regbankselect-build-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-constant.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-dup.mir
    M llvm/test/CodeGen/AArch64/aarch64-mops.ll
    M llvm/test/CodeGen/AArch64/arm64-abi-varargs.ll
    M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
    M llvm/test/CodeGen/AArch64/arm64-fp-imm-size.ll
    M llvm/test/CodeGen/AArch64/arm64-fp-imm.ll
    M llvm/test/CodeGen/AArch64/arm64-fp128.ll
    M llvm/test/CodeGen/AArch64/arm64-variadic-aapcs.ll
    M llvm/test/CodeGen/AArch64/arm64-vhadd.ll
    M llvm/test/CodeGen/AArch64/dup.ll
    M llvm/test/CodeGen/AArch64/fcvt_combine.ll
    M llvm/test/CodeGen/AArch64/fpimm.ll
    M llvm/test/CodeGen/AArch64/fptoui-sat-scalar.ll
    M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
    M llvm/test/CodeGen/AArch64/frem-power2.ll
    M llvm/test/CodeGen/AArch64/ilp32-va.ll
    M llvm/test/CodeGen/AArch64/machine-outliner.ll
    M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
    M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
    M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
    M llvm/test/CodeGen/AArch64/rem-by-const.ll
    M llvm/test/CodeGen/AArch64/replace-with-veclib-armpl.ll
    M llvm/test/CodeGen/AArch64/sve-lrint.ll
    M llvm/test/CodeGen/AArch64/zext-shuffle.ll
    M llvm/test/CodeGen/AMDGPU/amdhsa-kernarg-preload-num-sgprs.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
    M llvm/test/CodeGen/AMDGPU/av-split-dead-valno-crash.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-uniform-workgroup-size-v5.ll
    M llvm/test/CodeGen/AMDGPU/imm.ll
    M llvm/test/CodeGen/AMDGPU/implicit-arg-v5-opt.ll
    M llvm/test/CodeGen/AMDGPU/inline-attr.ll
    M llvm/test/CodeGen/AMDGPU/inlineasm-sgmask.ll
    M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
    M llvm/test/CodeGen/AMDGPU/invalid-hidden-kernarg-in-kernel-signature.ll
    M llvm/test/CodeGen/AMDGPU/load-saddr-offset-imm.ll
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/mdt-preserving-crash.ll
    M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
    M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
    M llvm/test/CodeGen/AMDGPU/si-opt-vgpr-liverange-bug-deadlanes.mir
    M llvm/test/CodeGen/AMDGPU/si-optimize-vgpr-live-range-dbg-instr.mir
    M llvm/test/CodeGen/AMDGPU/siloadstoreopt-misaligned-regsequence.ll
    M llvm/test/CodeGen/AMDGPU/swdev-549940.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
    M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
    M llvm/test/CodeGen/RISCV/combine-clmul.ll
    M llvm/test/CodeGen/RISCV/prefetch.ll
    M llvm/test/CodeGen/RISCV/riscv-zihintpause.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_12.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_20.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_spirv.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr_spec_const.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_subgroup_rotate/subgroup-rotate.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/constrained-comparison.ll.bak
    M llvm/test/CodeGen/X86/combine-clmul.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/known-pow2.ll
    M llvm/test/MC/AMDGPU/vinterp-fake16.s
    M llvm/test/MC/ARM/dwarf-asm-multiple-sections.s
    M llvm/test/MC/Disassembler/AMDGPU/vinterp.txt
    M llvm/test/TableGen/generic-tables.td
    M llvm/test/Transforms/CorrelatedValuePropagation/conflict.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll
    M llvm/test/Transforms/GVN/PRE/pre-load-through-select.ll
    M llvm/test/Transforms/GVN/PRE/pre-loop-load-through-select.ll
    A llvm/test/Transforms/GVN/load-select-addr-store-fwd.ll
    A llvm/test/Transforms/InstCombine/AMDGPU/canonicalize-add-to-gep.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.wave.shuffle.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/mbcnt.ll
    M llvm/test/Transforms/InstCombine/assume-icmp-null-select.ll
    M llvm/test/Transforms/InstCombine/assume-loop-align.ll
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/InstCombine/intrinsic-select.ll
    M llvm/test/Transforms/LoopIdiom/AArch64/find-first-byte.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
    M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
    M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
    M llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
    A llvm/test/Transforms/LoopVectorize/max-interleave-factor-debug.ll
    M llvm/test/Transforms/LoopVectorize/minmax_reduction.ll
    M llvm/test/Transforms/LoopVectorize/predicated-early-exits-interleave.ll
    M llvm/test/Transforms/LoopVectorize/predicated-multiple-exits.ll
    M llvm/test/Transforms/LoopVectorize/unsupported_early_exit.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/revec-reductions.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/revec-select-scalar-vector-cond.ll
    M llvm/test/Transforms/SLPVectorizer/X86/disjoint-or-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-use-bicasted-reduction.ll
    M llvm/test/Transforms/VectorCombine/AArch64/fold-signbit-reduction-cmp.ll
    M llvm/test/Transforms/VectorCombine/RISCV/fold-signbit-reduction-cmp.ll
    M llvm/test/Transforms/VectorCombine/X86/fold-signbit-reduction-cmp.ll
    M llvm/test/tools/gold/X86/thinlto.ll
    M llvm/test/tools/llvm-ir2vec/bindings/ir2vec-bindings.py
    M llvm/tools/llvm-ir2vec/Bindings/PyIR2Vec.cpp
    M llvm/tools/llvm-ir2vec/lib/Utils.cpp
    M llvm/tools/llvm-ir2vec/lib/Utils.h
    M llvm/utils/TableGen/SearchableTableEmitter.cpp
    M llvm/utils/git/github-automation.py
    M llvm/utils/profcheck-xfail.txt
    M mlir/CMakeLists.txt
    M mlir/Maintainers.md
    M mlir/cmake/modules/AddMLIRPython.cmake
    M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
    M mlir/docs/TargetLLVMIR.md
    R mlir/include/mlir-c/Dialect/AMX.h
    M mlir/include/mlir/Bindings/Python/IRCore.h
    M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
    M mlir/include/mlir/Bindings/Python/NanobindUtils.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Conversion/VectorToAMX/VectorToAMX.h
    R mlir/include/mlir/Dialect/AMX/AMX.td
    R mlir/include/mlir/Dialect/AMX/AMXDialect.h
    R mlir/include/mlir/Dialect/AMX/AMXInterfaces.td
    R mlir/include/mlir/Dialect/AMX/CMakeLists.txt
    R mlir/include/mlir/Dialect/AMX/Transforms.h
    M mlir/include/mlir/Dialect/CMakeLists.txt
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaTypes.td
    M mlir/include/mlir/Dialect/SparseTensor/Pipelines/Passes.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
    M mlir/include/mlir/Dialect/X86/Transforms.h
    M mlir/include/mlir/Dialect/X86/X86.td
    M mlir/include/mlir/Dialect/X86/X86Dialect.h
    M mlir/include/mlir/Transforms/Passes.h
    M mlir/include/mlir/Transforms/Passes.td
    M mlir/include/mlir/Transforms/ViewOpGraph.h
    M mlir/lib/Bindings/Python/IRAttributes.cpp
    M mlir/lib/Bindings/Python/IRCore.cpp
    R mlir/lib/CAPI/Dialect/AMX.cpp
    M mlir/lib/CAPI/Dialect/CMakeLists.txt
    M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
    M mlir/lib/Conversion/VectorToAMX/CMakeLists.txt
    M mlir/lib/Conversion/VectorToAMX/VectorToAMX.cpp
    M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    R mlir/lib/Dialect/AMX/CMakeLists.txt
    R mlir/lib/Dialect/AMX/IR/AMXDialect.cpp
    R mlir/lib/Dialect/AMX/IR/CMakeLists.txt
    R mlir/lib/Dialect/AMX/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/AMX/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Dialect/CMakeLists.txt
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/X86/IR/X86Dialect.cpp
    M mlir/lib/Dialect/X86/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
    M mlir/lib/Reducer/OptReductionPass.cpp
    M mlir/lib/RegisterAllDialects.cpp
    M mlir/lib/RegisterAllExtensions.cpp
    M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
    M mlir/lib/Transforms/CSE.cpp
    M mlir/lib/Transforms/Canonicalizer.cpp
    M mlir/lib/Transforms/ControlFlowSink.cpp
    M mlir/lib/Transforms/GenerateRuntimeVerification.cpp
    M mlir/lib/Transforms/InlinerPass.cpp
    M mlir/lib/Transforms/LoopInvariantCodeMotion.cpp
    M mlir/lib/Transforms/OpStats.cpp
    M mlir/lib/Transforms/PrintIR.cpp
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/lib/Transforms/SCCP.cpp
    M mlir/lib/Transforms/StripDebugInfo.cpp
    M mlir/lib/Transforms/SymbolDCE.cpp
    M mlir/lib/Transforms/SymbolPrivatize.cpp
    M mlir/lib/Transforms/TopologicalSort.cpp
    M mlir/lib/Transforms/ViewOpGraph.cpp
    M mlir/python/mlir/dialects/ext.py
    M mlir/test/CAPI/pass.c
    M mlir/test/CMakeLists.txt
    M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
    M mlir/test/Conversion/VectorToAMX/contract-to-amx.mlir
    M mlir/test/Conversion/VectorToAMX/transfer-to-amx.mlir
    M mlir/test/Conversion/VectorToLLVM/pass-option-serialization.mlir
    R mlir/test/Dialect/AMX/invalid.mlir
    R mlir/test/Dialect/AMX/legalize-for-llvm.mlir
    R mlir/test/Dialect/AMX/roundtrip.mlir
    R mlir/test/Dialect/AMX/side-effects.mlir
    M mlir/test/Dialect/Affine/invalid-reify-bound-dim.mlir
    M mlir/test/Dialect/EmitC/form-expressions.mlir
    M mlir/test/Dialect/Linalg/invalid.mlir
    M mlir/test/Dialect/MemRef/high-rank-overflow.mlir
    M mlir/test/Dialect/SPIRV/IR/tosa-ops-verification.mlir
    M mlir/test/Dialect/SPIRV/IR/tosa-ops.mlir
    M mlir/test/Dialect/Tensor/fold-constant-extract-slice.mlir
    M mlir/test/Dialect/Tosa/error_if_check.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    M mlir/test/Dialect/Vector/canonicalize.mlir
    A mlir/test/Dialect/X86/AMX/invalid.mlir
    A mlir/test/Dialect/X86/AMX/legalize-for-llvm.mlir
    A mlir/test/Dialect/X86/AMX/roundtrip.mlir
    A mlir/test/Dialect/X86/AMX/side-effects.mlir
    M mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
    M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir
    R mlir/test/Integration/Dialect/Vector/CPU/AMX/lit.local.cfg
    R mlir/test/Integration/Dialect/Vector/CPU/AMX/mulf-full.mlir
    R mlir/test/Integration/Dialect/Vector/CPU/AMX/mulf.mlir
    R mlir/test/Integration/Dialect/Vector/CPU/AMX/muli-ext.mlir
    R mlir/test/Integration/Dialect/Vector/CPU/AMX/muli-full.mlir
    R mlir/test/Integration/Dialect/Vector/CPU/AMX/muli.mlir
    R mlir/test/Integration/Dialect/Vector/CPU/AMX/tilezero-block.mlir
    R mlir/test/Integration/Dialect/Vector/CPU/AMX/tilezero.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/lit.local.cfg
    A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/mulf-full.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/mulf.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/muli-ext.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/muli-full.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/muli.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/tilezero-block.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/X86/AMX/tilezero.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/X86/dot.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/X86/sparse-dot-product.mlir
    M mlir/test/Pass/ir-printing.mlir
    M mlir/test/Pass/pass-timing.mlir
    M mlir/test/Pass/run-reproducer.mlir
    M mlir/test/Target/LLVMIR/amx.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir
    M mlir/test/Target/SPIRV/tosa-ops.mlir
    M mlir/test/Transforms/composite-pass.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lit.cfg.py
    M mlir/test/lit.site.cfg.py.in
    M mlir/test/mlir-opt/commandline.mlir
    M mlir/test/python/dialects/ext.py
    M mlir/test/python/ir/auto_location.py
    A mlir/test/python/ir/auto_location_stable_abi.py
    M mlir/test/python/pass_manager.py
    M openmp/cmake/modules/LibompHandleFlags.cmake
    M openmp/cmake/modules/LibompUtils.cmake
    M openmp/docs/CMakeLists.txt
    M openmp/libompd/src/CMakeLists.txt
    M openmp/runtime/CMakeLists.txt
    M openmp/runtime/cmake/LibompExports.cmake
    M openmp/runtime/cmake/LibompMicroTests.cmake
    M openmp/runtime/cmake/config-ix.cmake
    M openmp/runtime/src/CMakeLists.txt
    M openmp/tools/omptest/CMakeLists.txt
    M polly/lib/External/isl/GIT_HEAD_ID
    M polly/lib/External/isl/isl_ast_build_expr.c
    A polly/lib/External/isl/test_inputs/codegen/polly3.c
    A polly/lib/External/isl/test_inputs/codegen/polly3.st
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  Address comments

Created using spr 1.3.7


Compare: https://github.com/llvm/llvm-project/compare/55651f7444b0...63bd69df227e

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list