[all-commits] [llvm/llvm-project] 79dfa8: [clang][modules-driver] Add missing PrependArg for...

Utkarsh Saxena via All-commits all-commits at lists.llvm.org
Mon Apr 13 06:55:24 PDT 2026


  Branch: refs/heads/users/usx95/04-12-annotation_inference_on_constructor
  Home:   https://github.com/llvm/llvm-project
  Commit: 79dfa887f1b5d3f3418dc8b5aad3c75e9aa1f1ad
      https://github.com/llvm/llvm-project/commit/79dfa887f1b5d3f3418dc8b5aad3c75e9aa1f1ad
  Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang/lib/Driver/ModulesDriver.cpp

  Log Message:
  -----------
  [clang][modules-driver] Add missing PrependArg for Clang module precompile jobs (#191610)

In `createClangModulePrecompileJob`, the `PrependArg` parameter was not
being passed for the newly created Clang module precompile job.
This causes failures for setups where the clang executable is a wrapper
(e.g., the llvm-driver wrapper).

See
https://github.com/llvm/llvm-project/pull/191258#issuecomment-4227294864


  Commit: 6c4bd0b3ac6939e5d88f5e8de7679463c0604a9c
      https://github.com/llvm/llvm-project/commit/6c4bd0b3ac6939e5d88f5e8de7679463c0604a9c
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp

  Log Message:
  -----------
  [compiler-rt] Disable soft_rss_limit_mb_test.cpp (#191370)

The test has been failing flakily for a while; see PRs #170911, #171469,
#188441.

Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>


  Commit: cfcf59cd29906d6e10fc56279784438ae76c043a
      https://github.com/llvm/llvm-project/commit/cfcf59cd29906d6e10fc56279784438ae76c043a
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
    M llvm/test/CodeGen/WebAssembly/function-info.mir

  Log Message:
  -----------
  [WebAssembly] Remove ExceptionInfo grouping tweaks (NFC) (#191495)

This removes fixes implemented in
https://github.com/llvm/llvm-project/commit/ea8c6375e3330f181105106b3adb84ff9fa76a7c,
https://github.com/llvm/llvm-project/commit/4a58116b7e5e1439c5fefdf59a89fc4f1d42875c,
and
https://github.com/llvm/llvm-project/commit/2b957ed4ff3344d8f761a053566e307277a1cdeb.
We don't need them anymore after #130374.

---

A little (unfortunate) winding history, mostly for my mental bookeeping.
Read the below only if you are curious:

There is a function called `findUnwindDestinations` in
`SelectionDAGBuilder.cpp`.

https://github.com/llvm/llvm-project/blob/c94f79886035a61bb5f3dc992f75fe0c08bdcd4b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp#L2107-L2164

This function adds unwind successors to BBs with `invoke`s. In case of
Itanium EH, you only add one `landingpad` BB. In WinEH, `catchswitch`
may not catch an exception, so you add all possible unwind
destionations. For example,
```ll
entry:
  invoke void @foo()
          to label %try.cont unwind label %catch.dispatch

catch.dispatch:
  %0 = catchswitch within none [label %catch.start] unwind label %catch.dispatch1

catch.start:
  ...

catch.dispatch1:
  %7 = catchswitch within none [label %catch.start1] unwind to caller

catch.start1:
  ...
```
`catchswitch` BBs are removed in iSel. So in this case, both
`catch.start` and `catch.start1` BBs are added as unwind successors to
`entry`, because an exception may not be caught by `catch.dispatch` and
unwind further to `catch.dispatch1`.

In the beginning of 2019, I added our own `findWasmUnwindDestinations`
in
https://github.com/llvm/llvm-project/commit/d6f487863dc951d467b545b86b9ea62980569b5a.
This was when I was implementing [the V2 (pre-legacy)
proposal,](https://github.com/WebAssembly/exception-handling/blob/main/proposals/exception-handling/pre-legacy/Exceptions-v2.md)
which had `exnref` and `try`-`catch_all` (It was named `catch`, but
semantically it was `catch_all`) The rationale was, even though we were
using WinEH, we only had one catchpad and `catch` caught everything. So
I figured adding only the first catchpad successor, `catch.start` in the
example above, would simpify things.

By the end of 2020, we changed the proposal to [the V3 (legacy)
proposal](https://github.com/WebAssembly/exception-handling/blob/main/proposals/exception-handling/legacy/Exceptions.md),
which removed `exnref` and introduced separate `catch` and `catch_all`
instructions. The previous invariant "`catch` always catches everything"
didn't hold anymore, but I left `findWasmUnwindDestinations` as was with
some updated comments in
https://github.com/llvm/llvm-project/commit/9e4eadeb135d140b3a9e499354472170017cbe58.
The comments could be summed up as "there will always be an `invoke`
instruction in the first catchpad that unwinds to the next unwind
destination. (which later turned out to be false)

And in 2021, I tweaked the ExceptionInfo algorithm to fix exception
grouping
(https://github.com/llvm/llvm-project/commit/ea8c6375e3330f181105106b3adb84ff9fa76a7c,
https://github.com/llvm/llvm-project/commit/4a58116b7e5e1439c5fefdf59a89fc4f1d42875c,
and
https://github.com/llvm/llvm-project/commit/2b957ed4ff3344d8f761a053566e307277a1cdeb)
The bug was, in tl;dr: "Your next unwind destination can be
(accidentally) dominated by your current catchpad, making your unwind
destination a subexception of the current exception). For example:
```cpp
try {
  try {
    foo();
  } catch (int) { // EH pad
    ...
  }
} catch (...) {   // unwind destination
}
```
Here the outer `catch` is (accidentally) dominated by the inner `catch`,
because we only added the first catchpad (inner `catch`) as an unwind
successor of `foo()` BB, and hoped that some `invoke`s within the inner
`catch` to unwind it to the outer `catch`. But this caused us to
`delegate` to a middle of an inner scope. So I tweaked the algorithm to
take the outer `catch` out to form a separate exception. I didn't
realize `findWasmUnwindDestinations` was actually the source of problem
then.

Fast forward to 2025. The 2020 assumption of "There will always be an
`invoke` instruction in the first catchpad" turned out to be false. So I
just removed `findWasmUnwindDestinations` and switched to use the common
`findUnwindDestinations` in #130374, which recently accidentally
discovered another bug (#187302).

While investigating #187302, I realized we don't need those tweaks in
WebAssemblyExceptionInfo anymore, because `findUnwindDestinations` adds
all unwind destinations as successors. (#187302 is actually not related
to this; it was just a trigger to investigate things) So in case of the
little C++ example above, the outer `catch` BB will also be added as an
unwind successor of the `foo()` BB. I actually think we may not even
need WebAssemblyExceptionInfo analysis at all if we only use [the latest
standard (exnref)
proposal](https://github.com/WebAssembly/exception-handling/blob/main/proposals/exception-handling/Exceptions.md).
But we still need to keep the legacy support, so we need it for now.


  Commit: fc12e59d1d8b000b53ff7845e1a88d5e2d23d903
      https://github.com/llvm/llvm-project/commit/fc12e59d1d8b000b53ff7845e1a88d5e2d23d903
  Author: Ziqing Luo <ziqing_luo at apple.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    A clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.h
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp

  Log Message:
  -----------
  Reland "[NFC][SSAF] Move EntityPointerLevel to a separate folder" (#191481)" (#191518)

Relands #191481


  Commit: 870f8d9edee7bf550fe12d3d6e25d209bb9b8608
      https://github.com/llvm/llvm-project/commit/870f8d9edee7bf550fe12d3d6e25d209bb9b8608
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-err.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-mfma-gfx908-err.cl

  Log Message:
  -----------
  [NFC][AMDGPU] Fix `gfx90a`+ MFMA builtins (#191537)

`gfx90a` added a set of MFMA instructions that are not available on
prior GFXIPs. The Clang builtins for these were requiring the
`mai-insts` feature, which is incorrect (`gfx908` supports this and does
not support the added MFMAs). This led to opaque bugs where we'd check
with `__has_builtin` for the availability of the builtin, target 908,
and get an ISEL failure.


  Commit: 1ed2769c681e28e43ecf7f125f1ea018ec4f993b
      https://github.com/llvm/llvm-project/commit/1ed2769c681e28e43ecf7f125f1ea018ec4f993b
  Author: Connector Switch <c8ef at outlook.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp

  Log Message:
  -----------
  [libc++][test] Improve `fold_left` `check_lvalue_range` coverage.  (#183990)

This makes the test `fold_left` and `fold_left_with_iter` with and
without telemetrics similar to what we do in `check_iterator`.


  Commit: 856095994ba4ac64f7fd415b82aeef86ec738060
      https://github.com/llvm/llvm-project/commit/856095994ba4ac64f7fd415b82aeef86ec738060
  Author: eiytoq <eiytoq at outlook.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp

  Log Message:
  -----------
  [libc++][mdspan] Fix layout_stride->layout_right test (#191611)


  Commit: f5379e666697c91586fa787caadce4fe98b8d213
      https://github.com/llvm/llvm-project/commit/f5379e666697c91586fa787caadce4fe98b8d213
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/gfni-lzcnt.ll
    M llvm/test/CodeGen/X86/gfni-tzcnt.ll

  Log Message:
  -----------
  [X86] gfni-tzcnt/lzcnt - add bitalg test coverage showing failure to use vpopcntb cttz expansion (#191618)

Test coverage for #191520


  Commit: a26c1d16bc4328c745c012ae44d43d64ed53b20b
      https://github.com/llvm/llvm-project/commit/a26c1d16bc4328c745c012ae44d43d64ed53b20b
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/extracts-from-scalarizable-vector.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-min-max.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/remarks-insert-into-small-vector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/cmp-as-alternate-ops.ll
    M llvm/test/Transforms/SLPVectorizer/X86/identity-match-splat-less-defined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/inversed-icmp-to-gather.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-stored.ll

  Log Message:
  -----------
  [SLP] Fix CmpInst type handling in cost model

Previously, getValueType() always returned the compared operand type
(e.g. i32) for CmpInst, which was incorrect for gather cost estimation
and codegen where the result type (i1) is needed. This caused ad-hoc
fixups scattered across getEntryCost, calculateTreeCostAndTrimNonProfitable,
and vectorizeTree that overrode ScalarTy back to i1 for CmpInsts.
Add a LookThroughCmp parameter to getValueType() (default: false) so
callers that need the operand type for vector width calculations can
explicitly opt in. This removes the need for the scattered CmpInst
special cases:
- getEntryCost gather path: remove `if (isa<CmpInst>) ScalarTy = i1`
- calculateTreeCostAndTrimNonProfitable: remove same override
- vectorizeTree: simplify `if (!isa<CmpInst>) ScalarTy = getValueType(V)`
  to just `getValueType(V)`
For the ICmp/FCmp cost case in getEntryCost, add a fallthrough from
ICmp/FCmp to Select that overrides ScalarTy with the compared operand
type via getValueType(VL0, true), since getCmpSelInstrCost expects the
compared type as its first argument. Fix the condition type argument
passed to getCmpSelInstrCost for both scalar and vector paths: use the
actual condition/result type instead of always Builder.getInt1Ty().

Reviewers: hiraditya, RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/190618


  Commit: 8ac9461e48e024448a2b6493b7c5b50629bc03d7
      https://github.com/llvm/llvm-project/commit/8ac9461e48e024448a2b6493b7c5b50629bc03d7
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/matmul.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/slp-fma-loss.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/unprofitable-alternate-subtree.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f16.ll
    M llvm/test/Transforms/SLPVectorizer/X86/c-ray.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_cmpop.ll
    M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/entry-no-bundle-but-extra-use-on-vec.ll
    M llvm/test/Transforms/SLPVectorizer/X86/external-bin-op-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelement-multi-register-use.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelements-vector-ops-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-loads-non-full-reg.ll
    M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-parent-instr-copyable-regular.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-removed-on-operand-vectorization.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_external_users.ll
    M llvm/test/Transforms/SLPVectorizer/X86/rgb_phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation4.ll
    M llvm/test/Transforms/SLPVectorizer/X86/simplebb.ll
    M llvm/test/Transforms/SLPVectorizer/X86/supernode.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll

  Log Message:
  -----------
  [SLP] Reject 2-element vectorization when vector inst count exceeds scalar

The LLVM cost model uses integer-valued throughput costs which cannot
represent fractional costs. For 2-element vectors, this rounding can
make vectorization appear profitable when it actually produces more
instructions than the scalar code — the overhead from shuffles, inserts,
extracts, and buildvectors is underestimated.
Add an instruction-count safety check in getTreeCost that estimates
the number of vector instructions (including gathers, shuffles, and
extracts) and compares against the number of scalar instructions.
If the vector code would produce more instructions, reject the tree
regardless of what the cost model says. This catches cases where
fractional cost rounding hides real overhead.

The check is gated behind -slp-inst-count-check (default: on) and
only applies to 2-element root trees where rounding errors matter most.

Reviewers: hiraditya, bababuck, RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/190414


  Commit: 00ccd11aba2bd69a698cba9a0b78ee744c3051ee
      https://github.com/llvm/llvm-project/commit/00ccd11aba2bd69a698cba9a0b78ee744c3051ee
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-member-init.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init-ignore-macros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init.cpp

  Log Message:
  -----------
  [clang-tidy] Add IgnoreMacros option to readability-redundant-member-init (#190530)

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


  Commit: 54d4bf2acbf4352e3c1751cd31211c925a041065
      https://github.com/llvm/llvm-project/commit/54d4bf2acbf4352e3c1751cd31211c925a041065
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang/lib/Sema/SemaOpenMP.cpp
    A clang/test/OpenMP/scan_inscan_template_nondependent.cpp
    A openmp/runtime/test/worksharing/for/omp_scan_inscan_template.cpp

  Log Message:
  -----------
  [OpenMP] Fix nondependent inscan variables in templated functions (#191627)

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

Assisted-by: claude-4.6-opus


  Commit: 67a0ff69fbe9950a6a1ccf96c9a20126cee23fde
      https://github.com/llvm/llvm-project/commit/67a0ff69fbe9950a6a1ccf96c9a20126cee23fde
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/revec-scalar-insertelement.ll

  Log Message:
  -----------
  [SLP][REVEC] Fix InsertElement scalar type in getEntryCost

When SLPReVec is enabled, getValueType returns the vector result type
for InsertElement instructions rather than the scalar element type. This
caused getEntryCost to propagate an incorrect ScalarTy (e.g. <4 x float>
instead of float) into getScalarizationOverhead and getWidenedType,
triggering an assertion failure and producing wrong cost estimates.
Narrow ScalarTy to its element type when costing vectorized
InsertElement entries whose inserted operands are scalars.
Fixes #191175.

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/191628


  Commit: e2bb91c094792cb384a52b5560639a2219d927e0
      https://github.com/llvm/llvm-project/commit/e2bb91c094792cb384a52b5560639a2219d927e0
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M mlir/test/CAPI/ir.c

  Log Message:
  -----------
  [mlir] Fix warning when building on Windows (#191558)

Fixes:
```
warning: format specifies type 'long' but the argument has type 'intptr_t' ...
```


  Commit: c5547cafed7eb89791abe2f6ebe9216d34872153
      https://github.com/llvm/llvm-project/commit/c5547cafed7eb89791abe2f6ebe9216d34872153
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
    M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-ordered-reduction.ll
    M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
    M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
    M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
    M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    M llvm/test/Transforms/LoopVectorize/nested-outer-loop-vect.ll
    M llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
    M llvm/test/Transforms/LoopVectorize/vplan-widen-call-instruction.ll
    M llvm/test/Transforms/LoopVectorize/vplan-widen-select-instruction.ll

  Log Message:
  -----------
  [LV] Unconditionally run materializeConstVTC in ::executePlan (#191299)

After https://github.com/llvm/llvm-project/pull/189372 both minimum
iteration checks for epilogue vectorization are created in VPlan, which
removes the last blocker for unconditionally running
materializeConstantVectorTripCount. This enables additional folds for
plans in the native path, as well as removes some trip count
computations with epilogue vectorization.

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


  Commit: 9dd1eb49f74bdf0f0448ccff5f72b32b3f8fc9cc
      https://github.com/llvm/llvm-project/commit/9dd1eb49f74bdf0f0448ccff5f72b32b3f8fc9cc
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
    M llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll

  Log Message:
  -----------
  [SCEV] Bail out on wider AddRecs in SCEVWrapPrediacte::implies. (#191498)

NSSW/NUSW on a wider AddRec does not imply NSSW/NUSW on a narrower
AddRec.

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


  Commit: eda97ddba23a17f2d1c9e420895515ec491d15c0
      https://github.com/llvm/llvm-project/commit/eda97ddba23a17f2d1c9e420895515ec491d15c0
  Author: eiytoq <eiytoq at outlook.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M libcxx/include/__mdspan/layout_left.h
    M libcxx/include/__mdspan/layout_right.h
    M libcxx/include/__mdspan/layout_stride.h
    M libcxx/include/__mdspan/mdspan.h
    M libcxx/include/mdspan

  Log Message:
  -----------
  [libc++][NFC] Sync `<mdspan>` synopsis and remove redundant `typename`s (#191621)


  Commit: 76584a89a75f9fde609e5fc341b6458d7d4f44f4
      https://github.com/llvm/llvm-project/commit/76584a89a75f9fde609e5fc341b6458d7d4f44f4
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/test/API/commands/help/TestHelp.py

  Log Message:
  -----------
  [lldb] Fix output of `help format` (#190409)

The output currently contains
```
            "unicode32"
            'u' or "unsigned decimal"
            'p' or
            "pointer"
            "char[]"
            "int8_t[]"
```
The 'p' and "pointer" are supposed to appear on the same line. When
we're about to print "pointer," we check whether it would exceed the
column limit (in which case, we insert a line feed). This check only
checks for spaces as separators, but in this case, "words" may be
separated by newlines as well. Look for them too.


  Commit: 42127fa2775ca9102d4be00cafbe0fcd6f25299d
      https://github.com/llvm/llvm-project/commit/42127fa2775ca9102d4be00cafbe0fcd6f25299d
  Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.h
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h

  Log Message:
  -----------
  [AMDGPU][Scheduler] Prepare remat stage for rematerializer integration (NFC) (#189489)

This NFC prepares the scheduler's rematerialization stage for
integration with the target-independent rematerializer. It brings
various small design changes and optimizations to the stage's internal
state to make the not-exactly-NFC rematerializer integration as small as
possible.

The main changes are, in no particular order:

- Sort and pick useful rematerialization candidates by their index in
the vector of candidates instead of directly sorting objects within the
candidate vector. This reduces the amount of data movement and
simplifies the candidate selection logic.
- Move some data members from `PreRARematStage::RematReg` to
`PreRARematStage::ScoredRemat`. This makes the former a simplified
version of the rematerializer's own internal register representation
(`Rematerializer::Reg`), which can be cleanly deleted during
integration.
- Remove an inferable argument to `modifyRegionSchedule`. This allows
the stage to stop tracking the parent block of each region.
- Use a boolean (`RevertAllRegions`) to track scheduling revert decision
post rematerialization instead of clearing `RescheduleRegions`. This
allows to avoid re-computing the latter during rollback.
- Estimate usefulness of rematerialization from `GCNRegPressure` instead
of from `Register` (requires adding a new method variant in
`GCNRPTarget`).


  Commit: 9ab2c5732642a85de8e218e81663d5e458744de0
      https://github.com/llvm/llvm-project/commit/9ab2c5732642a85de8e218e81663d5e458744de0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec-bf16.ll

  Log Message:
  -----------
  [RISCV] Add missing Zvfbfa isel patterns for VFSLIDE1UP/DOWN. (#191578)


  Commit: 489dab3827b255d21ea38b1e3f45ddb08bd10a87
      https://github.com/llvm/llvm-project/commit/489dab3827b255d21ea38b1e3f45ddb08bd10a87
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/Representation.h

  Log Message:
  -----------
  [clang-doc] Initialize StringRef members in Info types (#191637)

We had a report of some assertion failures in

https://github.com/llvm/llvm-project/pull/190054#issuecomment-4228893309,
and some msan failures in
https://github.com/llvm/llvm-project/pull/190056.

These appear to be due to default constructed StringRef's being used in
some cases. To address, we can provide default initializers that should
prevent such cases from causing further problems.


  Commit: d35cd21a3757ab6028024f0b47bc9d802d06eae6
      https://github.com/llvm/llvm-project/commit/d35cd21a3757ab6028024f0b47bc9d802d06eae6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

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

  Log Message:
  -----------
  [RISCV] Consistently use hasVInstructionsF16/BF16(). NFC (#191592)


  Commit: 031115785bc80d23f07cda506038f906615dd4c3
      https://github.com/llvm/llvm-project/commit/031115785bc80d23f07cda506038f906615dd4c3
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Target/Platform.cpp
    M lldb/unittests/Platform/PlatformDarwinTest.cpp
    M lldb/unittests/Platform/PlatformTest.cpp

  Log Message:
  -----------
  [lldb][Platform] Use the module's FileSpec instead of the script's FileSpec when checking LoadScriptFromSymFile setting (#191473)

We were incorrectly passing the script's `FileSpec` into
`GetScriptLoadStyleForModule`. Meaning if a script name wasn't actually
the same as the module name, the `target.auto-load-scripts-for-modules`
didn't take effect.

This patch passes the module's `FileSpec` instead. For `dSYM`s we save
the original `FileSpec` because the loop tries to strip extensions until
it finds a script. But we still want to use the module's name.

**AI Usage**:
- Used Claude to write the unit-test skeletons. Then reviewed/adjusted
them manually


  Commit: 155b9b354c1d91661be9f6d0432a96e47cfc2700
      https://github.com/llvm/llvm-project/commit/155b9b354c1d91661be9f6d0432a96e47cfc2700
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/Representation.h

  Log Message:
  -----------
  [clang-doc][nfc] Default initialize all StringRef members (#191641)

Ensure all StringRef members are default initialized to avoid potential
bugs.


  Commit: 0fd821d5e90b0664742e1af9db56d0fd0e6c0285
      https://github.com/llvm/llvm-project/commit/0fd821d5e90b0664742e1af9db56d0fd0e6c0285
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp

  Log Message:
  -----------
  [Clang] Track constraint's SubstIndex only if it contains outer parameter packs (#191484)

I believe that is the intent of SubstIndex in AssociatedConstraint.
So this enforces the checking explicitly, in case nested SubstIndexes
confuses our poor constraint evaluator.

I reverted the previous fix 257cc5ad89840cdfba4affcc8fe62cf9d02d9017
because that was wrong.
As a drive-by fix, this also removes an strange assertion and an
unnecessary
SubstIndex setup in nested requirement transform.

No release note because this is a regression fix.

Fixes https://github.com/llvm/llvm-project/issues/188505
Fixes https://github.com/llvm/llvm-project/issues/190169


  Commit: 2a54bf53e07ceb29e2b68b5748d5fcbf3b167b0d
      https://github.com/llvm/llvm-project/commit/2a54bf53e07ceb29e2b68b5748d5fcbf3b167b0d
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

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

  Log Message:
  -----------
  [NFC][AMDGPU] clang-format llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp (#191647)


  Commit: c382b58026126906f048cc8bbfaadfd80c53b674
      https://github.com/llvm/llvm-project/commit/c382b58026126906f048cc8bbfaadfd80c53b674
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    A llvm/include/llvm/CodeGen/AsmPrinterAnalysis.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/R600TargetMachine.h
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    M llvm/lib/Target/X86/X86AsmPrinter.h
    M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
    M llvm/lib/Target/X86/X86TargetMachine.h
    M llvm/tools/llc/NewPMDriver.cpp

  Log Message:
  -----------
  [AsmPrinter] Use AsmPrinterAnalysis to hold AsmPrinter

AsmPrinter needs to hold state between doInitialization,
runOnMachineFunction, and doFinalization, which are all separate passes
in the NewPM. Storing this state externally somewhere like
MachineModuleInfo or a new analysis is possible, but a bit messy given
some state, particularly EHHandler objects, has backreferences into the
AsmPrinter and assumes there is a single AsmPrinter throughout the
entire compilation. So instead, store AsmPrinter in an analysis that
stays constant throughout compilation which solves all these problems.
This also means we can also just let AsmPrinter continue to own the
MCStreamer, which means object file emission should work after this as
well.

This does require passing the ModuleAnalysisManager into
buildCodeGenPipeline to register the AsmPrinterAnalysis, but that seems
pretty reasonable to do.

Reviewers: paperchalice, RKSimon, arsenm

Pull Request: https://github.com/llvm/llvm-project/pull/191535


  Commit: ed395c894f6b3f0d19a6cde3989aa005d5d6f01e
      https://github.com/llvm/llvm-project/commit/ed395c894f6b3f0d19a6cde3989aa005d5d6f01e
  Author: jian.wu <jwu10003 at amd.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/freeze.ll
    M llvm/test/CodeGen/AMDGPU/kernel-args.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.AFLCustomIRMutator.opt.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
    M llvm/test/CodeGen/AMDGPU/load-local-i16.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    A llvm/test/DebugInfo/AMDGPU/bitcast-store-combine-debugloc.ll

  Log Message:
  -----------
  [AMDGPU] Use value's DebugLoc for bitcast in performStoreCombine (#186766)

## Description

When `AMDGPUTargetLowering::performStoreCombine` inserts a synthetic
bitcast to convert vector types (e.g. `<1 x float>` → `i32`) for stores,
the bitcast inherits the **store's** SDLoc. When
`DAGCombiner::visitBITCAST` later folds `bitcast(load)` → `load`, the
resulting load loses its original debug location.

## Analysis

The bitcast is **not** present in the initial SelectionDAG — it is
inserted during DAGCombine by
`AMDGPUTargetLowering::performStoreCombine`. This can be observed with
`-debug-only=isel,dagcombine`:

```
Initial selection DAG: no bitcast, load is v1f32 directly used by store

Combining: t17: ch = store ... /tmp/beans.c:6:14
 ... into: t20: ch = store ... /tmp/beans.c:6:14

Combining: t19: i32 = bitcast [ORD=3] # D:1 t13, /tmp/beans.c:6:14
 ... into: t21: i32,ch = load ... /tmp/beans.c:6:14
```

In `performStoreCombine` (`AMDGPUISelLowering.cpp`):

```cpp
SDLoc SL(N);  // N = store node → SL has store's DebugLoc
...
SDValue CastVal = DAG.getNode(ISD::BITCAST, SL, NewVT, Val);
// bitcast gets store's DebugLoc, not load's
```

When `visitBITCAST` folds `bitcast(load)` → `load`, it uses `SDLoc(N)`
(the bitcast's loc = store's loc), so the resulting load loses its
original debug location.

```
Before (initial DAG):
  t13: v1f32 = load ...           line 2   ; original load
  t14: ch    = store t13, ...     line 3   ; store

After performStoreCombine:
  t13: v1f32 = load ...           line 2   ; original load
  t19: i32   = bitcast t13        line 3   ; synthetic bitcast (store's loc!)
  t20: ch    = store t19, ...     line 3

After visitBITCAST folds (incorrect):
  t21: i32 = load ...             line 0   ; lost debug location

After visitBITCAST folds (expected):
  t21: i32 = load ...             line 2   ; preserves load's location
```

## Fix

Target-specific fix in `AMDGPUISelLowering.cpp` `performStoreCombine`:
use `DAG.getBitcast()` instead of `DAG.getNode(ISD::BITCAST, SL, ...)`.
`getBitcast()` internally uses `SDLoc(V)` (the value operand's SDLoc),
so the synthetic bitcast naturally inherits the load's DebugLoc instead
of the store's:

```cpp
// Before:
SDValue CastVal = DAG.getNode(ISD::BITCAST, SL, NewVT, Val);
if (OtherUses) {
    SDValue CastBack = DAG.getNode(ISD::BITCAST, SL, VT, CastVal);

// After:
SDValue CastVal = DAG.getBitcast(NewVT, Val);
if (OtherUses) {
    SDValue CastBack = DAG.getBitcast(VT, CastVal);
```

This is consistent with `performLoadCombine` where the bitcast also uses
the load's `SDLoc`.


  Commit: 0c0ae3786ef4ec04ba0dc9cdd565b68ec486498a
      https://github.com/llvm/llvm-project/commit/0c0ae3786ef4ec04ba0dc9cdd565b68ec486498a
  Author: Eugene Shalygin <eugene.shalygin at gmail.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang/lib/Format/FormatToken.cpp

  Log Message:
  -----------
  [clang-format] Update QtPropertyKeywords to Qt 6.11 documentation (#190543)

Qt 6.11 added `OVERRIDE` and `VIRTUAL` keywords to the [property
system](https://doc.qt.io/qt-6.11/properties.html).


  Commit: ecc283ab620faeb4e146f50e10eb276e3a959a3e
      https://github.com/llvm/llvm-project/commit/ecc283ab620faeb4e146f50e10eb276e3a959a3e
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M flang-rt/lib/runtime/environment.cpp

  Log Message:
  -----------
  [flang-rt] Fix warnings on Windows (#191562)

When building the LLVM installer on Windows, fix CRT / dllimport
mismatch and unused locals / tautological comparisons in env handling.


  Commit: 4fb5b7834bcf534388fcaf0c5afd39601197d47b
      https://github.com/llvm/llvm-project/commit/4fb5b7834bcf534388fcaf0c5afd39601197d47b
  Author: Petr Hosek <phosek at google.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake

  Log Message:
  -----------
  [CMake] Enable static libxml2 for Fuchsia toolchain (#191657)

We prefer statically linking all library dependencies.


  Commit: 5347264191e74840adc740db1aa41b7a9d33670a
      https://github.com/llvm/llvm-project/commit/5347264191e74840adc740db1aa41b7a9d33670a
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
    M lldb/tools/lldb-dap/RunInTerminal.cpp
    M lldb/unittests/Platform/TestUtils.cpp

  Log Message:
  -----------
  [LLDB] Silence warnings when building on Windows (#191566)

Fixes a few warnings found while building the LLVM installer with
`llvm/utils/release/build_llvm_release.bat --x64 --version 23.0.0
--skip-checkout --local-python`.


  Commit: 4b2c155a757a9abd1ae1501f0b26b6d4835a5d32
      https://github.com/llvm/llvm-project/commit/4b2c155a757a9abd1ae1501f0b26b6d4835a5d32
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv

  Log Message:
  -----------
  [libc++][ranges][NFC] Mark LWG3947 as implemented (#191642)

Implemented in
https://github.com/llvm/llvm-project/commit/fc4661aa11a0e974f842e83346ff44609284a4ae


  Commit: af209b6f73ec319ba38fe7c60db1bcaf73ac8cf0
      https://github.com/llvm/llvm-project/commit/af209b6f73ec319ba38fe7c60db1bcaf73ac8cf0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll

  Log Message:
  -----------
  [RISCV] Split LMUL=8 f16 fixed vector (s/u)ittofp/fpto(s/u)i before promoting. (#191568)

The conversion needs to be done by promoting to f32. If we're already at
LMUL=8, we need to split before we can promote.


  Commit: b6c8cba516daabced0105114a7bcc745bc52faae
      https://github.com/llvm/llvm-project/commit/b6c8cba516daabced0105114a7bcc745bc52faae
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-04-11 (Sat, 11 Apr 2026)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp

  Log Message:
  -----------
  [ELF] Move ++nextGroupId from InputFile ctor to callers. NFC (#191685)

Move this side effect to the call sites in addFile() where the groupId
assignment is more visible.

This makes InputFile construction safe to call from parallel contexts.


  Commit: 2798a107e63b4df00009df1a09f6e80c74cd3792
      https://github.com/llvm/llvm-project/commit/2798a107e63b4df00009df1a09f6e80c74cd3792
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check.cpp

  Log Message:
  -----------
  [Clang-tidy] Add dummy compile_commands.json for broken test (#191635)

Consequence of https://github.com/llvm/llvm-project/issues/182526.

With PCH used for unit tests (#191402), this breaks now due to matching:

llvm-build/tools/clang/tools/extra/test/clang-tidy/infrastructure/Output/custom-query-check.cpp.tmp/cqc-main.cpp

with:

llvm-build/tools/clang/tools/extra/clangd/unittests/DecisionForestRuntimeTest.cpp


  Commit: 5bac06718f502014fade905512f1d26d578a18f3
      https://github.com/llvm/llvm-project/commit/5bac06718f502014fade905512f1d26d578a18f3
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M flang/test/Driver/save-mlir-temps.f90

  Log Message:
  -----------
  [Flang] Mark save-mlir-temps.f90 unsupported (#191686)

This was marked as xfail earlier for some .prefalign fixes, but is
unexpectedly passing on AArch64 Premerge CI.

Just mark it unsupported for now to get things back to green.


  Commit: afc41b904180af0cc56eeec8bdb201ce880627f9
      https://github.com/llvm/llvm-project/commit/afc41b904180af0cc56eeec8bdb201ce880627f9
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/Sema/implicit-cast-complex-to-vector.c

  Log Message:
  -----------
  [clang][bytecode] Fix implicit-cast-complex-to-vector test (#191662)


  Commit: f5509542c0660c269c202e2e7e4caeb8ed639bae
      https://github.com/llvm/llvm-project/commit/f5509542c0660c269c202e2e7e4caeb8ed639bae
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/version
    M libcxx/test/std/atomics/atomics.ref/address.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][atomics] P3936R1: Safer ``atomic_ref::address`` (#189761)

Implements P3936R1

Closes #189594

# References:

- https://llvm.org/PR162236
- https://wg21.link/p3936r1

---------

Co-authored-by: A. Jiang <de34 at live.cn>
Co-authored-by: Hristo Hristov <zingam at outlook.com>


  Commit: 1dc46a29cf8be1d6109bc1a3583b83b9b6662d92
      https://github.com/llvm/llvm-project/commit/1dc46a29cf8be1d6109bc1a3583b83b9b6662d92
  Author: hstk30-hw <hanwei62 at huawei.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M clang/lib/Driver/Driver.cpp

  Log Message:
  -----------
  Clean Code. NFC (#191403)


  Commit: 67c893eebc793cea8b0d12b9037d3117191b76eb
      https://github.com/llvm/llvm-project/commit/67c893eebc793cea8b0d12b9037d3117191b76eb
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__format/format_functions.h
    M libcxx/include/format
    M libcxx/modules/std/format.inc
    A libcxx/test/std/utilities/format/format.fmt.string/ctor.dynamic-format-string.pass.cpp
    R libcxx/test/std/utilities/format/format.fmt.string/ctor.runtime-format-string.pass.cpp
    A libcxx/test/std/utilities/format/format.functions/format.dynamic_format.pass.cpp
    A libcxx/test/std/utilities/format/format.functions/format.locale.dynamic_format.pass.cpp
    R libcxx/test/std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp
    R libcxx/test/std/utilities/format/format.functions/format.runtime_format.pass.cpp
    A libcxx/test/std/utilities/format/format.syn/dynamic_format_string.pass.cpp
    R libcxx/test/std/utilities/format/format.syn/runtime_format_string.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][format] P3953R3: Rename `std::runtime_format` (#189657)

Implements P3953R3

- renamed test files (no changes to the contents but the function
names).

Closes #189624

# References:

- https://llvm.org/PR105394
- https://wg21.link/p2918r2


  Commit: 52c62175ac7b9d6a6e0544e6370c9d410f531261
      https://github.com/llvm/llvm-project/commit/52c62175ac7b9d6a6e0544e6370c9d410f531261
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/gfni-lzcnt.ll
    M llvm/test/CodeGen/X86/gfni-tzcnt.ll

  Log Message:
  -----------
  [X86] LowerCTTZ - prefer legal CTPOP expansion vs GFNI to avoid constant pool load (#191623)

Fixes #191520


  Commit: eff545b0b39b1eb2db2382e47912230dea66f48f
      https://github.com/llvm/llvm-project/commit/eff545b0b39b1eb2db2382e47912230dea66f48f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td

  Log Message:
  -----------
  [X86] Add common avx512_binary_lowering matcher for NonVLX binary op widening (#191650)

Replace VPMULLQ/VPMAXQ/VPMINQ + var shift custom patterns


  Commit: b7febd772c57fc21a126a8e125d749df9e4a6a53
      https://github.com/llvm/llvm-project/commit/b7febd772c57fc21a126a8e125d749df9e4a6a53
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td

  Log Message:
  -----------
  [X86] Convert VPABSQ NonVLX patterns to use avx512_unary_lowering helper (#191648)

Move avx512_unary_lowering so we can avoid manually writing the XMM/YMM->ZMM widening for NonVLX targets

Adds some missing comments for instruction classes as well


  Commit: de56830e67700cac9b8b028a86d077b24847d251
      https://github.com/llvm/llvm-project/commit/de56830e67700cac9b8b028a86d077b24847d251
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/cxx17.cpp

  Log Message:
  -----------
  [clang][bytecode] Handle zero pointers in `isConstexprUnknown()` (#191691)


  Commit: abc1ec1c0288c794d75c7238a1fb258229c17b8f
      https://github.com/llvm/llvm-project/commit/abc1ec1c0288c794d75c7238a1fb258229c17b8f
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp

  Log Message:
  -----------
  [flang] clang-format flang/lib/Semantics/resolve-directives.cpp (#191660)

The changes are only on 5 lines, but now the entire file is invariant
under clang-format.


  Commit: 2137d5ffbd454c85c31f8533721cd68dcf24015b
      https://github.com/llvm/llvm-project/commit/2137d5ffbd454c85c31f8533721cd68dcf24015b
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/LiveRangeEdit.cpp
    M llvm/lib/CodeGen/PeepholeOptimizer.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/test/CodeGen/X86/apx/or.ll
    A llvm/test/CodeGen/X86/apx/pr191368.ll

  Log Message:
  -----------
  [X86][APX] Return CopyMI when added in foldMemoryOperandImpl (#191368)

Fixes: #190962 #191165 #191239


  Commit: 6911faf39c19ce31647b041fcaf0a69f78b32368
      https://github.com/llvm/llvm-project/commit/6911faf39c19ce31647b041fcaf0a69f78b32368
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/fneg.ll

  Log Message:
  -----------
  [InstCombine] Fix FMF propagation in `foldFNegIntoConstant` (#191653)

Counterexamples for ninf and nsz: https://alive2.llvm.org/ce/z/7-Je_K
Closes https://github.com/llvm/llvm-project/issues/189729.


  Commit: 4af396057caf2df49df8d3f60f0ae040ae9312b4
      https://github.com/llvm/llvm-project/commit/4af396057caf2df49df8d3f60f0ae040ae9312b4
  Author: Max Graey <maxgraey at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/fp-floor-ceil.ll

  Log Message:
  -----------
  [InstCombine] Improve suboptimal simplification for more than one use in #190620 (#191702)

Address to
https://github.com/llvm/llvm-project/pull/190620#issuecomment-4229926121


  Commit: 34c83399fe001cd3c1a19f38f30c83cdc2e8399f
      https://github.com/llvm/llvm-project/commit/34c83399fe001cd3c1a19f38f30c83cdc2e8399f
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Semantics/openmp-utils.cpp

  Log Message:
  -----------
  [flang][OpenMP] Update comments, NFC (#191709)

Some comments in openmp-utils.cpp became outdated after the code had
changed.


  Commit: b31d8bc21bc324b73bf0a47e92216b9aac7408c0
      https://github.com/llvm/llvm-project/commit/b31d8bc21bc324b73bf0a47e92216b9aac7408c0
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h

  Log Message:
  -----------
  [JITLink] Use NonOwningSymbolStringPtrs in ExternalSymbolsMap. (#191634)

SymbolStringPtr comparisons should be more efficient that string
comparisons. Fixes a FIXME.


  Commit: be62f270fd01e8c526f1e37df74ff1061e360dab
      https://github.com/llvm/llvm-project/commit/be62f270fd01e8c526f1e37df74ff1061e360dab
  Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-debug.mir
    R llvm/test/CodeGen/AMDGPU/misched-remat-revert.ll
    M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
    M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_cost.mir
    M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_diff_types.mir

  Log Message:
  -----------
  [AMDGPU][Scheduler] Use MIR-level rematerializer in rematerialization stage (#189491)

This makes the scheduler's rematerialization stage use the
target-independent rematerializer. Previously duplicate logic is
deleted, and restrictions are put in place in the stage so that the same
constraints as before apply on rematerializable registers (as the
rematerializer is able to expose many more rematerialization
opportunities than what the stage can track at the moment). Consequently
it is not expected that this change improves performance overall, but it
is a first step toward being able to use the rematerializer's more
advanced capabilities during scheduling.

This is *not* a NFC for 2 reasons.

- Score equalities between two rematerialization candidates with
otherwise equivalent score are decided by their corresponding register's
index handle in the rematerializer (previously the pointer to their
state object's value). This is determined by the rematerializer's
register collection order, which is different from the stage's old
register collection order. This is the cause of all test changes but
one, and should not be detrimental to performance in real cases.
- To support rollback, the stage now uses the rematerializer's rollback
listener instead of its previous ad-hoc method (setting the opcode of
rematerialized MIs to a DBG_VALUE, and their registers to the sentinel).
This is the source of test changes in
`machine-scheduler-sink-trivial-remats-debug.mir`. The new rollback
mechanism completely removes the behavior tested by
`misched-remat-revert.ll` so the test is deleted.

---------

Co-authored-by: Shilei Tian <i at tianshilei.me>


  Commit: 48ad929c0f3595bed417172de638ed9a0cbdb4c1
      https://github.com/llvm/llvm-project/commit/48ad929c0f3595bed417172de638ed9a0cbdb4c1
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__numeric/saturation_arithmetic.h
    M libcxx/include/numeric
    M libcxx/include/version
    M libcxx/modules/std/numeric.inc
    M libcxx/test/libcxx/numerics/nodiscard.verify.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.assert.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_add.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_add.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.assert.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_mul.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_mul.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_sub.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_sub.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][numeric] P4052R0: Renaming saturation arithmetic functions (#189574)

Implements P4052R0.

Also renames:
- the internal names for consistency.
- test files (no changes to the contents but the function names).

Fixes: #189589

---------

Co-authored-by: A. Jiang <de34 at live.cn>


  Commit: b844cc8f8de9bfbd003cbe01e1295563c4ca62e6
      https://github.com/llvm/llvm-project/commit/b844cc8f8de9bfbd003cbe01e1295563c4ca62e6
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/__ranges/iota_view.h
    M libcxx/test/std/ranges/range.factories/range.iota.view/size.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] LWG3610: `iota_view::size` sometimes rejects integer-class types (#155169)

Fixes #104948

# References

- https://wg21.link/range.iota.view
- https://wg21.link/range.iota.view#17
- https://wg21.link/LWG3610

---------

Co-authored-by: A. Jiang <de34 at live.cn>


  Commit: 778c0fb1dbf1803f8f250fd7feb935095e91e57b
      https://github.com/llvm/llvm-project/commit/778c0fb1dbf1803f8f250fd7feb935095e91e57b
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll

  Log Message:
  -----------
  [SLP] Fix GEP cost computation for load vectorization cost estimates

Pass Instruction::Load instead of Instruction::GetElementPtr to
getGEPCosts in isMaskedLoadCompress and CheckForShuffledLoads.
These call sites estimate costs for wide contiguous loads and sub-vector
load patterns, not for masked gather pointer vector formation. Using
Instruction::GetElementPtr incorrectly triggered the gather-style cost
path, which computes vector GEP formation costs. Since the call sites
already add scalarization overhead for pointer vector building
separately, this led to double-counting of pointer costs and inaccurate
vectorization decisions.

Reviewers: hiraditya, RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/191620


  Commit: b444d1deb50896b334a9708dd7143b015dd59158
      https://github.com/llvm/llvm-project/commit/b444d1deb50896b334a9708dd7143b015dd59158
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-debug.mir
    A llvm/test/CodeGen/AMDGPU/misched-remat-revert.ll
    M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
    M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_cost.mir
    M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_diff_types.mir

  Log Message:
  -----------
  Revert "[AMDGPU][Scheduler] Use MIR-level rematerializer in rematerialization stage (#189491)"

This reverts commit be62f270fd01e8c526f1e37df74ff1061e360dab, it breaks
the compilation!!!

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/191717


  Commit: 636dbc8875733438370575f44d3f2777f6271b88
      https://github.com/llvm/llvm-project/commit/636dbc8875733438370575f44d3f2777f6271b88
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Boolean.h
    A clang/lib/AST/ByteCode/Char.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/IntegralAP.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/InterpStack.cpp
    M clang/lib/AST/ByteCode/InterpStack.h
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/PrimType.cpp
    M clang/lib/AST/ByteCode/PrimType.h
    M clang/lib/AST/ByteCode/Primitives.h
    M clang/lib/AST/ByteCode/Program.cpp
    A clang/test/AST/ByteCode/addr-label-diff.c
    A clang/test/AST/ByteCode/addr-label-diff.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    M clang/test/AST/ByteCode/const-eval.c
    M clang/test/AST/ByteCode/cxx11.cpp
    A clang/test/AST/ByteCode/int-as-ptr-arith.c
    M clang/test/CodeGen/const-init.c
    M clang/test/CodeGen/const-label-addr.c
    M clang/test/CodeGen/statements.c
    M clang/test/CodeGen/staticinit.c
    M clang/test/CodeGenCXX/2008-05-07-CrazyOffsetOf.cpp
    M clang/test/CodeGenCXX/const-init-cxx11.cpp
    M clang/test/CodeGenCXX/const-init.cpp
    M clang/test/Sema/array-init.c
    M clang/test/Sema/compound-literal.c
    M clang/test/Sema/const-ptr-int-ptr-cast.c
    M clang/test/Sema/init.c
    M clang/test/SemaCXX/constexpr-string.cpp
    M clang/unittests/AST/ByteCode/Descriptor.cpp

  Log Message:
  -----------
  [clang][bytecode] Support different integral types (e.g. addresses) (#185028)

This is an alternative approach to
https://github.com/llvm/llvm-project/pull/169769.

We increase the size of the old `Integral<Bits, Signed>` to 24 bytes (on
a 64 bit system) and introduce a new `Char<Signed>` that's used for the
old `PT_Sint8` and `PT_Uint8` primitive types.

The old approach did not work out in the end because we need to be able
to do arithmetic (but essentially just `+` and `-`) on the offsets of
such integers-that-are-actually-pointers.

c-t-t-:

https://llvm-compile-time-tracker.com/compare.php?from=723d5cb11b2a64e4f11032f24967702e52f822bc&to=16dc90efebbf52e381c7655131b2fb74c307cc42&stat=instructions:u


  Commit: e9cd683f1b216e0749005619ba0d7fd2caa3e7ca
      https://github.com/llvm/llvm-project/commit/e9cd683f1b216e0749005619ba0d7fd2caa3e7ca
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1down-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1down.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up.ll

  Log Message:
  -----------
  [RISCV] Enable vfslide1up/down for bf16 shuffles with Zvfbfa. (#191608)


  Commit: 1d1208b626c48c678d827ed88c4e68c2f237688b
      https://github.com/llvm/llvm-project/commit/1d1208b626c48c678d827ed88c4e68c2f237688b
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/copyable-phi-used-non-copyable.ll

  Log Message:
  -----------
  [SLP]Fix dominance failure when value is copyable in one PHI entry but non-copyable in another

When a value is treated as a copyable element in one tree entry and as a
non-copyable element in another, both feeding into PHI nodes, the
scheduler could produce vectorized IR where an instruction does not
dominate all its uses. Bail out of scheduling in tryScheduleBundle when
this conflict is detected to prevent generating broken modules.
Fixes #191714

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/191724


  Commit: 90d35155ff5295c4c4d27b42e3ecb33d03cdd292
      https://github.com/llvm/llvm-project/commit/90d35155ff5295c4c4d27b42e3ecb33d03cdd292
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll

  Log Message:
  -----------
  Revert "[SLP] Fix GEP cost computation for load vectorization cost estimates"

This reverts commit 778c0fb1dbf1803f8f250fd7feb935095e91e57b to fix
buildbots https://lab.llvm.org/buildbot/#/builders/213/builds/2725, https://lab.llvm.org/buildbot/#/builders/212/builds/2876

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/191725


  Commit: 8113b989337c61f5063939ec8e3ce4ba5ee4f213
      https://github.com/llvm/llvm-project/commit/8113b989337c61f5063939ec8e3ce4ba5ee4f213
  Author: Madhur Kumar <152476790+MadhurKumar004 at users.noreply.github.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    A llvm/test/Transforms/InstCombine/icmp-umax-notx.ll

  Log Message:
  -----------
  [InstCombine] Missed fold: umax(x, C) > ~x -> x < 0 (#189396)

fix : https://github.com/llvm/llvm-project/issues/187648

Fix the missed optimization for 
`icmp ugt (umax(x, C)), ~x` and `icmp ult (umax(x, C)), ~x`

Alive2 proof:
https://alive2.llvm.org/ce/z/dDNJ2m
https://alive2.llvm.org/ce/z/X633UX


  Commit: 6c779819669204c7f23240b1050929672296ee59
      https://github.com/llvm/llvm-project/commit/6c779819669204c7f23240b1050929672296ee59
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
    M llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/LLJITWithExecutorProcessControl.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
    M llvm/include/llvm/ExecutionEngine/Orc/SelfExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
    M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
    M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h
    M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp

  Log Message:
  -----------
  [ORC] Move MemoryAccess ownership out of ExecutorProcessControl. (#191715)

Similar to the DylibManager change in e55fb5de0f9, this removes an
unnecessary coupling between ExecutorProcessControl and MemoryAccess,
allowing clients to select MemoryAccess implementations independently.

To simplify the transition, the
ExecutorProcessControl::createDefaultMemoryAccess method will return an
instance of whatever MemoryAccess the ExecutorProcessControl
implementation had been using previously.


  Commit: 183660de3a29cbd69f51730ee2044437edcaf32a
      https://github.com/llvm/llvm-project/commit/183660de3a29cbd69f51730ee2044437edcaf32a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll

  Log Message:
  -----------
  [SLP] Fix GEP cost computation for load vectorization cost estimates

Pass Instruction::Load instead of Instruction::GetElementPtr to
getGEPCosts in isMaskedLoadCompress and CheckForShuffledLoads.
These call sites estimate costs for wide contiguous loads and sub-vector
load patterns, not for masked gather pointer vector formation. Using
Instruction::GetElementPtr incorrectly triggered the gather-style cost
path, which computes vector GEP formation costs. Since the call sites
already add scalarization overhead for pointer vector building
separately, this led to double-counting of pointer costs and inaccurate
vectorization decisions.

Reviewers: hiraditya, RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/191728


  Commit: 0ab10d1c446db03beaf6e6302910132f5ea3492d
      https://github.com/llvm/llvm-project/commit/0ab10d1c446db03beaf6e6302910132f5ea3492d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    A llvm/test/Transforms/InstCombine/known-range-frexp-exp.ll

  Log Message:
  -----------
  ValueTracking: Handle frexp exp in computeKnownConstantRange (#191282)


  Commit: 7c872e96aa71e406e479e6f95901c72eef79da97
      https://github.com/llvm/llvm-project/commit/7c872e96aa71e406e479e6f95901c72eef79da97
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/operand-reorder-with-copyables.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the reordering of the RHS/LHS operands for copyables, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/191730


  Commit: b799b380ba3ae3b099c244cf53928af9d4d47d80
      https://github.com/llvm/llvm-project/commit/b799b380ba3ae3b099c244cf53928af9d4d47d80
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/test/CodeGen/X86/prefalign.ll

  Log Message:
  -----------
  [AsmPrinter] Fix redundant/weaker .prefalign when IR align attr >= prefalign (#191675)

PR #155529 (only fired with -ffunction-sections, then modified by PR
184032) compared `MF->getAlignment()` (the backend's minimum function
alignment) against `MF->getPreferredAlignment()` to decide whether to
emit `.prefalign`. This ignored the IR function's own align attribute,
which `emitAlignment` picks up later via `getGVAlignment`, so the
comparison was against the wrong minimum.

Consequences on x86 (backend min = 1, target pref = 16):

* `[[gnu::aligned(32)]] void g(){}` lowers to `align 32 prefalign(32)`.

      .p2align 5
      .prefalign 5, .Lfunc_end, nop

  The .prefalign is fully redundant: .p2align 5 already forces the
  desired 32-byte alignment.

* `define void @f4() align 32 prefalign(16)`.

      .p2align 5
      .prefalign 4, .Lfunc_end, nop

  Here .prefalign with a weak alignment is harmless but the assembly
  output is nonsensical.

This patch updates `emitAlignment` to return the effective alignment it
emits and use that as the true minimum in `emitFunctionHeader`.


  Commit: 56775ba553bf47bf14cbf4d3ec1ea3619d4f6356
      https://github.com/llvm/llvm-project/commit/56775ba553bf47bf14cbf4d3ec1ea3619d4f6356
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/tools/llubi/lib/Library.cpp

  Log Message:
  -----------
  [llubi] Fix invalid printf format specifier for %c (#191713)

Fix ASAN warning about unexpected format specifier %llc introduced
in commit f149ab665a4b. The 'c' format specifier should not have the
'll' length modifier. Separated the 'c' case to use the correct format
without the length modifier, casting to int as required by the standard.


  Commit: 5b1b0efbaa97c43a6cd32df37eaa0ea7f282aeec
      https://github.com/llvm/llvm-project/commit/5b1b0efbaa97c43a6cd32df37eaa0ea7f282aeec
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M clang/tools/diagtool/ShowEnabledWarnings.cpp

  Log Message:
  -----------
  [Clang][diagtool] Fix memory leak in ShowEnabledWarnings (#191711)

Fix 136-byte memory leak introduced in commit 6dc059ac3c7c. Before
that commit, the TextDiagnosticBuffer was passed to DiagnosticsEngine
constructor which took ownership and managed its lifetime. After the
refactoring, the buffer is no longer passed to DiagnosticsEngine, so
it becomes an orphaned allocation that is never freed. Changed to use
std::unique_ptr for automatic cleanup.


  Commit: 029e5b017bfd5a564a664a6f6a8d40bda40125bf
      https://github.com/llvm/llvm-project/commit/029e5b017bfd5a564a664a6f6a8d40bda40125bf
  Author: Eugene Shalygin <eugene.shalygin at gmail.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/ContinuationIndenter.h
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/unittests/Format/AlignmentTest.cpp

  Log Message:
  -----------
  [clang-format] treat continuation as indent for aligned lines (#191217)

This allows to inherit tabbed indent from the lines we break by the
lines we want to align. Thus in the AlignWithSpaces mode aligned lines
do not generate smaller indent than those they are aligned to.


  Commit: 717ba7c3107dc7ebc41feaaedf1d8eaf89306e04
      https://github.com/llvm/llvm-project/commit/717ba7c3107dc7ebc41feaaedf1d8eaf89306e04
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [VPlan] Handle calls in VPInstruction:opcodeMayReadOrWriteFromMemory. (#190681)

Retrieve the called function and check its memory attributes, to
determine if a VPInstruction calling a function reads or writes memory.

Use it to strengthen assert in areAllLoadsDereferenceable.

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


  Commit: c0fbdb21bb23554a662cff743fddf5721a14102f
      https://github.com/llvm/llvm-project/commit/c0fbdb21bb23554a662cff743fddf5721a14102f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/EvaluationResult.cpp

  Log Message:
  -----------
  [clang][bytecode] Stop using QualTypes when checking evaluation results (#191732)

They might not match the descriptor contents exactly, so just look at
the descriptors.


  Commit: d946ac356897e863392d1454607889166ae74cc0
      https://github.com/llvm/llvm-project/commit/d946ac356897e863392d1454607889166ae74cc0
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/CallGraphUpdater.cpp
    A llvm/test/Transforms/Inline/inline-history-dead-function.ll

  Log Message:
  -----------
  [CallGraphUpdater] Replace dead function in metadata with null instead of poison (#191729)

Assisted-by: claude-4.6-opus


  Commit: e62acf49a636a1014e991d75dfa49f0a7cf7951f
      https://github.com/llvm/llvm-project/commit/e62acf49a636a1014e991d75dfa49f0a7cf7951f
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/IRBuilder.cpp

  Log Message:
  -----------
  [NFC][LLVM] Rename IRBuilder/LLVM C API params for overload types (#191674)

Rename IRBuilder and LLVM C API function params for overload types to
use names to better reflect their meaning.


  Commit: 2c28158cb74a78226e95b8bc90c88154eb56a742
      https://github.com/llvm/llvm-project/commit/2c28158cb74a78226e95b8bc90c88154eb56a742
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/IR/Intrinsics.cpp
    M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp

  Log Message:
  -----------
  [LLVM][Intrinsics] Eliminate range check for IIT table in `DecodeIITType` (#190260)

`DecodeIITType` does a range check each time the next entry from the IIT
encoding table is read. This is required to handle IIT encodings that
are in-lined into the `IIT_Table` entries, since the `IITEntries` array
in `getIntrinsicInfoTableEntries` is terminated after the last non-zero
nibble is seen in the inlined encoding (but that may not be the actual
end). Change this code to instead have the `IITEntries` array for the
inlined case point to the full `IITValues` array payload + a IIT_Done
terminator, so that such entries look exactly like they would if they
were encoded in the long encoding table and then remove the range check
in `DecodeIITType` to streamline that code a bit.

Additionally, change some use if 0s (in loop conditions and default
constructed terminator in the IIT long encoding table) to explicitly use
IIT_Done to clarify the code better.

Also use `consume_front()` in a few places instead of `front()` followed
by `slice(1)`.


  Commit: 00328f10ac90d4d254efed0af5bd193ff731841b
      https://github.com/llvm/llvm-project/commit/00328f10ac90d4d254efed0af5bd193ff731841b
  Author: 🍌Shawn <m18824909883 at 163.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp

  Log Message:
  -----------
  [flang][NFC] Fix typo in comment for multi-image environment (#191722)


  Commit: 7b94b9ae13c69075a85d3af8b987a38610fbce5a
      https://github.com/llvm/llvm-project/commit/7b94b9ae13c69075a85d3af8b987a38610fbce5a
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M libclc/clc/lib/generic/workitem/clc_get_sub_group_size.cl

  Log Message:
  -----------
  [libclc] Refine generic __clc_get_sub_group_size with fast full sub-group path (#188895)

Add a fast path for the common case that total work-group size is
multiple of max sub-group size.

The fallback path is ported from amdgpu/workitem/clc_get_sub_group_size.cl.

Compiler can generate predicated instructions for the fallback path to
avoid branches.


  Commit: 507d82339230990d65ccfe753d0fd3e620c82b71
      https://github.com/llvm/llvm-project/commit/507d82339230990d65ccfe753d0fd3e620c82b71
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/CodeGen/X86/AMX/amx-across-func.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution-dbg-msg.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/2011-11-29-postincphi.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/postinc-iv-used-by-urem-and-udiv.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/pr62660-normalization-failure.ll
    M llvm/test/Transforms/LoopStrengthReduce/duplicated-phis.ll

  Log Message:
  -----------
  [LSR] Use TTI to check if zero-start IV is free in getSetupCost (#190587)

This avoids a downstream regression where LSR prefers {-1,+1}.
When constant zero typically doesn't require preheader initialization
(queried via TTI::getIntImmCost), consider it as free in getSetupCost.

Three test changes are improvements: amx-across-func.ll,
2011-11-29-postincphi.ll and pr62660-normalization-failure.ll.
Other test changes are neutral.


  Commit: 121f5a96ff38ec0c5d5f7274b1b0ca0df26a1cee
      https://github.com/llvm/llvm-project/commit/121f5a96ff38ec0c5d5f7274b1b0ca0df26a1cee
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M libclc/CMakeLists.txt
    M libclc/README.md
    M libclc/test/CMakeLists.txt
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [libclc] Enable LLVM_RUNTIME_TARGETS in build system (#189892)

libclc target is now passed in from LLVM_RUNTIME_TARGETS.

The old configure flow based on `-DLLVM_ENABLE_RUNTIMES=libclc` is
deprecated because libclc no longer has a default target.
`-DLLVM_ENABLE_RUNTIMES=libclc -DLLVM_RUNTIME_TARGETS="<target-triple>"`
still works but it is considered legacy.

The new standard build requires:
Each target must now be selected explicitly on the CMake command line
through the runtimes target-specific cache entry and
LLVM_RUNTIME_TARGETS.
For example:
-DRUNTIMES_amdgcn-amd-amdhsa-llvm_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="amdgcn-amd-amdhsa-llvm"
-DRUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="nvptx64-nvidia-cuda"
-DRUNTIMES_clspv--_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="clspv--"
-DRUNTIMES_clspv64--_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="clspv64--"
-DRUNTIMES_spirv-mesa3d-_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="spirv-mesa3d-"
-DRUNTIMES_spirv64-mesa3d-_LLVM_ENABLE_RUNTIMES=libclc
-DLLVM_RUNTIME_TARGETS="spirv64-mesa3d-"

To build multiple targets, pass them as a semicolon-separated list in
`LLVM_RUNTIME_TARGETS` and provide a matching
`RUNTIMES_<target-triple>_LLVM_ENABLE_RUNTIMES=libclc` entry for each
target.

Updated README.md to document the new build flow.

---------

Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>


  Commit: 215f35eb8f1c313ac135ad47db1cc0b99b3ae694
      https://github.com/llvm/llvm-project/commit/215f35eb8f1c313ac135ad47db1cc0b99b3ae694
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [AArch64] Skip non-pseudo instructions in AArch64ExpandPseudoInsts (#191395)

AArch64::getSVEPseudoMap calls are visible in compile-time profiles even on
non-SVE targets. I think CodeGenMapTable could be improved, it's currently
emitting a constexpr array sorted by opcode and a hand-rolled binary search
over that array, however the AArch64ExpandPseudoInsts pass is missing a simple
check for pseudo instructions before expanding. This avoids the compile-time
cost.

https://llvm-compile-time-tracker.com/compare.php?from=0d42811ea4658b3e86a3801b3bc848324f8540f8&to=9e2434de84577ca1c5e6de8fe8d75c6b8e282b3f&stat=instructions%3Au


  Commit: c755c084b07e86724586a8eeffdfff8c600ce1d5
      https://github.com/llvm/llvm-project/commit/c755c084b07e86724586a8eeffdfff8c600ce1d5
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/RISCV/split-udiv-by-constant.ll
    M llvm/test/CodeGen/RISCV/split-urem-by-constant.ll
    M llvm/test/CodeGen/X86/i128-udiv.ll

  Log Message:
  -----------
  [TargetLowering] Support larger divisors in expandDIVREMByConstant. (#191119)

Instead of bailing out if the original divisor exceeds HBitWidth,
allow divisors that fit in HBitWidth after removing trailing zeros.

PartialRem now needs a low and high part. Shifting RemL left
now needs to handle shifting into RemH.

Assisted-by: Claude Sonnet 4.5


  Commit: f647f0ce8e905b1a64035e5c6d3c75de26c9481c
      https://github.com/llvm/llvm-project/commit/f647f0ce8e905b1a64035e5c6d3c75de26c9481c
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-04-12 (Sun, 12 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-load.ll

  Log Message:
  -----------
  [SLP] Fix handling of strided loads during re-vectorization (#191294)

Fixes #191292


  Commit: 682ae8b626393ad77afebebda912f14f3c55a003
      https://github.com/llvm/llvm-project/commit/682ae8b626393ad77afebebda912f14f3c55a003
  Author: Arun Thangamani <arun.thangamani at intel.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
    M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir

  Log Message:
  -----------
  [mlir][x86] Lower packed type vector.contract to AMX dot-product (online-packing) (#188192)

A transform pass to lower flat layout `vector.contract` operation to (a)
amx.tile_mulf for BF16, or (b) amx.tile_muli for Int8 packed types via
`online` packing.

TODOs: On an another `patch` planned to re-factor this pass + retiring
`convert-vector-to-amx` pass.


  Commit: 52553173b9f67529f509e11116298c97425e6e05
      https://github.com/llvm/llvm-project/commit/52553173b9f67529f509e11116298c97425e6e05
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll

  Log Message:
  -----------
  [RISCV] Remove codegen for vp_{u,s}{add,sub}sat (#191639)

Part of the work to remove trivial VP intrinsics from the RISC-V
backend, see
https://discourse.llvm.org/t/rfc-remove-codegen-support-for-trivial-vp-intrinsics-in-the-risc-v-backend/87999

This splits off 4 intrinsics from #179622.


  Commit: 1d18740d307bb30cca9e9c8b2dc15e161d8e10f0
      https://github.com/llvm/llvm-project/commit/1d18740d307bb30cca9e9c8b2dc15e161d8e10f0
  Author: Amit Tiwari <amtiwari at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/AST/ast-dump-openmp-split.c
    A clang/test/Analysis/split_analyze.c
    A clang/test/Index/openmp-split.c
    A clang/test/OpenMP/split_ast_print.cpp
    A clang/test/OpenMP/split_codegen.cpp
    A clang/test/OpenMP/split_composition.cpp
    A clang/test/OpenMP/split_compound_associated.cpp
    A clang/test/OpenMP/split_counts_constexpr.cpp
    A clang/test/OpenMP/split_counts_ice.c
    A clang/test/OpenMP/split_counts_verify.c
    A clang/test/OpenMP/split_diag_errors.c
    A clang/test/OpenMP/split_distribute_inner_split.cpp
    A clang/test/OpenMP/split_driver_smoke.c
    A clang/test/OpenMP/split_iv_types.c
    A clang/test/OpenMP/split_loop_styles.cpp
    A clang/test/OpenMP/split_member_ctor.cpp
    A clang/test/OpenMP/split_messages.cpp
    A clang/test/OpenMP/split_nested_outer_only.c
    A clang/test/OpenMP/split_offload_codegen.cpp
    A clang/test/OpenMP/split_omp_fill.c
    A clang/test/OpenMP/split_openmp_version.cpp
    A clang/test/OpenMP/split_opts_simd_debug.cpp
    A clang/test/OpenMP/split_parallel_split.cpp
    A clang/test/OpenMP/split_pch_codegen.cpp
    A clang/test/OpenMP/split_range_for_diag.cpp
    A clang/test/OpenMP/split_serialize_module.cpp
    A clang/test/OpenMP/split_teams_nesting.cpp
    A clang/test/OpenMP/split_template_nttp.cpp
    A clang/test/OpenMP/split_templates.cpp
    A clang/test/OpenMP/split_trip_volatile.c
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    A openmp/runtime/test/transform/split/fill_first.c
    A openmp/runtime/test/transform/split/foreach.cpp
    A openmp/runtime/test/transform/split/intfor.c
    A openmp/runtime/test/transform/split/intfor_negstart.c
    A openmp/runtime/test/transform/split/iterfor.cpp
    A openmp/runtime/test/transform/split/leq_bound.c
    A openmp/runtime/test/transform/split/lit.local.cfg
    A openmp/runtime/test/transform/split/negative_incr.c
    A openmp/runtime/test/transform/split/nonconstant_incr.c
    A openmp/runtime/test/transform/split/parallel-split-intfor.c
    A openmp/runtime/test/transform/split/single_fill.c
    A openmp/runtime/test/transform/split/three_segments.c
    A openmp/runtime/test/transform/split/trip_one.c
    A openmp/runtime/test/transform/split/unsigned_iv.c
    A openmp/runtime/test/transform/split/zero_first_segment.c

  Log Message:
  -----------
  [Clang][OpenMP] Implement Loop splitting `#pragma omp split` directive (#190397)

Implement Loop-splitting #pragma omp split construct with counts clause.
Posting this PR after the revert of PR
([#183261](https://github.com/llvm/llvm-project/pull/183261))

Changes: 

1. Added `openmp/runtime/test/transform/split/lit.local.cfg`
2. Enforced ICE for `counts` clause items in `SemaOpenMP.cpp` (minor
change)
3. Updated tests `split_messages.cpp`, `split_omp_fill.cpp`,
`split_diag_errors.c`.
4. Removed `nonconstant_count.cpp`


  Commit: 82442a58c054611219385528f06a05bf1eb19215
      https://github.com/llvm/llvm-project/commit/82442a58c054611219385528f06a05bf1eb19215
  Author: David Green <david.green at arm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/Analysis/CostModel/AArch64/ldexp.ll
    M llvm/test/CodeGen/AArch64/ldexp.ll

  Log Message:
  -----------
  [AArch64] Fix legalization of bf16 ldexp. (#190805)

Similar to fp16 ldexp, we cannot create illegal types for bf16 during
lowering so should promote.


  Commit: c76cb2ba3c43d09d4a273bf0fe14be55789d9370
      https://github.com/llvm/llvm-project/commit/c76cb2ba3c43d09d4a273bf0fe14be55789d9370
  Author: Chandana Mudda <quic_csinderi at quicinc.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    A clang/test/Analysis/regionstore-zero-init.cpp

  Log Message:
  -----------
  [analyzer] Refine default binding preservation in RegionStore (#189319)

Narrow the new setImplicitDefaultValue() guard so existing default
bindings are preserved only for aggregate-like cases.

The previous change was too broad and regressed normal
zero-initialization, causing new int[10]{} to be modeled as undefined
and emit a garbage-value warning instead of the expected analyzer
reports.


  Commit: fe74f12a9e71abb89f2732bb50df4a8271f9d1a1
      https://github.com/llvm/llvm-project/commit/fe74f12a9e71abb89f2732bb50df4a8271f9d1a1
  Author: Tomer Shafir <tomer.shafir8 at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/ScheduleDAG.h
    M llvm/lib/CodeGen/ScheduleDAG.cpp

  Log Message:
  -----------
  [MISched] Extract `isClustered()` method on SUnit (NFC) (#191700)

This patch encapsulates the check for wether a `SUnit` is clustered,
rather than letting it scatter across call sites. Currently there is
only a single user, but more users can show up, and I think it provides
a cleaner API even for that single user.


  Commit: a95979686f532a194d9fb8a8671800f5e75e3405
      https://github.com/llvm/llvm-project/commit/a95979686f532a194d9fb8a8671800f5e75e3405
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

  Log Message:
  -----------
  [VPlan] Assert ComputeReductionResult isn't predicated in middle block. NFC (#191767)


  Commit: 53e01f1f6471d0d7c6db3b793e1005386d09e8c2
      https://github.com/llvm/llvm-project/commit/53e01f1f6471d0d7c6db3b793e1005386d09e8c2
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/verifier.mlir

  Log Message:
  -----------
  [mlir][tosa] Improve matmul verifier to check shape information (#191300)

Updates the matmul verifier to check input and output shapes are valid.

Also adds some tests for verifier failures which were previously not
covered.


  Commit: 6073fde018a71ed364b1fe3c052c920b8b032deb
      https://github.com/llvm/llvm-project/commit/6073fde018a71ed364b1fe3c052c920b8b032deb
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    A llvm/test/Transforms/LoopVectorize/tail-folding-constant-trip-counts.ll

  Log Message:
  -----------
  [VPlan] Directly check if middle block is pred of scalar preheader. (#191768)

hasScalarTail currently returns incorrect results when queried after
runtime checks have been added. Generalize and harden by checking if the
middle block is a predecessor of the scalar preheader.


  Commit: abece588672ebf849e393077ded2daa88be06802
      https://github.com/llvm/llvm-project/commit/abece588672ebf849e393077ded2daa88be06802
  Author: Mao Chuanjun <10255501521 at stu.ecnu.edu.cn>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp

  Log Message:
  -----------
  [clang-tidy] Fix a false positive when converting a bool to a signed integer type (#191696)

Fix #191337


  Commit: 923340b3786470c140598fa7203050786957c484
      https://github.com/llvm/llvm-project/commit/923340b3786470c140598fa7203050786957c484
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/placement-new.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix placement new on multidimensional array elements (#191766)

The direct base of those pointers is not a union, i.e. `getRecord()`
returns `nullptr`.


  Commit: 9a5bc720257024b44cf9f4c63741be53c4fba4c2
      https://github.com/llvm/llvm-project/commit/9a5bc720257024b44cf9f4c63741be53c4fba4c2
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/test/CodeGen/AArch64/sme-remarks.c
    M llvm/docs/AArch64SME.rst
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    M llvm/lib/Target/AArch64/AArch64SMEAttributes.cpp
    M llvm/lib/Target/AArch64/AArch64SMEAttributes.h
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.h
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
    R llvm/lib/Target/AArch64/SMEABIPass.cpp
    M llvm/test/CodeGen/AArch64/aarch64-sme-za-call-lowering.ll
    M llvm/test/CodeGen/AArch64/sme-abi-save-call-remarks.ll
    M llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
    M llvm/test/CodeGen/AArch64/sme-dynamic-tls.ll
    M llvm/test/CodeGen/AArch64/sme-lazy-save-call.ll
    M llvm/test/CodeGen/AArch64/sme-lazy-save-windows.ll
    M llvm/test/CodeGen/AArch64/sme-lazy-sve-nzcv-live.mir
    M llvm/test/CodeGen/AArch64/sme-new-za-function.ll
    R llvm/test/CodeGen/AArch64/sme-new-zt0-function.ll
    M llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
    M llvm/test/CodeGen/AArch64/sme-shared-za-interface.ll
    M llvm/test/CodeGen/AArch64/sme-za-control-flow.ll
    M llvm/test/CodeGen/AArch64/sme-za-exceptions.ll
    M llvm/test/CodeGen/AArch64/sme-za-function-with-many-blocks.ll
    M llvm/test/CodeGen/AArch64/sme-za-lazy-save-buffer.ll
    M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
    M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
    M llvm/test/Verifier/sme-attributes.ll
    M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp
    M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn

  Log Message:
  -----------
  [AArch64][SME] Remove SelectionDAG SME ABI lowering (#190950)

This patch removes the `-aarch64-new-sme-abi=<true/false>` option (which
has been defaulted to "true" since LLVM 22), and removes the Selection
DAG lowering for the SME ABI.

There should be no functional changes for the default path
(`-aarch64-new-sme-abi=true`).


  Commit: ec944346ddcb560f6d5dbb0faa5850f9baed0476
      https://github.com/llvm/llvm-project/commit/ec944346ddcb560f6d5dbb0faa5850f9baed0476
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M libc/shared/math.h
    A libc/shared/math/log2p1f16.h
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Fix: add log2p1f16 to shared math (#189179)

This PR intends to add the log2p1f16 function to shared math, along with
adding tests for it and bazel which was missed in
[f0ce26d](https://github.com/llvm/llvm-project/commit/f0ce26d06d822fd6985d227dc1be9d218977e334).


  Commit: bdc11929aa0b4dbcd0f06ade1bc54b45b5b8bf8b
      https://github.com/llvm/llvm-project/commit/bdc11929aa0b4dbcd0f06ade1bc54b45b5b8bf8b
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M libc/shared/math.h
    A libc/shared/math/log10p1f16.h
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Fix: add log10p1f16 to shared math (#189185)

This PR intends to add the log10p1f16 function to shared math, along
with adding tests for it and Bazel which was missed in
[a7d1a87](https://github.com/llvm/llvm-project/commit/a7d1a87b30ce626678d33fe1c12e647f7ce4fb20).


  Commit: f65301d637076db2232ca6c6d569cc0674e5858a
      https://github.com/llvm/llvm-project/commit/f65301d637076db2232ca6c6d569cc0674e5858a
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp

  Log Message:
  -----------
  [Clangd] Don't traverse ConceptDecl in typeForNode (#191654)

ConceptDecl doesn't have an associated template declaration, and it
doesn't introduce a type either.

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


  Commit: 70b9feceaf7e7cef8bdc3820f0b0561b332eb684
      https://github.com/llvm/llvm-project/commit/70b9feceaf7e7cef8bdc3820f0b0561b332eb684
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/SelfExecutorProcessControl.h
    M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp

  Log Message:
  -----------
  [ORC] Forward declare DylibManager in ExecutorProcessControl.h. (#191771)


  Commit: df6c82053c5e1f9814d130d423f34871bc6423c5
      https://github.com/llvm/llvm-project/commit/df6c82053c5e1f9814d130d423f34871bc6423c5
  Author: eiytoq <eiytoq at outlook.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M libcxx/include/__mdspan/mdspan.h
    M libcxx/test/std/containers/views/mdspan/mdspan/element_type.verify.cpp

  Log Message:
  -----------
  [libc++] Fix the mdspan ElementType complete object type mandate (#191703)

Fixes: #191688


  Commit: 75ca0f71d209058d1f565d7529e6d1b117129911
      https://github.com/llvm/llvm-project/commit/75ca0f71d209058d1f565d7529e6d1b117129911
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/test/CodeGen/AArch64/O0-pipeline.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll

  Log Message:
  -----------
  [AArch64] Don't forcefully add ORE to O0 pipeline (#191476)

Construct the OptimizationRemarkEmitter in AArch64StackTagging on demand
if not available and requires, this avoids computing several analysis in
all pipelines.


  Commit: 358f3d7402cd3e4849f771abb4448411b76d21ec
      https://github.com/llvm/llvm-project/commit/358f3d7402cd3e4849f771abb4448411b76d21ec
  Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [libc][bazel][math][NFC] Fix deps (#191785)


  Commit: d043b9e38dd9494c3c56018b2cbaf44fe205b110
      https://github.com/llvm/llvm-project/commit/d043b9e38dd9494c3c56018b2cbaf44fe205b110
  Author: Matthew Nagy <matthew.nagy at sony.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M compiler-rt/lib/tysan/tysan.cpp
    M compiler-rt/lib/tysan/tysan_interceptors.cpp

  Log Message:
  -----------
  [TySan][Sanitizer Common] Make TySan compatible with sanitizer common… (#183310)

… features and test suite
This involved:
- Implementing the `__sanitizer_print_stack_trace` interface
- Adding the common signal handlers
- Correctly set the tool name
- Cache the binary name before running


  Commit: 200e8c589e41f561b8dd7ed7c9b5e5ba26ab8300
      https://github.com/llvm/llvm-project/commit/200e8c589e41f561b8dd7ed7c9b5e5ba26ab8300
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp
    M mlir/test/Interfaces/InferShapedTypeOpInterface/resolve-shaped-type-result-dims.mlir

  Log Message:
  -----------
  [MLIR][MemRef] Fix DimOfReifyRankedShapedTypeOpInterface IR-change on failure (#188973)

DimOfReifyRankedShapedTypeOpInterface::matchAndRewrite called
reifyDimOfResult via the PatternRewriter. Some implementations delegate
to the coarse-grained reifyResultShapes, which creates ops for ALL
dimensions (e.g. a tensor.dim) before discovering that a specific
dimension is not reifiable (signalled by an empty OpFoldResult).

The pattern then returned failure() once it saw the empty OpFoldResult,
but the newly created ops were already in the IR. Under
MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS this triggered "pattern
returned failure but IR did change".

Fix: record the op immediately before the matched dim op, so we can
identify ops inserted during the reification attempt. If reification
returns an empty (unreifiable) OpFoldResult, erase those newly created
ops before returning failure, restoring the IR to its original state.

Assisted-by: Claude Code


  Commit: 91c0ba6de8e742fc92bf166f508157c6fe8b9df4
      https://github.com/llvm/llvm-project/commit/91c0ba6de8e742fc92bf166f508157c6fe8b9df4
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Transforms/ACCLoopTiling.cpp
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsTiling.cpp
    M mlir/test/Dialect/OpenACC/acc-loop-tiling.mlir

  Log Message:
  -----------
  [OpenACC] Fix pattern API check failures in acc-loop-tiling pass (#188968)

Two bugs were introduced/revealed by
MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS:

1. `ACCLoopTilingImpl::matchAndRewrite` returned `success()` for loops
with no tile values, triggering "pattern returned success but IR did not
change". Fixed by returning `failure()` instead.

2. `moveOpsAndReplaceIVs` moved ops between blocks via `splice()` and
updated operands via `replaceAllUsesInRegionWith()` without notifying
the rewriter. This caused "operation fingerprint changed" errors since
the moved ops' parent op and operands changed without
`startOpModification`/ `finalizeOpModification`. Fixed by wrapping all
moved ops (and their nested ops) with rewriter modification
notifications.

Assisted-by: Claude Code


  Commit: 72d35333fbd9829f9f89f7f1978ffdbaca396b09
      https://github.com/llvm/llvm-project/commit/72d35333fbd9829f9f89f7f1978ffdbaca396b09
  Author: David Green <david.green at arm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/bitcast.ll

  Log Message:
  -----------
  [AArch64][GISel] Clamp bitcast to v2i64 (#191360)

This helps to not lower, improving the number of nodes that we expand
into and improving the quality of the generated code.

Originally a part of #177158 by Ryan Cowan


  Commit: 6dbf9d1ac5e68ec6811e6b05c67f12fda07f62e3
      https://github.com/llvm/llvm-project/commit/6dbf9d1ac5e68ec6811e6b05c67f12fda07f62e3
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp

  Log Message:
  -----------
  [ORC] Forward declare MemoryAccess in ExecutorProcessControl.h. (#191778)


  Commit: 4c3ef83e5b235359d557c68c4a3c81cd42e7525d
      https://github.com/llvm/llvm-project/commit/4c3ef83e5b235359d557c68c4a3c81cd42e7525d
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/unittests/IR/PatternMatch.cpp

  Log Message:
  -----------
  [NFC][SPIR-V] Use PatternMatch combinators in SPIRVEmitIntrinsics (#189554)

Replace `dyn_cast<IntrinsicInst> + getIntrinsicID()` chains with
PatternMatch combinators where applicable


  Commit: 5667b93617fe0a1a0c927ab4c2d3bd889da5963f
      https://github.com/llvm/llvm-project/commit/5667b93617fe0a1a0c927ab4c2d3bd889da5963f
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/SPIRV/SPIRVTypeInst.cpp
    M llvm/lib/Target/SPIRV/SPIRVTypeInst.h
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bindless_images/bindless_images_generic.ll

  Log Message:
  -----------
  [SPIR-V] Add Int64ImageEXT capability for OpTypeImage with 64-bit integer sampled type (#190742)

Fix spirv-val failure:
```
error: line 20: Capability Int64ImageEXT is required when using Sampled Type of 64-bit int
  %spirv_Image = OpTypeImage %ulong 3D 0 0 0 0 Unknown ReadOnly
```

Detect when OpTypeImage uses a 64-bit integer as its sampled type and
automatically add the Int64ImageEXT capability and
SPV_EXT_shader_image_int64 extension

related to https://github.com/llvm/llvm-project/issues/190736


  Commit: 8dcd4713550e0e8ceffad49674499672a92069f1
      https://github.com/llvm/llvm-project/commit/8dcd4713550e0e8ceffad49674499672a92069f1
  Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Correct description of predicate.enable MD (#191496)

The documentation incorrectly stated that this metadata enables/disables
vectorization, but it actually controls predication. 
Also clarify that enabling predication implicitly enables vectorization.


  Commit: 137c53cbc844c2e643825e430bd9aa84b117f8bd
      https://github.com/llvm/llvm-project/commit/137c53cbc844c2e643825e430bd9aa84b117f8bd
  Author: Fady Farag <com.webkit.iidmsa at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/test/CodeGen/2004-02-13-Memset.c

  Log Message:
  -----------
  [clang][test] Fix 32-bit bot failures after cc419f185e13 (#191551)

Use `{{.*}}` instead of `i64` for `memset` size type, as 32-bit
platforms use `i32`.


  Commit: 55d7a0575a70322b535ec81c1840508042e52297
      https://github.com/llvm/llvm-project/commit/55d7a0575a70322b535ec81c1840508042e52297
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
    M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir

  Log Message:
  -----------
  [MLIR][SPIRV] Deduce Shader capability for DescriptorSet/Binding decorations (#188743)

UpdateVCEPass only queried capabilities via QueryCapabilityInterface and
SPIRV type capabilities, but did not check capabilities implied by
decoration attributes on ops. Specifically, the DescriptorSet and
Binding decorations—represented by the `binding` and `descriptor_set`
attributes on `spirv.GlobalVariable`—require the `Shader` capability per
the SPIR-V spec Decoration table, but this was not deduced.

Add an explicit check in UpdateVCEPass: when a `spirv.GlobalVariable`
has a `binding` or `descriptor_set` attribute, require the `Shader`
capability.

Part of #168357

Assisted-by: Claude Code


  Commit: 988e00ebcd54db5c4a15d15b87c16313d4190b59
      https://github.com/llvm/llvm-project/commit/988e00ebcd54db5c4a15d15b87c16313d4190b59
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M openmp/runtime/src/kmp_alloc.cpp

  Log Message:
  -----------
  [openmp] Silence warnings when building on Windows (#191556)

Fixes unused-but-set globals on non-Unix paths in kmp_alloc.cpp


  Commit: 571beb55057e66184fbcc9d9b9f81b443f6a9d52
      https://github.com/llvm/llvm-project/commit/571beb55057e66184fbcc9d9b9f81b443f6a9d52
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/interception/CMakeLists.txt
    M compiler-rt/lib/ubsan/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] clang-cl: skip MSVC external-header probe; -std=c++ for unit-test compiles (#191564)

1. `check_cxx_compiler_flag` marked `COMPILER_RT_HAS_EXTERNAL_FLAG` true
for clang-cl, so `/experimental:external` and `/external:anglebrackets`
were passed and clang-cl warned they were unused. Now only probe with
real MSVC (not Clang); set the flag false otherwise; rely on that in
asan/interception/ubsan.

2. Custom compile lines for unit tests didn’t get C++17, so headers hit
`-Wc++17-extensions` (e.g. `constexpr if` / message-less `static_assert`
in FuzzedDataProvider / asan_fake_stack). Now append
`-std=c++${CMAKE_CXX_STANDARD}` or `-std=c++17` for C++ sources in
`clang_compile()` for both standalone and non-standalone builds.


  Commit: d9a9962aa52b7a7cc251babba5d19f8adcd70ff3
      https://github.com/llvm/llvm-project/commit/d9a9962aa52b7a7cc251babba5d19f8adcd70ff3
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp

  Log Message:
  -----------
  [GSYM] Silence cast warning (#191561)

Previously clang-cl was generating "warning: comparison of integers of
different signs".


  Commit: 73dd62d41ff6caee880582e4ce11188e4460e9b8
      https://github.com/llvm/llvm-project/commit/73dd62d41ff6caee880582e4ce11188e4460e9b8
  Author: Minsoo Choo <minsoochoo0122 at proton.me>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [lldb][Process/FreeBSDKernelCore] Improve error handling (#191423)

Improve error handling with the following changes:

- If `kvm_open2()` fails in `DoLoadCore()`, log error with a message
obtained from the function.
- Return false or continue for loop if memory read fails.
- Rename `!error.Success()` to `error.Fail()` for readability (NFC).

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


  Commit: a98ecc9027426941851ac32ff75cb599acf49221
      https://github.com/llvm/llvm-project/commit/a98ecc9027426941851ac32ff75cb599acf49221
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    R lldb/test/API/lang/cpp/non-type-template-param-member-ptr/Makefile
    R lldb/test/API/lang/cpp/non-type-template-param-member-ptr/TestCppNonTypeTemplateParamPtrToMember.py
    R lldb/test/API/lang/cpp/non-type-template-param-member-ptr/main.cpp

  Log Message:
  -----------
  Revert "[lldb][DWARFASTParserClang] Handle pointer-to-member-data non-type te…" (#191798)

Reverts llvm/llvm-project#189510

Crashes lldb on certain type of debug info. See
https://github.com/llvm/llvm-project/pull/189510#issuecomment-4235929442
for more details.


  Commit: f3fce677f2a06e857433b42c5b5a38d554d79699
      https://github.com/llvm/llvm-project/commit/f3fce677f2a06e857433b42c5b5a38d554d79699
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/test/mlir-tblgen/op-format-invalid.td
    M mlir/test/mlir-tblgen/op-format-spec.td
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp

  Log Message:
  -----------
  [MLIR][ODS] Error on optional attribute used outside optional group in assemblyFormat (#188726)

Using an optional attribute directly in assemblyFormat (e.g., `$attr
attr-dict`) without wrapping it in an optional group causes the
generated printer to call `printAttribute` with a null `Attribute` when
the attribute is absent. This leads to a crash in the alias initializer
when it calls `getAlias` on a null attribute.

Add a validation check in `OpFormatParser::verifyAttributes` that
detects this pattern and emits a diagnostic error with a helpful note
pointing users to the correct `($attr^)?` syntax.

Fixes #58064

Assisted-by: Claude Code


  Commit: 65f4e709e1e0edb650a5ff5263afcd5012d04228
      https://github.com/llvm/llvm-project/commit/65f4e709e1e0edb650a5ff5263afcd5012d04228
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/docs/dil-expr-lang.ebnf
    M lldb/include/lldb/ValueObject/DILAST.h
    M lldb/include/lldb/ValueObject/DILEval.h
    M lldb/include/lldb/ValueObject/DILLexer.h
    M lldb/include/lldb/ValueObject/DILParser.h
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/ValueObject/DILAST.cpp
    M lldb/source/ValueObject/DILEval.cpp
    M lldb/source/ValueObject/DILLexer.cpp
    M lldb/source/ValueObject/DILParser.cpp
    M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py

  Log Message:
  -----------
  [lldb] Add binary multiplication, division, remainder to DIL (#187281)

Add binary arithmetic multiplication, division, remainder to DIL.
This patch also passes DILMode to the parser to check if binary
multiplication is allowed by the mode. This cannot be done in the lexer
alone, because it allows token `*` as a dereference operator for legacy
mode, but that token could also be a binary multiplication allowed only
in full mode.


  Commit: 1c1d0cd30edf8134585ab914efdb7bf2f781958c
      https://github.com/llvm/llvm-project/commit/1c1d0cd30edf8134585ab914efdb7bf2f781958c
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Target/LLVMIR/Import/module-flags.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [MLIR][LLVMIR] Handle MDTuple-of-MDStrings module flags (e.g. riscv-isa) (#188741)

The "riscv-isa" LLVM module flag stores its value as an MDTuple
containing MDStrings (e.g. `\!{\!"rv64i2p1", \!"m2p0"}`). Previously,
this fell through the unrecognized-key path in
`convertModuleFlagValueFromMDTuple`, which emitted a warning and dropped
the flag during import.

This patch adds generic handling for MDTuples whose operands are all
MDStrings:
- Import: convert to `ArrayAttr<StringAttr>` in
`convertModuleFlagValueFromMDTuple`
- Export: convert `ArrayAttr<StringAttr>` back to an MDTuple of
MDStrings in `convertModuleFlagValue`, enabling a lossless round-trip
- Verifier: allow `ArrayAttr<StringAttr>` as a valid `ModuleFlagAttr`
value for keys not otherwise handled by specific verifier branches

Fixes #188122

Assisted-by: Claude Code


  Commit: 848bf3e3fe2514becdacfd644092055228f4e890
      https://github.com/llvm/llvm-project/commit/848bf3e3fe2514becdacfd644092055228f4e890
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M flang/test/Lower/Intrinsics/transpose.f90
    M flang/test/Lower/Intrinsics/transpose_opt.f90
    M flang/test/Lower/Intrinsics/trim.f90
    M flang/test/Lower/Intrinsics/ubound.f90
    M flang/test/Lower/Intrinsics/ubound01.f90

  Log Message:
  -----------
  [flang][NFC] Converted five tests from old lowering to new lowering (part 43) (#191753)

Tests converted from test/Lower/Intrinsics: transpose.f90,
transpose_opt.f90, trim.f90, ubound.f90, ubound01.f90


  Commit: dd0c5ebe69e580066de100c8c2ba5430a1aeee44
      https://github.com/llvm/llvm-project/commit/dd0c5ebe69e580066de100c8c2ba5430a1aeee44
  Author: Matthew Nagy <matthew.nagy at sony.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M compiler-rt/test/sanitizer_common/CMakeLists.txt
    M compiler-rt/test/sanitizer_common/TestCases/Linux/aligned_alloc-alignment.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/allocator_returns_null_std.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/decorate_proc_maps.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/deepbind.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/free_aligned_sized.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/free_sized.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/malloc_usable_size.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/mlock_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/mprobe.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/pvalloc-overflow.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/release_to_os_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/replace_dlopen_main_program_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/resize_tls_dynamic.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_get_addr.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_malloc_hook.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/unexpected_format_specifier_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/huge_malloc.c
    M compiler-rt/test/sanitizer_common/TestCases/Posix/mmap_write_exec.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/posix_memalign-alignment.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/print-module-map.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/weak_hook_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/allocator_interface.cpp
    M compiler-rt/test/sanitizer_common/TestCases/allocator_returns_null.cpp
    M compiler-rt/test/sanitizer_common/TestCases/compress_stack_depot.cpp
    M compiler-rt/test/sanitizer_common/TestCases/corelimit.cpp
    M compiler-rt/test/sanitizer_common/TestCases/get_allocated_begin.cpp
    M compiler-rt/test/sanitizer_common/TestCases/hard_rss_limit_mb_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/malloc_hook.cpp
    M compiler-rt/test/sanitizer_common/TestCases/malloc_hook_get_allocated_size_fast.cpp
    M compiler-rt/test/sanitizer_common/TestCases/max_allocation_size.cpp
    M compiler-rt/test/sanitizer_common/TestCases/reallocarray-overflow.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_symbolize.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard-dso.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
    M compiler-rt/test/sanitizer_common/lit.common.cfg.py

  Log Message:
  -----------
  [TySan][Sanitizer Common] Enable TySan testing in the sanitizer commo… (#191385)

…n test suite

Secondary pr to enable tests after
https://github.com/llvm/llvm-project/pull/183310 enables the features


  Commit: e455e6c9ecae01da8c2959d7dfefa7631373efcb
      https://github.com/llvm/llvm-project/commit/e455e6c9ecae01da8c2959d7dfefa7631373efcb
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/darwin/aarch64/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/nvptx/entrypoints.txt
    M libc/config/gpu/spirv/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/fuzzing/string/CMakeLists.txt
    A libc/fuzzing/string/strnlen_s_differential_fuzz.cpp
    M libc/include/CMakeLists.txt
    M libc/include/string.yaml
    M libc/src/string/CMakeLists.txt
    M libc/src/string/string_utils.h
    M libc/src/string/strnlen.cpp
    A libc/src/string/strnlen_s.cpp
    A libc/src/string/strnlen_s.h
    M libc/test/src/string/CMakeLists.txt
    A libc/test/src/string/strnlen_s_test.cpp
    M libc/utils/docgen/string.yaml

  Log Message:
  -----------
  [libc] Add Annex K strnlen_s function (#186112)

This patch adds the `strnlen_s` function from Annex K.

In order to reduce duplication between `strnlen` and `strnlen_s`, the
common logic has been extracted to a new internal function which both
now call.

In addition to the function definition, the patch adds a unit test and a
fuzzing test.


  Commit: e027a17b2d45bf3656ff4ab7cea7db273971ab83
      https://github.com/llvm/llvm-project/commit/e027a17b2d45bf3656ff4ab7cea7db273971ab83
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/logical-struct-access.ll

  Log Message:
  -----------
  [NFC][SPIR-V] Fix logical-struct-access.ll to pass spirv-val validation (#191792)

OpReturnValue with a pointer type is invalid in SPIR-V Logical
addressing model (Vulkan). The functions in the test return
OpAccessChain results, which are pointers

related to https://github.com/llvm/llvm-project/issues/190736


  Commit: f9c9f94f13c88be0626d5a4e453f5494de0e106a
      https://github.com/llvm/llvm-project/commit/f9c9f94f13c88be0626d5a4e453f5494de0e106a
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
    A llvm/test/CodeGen/AArch64/sign-return-address-pauthlr-slh.ll

  Log Message:
  -----------
  [AArch64] Mark X16 as clobbered in PAUTH_EPILOGUE for hint-based PAuthLR (#175991)

When users request branch protection with PAuthLR on targets that do not
support the PAuthLR instructions, the PAUTH_EPILOGUE falls back to using
hint-space instructions. This fallback sequence uses X16 as a temporary
register, but X16 was not listed in the clobber set.

Because Speculative Load Hardening uses X16, this omission made SLH
incompatible with this PAUTH_EPILOGUE path.

Mark X16 as clobbered so the compiler does not assume X16 is preserved
across the epilogue, restoring compatibility with Speculative Load
Hardening and avoiding incorrect register liveness assumptions. The
clobber is added in C++ rather than TableGen, as X16 is only clobbered
when PAuthLR is requested as a branch protection variation and should
not be treated as clobbered unconditionally.


  Commit: e572b0c1e3d494d4fd44a76dc903a15bd559b40d
      https://github.com/llvm/llvm-project/commit/e572b0c1e3d494d4fd44a76dc903a15bd559b40d
  Author: ShashwathiNavada <shashwathinavada at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Fir/dispatch.f90
    M flang/test/Lower/CUDA/cuda-allocatable-device.cuf
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf
    M flang/test/Lower/CUDA/cuda-gpu-managed.cuf
    M flang/test/Lower/CUDA/cuda-mod.cuf
    M flang/test/Lower/CUDA/cuda-pointer-sync.cuf
    M flang/test/Lower/HLFIR/procedure-pointer-in-generics.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/OpenMP/block-use-predetermined-privatization.f90
    M flang/test/Lower/OpenMP/cray-pointers01.f90
    M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
    M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
    M flang/test/Lower/OpenMP/threadprivate-use-association-2-hlfir.f90
    M flang/test/Lower/OpenMP/threadprivate-use-association.f90
    M flang/test/Lower/allocatable-globals.f90
    M flang/test/Lower/array-elemental-calls-char-dynamic.f90
    M flang/test/Lower/c-interoperability.f90
    M flang/test/Lower/dense-attributed-array.f90
    M flang/test/Lower/dispatch.f90
    A flang/test/Lower/extrn_subp.f90
    M flang/test/Lower/pointer-default-init.f90
    M flang/test/Lower/polymorphic.f90

  Log Message:
  -----------
  [Flang] External subprograms should be allowed as proc_target in procedure pointers. (#183268)

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

This patch updates an existing external procedure symbol with the
correct function signature and argument attributes, so it can be safely
used as a proc_target without signature conflicts.

---------

Co-authored-by: jeanPerier <jean.perier.polytechnique at gmail.com>


  Commit: b9d6efebf9c6527c389868caa4dfcbdc0b8078a5
      https://github.com/llvm/llvm-project/commit/b9d6efebf9c6527c389868caa4dfcbdc0b8078a5
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/fuchsia/TemporaryObjectsCheck.cpp
    M clang-tools-extra/clang-tidy/fuchsia/TemporaryObjectsCheck.h
    A clang-tools-extra/clang-tidy/utils/CheckUtils.h
    A clang-tools-extra/test/clang-tidy/checkers/fuchsia/temporary-objects-deprecated-alias.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp

  Log Message:
  -----------
  [clang-tidy] Emit warning when user is using deprecated `zircon` checks (#189522)

Add `utils::diagDeprecatedCheckAlias` so checks can detect whether they
are running under a deprecated name without enabling the new names.

This commit also comes with an example with `zircon` module. It is
deprecated in 22 release but we didn't provide a note for it before.


  Commit: f4da0ca171f8cfee3bed6182174d5dfa078df416
      https://github.com/llvm/llvm-project/commit/f4da0ca171f8cfee3bed6182174d5dfa078df416
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
    M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp

  Log Message:
  -----------
  [ORC] Sink a #include in SimpleRemoteEPC.h, and remove another. (#191797)

These #includes are only needed in the SimpleRemoteEPC.cpp
implementation.


  Commit: 80d72ae2cec9b7625e537a917d11af04c50699a6
      https://github.com/llvm/llvm-project/commit/80d72ae2cec9b7625e537a917d11af04c50699a6
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Target/ExecutionContext.h

  Log Message:
  -----------
  [lldb] Remove declarations of two non-existent constructors (NFC) (#191622)

They have never existed since the initial public checkin.


  Commit: d5b8d8846d1a5864bb12ac9eb4f1031ca888e71a
      https://github.com/llvm/llvm-project/commit/d5b8d8846d1a5864bb12ac9eb4f1031ca888e71a
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/test/AST/ByteCode/placement-new.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix activating primitive array elements (#191772)

For primitive array elements, we would accidentally activate the element
and then immediate de-activate the array root, which is wrong. Ignore
the element from the beginning to the later check never even compares
with the element.


  Commit: 14f2556639be002af1e614ddcb6bff496ca32fc3
      https://github.com/llvm/llvm-project/commit/14f2556639be002af1e614ddcb6bff496ca32fc3
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/AST/ByteCode/cxx11.cpp

  Log Message:
  -----------
  [clang][bytecode] Don't check anonymous union in memcpy op (#191783)

It's fine if they are uninitialized.


  Commit: 7083e9d8da07d97ab4541405b72e8b7ce8dad181
      https://github.com/llvm/llvm-project/commit/7083e9d8da07d97ab4541405b72e8b7ce8dad181
  Author: Matthew Nagy <matthew.nagy at sony.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Linux/internal_symbolizer.cpp
    M compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cpp

  Log Message:
  -----------
  XFAIL symbolizer test for TySan (#191810)


  Commit: b33c301e818207ef59fcf19ebc295fb623eb0d0d
      https://github.com/llvm/llvm-project/commit/b33c301e818207ef59fcf19ebc295fb623eb0d0d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    A llvm/test/Transforms/LoopVectorize/epilog-vectorization-fixed-order-recurrences.ll
    A llvm/test/Transforms/LoopVectorize/epilog-vectorization-fmaxnum-reductions.ll

  Log Message:
  -----------
  [LV] Extend epilogue vectorization test coverage with dead FORs/FMinMax. (#191799)

Extend test coverage with dedicated epilogue vectorization tests for
dead first-order recurrences and FMinMaxNum reductions.

Add users to FORs in existing tests where the dead FORs appeared
unintentional.


  Commit: a0427859fb701039445e3da7eaab0b5aa97cbbf2
      https://github.com/llvm/llvm-project/commit/a0427859fb701039445e3da7eaab0b5aa97cbbf2
  Author: Amit Tiwari <amtiwari at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp

  Log Message:
  -----------
  [CIR][NFC] Add NYI for OMPSplitDirective stmt (#191791)

As requested by @erichkeane here:
https://github.com/llvm/llvm-project/pull/190329#issuecomment-4183615635


  Commit: 3c2a9c90cb3c816609a6baabf919c392f0bcb40c
      https://github.com/llvm/llvm-project/commit/3c2a9c90cb3c816609a6baabf919c392f0bcb40c
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/test/CodeGen/SPIRV/transcoding/ldexp.ll
    A llvm/test/CodeGen/SPIRV/transcoding/pown.ll
    A llvm/test/CodeGen/SPIRV/transcoding/rootn.ll

  Log Message:
  -----------
  [SPIR-V] Fix type mismatch in scalar-to-vector promotion for mixed-type builtins (#190969)

When promoting scalar arguments to vectors for builtins like `ldexp`,
`pown`, and `rootn`, use the correct vector type matching the argument
element type instead of always using the return type: these builtins
take an integer argument but at the same time have floating point return
type

Fix `ldexp` test that does not pass spirv-val and add similar tests for
`pown` and `rootn`

related to https://github.com/llvm/llvm-project/issues/190736


  Commit: 28e237ae831225d46794b5ad90441e8b19828329
      https://github.com/llvm/llvm-project/commit/28e237ae831225d46794b5ad90441e8b19828329
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/AArch64/reverse-load-scatter.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/reverse-load-scatter.ll

  Log Message:
  -----------
  [LV] Add test for reverse load with scatter store. nfc (#189928)


  Commit: d012e0380a8f1e16b2720d98b96197084f2e1207
      https://github.com/llvm/llvm-project/commit/d012e0380a8f1e16b2720d98b96197084f2e1207
  Author: Tim Gymnich <tim at gymni.ch>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
    M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/test/CodeGen/AArch64/known-never-nan.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-minmax-const-combine.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/known-fpclass-phi.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-clamp-minmax-const.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-fmed3-minmax-const.mir
    M llvm/test/CodeGen/AMDGPU/fmed3.ll
    M llvm/unittests/CodeGen/GlobalISel/KnownFPClassTest.cpp

  Log Message:
  -----------
  [GISel] Use GISelValueTracking in isKnownNeverNaN (#190542)

Pass GISelValueTracking* through isKnownNeverNaN and isKnownNeverSNaN so
that the implementation can call computeKnownFPClass to derive NaN
information from value tracking, rather than only looking at flags and
direct constant definitions. Update all callers.

Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>


  Commit: b6ff43f1ecd34717b8d22dac329ca913fc910d4f
      https://github.com/llvm/llvm-project/commit/b6ff43f1ecd34717b8d22dac329ca913fc910d4f
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M bolt/lib/Core/AddressMap.cpp
    M bolt/lib/Rewrite/GNUPropertyRewriter.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M lldb/source/DataFormatters/FormatterSection.cpp
    M llvm/include/llvm/DebugInfo/DWARF/LowLevel/DWARFDataExtractorSimple.h
    M llvm/include/llvm/Object/BBAddrMap.h
    M llvm/include/llvm/Support/DataExtractor.h
    M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
    M llvm/lib/DebugInfo/GSYM/MergedFunctionsInfo.cpp
    M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
    M llvm/lib/Object/ELF.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/obj2yaml/dwarf2yaml.cpp
    M llvm/tools/obj2yaml/elf2yaml.cpp
    M llvm/unittests/Support/DataExtractorTest.cpp

  Log Message:
  -----------
  [Support] Remove address-extraction methods from DataExtractor (NFC) (#190519)

Most clients don't have a notion of "address" and pass arbitrary values
(including `0` and `sizeof(void *)`) to `DataExtractor` constructors.
This makes address-extraction methods dangerous to use.

Those clients that do have a notion of address can use other methods
like `getUnsigned()` to extract an address, or they can derive from
`DataExtractor` and add convenience methods if extracting an address is
routine. `DWARFDataExtractor` is an example, where the removed methods
were actually moved.

This does not remove `AddressSize` argument of `DataExtractor`
constructors yet, but makes it unused and overloads constructors in
preparation for their deletion. I'll be removing uses of the
to-be-deleted constructors in follow-up patches.


  Commit: a2bf43d6b18d6a0614b685c8c72432fc90f6dc1c
      https://github.com/llvm/llvm-project/commit/a2bf43d6b18d6a0614b685c8c72432fc90f6dc1c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/unittests/ExecutionEngine/Orc/MachOBuilderTest.cpp

  Log Message:
  -----------
  [ORC] Add MachOBuilder support for LC_UUID load commands. (#191807)

Enables LC_UUID load commands to be added with the addLoadCommand
method.

This will be used in future MachOPlatform changes to add support for
adding UUIDs to MachO JITDylibs.


  Commit: f1e92be6c355de9fe5eb195582322b9fea40804c
      https://github.com/llvm/llvm-project/commit/f1e92be6c355de9fe5eb195582322b9fea40804c
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M bolt/lib/Core/AddressMap.cpp
    M bolt/lib/Rewrite/GNUPropertyRewriter.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
    M clang-tools-extra/clang-tidy/fuchsia/TemporaryObjectsCheck.cpp
    M clang-tools-extra/clang-tidy/fuchsia/TemporaryObjectsCheck.h
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.h
    A clang-tools-extra/clang-tidy/utils/CheckUtils.h
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-member-init.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp
    A clang-tools-extra/test/clang-tidy/checkers/fuchsia/temporary-objects-deprecated-alias.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init-ignore-macros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
    M clang/bindings/python/clang/cindex.py
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Parse/Parser.h
    A clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/ByteCode/Boolean.h
    A clang/lib/AST/ByteCode/Char.h
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/IntegralAP.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/InterpStack.cpp
    M clang/lib/AST/ByteCode/InterpStack.h
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/PrimType.cpp
    M clang/lib/AST/ByteCode/PrimType.h
    M clang/lib/AST/ByteCode/Primitives.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ModulesDriver.cpp
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/ContinuationIndenter.h
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeLists.txt
    A clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    A clang/test/AST/ByteCode/addr-label-diff.c
    A clang/test/AST/ByteCode/addr-label-diff.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    M clang/test/AST/ByteCode/const-eval.c
    M clang/test/AST/ByteCode/cxx11.cpp
    M clang/test/AST/ByteCode/cxx17.cpp
    A clang/test/AST/ByteCode/int-as-ptr-arith.c
    M clang/test/AST/ByteCode/placement-new.cpp
    A clang/test/AST/ast-dump-openmp-split.c
    A clang/test/Analysis/regionstore-zero-init.cpp
    A clang/test/Analysis/split_analyze.c
    M clang/test/CodeGen/2004-02-13-Memset.c
    M clang/test/CodeGen/AArch64/sme-remarks.c
    M clang/test/CodeGen/const-init.c
    M clang/test/CodeGen/const-label-addr.c
    M clang/test/CodeGen/statements.c
    M clang/test/CodeGen/staticinit.c
    M clang/test/CodeGenCXX/2008-05-07-CrazyOffsetOf.cpp
    M clang/test/CodeGenCXX/const-init-cxx11.cpp
    M clang/test/CodeGenCXX/const-init.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-err.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-mfma-gfx908-err.cl
    A clang/test/Index/openmp-split.c
    A clang/test/OpenMP/scan_inscan_template_nondependent.cpp
    A clang/test/OpenMP/split_ast_print.cpp
    A clang/test/OpenMP/split_codegen.cpp
    A clang/test/OpenMP/split_composition.cpp
    A clang/test/OpenMP/split_compound_associated.cpp
    A clang/test/OpenMP/split_counts_constexpr.cpp
    A clang/test/OpenMP/split_counts_ice.c
    A clang/test/OpenMP/split_counts_verify.c
    A clang/test/OpenMP/split_diag_errors.c
    A clang/test/OpenMP/split_distribute_inner_split.cpp
    A clang/test/OpenMP/split_driver_smoke.c
    A clang/test/OpenMP/split_iv_types.c
    A clang/test/OpenMP/split_loop_styles.cpp
    A clang/test/OpenMP/split_member_ctor.cpp
    A clang/test/OpenMP/split_messages.cpp
    A clang/test/OpenMP/split_nested_outer_only.c
    A clang/test/OpenMP/split_offload_codegen.cpp
    A clang/test/OpenMP/split_omp_fill.c
    A clang/test/OpenMP/split_openmp_version.cpp
    A clang/test/OpenMP/split_opts_simd_debug.cpp
    A clang/test/OpenMP/split_parallel_split.cpp
    A clang/test/OpenMP/split_pch_codegen.cpp
    A clang/test/OpenMP/split_range_for_diag.cpp
    A clang/test/OpenMP/split_serialize_module.cpp
    A clang/test/OpenMP/split_teams_nesting.cpp
    A clang/test/OpenMP/split_template_nttp.cpp
    A clang/test/OpenMP/split_templates.cpp
    A clang/test/OpenMP/split_trip_volatile.c
    M clang/test/Sema/array-init.c
    M clang/test/Sema/compound-literal.c
    M clang/test/Sema/const-ptr-int-ptr-cast.c
    M clang/test/Sema/implicit-cast-complex-to-vector.c
    M clang/test/Sema/init.c
    M clang/test/SemaCXX/constexpr-string.cpp
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
    M clang/tools/diagtool/ShowEnabledWarnings.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/unittests/AST/ByteCode/Descriptor.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M clang/unittests/Format/AlignmentTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/interception/CMakeLists.txt
    M compiler-rt/lib/tysan/tysan.cpp
    M compiler-rt/lib/tysan/tysan_interceptors.cpp
    M compiler-rt/lib/ubsan/CMakeLists.txt
    M compiler-rt/test/sanitizer_common/CMakeLists.txt
    M compiler-rt/test/sanitizer_common/TestCases/Linux/aligned_alloc-alignment.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/allocator_returns_null_std.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/decorate_proc_maps.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/deepbind.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/free_aligned_sized.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/free_sized.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/internal_symbolizer.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/malloc_usable_size.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/mlock_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/mprobe.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/pvalloc-overflow.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/release_to_os_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/replace_dlopen_main_program_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/resize_tls_dynamic.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_get_addr.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/tls_malloc_hook.c
    M compiler-rt/test/sanitizer_common/TestCases/Linux/unexpected_format_specifier_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/huge_malloc.c
    M compiler-rt/test/sanitizer_common/TestCases/Posix/mmap_write_exec.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/posix_memalign-alignment.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/print-module-map.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_death_callback_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/weak_hook_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/allocator_interface.cpp
    M compiler-rt/test/sanitizer_common/TestCases/allocator_returns_null.cpp
    M compiler-rt/test/sanitizer_common/TestCases/compress_stack_depot.cpp
    M compiler-rt/test/sanitizer_common/TestCases/corelimit.cpp
    M compiler-rt/test/sanitizer_common/TestCases/get_allocated_begin.cpp
    M compiler-rt/test/sanitizer_common/TestCases/hard_rss_limit_mb_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/malloc_hook.cpp
    M compiler-rt/test/sanitizer_common/TestCases/malloc_hook_get_allocated_size_fast.cpp
    M compiler-rt/test/sanitizer_common/TestCases/max_allocation_size.cpp
    M compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cpp
    M compiler-rt/test/sanitizer_common/TestCases/reallocarray-overflow.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_symbolize.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard-dso.cpp
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
    M compiler-rt/test/sanitizer_common/lit.common.cfg.py
    M flang-rt/lib/runtime/environment.cpp
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Driver/save-mlir-temps.f90
    M flang/test/Fir/dispatch.f90
    M flang/test/Lower/CUDA/cuda-allocatable-device.cuf
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf
    M flang/test/Lower/CUDA/cuda-gpu-managed.cuf
    M flang/test/Lower/CUDA/cuda-mod.cuf
    M flang/test/Lower/CUDA/cuda-pointer-sync.cuf
    M flang/test/Lower/HLFIR/procedure-pointer-in-generics.f90
    M flang/test/Lower/Intrinsics/transpose.f90
    M flang/test/Lower/Intrinsics/transpose_opt.f90
    M flang/test/Lower/Intrinsics/trim.f90
    M flang/test/Lower/Intrinsics/ubound.f90
    M flang/test/Lower/Intrinsics/ubound01.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/OpenMP/block-use-predetermined-privatization.f90
    M flang/test/Lower/OpenMP/cray-pointers01.f90
    M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
    M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
    M flang/test/Lower/OpenMP/threadprivate-use-association-2-hlfir.f90
    M flang/test/Lower/OpenMP/threadprivate-use-association.f90
    M flang/test/Lower/allocatable-globals.f90
    M flang/test/Lower/array-elemental-calls-char-dynamic.f90
    M flang/test/Lower/c-interoperability.f90
    M flang/test/Lower/dense-attributed-array.f90
    M flang/test/Lower/dispatch.f90
    A flang/test/Lower/extrn_subp.f90
    M flang/test/Lower/pointer-default-init.f90
    M flang/test/Lower/polymorphic.f90
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/darwin/aarch64/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/nvptx/entrypoints.txt
    M libc/config/gpu/spirv/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/fuzzing/string/CMakeLists.txt
    A libc/fuzzing/string/strnlen_s_differential_fuzz.cpp
    M libc/include/CMakeLists.txt
    M libc/include/string.yaml
    M libc/shared/math.h
    A libc/shared/math/log10p1f16.h
    A libc/shared/math/log2p1f16.h
    M libc/src/string/CMakeLists.txt
    M libc/src/string/string_utils.h
    M libc/src/string/strnlen.cpp
    A libc/src/string/strnlen_s.cpp
    A libc/src/string/strnlen_s.h
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_test.cpp
    M libc/test/src/string/CMakeLists.txt
    A libc/test/src/string/strnlen_s_test.cpp
    M libc/utils/docgen/string.yaml
    M libclc/CMakeLists.txt
    M libclc/README.md
    M libclc/clc/lib/generic/workitem/clc_get_sub_group_size.cl
    M libclc/test/CMakeLists.txt
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__mdspan/layout_left.h
    M libcxx/include/__mdspan/layout_right.h
    M libcxx/include/__mdspan/layout_stride.h
    M libcxx/include/__mdspan/mdspan.h
    M libcxx/include/__numeric/saturation_arithmetic.h
    M libcxx/include/__ranges/iota_view.h
    M libcxx/include/format
    M libcxx/include/mdspan
    M libcxx/include/numeric
    M libcxx/include/version
    M libcxx/modules/std/format.inc
    M libcxx/modules/std/numeric.inc
    M libcxx/test/libcxx/numerics/nodiscard.verify.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/address.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/element_type.verify.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.assert.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_add.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_add.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.assert.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_mul.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_mul.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_sub.compile.pass.cpp
    A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_sub.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.compile.pass.cpp
    R libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.iota.view/size.pass.cpp
    A libcxx/test/std/utilities/format/format.fmt.string/ctor.dynamic-format-string.pass.cpp
    R libcxx/test/std/utilities/format/format.fmt.string/ctor.runtime-format-string.pass.cpp
    A libcxx/test/std/utilities/format/format.functions/format.dynamic_format.pass.cpp
    A libcxx/test/std/utilities/format/format.functions/format.locale.dynamic_format.pass.cpp
    R libcxx/test/std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp
    R libcxx/test/std/utilities/format/format.functions/format.runtime_format.pass.cpp
    A libcxx/test/std/utilities/format/format.syn/dynamic_format_string.pass.cpp
    R libcxx/test/std/utilities/format/format.syn/runtime_format_string.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lldb/docs/dil-expr-lang.ebnf
    M lldb/include/lldb/Target/ExecutionContext.h
    M lldb/include/lldb/ValueObject/DILAST.h
    M lldb/include/lldb/ValueObject/DILEval.h
    M lldb/include/lldb/ValueObject/DILLexer.h
    M lldb/include/lldb/ValueObject/DILParser.h
    M lldb/source/DataFormatters/FormatterSection.cpp
    M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/ValueObject/DILAST.cpp
    M lldb/source/ValueObject/DILEval.cpp
    M lldb/source/ValueObject/DILLexer.cpp
    M lldb/source/ValueObject/DILParser.cpp
    M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py
    M lldb/test/API/commands/help/TestHelp.py
    R lldb/test/API/lang/cpp/non-type-template-param-member-ptr/Makefile
    R lldb/test/API/lang/cpp/non-type-template-param-member-ptr/TestCppNonTypeTemplateParamPtrToMember.py
    R lldb/test/API/lang/cpp/non-type-template-param-member-ptr/main.cpp
    M lldb/tools/lldb-dap/RunInTerminal.cpp
    M lldb/unittests/Platform/PlatformDarwinTest.cpp
    M lldb/unittests/Platform/PlatformTest.cpp
    M lldb/unittests/Platform/TestUtils.cpp
    M llvm/docs/AArch64SME.rst
    M llvm/docs/LangRef.rst
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
    M llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/LLJITWithExecutorProcessControl.cpp
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    A llvm/include/llvm/CodeGen/AsmPrinterAnalysis.h
    M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
    M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/CodeGen/ScheduleDAG.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/DebugInfo/DWARF/LowLevel/DWARFDataExtractorSimple.h
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
    M llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
    M llvm/include/llvm/ExecutionEngine/Orc/SelfExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/Object/BBAddrMap.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Support/DataExtractor.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/LiveRangeEdit.cpp
    M llvm/lib/CodeGen/PeepholeOptimizer.cpp
    M llvm/lib/CodeGen/ScheduleDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
    M llvm/lib/DebugInfo/GSYM/MergedFunctionsInfo.cpp
    M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
    M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Intrinsics.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Object/ELF.cpp
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
    M llvm/lib/Target/AArch64/AArch64SMEAttributes.cpp
    M llvm/lib/Target/AArch64/AArch64SMEAttributes.h
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.h
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
    R llvm/lib/Target/AArch64/SMEABIPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.h
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
    M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/R600TargetMachine.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/SPIRV/SPIRVTypeInst.cpp
    M llvm/lib/Target/SPIRV/SPIRVTypeInst.h
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    M llvm/lib/Target/X86/X86AsmPrinter.h
    M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/lib/Target/X86/X86TargetMachine.h
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Utils/CallGraphUpdater.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/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/runtimes/CMakeLists.txt
    M llvm/test/Analysis/CostModel/AArch64/ldexp.ll
    M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
    M llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
    M llvm/test/CodeGen/AArch64/O0-pipeline.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/aarch64-sme-za-call-lowering.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/known-never-nan.ll
    M llvm/test/CodeGen/AArch64/ldexp.ll
    A llvm/test/CodeGen/AArch64/sign-return-address-pauthlr-slh.ll
    M llvm/test/CodeGen/AArch64/sme-abi-save-call-remarks.ll
    M llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
    M llvm/test/CodeGen/AArch64/sme-dynamic-tls.ll
    M llvm/test/CodeGen/AArch64/sme-lazy-save-call.ll
    M llvm/test/CodeGen/AArch64/sme-lazy-save-windows.ll
    M llvm/test/CodeGen/AArch64/sme-lazy-sve-nzcv-live.mir
    M llvm/test/CodeGen/AArch64/sme-new-za-function.ll
    R llvm/test/CodeGen/AArch64/sme-new-zt0-function.ll
    M llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
    M llvm/test/CodeGen/AArch64/sme-shared-za-interface.ll
    M llvm/test/CodeGen/AArch64/sme-za-control-flow.ll
    M llvm/test/CodeGen/AArch64/sme-za-exceptions.ll
    M llvm/test/CodeGen/AArch64/sme-za-function-with-many-blocks.ll
    M llvm/test/CodeGen/AArch64/sme-za-lazy-save-buffer.ll
    M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
    M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-minmax-const-combine.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/known-fpclass-phi.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmaxnum.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fminnum.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-clamp-minmax-const.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-fmed3-minmax-const.mir
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.ll
    M llvm/test/CodeGen/AMDGPU/freeze.ll
    M llvm/test/CodeGen/AMDGPU/kernel-args.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.AFLCustomIRMutator.opt.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
    M llvm/test/CodeGen/AMDGPU/load-local-i16.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1down-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1down.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/split-udiv-by-constant.ll
    M llvm/test/CodeGen/RISCV/split-urem-by-constant.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bindless_images/bindless_images_generic.ll
    M llvm/test/CodeGen/SPIRV/logical-struct-access.ll
    M llvm/test/CodeGen/SPIRV/transcoding/ldexp.ll
    A llvm/test/CodeGen/SPIRV/transcoding/pown.ll
    A llvm/test/CodeGen/SPIRV/transcoding/rootn.ll
    M llvm/test/CodeGen/WebAssembly/function-info.mir
    M llvm/test/CodeGen/X86/AMX/amx-across-func.ll
    M llvm/test/CodeGen/X86/apx/or.ll
    A llvm/test/CodeGen/X86/apx/pr191368.ll
    M llvm/test/CodeGen/X86/gfni-lzcnt.ll
    M llvm/test/CodeGen/X86/gfni-tzcnt.ll
    M llvm/test/CodeGen/X86/i128-udiv.ll
    M llvm/test/CodeGen/X86/prefalign.ll
    A llvm/test/DebugInfo/AMDGPU/bitcast-store-combine-debugloc.ll
    A llvm/test/Transforms/Inline/inline-history-dead-function.ll
    M llvm/test/Transforms/InstCombine/fneg.ll
    M llvm/test/Transforms/InstCombine/fp-floor-ceil.ll
    A llvm/test/Transforms/InstCombine/icmp-umax-notx.ll
    A llvm/test/Transforms/InstCombine/known-range-frexp-exp.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution-dbg-msg.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/2011-11-29-postincphi.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/postinc-iv-used-by-urem-and-udiv.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/pr62660-normalization-failure.ll
    M llvm/test/Transforms/LoopStrengthReduce/duplicated-phis.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/reverse-load-scatter.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/reverse-load-scatter.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
    M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-ordered-reduction.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
    M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
    M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
    M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
    A llvm/test/Transforms/LoopVectorize/epilog-vectorization-fixed-order-recurrences.ll
    A llvm/test/Transforms/LoopVectorize/epilog-vectorization-fmaxnum-reductions.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    M llvm/test/Transforms/LoopVectorize/nested-outer-loop-vect.ll
    M llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
    A llvm/test/Transforms/LoopVectorize/tail-folding-constant-trip-counts.ll
    M llvm/test/Transforms/LoopVectorize/vplan-widen-call-instruction.ll
    M llvm/test/Transforms/LoopVectorize/vplan-widen-select-instruction.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/extracts-from-scalarizable-vector.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/matmul.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/slp-fma-loss.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/unprofitable-alternate-subtree.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-min-max.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f16.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/remarks-insert-into-small-vector.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-load.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/c-ray.ll
    M llvm/test/Transforms/SLPVectorizer/X86/cmp-as-alternate-ops.ll
    A llvm/test/Transforms/SLPVectorizer/X86/copyable-phi-used-non-copyable.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_cmpop.ll
    M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/entry-no-bundle-but-extra-use-on-vec.ll
    M llvm/test/Transforms/SLPVectorizer/X86/external-bin-op-user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelement-multi-register-use.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelements-vector-ops-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gathered-loads-non-full-reg.ll
    M llvm/test/Transforms/SLPVectorizer/X86/identity-match-splat-less-defined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/inversed-icmp-to-gather.ll
    M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-parent-instr-copyable-regular.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll
    A llvm/test/Transforms/SLPVectorizer/X86/operand-reorder-with-copyables.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-removed-on-operand-vectorization.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-stored.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_external_users.ll
    A llvm/test/Transforms/SLPVectorizer/X86/revec-scalar-insertelement.ll
    M llvm/test/Transforms/SLPVectorizer/X86/rgb_phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation4.ll
    M llvm/test/Transforms/SLPVectorizer/X86/simplebb.ll
    M llvm/test/Transforms/SLPVectorizer/X86/supernode.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
    M llvm/test/Verifier/sme-attributes.ll
    M llvm/tools/llc/NewPMDriver.cpp
    M llvm/tools/llubi/lib/Library.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/obj2yaml/dwarf2yaml.cpp
    M llvm/tools/obj2yaml/elf2yaml.cpp
    M llvm/unittests/CodeGen/GlobalISel/KnownFPClassTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp
    A llvm/unittests/ExecutionEngine/Orc/MachOBuilderTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
    M llvm/unittests/IR/PatternMatch.cpp
    M llvm/unittests/Support/DataExtractorTest.cpp
    M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp
    M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
    M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/ACCLoopTiling.cpp
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsTiling.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/CAPI/ir.c
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/OpenACC/acc-loop-tiling.mlir
    M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/verifier.mlir
    M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir
    M mlir/test/Interfaces/InferShapedTypeOpInterface/resolve-shaped-type-result-dims.mlir
    M mlir/test/Target/LLVMIR/Import/module-flags.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M mlir/test/mlir-tblgen/op-format-invalid.td
    M mlir/test/mlir-tblgen/op-format-spec.td
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp
    M openmp/runtime/src/kmp_alloc.cpp
    A openmp/runtime/test/transform/split/fill_first.c
    A openmp/runtime/test/transform/split/foreach.cpp
    A openmp/runtime/test/transform/split/intfor.c
    A openmp/runtime/test/transform/split/intfor_negstart.c
    A openmp/runtime/test/transform/split/iterfor.cpp
    A openmp/runtime/test/transform/split/leq_bound.c
    A openmp/runtime/test/transform/split/lit.local.cfg
    A openmp/runtime/test/transform/split/negative_incr.c
    A openmp/runtime/test/transform/split/nonconstant_incr.c
    A openmp/runtime/test/transform/split/parallel-split-intfor.c
    A openmp/runtime/test/transform/split/single_fill.c
    A openmp/runtime/test/transform/split/three_segments.c
    A openmp/runtime/test/transform/split/trip_one.c
    A openmp/runtime/test/transform/split/unsigned_iv.c
    A openmp/runtime/test/transform/split/zero_first_segment.c
    A openmp/runtime/test/worksharing/for/omp_scan_inscan_template.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  Merge branch 'main' into users/usx95/04-12-annotation_inference_on_constructor


Compare: https://github.com/llvm/llvm-project/compare/f34ea95a6027...f1e92be6c355

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