[all-commits] [llvm/llvm-project] ed395c: [AMDGPU] Use value's DebugLoc for bitcast in perfo...

Aiden Grossman via All-commits all-commits at lists.llvm.org
Wed Apr 15 14:30:11 PDT 2026


  Branch: refs/heads/users/boomanaiden154/main.lsr-preserve-lcssa-in-scevrewriter
  Home:   https://github.com/llvm/llvm-project
  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: 5afba800906a5e69518abfb1995567c6186cfd6d
      https://github.com/llvm/llvm-project/commit/5afba800906a5e69518abfb1995567c6186cfd6d
  Author: Princeton Ferro <pferro at nvidia.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/IR/ValueHandle.h
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/unittests/IR/ValueHandleTest.cpp

  Log Message:
  -----------
  [GVN] use `AssertingVH` for leaders to improve compilation time (#175870)

Replace the manual check in `verifyRemoved()` with `AssertingVH`
instrumentation. For cases where the leader table becomes very large,
this is a cheaper way to verify we don't have dangling entries in the
leader table.

For this change, we must implement a move constructor for `AssertingVH`
so that we can keep the first entry as an inline-allocated node that
will be handled correctly as the table grows.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/pr171231.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll

  Log Message:
  -----------
  [RISCV] Expand vp.fma, fp.fmuladd, vp.fneg, vp.fpext (#190589)

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 PR expands four intrinsics before codegen, but doesn't remove the
codegen handling yet as both DAGCombiner and type legalization can
create these nodes.

vp.fneg and vp.fpext are expanded in lockstep with the fma/fmuladd
intrinsics since some test cases for vfmacc etc. also use these
intrinsics, and mixing dynamic and constant vls causes some of the more
complex patterns to be missed.

The fixed-length VP vfmacc, vfmsac, vfnmacc and vfnmsac tests also need
to replace the EVL of the vp.merge/vp.select with an immediate otherwise
the resulting vmerge.vvm can't be folded into them. This only happens
for fixed vector intrinsics with no passthru, since we end up with a
constant vl from the fixed vector and dynamic vl from the vp.merge that
prevents folding.

As far as I'm aware we don't emit fixed length vp.merges in practice,
since we only emit vp.merge in the loop vectorizer, and we only use it
with EVL tail folding which requires a scalable VF.


  Commit: 86e790076ab022573705aafae552ec3a3e2032a7
      https://github.com/llvm/llvm-project/commit/86e790076ab022573705aafae552ec3a3e2032a7
  Author: Georgiy Samoylov <Ignitor21838 at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/source/Host/common/Socket.cpp
    M lldb/unittests/Host/SocketTest.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationServerLLGSTest.cpp

  Log Message:
  -----------
  [lldb] Fix lldb-server host and port address parsing (#191414)

This patch fixes 2 problems in lldb-server argument parser:

1. Let's try to start lldb-server with incorrect arguments

```
./lldb-server platform --listen *:1111--server
```
Current behavior
 * lldb-server run in gdbserver mode with port 1111

Expected behavior
 * fail, as `1111–server` is not a number

2. And try to start lldb-server with host:port specification without
colon
```
./lldb-server gdbserver 1111 ./test 
Launched './test' as process 186...
lldb-server-local_build
lldb-server: llvm-project/lldb/source/Host/common/TCPSocket.cpp:245: virtual Status lldb_private::TCPSocket::Listen(llvm::StringRef, int): Assertion `error.Fail()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: ./lldb-server gdbserver 1111 ./test
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  lldb-server     0x0000002ab86d0ca2
1  lldb-server     0x0000002ab86ced06
2  lldb-server     0x0000002ab86d1428
3  linux-vdso.so.1 0x0000003f8e7fd800 __vdso_rt_sigreturn + 0
4  libc.so.6       0x0000003f8e2b264a
5  libc.so.6       0x0000003f8e27b1ac gsignal + 18
6  libc.so.6       0x0000003f8e26c14c abort + 180
7  libc.so.6       0x0000003f8e2760cc
8  libc.so.6       0x0000003f8e27610e __assert_perror_fail + 0
9  lldb-server     0x0000002ab86eb628
10 lldb-server     0x0000002ab86f1010
11 lldb-server     0x0000002ab86eeee0
12 lldb-server     0x0000002ab86eee5c
13 lldb-server     0x0000002ab863ef3a
14 lldb-server     0x0000002ab864067c
15 lldb-server     0x0000002ab86438da
16 libc.so.6       0x0000003f8e26c476
17 libc.so.6       0x0000003f8e26c51e __libc_start_main + 116
18 lldb-server     0x0000002ab863ce64
Aborted
```

We expect to see an error instead of lldb-server crash in this case


  Commit: 52a250ea1b8d6b34da4e437d89dda246d5e87e6f
      https://github.com/llvm/llvm-project/commit/52a250ea1b8d6b34da4e437d89dda246d5e87e6f
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Symbol/Variable.cpp
    M lldb/source/ValueObject/ValueObject.cpp
    M llvm/include/llvm/Support/Error.h
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [NFC] Replace `expectedToStdOptional` with `expectedToOptional` (#191359)

Both implementations are currently equivalent. This is likely a leftover
from the past, when `llvm::Optional` existed.


  Commit: 91c0fdfe13928838864d9618ea28dcbe9a112b8c
      https://github.com/llvm/llvm-project/commit/91c0fdfe13928838864d9618ea28dcbe9a112b8c
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/pthread.yaml
    M libc/src/__support/threads/mutex.h
    M libc/src/pthread/CMakeLists.txt
    A libc/src/pthread/pthread_mutex_trylock.cpp
    A libc/src/pthread/pthread_mutex_trylock.h
    M libc/test/integration/src/pthread/CMakeLists.txt
    M libc/test/integration/src/pthread/pthread_mutex_test.cpp

  Log Message:
  -----------
  [libc] add posix_mutex_trylock support (#191531)

Expose existing trylock internal operation to posix interface.
POSIX.1-2024 only specifies the `EBUSY` error case.

Assisted-by: Codex with gpt-5.4 default fast


  Commit: bc8c18165fc394eaf4455f0ca86b3511b85f0427
      https://github.com/llvm/llvm-project/commit/bc8c18165fc394eaf4455f0ca86b3511b85f0427
  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-vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll

  Log Message:
  -----------
  [RISCV] Remove codegen for vp_{u,s}{max,min} (#191640)

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: fefa5a89711e29feb8a9c2b15af9a2b75d862462
      https://github.com/llvm/llvm-project/commit/fefa5a89711e29feb8a9c2b15af9a2b75d862462
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [ORC] Add MachOPlatform::HeaderOptions customization callback. (#191819)

This change aims to make it easier for MachOPlatform clients to
customize JITDylib MachO headers.

At MachOPlatform construction time clients can now supply a
MachOPlatform::HeaderOptionsBuilder. The supplied callback will be
called by setupJITDylib to create the HeaderOptions for the JITDylib
being set up.

No testcase: Constructing a MachOPlatform instance requires the ORC
runtime, which we can't require for LLVM unit or regression suite tests.
We should look at testing this functionality in the new ORC runtime once
it's ready.


  Commit: 9192300315e1efc2f6054d4786b96ada8b7ac520
      https://github.com/llvm/llvm-project/commit/9192300315e1efc2f6054d4786b96ada8b7ac520
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [flang][OpenMP] Implement GetGeneratedNestDepthWithReason (#191718)

For a loop-nest-generating construct this function returns the number of
loops in the generated loop nest.

A loop-nest-transformation construct can be thought of as replacing N
nested loops with K nested loops, where
  N = GetAffectedNestDepthWithReason
  K = GetGeneratedNestDepthWithReason


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

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Suggest/infer annotation in constructors (#191699)

This change improves the lifetime safety checker to detect when
constructor parameters escape to class fields and suggest appropriate
`[[clang::lifetimebound]]` annotations.

```cpp
struct A {
  View v;
  A(const MyObj& obj) : v(obj) {} // Now suggests [[clang::lifetimebound]]
};
```


  Commit: 96ae4136d0b18b0257a05f33cc296e6a1f32b314
      https://github.com/llvm/llvm-project/commit/96ae4136d0b18b0257a05f33cc296e6a1f32b314
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-13 (Mon, 13 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

  Log Message:
  -----------
  [ORC] Fix examples after 6dbf9d1ac5e (forward declaration of MemoryAc… (#191834)

…cess).

6dbf9d1ac5e forward declared the MemoryAccess class in
ExecutorProcessControl.h, breaking some examples that were depending on
the transitive include. (See e.g.
https://lab.llvm.org/buildbot/#/builders/80/builds/21875).

This commit adds the missing #includes to the broken examples.


  Commit: 3f45921068c31935f7d34e9131c68284ddfccdb6
      https://github.com/llvm/llvm-project/commit/3f45921068c31935f7d34e9131c68284ddfccdb6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rv32p.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
    A llvm/test/MC/RISCV/rv32p-aliases-valid.s
    M llvm/test/MC/RISCV/rv32p-valid.s
    A llvm/test/MC/RISCV/rv64p-aliases-valid.s

  Log Message:
  -----------
  [RISCV] Add an initial set of InstAliases for P extension. (#180315)

These are now listed in the asciidoc spec here
https://github.com/riscv/riscv-p-spec

I got some help on this from AI, but I reviewed it. Test cases were
fully generated with AI.


  Commit: 977c516ca85dfe49163c96a4d84da5ee5690bac7
      https://github.com/llvm/llvm-project/commit/977c516ca85dfe49163c96a4d84da5ee5690bac7
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/test/MC/AArch64/armv9.7a-gcie.s

  Log Message:
  -----------
  [AArch64][llvm] Add GICv5 ICH_PPI_HVIR{0,1}_EL2 system registers (#191818)

Add GICv5 `ICH_PPI_HVIR{0,1}_EL2` system registers (Interrupt
Controller PPI Hide Virtual Interrupt Registers). These registers
are added because a hypervisor may want to only expose a subset of the
PPIs to the virtual machine and hide the remaining PPIs.

The only way the hypervisor can do this is by trapping all the PPI ICV
registers which leads to additional code complexity and adds performance
overhead especially for nested virtualization.

These are documented here:

https://developer.arm.com/documentation/111107/latest/AArch64-Registers/ICH-PPI-HVIR-n--EL2--Interrupt-Controller-PPI-Hide-Virtual-Interrupt-Registers


  Commit: f058eaa7c56e1a23c69815ca89ad8148c6e84ebe
      https://github.com/llvm/llvm-project/commit/f058eaa7c56e1a23c69815ca89ad8148c6e84ebe
  Author: Pankaj Dwivedi <pankajkumar.divedi at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/ADT/GenericUniformityImpl.h
    M llvm/include/llvm/Analysis/UniformityAnalysis.h
    M llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
    M llvm/lib/Analysis/UniformityAnalysis.cpp
    M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp

  Log Message:
  -----------
  [NFC][UniformityAnalysis] Rename variables in uniformity analysis to follow LLVM conventions (#191134)

Follow-up to
#[189948](https://github.com/llvm/llvm-project/pull/189948#discussion_r3027394937).
Addresses review feedback

Co-authored-by: padivedi <padivedi at amd.com>


  Commit: e0adc50e6413a1fb5656d45abcc65966027adaa0
      https://github.com/llvm/llvm-project/commit/e0adc50e6413a1fb5656d45abcc65966027adaa0
  Author: Alex Duran <alejandro.duran at intel.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
    M offload/test/offloading/ompx_bare_multi_dim.cpp

  Log Message:
  -----------
  [OFFLOAD][L0] Handle group sizes correctly for multidimensional bare kernels (#191770)

Don't use the L0 heuristics if all the dimensions are specified by the
user code.


  Commit: 212d612bae9542cc404491336ef79d7ea27f470f
      https://github.com/llvm/llvm-project/commit/212d612bae9542cc404491336ef79d7ea27f470f
  Author: Chi-Chun, Chen <chichun.chen at hpe.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-iterator.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [mlir][llvm][OpenMP] Support iterator modifier in depend clause (#190026)

Add translation from the MLIR OpenMP depend clause with iterator
modifier to LLVM IR. `buildDependData` (in OpenMPToLLVMIRTranslation)
allocates a single `kmp_depend_info` array sized to hold both locator
(non-iterated) and iterated entries. Locator dependencies use the
existing static path (a vector of `DependData`), while iterated
dependencies use a dynamically-sized path (`DepArray`, `NumDeps`).

The reason both paths are not unified under the dynamic allocation is
that the existing locator path emits actual `kmp_depend_info` entries
inside OMPIRBuilder methods (`createTask`, `createTarget`), whereas the
iterator path must emit the iterator loop in OpenMPToLLVMIRTranslation
(since the convention is to not pass MLIR ops into the OMPIRBuilder).
Unifying them would require modifying existing depend clause tests.

The `OMPIRBuilder::DependenciesInfo` struct is extended to hold either a
`SmallVector<DependData>` (locator path) or a pre-built `{DepArray,
NumDeps}` pair (iterator path). The single-entry `emitTaskDependency`
helper is made public so the translation layer can fill individual
`kmp_depend_info` entries inside the iterator loop body.

This patch is part of the feature work for #188061.

Assisted with copilot.


  Commit: 22e6a261fae1eb57105cc131592026701f283e0e
      https://github.com/llvm/llvm-project/commit/22e6a261fae1eb57105cc131592026701f283e0e
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeReader.h
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/Serialize.h
    M clang-tools-extra/clang-doc/YAMLGenerator.cpp
    M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.h
    M clang-tools-extra/unittests/clang-doc/GeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
    M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
    M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp

  Log Message:
  -----------
  Revert clang-doc arena merging patches (#191668)

This is a set of squashed reverts of recent clang doc patches, since its
breaking something on Darwin builders:
https://lab.llvm.org/buildbot/#/builders/23/builds/19172

Revert "[clang-doc][nfc] Default initialize all StringRef members
(#191641)"

This reverts commit 155b9b354c1d91661be9f6d0432a96e47cfc2700.

Revert "[clang-doc] Initialize StringRef members in Info types
(#191637)"

This reverts commit 489dab3827b255d21ea38b1e3f45ddb08bd10a87.

Revert "[clang-doc] Initialize member variable (#191570)"

This reverts commit 5d64a44a84af31f9e99d42cccffa4f01c0be2e0b.

Revert "[clang-doc] Merge data into persistent memory (#190056)"

This reverts commit 21e0034c69489eff3b09929e5e13ea34b3dd0e5a.

Revert "[clang-doc] Support deep copy between arenas for merging
(#190055)"

This reverts commit c70dae8b0cee46af1411bc4e4ba6fc28e2babf3e.


  Commit: 7b4c9bb2069536e0df18597795b858e18a1cbaaf
      https://github.com/llvm/llvm-project/commit/7b4c9bb2069536e0df18597795b858e18a1cbaaf
  Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    A mlir/cmake/modules/Findocloc.cmake
    M mlir/include/mlir/Target/LLVM/XeVM/Utils.h
    M mlir/lib/Target/LLVM/CMakeLists.txt
    M mlir/lib/Target/LLVM/XeVM/Target.cpp

  Log Message:
  -----------
  [mlir][XeVM] Use libocloc API for binary generation. (#188353)

This PR improves native binary generation by avoiding
`llvm::sys::ExecuteAndWait` call for ocloc and instead
leveraging `oclocInvoke()` that consumes an in-memory SPIR-V string.

Co-authored-by: Artem Kroviakov <artem.kroviakov at intel.com>


  Commit: 058d80d814f45f98c7a16d93b85136426d5cdd1b
      https://github.com/llvm/llvm-project/commit/058d80d814f45f98c7a16d93b85136426d5cdd1b
  Author: Alexis Perry-Holby <aperry at lanl.gov>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    A flang/docs/MeetingNotes/2026/2026-04-08.md

  Log Message:
  -----------
  [flang] Adding meeting notes for the April 8, 2026 Flang call (#191003)


  Commit: 23361e18ac41c3460e0cf79d0cd58beafd5c0a84
      https://github.com/llvm/llvm-project/commit/23361e18ac41c3460e0cf79d0cd58beafd5c0a84
  Author: hulxv <hulxxv at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M libc/shared/math.h
    A libc/shared/math/copysign.h
    A libc/shared/math/copysignbf16.h
    A libc/shared/math/copysignf.h
    A libc/shared/math/copysignf128.h
    A libc/shared/math/copysignf16.h
    A libc/shared/math/copysignl.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/math/CMakeLists.txt
    A libc/src/__support/math/copysign.h
    A libc/src/__support/math/copysignbf16.h
    A libc/src/__support/math/copysignf.h
    A libc/src/__support/math/copysignf128.h
    A libc/src/__support/math/copysignf16.h
    A libc/src/__support/math/copysignl.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/copysign.cpp
    M libc/src/math/generic/copysignbf16.cpp
    M libc/src/math/generic/copysignf.cpp
    M libc/src/math/generic/copysignf128.cpp
    M libc/src/math/generic/copysignf16.cpp
    M libc/src/math/generic/copysignl.cpp
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Refactor copysign family to header-only (#182137)

Refactors the copysign math family to be header-only.

Closes https://github.com/llvm/llvm-project/issues/182136

Target Functions:
  - copysign
  - copysignbf16
  - copysignf
  - copysignf128
  - copysignf16
  - copysignl

---------

Co-authored-by: bassiounix <muhammad.m.bassiouni at gmail.com>


  Commit: 05411b993108a5125c04cf4e3792c1061fb5b050
      https://github.com/llvm/llvm-project/commit/05411b993108a5125c04cf4e3792c1061fb5b050
  Author: Snehasish Kumar <mail at snehasish.net>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp

  Log Message:
  -----------
  [SamplePGO] Optimize the basename matching logic for matching unused profiles (#191523)

This change optimizes the basename matching logic in
`SampleProfileMatcher::matchFunctionsWithoutProfileByBasename` by
replacing the existing O(N*M) nested loop with an O(N+M) hash-based
lookup, while strictly preserving the original matching semantics. The
previous implementation relied on a substring heuristic
(`ProfName.contains(BaseName)`) to bypass expensive demangling
operations during the nested iteration; however, in codebases with
common or overlapping function names, this heuristic frequently
evaluated to true, resulting in redundant demangling and quadratic time
complexity. The updated approach demangles each profile name exactly
once and utilizes a `StringMap` to perform O(1) lookups against the
orphan functions. This eliminates the need for the substring pre-check
while maintaining the exact same constraints: establishing a strict 1:1
mapping between orphaned IR functions and profile entries, and correctly
identifying and rejecting ambiguous matches where multiple entities
share the same demangled basename.

Results in a 9x speedup on a large module with common basenames.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-stur.ll
    M llvm/test/CodeGen/AArch64/merge-store.ll
    M llvm/test/CodeGen/AArch64/st1-lane.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll

  Log Message:
  -----------
  [AArch64] Add tablegen patterns for store of high-half. (#190320)

This helps remove the extract but mean less efficient addressing modes.


  Commit: b07a0250e154a245cac39344d30f9beb9883f9d0
      https://github.com/llvm/llvm-project/commit/b07a0250e154a245cac39344d30f9beb9883f9d0
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/test/Transforms/licm.fir

  Log Message:
  -----------
  [flang] Make more [HL]FIR operations Pure. (#191309)

This patch addresses cases where an operation seems obviously Pure to me.

Made-with: Cursor


  Commit: f1a99ff328f2d44685022be91201dcc6e9a70a9e
      https://github.com/llvm/llvm-project/commit/f1a99ff328f2d44685022be91201dcc6e9a70a9e
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    A flang/test/Transforms/licm-non-addressable-resource.mlir

  Log Message:
  -----------
  [flang] Recognize non-addressable resources in FIR AA. (#191577)

Same as in #187423 change for CSE, we can assume that an effect
on a non-addressable resource cannot affect memory pointed to
by 'location'.


  Commit: 68c10f601b596385d2c8dd73c7b542be3b87a244
      https://github.com/llvm/llvm-project/commit/68c10f601b596385d2c8dd73c7b542be3b87a244
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Support/BranchProbability.h
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp

  Log Message:
  -----------
  [LoopUnroll] Record conditional latch info (#182403)

This patch makes no functional change and so introduces no new tests or
documentation, but it is not merely refactoring.

This patch gathers conditional latch info needed for PR #179520, which
fixes block frequencies when LoopUnroll converts a conditional latch in
an unrolled loop iteration to unconditional. Without PR #179520, this
patch is useless and should not land.


  Commit: e34412476cf11eefd141db578770e738843e04a9
      https://github.com/llvm/llvm-project/commit/e34412476cf11eefd141db578770e738843e04a9
  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/bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll

  Log Message:
  -----------
  [RISCV] Remove codegen for vp_bitreverse, vp_bswap (#191643)

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 2 intrinsics from #179622.


  Commit: a20fea899e2adb34f604ef7e81e408701cba109b
      https://github.com/llvm/llvm-project/commit/a20fea899e2adb34f604ef7e81e408701cba109b
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.scale.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-select.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.ll
    M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
    M llvm/test/CodeGen/AMDGPU/freeze-binary.ll
    M llvm/test/CodeGen/AMDGPU/repeated-divisor.ll
    M llvm/test/CodeGen/AMDGPU/rsq.f32-safe.ll
    M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
    A llvm/test/CodeGen/AMDGPU/schedmodel-dummywrite.mir
    M llvm/test/tools/llvm-mca/AMDGPU/gfx10-double.s
    M llvm/test/tools/llvm-mca/AMDGPU/gfx11-double.s

  Log Message:
  -----------
  [AMDGPU] Use WriteSALUDummy for v_div_scale* (#191670)

This uses the new HWWriteRes for v_div_scale*

For an explanation of why we want to do this , see
https://github.com/llvm/llvm-project/pull/190095 . In short, the
scheduler will not try to cover the full latency of the instructions
without this new modelling.

For a clear example of this, see the changes to
llvm/test/CodeGen/AMDGPU/schedmodel-dummywrite.mir in the git log of
this PR.


  Commit: 1b2ccc16ce90b52ebd1f1629e5a95bc4203c1dc1
      https://github.com/llvm/llvm-project/commit/1b2ccc16ce90b52ebd1f1629e5a95bc4203c1dc1
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    A llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-complete.ll
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-epilog.ll
    A llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-partial-unconditional-latch.ll
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-partial.ll
    M llvm/test/Transforms/LoopUnroll/loop-probability-one.ll

  Log Message:
  -----------
  [LoopUnroll] Fix freqs for unconditional latches: introduce tests (#191008)

This patch introduces all tests for PR #179520 but with current results
so that it is easier to see which results PR #179520 improves. This
patch should not land without PR #179520.


  Commit: b25ecac3c3cc759f100d2c9b2b8379f9eb76241b
      https://github.com/llvm/llvm-project/commit/b25ecac3c3cc759f100d2c9b2b8379f9eb76241b
  Author: Caroline Newcombe <caroline.newcombe at hpe.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    A flang/test/Lower/HLFIR/conditional-expr.f90

  Log Message:
  -----------
  [flang] Implement conditional expressions lowering (F2023) (#186490)

## Implement Lowering for Fortran 2023 Conditional Expressions (R1002)

***This PR contains the lowering steps only for ease of review. DO NOT
MERGE until #186489 is merged.***

Implements Fortran 2023 conditional expressions with syntax: `result =
(condition ? value1 : condition2 ? value2 : ... : elseValue)`

Issue: #176999
Discourse:
https://discourse.llvm.org/t/rfc-adding-conditional-expressions-in-flang-f2023/89869/1
-- note that some of the details provided in the RFC post are no longer
accurate

### Implementation Details
**Lowering to HLFIR:**
- Lazy evaluation via nested if-then-else control flow
- Only the selected branch is evaluated
- Temporary allocation with proper cleanup
- Special handling for:
    - CHARACTER types with deferred length
    - Arrays (shape determined by selected branch per F2023 10.1.4(7))
    - Derived types

**LIT Testing:**
- Lowering tests: HLFIR code generation verification
- Note: Executable tests will be added to the llvm-test-suite repo
(https://github.com/llvm/llvm-test-suite/pull/369)

**Limitations**
- Conditional arguments are not yet supported. This work is planned 
    - #180592
- Polymorphic types (CLASS) not yet supported in lowering
- Both limitations will emit clear error message if encountered

### Examples
```
! Simple conditional
x = (flag ? 10 : 20)

! Chained
result = (x > 0 ? 1 : x < 0 ? -1 : 0)

! Examples from F2023
( ABS (RESIDUAL)<=TOLERANCE ? ’ok’ : ’did not converge’ )
( I>0 .AND. I<=SIZE (A) ? A (I) : PRESENT (VAL) ? VAL : 0.0 )
```

AI Usage Disclosure: AI tools (Claude Sonnet 4.5) were used to assist
with implementation of this feature and test code generation. I have
reviewed, modified, and tested all AI-generated code.


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

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/Transforms/ACCSpecializePatterns.h

  Log Message:
  -----------
  [OpenACC] Fix IR verification failures in acc-specialize passes (#188961)

When MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS is enabled, the greedy
driver verifies the IR after each pattern application. The specialize
passes failed because ACCOpReplaceWithVarConversion would run on a data
entry op (e.g. acc.create) before container ops that use it in their
dataOperands were processed. After replacement, the container op held a
non-data-entry operand (e.g. a func arg), failing the acc dialect's
dataOperands verifier.

Fix: in ACCOpReplaceWithVarConversion, defer by returning failure() when
any user of the data entry op's result is a container op that validates
its operands as data entry ops (acc.data, acc.parallel, acc.serial,
acc.kernels, acc.host_data, acc.kernel_environment, acc.declare_enter,
acc.enter_data). The greedy driver will process the container op first
(via ACCRegionUnwrapConversion or ACCDeclareEnterOpConversion), removing
the use, after which the data entry op can be safely replaced.

Assisted-by: Claude Code
Fix a failure present with MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON.


  Commit: 8c60833132e75b9ef50f9497ab0de0cfd1c5f5f5
      https://github.com/llvm/llvm-project/commit/8c60833132e75b9ef50f9497ab0de0cfd1c5f5f5
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    A mlir/test/Target/LLVMIR/openmp-taskloop-local-bounds.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Support pure taskloop-local loop bounds (#190992)

Follow up to https://github.com/llvm/llvm-project/pull/190827

Assisted-by: codex


  Commit: a60d6982cd0a495d2d5e2c0a219f63de289cc1c9
      https://github.com/llvm/llvm-project/commit/a60d6982cd0a495d2d5e2c0a219f63de289cc1c9
  Author: David Tenty <daltenty at ibm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/test/Driver/aix-ld.c
    M compiler-rt/lib/profile/InstrProfilingPlatformAIX.c
    M compiler-rt/test/profile/instrprof-merge-entry-cover.c
    M compiler-rt/test/profile/instrprof-merge.c
    M compiler-rt/test/profile/instrprof-write-file-atexit-explicitly.c
    M compiler-rt/test/profile/profile_test.h

  Log Message:
  -----------
  [clang][driver][AIX] Change linker bcdtor mode to default to mbr (#191265)

The bcdtor mode affects how the AIX linker choose to pull in static
constructors and destructors
(https://www.ibm.com/docs/en/aix/7.2.0?topic=l-ld-command) to the link.
    
The current setting of `all` makes static init in archive members live
regardless of if the archive member would be otherwise referenced,
causing that whole archive member to become part of the link.
    
This default was initially retained for compatibility purposes with
historical compilers on the platform which defaulted to this setting.
Unfortunately this greedy pulling in of static init can have unintended
consequences for applications, for example for programs linked against
parts of compiler-rt which contain optional instrumentation (containing
static initializers) which may be unused as these now become live in all
programs regardless of use.
    
For that reason and similar reasons, this PR switches the default to
`mbr`, which only extracts static init from archive members which would
otherwise be referenced. This gives a behaviour very consistent with
linkers on other platforms (e.g. Linux).
    
Users requiring the old default behaviour can manually pass
`-bcdtors:all` on the link step which will override any default we pass
here.


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

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp

  Log Message:
  -----------
  [CFG] Fix cleanup ordering for CXXDefaultInitExpr
 (#191786)

Fixes CFG construction for default member initializers when
`AddCXXDefaultInitExprInCtors` is enabled by correcting the execution
order of cleanups.

E.g., in 

```cpp
struct H { 
  std::string_view v = std::string("x");
  H() {}
}; 
```

Previously, destructors for temporaries in default initializers
for`std::string("x")` was sequenced _before_ the member initialization,
causing false negatives in lifetime safety analysis because the
temporary appeared to be destroyed prematurely before making to a
origin.

Resolved this by modifying `CFGBuilder::addInitializer` to defer these
cleanups to the end of the initialization full-expression.

_(AI-assisted with HITL)_


  Commit: 46fd15a21ad90b463747452e7e68c669a30dbd52
      https://github.com/llvm/llvm-project/commit/46fd15a21ad90b463747452e7e68c669a30dbd52
  Author: Kai <47328809+kcloudy0717 at users.noreply.github.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/test/CodeGenHLSL/builtins/QuadReadAcrossX.hlsl
    M clang/test/SemaHLSL/BuiltIns/QuadReadAcrossX-errors.hlsl

  Log Message:
  -----------
  [CodeGen][HLSL] Improved QuadReadAcrossX CodeGen test (#188488)

This PR improves CodeGenHLSL tests for QuadReadAcrossX. It should cover
all supported types along with 16-bit types. Using regex captures to
simplify writing checks for subsequent test cases.


  Commit: f285a55b9cd70818b1f4e8bb4fddbe32fe8caa52
      https://github.com/llvm/llvm-project/commit/f285a55b9cd70818b1f4e8bb4fddbe32fe8caa52
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lld/ELF/AArch64ErrataFix.h

  Log Message:
  -----------
  [lld] Add missing include in AArch64ErrataFix (NFC) (#190664)

This header assumed SmallVector would be included before it


  Commit: 1b275a177fe7c2f74c3575bce2932ba37086a507
      https://github.com/llvm/llvm-project/commit/1b275a177fe7c2f74c3575bce2932ba37086a507
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/test/Driver/fintegrated-as.f90

  Log Message:
  -----------
  [flang] -fno-integrated-as: set DisableIntegratedAS (#191346)

https://reviews.llvm.org/D124669 added -fno-integrated-as driver option
but not the fc1 option.
As a result, the backend kept MCAsmInfo::useIntegratedAssembler() set
and emitted LLVM-only directives such as `.prefalign`
(https://github.com/llvm/llvm-project/pull/155529), which GNU as
rejects:

```
a.s: Assembler messages:
a.s: Error: unknown pseudo-op: `.prefalign'
```

Follow clang and introduce fc1 -no-integrated-as to set
`CodeGenOpts.DisableIntegratedAS` and
llvm::TargetOptions::DisableIntegratedAS.


  Commit: 4ffd51e21c6a45ed04d58615bf289592b8b696b4
      https://github.com/llvm/llvm-project/commit/4ffd51e21c6a45ed04d58615bf289592b8b696b4
  Author: joaosaffran <joaosaffranllvm at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    A llvm/test/CodeGen/DirectX/is_nonuniform_within_loop.ll
    A llvm/test/CodeGen/DirectX/is_nonuniform_within_loop_nuri.ll

  Log Message:
  -----------
  [HLSL][DirectX] Avoid visited values when searching in `hasNonUniformIndex` (#189498)

This patch fixes `hasNonUniformIndex` search so that it accounts for any
path that connects nuri to index access to return true

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

---------

Co-authored-by: Joao Saffran <jderezende at microsoft.com>


  Commit: 13d91555bce09cd666853443bebe81b3183eeec6
      https://github.com/llvm/llvm-project/commit/13d91555bce09cd666853443bebe81b3183eeec6
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-complete.ll
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-epilog.ll
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-partial-unconditional-latch.ll

  Log Message:
  -----------
  [LoopUnroll] Fix freqs for unconditional latches: N<=2 (#179520)

As another step in issue #135812, this patch fixes block frequencies
when LoopUnroll converts a conditional latch in an unrolled loop
iteration to unconditional. It thus includes complete loop unrolling
(the conditional backedge becomes an unconditional loop exit), which
might be applied to the original loop or to its remainder loop.

As explained in detail in the header comments on the
fixProbContradiction function that this patch introduces, these
conversions mean LoopUnroll has proven that the original uniform latch
probability is incorrect for the original loop iterations associated
with the converted latches. However, LoopUnroll often is able to perform
these corrections for only some iterations, leaving other iterations
with the original latch probability, and thus corrupting the aggregate
effect on the total frequency of the original loop body.

This patch ensures that the total frequency of the original loop body,
summed across all its occurrences in the unrolled loop after the
aforementioned conversions, is the same as in the original loop. Unlike
other patches in this series, this patch cannot derive the required
latch probabilities directly from the original uniform latch probability
because it has been proven incorrect for some original loop iterations.
Instead, this patch computes entirely new probabilities for the
remaining N conditional latches in the unrolled loop.

This patch only handles N <= 2, for which it uses simple formulas to
compute a single uniform probability across the latches. Future patches
will handle N > 2.

This patch series does not consider the presence of non-latch loop
exits, and I do not have a solid plan for that case. See fixme comments
this patch introduces.

This patch depends on PR #182403 and PR #191008.


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

  Changed paths:
    M clang/lib/Analysis/LifetimeSafety/Origins.cpp
    M clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
    M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Detect dangling field of base class (#191831)

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


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

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

  Log Message:
  -----------
  [MLIR][Vector] Fix multi_reduction fold to handle empty reduction dims for any rank (#188983)

The fold for `vector.multi_reduction` only handled the rank-1 case with
no reduction dimensions. For higher-rank vectors (e.g.,
`vector<2x3xf32>`) with empty reduction dims `[]`, the fold returned
null, allowing `ElideUnitDimsInMultiDimReduction` to fire incorrectly.
That canonicalization pattern checks that all *reduced* dims have size
1, but with zero reduction dims the check trivially passes, and the
pattern then computes `acc op source` (e.g., `acc + source`) instead of
the correct no-op result (`source`).

This caused `--canonicalize` to produce a different value than
`--lower-vector-multi-reduction` for the same program:

  vector.mask %m { vector.multi_reduction <add>, %src, %src [] :
vector<3x3xi32> to vector<3x3xi32> } : vector<3x3xi1> -> vector<3x3xi32>

  * Without --lower-vector-multi-reduction: `src + src` (e.g., 2)
  * With    --lower-vector-multi-reduction: `src` (e.g., 1)

Fix the fold to return `source` for any rank when `reduction_dims` is
empty. This makes the empty-dims case consistent: the operation is a
noop regardless of rank, and `ElideUnitDimsInMultiDimReduction` no
longer gets a chance to mishandle it.

Fixes #129415

Assisted-by: Claude Code


  Commit: 2f51a1664da90ae5be3f9c8532d59517a67829e3
      https://github.com/llvm/llvm-project/commit/2f51a1664da90ae5be3f9c8532d59517a67829e3
  Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    A llvm/test/CodeGen/Hexagon/hvx-concat-scalar-preds.ll

  Log Message:
  -----------
  [Hexagon] Fix inner CONCAT_VECTORS type in combineConcatOfScalarPreds (#191756)

The inner CONCAT_VECTORS result type was hardcoded to MVT::v8i1, which
is only correct when BitBytes == 1. Otherwise, the inner concat produces
fewer elements than 8, causing an assertion failure:

Assertion `(Ops[0].getValueType().getVectorElementCount() * Ops.size())
  == VT.getVectorElementCount() && "Incorrect element count in vector
  concatenation!"' failed.

Fix by computing the inner vector type dynamically based on BitBytes.


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

  Changed paths:
    M flang/test/Lower/Intrinsics/storage_size.f90
    M flang/test/Lower/Intrinsics/sum.f90
    M flang/test/Lower/Intrinsics/system_clock.f90
    M flang/test/Lower/Intrinsics/trailz.f90
    M flang/test/Lower/Intrinsics/transfer.f90

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

Tests converted from test/Lower/Intrinsics: storage_size.f90, sum.f90,
system_clock.f90, trailz.f90, transfer.f90


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

  Changed paths:
    M mlir/lib/Dialect/Shard/Transforms/Partition.cpp
    M mlir/test/Dialect/Shard/resharding-partition.mlir

  Log Message:
  -----------
  [MLIR][Shard] Fix three bugs in ND mesh resharding in Partition pass (#189241)

A new MoveLastSplitAxisPattern class handles the case where the last
grid axis of one tensor dimension is moved to the front of another
tensor dimension's split axes, e.g. [[0, 1], [2]] -> [[0], [1, 2]].

The three bugs fixed are:

1. detectMoveLastSplitAxisInResharding: compared source.back() with
target.back() instead of target.front(), preventing the pattern from
being detected for resharding like [[0,1],[2]] -> [[0],[1,2]].

2. targetShardingInMoveLastAxis: axes were appended with push_back but
should be inserted at the front, producing wrong split_axes order.

3. handlePartialAxesDuringResharding: a copy_if wrote results into the
wrong output variable (addressed structurally by the clean
implementation).

Fixes #136117

Assisted-by: Claude Code


  Commit: 3bf9639ec04544902670ab4199401ac470c1fcca
      https://github.com/llvm/llvm-project/commit/3bf9639ec04544902670ab4199401ac470c1fcca
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

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

Reverts llvm/llvm-project#190681 due to buildbot breakage
(https://github.com/llvm/llvm-project/pull/190681#issuecomment-4234999482).


  Commit: b0b2b1ceb78c9cb2da540d713632c6e95a8ff3d1
      https://github.com/llvm/llvm-project/commit/b0b2b1ceb78c9cb2da540d713632c6e95a8ff3d1
  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:
  -----------
  Revert "[GSYM] Silence cast warning" (#191853)

Reverts llvm/llvm-project#191561

This is not required anymore.


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

  Changed paths:
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/test/Dialect/Linalg/tile-to-forall.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Fix crash in tileToForallOpImpl for rank-0 ops (#189000)

When tiling a rank-0 linalg.generic op, tileUsingSCF returns an empty
loops vector (rank-0 ops have no parallel dimensions and produce no
scf.forall). Two call sites unconditionally accessed
tilingResult.loops.front(), causing a crash:

- tileToForallOpImpl: the loop normalization block was entered whenever
mixedNumThreads was empty, regardless of whether any loops exist. Guard
it with \!tilingResult.loops.empty().

- TileUsingForallOp::apply: tileOps.push_back was called
unconditionally. Guard it with \!tilingResult.loops.empty().

Add regression tests for both the tile_sizes and num_threads paths,
verifying that the linalg.generic is preserved and no scf.forall is
emitted.

Fixes #187073

Assisted-by: Claude Code


  Commit: 42804379944cd0b221f9557ce219d4dc77a6055a
      https://github.com/llvm/llvm-project/commit/42804379944cd0b221f9557ce219d4dc77a6055a
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/source/Host/common/Terminal.cpp
    M lldb/test/API/terminal/hidden_frame_markers/TestHiddenFrameMarkers.py

  Log Message:
  -----------
  [lldb][windows] re-enable unicode tests on Windows (#190828)

This patch re-enables unicode tests on Windows by improving the
`Terminal::SupportsUnicode` check.

Checking that the stdout handle is a `FILE_TYPE_CHAR` is a better
heuristic than always returning true, which assumed we were always using
a terminal and never piping the output.


  Commit: 2244ccb244affa5d291f63f6f1c17b98358cb89b
      https://github.com/llvm/llvm-project/commit/2244ccb244affa5d291f63f6f1c17b98358cb89b
  Author: Chenguang Wang <w3cing at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [bazel][mlir] Fix OpenMP compilation. (#191866)

Broken by #190992.


  Commit: 8a59ab1c8a80443590cf9cb43fb44d2022a1d5a1
      https://github.com/llvm/llvm-project/commit/8a59ab1c8a80443590cf9cb43fb44d2022a1d5a1
  Author: Guo Chen <guochen2 at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll

  Log Message:
  -----------
  Revert "[AMDGPU][True16] add true16 pattern for cvt_pk_fp32_f8 (#1800… (#191835)

an issue reported with this patch
https://github.com/llvm/llvm-project/issues/191241. Revert for now and
reenable later

This reverts commit e71da01f0f908417723a54cf8829a734a37fa173.


  Commit: 4440e87baef3b28d1c6b06c389a861174c670b8d
      https://github.com/llvm/llvm-project/commit/4440e87baef3b28d1c6b06c389a861174c670b8d
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
    M mlir/test/python/dialects/python_test.py
    M mlir/test/python/lib/PythonTestModuleNanobind.cpp

  Log Message:
  -----------
  [mlir:python] Fix crash in from_python in type casters. (#191764)

This PR fixes a crash due to a failed assertion in the `from_python`
implementations of the type casters. The assertion obviously only
triggers if assertions are enabled, which isn't the case for many Python
installations, *and* if a Python capsule of the wrong type is attempted
to be used, so this this isn't triggered easily. The problem is that the
conversion from Python capsules may set the Python error indicator but
the callers of the type casters do not expect that. In fact, if there
are several operloads of a function, the first may cause the error
indicator to be set and the second runs into the assertion. The fix is
to unset the error indicator after a failed capsule conversion, which is
indicated with the return value of the function anyways.

In alternative fix would be to unset the error indicator *inside* the
`mlirPythonCapsuleTo*` functions; however, their documentations does say
that the Python error indicator is set, so I assume that some callers
may *want* to see the indicator and that the responsibility to handle it
is on them.

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


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

  Changed paths:
    M llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/LLJITWithExecutorProcessControl.cpp

  Log Message:
  -----------
  [ORC] Fix include order in example. (#191869)


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

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOpDefinition.cpp

  Log Message:
  -----------
  [NFC][mlir][SPIR-V] Rename getUnaryOpResultType to getMatchingBoolType (#191773)

The old name was misleading because this function is not specific to
unary ops

suggested in
https://github.com/llvm/llvm-project/pull/189099#discussion_r3051945317


  Commit: 79647b11b2df6209cbbc80ebcf0e1cb60bd3df52
      https://github.com/llvm/llvm-project/commit/79647b11b2df6209cbbc80ebcf0e1cb60bd3df52
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    A clang/test/CIR/IR/invalid-bitint.cir

  Log Message:
  -----------
  [CIR] Exclude _BitInt from fundamental integer type constraints (#191493)

Follow-up to #188113 per @erichkeane's feedback: `isFundamentalIntType`
and `isFundamental()` should not disagree.

The previous patch added `!isBitInt()` only inside
`IntType::isFundamental()`, leaving the underlying TableGen predicates
(`CIR_AnyFundamentalIntType` etc.) unaware of `_BitInt`. That meant
`isSignedFundamental()` and `isUnsignedFundamental()` were silently
wrong — a `_BitInt(32)` would pass them.

This patch adds a `CIR_IsNotBitIntPred` to the three fundamental-int
constraint defs so everything stays consistent. `isFundamental()` now
just forwards to `isFundamentalIntType()` with no extra logic.

Includes an `invalid-bitint.cir` test that checks a `_BitInt(32)` is
rejected where a fundamental unsigned int is required.

Made with [Cursor](https://cursor.com)


  Commit: da86595eb2417b33b2633902e8fed8e221043093
      https://github.com/llvm/llvm-project/commit/da86595eb2417b33b2633902e8fed8e221043093
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/test/CIR/CodeGen/binop.c
    M clang/test/CIR/CodeGen/c89-implicit-int.c
    M clang/test/CIR/CodeGen/empty.cpp
    M clang/test/CIR/CodeGen/expressions.cpp
    M clang/test/CIR/CodeGen/forward-enum.c
    M clang/test/CIR/CodeGen/static-vars.c

  Log Message:
  -----------
  [CIR][NFC] Add LLVM and OGCG checks to six codegen tests (#191536)

Add CIR-to-LLVM and classic codegen RUN lines to empty.cpp,
c89-implicit-int.c, expressions.cpp, binop.c, forward-enum.c, and
static-vars.c so each test verifies LLVM IR output from both pipelines.

Made with [Cursor](https://cursor.com)


  Commit: 34991575b2d414ba491ffa3f2c1722414c364cba
      https://github.com/llvm/llvm-project/commit/34991575b2d414ba491ffa3f2c1722414c364cba
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/test/API/functionalities/scripted_frame_provider/pass_through_prefix/TestFrameProviderPassThroughPrefix.py
    M lldb/test/API/functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py

  Log Message:
  -----------
  [lldb] Fix tests on Linux on Arm (32-bit) after #181071 (#191861)

PR #181071 caused regressions on Linux on Arm. These are being tracked
in:
- #191855
- #191859

This PR disables the failing tests for now, to fix the broken buildbot.


  Commit: 1b1d450fbf9125ee35d05876b16d5c521084a521
      https://github.com/llvm/llvm-project/commit/1b1d450fbf9125ee35d05876b16d5c521084a521
  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/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp

  Log Message:
  -----------
  [ORC] Add UUID support to MachOPlatform::HeaderOptions. (#191873)

MachOPlatform::HeaderOptions now includes an optional UUID field. If
set, this will be used to build an LC_UUID load command for the
JITDylib's MachO header.

No testcase: MachOPlatform construction requires the ORC runtime, which
we can't require in LLVM regression or unit tests. In the future we
should test this through the ORC runtime.


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

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

  Log Message:
  -----------
  [SLP][NFC] Add tests for runtime strided loads during revectorization (#191875)

Depending on the case, SLP either misses optimizing re-vectorized runtime
strided loads (and use a gather instead) or produces the incorrect
strided load.


  Commit: d1dbb099264993720863eab39cd7ec9d9fc51e89
      https://github.com/llvm/llvm-project/commit/d1dbb099264993720863eab39cd7ec9d9fc51e89
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Support/UniqueBBID.h

  Log Message:
  -----------
  [NFC] Try to unbreak the module builds due to missing `StringRef.h` include in `UniqueBBID.h` (#191877)

The modules build of LLVM broke when this patch landed

```
commit 2f422a52fde267757ce48041af6e731421fed2a3
Author: Rahman Lavaee <rahmanl at google.com>
Date:   Fri Apr 10 15:58:16 2026 -0700

    [Codegen, X86] Add prefetch insertion based on Propeller profile (#166324)
```

with an error like:

```
[2026-04-11T10:33:41.699Z] While building module 'LLVM_Utils' imported from /Users/ec2-user/jenkins/workspace/m.org_clang-stage2-Rthinlto_main/llvm-project/llvm/lib/Demangle/Demangle.cpp:13:
[2026-04-11T10:33:41.699Z] In file included from <module-includes>:321:
[2026-04-11T10:33:41.699Z] /Users/ec2-user/jenkins/workspace/m.org_clang-stage2-Rthinlto_main/llvm-project/llvm/include/llvm/Support/UniqueBBID.h:40:3: error: missing '#include "llvm/ADT/StringRef.h"'; 'StringRef' must be declared before it is used
[2026-04-11T10:33:41.699Z]    40 |   StringRef TargetFunction;
[2026-04-11T10:33:41.699Z]       |   ^
[2026-04-11T10:33:41.699Z] /Users/ec2-user/jenkins/workspace/m.org_clang-stage2-Rthinlto_main/llvm-project/llvm/include/llvm/ADT/StringRef.h:55:24: note: declaration here is not visible
[2026-04-11T10:33:41.699Z]    55 | class LLVM_GSL_POINTER StringRef {
[2026-04-11T10:33:41.699Z]       |                        ^
[2026-04-11T10:33:41.699Z] /Users/ec2-user/jenkins/workspace/m.org_clang-stage2-Rthinlto_main/llvm-project/llvm/lib/Demangle/Demangle.cpp:13:10: fatal error: could not build module 'LLVM_Utils'
[2026-04-11T10:33:41.699Z]    13 | #include "llvm/Demangle/Demangle.h"
[2026-04-11T10:33:41.699Z]       |  ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
```


https://ci.swift.org/job/llvm.org/job/clang-stage2-Rthinlto/job/main/150/

This patch tries to fix that by adding the missing include.

rdar://174555346


  Commit: 94d9d9c76201058378a8a74f49b7b057f695ccc4
      https://github.com/llvm/llvm-project/commit/94d9d9c76201058378a8a74f49b7b057f695ccc4
  Author: SiliconA-Z <gfunni234 at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
    M llvm/test/CodeGen/ARM/rotate-add.ll
    A llvm/test/CodeGen/ARM/shift-mod.ll

  Log Message:
  -----------
  [ARM] Take advantage of built-in mod of shift amount in variable-shift rotations (#157208)

This does exactly what AArch64 does.


  Commit: 6adef02db58873b1ef5cd2fac967bf1072567751
      https://github.com/llvm/llvm-project/commit/6adef02db58873b1ef5cd2fac967bf1072567751
  Author: Henry Baba-Weiss <henry.babaweiss at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/test/CodeGen/regcall.c
    M clang/test/CodeGen/regcall4.c
    M clang/test/CodeGenCXX/regcall.cpp
    M clang/test/CodeGenCXX/regcall4.cpp

  Log Message:
  -----------
  [X86][regcall] Rework struct classification for non-Windows x86-64 targets (#187134)

Currently, when `X86_64ABIInfo::classifyRegCallStructTypeImpl`
classifies a struct argument or return value as direct, it leaves the
LLVM IR coerce type unspecified, implicitly relying on
`CodeGenTypes::ConvertType` to eventually construct a default IR type
based on the struct's layout. This conversion is neither stable nor
guaranteed to adhere to the ABI's classification rules.

Instead, rewrite `classifyRegCallStructTypeImpl` to construct an
explicit sequence of coerce types, using the existing field
classification to obtain a coerce type for each member of the struct.
Also, rename the function to `passRegCallStructTypeDirectly` and return
a boolean instead, so that now `classifyRegCallStructType` is the only
place that computes `ABIArgInfo`.

This rewrite also fixes several other issues with the `X86_64ABIInfo`
implementation of `__regcall`:

* Empty structs are now ignored instead of being misclassified as
direct.
* Arrays are now classified specially based on the element type, since
`X86_64ABIInfo::classifyArgumentType` ignores standalone array types.
* SSE registers used for return values are now correctly reused for
arguments, matching the 64-bit Windows behavior.

Since this is an ABI change, it has the potential to cause
incompatibilities with `__regcall` code compiled by earlier versions of
Clang. Specifically:

* Because SSE return registers can now be reused as argument registers,
functions will now pass more floating point arguments in SSE registers.
* `_Complex float` struct fields are now passed in one SSE register
instead of two.

Fixes #62999
Fixes #98635


  Commit: 7a1f880d7f41e2dcf0f99fad15521af05bcc70e3
      https://github.com/llvm/llvm-project/commit/7a1f880d7f41e2dcf0f99fad15521af05bcc70e3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll

  Log Message:
  -----------
  [RISCV][P-ext] Use li for all ones splat_vector. (#191748)

li -1 can be compressed to c.li.


  Commit: 0dbb38adf9afca4f9571e771e30ac24b370b12eb
      https://github.com/llvm/llvm-project/commit/0dbb38adf9afca4f9571e771e30ac24b370b12eb
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    A clang/test/CIR/CodeGen/cast.c

  Log Message:
  -----------
  [[CIR]] Implement 'to-union' cast. (#191485)

This ends up being pretty trivial/can only really happen in 2 ways, the
only useful way is via an extension. This patch implements this.

This doesn't really affect anything as it is a pretty rarely used
feature and thus doesn't appear in the test suite I've seen, but I saw
it while investigating something else.


  Commit: 7d383ecdb656c84d8a08fd7a6ad1c162846a78ea
      https://github.com/llvm/llvm-project/commit/7d383ecdb656c84d8a08fd7a6ad1c162846a78ea
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
    M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Adding Layout Utility inferMaskOffsetLayoutForScatterIO (#191573)

This PR add a new layout utility function, named
inferMaskOffsetLayoutForScatterIO(), to support the propagation and
lowering of XeGPU scatter IO operations.


  Commit: 7099c02b45ae641602e1026b1448ab8d6e2f4f51
      https://github.com/llvm/llvm-project/commit/7099c02b45ae641602e1026b1448ab8d6e2f4f51
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/minmax3-tree-reduction.ll

  Log Message:
  -----------
  [AMDGPU] Update minmax3-tree-reduction.ll for true16. NFC (#191879)


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

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVIntelExtOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
    M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
    M mlir/test/Dialect/SPIRV/IR/intel-ext-ops.mlir
    M mlir/test/Target/SPIRV/intel-ext-ops.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Add support for SPV_INTEL_masked_gather_scatter extension (#189099)

Add MaskedGather/MaskedScatter ops and VectorOfPointerType for
SPV_INTEL_masked_gather_scatter extension implemented in #185418


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    A llvm/test/Transforms/LoopVectorize/early-exit-calls.ll
    A llvm/test/Transforms/LoopVectorize/early-exit-unary-ops.ll

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

This reverts commit
https://github.com/llvm/llvm-project/commit/3bf9639ec04544902670ab4199401ac470c1fcca.

The reapply adds trivial support for ExtractValue and InsertValue to fix
the crash causing the revert.

Original message:

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: 46167f96bd2c5999297591ef362f3b7f051fd757
      https://github.com/llvm/llvm-project/commit/46167f96bd2c5999297591ef362f3b7f051fd757
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/HLSL.h
    A clang/test/Driver/dxc_spirv-val_missing.hlsl
    A clang/test/Driver/dxc_spirv-val_path.hlsl
    M clang/test/lit.cfg.py

  Log Message:
  -----------
  Add spirv-val compilation step when targeting SPIR-V (#188150)

Clang-dxc.exe currently uses dxv by default after compiling HLSL that
targets DXIL, assuming dxv can be found. However, there is no
counterpart for SPIR-V. This PR changes clang-dxc.exe so that the DXC
driver inserts a step to run spirv-val when SPIR-V is the target. It
also accounts for whether or not the -Fo option is passed. In all cases,
spirv-val will be run, as long as the target is SPIR-V and the spirv-val
executable can be found on the PATH.

This PR also adds a new option --spirv-val-path, a counterpart to
--dxv-path, for specifying an explicit path to spirv-val.

Key differences from dxv: Unlike dxv, which validates and signs DXIL
containers and produces an output file, spirv-val is a pure validator —
it checks the SPIR-V binary and exits with a status code without
producing output. Because of this, the compile step writes directly to
-Fo and spirv-val validates the file in-place.

Additional fixes:

- Fixes a duplicate "validator not found" warning that was emitted twice
per invocation — once from BuildActions and once from isLastJob (via
GetNamedOutputPath). This was a pre-existing bug introduced by #130436
(https://github.com/llvm/llvm-project/pull/130436). Fixed by
adding a Diagnose parameter to requiresValidation so only one call site
emits the diagnostic.
- Fixes an "unused argument" warning for -Vd when targeting SPIR-V,
caused by early returns in requiresValidation before the argument was
claimed.
- Adds a new SPIRVValidation diagnostic group and
warn_drv_dxc_missing_spirv_val diagnostic for the missing spirv-val
warning.

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

Assisted by: Claude Opus 4.6


  Commit: 2a9c32496b5e8e63844597f638bdf67e4732fd35
      https://github.com/llvm/llvm-project/commit/2a9c32496b5e8e63844597f638bdf67e4732fd35
  Author: Petr Hosek <phosek at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/cmake/caches/Release.cmake
    M llvm/CMakeLists.txt
    M llvm/cmake/config-ix.cmake
    R llvm/cmake/modules/FindLibXml2.cmake
    M llvm/lib/WindowsManifest/CMakeLists.txt

  Log Message:
  -----------
  Revert "[cmake] Add support for statically linking libxml2" (#191609)

Reverts llvm/llvm-project#166867


  Commit: 654da0889be5016c86e9cb8f8425dadcfa93096c
      https://github.com/llvm/llvm-project/commit/654da0889be5016c86e9cb8f8425dadcfa93096c
  Author: Alex Duran <alejandro.duran at intel.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M offload/test/offloading/interop-print.c

  Log Message:
  -----------
  [OFFLOAD][OpenMP][L0] Add Intel strings to interop-print test (#191901)


  Commit: 72ed4cf3c25467bfdfd866aaae83db8f9a3a4253
      https://github.com/llvm/llvm-project/commit/72ed4cf3c25467bfdfd866aaae83db8f9a3a4253
  Author: Kyungtak Woo <kevinwkt at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

  Log Message:
  -----------
  [bazel] Exclude use_header_modules from some nanobind targets (#191898)

Excluding use_header_modules from some nanobind targets


  Commit: ef1a2ff1837a4716ed933853528c47206b0260c8
      https://github.com/llvm/llvm-project/commit/ef1a2ff1837a4716ed933853528c47206b0260c8
  Author: Dan Liew <dan at su-root.co.uk>
  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
    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:
  -----------
  Unbreak macOS builds broken by #183310 (#191899)

Revert "[TySan][Sanitizer Common] Make TySan compatible with sanitizer common… (#183310)" and
"[TySan][Sanitizer Common] Enable TySan testing in the sanitizer commo… (#191385)"

This reverts commit d043b9e38dd9494c3c56018b2cbaf44fe205b110 and dd0c5ebe69e580066de100c8c2ba5430a1aeee44.

d043b9e38dd9494c3c56018b2cbaf44fe205b110 broke the macOS bots

https://ci.swift.org/job/llvm.org/job/clang-stage1-RA-cmake-incremental/job/main/638/consoleFull#-1919712802f80d942a-f672-4696-b0d9-c66cae8aa9dd

with an error that looks like:

```
/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/compiler-rt/lib/tysan/../sanitizer_common/sanitizer_signal_interceptors.inc:136:3: error: expected expression
   136 |   INIT_SIGNAL;
       |   ^
 /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/compiler-rt/lib/tysan/../sanitizer_common/sanitizer_signal_interceptors.inc:77:21: note: expanded from macro 'INIT_SIGNAL'
    77 | #define INIT_SIGNAL COMMON_INTERCEPT_FUNCTION(signal)
       |                     ^
 /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/compiler-rt/lib/tysan/tysan_interceptors.cpp:51:41: note: expanded from macro 'COMMON_INTERCEPT_FUNCTION'
    51 | #define COMMON_INTERCEPT_FUNCTION(name) TYSAN_INTERCEPT_FUNC(name)
       |                                         ^
 /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/compiler-rt/lib/tysan/tysan_interceptors.cpp:27:34: note: expanded from macro 'TYSAN_INTERCEPT_FUNC'
    27 |     if (!INTERCEPT_FUNCTION(name))
```

unfortunately reverting just d043b9e38dd9494c3c56018b2cbaf44fe205b110 doesn't work cleanly because another commit (dd0c5ebe69e580066de100c8c2ba5430a1aeee44) enabled testing and the testing fails when we revert just d043b9e38dd9494c3c56018b2cbaf44fe205b110. So this commit reverts dd0c5ebe69e580066de100c8c2ba5430a1aeee44 too.

It would've been nice to have to separate revert commits but it seems GitHub won't let me do this and forces commits to be squashed.

rdar://174648152


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

  Changed paths:

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

Reverts llvm/llvm-project#191385

Some tests seem to be failing, but not under all environments, possibly
due to non-tysan related reasons. Clearly I need to look more into this
before enabling this


  Commit: 25cd5cb3642226887004a9ac1192a8ecb25217a3
      https://github.com/llvm/llvm-project/commit/25cd5cb3642226887004a9ac1192a8ecb25217a3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/test/MC/RISCV/rv32p-aliases-valid.s
    M llvm/test/MC/RISCV/rv64p-aliases-valid.s

  Log Message:
  -----------
  [RISCV][P-ext] Add assembler tests showing that li can use pli.b/h/w instruction. (#191839)


  Commit: d900d20dbb812fb7276dac13d7d6f1acfeda2def
      https://github.com/llvm/llvm-project/commit/d900d20dbb812fb7276dac13d7d6f1acfeda2def
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

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

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

Reverts llvm/llvm-project#191657

Broke Fuchsia CI.


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

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

  Log Message:
  -----------
  [SLP][NFC] Make calculateTreeCostAndTrimNonProfitable compatible

with processBuildVector, NFC

processBuildVector adjusts the scalars to match the entry vector factor,
while calculateTreeCostAndTrimNonProfitable does not. Sync the behovior
  to avoid potential issues. Currently it does not affect the cost
  estimations, so it is NFC.

Reviewers: 

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


  Commit: f5ef1edaccdbe727de504c5e530d671b3efc06ca
      https://github.com/llvm/llvm-project/commit/f5ef1edaccdbe727de504c5e530d671b3efc06ca
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    A llvm/test/Transforms/LoopVectorize/RISCV/conditional-scalar-assignment-fold-tail.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/conditional-scalar-assignment.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll

  Log Message:
  -----------
  Reapply "[LV] Enable scalable FindLast on RISCV. (#184931)" (#190938)

Orginal PR: https://github.com/llvm/llvm-project/pull/184931
Original PR message:
This patch enables FindLast reduction vectorization with scalable
vectors
on RISCV.

Fixed the previous crash by
https://github.com/llvm/llvm-project/pull/191166 and
https://github.com/llvm/llvm-project/pull/191517


  Commit: 1a50fab6e6a4a5eff2697c5141813979e4a337f7
      https://github.com/llvm/llvm-project/commit/1a50fab6e6a4a5eff2697c5141813979e4a337f7
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/examples/python/crashlog.py
    M lldb/examples/python/crashlog_scripted_process.py
    M lldb/include/lldb/Target/StackFrameList.h
    M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
    M lldb/source/Target/StackFrameList.cpp
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.inline.crash
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.inline.ips
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/inline_test.c
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/inline_crashlog.test
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/inline_crashlog_json.test

  Log Message:
  -----------
  [lldb/crashlog] Fix inlined frames in crashlog scripted process (#191132)

When loading a crashlog using scripted process, inlined frames get lost.

This happens because `ScriptedThread::LoadArtificialStackFrames` creates
all frames as concrete frames via `SetFrameAtIndex`, completely
bypassing the inline frame synthesis that
`StackFrameList::FetchFramesUpTo` normally performs using
`GetParentOfInlinedScope`. Since two crashlog frames share the same PC
when one is inlined into the other, `CalculateSymbolContext` resolves
both to the innermost inlined scope, which causes the containing
function to be dropped from the backtrace.

This patch fixes the issue in two parts:
- On the Python side, `resolve_stackframes` now skips frames whose PC
matches the next frame's PC. These are inlined frames that LLDB will
synthesize from debug info when it processes the concrete frames we
provide. Indices are renumbered accordingly, and `len(frames) == 0` is
used for first-frame detection.
- On the C++ side, `LoadArtificialStackFrames` now replicates the inline
synthesis loop from `FetchFramesUpTo`: after creating each concrete
frame, it calls `GetParentOfInlinedScope` in a loop and creates a
`StackFrame` for each inlined parent scope.

rdar://154981041

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: d32e0d35ea4327990ab37edb72bc7a4e7974720b
      https://github.com/llvm/llvm-project/commit/d32e0d35ea4327990ab37edb72bc7a4e7974720b
  Author: h-vetinari <h.vetinari at gmx.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/www/c_status.html

  Log Message:
  -----------
  [clang][docs] mark v22 as released (#191612)

The following features are now released and should be marked as such:

Named loops, v3 -> e4a1b5f

_COUNTER pre-defiend macro: -> df1d786

Allow calling static inline within extern inline: -> 8e60adc


  Commit: 23674b9cf3e45194f3f0b7ca0ada8a558f1d9c6d
      https://github.com/llvm/llvm-project/commit/23674b9cf3e45194f3f0b7ca0ada8a558f1d9c6d
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    A clang/test/CIR/CodeGen/lambda-dtor-field.cpp

  Log Message:
  -----------
  [CIR] Implement handling for lambda capture of destructured types (#191316)

Lambda captures of variables that require destruction requires us to
created cleanup scopes with deferred deactivation. That is, the cleanup
scope is created, but added to a list that automatically deactivates the
cleanup when we exit the scope in the compiler code where the lambda is
being generated. This deferred deactivation mechanism will be needed for
other use cases as well, so it is implemented in a general way, which
closely follows the classic codegen handling.

Assisted-by: Cursor / claude-4.6-opus-high


  Commit: f1cec8e5b966bfa9a7e31cca5e0731333377ad30
      https://github.com/llvm/llvm-project/commit/f1cec8e5b966bfa9a7e31cca5e0731333377ad30
  Author: Florian Mayer <fmayer at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll

  Log Message:
  -----------
  [NFC] [HWASan] precommit test for -hwasan-tag-bits (#191907)


  Commit: a6a2a717c57aaa3fd3beb98bfa55c2f2f285a024
      https://github.com/llvm/llvm-project/commit/a6a2a717c57aaa3fd3beb98bfa55c2f2f285a024
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp

  Log Message:
  -----------
  [OpenACC] Fix Crash on collapse that doesn't check its transform (#191836)

GH191833 reports a problem with tree transformation of a collapse clause
when the expression in the clause is invalid. This patch makes sure we
skip out of transforming this clause if it ever encounters an invalid
expression.

I also analyzed the rest of the clauses in this visitor and found 1
other that was suspicious, so I added a check for that one as well. The
rest seemingly were all done correctly.

Fixes: #191833


  Commit: f0f96c7f788b90e48a6925437e918c3196913325
      https://github.com/llvm/llvm-project/commit/f0f96c7f788b90e48a6925437e918c3196913325
  Author: hidekisaito <hidekido at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
    A llvm/test/CodeGen/AMDGPU/lower-intrinsics-noalias-metadata.ll

  Log Message:
  -----------
  [AMDGPU] Preserve scoped-AA metadata when lowering barriers to wave_barrier (#191858)

AMDGPULowerIntrinsics downgrades s_barrier/s_barrier_wait to
wave_barrier on single-wave workgroups, but dropped all metadata from
the original instruction.  The lost !noalias and !alias.scope metadata
prevented MemorySSA's optimized walker from skipping past the barrier,
causing isClobberedInFunction to walk further and reach unrelated
side-effecting defs (e.g. tensor_load_to_lds) that are misclassified
as clobbers — ultimately losing !amdgpu.noclobber on global loads.

Copy !noalias, !alias.scope, and !tbaa from the old instruction to the
replacement wave_barrier.

Made-with: Cursor


  Commit: af0471c1918ab76915bb3750655ffd3281a0b9e7
      https://github.com/llvm/llvm-project/commit/af0471c1918ab76915bb3750655ffd3281a0b9e7
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
    M lldb/tools/debugserver/source/DNB.cpp
    M lldb/tools/debugserver/source/DNB.h
    M lldb/tools/debugserver/source/DNBDefs.h
    M lldb/tools/debugserver/source/MacOSX/MachProcess.h
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
    M lldb/tools/debugserver/source/RNBRemote.cpp

  Log Message:
  -----------
  [lldb][Darwin] Fetch detailed binary info in chunks (#190720)

When binaries have been loaded into a process on Darwin, lldb sends a
jGetLoadedDynamicLibrariesInfos packet to get the filepath, uuid, load
address, and detailed information from the mach header/load commands.
For a large UI app, the number of binaries that can be loaded (through
various dependencies) can exceed a thousand these days, and requesting
detailed information on all of those can result in debugserver
allocating too much memory when running in constrained environments, and
being killed.

In 2023 I laid the groundwork to fetch detailed information in chunks,
instead of one large request. The main challenge with this is when we
first attach to a process that is running, we send a "tell me about all
binaries loaded", and that prevents lldb from chunking the reply; the
packet design for jGetLoadedDynamicLibrariesInfos assumes the entire
reply is sent in one packet, instead of the typical gdb remote serial
protocol trick of a response with partial data starting with 'm' and a
response with a complete reply starting with 'l'. The 2023 change is to
add a new key to this packet, `report_load_commands` and when that is
set to `false`, only the load address of the binaries is reported.

lldb then uses the array of load addresses of all the binaries to fetch
detailed information about them in smaller groupings.

This PR implements the lldb side of that work.

Process::GetLoadedDynamicLibrariesInfos now takes a `bool
include_mh_and_load_commands`, ProcessGDBRemote sends that as an
argument in the jGetLoadedDynamicLibrariesInfos packet.

DynamicLoaderMacOS::DoInitialImageFetch is changed to only get the load
addresses on initial attach. If the reply includes the full binary
information (not just load addresses) -- when talking to an old
debugserver -- we will use that information instead of re-fetching it.
On a newer debugserver that only sent the load addresses, we'll send
this list of addresses to the standard method we use when dyld has told
us to load binaries at addresses already.

DynamicLoaderMacOS::AddBinaries, which takes a list of addresses and
fetches detailed information about them, is updated to request only 600
binaries at a time. A typical UI app will be in the 700-1000 binary
range these days, so this will turn one large fetch into two, in most
cases. There are some system UI processes that have many dependencies
that could require three fetches. I picked this number so most debug
sessions will be handled by two requests.

In debugserver MachProcess::FormatDynamicLibrariesIntoJSON, I removed
the obsolete-for-three-years-now `mod_date` field. I was sending back
the binary filepaths for this "don't send the detailed information"
version of the packet - I don't need that, and it just increases the
size, so I stopped sending filepaths in this mode.

I also added a new field for when we ARE sending detailed information,
`sizeof_mh_and_loadcmds`. I don't use this in lldb yet, but when we are
told about a binary and need to read it from memory today, we have an
initial read to get the mach header, which tells us the size of the load
commands. Then we have a second read of the mach header plus load
commands, before we can start binary processing in earnest. This is an
extra read packet and very unnecessary, given that debugserver knows how
large the mach header + load commands are. So I'm returning it here, and
at some point I'll find a way to pipe that into a new memory object file
creation method in lldb. It's one of those "I should really find a way
to remove that extra read some day" cleanups, and while I was in this
area, I'd add this first piece of that.

I don't have a test for this. I've been thinking about an API test that
creates 700 dylibs with empty functions in each, runs it, and confirms
all of the dylibs were loaded. I'd have to grab a packet log to be
completely sure we didn't read the full binary list in one go. But I
worry that compiling and linking even 700 do-nothing dylibs might be too
much. Maybe I should add a setting in DynamicLoaderMacOS::AddBinaries to
reduce the maximum number of binaries that can be read at once, and have
a small nubmer of dylibs. When by-hand testing this, I had a maximum of
5 binaries being queried in one packet.

rdar://109428337


  Commit: 87eabed13056b8ebc6657d4175d551efbd3c3d22
      https://github.com/llvm/llvm-project/commit/87eabed13056b8ebc6657d4175d551efbd3c3d22
  Author: Haowei <haowei at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/utils/lit/lit/llvm/config.py

  Log Message:
  -----------
  [lit] Prevent "lld" from being substituted by LIT in llvm-driver tests (#191893)

We are seeing test failures in "passthrough-lld.test" as LIT
substitutes the "ld.lld" string in the test file to the full
path to the lld. However, the "-flavor" flag does not expect
a full path. It just need a name of the linker so it fails.
This patch modifies the lld matching regex in the use_lld
function in llvm/utils/lit/lit/llvm/config.py. It prevents
LIT from substitute any lld tool strings that are not
standalone.


  Commit: 72df1fc645116566cc7240b48c0bc824b504dc47
      https://github.com/llvm/llvm-project/commit/72df1fc645116566cc7240b48c0bc824b504dc47
  Author: Florian Mayer <fmayer at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll

  Log Message:
  -----------
  [HWASan] Add hwasan-tag-bits flag (#191088)

This can be used to make sure the stack tagging does not use the top bit
of
the pointer. This is useful when HWASan is used in combination with
signed-integer-overflow detection. Some code uses arithmetic on intptr_t
that overflows for sufficiently large pointers.


  Commit: bfff42cd6733f451135cda9605557cdea59affc2
      https://github.com/llvm/llvm-project/commit/bfff42cd6733f451135cda9605557cdea59affc2
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-04-13 (Mon, 13 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
    R libcxx/test/std/utilities/format/format.fmt.string/ctor.dynamic-format-string.pass.cpp
    A libcxx/test/std/utilities/format/format.fmt.string/ctor.runtime-format-string.pass.cpp
    R libcxx/test/std/utilities/format/format.functions/format.dynamic_format.pass.cpp
    R libcxx/test/std/utilities/format/format.functions/format.locale.dynamic_format.pass.cpp
    A libcxx/test/std/utilities/format/format.functions/format.locale.runtime_format.pass.cpp
    A libcxx/test/std/utilities/format/format.functions/format.runtime_format.pass.cpp
    R libcxx/test/std/utilities/format/format.syn/dynamic_format_string.pass.cpp
    A libcxx/test/std/utilities/format/format.syn/runtime_format_string.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

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

This reverts commit 67c893eebc793cea8b0d12b9037d3117191b76eb due to
buildbot breakage

(https://github.com/llvm/llvm-project/pull/189657#issuecomment-4231358706,
https://github.com/llvm/llvm-project/pull/189657#issuecomment-4239964862).


  Commit: 5753b3f5fd39252a84f9c659d493c404edc00ab4
      https://github.com/llvm/llvm-project/commit/5753b3f5fd39252a84f9c659d493c404edc00ab4
  Author: hidekisaito <hidekido at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
    M llvm/test/CodeGen/AMDGPU/lower-intrinsics-noalias-metadata.ll

  Log Message:
  -----------
  [AMDGPU] Preserve metadata in all barrier lowering paths (#191916)

Extend copyMetadata to every call-to-call replacement in
AMDGPULowerIntrinsics, not just the single-wave s_barrier →
wave_barrier path. This covers:
- s_cluster_barrier → wave_barrier (single-wave)
- s_cluster_barrier → signal_isfirst + wait + signal + wait (multi-wave)
- s_barrier → signal + wait (split barriers)

Add GFX11 and GFX12 RUN lines and test functions for all lowering
paths to verify metadata preservation.

Made-with: Cursor


  Commit: aab5c1075a94b8600f2b31dd62aa4f2e0cd238cb
      https://github.com/llvm/llvm-project/commit/aab5c1075a94b8600f2b31dd62aa4f2e0cd238cb
  Author: Ye Luo <yeluo at anl.gov>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M openmp/device/include/Synchronization.h

  Log Message:
  -----------
  [Offload] Revert part of #187138. Workaround #191910 (#191925)

Closes #191910

---------

Co-authored-by: Joseph Huber <huberjn at outlook.com>


  Commit: 12f636d4425ae2c89479ae65a581b8bc5ef53571
      https://github.com/llvm/llvm-project/commit/12f636d4425ae2c89479ae65a581b8bc5ef53571
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M libclc/cmake/modules/CMakeCLCInformation.cmake
    M libclc/cmake/modules/CMakeDetermineCLCCompiler.cmake

  Log Message:
  -----------
  Revert "[libclc][CMake] Use clang/llvm-ar on Windows (#186726)" (#191745)

This reverts commit 4abb927bacf37f18f6359a41639a6d1b3bffffb5.

The code is not needed since 121f5a96ff38 because the C compiler is now
always just-built clang in in-tree build. In addition, CMAKE_AR is
llvm-ar and CMAKE_RANLIB is llvm-ranlib.


  Commit: 2874480930113855d3a433aeaf6ece4db0027bb3
      https://github.com/llvm/llvm-project/commit/2874480930113855d3a433aeaf6ece4db0027bb3
  Author: Twice <twice at apache.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M mlir/docs/Bindings/Python.md
    M mlir/python/mlir/dialects/ext.py
    M mlir/test/python/dialects/ext.py
    M mlir/test/python/dialects/transform_op_interface.py
    M mlir/test/python/integration/dialects/bf.py

  Log Message:
  -----------
  [MLIR][Python] Migrate `result(infer_type=True)` to a new field specifier (#191849)

Currrently the signature of `result(..)` is:
```python
result(*, infer_type: bool = False, default_factory: Callable[[], Any] | None = None, kw_only: bool = False) -> Result
```

so when users use `result(infer_type=True)`, the type checkers will
still get `kw_only=False` (from the signature), but actually the
`kw_only` should be `True` (it should follow the value of `infer_type`).
users can use `result(infer_type=True, kw_only=True)` but it's
unnecessarily verbose.

So it may introduce an incompatibility when we start to use
`dataclass_transform`. currently it's fine because we just don't use
`dataclass_transform`. But when we use, we may require a breaking
change.

This PR migrates such use to a new field specifier named
`infer_result()`.


  Commit: 93871c569de11f5b80bf1dd6175bb4ce95a93238
      https://github.com/llvm/llvm-project/commit/93871c569de11f5b80bf1dd6175bb4ce95a93238
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    A clang/test/CIR/CodeGenCUDA/device-stub.cu
    M clang/test/CIR/CodeGenCUDA/kernel-call.cu
    M clang/test/CIR/CodeGenCUDA/kernel-stub-name.cu
    M clang/test/CIR/CodeGenHIP/simple.cpp

  Log Message:
  -----------
  [CIR][CUDA] Global emission for fatbin symbols (#187636)


  Commit: 42ce5c1481015795a615171acec33a268f4482aa
      https://github.com/llvm/llvm-project/commit/42ce5c1481015795a615171acec33a268f4482aa
  Author: Jacques Pienaar <jacques+gh at japienaar.info>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [bazel] Restore MLIR bytecode tests. (#191938)

These seemed to have gotten removed here.


  Commit: 92dde7997192c40841e50f51c25f8ecf598f2a6d
      https://github.com/llvm/llvm-project/commit/92dde7997192c40841e50f51c25f8ecf598f2a6d
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    A clang/test/CIR/CodeGen/attr-retain.c
    A clang/test/CIR/CodeGen/attr-used.c
    A clang/test/CIR/CodeGen/keep-persistent-storage-variables.cpp
    A clang/test/CIR/CodeGen/keep-static-consts.cpp
    A clang/test/CIR/CodeGenHIP/hip-cuid.hip

  Log Message:
  -----------
  [CIR] Add addLLVMUsed and addLLVMCompilerUsed methods to CIRGenModule (#188189)

Upstreaming clangIR PR: https://github.com/llvm/clangir/pull/2092

This PR adds support for emitting llvm.used and llvm.compiler.used
global arrays in CIR.

Added addUsedGlobal() and addCompilerUsedGlobal() methods to
CIRGenModule
Adds __hip_cuid_* to llvm.compiler.used for HIP compilation.
Followed OGCG implementation in clang/lib/CodeGen/CodeGenModule.cpp


  Commit: f2a71ca9418046af3390833d52c5a20be78f3670
      https://github.com/llvm/llvm-project/commit/f2a71ca9418046af3390833d52c5a20be78f3670
  Author: Leonardo Román Carrillo <leonardoroman at google.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/test/OpenMP/split_driver_smoke.c

  Log Message:
  -----------
  [clang][OpenMP][test] Use -fopenmp=libomp explicitly in driver smoke test (#191936)

Using -fopenmp uses the default openmp lib, which defaults to libomp but
may be something else. This test only passes with libomp, so it passes
when using default, but fails downstream if configured for something
else, like libgomp.


  Commit: c2624b5205b81516047792147e9dc50f55c22e18
      https://github.com/llvm/llvm-project/commit/c2624b5205b81516047792147e9dc50f55c22e18
  Author: Rahman Lavaee <rahmanl at google.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/InsertCodePrefetch.cpp

  Log Message:
  -----------
  [NFC] Use stable_sort to fix the basic-block-sections-code-prefetch.l test. (#191941)

This fixes https://lab.llvm.org/buildbot/#/builders/187/builds/18954.


  Commit: 93a67259cf23a555bf3905ce0f6ff349014689f0
      https://github.com/llvm/llvm-project/commit/93a67259cf23a555bf3905ce0f6ff349014689f0
  Author: aokblast <aokblast at FreeBSD.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/FreeBSD.h
    M clang/test/Driver/coverage-ld.c
    M clang/test/Driver/instrprof-ld.c
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [ToolChains][FreeBSD] Set default Linker to LLD for FreeBSD (#190596)

When the linker is specified as ld, toolchain applies special handling
by invoking (triple)-ld instead of resolving ld via standard PATH
lookup. This causes GNU ld installed via the system package manager to
take the precedence (since (triple)-ld appears earlier in the search
path), effectively overriding ld.lld.

As a result, we set the default Linker on FreeBSD to ld.lld to indicate
we want to use lld by default.


  Commit: 8619a5efd84b10b9cb4ea33449c38fa6390f9baa
      https://github.com/llvm/llvm-project/commit/8619a5efd84b10b9cb4ea33449c38fa6390f9baa
  Author: Sairudra More <sairudra60 at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/declare-target-named-main-interface.f90
    M flang/test/Lower/OpenMP/real10.f90

  Log Message:
  -----------
  [flang][OpenMP] Avoid marking named main programs as declare target (#190250)

A bare `!$omp declare target` could incorrectly mark `_QQmain` as
`omp.declare_target` when it appeared in an interface body inside a
named
main program. That pulled host-only callees into device compilation and
caused offload link failures.

Fix this by skipping main programs in the implicit-capture path.
Also add a regression test for the named-main interface case and update
`real10.f90` to use a valid container for the bare `declare target`
form.

This fixes offload link failures where `_QQmain` was incorrectly treated
as
a device function and pulled in host-only symbols such as Fortran I/O
runtime calls.

Minimal reproducer:

```fortran
program named_main
  interface
    subroutine sub_a(x)
      !$omp declare target
      integer, intent(inout) :: x
    end subroutine
  end interface
  integer :: v
  !$omp target
    call sub_a(v)
  !$omp end target
end program


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

  Changed paths:
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Rewrite/BuildIDRewriter.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/GNUPropertyRewriter.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Rewrite/SDTRewriter.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp

  Log Message:
  -----------
  [bolt] Remove unused argument of DataExtractor constructor (NFC) (#191841)

`AddressSize` parameter is not used by `DataExtractor` and will be
removed in the future. See #190519 for more context.

I took the liberty of switching from using the `StringRef` constructor
overload to `ArrayRef` where appropriate.


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

  Changed paths:
    M compiler-rt/lib/xray/tests/unit/fdr_controller_test.cpp
    M compiler-rt/lib/xray/tests/unit/fdr_log_writer_test.cpp
    M llvm/lib/XRay/InstrumentationMap.cpp
    M llvm/lib/XRay/Profile.cpp
    M llvm/lib/XRay/Trace.cpp
    M llvm/tools/llvm-xray/xray-fdr-dump.cpp
    M llvm/unittests/XRay/FDRProducerConsumerTest.cpp
    M llvm/unittests/XRay/FDRTraceWriterTest.cpp

  Log Message:
  -----------
  [XRay] Remove unused argument of DataExtractor constructor (NFC) (#191864)

`AddressSize` parameter is not used by `DataExtractor` and will be
removed in the future. See #190519 for more context.


  Commit: b8b596294fc5d829e59cbc67fda36751e3dca015
      https://github.com/llvm/llvm-project/commit/b8b596294fc5d829e59cbc67fda36751e3dca015
  Author: Rahman Lavaee <rahmanl at google.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/InsertCodePrefetch.cpp

  Log Message:
  -----------
  [NFC] clang-format llvm/lib/CodeGen/InsertCodePrefetch.cpp. (#191959)


  Commit: 4ea9b490ba4bae6834e4568aba1be45c1d18ba2f
      https://github.com/llvm/llvm-project/commit/4ea9b490ba4bae6834e4568aba1be45c1d18ba2f
  Author: nataliakokoromyti <nataliakokoromyti at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang-tools-extra/clangd/TidyFastChecks.inc

  Log Message:
  -----------
  [clangd] Update TidyFastChecks.inc via TidyFastChecks.py (#191096)

Updated
[TidyFastCheck.inc](https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/clangd/TidyFastChecks.inc#L1)
that has been stale for a while using this
[script](https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/clangd/TidyFastChecks.py),
as discussed in #190531. In the thread, there was some conversation on
the limitations of doing this manually at every new release (adding the
script to the release checklist would definitely help) but it seems like
this is the only low-risk solution for now.


  Commit: 6a883943241664d083c610c0ba3106dbe79a72ae
      https://github.com/llvm/llvm-project/commit/6a883943241664d083c610c0ba3106dbe79a72ae
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Basic/riscv_vector_common.td
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vzip.c
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvzip.td
    A llvm/test/CodeGen/RISCV/rvv/vpaire.ll
    A llvm/test/CodeGen/RISCV/rvv/vpairo.ll
    A llvm/test/CodeGen/RISCV/rvv/vunzipe.ll
    A llvm/test/CodeGen/RISCV/rvv/vunzipo.ll
    A llvm/test/CodeGen/RISCV/rvv/vzip.ll

  Log Message:
  -----------
  [RISCV] Add Zvzip intrinsics (#186342)

In the RVV Clang builtins generator, a new prototype descriptor
`d` was added to represent vectors with `2 x LMUL`.

The `.ll` tests were generated by LLM and I have reviewed them.

And the .c tests were generated by
https://github.com/riscv-non-isa/riscv-rvv-intrinsic-doc/pull/431.


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

  Changed paths:
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/Program.h

  Log Message:
  -----------
  [clang][bytecode] Use qualified name in `Function::dump()` (#191958)


  Commit: 78cd6c9b28f99e201bf44c84044517820f32305e
      https://github.com/llvm/llvm-project/commit/78cd6c9b28f99e201bf44c84044517820f32305e
  Author: NeKon69 <nobodqwe at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Detect use-after-scope through fields in member calls (#191731)

Add `UseFact`s for field origins when calling instance methods.

Fixes #182945

---------

Co-authored-by: Utkarsh Saxena <usx at google.com>


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

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

  Log Message:
  -----------
  [clang][bytecode] Use `CopyArray` for primitive ArrayInitLoops (#191956)

This reduces the bytecode output for the copy constructor of a struct
such as:

```c++
struct Buffer {
  struct {
    char D[N];
  } V;

  Buffer() = default;
};
```
from
```
Buffer<5>::(unnamed struct)::(unnamed struct at array.cpp:873:3) 0x7d38d2de3f80
frame size: 104
arg size:   96
rvo:        0
this arg:   1
0      GetPtrThisField          16
16     GetParamPtr              0
32     GetPtrFieldPop           16
48     InitScope                0
64     SetLocalPtr              40
80     GetLocalPtr              40
96     ArrayDecay
104    ExpandPtr
112    ConstUint64              0
128    ArrayElemPtrPopUint64
136    LoadPopSint8
144    InitElemSint8            0
160    GetLocalPtr              40
176    ArrayDecay
184    ExpandPtr
192    ConstUint64              1
208    ArrayElemPtrPopUint64
216    LoadPopSint8
224    InitElemSint8            1
240    GetLocalPtr              40
256    ArrayDecay
264    ExpandPtr
272    ConstUint64              2
288    ArrayElemPtrPopUint64
296    LoadPopSint8
304    InitElemSint8            2
320    GetLocalPtr              40
336    ArrayDecay
344    ExpandPtr
352    ConstUint64              3
368    ArrayElemPtrPopUint64
376    LoadPopSint8
384    InitElemSint8            3
400    GetLocalPtr              40
416    ArrayDecay
424    ExpandPtr
432    ConstUint64              4
448    ArrayElemPtrPopUint64
456    LoadPopSint8
464    InitElemSint8            4
480    FinishInitPop
488    Destroy                  0
504    Destroy                  0
520    RetVoid
```
(where `N = 5`).

to:
```
Buffer<5>::(unnamed struct)::(unnamed struct at array.cpp:873:3) 0x7c85b9fe3f80
frame size: 0
arg size:   96
rvo:        0
this arg:   1
0     GetPtrThisField    16
16    GetParamPtr        0
32    GetPtrFieldPop     16
48    CopyArraySint8     0 0 5
80    FinishInitPop
88    RetVoid
```


  Commit: 4b4aa3b7911dcf5cda2cd166e39b8d5d97c20183
      https://github.com/llvm/llvm-project/commit/4b4aa3b7911dcf5cda2cd166e39b8d5d97c20183
  Author: Vedant Neve <vedantneve13 at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  [DAG] Add funnel-shift matchers to SDPatternMatch (Fixes #185880) (#186593)

Add new SelectionDAG pattern matchers for funnel shifts:
- m_FShL and m_FShR as ternary wrappers for ISD::FSHL/ISD::FSHR
- m_FShLLike and m_FShRLike to match:
-- direct FSHL/FSHR nodes
-- ROTL/ROTR equivalents (binding both X and Y to the same rotate operand)
-- OR(SHL(X, C), SRL(Y, BW - C)) forms (including commuted OR)

Also add unit tests covering positive and negative cases for:
- direct funnel-shif matching
- rotate equivalence matching
- OR-based funnel-shift-like patterns

Fixes #185880


  Commit: 08fb46468e9b03d8f13e8c3d9e40f7e9adff1a1d
      https://github.com/llvm/llvm-project/commit/08fb46468e9b03d8f13e8c3d9e40f7e9adff1a1d
  Author: Kartik Ohlan <kartik7ohlan at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/gfni-or-fold.ll

  Log Message:
  -----------
  [AVX-512] Fix for disjoint-or-fold (VGF2P8AFFINEQB) (#190896)

Fixes #190502

Added implementation of helper combineOrWithGF2P8AFFINEQB and wired the logic with combineOrXorWithSETCC:

Fold: (GF2P8AFFINEQB(X, Y, Imm) or_disjoint SplatVal) -> GF2P8AFFINEQB(X, Y, Imm ^ SplatVal)

When OR is disjoint (no common bits), the splat constant can be folded directly into the GF2P8AFFINEQB immediate via XOR.


  Commit: dd034aef4a4631860180a81ff17129f50cc41dbb
      https://github.com/llvm/llvm-project/commit/dd034aef4a4631860180a81ff17129f50cc41dbb
  Author: Qihan Cai <caiqihan021 at hotmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86CompressEVEX.cpp
    M llvm/test/CodeGen/X86/evex-to-vex-compress.mir

  Log Message:
  -----------
  [X86] Fix VPMOVPattern folding for extended registers (#191760)

Fixes a problem that tryCompressVPMOVPattern incorrectly folds
instruction using extended registers into VEX. Introduced relevant tests
in MIR.

AI Statement: I used AI to write the tests.
Fixes #191304


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

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/__mdspan/mdspan.h
    M libcxx/include/mdspan
    M libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp

  Log Message:
  -----------
  [libc++] LWG4511: Inconsistency between the deduction guide of `std::mdspan` taking `(data_handle_type, mapping_type, accessor_type)` and the corresponding constructor (#191950)

No functional change; this only removes a redundant const qualifier.

Fixes: #189860


  Commit: 2332c5d1e1fc9ee98a70ac9df9e34a4f206ac29d
      https://github.com/llvm/llvm-project/commit/2332c5d1e1fc9ee98a70ac9df9e34a4f206ac29d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
    M llvm/test/Transforms/LoopVectorize/conditional-assignment.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/loopvectorize-costmodel.test

  Log Message:
  -----------
  [LV] Remove legacy selectVectorizationFactor and assert (NFCI) (#190838)

Almost all recipes now go through ::computeCost to properly compute
their costs using the VPlan-based cost model. There are currently no
known cases where the VPlan-based cost model returns an incorrect cost
vs the legacy cost model. I check the remaining open issues with reports
of the assertion triggering and in all cases the VPlan-based cost model
is more accurate, which is causing the divergence.

There are still some fall-back paths, mostly via precomputeCosts, but
those cannot be easily removed without triggering the assert, as the
VPlan-based cost model is more accurate for those cases. An example of
this is https://github.com/llvm/llvm-project/pull/187056.

Fixes https://github.com/llvm/llvm-project/issues/38575. 
Fixes https://github.com/llvm/llvm-project/issues/149651. 
Fixes https://github.com/llvm/llvm-project/issues/182646. 
Fixes https://github.com/llvm/llvm-project/issues/183739. 
Fixes https://github.com/llvm/llvm-project/issues/187523.

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


  Commit: 0756e5985f0c329365c0b0de9fb66dad6abd5d76
      https://github.com/llvm/llvm-project/commit/0756e5985f0c329365c0b0de9fb66dad6abd5d76
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/CodeGen/AArch64/active_lane_mask.ll
    M llvm/test/CodeGen/AArch64/combine-storetomstore.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
    M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
    M llvm/test/CodeGen/AArch64/extract-vector-elt-sve.ll
    M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
    M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
    M llvm/test/CodeGen/AArch64/rcpc3-sve.ll
    M llvm/test/CodeGen/AArch64/sme-pstate-sm-changing-call-disable-coalescing.ll
    M llvm/test/CodeGen/AArch64/sve-bf16-compares.ll
    M llvm/test/CodeGen/AArch64/sve-cmp-select.ll
    A llvm/test/CodeGen/AArch64/sve-distinct-predicate-dst.ll
    M llvm/test/CodeGen/AArch64/sve-fcvt.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-loads.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-stores.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-stores.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-insert-element.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-ld-post-inc.ll
    M llvm/test/CodeGen/AArch64/sve-load-compare-store.ll
    M llvm/test/CodeGen/AArch64/sve-mask-partition.ll
    M llvm/test/CodeGen/AArch64/sve-masked-compressstore.ll
    M llvm/test/CodeGen/AArch64/sve-nontemporal-masked-ldst.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop2.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop3.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-brk.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpeq.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpge.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpgt.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmphi.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmphs.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmple.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmplo.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpls.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmplt.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpne.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-log.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-match.ll
    M llvm/test/CodeGen/AArch64/sve-punpklo-combine.ll
    A llvm/test/CodeGen/AArch64/sve-regalloc-hint-unique-predicate-dst.mir
    M llvm/test/CodeGen/AArch64/sve-scmp.ll
    M llvm/test/CodeGen/AArch64/sve-select.ll
    M llvm/test/CodeGen/AArch64/sve-setcc.ll
    M llvm/test/CodeGen/AArch64/sve-smulo-sdnode.ll
    M llvm/test/CodeGen/AArch64/sve-split-insert-elt.ll
    M llvm/test/CodeGen/AArch64/sve-split-int-pred-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-gather-scatter.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
    M llvm/test/CodeGen/AArch64/sve-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-ucmp.ll
    M llvm/test/CodeGen/AArch64/sve-umulo-sdnode.ll
    M llvm/test/CodeGen/AArch64/sve-vector-compress.ll

  Log Message:
  -----------
  [AArch64] Hint regalloc to choose distinct predicate for MATCH/CMP (#190139)

For some cores it is preferable to choose a destination predicate
register that does not match the governing predicate.

The hint is conservative in that it tries not to pick a callee-save
register if it's not already used/allocated for other purposes, as that
would introduce new spills/fills. Note that this might be preferable if
the instruction is executed in a loop, but it might also be less
preferable for small functions that have an SVE interface (p4-p15 are
caller-preserved).

It is enabled for all cores by default, but it can be disabled by adding
the `disable-distinct-dst-reg-cmp-match` feature. This feature can also
be added to specific cores if this behaviour is undesirable.


  Commit: eb9a9b91ea65a7b0da1f84511df1c81805a4f7fd
      https://github.com/llvm/llvm-project/commit/eb9a9b91ea65a7b0da1f84511df1c81805a4f7fd
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [mlir][tosa] Create and use utility to print shapes (#191774)

Follow up for #191300


  Commit: fa720e7d5e5483b93b6098cf4d13dcebaf01ca92
      https://github.com/llvm/llvm-project/commit/fa720e7d5e5483b93b6098cf4d13dcebaf01ca92
  Author: Ian Tayler Lessa <ian.taylerlessa at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tosa] Optimize non-narrowing float casts (#191439)

Extend the existing NonNarrowingCastsOptimization to also cover casts
between floating point types f32, f16, bf16, f8E4M3FN and F8E5M2. Avoid
introducing direct casts between f8 types since those are not allowed in
TOSA.

Also expand the set of cases that are considering non-narrowing by only
checking if the cast we're trying to remove is non-narrowing. Example
i16 -> i32 -> i8 would have been rejected before, but it is now safely
converted to a single i16 -> i8 tosa.cast, since the behaviour should
identical for the entire input space.

Finally disallow the optimization in the case when the cast that we
would remove involves integer types of different signedness.

Signed-off-by: Ian Tayler Lessa <ian.taylerlessa at arm.com>


  Commit: 8beed11857172b89af2cf4c790bd51beee905506
      https://github.com/llvm/llvm-project/commit/8beed11857172b89af2cf4c790bd51beee905506
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp

  Log Message:
  -----------
  [Driver][HIP] Do not default to `hidden` visibility for AMDGCNSPIRV (#191820)

SPIR-V cannot encode hidden for now, which leads to quirky errors. For
now we deal with this at run time, as part of JIT. Once SPIR-V learns
about `hidden` it'll be revisited.


  Commit: bdec04f74395d14010ddf9aa4e3017504f70cfdb
      https://github.com/llvm/llvm-project/commit/bdec04f74395d14010ddf9aa4e3017504f70cfdb
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-add-sdot-i16-i32.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-add-sdot-i8-i16.ll

  Log Message:
  -----------
  [AArch64] Add new dot insts. to cost model (#189642)

This patch builds on #184659 and #184649 and adds cost modelling for new
dot instructions variants, codegened in those patches.


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

  Changed paths:
    M llvm/test/CodeGen/SPIRV/hlsl-resources/cbuffer.ll

  Log Message:
  -----------
  [NFC][SPIR-V] Fix cbuffer.ll test to pass spirv-val validation (#191940)

Mark `main()` function as a compute shader entry point with numthreads
attribute so the test produces valid SPIR-V

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


  Commit: 06c1aa3ca74cf73df07d1ef3fff9b476e5aedaab
      https://github.com/llvm/llvm-project/commit/06c1aa3ca74cf73df07d1ef3fff9b476e5aedaab
  Author: Weibo He <NewSigma at 163.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/docs/Coroutines.rst
    M llvm/include/llvm/Transforms/Coroutines/CoroShape.h
    M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp
    M llvm/test/Transforms/Coroutines/coro-debug.ll
    R llvm/test/Transforms/Coroutines/gh105595.ll

  Log Message:
  -----------
  [CoroEarly][IR] Clarify semantic of llvm.coro.end (#191752)

We introduced a workaround for the following pattern in #139243:
``` LLVM
define void @fn() presplitcoroutine {
  %__promise = alloca ptr, align 8
  ...

coro.ret:
  call void @llvm.coro.end(ptr null, i1 false, token none)
  store ptr null, ptr %__promise, align 8
  ret void
}
```
where DSE considers `__promise` dead after the return and eliminates the
store, leading to a miscompilation.

However, after #151067, the problematic pattern is gone. And it
currently looks like:
``` LLVM
gro.conv:
  store ptr null, ptr %__promise, align 8
  br label %after.gro.conv

after.gro.conv:
  br i1 %body.done, label %coro.cleanup, label %coro.ret

coro.ret:
  call void @llvm.coro.end(ptr null, i1 false, token none)
  ret void
```
DSE cannot eliminate the store because `__promise` escapes through
`coro.id`, and `coro.end` post-dominates the store. It turns out that
accessing the coroutine frame after `coro.end` is not safe. This patch
proposes clarifying the semantics of `coro.end` and reverting the
workaround, as it confuses alias analyses. I have scanned the tests and
updated the uses of the coroutine frame after `coro.end`.


  Commit: 1b804e20b9d258c8f0b454d43013cf2300f0df26
      https://github.com/llvm/llvm-project/commit/1b804e20b9d258c8f0b454d43013cf2300f0df26
  Author: Zhijie Wang <yesterda9 at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
    M clang/lib/Analysis/LifetimeSafety/Dataflow.h
    M clang/lib/Analysis/LifetimeSafety/Facts.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
    M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
    M clang/lib/Analysis/LifetimeSafety/Origins.cpp
    M clang/test/Sema/Inputs/lifetime-analysis.h
    M clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
    M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
    M clang/test/Sema/warn-lifetime-safety-noescape.cpp
    M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Track origins through std::function (#191123)

1. Recognizes `std::function` and `std::move_only_function` as types
that can carry origins from a wrapped lambda's captures, propagating
origins through both construction and assignment.
2. Adds a kill-only mechanism (i.e., a new `KillOriginFact`) to clear
old loans when the RHS has no origins.

Fixes #186009


  Commit: 7c3b4995cf17b847306b96783830bca46c56d6c4
      https://github.com/llvm/llvm-project/commit/7c3b4995cf17b847306b96783830bca46c56d6c4
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFDebugMacro (#191987)

This relates to #35980.


  Commit: 90ccb1cc9e47fa0d7acc2aa0750fe8d5a46c7757
      https://github.com/llvm/llvm-project/commit/90ccb1cc9e47fa0d7acc2aa0750fe8d5a46c7757
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFDebugLine (#191986)

This relates to #35980.


  Commit: 444ffde12de32e88cfcda2098e2eea0876850139
      https://github.com/llvm/llvm-project/commit/444ffde12de32e88cfcda2098e2eea0876850139
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFDebugFrame (#191984)

This relates to #35980.


  Commit: 3fe0bdfaa592cc0d7ce9f695a94522fa92366c6f
      https://github.com/llvm/llvm-project/commit/3fe0bdfaa592cc0d7ce9f695a94522fa92366c6f
  Author: Zachary Yedidia <zyedidia at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/docs/LFI.rst
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    A llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.cpp
    A llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.h
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/CMakeLists.txt
    A llvm/test/MC/AArch64/LFI/reserved.s
    A llvm/test/MC/AArch64/LFI/sys.s
    A llvm/test/MC/AArch64/LFI/tp.s

  Log Message:
  -----------
  [LFI][AArch64] Add AArch64 LFI rewrites for system instructions (#186896)

This builds on the MCLFIRewriter infrastructure to add the
AArch64-specific LFI rewriter, which rewrites AArch64 instructions for
LFI sandboxing during the assembler step.

The initial rewriter handles system instructions: system calls, thread
pointer accesses, and also rejects modifications to reserved registers.


  Commit: cabb972810f8e2e06fcba64d8fe967c3573c6c07
      https://github.com/llvm/llvm-project/commit/cabb972810f8e2e06fcba64d8fe967c3573c6c07
  Author: Davide Grohmann <davide.grohmann at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [mlir][spirv] Mark several SPIR-V TOSA Ext Inst ops as NoMemoryEffects (#191814)

Initially such ops were marked Pure wrongly since they could overflow or
underflow the accumulator and result in undefined behavior.

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


  Commit: 4c543ac848e0db170eaa223a734c1fed26468e24
      https://github.com/llvm/llvm-project/commit/4c543ac848e0db170eaa223a734c1fed26468e24
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFDebugRangeList (#191989)

This relates to #35980.


  Commit: 1e68dcc740c902ba418bd06e4e9677742b39acb8
      https://github.com/llvm/llvm-project/commit/1e68dcc740c902ba418bd06e4e9677742b39acb8
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFDebugRnglists (#191991)

This relates to #35980.


  Commit: d023386c5b054a6958d5aa1e156308ed0fcfcfa4
      https://github.com/llvm/llvm-project/commit/d023386c5b054a6958d5aa1e156308ed0fcfcfa4
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFDie (#191992)

This relates to #35980.


  Commit: 8417922cb4e25d79e8c362a6bf2b5d6aca882582
      https://github.com/llvm/llvm-project/commit/8417922cb4e25d79e8c362a6bf2b5d6aca882582
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M lldb/source/Target/RegisterContextUnwind.cpp

  Log Message:
  -----------
  [lldb] Start using formatv() in RegisterContextUnwind (NFCI) (#191576)

This introduces two macros that do the same
`UnwindLogMsg()`/`UnwindLogMsgVerbose()` functions, but allow using
`formatv()`-style formatting. In addition to the benefits that the
`formatv()` function provides, this makes `log enable -F lldb unwind`
print the correct methods names from which the messages originate
(previously, it printed the name of one of those two helper methods).

I didn't replace all function calls with macros because there are too
many of them for one PR. This only replaces calls whose format string
contains no specifiers or only '%s' specifiers.


  Commit: 20c2216d916180f3cff9b5bbb2cd3c645fd1d866
      https://github.com/llvm/llvm-project/commit/20c2216d916180f3cff9b5bbb2cd3c645fd1d866
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFListTable.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFListTable (#191996)

This relates to #35980.


  Commit: 2e07997236188c1cf8fed4534304a007f2d09330
      https://github.com/llvm/llvm-project/commit/2e07997236188c1cf8fed4534304a007f2d09330
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFTypeUnit (#191997)

This relates to #35980.


  Commit: 9f1da15276e18b165c54c00b2ccf2c54839c61f1
      https://github.com/llvm/llvm-project/commit/9f1da15276e18b165c54c00b2ccf2c54839c61f1
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFUnwindTablePrinter.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFUnwindTablePrinter (#191999)

This relates to #35980.


  Commit: cf3a6c8431f9a5b91f9faa77384a70029745dce8
      https://github.com/llvm/llvm-project/commit/cf3a6c8431f9a5b91f9faa77384a70029745dce8
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in LVCodeViewVisitor (#192010)

This relates to #35980.


  Commit: 34e5b955ddf809feb9ca8fd145e581471f684477
      https://github.com/llvm/llvm-project/commit/34e5b955ddf809feb9ca8fd145e581471f684477
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in LVBinaryReader (#192009)

This relates to #35980.


  Commit: 453d0e229d7a0288a65d16a15ba79948c4fff303
      https://github.com/llvm/llvm-project/commit/453d0e229d7a0288a65d16a15ba79948c4fff303
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in LVScope (#192008)

This relates to #35980.


  Commit: 65c462aa91e63ca545fd55f81e29f7b57b0a9d3d
      https://github.com/llvm/llvm-project/commit/65c462aa91e63ca545fd55f81e29f7b57b0a9d3d
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Core/LVRange.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in LVRange (#192006)

This relates to #35980.


  Commit: 8a5dc1275c45a88e8f9d72230d1df71ee9caeb98
      https://github.com/llvm/llvm-project/commit/8a5dc1275c45a88e8f9d72230d1df71ee9caeb98
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Core/LVObject.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in LVObject (#192004)

This relates to #35980.


  Commit: 941b0f40fdab6b9b141ad80f3e8fcc020b41e441
      https://github.com/llvm/llvm-project/commit/941b0f40fdab6b9b141ad80f3e8fcc020b41e441
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Core/LVLocation.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in LVLocation (#192003)

This relates to #35980.


  Commit: 2b593be98121e363d38644183210bf1933604a5a
      https://github.com/llvm/llvm-project/commit/2b593be98121e363d38644183210bf1933604a5a
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Core/LVElement.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in LVElement (#192002)

This relates to #35980.


  Commit: 297510f80397a553023cfe34ca5d08a507327163
      https://github.com/llvm/llvm-project/commit/297510f80397a553023cfe34ca5d08a507327163
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [BOLT][runtime] harden profile file open. (#191669)


  Commit: 8b5b987cfa7bff5b46bd8b384a52347ab74f6e4c
      https://github.com/llvm/llvm-project/commit/8b5b987cfa7bff5b46bd8b384a52347ab74f6e4c
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M bolt/runtime/instr.cpp

  Log Message:
  -----------
  [BOLT][runtime] fix readlink bound check in getBinaryPath. (#191666)

Ret was uint32_t truncating the uint64_t __readlink return, and was
compared against the unrelated getdents64 BufSize (1024) instead of
sizeof(TargetPath) (NameMax, 4096). A truncated readlink of exactly
NameMax bytes also wrote one byte past TargetPath.


  Commit: 1207be6e79c3fbc16625b0184bdf8d7a166b0a16
      https://github.com/llvm/llvm-project/commit/1207be6e79c3fbc16625b0184bdf8d7a166b0a16
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Target/RegisterContextUnwind.h
    M lldb/source/Target/RegisterContextUnwind.cpp

  Log Message:
  -----------
  [lldb] Use UNWIND_LOG macro in more places in RegisterContextUnwind (#192032)

Replace calls to `UnwindLogMsg()`/`UnwindLogMsgVerbose()` with
`UNWIND_LOG`/`UNWIND_LOG_VERBOSE` macros introduced in 8417922c.

This replaces calls whose format string contains only '%d' and sometimes
'%s' specifiers, the rest will be addressed in a future patch.

As a result of this change, the `UnwindLogMsgVerbose()` is no longer
used and has been removed.


  Commit: 270e0652dfa27091eb927113d16969122ac02a08
      https://github.com/llvm/llvm-project/commit/270e0652dfa27091eb927113d16969122ac02a08
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-04-14 (Tue, 14 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:
  -----------
  Reapply "[libc++][format] P3953R3: Rename `std::runtime_format` (#189657)" (#191939)

This reverts commit bfff42cd6733f451135cda9605557cdea59affc2.


  Commit: 60fdca0466a1e232b62dff1032bc5968fdca7fed
      https://github.com/llvm/llvm-project/commit/60fdca0466a1e232b62dff1032bc5968fdca7fed
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/test/CodeGen/NVPTX/globals_init.ll

  Log Message:
  -----------
  [LLVM][NVPTX] Add vector ConstantInt/FP support to bufferAggregateConstant. (#182544)


  Commit: a7993befd9a6c80ca1bc07ae5db2b644eae235a7
      https://github.com/llvm/llvm-project/commit/a7993befd9a6c80ca1bc07ae5db2b644eae235a7
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/aarch64-predication.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/predication_costs.ll

  Log Message:
  -----------
  [LV] Don't skip VPlan cost model for div/rem instructions (#187056)

In LoopVectorizationPlanner::precomputeCosts we are skipping calculation
of costs using the VPlan cost model, instead preferring to use the
legacy costs. This helps to prevent the legacy and vplan cost model
assert firing, but really we should be encouraging full use of the VPlan
cost model.

I've created this initial PR to stop skipping the computation costs for
udiv/urem/sdiv/srem instructions. The VPlan costs seem to match up
nicely.

I intend to follow up with more PRs to move more opcodes across.


  Commit: 12af401f6ab586aad5ee86103e6c5dd6aa798e88
      https://github.com/llvm/llvm-project/commit/12af401f6ab586aad5ee86103e6c5dd6aa798e88
  Author: ioana ghiban <ioana.ghiban at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M mlir/lib/Conversion/MathToEmitC/MathToEmitC.cpp
    M mlir/test/Conversion/MathToEmitC/math-to-emitc.mlir
    A mlir/test/Dialect/EmitC/math/ops.mlir

  Log Message:
  -----------
  [mlir][EmitC] Convert math::RoundEvenOp, SqrtOp and RsqrtOp (#190158)

This patch extends the Math-to-EmitC conversion to cover `math.roundeven` and
`math.sqrt` for scalar f32/f64 values.

`math.roundeven` and `math.sqrt` are lowered to `emitc.call_opaque` using the
appropriate target-specific names:

C: `roundevenf` / `roundeven`, `sqrtf` / `sqrt`
C++: `std::roundeven`, `std::sqrt`
The patch also adds coverage for `math.rsqrt`. There is no direct EmitC
lowering for `math.rsqrt`; instead, the new tests verify the existing expansion
path through `-math-expand-ops=ops=rsqrt`, followed by `-convert-math-to-emitc`
and `-convert-arith-to-emitc`. This ensures the cross-dialect lowering sequence
produces the expected `emitc.constant`, `emitc.call_opaque`, and `emitc.div`
operations for f32/f64.

Unsupported cases remain unchanged. In particular, the new test documents that
f16 math.rsqrt is not lowered because math.sqrt is only converted for f32/f64.


  Commit: f2b5dc225889df4ca368db0f481c67dddf19c471
      https://github.com/llvm/llvm-project/commit/f2b5dc225889df4ca368db0f481c67dddf19c471
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/test/API/symstore/TestSymStore.py

  Log Message:
  -----------
  [lldb] Fix: Disable shared build dir when testing with PDB (#190991)

The mechanism to disable `SHARED_BUILD_TESTCASE` for tests
that set `TEST_WITH_PDB_DEBUG_INFO` doesn't work. The property 
was set on the wrong object. This patch fixes it and moves the assignment
after the for-loop, since the respective dict only exists there.


  Commit: 78820cb91605693b7d768be4ebc8b66181d3e9c3
      https://github.com/llvm/llvm-project/commit/78820cb91605693b7d768be4ebc8b66181d3e9c3
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/include/clang/Driver/ToolChain.h
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    A clang/test/Driver/linux-multilib.yaml
    A clang/test/Driver/mingw-multilib.yaml

  Log Message:
  -----------
  [Clang] Enable multilib library support for Linux/Windows (#188584)

Summary:
This PR standardizes the logic used in the baremtal build to the common
toolchain interface. We then use this to handle the support in Linux and
Windows.

The multilib functionality allows us to select variant libraries based
off of a configuration file. For example, if the `multilib.yaml` file
detects `-fsanitize=address` it will automatically use the libraries
inside of `asan/` instead. These are layered so they do not necessarily
need to be complete library builds. More documentation can be found at
https://clang.llvm.org/docs/Multilib.html.

The motivation for this is so platforms like ROCm can use a more
standard way to ship debug / asan variants of libraries like OpenMP or
similar for both GPU an CPU targets.


  Commit: 356f2fcf412b19e37a98c61abf36917cad3455d6
      https://github.com/llvm/llvm-project/commit/356f2fcf412b19e37a98c61abf36917cad3455d6
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir.filter-out.expected
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir.filter.expected
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/x86-filter.test
    M llvm/utils/UpdateTestChecks/mir.py
    M llvm/utils/update_mir_test_checks.py

  Log Message:
  -----------
  [UpdateTestChecks] Add --filter/--filter-out support to update_mir_test_checks.py (#191059)

These options were already accepted by the script but silently ignored.
This patch makes them functional, consistent with
update_llc_test_checks.py.

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


  Commit: 0d20c873ddaa6699083510d77a749bf96046de7c
      https://github.com/llvm/llvm-project/commit/0d20c873ddaa6699083510d77a749bf96046de7c
  Author: Jan André Reuter <j.reuter at fz-juelich.de>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/test/OpenMP/cancel_codegen.cpp
    M clang/test/OpenMP/irbuilder_for_iterator.cpp
    M clang/test/OpenMP/irbuilder_for_rangefor.cpp
    M clang/test/OpenMP/irbuilder_for_unsigned.c
    M clang/test/OpenMP/irbuilder_for_unsigned_auto.c
    M clang/test/OpenMP/irbuilder_for_unsigned_down.c
    M clang/test/OpenMP/irbuilder_for_unsigned_dynamic.c
    M clang/test/OpenMP/irbuilder_for_unsigned_dynamic_chunked.c
    M clang/test/OpenMP/irbuilder_for_unsigned_runtime.c
    M clang/test/OpenMP/irbuilder_for_unsigned_static_chunked.c
    M clang/test/OpenMP/irbuilder_nested_parallel_for.c
    M clang/test/OpenMP/irbuilder_unroll_partial_factor_for.c
    M clang/test/OpenMP/irbuilder_unroll_partial_heuristic_constant_for.c
    M clang/test/OpenMP/irbuilder_unroll_partial_heuristic_runtime_for.c
    M clang/test/OpenMP/irbuilder_unroll_unroll_partial_factor.c
    M clang/test/OpenMP/nested_loop_codegen.cpp
    A flang/test/Integration/OpenMP/workshare-ident-flag.f90
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/test/Target/LLVMIR/omptarget-parallel-wsloop.mlir
    M mlir/test/Target/LLVMIR/openmp-cancel-distribute-parallel-loop.mlir
    M mlir/test/Target/LLVMIR/openmp-cancel.mlir
    M mlir/test/Target/LLVMIR/openmp-cancellation-point.mlir
    M mlir/test/Target/LLVMIR/openmp-composite-simd-if.mlir
    M mlir/test/Target/LLVMIR/openmp-dist_schedule_with_wsloop.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-simd-guided.mlir

  Log Message:
  -----------
  [OMPIRBuilder] Pass work loop type in ident flags (#189347)

Flang uses the OMPIRBuilder to lower OpenMP constructs to LLVM IR.
When dealing with work sharing constructs, such as DO, DISTRIBUTE or
SECTIONS/SECTION, OMPIRBuilder needs to construct the call to the OpenMP
runtime, typically `__kmpc_for_static_init` or
`__kmpc_dist_for_static_init`.

The first passed flag to these functions is the `ident_t` struct,
defined in `kmp.h`. Most of the arguments are reserved for usage in
Fortran and unused in `openmp`. However, the `flags` argument is used
throughout the code base to identify specific constructs, such as the
type of work sharing construct.

In https://github.com/llvm/llvm-project/issues/112545, it was identified
that Flang does not provide the correct `ident_t` flags when calling
into e.g. `__kmpc_for_static_init`, causing the following runtime
warning to appear when the OpenMP Tools Interface is used:

```
OMP: Warning #189: OMPT: Cannot determine workshare type; using the default (loop) instead. This issue is fixed in an up-to-date compiler.
```

This PR adds a test, verifying that the work sharing constructs provide
the correct flags to the runtime call. The IR check for SECTIONS/SECTION
maps against `KMP_IDENT_WORK_LOOP`, as the OMPIRBuilder converts the
SECTIONS construct into a DO loop with a switch-case for every SECTION
clause.

In addition, `OMPIRBuilder` is modified, so that the work loop type is
passed via `ident_t.flags` to the respective
`__kmpc_for_static_init`/`__kmpc_dist_for_static_init` calls, letting
the test pass and the `libomp` warning disappear.
Wherever possible, provide the mapping based on the passed `LoopType`.
If not available, I implemented the decision based on the
`DistScheduleSchedType`, or in case of `applyDynamicWorkshareLoop`,
hard-coded this to `OMP_IDENT_FLAG_WORK_LOOP`.

---

As this is the first time dealing with `OMPIRBuilder`, I'm not sure if I
missed anything while implementing these changes.
If there's anything that can be improved here, e.g. with the ident flag
mapping, I'm very grateful for any feedback. I tried to implement this
with the best of my understanding based on taking a look at the existing
code and tests.

For example, I was not sure if adding a test to
`flang/test/Integration/OpenMP/` is the correct approach here, or if I
rather should try to modify
`unittests/Frontend/OpenMPIRBuilderTest.cpp`. In the end, the former
looked to me more straight-forward.

---

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

---------

Signed-off-by: Jan André Reuter <j.reuter at fz-juelich.de>


  Commit: 6cfbc25102d95f1afa69351c36767d9d8c25c21a
      https://github.com/llvm/llvm-project/commit/6cfbc25102d95f1afa69351c36767d9d8c25c21a
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/MisleadingBidirectionalCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Fix clang-format (#192044)


  Commit: 224c429e858f8171852990a6f7b2b3590eeaffb7
      https://github.com/llvm/llvm-project/commit/224c429e858f8171852990a6f7b2b3590eeaffb7
  Author: Sirui Mu <msrlancern at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    A clang/docs/CIR/ABILowering.md
    A clang/docs/CIR/CleanupAndEHDesign.md
    A clang/docs/CIR/CodeDuplication.rst
    A clang/docs/CIR/_raw/PostProcessCIRDocs.py
    A clang/docs/CIR/index.rst
    M clang/docs/CMakeLists.txt
    R clang/docs/ClangIRABILowering.md
    R clang/docs/ClangIRCleanupAndEHDesign.md
    R clang/docs/ClangIRCodeDuplication.rst
    M clang/docs/conf.py
    M clang/docs/index.rst
    M clang/include/clang/CIR/Dialect/CMakeLists.txt
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt

  Log Message:
  -----------
  [clang][CIR][doc] Add auto-generated ClangIR documentation (#190354)

ClangIR has a collection of documentation pages that we want to upstream
as part of the main clang documentation. These pages are originally
available at https://clangir.org/, maintained in the [incubator
repository](https://github.com/llvm/clangir) which has been archived a
few months ago.

This patch makes a first step towards the upstreaming of ClangIR
documentation. The pages included in this patch are those automatically
generated from MLIR TableGen. Specifically, this patch makes the
following changes to the main clang documentation tree:

- It adds a new subdirectory `CIR` under `clang/docs` to hold all
ClangIR documentation. There are already 3 ClangIR design documents put
under `clang/docs`, and this patch moves all of them to this new
subdirectory.
  - It touches the necessary CMake files and Python scripts to:
- Generate ClangIR language reference automatically from MLIR TableGen
when building the clang documentation with `CLANG_ENABLE_CIR=ON`.
- Incorporate these automatically generated documents (if any) into the
main clang documentation build tree.


  Commit: d8c95e6ea4fbd6526641b87353bb31ce439afe8c
      https://github.com/llvm/llvm-project/commit/d8c95e6ea4fbd6526641b87353bb31ce439afe8c
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/mcontext_t.h
    A libc/include/llvm-libc-types/ucontext_t.h
    A libc/include/llvm-libc-types/x86_64/mcontext_t.h
    A libc/include/llvm-libc-types/x86_64/ucontext_t.h
    A libc/include/ucontext.h.def
    A libc/include/ucontext.yaml

  Log Message:
  -----------
  [libc] Add ucontext types and headers (#191789)

Added mcontext_t and ucontext_t types for x86_64 Linux, and the
ucontext.h header definition. Used a dispatcher pattern for mcontext_t
and ucontext_t to support future architecture ports, mirroring the
pattern used in FPUtil.

Definitions are based on the Linux kernel ABI for x86_64.

Co-authored-by: Pavel Labath <pavel at labath.sk>


  Commit: be1f7941b851427be01abac112057a50f8d333d2
      https://github.com/llvm/llvm-project/commit/be1f7941b851427be01abac112057a50f8d333d2
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    A clang/test/CIR/CodeGen/inherited-ctors.cpp

  Log Message:
  -----------
  [CIR] Inheriting Constructor/inheriting ctor inlining lowering (#191467)

In cases with inheritance/vertual tables/etc, we need to generate a
series of constructors to delegate to. There are a handful slightly
different cases where we need to generate these/generate calls to these,
so this patch does that lowering.

The test check-lines are a bit confusing thanks to the ordering
differences between declarations. However the LLVM/OGCG lines are copy
pasted (plus minor attribute differences), with the exception of the
call to a delegated constructor.

One thing of note here: There is a difference in behavior with the
delegated constructor, which is called out in the test in a comment.
Classic codegen has a bug where it correctly creates the declaration
without arguments (since this constructor is only for initializing the
vtable pointers, arguments aren't necessary). However, when
classic-codegen creates the call, it doesn't omit them.

This isn't a problem there, however in CIR, this causes us to fail the
verifier, so this fixes that in CIR, but leaves it alone in OGCG.


  Commit: ae2e4768f9bdcbb2c33906708a0ab6e2a7059734
      https://github.com/llvm/llvm-project/commit/ae2e4768f9bdcbb2c33906708a0ab6e2a7059734
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/ASTConcept.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/TemplateName.h
    M clang/include/clang/AST/TypeBase.h
    M clang/include/clang/Basic/Diagnostic.h
    A clang/include/clang/Basic/OptionalUnsigned.h
    M clang/include/clang/Basic/Specifiers.h
    R clang/include/clang/Basic/UnsignedOrNone.h
    M clang/lib/APINotes/APINotesTypes.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaType.cpp

  Log Message:
  -----------
  [clang] NFC: Refactor UnsignedOrNone into OptionalUnsigned<T> with enum support (#191828)

This kind optional is simpler to use when it needs to be represented in
a bitfield, because it has an `unsigned` integer representation which
avoids overflows. This applies to enums as well.

This also adds a single use of this new functionality, migrating users
of `std::optional<NullabilityKind>`
This optional used to be represented as two members in a bitfield, and
this simplifies things down to one.


  Commit: 91ebd4ac4ac4b11653a26b3a04af5b94ccda7e4c
      https://github.com/llvm/llvm-project/commit/91ebd4ac4ac4b11653a26b3a04af5b94ccda7e4c
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/APINotes/templates.cpp
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/AST/HLSL/ast-dump-SpirvType.hlsl
    M clang/test/AST/HLSL/matrix-alias.hlsl
    M clang/test/AST/HLSL/vector-alias.hlsl
    M clang/test/AST/ast-dump-decl-context-json.cpp
    M clang/test/AST/ast-dump-decl.cpp
    M clang/test/AST/ast-dump-invalid.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_namespace_1.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_reference.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_template_3.cpp
    M clang/test/AST/ast-dump-template-decls-json.cpp
    M clang/test/AST/ast-dump-template-decls.cpp
    M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/AST/float16.cpp
    M clang/test/AST/new-unknown-type.cpp
    M clang/test/Import/builtin-template/test.cpp
    M clang/test/Import/enum/test.cpp
    M clang/test/Import/namespace/test.cpp
    M clang/test/Import/template-specialization/test.cpp
    M clang/test/Modules/cxx-templates.cpp
    M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
    M clang/test/SemaTemplate/make_integer_seq.cpp

  Log Message:
  -----------
  [clang] fix some places where used decls were not marked as referenced (#191848)

Fixes some entities not being marked as referenced despite being used in
source code.
Also ties diagnostic-of-use to such references, because I don't think
there is a reason to have one without the other, even though I can't
think of a diagnosable entity which was not already covered before.


  Commit: 4c7c3eaf3289845208942a10f8f7494880f93197
      https://github.com/llvm/llvm-project/commit/4c7c3eaf3289845208942a10f8f7494880f93197
  Author: Fabio D'Urso <fdurso at google.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/wrappers_c.cpp

  Log Message:
  -----------
  [scudo] Do not define some entrypoints on Fuchsia (#191826)

These entrypoints were defined separately in wrappers_c_bionic.cpp
(which Fuchsia did not include in the build) before #190857 and,
therefore, were not exposed to Fuchsia's Scudo clients.

With #190857, they have been merged into the main wrappers_c.cpp file,
removing this separation.

This commit makes them conditionally-defined to not be building for
Fuchsia, to restore the pre-#190857 ABI.


  Commit: 14ee89214c437495ef35419534bd657b2ddae768
      https://github.com/llvm/llvm-project/commit/14ee89214c437495ef35419534bd657b2ddae768
  Author: Alex Duran <alejandro.duran at intel.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M offload/test/offloading/interop-print.c

  Log Message:
  -----------
  [OFFLOAD] Fix interop-print test commands (#191969)

Using %libomptarget-run-generic will fail or run an incorrect binary if
the previous %libomptarget-compile becames ignored because there's no
such device. Switching to use %libomptarget-compile-and-run-* which
doesn't have this issue.

Fixes post-merge issue of #191901


  Commit: 44926b35d3160199ea4a60a34c3dcdb6837aa9ec
      https://github.com/llvm/llvm-project/commit/44926b35d3160199ea4a60a34c3dcdb6837aa9ec
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/include/llvm/ObjectYAML/DWARFYAML.h
    M llvm/lib/ObjectYAML/DWARFEmitter.cpp
    M llvm/lib/ObjectYAML/DWARFYAML.cpp
    M llvm/test/tools/yaml2obj/ELF/DWARF/debug-line-v5.yaml

  Log Message:
  -----------
  [DWARFYAML] Add support for v5 debug_line entry formats (#191358)

This lets us specify the *format* of the directory and file name
entries, but not the entries themselves.


  Commit: 16f793876e0768f6e322918d1cd99f4d85a2e30d
      https://github.com/llvm/llvm-project/commit/16f793876e0768f6e322918d1cd99f4d85a2e30d
  Author: Alexandre Perez <alexandreperez at meta.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M lldb/source/Target/StackFrameList.cpp
    M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py

  Log Message:
  -----------
  [lldb] Fix synthetic frame identity loss during incremental fetches (#191903)

When `SyntheticStackFrameList::FetchFramesUpTo` is called incrementally,
PC-less synthetic frames can end up with identical `StackID` values.
This happens because `num_synthetic_frames` is reset to zero on each
call, handing out duplicate call frame addresses. Since PC-less frames
all share `LLDB_INVALID_ADDRESS` as their PC, the `StackID` equality
check cannot distinguish them, and `ExecutionContextRef` resolves the
wrong frame.

The fix counts existing synthetic frames in `m_frames` before starting
the fetch loop so new frames receive unique call frame addresses.


  Commit: 03f6faa2c35d48d1a403c31d1587050aa168304b
      https://github.com/llvm/llvm-project/commit/03f6faa2c35d48d1a403c31d1587050aa168304b
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/masked_ldst_vls.ll

  Log Message:
  -----------
  [NFC][AArch64][TTI] Autogenerate masked_ldst_vls check lines (#192048)

Precommit before changing the cost model.


  Commit: 56ce7ede7d290758bc00dd8596f65639d1c3544f
      https://github.com/llvm/llvm-project/commit/56ce7ede7d290758bc00dd8596f65639d1c3544f
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [AArch64] Fix strict weak ordering violation in regalloc hints sort. (#192055)

This fixes an error with expensive checks after landing #190139.

The issue was:

Error: comparison doesn't meet irreflexive requirements, assert(!(a <
a)).

because it could have previously returned 'true' in the ordering
function if registers A and B were equal.

Also made NFC change to rename 'HandleMatchCmpPredicateHint' ->
'HandleDestructivePredicateHint' (that was missed in the review).


  Commit: 66d78d00e517f75b4011ce669d1319289876bb7b
      https://github.com/llvm/llvm-project/commit/66d78d00e517f75b4011ce669d1319289876bb7b
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/test/CodeGen/PowerPC/bit_floor.ll

  Log Message:
  -----------
  [PowerPC] fix Inefficient std::bit_floor(x)  (#183361)

Fix  Inefficient asm of std::bit_floor(x) for powerpc.


  Commit: c7903ce8ae3213e2f406432ce9c4ac73f2cec209
      https://github.com/llvm/llvm-project/commit/c7903ce8ae3213e2f406432ce9c4ac73f2cec209
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/Driver/ToolChain.cpp
    M clang/test/Driver/fsanitize-cfi.c
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/test/Transforms/LowerTypeTests/function-weak.ll
    M llvm/test/Transforms/LowerTypeTests/function.ll

  Log Message:
  -----------
  [Hexagon] Add CFI-ICall sanitizer support (#191754)

Enable -fsanitize=cfi-icall for Hexagon targets:
- Add Hexagon to the CFI-ICall allow-list in the Clang driver.
- Add Hexagon jump table support in LowerTypeTests: 4-byte entries using
the `jump` instruction, and route Hexagon through the native function
bit-set builder.


  Commit: 20edc8496df3b2e5fc08df89c6ca7b77f5e2aaf8
      https://github.com/llvm/llvm-project/commit/20edc8496df3b2e5fc08df89c6ca7b77f5e2aaf8
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [compiler-rt][TySan] Use pointer-width types for shadow memory ops (#191602)

The TySan runtime used uint64_t/int64_t casts for shadow memory pointer
arithmetic and interior-byte marker values. These are incorrect on
32-bit targets where pointers are 4 bytes: the shadow entries are
pointer-sized, so the offsets and marker values must also be
pointer-sized.

Replace uint64_t/int64_t with uptr/sptr (sanitizer_common's
pointer-width typedefs) throughout SetShadowType, GetNotAllBadTD,
GetNotAllUnkTD, and __tysan_instrument_mem_inst. This is a no-op on
64-bit targets (where uptr == uint64_t) and fixes shadow corruption on
32-bit targets.


  Commit: 4f5e8792a4fb5147c4e5c97fa75a89e1d1f6b682
      https://github.com/llvm/llvm-project/commit/4f5e8792a4fb5147c4e5c97fa75a89e1d1f6b682
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [clang][Driver] Enable -fsanitize=type for Hexagon Linux (#191604)

Allow the TypeSanitizer to be used on Hexagon Linux targets.


  Commit: b3a508675ca39eca980c2f5a438004d7e7f233a8
      https://github.com/llvm/llvm-project/commit/b3a508675ca39eca980c2f5a438004d7e7f233a8
  Author: Amina Chabane <amina.chabane at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    A bolt/test/AArch64/tail-duplication-cache.s
    A bolt/test/AArch64/tail-duplication-pass.s
    M bolt/test/X86/tail-duplication-pass.s

  Log Message:
  -----------
  [BOLT][AArch64] Extend test coverage for TailDuplication in AArch64 (#191453)

Adds tests for tail duplication with modes aggressive/cache/moderate for
AArch64. Tests are based on respective X86 tests.
Fix up an incorrect comment on X86/tail-duplication-pass.s.


  Commit: 94bb1b0590f43b517f290053b74e72e38101aa9b
      https://github.com/llvm/llvm-project/commit/94bb1b0590f43b517f290053b74e72e38101aa9b
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
    M llvm/test/Analysis/CostModel/AArch64/masked_ldst_vls.ll

  Log Message:
  -----------
  [AArch64][TTI] Increase cost for masked memory operations requiring splitting (#191417)

If we need to split the memory operation, we'll also need to split the
mask.

This has a performance benefit in some cases when the loop vectorizer is
asked to maximize bandwidth and ends up choosing a VF that's too high
when tail folding. The costs of splitting the masks are not accounted
for in the current model, so this is something of a brute-force approach
to avoiding the wider VFs.


  Commit: 0037a636fde9d9a426a18e8963a5bab016187a6c
      https://github.com/llvm/llvm-project/commit/0037a636fde9d9a426a18e8963a5bab016187a6c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/reduction-shl1-add-merge.ll

  Log Message:
  -----------
  [SLP][NFC]Add extra test for add/shl transformation opportunity in reductions, NFC



Reviewers: 

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


  Commit: b6c9cbe69d96ac80c3ed42b09c19dddc15df464e
      https://github.com/llvm/llvm-project/commit/b6c9cbe69d96ac80c3ed42b09c19dddc15df464e
  Author: Nashe Mncube <nashe.mncube at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Processors.td
    A llvm/lib/Target/AArch64/AArch64SchedC1Ultra.td
    M llvm/lib/Target/AArch64/AArch64SchedPredNeoverse.td
    M llvm/lib/Target/AArch64/AArch64SchedPredicates.td
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-basic-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-bf16-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-complxnum-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-flag-manipulation-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-forwarding.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-fp16fml-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-fptoint-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-i8mm-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-mte-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-neon-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-rcpc-immo-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-sve-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-writeback.s
    A llvm/test/tools/llvm-mca/AArch64/Inputs/flag-manipulation-instructions.s

  Log Message:
  -----------
  [AArch64] C1-Ultra Scheduling model (#182251)

This patch adds the C1-Ultra scheduling model. This model is largely
based on the Neoverse V3 scheduling model with appropriate changes made
based on information available in the software optimization guide for
this core.

https://developer.arm.com/documentation/111079/3-0


  Commit: ff04d0d6cd5dbb21122cefc13a68afd51b65067a
      https://github.com/llvm/llvm-project/commit/ff04d0d6cd5dbb21122cefc13a68afd51b65067a
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/utils/TableGen/DFAPacketizerEmitter.cpp

  Log Message:
  -----------
  [TableGen] Fix the non-determinism in DFAPacketizerEmitter.cpp (#192037)

Sort the std::set ProcItinList by Record name, not the pointer address.

---------

Co-authored-by: Bao, Qiaojin (Fred) <Qiaojin.Bao at amd.com>


  Commit: 1737a913ed015796c9ba843de6c410c727070022
      https://github.com/llvm/llvm-project/commit/1737a913ed015796c9ba843de6c410c727070022
  Author: Jan André Reuter <j.reuter at fz-juelich.de>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M openmp/runtime/test/ompt/misc/control_tool.c

  Log Message:
  -----------
  [OpenMP][OMPT] Revert `control_tool.c` changes from #191429 (#192069)

On s390x, the changes to `control_tool.c` cause a different return
address to be returned from the call to `print_current_address(0)`. Due
to the strictness of the current address returned by this call, this
lead to a test failure.

Since the return values of `omp_control_tool` are checked in separate
tests already, revert the changes to ensure that the return address
stays at the expected value.

Signed-off-by: Jan André Reuter <j.reuter at fz-juelich.de>


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll

  Log Message:
  -----------
  [TargetLowering] Prevent expandVectorFindLastActive from creating illegal vector types during vector op legalization. (#190914)

This code needs to create a step vector but we only have a mask vector
type. If the step vector is too large it might not be an MVT. This
causes the getSimpleVT() call for getTypeAction to fail. We can replace
that with the EVT version of getTypeAction, but we'll still fail trying
to legalize the vselect. The getOperationAction query will return Expand
for non-simple VTs. ExpandVSELECT will try to unroll the vselect which
will fail for scalable vectors. We could hack that to not unroll
scalable vectors, but that would be a hack.

To fix this, split the FIND_LAST_ACTIVE into two if the step vector
needs to be split. Those will recursively legalize and eventually arrive
at a size we can create a valid step vector for.

One existing test changes because it created an illegal type which
happened to still be an MVT. This allowed getOperationAction to return
Legal, even though the type isn't legal.

Fixes the assertion mentioned in #187458.

Assisted-by: Claude Sonnet 4.5


  Commit: 8c77fed3eebf424682537c8f05b82485a0bf3e49
      https://github.com/llvm/llvm-project/commit/8c77fed3eebf424682537c8f05b82485a0bf3e49
  Author: Jonathan Schleifer <js at nil.im>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/TargetParser/Triple.cpp

  Log Message:
  -----------
  Run clang-format on TargetParser/Triple.{cpp,h} (#192064)

It already got inconsistent because new changes require complying with
clang-format on CI, while everything old is not complying with it.


  Commit: bbeae6932d653b8a71a3a985af0ccf97e13e2e08
      https://github.com/llvm/llvm-project/commit/bbeae6932d653b8a71a3a985af0ccf97e13e2e08
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/test/Lower/Intrinsics/verify.f90
    M flang/test/Lower/io-char-array.f90
    M flang/test/Lower/io-implied-do-fixes.f90
    M flang/test/Lower/io-item-list.f90
    M flang/test/Lower/io-statement-1.f90

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

Tests converted from test/Lower/Intrinsics: verify.f90
Tests converted from test/Lower: io-char-array.f90,
io-implied-do-fixes.f90, io-item-list.f90, io-statement-1.f90


  Commit: 61aebacee7487ab168d2cf6757697ae178762dd8
      https://github.com/llvm/llvm-project/commit/61aebacee7487ab168d2cf6757697ae178762dd8
  Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    A flang/test/Transforms/FIRToMemRef/slice-projected.mlir

  Log Message:
  -----------
  [flang][FIRToMemRef] Fix lowering of complex array component slices (z%re, z%im) (#191846)

fir.slice with a path component (z%re, z%im) was silently dropped by
FIRToMemRef. Since memref.reinterpret_cast cannot change element type,
layout must come from the projected box descriptor via
fir.box_dims/fir.box_elesize rather than the triplets. Only
complex-array projections are handled here —
sizeof(complex<T>)/sizeof(T) = 2 is always exact for divsi. Derived-type
component projections bail out to downstream FIR-to-LLVM lowering where
strides can be non-integer.


  Commit: 2b49a90b82ec5cf753f1ebafddb9790660c1aaa9
      https://github.com/llvm/llvm-project/commit/2b49a90b82ec5cf753f1ebafddb9790660c1aaa9
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/test/CIR/CodeGenCUDA/device-stub.cu

  Log Message:
  -----------
  [CIR][CUDA] Handle CUDA module constructor and destructor emission. (#188673)


  Commit: 034d4dcad6396d1241e8262e69871b8d61da7e4f
      https://github.com/llvm/llvm-project/commit/034d4dcad6396d1241e8262e69871b8d61da7e4f
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/SemaCXX/gh135694.cpp

  Log Message:
  -----------
  [Clang] Diagnose invalid non-dependent calls in dependent contexts. (#190965)

We were bailing out from checking calls expressions in a dependent
context, but if the expression itself was not dependent it's never
checked again.

Fixes #135694


  Commit: 530688456deef791dc294891e82d44ca4e6c307f
      https://github.com/llvm/llvm-project/commit/530688456deef791dc294891e82d44ca4e6c307f
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/CodeGen/cfguard-mechanism.c
    M clang/test/Driver/cl-options.c
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/Support/CodeGen.h
    M llvm/include/llvm/Transforms/CFGuard.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/ARM/ARMTargetMachine.cpp
    M llvm/lib/Target/X86/X86CallingConv.td
    M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86TargetMachine.cpp
    M llvm/lib/Transforms/CFGuard/CFGuard.cpp
    M llvm/test/CodeGen/AArch64/cfguard-module-flag.ll
    M llvm/test/CodeGen/ARM/cfguard-module-flag.ll
    M llvm/test/CodeGen/X86/cfguard-module-flag.ll
    A llvm/test/Linker/cfguard.ll

  Log Message:
  -----------
  [win] Add a flag to control the Control Flow Guard mechanism on Windows (#176276)

Windows Control Flow Guard (CFG) has two different "mechanisms" or
"patterns":
* Dispatch: the caller calls into the CFG function, which both checks
the target callee and then calls it.
* Check: the caller calls the CFG function which only checks the target
callee and then must separately call the callee.

LLVM has followed MSVC's pattern for selecting the mechanism based on
the target architecture. These defaults in MSVC are based on tests for
performance: Dispatch produces a smaller code size, whereas Check is
more friendly to branch predictors.

It is possible, however, for a given workload, call pattern or target
CPU that someone may want to select a different mechanism to use for
their code.

This change adds a new Clang and CC1 flag to force a CFG mechanism:
`-fwin-cfg-mechanism`. This can be set to `automatic` (lets LLVM choose
a mechanism), `force-dispatch` or `force-check`.

Also adds the support for the equivalent MSVC flag
`/d2guardcfgdispatch`.

NOTE: Arm64EC only supports the check mechanism. It should be noted that
MSVC emits the "dispatch" name for the call checker (for legacy reasons)
but uses the check mechanism.


  Commit: 4a37b03357a9c5a40be292818969523c666c3115
      https://github.com/llvm/llvm-project/commit/4a37b03357a9c5a40be292818969523c666c3115
  Author: Harry Ramsey <harryramseybusiness at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [AArch64][ISel] Add lowering for fixed-width `cttz` intrinsic (#190988)

This patch enables NEON to generate more efficient `cttz` intrinsics by
utilising `rbit` and `ctlz` instructions when they are legal.

# Alive Proof
https://alive2.llvm.org/ce/z/qgrT_7
```
define <8 x i8> @src_v8i8(<8 x i8> %a) {
#0:
  %r = cttz <8 x i8> %a, 1
  ret <8 x i8> %r
}
=>
define <8 x i8> @tgt_v8i8(<8 x i8> %a) {
#0:
  %rbit = bitreverse <8 x i8> %a
  %clz = ctlz <8 x i8> %rbit, 0
  ret <8 x i8> %clz
}
Transformation seems to be correct!


----------------------------------------
define <16 x i8> @src_v16i8(<16 x i8> %a) {
#0:
  %r = cttz <16 x i8> %a, 1
  ret <16 x i8> %r
}
=>
define <16 x i8> @tgt_v16i8(<16 x i8> %a) {
#0:
  %rbit = bitreverse <16 x i8> %a
  %clz = ctlz <16 x i8> %rbit, 0
  ret <16 x i8> %clz
}
Transformation seems to be correct!
```


  Commit: 7b744a511e989df39f0a49f80528b0580348b863
      https://github.com/llvm/llvm-project/commit/7b744a511e989df39f0a49f80528b0580348b863
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/MLProgram/Transforms/PipelineGlobalOps.cpp
    M mlir/test/Dialect/MLProgram/pipeline-globals.mlir

  Log Message:
  -----------
  [MLIR][MLProgram] Fix crash in mlprogram-pipeline-globals on unresolvable callees (#189244)

The `MLProgramPipelineGlobals` pass crashed with a null pointer dereference
when a `CallOpInterface` operation referred to a callee symbol that could not
be resolved in the IR (e.g. an external function defined outside the module).

Instead  conservatively bail out when a callee symbol cannot be resolved, 
causing the pass to (preserving all loads/stores). This is consistent with
how Value-based callees are handled.

Fixes #109649

Assisted-by: Claude Code


  Commit: c47c3344dc01a86e34168623120820a29785a3d1
      https://github.com/llvm/llvm-project/commit/c47c3344dc01a86e34168623120820a29785a3d1
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUEnums.h

  Log Message:
  -----------
  [mlir][AMD] Add missing includes to AMDGPUEnums.h (NFC) (#191077)

This header assumed these had been imported


  Commit: 3ba18a675bf8bbfc4d52427e895a518a5685f19b
      https://github.com/llvm/llvm-project/commit/3ba18a675bf8bbfc4d52427e895a518a5685f19b
  Author: Justin Fargnoli <jfargnoli at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/test/Transforms/LoopUnroll/debug.ll

  Log Message:
  -----------
  [LoopUnroll] Fix misleading runtime unroll debug message (#190709)

Avoid the confusing `Runtime unrolling with count: 0` `LLVM_DEBUG`
statement.


  Commit: 142d3c2a445365498e8e7d8a2926595ac0508615
      https://github.com/llvm/llvm-project/commit/142d3c2a445365498e8e7d8a2926595ac0508615
  Author: Chi-Chun, Chen <chichun.chen at hpe.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [NFC][OMPIRBuilder][OpenMP] Pass AffinityData by reference instead of… (#191863)

… value


  Commit: 8a69fb096cb3f3f99ee9bf25247f4b0bc442ca84
      https://github.com/llvm/llvm-project/commit/8a69fb096cb3f3f99ee9bf25247f4b0bc442ca84
  Author: hanbeom <kese111 at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [InstCombine] Fold (X + C) + (Y & ~C) to X + (Y | C) (#191334)

Add an InstCombine fold for masked overwrite patterns where the add
constant matches the cleared bits in the mask:

  (X + C) + (Y & ~C) -> X + (Y | C)

Since `Y & ~C` clears all bits set in C, adding C cannot generate carry
through those bits and is equivalent to setting them with `or`.

Proof: https://alive2.llvm.org/ce/z/277UFK
Fixed: https://github.com/llvm/llvm-project/issues/191171


  Commit: 40a585e742ed6b28306d7511380079325ba1a003
      https://github.com/llvm/llvm-project/commit/40a585e742ed6b28306d7511380079325ba1a003
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/Frontend/CompilerInvocation.cpp
    A clang/test/CIR/Driver/clangir.c

  Log Message:
  -----------
  [CIR] Disable CIR pipeline for LLVM IR inputs (#187729)

When -fclangir is passed and the input is LLVM IR (e.g. during the
backend phase of OpenMP offloading), the CIR frontend pipeline is not
applicable.


Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>


  Commit: 934f795064ab201553945c59b13ce2ae543d4fcd
      https://github.com/llvm/llvm-project/commit/934f795064ab201553945c59b13ce2ae543d4fcd
  Author: Lucas Chollet <lucas.chollet at serenityos.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChain.cpp
    A clang/lib/Driver/ToolChains/Serenity.cpp
    A clang/lib/Driver/ToolChains/Serenity.h
    M clang/lib/Lex/InitHeaderSearch.cpp
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/aarch64-unknown-serenity/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/aarch64-unknown-serenity/clang_rt.crtend.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/riscv64-unknown-serenity/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/riscv64-unknown-serenity/clang_rt.crtend.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/x86_64-unknown-serenity/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/x86_64-unknown-serenity/clang_rt.crtend.o
    A clang/test/Driver/Inputs/serenity_tree/usr/include/c++/v1/.keep
    A clang/test/Driver/Inputs/serenity_tree/usr/lib/crt0.o
    A clang/test/Driver/serenity.cpp
    A clang/test/Preprocessor/init-serenityos.c

  Log Message:
  -----------
  [clang] Add support for SerenityOS (#187941)

Adds support for the $arch-unknown-serenity target to the Clang front
end. This makes the compiler look for libraries and headers in the right
places, and enables some security mitigations like stack-smashing
protection and position-independent code by default.

----

A first attempt at upstreaming this patch was made
[here](https://reviews.llvm.org/D154396). I hope I fixed everything
mentioned there.

I intentionally kept `/usr/local/` in the default lookup path. I
consider it the more practical option, and I’d prefer to have the patch
merged as is and revisit the FIXME later. If this is absolutely
unacceptable to the maintainers, I will happily drop it and keep it as a
local patch until we address the underlying issue.

@MaskRay, @brad0 as you already reviewed the original patch.

---------

Co-authored-by: Daniel Bertalan <dani at danielbertalan.dev>
Co-authored-by: kleines Filmröllchen <filmroellchen at serenityos.org>
Co-authored-by: Andrew Kaster <akaster at serenityos.org>
Co-authored-by: Dan Klishch <danilklishch at gmail.com>


  Commit: b29bfa5e9b2b1cd395566759f5f0f27cb706fe94
      https://github.com/llvm/llvm-project/commit/b29bfa5e9b2b1cd395566759f5f0f27cb706fe94
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M libc/include/llvm-libc-types/__futex_word.h

  Log Message:
  -----------
  [libc][NFC] Fix GCC build in __futex_word.h (#192078)

Included __llvm-libc-common.h in __futex_word.h to fix a build failure
with GCC.

GCC in C++ mode does not recognize _Alignas without the mapping to
alignas provided in __llvm-libc-common.h.

The failure was introduced in commit 91c0fdfe1392.


  Commit: ae1e3eb379cde6b5d2e31104b4dbbbcf42298f3e
      https://github.com/llvm/llvm-project/commit/ae1e3eb379cde6b5d2e31104b4dbbbcf42298f3e
  Author: Andrei Elovikov <andrei.elovikov at sifive.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    A llvm/test/Transforms/LoopVectorize/AArch64/ordered-reduction-with-invariant-stores.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/predication_costs.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll

  Log Message:
  -----------
  [NFCI][VPlan] Split initial mem-widening into a separate transformation (#182592)

Preparation change before implementing stride-multiversioning as a
VPlan-based transformation. Might help
https://github.com/llvm/llvm-project/pull/147297/ as well.


  Commit: 1a233a8acf836744b1d547c74c27422a57100853
      https://github.com/llvm/llvm-project/commit/1a233a8acf836744b1d547c74c27422a57100853
  Author: German Gambon <ggambon at tesla.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/test/Dialect/Quant/Bytecode/types.mlir
    M mlir/test/Dialect/Quant/parse-uniform.mlir

  Log Message:
  -----------
  [mlir][quant] Print actual quant storage type when signed (#187300)

Without the fix, bytecode serialization roundtrip breaks for types that
don't have custom bytecode serializers and contain quant types, since
the fallback mechanism prints the type and the quant printer coerces
signed to signless types. E.g. `!custom<!quant.uniform<ui8:f32, 0.1>>`
will print as `u8` when serializing and later be created as a signless
`i8` when deserializing.


  Commit: d24d4b64e81ca3a2161772886a05a16ed8927080
      https://github.com/llvm/llvm-project/commit/d24d4b64e81ca3a2161772886a05a16ed8927080
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cpp

  Log Message:
  -----------
  [sanitizer] Add missing bitcast to sanitizer_bitvector_test.cpp (#192090)

Fixes buildbot report
(https://lab.llvm.org/buildbot/#/builders/66/builds/29379):


/home/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cpp:64:29:
error: format specifies type 'unsigned long' but the argument has type
'uptr' (aka 'unsigned int') [-Werror,-Wformat]
   64 |     fprintf(stderr, "%lu ", idx);
      |                      ~~~    ^~~
      |                      %u


  Commit: 472aa4e326be7f1ea7b182f2e55193474f22e6de
      https://github.com/llvm/llvm-project/commit/472aa4e326be7f1ea7b182f2e55193474f22e6de
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/unittests/CIR/CMakeLists.txt
    A clang/unittests/CIR/UnionTypeSizeTest.cpp

  Log Message:
  -----------
  [CIR] Fix union RecordType::getTypeSizeInBits to return bits (#191516)

RecordType::getTypeSizeInBits for unions was calling
dataLayout.getTypeSize (which returns bytes) instead of
dataLayout.getTypeSizeInBits.  This returned a value 8x too
small.  Also handle the empty-union case where
getLargestMember returns nullptr.


  Commit: 2b77a527dcc60384c8d88ae6e583d16bfa2b472b
      https://github.com/llvm/llvm-project/commit/2b77a527dcc60384c8d88ae6e583d16bfa2b472b
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-memchr.c

  Log Message:
  -----------
  [CIR] Add noundef to memchr declaration and call sites (#191457)

The memchr LLVM declaration created by MemChrOp lowering had no
arg_attrs, so the lowered IR was missing `noundef` on all three
parameters.  OGCG emits `noundef` on them.

Adds `noundef` to both the `@memchr` declaration and each
`call @memchr` instruction.

Made with [Cursor](https://cursor.com)


  Commit: 516c4d97a50d413a6a0381bbcfa7892b08da07c2
      https://github.com/llvm/llvm-project/commit/516c4d97a50d413a6a0381bbcfa7892b08da07c2
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Target/RegisterContextUnwind.h
    M lldb/source/Target/RegisterContextUnwind.cpp

  Log Message:
  -----------
  [lldb] Replace remaining uses of `UnwindLogMsg()` with UNWIND_LOG macro (#192038)

This mostly replaces `"0x%" PRIx64` with `"{:x}"`, but also replaces
'%d' (used for register / scheme numbers and CFA offsets) and '%s' with
simple `{}`, removing the now redundant casts and calls to
`GetCString()` / `AsCString()`.

`UnwindLogMsg()` is no longer used and has been removed.


  Commit: 9145467cba6b6ce352b62f8499bb5afb725ce325
      https://github.com/llvm/llvm-project/commit/9145467cba6b6ce352b62f8499bb5afb725ce325
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/include/llvm/TargetParser/RISCVTargetParser.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/test/CodeGen/RISCV/rvv/mixed-float-bf16-arith.ll

  Log Message:
  -----------
  [RISCV] Prevent emitting vsetvli with e32alt or e64alt. (#191960)

The e32alt and e64alt encodings for vtype are reserved.

Non-fp instructions ignore altfmt and we want to use that to avoid
vtype toggle when using load, store, slide, gather, etc. to manipulate
bf16 vectors. This is why we have a Demanded bit for AltFmt.

We need to make sure we don't keep the AltFmt set when we're changing
SEW to 32 or 64.

A new isValidVType function has been added to help catch illegal
vtype earlier.


  Commit: 1e8bcec49ef757bc0ac5eb4b224a4439acdb69df
      https://github.com/llvm/llvm-project/commit/1e8bcec49ef757bc0ac5eb4b224a4439acdb69df
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    A clang/test/CIR/CodeGen/builtin-verbose-trap.cpp

  Log Message:
  -----------
  [CIR] Implement __builtin_verbose_trap (#191935)

Route BI__builtin_verbose_trap to the existing emitTrap() path so that
it no longer hits the NYI fallback. Debug info message attachment from
the string arguments is not yet implemented (tracked by
MissingFeatures::generateDebugInfo).

This is the single largest NYI category in libcxx testing, unblocking
~1,008 test failures.


  Commit: 05c982a2fd9a07e3b2f314284742a084ba9ac6e7
      https://github.com/llvm/llvm-project/commit/05c982a2fd9a07e3b2f314284742a084ba9ac6e7
  Author: Shonie Caplan <94767648+shoniecaplan at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/IR/Instruction.cpp
    M llvm/test/Transforms/InstCombine/freeze.ll

  Log Message:
  -----------
  [IR] treat nofpclass as a poison-generating return attribute (#192016)

- For: #191338

Failing nofpclass attribute will generate poison.
This change adds nofpclass attributes to
`hasPoisonGeneratingReturnAttributes`/`dropPoisonGeneratingReturnAttributes`.


  Commit: 560004b2b1f83f05b7380e515199ca8f1fc6d5f3
      https://github.com/llvm/llvm-project/commit/560004b2b1f83f05b7380e515199ca8f1fc6d5f3
  Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    R flang/test/Lower/OpenMP/Todo/omp-declarative-allocate-align.f90
    R flang/test/Lower/OpenMP/Todo/omp-declarative-allocate.f90
    A flang/test/Lower/OpenMP/omp-declarative-allocate-align.f90
    A flang/test/Lower/OpenMP/omp-declarative-allocate.f90
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Target/LLVMIR/LLVMTranslationDialectInterface.td
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/ops.mlir
    A mlir/test/Target/LLVMIR/openmp-allocate-directive.mlir

  Log Message:
  -----------
  [Flang] [OpenMP] [MLIR] Add lowering support for OMP ALLOCATE directives and its clauses (#187167)

This patch implementation is primarily focused on

- Lowering to LLVM IR, by generating appropriate kmpc_alloc() and kmpc_alligned_alloc() calls for variable(s) and before the end of scope generating kmpc_free() for the same variable(s).
- Also handled, usage of array variables in the OMP ALLOCATE directive.
- Define omp.allocate_free operation in MLIR and slight changes to existing MLIR definition of ALLOCATOR clause.
- Add test cases for variations of usage of OMP ALLOCATE directive and its clauses ALIGN and ALLOCATOR.


  Commit: c1d6f7609e16d16864063c6d98feed1a9cdc3270
      https://github.com/llvm/llvm-project/commit/c1d6f7609e16d16864063c6d98feed1a9cdc3270
  Author: Nick Begg <nick at stunttruck.net>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/docs/CommandGuide/lit.rst
    M llvm/utils/lit/lit/ProgressBar.py
    M llvm/utils/lit/lit/cl_arguments.py
    M llvm/utils/lit/lit/display.py

  Log Message:
  -----------
  [lit] Add an option to lit which ratelimits progressbar output. (#186479)

Add a new option --min-output-interval, which ratelimits updates to the
progress bar.

When running Lit with the full curses progressbar, it updates both the
bar, and the status text below on every test completion. Running
check-llvm on my laptop runs about 44k tests and takes about 260 seconds
for a release build. Or about 171 tests/second on average.

Moreover, when ssh'd to another host, this generates quite a bit of
traffic. Using tcpdump, I measured the traffic for a run of check-llvm
and -clang. With all updates, its about 8.7 megabytes. With a rate limit
of 5 update/sec, this came down to 175 kilobytes. This can be
significant on slow/metered connections.

This patch adds an option to limit lit's output to once per a given
interval. This only affects the progressbar and status message below,
not any log messages above. It also does not affect anything when not
running with the full progressbar (eg outputting to a logfile).

---------

Co-authored-by: Nick Begg <neek78 at users.noreply.github.com>
Co-authored-by: Alexander Richardson <mail at alexrichardson.me>


  Commit: 1bc571918422612d2ce4e3621955d94eca37aa24
      https://github.com/llvm/llvm-project/commit/1bc571918422612d2ce4e3621955d94eca37aa24
  Author: David Green <david.green at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/fptoi_sat.ll
    A llvm/test/Analysis/CostModel/AArch64/sve-fptoi_sat.ll

  Log Message:
  -----------
  [AArch64] Add additional cost coverage for SVE fptosi.sat and fptoui.sat. NFC (#192095)


  Commit: a8f36ccb2a24ef4abcbff58b2f36ce2deacefd54
      https://github.com/llvm/llvm-project/commit/a8f36ccb2a24ef4abcbff58b2f36ce2deacefd54
  Author: Zachary Yedidia <zyedidia at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [AArch64] Check Subtarget via STI in getInstSizeInBytes (#192089)

The InstSizes test (`llvm/unittests/Target/AArch64/InstSizes.cpp`)
destroys the Subtarget field early (`ST` created on the stack in
[`createInstrInfo`](https://github.com/llvm/llvm-project/blob/40a585e742ed6b28306d7511380079325ba1a003/llvm/unittests/Target/AArch64/InstSizes.cpp#L32)),
causing a use-after-free if it is used in `getInstSizeInBytes`. This
causes a failure when running the test with hwasan (reported by build
bot). To fix this, this PR switches to using `STI` instead of
`Subtarget` in `getInstSizeInBytes` for checking `isLFI`, which survives
for the lifetime of the test.

I think fixing the test itself (the root of the issue, as far as I can
tell) would be more involved. Perhaps I should open an issue for it
though?

I have tested the fix on an AArch64 machine with hwasan to confirm that
it resolves the issue.


  Commit: 3e9449886bb2d4e0d5a07a424e3178cf409e08c2
      https://github.com/llvm/llvm-project/commit/3e9449886bb2d4e0d5a07a424e3178cf409e08c2
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/MCTargetDesc/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 3fe0bdfaa592 (#192096)

[gn build] Port 3fe0bdfaa592


  Commit: 585a4a22e1ded03123a13823b1bed6790107dc59
      https://github.com/llvm/llvm-project/commit/585a4a22e1ded03123a13823b1bed6790107dc59
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port 472aa4e326be (#192098)

[gn build] Port 472aa4e326be


  Commit: 7b4c8215b4e4837c2371d984cbc924c905867d44
      https://github.com/llvm/llvm-project/commit/7b4c8215b4e4837c2371d984cbc924c905867d44
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port a2bf43d6b18d (#192100)

[gn build] Port a2bf43d6b18d


  Commit: 51822a6dd975c510694ade81d8f1fb47eee7bfa6
      https://github.com/llvm/llvm-project/commit/51822a6dd975c510694ade81d8f1fb47eee7bfa6
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Analyses/BUILD.gn

  Log Message:
  -----------
  [gn build] Port fc12e59d1d8b (#192101)

[gn build] Port fc12e59d1d8b


  Commit: 11f3a56938b9eba5e0ccabda2984cae4b052dfe7
      https://github.com/llvm/llvm-project/commit/11f3a56938b9eba5e0ccabda2984cae4b052dfe7
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/HLSLIntrinsics.td

  Log Message:
  -----------
  Use ascii for dashes (#191892)

Use the standard ascii character for the dashes.


  Commit: 4326a54708ffe72a223c4fa831b5f4e6e10d8aa7
      https://github.com/llvm/llvm-project/commit/4326a54708ffe72a223c4fa831b5f4e6e10d8aa7
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVN.cpp

  Log Message:
  -----------
  [GVN] Clean up `reportMayClobberedLoad` to use the dependency instruction (NFC) (#192103)

Minor opportunity to clean `reportMayClobberedLoad` routine, which was
previously receiving the entire `MemDepResult` object, though only using
the dependency instruction.

Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>


  Commit: ce8251e60a367d8c65c74795b354dfaa4f387ec3
      https://github.com/llvm/llvm-project/commit/ce8251e60a367d8c65c74795b354dfaa4f387ec3
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M lldb/cmake/modules/AddLLDB.cmake
    M lldb/docs/CMakeLists.txt
    A lldb/docs/_ext/build_include.py
    A lldb/docs/_ext/lldb_setting.py
    A lldb/docs/_static/lldb-setting.css
    M lldb/docs/conf.py
    M lldb/docs/index.rst
    A lldb/docs/use/settings.md
    A lldb/scripts/gen-property-docs-from-json.py
    M lldb/source/Core/CMakeLists.txt
    M lldb/source/Interpreter/CMakeLists.txt
    M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/CMakeLists.txt
    M lldb/source/Plugins/JITLoader/GDB/CMakeLists.txt
    M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
    M lldb/source/Plugins/ObjectFile/PECOFF/CMakeLists.txt
    M lldb/source/Plugins/Platform/Android/CMakeLists.txt
    M lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
    M lldb/source/Plugins/Platform/QemuUser/CMakeLists.txt
    M lldb/source/Plugins/Platform/WebAssembly/CMakeLists.txt
    M lldb/source/Plugins/Process/CMakeLists.txt
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
    M lldb/source/Plugins/Process/MacOSX-Kernel/CMakeLists.txt
    M lldb/source/Plugins/Process/gdb-remote/CMakeLists.txt
    M lldb/source/Plugins/StructuredData/DarwinLog/CMakeLists.txt
    M lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt
    M lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt
    M lldb/source/Plugins/SymbolLocator/Debuginfod/CMakeLists.txt
    M lldb/source/Plugins/Trace/CMakeLists.txt
    M lldb/source/Plugins/Trace/intel-pt/CMakeLists.txt
    M lldb/source/Target/CMakeLists.txt

  Log Message:
  -----------
  [LLDB][Docs] List available settings (#168245)

This PR adds a documentation page that lists all available settings. The
page is automatically generated.

Having the settings listed in the online documentation makes it easier
to search for users. It also has the advantage of being indexed by
search engines.

To generate the docs, we first generate JSON out of the TableGen
definitions with `-dump-json`.

Once all properties are available as JSON, a Markdown file with the
merged documentation (`settings.md`) is generated. I chose Markdown over
RST, because some descriptions already use backticks, which would become
references in RST.

Currently, enum names/descriptions are not visible, because they're
defined in C++. In the future, these could be moved to TableGen as well.


  Commit: 3f8fa457e218882505d322112058f0fa568885bd
      https://github.com/llvm/llvm-project/commit/3f8fa457e218882505d322112058f0fa568885bd
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/test/Driver/serenity.cpp

  Log Message:
  -----------
  [clang] Attempt to unbreak clang/test/Driver/serenity.cpp on bots (#192105)

The c++/v1 paths aren't found on bots, so remove them for now until this
is analyzed.

Match on `-isysroot` to get SYSROOT var instead.

Also remove what looks like one unintentional SYSROOT: capture for
crt0.o.


  Commit: 6d11ac44f27476b7cab311eb3cfb0ef30d6cd27a
      https://github.com/llvm/llvm-project/commit/6d11ac44f27476b7cab311eb3cfb0ef30d6cd27a
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 934f795064ab (#192107)


  Commit: 838bf51cc242dcfdbb5a82ada1aaedf84a70a22c
      https://github.com/llvm/llvm-project/commit/838bf51cc242dcfdbb5a82ada1aaedf84a70a22c
  Author: Paweł Bylica <pawel at hepcolgum.band>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_haiku.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_netbsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix.h
    M compiler-rt/lib/sanitizer_common/sanitizer_solaris.cpp

  Log Message:
  -----------
  [sanitizer] Make internal_close_range available on all POSIX platforms (#191971)

Make internal_close_range available on all POSIX platforms so callers
can use it without platform-specific #if guards. Platforms without
close_range return -1, letting callers fall back gracefully.

Currently only FreeBSD has a real implementation. A TODO is left for
adding Linux support (__NR_close_range, kernel 5.9+).

The Linux support will be added in
https://github.com/llvm/llvm-project/pull/191450.


  Commit: 01a83d3405f3745f2da80ec797aa30b35dc5861a
      https://github.com/llvm/llvm-project/commit/01a83d3405f3745f2da80ec797aa30b35dc5861a
  Author: Björn Schäpers <bjoern at hazardy.de>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [clang-format][NFC] Remove superflous checks (#191872)

Doesn't change anything, must be a leftover now handled by some other
code.


  Commit: 1c46118228527a406362952cade120f380190ef9
      https://github.com/llvm/llvm-project/commit/1c46118228527a406362952cade120f380190ef9
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/FileManager.h
    M clang/lib/Basic/Module.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ModuleManager.cpp

  Log Message:
  -----------
  Load AST files as binary on z/OS (#191840)

The ast files need to be loaded as binary on z/OS to avoid translation.
Add the `IsText=false` option to all of the relevant file open calls.


  Commit: ae0c5dc04f44e4ab69f3eb3a5eb959478d44372e
      https://github.com/llvm/llvm-project/commit/ae0c5dc04f44e4ab69f3eb3a5eb959478d44372e
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/test/CodeGen/2006-01-23-FileScopeAsm.c
    M clang/test/CodeGen/asm_incbin.c

  Log Message:
  -----------
  Mark tests as unsupported on z/OS (#191843)

z/OS has a platform specific requirement to not allow asm statements at
file scope. These tests generate that message rather than the expected
IR. Mark the tests as unsupported on z/OS.


  Commit: 9c94881fade218ffdc64407c04db8c963571366f
      https://github.com/llvm/llvm-project/commit/9c94881fade218ffdc64407c04db8c963571366f
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/test/Driver/serenity.cpp

  Log Message:
  -----------
  [clang] Attempt to unbreak clang/test/Driver/serenity.cpp on bots more (#192113)

This snippet fails on (at least) this bot:
https://lab.llvm.org/buildbot/#/builders/10/builds/26512


  Commit: a36e9d1d57b12de3674689a617ab7452ed43d9a2
      https://github.com/llvm/llvm-project/commit/a36e9d1d57b12de3674689a617ab7452ed43d9a2
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGen/thunks.cpp

  Log Message:
  -----------
  [CIR] Add musttail thunks and covariant return null-check (#191255)

Implement variadic thunk emission via musttail and null-check
pointer returns in covariant thunk adjustment, matching classic
codegen behavior.

Adds musttail UnitAttr to cir.call/cir.try_call with lowering
to LLVM::MustTail.

Made with [Cursor](https://cursor.com)


  Commit: f62b1382ac3be3ec40ef31160bc63c5127b3a481
      https://github.com/llvm/llvm-project/commit/f62b1382ac3be3ec40ef31160bc63c5127b3a481
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/test/CIR/CodeGen/bitint.c
    M clang/test/CIR/IR/bitint.cir

  Log Message:
  -----------
  [CIR] Raise IntType max bitwidth to match LLVM IR (#191499)

Follow-up to #188113 per @erichkeane's feedback about the 128-bit cap.

CIR's IntType was hard-limited to 128 bits, which meant any _BitInt
wider than that hit an errorNYI. LLVM IR goes up to 2^23 (about 8
million bits), and there are real tests/users at those sizes. This
raises CIR's limit to match and drops the guard that was working around
it.

Tests: added a _BitInt(256) global to bitint.c and a 1024-bit round-trip
to bitint.cir.

Made with [Cursor](https://cursor.com)


  Commit: a3d643d575f7d9b63229246eba93283c8c8b1f57
      https://github.com/llvm/llvm-project/commit/a3d643d575f7d9b63229246eba93283c8c8b1f57
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/CUDA/cuda-code-gen.mlir

  Log Message:
  -----------
  [flang][cuda] Fix invalid address space in addressof op conversion (#192111)

The change in lowering order introduced in
https://github.com/llvm/llvm-project/pull/183268 exposed an issue when
converting addressof op pointing to globals with different address
space. Look at the fir::GlobalOp when it has not been converted.


  Commit: 13d67bffb1cb6e5231453dba3416108e85b2d6bf
      https://github.com/llvm/llvm-project/commit/13d67bffb1cb6e5231453dba3416108e85b2d6bf
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/test/CodeGen/amdgpu-builtin-is-invocable.c
    M clang/test/CodeGen/amdgpu-builtin-processor-is.c
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M llvm/lib/TargetParser/TargetParser.cpp

  Log Message:
  -----------
  [NFC][SPIRV] Re-factor feature map initialisation for AMDGCN flavoured SPIR-V (#192067)

AMDGCN flavoured SPIR-V must support the union of all AMDGCN features,
as we cannot early adjudicate on this or that feature's availability. We
were hand filling in the feature map, which was error prone and led to
constant grind as new features were added. This patch moves to a
programmatic approach where we iterate through all AMDGCN GPUs and
collect features, thus establishing the union. With this change AMDGCN
flavoured SPIR-V will automatically pick up new features as they come
along.


  Commit: 6cf19c6b200804c0c453108e44617ca0c9a0679e
      https://github.com/llvm/llvm-project/commit/6cf19c6b200804c0c453108e44617ca0c9a0679e
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [clang][cmake] Add check-clang-extra to bootstrap targets for Fuchsia (#192104)

Not having these prevents us from testing the clang-tool-extra targets
in our CI and multi stage builds.


  Commit: 152592b346a8edddd4b6d6ac59494f81fdb7eb2c
      https://github.com/llvm/llvm-project/commit/152592b346a8edddd4b6d6ac59494f81fdb7eb2c
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/lib/Semantics/definable.cpp
    A flang/test/Semantics/cuf26.cuf

  Log Message:
  -----------
  [flang][cuda] Allow host variables to be defined in device subprograms under -gpu=unified (#192118)

When `-gpu=unified` (or `-gpu=mem:unified`) is enabled, host variables
should be definable in device subprograms because HMM/ATS makes all host
memory accessible from the GPU.

The definability check in `WhyNotDefinableBase` was unconditionally
rejecting host variables in device contexts. This fix skips that check
when `CudaUnified` is enabled.


  Commit: 214f2de6b61919ca76f7cb7769cd98031de25431
      https://github.com/llvm/llvm-project/commit/214f2de6b61919ca76f7cb7769cd98031de25431
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] Fix assertion crash in CTAD for alias templates with non-dependent type (#191885)

When building deduction guides, clang assumes that the return type of
the deduction guide would always be a dependent type
(`TemplateSpecializationType`), but this is not true for invalid case,
where the alias RHS is a non-dependent class template specialization, it
is represented as a `RecordType` instead.

Fixes #190517.


  Commit: 4d33826d60acf6cc95a52b380954556a84c9cbb7
      https://github.com/llvm/llvm-project/commit/4d33826d60acf6cc95a52b380954556a84c9cbb7
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
    M flang/test/Transforms/CUF/cuf-kernel-licm.fir

  Log Message:
  -----------
  [flang] Fixed issues in nested LICM. (#192117)

First change is to check the hoisting safety for all nested
operations of the candidate. This prevents hoistings of
region operations as in the added test.

When hoisting operations from nested regions we have to
check every parent region for `canMoveOutOf`, otherwise,
illegal hoisting may happen. This second change is NFC,
because all operations that support `OperationMoveOpInterface`
currently also support `LoopLikeOpInterface` and their regions
are not considered for nested hoisting. Anyway, it is worth
fixing it.


  Commit: 08932ddde177a7f9dacf5d34e209c48f3d52800e
      https://github.com/llvm/llvm-project/commit/08932ddde177a7f9dacf5d34e209c48f3d52800e
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseStdBitCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdBitCheck.h
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-bit.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-bit.cpp

  Log Message:
  -----------
  [clang-tidy] Detect std::rot[lr] pattern within modernize.use-std-bit (#186324)

Basically turning `x << N | x >> (64 - N)` into `std::rotl(x, N)`.


  Commit: 2fe82e377f890d11e5915526f97ef7dce8a2d1d4
      https://github.com/llvm/llvm-project/commit/2fe82e377f890d11e5915526f97ef7dce8a2d1d4
  Author: Stanley Gambarin <stanley.gambarin at intel.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp

  Log Message:
  -----------
  [GlobalISel] use constexpr LLT types when creating ISel data (#191574)

The GlobalISel uses a lookup table to map LLTs which is constructed
prior to initialization of extended LLT functionality, resulting in
ANY_SCALAR entries. During instruction selection, a hash-based
lookup is done on actual INTEGER/FLOAT LLTs. But hash values of
ANY_SCALAR do not match those of INTEGER/FLOAT, causing a failure.

Workaround is the use constexpr LLT, which encodes INTEGER/FLOAT LLT.

Assisted-by: Claude Opus 4.6


  Commit: ce170c94dd41209a36b8eaf5af6ca9edd625ddd3
      https://github.com/llvm/llvm-project/commit/ce170c94dd41209a36b8eaf5af6ca9edd625ddd3
  Author: David Green <david.green at arm.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [AArch64] Cleanup of fptosi costs. NFC (#192144)

This contains some minor formatting changes, along with moving some code
closer
to where it belongs - keeping fixed length costs together, moving a
WideTy
block before the definition and use of ConversionTbl.


  Commit: 104b63b3705d672333294aa551e8381285030262
      https://github.com/llvm/llvm-project/commit/104b63b3705d672333294aa551e8381285030262
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp

  Log Message:
  -----------
  [CIR] Fix heap-use-after-free in IndirectBrOp lowering (#191949)

The previous code called op->getBlock()->eraseArgument(0) to remove a
block argument when the poison attribute was set (unreachable block with
no predecessors). This directly mutated the IR, freeing the
BlockArgument while the MLIR dialect conversion framework still held
references to it. When the framework later replayed changes in
applyRewrites(), it dereferenced the freed BlockArgument, causing a
heap-use-after-free detected by ASAN.

Found by running check-clang-cir under ASAN
(test: clang/test/CIR/CodeGen/label-values.c).

The fix removes the eraseArgument call entirely. The MLIR conversion
framework tracks block arguments and handles their lifecycle. A block
with no predecessors naturally produces no PHI node in LLVM IR, so
manual removal was unnecessary.

Additional cleanup:
- Use adaptor.getAddr() directly instead of creating an unnecessary
BitcastOp (CIR ptr already converts to LLVM ptr).
- Use adaptor.getSuccOperands() instead of op.getSuccOperands() to
ensure successor operands go through type conversion.
- Use replaceOpWithNewOp instead of separate create + replaceOp.


  Commit: 8b054e8669d2f2eebe688392d2f01ea8ebb9677f
      https://github.com/llvm/llvm-project/commit/8b054e8669d2f2eebe688392d2f01ea8ebb9677f
  Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/lib/Lower/ConvertVariable.cpp
    A flang/test/Lower/OpenACC/acc-declare-use-associated.f90

  Log Message:
  -----------
  [flang][OpenACC] Propagate acc.declare attribute to fir.global for USEd module variables (#192141)

When a module with `!$acc declare` is compiled separately from the
program that USEs it, `declareGlobal()` creates `fir.global` without the
`acc.declare` attribute. This causes implicit data mappings to override
device data that should already be present via `acc declare`.

The fix reads the symbol's `AccDeclare`/`AccCreate`/`AccCopyIn`/etc.
flags (already set from the `.mod` file by semantics) and attaches the
`acc.declare` attribute to the `fir.global`.


  Commit: 8d734fdae5f55add3dcc67f6ad4ce8d6d8f7af69
      https://github.com/llvm/llvm-project/commit/8d734fdae5f55add3dcc67f6ad4ce8d6d8f7af69
  Author: Stefan Mada <smada at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/MachineFunction.cpp

  Log Message:
  -----------
  Added better datalayout incompatible error message (#191862)

The existing datalayout incompatible error assert does not help with
debugging, as it does not print the datalayouts in question.

This change makes this failure give more useful information.


  Commit: 3b4731fed7abbb91b6789ce6ebb597fbf441edbd
      https://github.com/llvm/llvm-project/commit/3b4731fed7abbb91b6789ce6ebb597fbf441edbd
  Author: Iñaki V Arrechea <inakiarrechea at google.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
    M llvm/include/llvm/Analysis/InstCount.h

  Log Message:
  -----------
  Make Passes Required - func-properties-stats and instcount (#192130)

These passes count different types of instructions and we want to see
them even though optnone is enabled


  Commit: c24bb1cd59ff1418cfaeb521d4e7b7f5610ddba3
      https://github.com/llvm/llvm-project/commit/c24bb1cd59ff1418cfaeb521d4e7b7f5610ddba3
  Author: Paweł Bylica <pawel at hepcolgum.band>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp

  Log Message:
  -----------
  [sanitizer] Generalize FD closing in StartSubprocess (#192114)

Use internal_close_range with a fallback to the sysconf(_SC_OPEN_MAX)
loop. This removes the platform-specific #if and lets all platforms
benefit from close_range when supported.

Follow-up to #191971.


  Commit: 18ab5209d7130ddb34fc58249b6e12cc8c5bb597
      https://github.com/llvm/llvm-project/commit/18ab5209d7130ddb34fc58249b6e12cc8c5bb597
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
    M llvm/test/CodeGen/RISCV/rv32p.ll
    M llvm/test/CodeGen/RISCV/rv64p.ll
    M llvm/test/MC/RISCV/rv32p-aliases-valid.s
    M llvm/test/MC/RISCV/rv64p-aliases-valid.s

  Log Message:
  -----------
  [RISCV][P-ext] Support plui.h/w in generateInstSeqImpl. (#192137)

There's some overlap in the pli/plui encodings. I've modified the code
to prefer pli.b over pli.h and to prefer pli.h over plui.h. This matches
what we do in the splat_vector path in RISCVISelDAGToDAG.


  Commit: 5d7a143ec677353ba45e1233494a67fbd9e0bf90
      https://github.com/llvm/llvm-project/commit/5d7a143ec677353ba45e1233494a67fbd9e0bf90
  Author: Alex <filaka771 at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
    A clang/unittests/StaticAnalyzer/AnalyzerFormattingTest.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt

  Log Message:
  -----------
  [analyzer] Fix alignment of entries in -analyzer-help (#190570)

Fix a formatting bug in `AnalyzerOptions::printFormattedEntry` (used by
`clang -cc1 -print-analyzer-options`), which led to misalignment of a
checker description.

This commit ensures that `printFormattedEntry` inserts a newline in the
corner case when the length of the name of a checker is exactly equal to
`EntryWidth`. (In this situation the old code inserted a space between
the name and the description, so this description was not aligned with
the other descriptions.)

Additionally this commit also fixes the corner case where the pad before
the checker name (specified by `InitialPad`) is 0. Before the fix, due
to `llvm::raw_formatted_ostream::PadToColumn` logic, `InitialPad = 0`
still added one space character as padding before the checker name.
Fortunately `InitialPad = 0` was never used in the program, so this bug
was not visible to the user.

These changes are both tested by the freshly added unit tests.


  Commit: 392f76ac68c0d2e0c0eb8aa1907329f5a94db29d
      https://github.com/llvm/llvm-project/commit/392f76ac68c0d2e0c0eb8aa1907329f5a94db29d
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Support/Utils.cpp
    M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
    A flang/test/Transforms/licm-allocmem-cufaloc.mlir

  Log Message:
  -----------
  [flang] Recognize generic allocations in Flang LICM. (#191923)

Instead of matching particular operations like `fir.alloca`
we can use `MemoryEffectOpInterface` to figure out if a location
is a new allocation.


  Commit: 18519f34650db7fc8e1885ac0293c1e9a5f1b071
      https://github.com/llvm/llvm-project/commit/18519f34650db7fc8e1885ac0293c1e9a5f1b071
  Author: Ashlyn <pale.auraaaa at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M lld/COFF/DriverUtils.cpp
    M lld/test/COFF/subsystem.test
    M llvm/test/tools/llvm-objcopy/COFF/subsystem.test
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp

  Log Message:
  -----------
  [lld][llvm-objcopy] Enable Xbox subsystem for PE images. (#191779)

This patch enables selecting the Xbox subsystem (IMAGE_SUBSYSTEM_XBOX)
for PE images. Certain existing tools used in the Xbox homebrew scene
expect images to use the Xbox subsystem, so it's nice to be able to set
this within the LLVM toolchain instead of invoking yet another tool or
manually patching the binaries.


  Commit: 282b2720fe1fd9a75f25e91ade6adaf1466c0869
      https://github.com/llvm/llvm-project/commit/282b2720fe1fd9a75f25e91ade6adaf1466c0869
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    A clang/test/CIR/CodeGen/cast-cxx20.cpp

  Log Message:
  -----------
  [CIR] Implement array-to-incomplete-array cast (#192138)

This is a noop cast that is allowed in some situations in C++20, and is
validated with one of the test suites. This patch adds a very defensive
NYI diagnostic to replace the other one, plus implements the array decay
case.


  Commit: af9ebd272fdbf91e4b53c400db578266a7b23480
      https://github.com/llvm/llvm-project/commit/af9ebd272fdbf91e4b53c400db578266a7b23480
  Author: 4ast <alexei.starovoitov at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/BPF/BPFISelLowering.cpp
    M llvm/lib/Target/BPF/BTFDebug.cpp
    A llvm/test/CodeGen/BPF/BTF/array-no-dimension.ll
    A llvm/test/CodeGen/BPF/BTF/char-utf.ll
    M llvm/test/CodeGen/BPF/warn-call.ll

  Log Message:
  -----------
  Fixes for compile rust code (#192134)

Signed-off-by: Alexei Starovoitov <ast at kernel.org>
Co-authored-by: Alexei Starovoitov <ast at kernel.org>


  Commit: 8d0997fb84d6b3fd8818e2c81b812a0dfc4e0b8f
      https://github.com/llvm/llvm-project/commit/8d0997fb84d6b3fd8818e2c81b812a0dfc4e0b8f
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbutil.py

  Log Message:
  -----------
  [lldb][debugserver] Fix lldb testsuite routine parsing logs (#192157)

I changed how lldb and debugserver fetch binaries when attaching to a
process (only fetching the addresses of binaries, not the detailed
information) but a utility function was parsing the log file and
expected the detailed information in the initial response. Updated it to
expect detailed information in the initial response, or in the
subsequent query when the first response is addresses-only.


  Commit: f09850a332cd161bca0a1218e4f66869bc8b1a28
      https://github.com/llvm/llvm-project/commit/f09850a332cd161bca0a1218e4f66869bc8b1a28
  Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/CUDA/cuda-code-gen.mlir

  Log Message:
  -----------
  [flang][CodeGen] Fix address space mismatch for CUF globals in AddrOfOpConversion (#190408)

AddrOfOpConversion in CodeGen.cpp only handled `LLVM::GlobalOp` when
determining the address space for `llvm.mlir.addressof`. When the global
was still a `fir::GlobalOp` (not yet converted), it fell back to address
space 0, breaking CUF constant globals (addr_space 4) and AMDGPU targets
(global addr_space 1).

This extends the upstream fix (#192111, which only covered Constant) to
also handle Shared and Managed CUF data attributes, and returns
`std::nullopt` instead of 0 for non-CUF globals so the target's default
address space is preserved.


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

  Changed paths:
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
    M llvm/utils/release/build_llvm_release.bat

  Log Message:
  -----------
  [CMake] Pass ZLIB_LIBRARY_* to runtimes bootstrap (#191555)

Runtimes external project (compiler-rt / combined runtimes) reconfigures
with an initial cache that did not propagate `ZLIB_LIBRARY_RELEASE`.
CMake 4.x `FindZLIB` may leave `ZLIB_LIBRARY` unset while finding
headers, leading to:
```
   -- Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version "...")
```
and later when loading LLVM exports from the main build:
```
   The link interface of target "LLVMSupport" contains: ZLIB::ZLIB
   but the target was not found.
```
This was found by building the Windows installer with:
```
llvm\utils\release\build_llvm_release.bat --x64 --version 23.0.0 --skip-checkout --local-python
```


  Commit: d8331bae70ca7ed9dc711718e6a0f49c97066887
      https://github.com/llvm/llvm-project/commit/d8331bae70ca7ed9dc711718e6a0f49c97066887
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve2-histcnt-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/vplan-force-tail-with-evl.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/phi-with-fastflags-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-iv-transforms.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-before-execute.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-metadata.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge-vf1.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll

  Log Message:
  -----------
  [LV][VPlan] Print VPlan after construction and initial optimizations. NFC (#187443)

This patch add a helper pass `printOptimizedVPlan` to print the plan at
the end of the VPlan construction and optimize pipeline.

This patch enables the opportunity that we can further clamp and attach
VF range after `VPlanTransforms::optimize` and not changing the test
printing (#172799).


  Commit: 3a4d1c7e77cbb2138478b7ce1f2473d18bbb7d1d
      https://github.com/llvm/llvm-project/commit/3a4d1c7e77cbb2138478b7ce1f2473d18bbb7d1d
  Author: Jim Lin <jim at andestech.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/double-fcmp.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-fcmp.ll

  Log Message:
  -----------
  [RISCV][GISel] Use a single FEQ for fcmp ord/uno x, x (#192022)

When both operands of an ORD/UNO compare are the same register,
the double-FEQ + AND sequence is redundant: a single FEQ x, x
gives the same result. Addresses the FIXME in selectFCmp.


  Commit: 1a3934365c9b59d00f47db06202b34c62d4b1794
      https://github.com/llvm/llvm-project/commit/1a3934365c9b59d00f47db06202b34c62d4b1794
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    A llvm/test/CodeGen/AMDGPU/lds-link-time-named-barrier.ll
    A llvm/test/CodeGen/AMDGPU/lower-module-lds-link-time-classify.ll
    A llvm/test/CodeGen/AMDGPU/lower-module-lds-link-time-global-scope.ll
    A llvm/test/CodeGen/AMDGPU/lower-module-lds-link-time-internal-func.ll
    A llvm/test/CodeGen/AMDGPU/lower-module-lds-link-time-internal-multi-user.ll

  Log Message:
  -----------
  [AMDGPU] Add object linking support for LDS and named barrier lowering in the middle end (#191645)

This is the first patch in a series introducing object linking support
for AMDGPU.

This PR adds the `-amdgpu-enable-object-linking` flag to enable object
linking in the backend. It also updates the `AMDGPULowerModuleLDSPass`
and `AMDGPULowerExecSync` passes to support lowering LDS and named
barrier globals when object linking is enabled.


  Commit: 348061d58dfe5e59027a0d6d51f916197cdd8d68
      https://github.com/llvm/llvm-project/commit/348061d58dfe5e59027a0d6d51f916197cdd8d68
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/Thread.cpp
    A lldb/test/API/functionalities/scripted_frame_provider/was_hit_deadlock/Makefile
    A lldb/test/API/functionalities/scripted_frame_provider/was_hit_deadlock/TestWasHitWithFrameProviderDeadlock.py
    A lldb/test/API/functionalities/scripted_frame_provider/was_hit_deadlock/bkpt_resolver.py
    A lldb/test/API/functionalities/scripted_frame_provider/was_hit_deadlock/frame_provider.py
    A lldb/test/API/functionalities/scripted_frame_provider/was_hit_deadlock/main.c

  Log Message:
  -----------
  [lldb] Fix deadlock when scripted frame providers load on private state thread (#191913)

Frame providers are an overlay on top of the parent reality (the
unwinder stack). The private state thread (PST) manages the stop of that
parent reality, so the correct view for PST logic IS the parent --
providers should only be applied once the process has settled and
clients query the stopped state.

When a scripted breakpoint's `was_hit` callback calls
`EvaluateExpression` on the PST, `RunThreadPlan` spawns an override PST
(Thread B) and reassigns `m_current_private_state_thread_sp` to it. Two
threads then need to see parent frames:

- Thread B (override PST): processes stop events via
`HandlePrivateEvent` -> `ShouldStop` -> `GetStackFrameList`. If it loads
a provider, the provider's Python code can acquire locks held by Thread
A, causing a deadlock.

- Thread A (original PST): processes events inline via
`FindNextEventInternal` -> `DoOnRemoval` -> `GetStackFrameList`. After
the override is created, `CurrentThreadIsPrivateStateThread` no longer
recognizes Thread A (it checks against
`m_current_private_state_thread_sp`, which now points to Thread B).

The existing re-entrancy guard in `GetStackFrameList` (e1cd558) only
triggers when a provider is already active. In the deadlock scenario,
provider loading is being initiated for the first time, so the guard
does not trigger.

This patch introduces `PrivateStateThreadGuard`, an RAII guard that sets
a `thread_local` flag checked by `GetStackFrameList` to return parent
frames instead of loading providers. The guard is activated in two
places:

- `RunPrivateStateThread`: for override PSTs only (identified via a new
`is_override` flag on `PrivateStateThread`). The original PST does not
set the guard here, so normal stepping still sees provider-augmented
frames.

- `RunThreadPlan`: for the original PST, scoped to the event processing
window when an override has been spawned.

rdar://174679105

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: 18f63d1375d00fa8cac9951340e2ca0f68b4b6fa
      https://github.com/llvm/llvm-project/commit/18f63d1375d00fa8cac9951340e2ca0f68b4b6fa
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-04-15 (Wed, 15 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/README.md
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [runtimes] Aggregate per-target runtime checks in top-level check-${runtime_name} (#191743)

When a per-target runtime build exports a
check-${runtime_name}-${target} proxy, make the top-level
check-${runtime_name} target depend on it, creating
check-${runtime_name} on demand (it may not exist).

This applies regardless of whether the runtime comes from the default
LLVM_ENABLE_RUNTIMES set or from a target-specific
RUNTIMES_<target>_LLVM_ENABLE_RUNTIMES override.

This allows a single `check-${runtime_name}` command to trigger all
per-target tests for that runtime.


  Commit: 19d1b348f02f21fba5ca17bef5001d2a063ee430
      https://github.com/llvm/llvm-project/commit/19d1b348f02f21fba5ca17bef5001d2a063ee430
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M libclc/CMakeLists.txt

  Log Message:
  -----------
  [libclc][CMake][NFC] Delete dead code LLVM_PACKAGE_VERSION (#191943)

Use of LLVM_PACKAGE_VERSION in AddLibclc.cmake was dropped by e20ae16ce672.


  Commit: c1fc739b5d6b731bf0fb4477d4605102407a933b
      https://github.com/llvm/llvm-project/commit/c1fc739b5d6b731bf0fb4477d4605102407a933b
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M libclc/CMakeLists.txt

  Log Message:
  -----------
  [libclc] Only add test folder when LLVM_INCLUDE_TESTS is ON (#191948)


  Commit: 9f6f26f86cf1899402da83a9b35e0fab55fa2a4f
      https://github.com/llvm/llvm-project/commit/9f6f26f86cf1899402da83a9b35e0fab55fa2a4f
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopUtils.cpp

  Log Message:
  -----------
  [LSR][IndVarSimplify] Update assertion message (#192168)

rewriteLoopExitValues is called by both LSR and IndVarSimplify. Update
the assertion message to match this reality rather than only mentioning
IndVarSimplify.


  Commit: 480048253f117cff5e93bb5bbced94a6ef24adc6
      https://github.com/llvm/llvm-project/commit/480048253f117cff5e93bb5bbced94a6ef24adc6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rv64p.ll

  Log Message:
  -----------
  [RISCV] Add test showing constant materialization using pli.h/pli.w+srli/slli. NFC (#192159)


  Commit: c3650687e0b7317b686b9187d15d2c4c63e05f8b
      https://github.com/llvm/llvm-project/commit/c3650687e0b7317b686b9187d15d2c4c63e05f8b
  Author: Roy Shi <royitaqi at users.noreply.github.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/include/llvm/DebugInfo/GSYM/CallSiteInfo.h
    M llvm/include/llvm/DebugInfo/GSYM/ExtractRanges.h
    M llvm/include/llvm/DebugInfo/GSYM/FileEntry.h
    M llvm/include/llvm/DebugInfo/GSYM/FileWriter.h
    M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
    A llvm/include/llvm/DebugInfo/GSYM/GlobalData.h
    M llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymCreatorV1.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymCreatorV2.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymDataExtractor.h
    M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymReaderV1.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymReaderV2.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymTypes.h
    M llvm/include/llvm/DebugInfo/GSYM/Header.h
    A llvm/include/llvm/DebugInfo/GSYM/HeaderV2.h
    M llvm/include/llvm/DebugInfo/GSYM/InlineInfo.h
    M llvm/include/llvm/DebugInfo/GSYM/LineTable.h
    M llvm/include/llvm/DebugInfo/GSYM/MergedFunctionsInfo.h
    M llvm/include/llvm/DebugInfo/GSYM/StringTable.h
    M llvm/lib/DebugInfo/GSYM/CMakeLists.txt
    M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
    M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
    M llvm/lib/DebugInfo/GSYM/ExtractRanges.cpp
    M llvm/lib/DebugInfo/GSYM/FileWriter.cpp
    M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
    A llvm/lib/DebugInfo/GSYM/GlobalData.cpp
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
    A llvm/lib/DebugInfo/GSYM/GsymCreatorV1.cpp
    A llvm/lib/DebugInfo/GSYM/GsymCreatorV2.cpp
    M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
    A llvm/lib/DebugInfo/GSYM/GsymReaderV1.cpp
    A llvm/lib/DebugInfo/GSYM/GsymReaderV2.cpp
    M llvm/lib/DebugInfo/GSYM/Header.cpp
    A llvm/lib/DebugInfo/GSYM/HeaderV2.cpp
    M llvm/lib/DebugInfo/GSYM/InlineInfo.cpp
    M llvm/lib/DebugInfo/GSYM/LineTable.cpp
    M llvm/lib/DebugInfo/GSYM/MergedFunctionsInfo.cpp
    M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
    M llvm/tools/llvm-gsymutil/Opts.td
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/unittests/DebugInfo/GSYM/CMakeLists.txt
    M llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
    A llvm/unittests/DebugInfo/GSYM/GSYMV2Test.cpp
    A llvm/unittests/DebugInfo/GSYM/GsymDataExtractorTest.cpp

  Log Message:
  -----------
  Make GSYM 64 bit safe and add a new version 2 of the GSYM files (#190353)

# Motivation

GSYM files are approaching the need for 64 bit offsets in the GSYM
files. We also want to add more global data to GSYM files. Right now the
GSYM file format is:
```
Header
AddressOffsets
AddressInfoOffsets
FileTable
StringTable
FunctionInfos
```
The location of the `AddressOffsets`, `AddressInfoOffsets` and
`FileTable` are always immediately following the Header. The
`StringTable` is pointed to by the header and the header uses 32 bit
integers for the string table file offset and file size. The
`AddressInfoOffsets` are fixed at 32 bits as well. So with the current
format, we can't have any string or function info with an offset >= 4G.

# GSYM V2 design (64 bit safe and extensible)

This new design increments the GSYM version to 2 and we are adding a new
`GlobalInfoType` enum which allows us to specify the file offset and
file size of all of the things in the global data table to be 64 bit
safe. Everything is now in the global info data (listed below). The new
design is extensible: new global info types can be added in the future,
and the order that they appear in the file can be changed/optimized.

* UUID (optional)
* AddressOffsets table
* AddressInfoOffsets table
* File table
* String table
* FunctionInfo data

We are also adding a new `StringTableEncoding` enum so that new string
table encodings can be added in the future.

GSYM V2 files can be produced by using the new `--oputput-version=2`
option. For example:
```
llvm-gsymutil --convert my.dSYM -o my.gSYM --output-version=2
```


# Tests

**Unit tests**: Extended existing tests (`GSYMTests.cpp`) to cover both
v1 and v2. Added new V2 tests (`GSYMV2Tests.cpp`).
```
ninja DebugInfoGSYMTests SupportTests
unittests/DebugInfo/GSYM/DebugInfoGSYMTests
unittests/Support/SupportTests --gtest_filter='*DataExtractor*'
bin/llvm-lit \
  ../llvm-project/llvm/test/tools/llvm-gsymutil/X86/elf-dwarf.yaml \
  ../llvm-project/llvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml
```

**Parity tests to V1 (manual)**:
* All tests were conducted on a very large DSYM (9.24 GB) and the GSYMs
generated from it (3.42~3.57 GB).
* All correctness tests were conducted on both little-endian and
big-endian machines.
* **Data parity (on-par)**: The new gsymutil [generates the exact same
GSYM v1 file as the baseline
gsymutil](https://gist.github.com/royitaqi/746c15ec22725cf89a1f5c6d9fb396aa),
both using a single thread.
* **Performance parity/improvement (on-par; v2 convert is 2.8x
faster)**:
* **Parse + lookup**: The new gsymutil is [2% (GSYM v1 file) and 3%
(GSYM v2 file) slower than the baseline
gsymutil](https://gist.github.com/royitaqi/9789b92d63ae74a806c776f32a33e4fb)
(1.56s vs. 1.52s).
* **Convert**: The new gsymutil is [on par (GSYM v1 file) and 2.8x
faster (GSYM v2 file) than the baseline
gsymutil](https://gist.github.com/royitaqi/17aa69408bc5a3416fae9e192b1dc1ce)
(102s vs. 288s).
* **Memory footprint parity (on-par)**:
* **Convert**: The new gsymutil uses the same amount of memory as the
base line gsymutil (13 GB when converting a 2.52 GB DSYM; 42 GB when
converting a 9.24 GB DSYM) since the memory peak is in `finalize()`
which is before `encode()`.
* **Segment correctness (on-par)**: The new gsymutil [generates
segmented GSYM v2
files](https://gist.github.com/royitaqi/9bea5b3d50f13247d577ea91fbc6368a),
whose content
([seg1](https://gist.github.com/royitaqi/5b95a793b548f2f44edca250d64366b4),
[seg2](https://gist.github.com/royitaqi/f64730cbd1885ac9c0b9136e03e7742e),
[seg3](https://gist.github.com/royitaqi/2ce585fae910c57784cafafe4fb4cdcb))
match that of a [single GSYM v2
file](https://gist.github.com/royitaqi/475499477b9dbb1dea81f5d653ec39bf).


  Commit: bfa4de2fb858f493471aba68b8e2b9bb030f10e4
      https://github.com/llvm/llvm-project/commit/bfa4de2fb858f493471aba68b8e2b9bb030f10e4
  Author: joaosaffran <joaosaffranllvm at gmail.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctpop-vk.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctpop.ll

  Log Message:
  -----------
  [SPIRV]Implementing PopCount for 16 and 64 bits (#191283)

`OpBitCount` only supports 32bit types. So this patch modifies the
codegen to follow a similar pattern as `firstbithigh` and `firstbitlow`.
On 8 and 16 bits, the parameters are zero-extended to 32 bits. With 64
bits it is bitcasting into 2xi32 types. The logic is adapted to larger
component counts as well.

Fix: https://github.com/llvm/llvm-project/issues/142677

---------

Co-authored-by: Joao Saffran <jderezende at microsoft.com>


  Commit: 1e311716785daee38da0e6418d93ee6557a2585f
      https://github.com/llvm/llvm-project/commit/1e311716785daee38da0e6418d93ee6557a2585f
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

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

  Log Message:
  -----------
  [NFC][AMDGPU] clang-format AMDGPUAsmPrinter.cpp (#192176)


  Commit: 9b8611b1c5b3d454b2c5e052c00f7285d733d496
      https://github.com/llvm/llvm-project/commit/9b8611b1c5b3d454b2c5e052c00f7285d733d496
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M openmp/CMakeLists.txt

  Log Message:
  -----------
  [OpenMP] Create check-openmp target for device targets (#192175)

offload/cmake/caches/AMDGPUBot.cmake enables
RUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES="openmp". In that
sub-build, check-openmp target doesn't exist and there is build error
`unknown target 'check-openmp'` after 18f63d1375d0, which makes
top-level check-openmp depend on check-openmp-amdgcn-amd-amdhsa.

In openmp, the device targets only call add_subdirectory(device), which
doesn't calls construct_check_openmp_target() and check-openmp target
doesn't exist. `ninja check-openmp-amdgcn-amd-amdhsa` also fails with
the same error before 18f63d1375d0.

Fix by adding construct_check_openmp_target() for device targets as well.

Assisted-by: Claude Sonnet 4.6


  Commit: 5f62bae5666c3cad5439587fa0f330b92467241a
      https://github.com/llvm/llvm-project/commit/5f62bae5666c3cad5439587fa0f330b92467241a
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M flang/docs/Directives.md
    M flang/include/flang/Support/Fortran.h
    M flang/lib/Support/Fortran.cpp
    M flang/test/Semantics/cuf10.cuf

  Log Message:
  -----------
  [flang][cuda] Fix ignore_tkr(m) to also cover CUDA unified attribute (#192131)

The ignore_tkr(m) directive suppresses CUDA managed attribute checking
on dummy arguments, but it was not covering the unified attribute. This
caused a spurious error when passing a plain host array to a unified
dummy with ignore_tkr(m):
```
error: dummy argument 'x=' has ATTRIBUTES(UNIFIED) but its associated actual argument has no CUDA data attribute
```
Extend the IgnoreTKR::Managed check in AreCompatibleCUDADataAttrs to
accept Unified in addition to Managed and no-attribute.


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

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

  Log Message:
  -----------
  [RISCV] Enable use of vfslide1up in lowerVPSpliceExperimental for bf16 vectors with Zvfbfa (#192169)


  Commit: c9f09d305b555d0312cc76e665ba919be2d78236
      https://github.com/llvm/llvm-project/commit/c9f09d305b555d0312cc76e665ba919be2d78236
  Author: Jiaqi He <heturing at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    A clang-tools-extra/clang-tidy/bugprone/SignedBitwiseCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/SignedBitwiseCheck.h
    M clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt
    M clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp
    R clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
    R clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-bitwise.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/signed-bitwise.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise-bug34747.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise-integer-literals.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise-standard-types.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise-standard-types.h
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-bug34747.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-standard-types.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-standard-types.h
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise.cpp

  Log Message:
  -----------
  [clang-tidy] Rename hicpp-signed-bitwise to bugprone-signed-bitwise (#190449)

Part of https://github.com/llvm/llvm-project/issues/183462.

Closes https://github.com/llvm/llvm-project/issues/183465.

---------

Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>


  Commit: 73c7a6121956ceea1bc935c57292e5811e05e650
      https://github.com/llvm/llvm-project/commit/73c7a6121956ceea1bc935c57292e5811e05e650
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/test/Driver/hexagon-toolchain-elf.c
    M clang/test/Driver/hexagon-toolchain-linux.c

  Log Message:
  -----------
  [Hexagon] Add LTO options to Hexagon driver link args (#191336)

The Hexagon driver's constructHexagonLinkArgs() was not calling
addLTOOptions(). This meant that LTO plugin options weren't forwarded to
the linker.

This caused a crash when using ThinLTO with -fenable-matrix on
llvm-test-suite/SingleSource/UnitTests/matrix-types-spec.cpp:
LowerMatrixIntrinsicsPass did not run in the LTO backend because
-enable-matrix was not forwarded via -plugin-opt.

Add the addLTOOptions() call to both the musl and bare-metal code paths
in constructHexagonLinkArgs().


  Commit: 3ecf8724de1744f92e311115d4f3834a49a15b7b
      https://github.com/llvm/llvm-project/commit/3ecf8724de1744f92e311115d4f3834a49a15b7b
  Author: Björn Schäpers <bjoern at hazardy.de>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/Format/Format.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Detect language for file templates (#191502)

Fixes #191295.


  Commit: 4720d95026c7ef71e9743135d58fd6cdb06988e7
      https://github.com/llvm/llvm-project/commit/4720d95026c7ef71e9743135d58fd6cdb06988e7
  Author: Jan Voung <jvoung at google.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/unchecked-optional-access/std/types/optional.h
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unchecked-optional-access.cpp
    M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp

  Log Message:
  -----------
  Fix registered matcher for bugprone-unchecked-optional-access (recent changes to libcxx) (#191681)

Further fix for #187788. Previous attempt in PR #188044 only updated the
model and model tests, but forgot to update the registered matcher.


  Commit: 63febe07c8878a0695cdbc5551df8cd854828cf3
      https://github.com/llvm/llvm-project/commit/63febe07c8878a0695cdbc5551df8cd854828cf3
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp

  Log Message:
  -----------
  [GISel][CallLowering] Improve arg flags setting compile-time (#191761)

addFlagsUsingAttrFn is hot and showing up in compile-time profiles via
llvm::CallLowering::lowerCall. The culprit is std::function callback.
Switching to set flags based on AttributeSet directly is a -0.25%
compile-time improvement on CTMark AArch64 O0.

https://llvm-compile-time-tracker.com/compare.php?from=d35cd21a3757ab6028024f0b47bc9d802d06eae6&to=e717c7017faf2cb386f0d02715fb55d252b3ae42&stat=instructions%3Au


  Commit: 2acf87994f34e4d28c9c43b994263e62d98076fa
      https://github.com/llvm/llvm-project/commit/2acf87994f34e4d28c9c43b994263e62d98076fa
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] formatv in DWARFContext (#191983)

This relates to #35980.

Co-authored-by: Sergei Barannikov <barannikov88 at gmail.com>


  Commit: 7ae5fe63dd979eae13ea04e166f94056ec1306ca
      https://github.com/llvm/llvm-project/commit/7ae5fe63dd979eae13ea04e166f94056ec1306ca
  Author: Paweł Bylica <pawel at hepcolgum.band>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp

  Log Message:
  -----------
  [sanitizer] Use close_range on Linux to close FDs in StartSubprocess (#191450)

Enable the close_range syscall on Linux when __NR_close_range is
available in kernel headers (Linux 5.9+). On older kernels, the
syscall returns ENOSYS and callers fall back gracefully.

This fixes the slow FD closing loop in StartSubprocess when
RLIMIT_NOFILE is high (e.g. 1B in Docker environments).

Fixes https://github.com/llvm/llvm-project/issues/63297.
Fixes https://github.com/llvm/llvm-project/issues/152459.


  Commit: 7145f8986a82df677e67493b47243fd65aac8653
      https://github.com/llvm/llvm-project/commit/7145f8986a82df677e67493b47243fd65aac8653
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/performance/PreferSingleCharOverloadsCheck.cpp
    A clang-tools-extra/test/clang-tidy/checkers/performance/prefer-single-char-overloads-alias.cpp

  Log Message:
  -----------
  [clang-tidy] Emit deprecation warning for preformance-faster-string-find (#191922)

Related discussion in:
https://github.com/llvm/llvm-project/pull/186946#discussion_r2983649044


  Commit: 738ead2c739a6b1999db63a187185d00e534c747
      https://github.com/llvm/llvm-project/commit/738ead2c739a6b1999db63a187185d00e534c747
  Author: Evan Wilde <ewilde at apple.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
    M lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp

  Log Message:
  -----------
  [lldb] Fix FreeBSD/NetBSD plugin build after AsCString API change (#192110)

The argument to `AsCString` was made explicit in
116b045b1e2bff462afff0dc0b06218e6074f427.

```
/home/ewilde/llvm-project/freebsd-lldb-build/lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp:754:48: error: too few arguments to function call, single argument 'value_if_empty' was not specified
  754 |       module_file_spec.GetFilename().AsCString());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
/home/ewilde/llvm-project/freebsd-lldb-build/lldb/include/lldb/Utility/ConstString.h:183:15: note: 'AsCString' declared here
  183 |   const char *AsCString(const char *value_if_empty) const {
      |               ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
```

Not all use-sites were updated to pass an argument resulting in build
failures. I'm updating the errors in the FreeBSD and NetBSD plugins to
use formatv instead of expanding the C String, like what is done on
Linux, avoiding the issue entirely.

rdar://174675042


  Commit: 789f30c73ef4e6a26974a3813fda4aab21790296
      https://github.com/llvm/llvm-project/commit/789f30c73ef4e6a26974a3813fda4aab21790296
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M lldb/source/Plugins/SymbolLocator/Debuginfod/CMakeLists.txt
    M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
    M lldb/source/Plugins/SymbolLocator/SymStore/CMakeLists.txt
    M lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.cpp
    M llvm/include/llvm/Debuginfod/Debuginfod.h
    A llvm/include/llvm/HTTP/HTTPClient.h
    A llvm/include/llvm/HTTP/HTTPServer.h
    A llvm/include/llvm/HTTP/StreamedHTTPResponseHandler.h
    R llvm/include/llvm/Support/HTTP/HTTPClient.h
    R llvm/include/llvm/Support/HTTP/HTTPServer.h
    R llvm/include/llvm/Support/HTTP/StreamedHTTPResponseHandler.h
    M llvm/lib/CMakeLists.txt
    M llvm/lib/Debuginfod/CMakeLists.txt
    M llvm/lib/Debuginfod/Debuginfod.cpp
    A llvm/lib/HTTP/CMakeLists.txt
    A llvm/lib/HTTP/HTTPClient.cpp
    A llvm/lib/HTTP/HTTPServer.cpp
    A llvm/lib/HTTP/StreamedHTTPResponseHandler.cpp
    M llvm/lib/Support/CMakeLists.txt
    R llvm/lib/Support/HTTP/CMakeLists.txt
    R llvm/lib/Support/HTTP/HTTPClient.cpp
    R llvm/lib/Support/HTTP/HTTPServer.cpp
    R llvm/lib/Support/HTTP/StreamedHTTPResponseHandler.cpp
    M llvm/tools/llvm-cov/CMakeLists.txt
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/tools/llvm-debuginfod-find/CMakeLists.txt
    M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
    M llvm/tools/llvm-debuginfod/CMakeLists.txt
    M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
    M llvm/tools/llvm-objdump/CMakeLists.txt
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-profdata/CMakeLists.txt
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/tools/llvm-symbolizer/CMakeLists.txt
    M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
    M llvm/unittests/CMakeLists.txt
    M llvm/unittests/Debuginfod/CMakeLists.txt
    M llvm/unittests/Debuginfod/DebuginfodTests.cpp
    A llvm/unittests/HTTP/CMakeLists.txt
    A llvm/unittests/HTTP/HTTPServerTests.cpp
    M llvm/unittests/Support/CMakeLists.txt
    R llvm/unittests/Support/HTTP/CMakeLists.txt
    R llvm/unittests/Support/HTTP/HTTPServerTests.cpp

  Log Message:
  -----------
  [llvm] Move libSupportHTTP to top-level libHTTP (NFC) (#191202)

The HTTP implementation depends on CURL and would preferably not be part
of the LLVM dylib. This was not possible as a nested library under
libSupport, because libSupport itself is part of the LLVM dylib. This
patch moves the HTTP code into a separate top-level library that is
independent from libSupport and excluded from the LLVM dylib.


  Commit: 72e666d290a96fe8b286a7f668641ef377c4ea73
      https://github.com/llvm/llvm-project/commit/72e666d290a96fe8b286a7f668641ef377c4ea73
  Author: Minsoo Choo <minsoochoo0122 at proton.me>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [lldb][FreeBSDKernel] Add release notes for refresh-threads (#191399)

Fixes: 9116344c02bf0b9ec037451d12935d7539c48679 (#188692)

Assisted-by: Claude

---------

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


  Commit: 257aa195199cb10e5f4559399f91bbb6713ea93b
      https://github.com/llvm/llvm-project/commit/257aa195199cb10e5f4559399f91bbb6713ea93b
  Author: Minsoo Choo <minsoochoo0122 at proton.me>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [lldb][FreeBSDKernel] Supply values for CS/SS registers (#192207)

These two values ensure that CPU was in kernel privilege at the time of
crash. This change is from KGDB's `amd64fbsd-kern.c`.

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


  Commit: 120cbbd88bf6b6c723176684a12c64393abe7e95
      https://github.com/llvm/llvm-project/commit/120cbbd88bf6b6c723176684a12c64393abe7e95
  Author: Kunqiu Chen <camsyn at foxmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/fold-fcmp-trunc.ll
    M llvm/test/Transforms/InstCombine/known-never-nan.ll

  Log Message:
  -----------
  [InstCombine] Fold `fptrunc(x) ord/uno [ C | fptrunc(y) ]` to `x ord/uno [ C | y ]` (#185844)

Recognize TWO new patterns and fold them as follows:
```
fptrunc(x) ord/uno C           -->  x ord/uno 0
fptrunc(x) ord/uno fptrunc(y)  -->  x ord/uno y
```

Fixes #185698
Alive2: https://alive2.llvm.org/ce/z/YvXnBJ
IR diff: https://github.com/dtcxzyw/llvm-opt-benchmark/pull/3551
CompTime impact: https://github.com/dtcxzyw/llvm-opt-benchmark/pull/3552


  Commit: cee66b7a4bd7597061e880a3dd3a218167787710
      https://github.com/llvm/llvm-project/commit/cee66b7a4bd7597061e880a3dd3a218167787710
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [AMDGPU]Refactor `lowerWaveReduce` for maintainability (#189223)

The function to lower wave reduce pseudos is already quite
large ,and there are yet a few more operations to support.
Refactoring some of the code to make it more manageable.
Summary of changes:
1. Moved the expansion for `V_CNDMASK_B64_PSEUDO` to a
separate function. It's needed for 64 bit dpp operations.

2. Collapsed `getIdentityValueFor32BitWaveReduction` and
`getIdentityValueFor64BitWaveReduction` into a single
function which returns a 64 bit unsigned value.

3. Modified `getDPPOpcForWaveReduction` to also return
the `Clamp` opcode.

4. Added a lambda: `BuildRegSequence` and a static function
`ExtractSubRegs` as those code blocks are repeated with
little variation.

5. Moved logic for setting identity value in inactive lanes
to `BuildSetInactiveInstr`.


  Commit: ef36f92e40e419ff3b4413da5608cfcf1d2bea85
      https://github.com/llvm/llvm-project/commit/ef36f92e40e419ff3b4413da5608cfcf1d2bea85
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/LoongArch/loongarch-interleaved.ll
    M llvm/test/Transforms/LoopVectorize/X86/slm-no-vectorize.ll
    M llvm/test/Transforms/LoopVectorize/optsize.ll
    M llvm/test/Transforms/LoopVectorize/pr31190.ll
    M llvm/test/Transforms/LoopVectorize/tripcount.ll

  Log Message:
  -----------
  [LV][NFC] Remove "REQUIRES: asserts" line from some tests (#191795)

Several tests seemed to require asserts despite not testing any debug
output so I have removed the line.


  Commit: 15ce7e18295a972c9ab13046f371ed808b3a6e53
      https://github.com/llvm/llvm-project/commit/15ce7e18295a972c9ab13046f371ed808b3a6e53
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.max.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.min.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll

  Log Message:
  -----------
  [AMDGPU] DPP wave reduction for long types - 1 (#189224)

Supported Ops: `min`, `max`, `umin`, `umax`


  Commit: 66b946d23c667138e9cb3e024eeba01df464b096
      https://github.com/llvm/llvm-project/commit/66b946d23c667138e9cb3e024eeba01df464b096
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.add.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.sub.ll

  Log Message:
  -----------
  [AMDGPU] DPP wave reduction for long types - 2 (#189225)

Supported Ops: `add`, `sub`


  Commit: ed1199a9d452bd31df3b20a8e8a9d2e00632f823
      https://github.com/llvm/llvm-project/commit/ed1199a9d452bd31df3b20a8e8a9d2e00632f823
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.and.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.or.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.xor.ll

  Log Message:
  -----------
  [AMDGPU] DPP wave reduction for long types - 3 (#189226)

Supported Ops: `and`, `or`, `xor`


  Commit: bc54a63e37ad81941bc68813bbf7badd5f24d60d
      https://github.com/llvm/llvm-project/commit/bc54a63e37ad81941bc68813bbf7badd5f24d60d
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmax.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmin.ll

  Log Message:
  -----------
  [AMDGPU] DPP wave reduction for double types - 1 (#189390)

Supported Ops: `fmin` and `fmax`


  Commit: b05b77a830f68894b67480bdf42d737bb046c19d
      https://github.com/llvm/llvm-project/commit/b05b77a830f68894b67480bdf42d737bb046c19d
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fsub.ll

  Log Message:
  -----------
  [AMDGPU] DPP wave reduction for double types - 2 (#189391)

Supported Ops: `fadd` and `fsub`


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/test/CodeGen/SPIRV/transcoding/OpAllAny.ll

  Log Message:
  -----------
  [SPIR-V] Convert integer vector to bool vector for OpAny/OpAll (#191804)

OpenCL any()/all() builtins receive integer vectors, but OpAny/OpAll
require boolean vector inputs per the SPIR-V spec

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


  Commit: 3cc9f63d81eb85f9f5ed5161b565871e0785511f
      https://github.com/llvm/llvm-project/commit/3cc9f63d81eb85f9f5ed5161b565871e0785511f
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/list.rst

  Log Message:
  -----------
  [clang-tidy][NFC] Mark cert-err33-c as alias in check list (#192224)


  Commit: 0563360ae1ac21b278b307a6b34f3f0cea023949
      https://github.com/llvm/llvm-project/commit/0563360ae1ac21b278b307a6b34f3f0cea023949
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/include/llvm/Passes/TargetPassRegistry.inc
    A llvm/test/CodeGen/AMDGPU/new-pm-machine-analysis.mir

  Log Message:
  -----------
  [NewPM] Teach llc -passes to handle target machine analysis (#191704)


  Commit: 6cbae7b8b5e5805b70256737929a9683afecb57f
      https://github.com/llvm/llvm-project/commit/6cbae7b8b5e5805b70256737929a9683afecb57f
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/unittests/Debuginfod/CMakeLists.txt

  Log Message:
  -----------
  [llvm] Fix: DebuginfodTests must link libHTTP after 789f30c73ef4 (#192225)


  Commit: 40690e55a8bac17d71604b651562985051a05cd9
      https://github.com/llvm/llvm-project/commit/40690e55a8bac17d71604b651562985051a05cd9
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [openmp] Fix Darwin after 988e00e (#192135)

As per
https://github.com/llvm/llvm-project/pull/191556#issuecomment-4246459320


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

  Changed paths:
    M llvm/examples/OrcV2Examples/LLJITWithCustomObjectLinkingLayer/LLJITWithCustomObjectLinkingLayer.cpp
    M llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/LLJITWithGDBRegistrationListener.cpp
    M llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/LLJITWithObjectLinkingLayerPlugin.cpp
    M llvm/include/llvm-c/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
    M llvm/tools/lli/lli.cpp
    M mlir/lib/ExecutionEngine/ExecutionEngine.cpp

  Log Message:
  -----------
  [ORC] Add MemMgr arg to LLJITBuilder::ObjectLinkingLayerCreator. (#192214)

LinkGraphLinkingLayer and ObjectLinkingLayer will start requiring a
jitlink::JITLinkMemoryManager argument in an upcoming commit. In
preparation for that, this patch threads a MemMgr argument through the
LLJITBuilder::ObjectLinkingLayerCreator factory type.

Note: This patch does not thread the argument through the C API
(LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction) yet so as to not
break compatibility. All current users of the C API construct
RuntimeDyld instances, which would have to ignore this argument anyway.
If we don't update the
LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction type before
RuntimeDyld is removed then that will be a good time to update it, since
all existing users were going to have to rewrite their code anyway.


  Commit: 6b6461ccdedd344a3ba90bb4ae0283f6db7741d2
      https://github.com/llvm/llvm-project/commit/6b6461ccdedd344a3ba90bb4ae0283f6db7741d2
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    A llvm/test/CodeGen/AArch64/vector-absolute-difference.ll

  Log Message:
  -----------
  [AArch64] Add a few tests showing vector absolute differences (NFC) (#191383)


  Commit: 8a12039aa538b13451b1864e7eafbbe04d58b6f3
      https://github.com/llvm/llvm-project/commit/8a12039aa538b13451b1864e7eafbbe04d58b6f3
  Author: Roy Shi <royitaqi at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/include/llvm/ADT/bit.h

  Log Message:
  -----------
  [llvm adt] Use `__builtin_bswap16` in `byteswap()` when available (#190002)

The 32-bit and 64-bit branch of the code has the same pattern of using
`__builtin_bswapXX` when available (before trying to use
`_byteswap_XXXXX`). But the 16-bit branch doesn't do this (it only tries
to use the latter).

It seems `__builtin_bswap16` is a thing (see
[doc](https://gcc.gnu.org/onlinedocs/gcc/Byte-Swapping-Builtins.html)),
so I wonder if we just forgot to use it in the 16-bit branch.

Adding it and hope it helps (i.e. faster than the default shift-and-or
approach).


  Commit: 0b3afd35c41d5424e8a0e156f78f8a293934b6a5
      https://github.com/llvm/llvm-project/commit/0b3afd35c41d5424e8a0e156f78f8a293934b6a5
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/test/Dialect/LLVMIR/sroa-intrinsics.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Fix non-deterministic alloca order in SROA under LLVM_REVERSE_ITERATION (#192087)

AllocaOp::destructure iterated over usedIndices (SmallPtrSet) whose
order depends on pointer values, causing allocas for destructured
subslots to be emitted in a non-deterministic order when
LLVM_REVERSE_ITERATION is enabled. Sort indices ascending by integer
value before creating allocas to guarantee a stable output order. Update
four test cases in sroa-intrinsics.mlir whose CHECK patterns relied on
the old non-deterministic ordering.

Assisted-by: Claude Code

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>


  Commit: 156494bf18eb0f6eed5b3788f671b5515c516b45
      https://github.com/llvm/llvm-project/commit/156494bf18eb0f6eed5b3788f671b5515c516b45
  Author: Jacques Pienaar <jacques+gh at japienaar.info>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
    M mlir/test/Bytecode/uselist_orders.mlir

  Log Message:
  -----------
  [mlirbc] Fix use-list ordering during deserialization (#191942)

This patch fixes an issue in the MLIR bytecode reader where use-lists
were incorrectly reconstructed when they had permutations that are not
own inverse. Fixed the use-list reconstruction mapping logic in to
correctly restore the stable memory order of uses, both full shuffle and
index-pair encodings consistently.

Gemini/LLM assisted.


  Commit: 7a894a96014ebc319bc225a8e8107ee78794bff3
      https://github.com/llvm/llvm-project/commit/7a894a96014ebc319bc225a8e8107ee78794bff3
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/unittests/Support/FormatVariadicTest.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] Add more format/formatv equivalence tests (#191980)

The idea for this commit is to show how `formatv()` format strings need
to be constructed in order to achieve the same output as with
`format()`.

This relates to #35980.

Co-authored-by: Sergei Barannikov <barannikov88 at gmail.com>


  Commit: 5cc6df520eef0ca9ab329a2eb6f14cf0c3717b22
      https://github.com/llvm/llvm-project/commit/5cc6df520eef0ca9ab329a2eb6f14cf0c3717b22
  Author: zackc6 <112835067+zackc6 at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [mlir][FuncToLLVM][NFC] Refactor convertFuncOpToLLVMFuncOp into helpers (#192218)

Split convertFuncOpToLLVMFuncOp into focused helper functions for
signature conversion, llvm.func creation, attribute propagation, and
C-wrapper handling.

This reduces nesting and improves readability while preserving existing
lowering behavior.


  Commit: ad8a6275912c2d9e2410ea4c1481d7ec88279383
      https://github.com/llvm/llvm-project/commit/ad8a6275912c2d9e2410ea4c1481d7ec88279383
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Debuginfod/BUILD.gn
    A llvm/utils/gn/secondary/llvm/lib/HTTP/BUILD.gn
    R llvm/utils/gn/secondary/llvm/lib/Support/HTTP/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-cov/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-debuginfod-find/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-debuginfod/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-objdump/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-profdata/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-symbolizer/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
    A llvm/utils/gn/secondary/llvm/unittests/HTTP/BUILD.gn
    R llvm/utils/gn/secondary/llvm/unittests/Support/HTTP/BUILD.gn

  Log Message:
  -----------
  [gn] port 789f30c73ef4e6a2 (llvm/lib/HTTP) (#192248)


  Commit: 13e0f6c411fc0e284db2dac838aa9a9065d72a7f
      https://github.com/llvm/llvm-project/commit/13e0f6c411fc0e284db2dac838aa9a9065d72a7f
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/hicpp/BUILD.gn

  Log Message:
  -----------
  [gn build] Port c9f09d305b55 (#192251)

[gn build] Port c9f09d305b55


  Commit: 36034461747dad3c3d74285bf6d7e5ffd1ef889e
      https://github.com/llvm/llvm-project/commit/36034461747dad3c3d74285bf6d7e5ffd1ef889e
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/DebugInfo/GSYM/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/DebugInfo/GSYM/BUILD.gn

  Log Message:
  -----------
  [gn build] Port c3650687e0b7 (#192250)

[gn build] Port c3650687e0b7


  Commit: a10674f3dce4e8bc2bbac56dd6b7a73d61a4b70c
      https://github.com/llvm/llvm-project/commit/a10674f3dce4e8bc2bbac56dd6b7a73d61a4b70c
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [gn build] Port 5d7a143ec677 (#192249)

[gn build] Port 5d7a143ec677


  Commit: 6ec03a7fea2103ac103b767c03ed3065d3922356
      https://github.com/llvm/llvm-project/commit/6ec03a7fea2103ac103b767c03ed3065d3922356
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/test/CIR/CodeGen/array-init-loop-exprs.cpp

  Log Message:
  -----------
  [CIR] Implement 'ArrayInitLoopExpr lowering' in ExprAgg. (#192053)

This ended up being a fairly common pattern: a copy operation on a
structure with an array inside of it. Classic-Codegen has a few
different ways of initializing/copying an array, of which this is one.
However, this patch uses the array-init functionality we already have.

This ends up being a bit verbose, but will make sure we don't have to
worry about separately handling throwing types/etc for this AST node.

Additionally, this has to handle the ArrayInitIndexExpr, but that is as
simple as making sure we properly cache the index value when doing our
initialization.


  Commit: 95b8fb64c5b102ee92d6c0229f8762be84ab1668
      https://github.com/llvm/llvm-project/commit/95b8fb64c5b102ee92d6c0229f8762be84ab1668
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/test/CIR/CodeGen/cast-cxx20.cpp

  Log Message:
  -----------
  [CIR] Handle scalar lowering of qualification-changes (#192152)

Similar to the previous Expr-change that I made, this does the same with
pointers-to-arrays (and other types). The new implementation is
effectively a copy/paste of the classic-codegen, so it maintains our
current invariants/assumptions about changes via emitLoadOfLValue.


  Commit: c3d7f77a2b27ee92366aeac1b9114a33be3245ba
      https://github.com/llvm/llvm-project/commit/c3d7f77a2b27ee92366aeac1b9114a33be3245ba
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/test/CIR/CodeGen/three-way-cmp.cpp

  Log Message:
  -----------
  [CIR] Lower PsuedoObjectExpr LValues (#192108)

This ends up being pretty much copy/paste from classic-codegen, so it
doesn't have anything particularly novel.

I DID switch the return type of the helper function to be a variant
instead of a manually-put-together pair, and switched to range-for, but
otherwise it should be identical.

However, I was uanble to reproduce a few of the branches, so NYIs were
left in place until we can figure them out. At least some of them are
going to be for RValue versions.


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

  Changed paths:
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir

  Log Message:
  -----------
  [MLIR][Bufferization] Fix foldMemRefCasts dropping ranked return type for unranked->ranked cast (#189249)

When one-shot-bufferize with bufferize-function-boundaries is used and a
function returns a ranked tensor that is produced by casting from an
unranked intermediate (e.g. a call to a function returning
tensor<*xf32>), the foldMemRefCasts post-processing step incorrectly
unpacked the memref.cast from unranked to ranked memref, downgrading the
function return type to the unranked memref type and using the unranked
value as the return operand.

The fix is in unpackCast(): do not unpack a cast whose source is an
unranked memref and whose result is a ranked memref, since doing so
would lose type specificity.

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

Assisted-by: Claude Code


  Commit: 8a42e2ffc5ffb756ad838db297ac23d4fa78a05f
      https://github.com/llvm/llvm-project/commit/8a42e2ffc5ffb756ad838db297ac23d4fa78a05f
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/Math/Transforms/AlgebraicSimplification.cpp

  Log Message:
  -----------
  [MLIR][Math] Move exponent threshold check before IR creation in PowIStrengthReduction (#188955)

PowIStrengthReduction::matchAndRewrite was creating the `one` constant
(using complex::ConstantOp::create for complex::PowiOp) before the
threshold check that guards whether the rewrite is profitable. When the
exponent exceeds the threshold, the pattern returned failure() after IR
was already modified, violating
MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS.

Fix: reorder so the abs(exponent) computation and threshold check occur
before any IR creation.

Assisted-by: Claude Code
Fix a failure present with MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON.


  Commit: 7a48740f3c122a9e45172f609ef22335962248e3
      https://github.com/llvm/llvm-project/commit/7a48740f3c122a9e45172f609ef22335962248e3
  Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/stmt-func02.f90
    A flang/test/Semantics/stmt-func03.f90

  Log Message:
  -----------
  [Flang] Fix statement-function shadowing to avoid false unresolved-symbol internal error (#189360)

When a statement function shadows a host-associated internal procedure
name, HandleStmtFunction creates a local symbol but leaves name.symbol
pointing to the host SubprogramNameDetails.

Because of that stale pointer, AnalyzeStmtFunctionStmt exits early (it
expects SubprogramDetails), so the RHS is never resolved and flang emits
a false `internal error: "Internal: no symbol found".` Clearing
name.symbol after creating the local shadow symbol lets it re-resolve
correctly and fixes the issue.

---------

Co-authored-by: Chandra Ghale <ghale at pe34genoa.hpc.amslabs.hpecorp.net>


  Commit: 3d40731f4d20b43cd5668aa0d5b34607996c4182
      https://github.com/llvm/llvm-project/commit/3d40731f4d20b43cd5668aa0d5b34607996c4182
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [MLIR] Fix a mismatch between the function return type and the returned value type (NFC) (#192258)

This fixes the build on some platform where the inferred count differs.


  Commit: 75d74ee6d59cdb667d2cd490c52e42efec2ce850
      https://github.com/llvm/llvm-project/commit/75d74ee6d59cdb667d2cd490c52e42efec2ce850
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] Use formatv in LVReader (#192007)

This relates to #35980.


  Commit: 3174b3d61617b1d5766eb5ca14a3025af6d972e6
      https://github.com/llvm/llvm-project/commit/3174b3d61617b1d5766eb5ca14a3025af6d972e6
  Author: Christian Sigg <csigg at google.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [bazel] Port 789f30c (#192261)


  Commit: 18021237534da5efd9ae6bd9f1b79243d608b58f
      https://github.com/llvm/llvm-project/commit/18021237534da5efd9ae6bd9f1b79243d608b58f
  Author: Zhijie Wang <yesterda9 at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Propagate origins through explicit cast expressions (#192180)

Before this PR, `FactsGenerator` handled cast nodes with
`VisitImplicitCastExpr` (`CastKind` switch case) and
`VisitCXXFunctionalCastExpr` (handle`gsl::Pointer` types). Other
explicit casts (`CStyleCastExpr`, `CXXStaticCastExpr`, ...) had no
handler, so origin was silently dropped. This is the root cause of
#190912: the dangle in `a = StringView(s);` is missed even though the
equivalent `StringView tmp(s); a = tmp;` is reported.

The policy for "does this cast propagate origin?" is a function of
`CastKind`, independent of whether the cast is implicit or explicit.
This PR replaces `VisitImplicitCastExpr` with a generic `VisitCastExpr`.
`VisitCXXFunctionalCastExpr` is retained only to preserve the
`handleTestPoint` logic, then delegates to `VisitCastExpr`.

This mirrors `clang/lib/AST/ExprConstant.cpp`, where each evaluator
implements only `VisitCastExpr` and switches on `CastKind`; the few
ExprClass-specific overrides (e.g., `VisitCXXDynamicCastExpr`) exist
solely to attach constexpr-validity diagnostics before delegating back.

Scope: the set of `CastKind`s that propagate origin is unchanged.

Fixes: #190912


  Commit: d87e2eadbb124e34537df1e75c73b71dd09a7a30
      https://github.com/llvm/llvm-project/commit/d87e2eadbb124e34537df1e75c73b71dd09a7a30
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/SemaCXX/coroutines.cpp

  Log Message:
  -----------
  [Clang] Diagnose `co_await` expressions in default arguments of nested functions (#191817)

co_await/co_yield expressions are not allowed in default arguments. We
were checking they do not appear outside of function contexts, which
include default arguments of the corresponding function, but it missed
default arguments of functions declared in the body of another
functions.

Because parsing default argument isn't done in a dedicated scope, we do
additional checks in `ActOnParamDefaultArgument`. Because the checks is
done in two places, we cannot introduce a more precise diagnostic.

It might be worth considering a parse scope for default arguments in the
future.

Fixes #98923


  Commit: b9077c8e6aaa6c23c0735977fb52a264c6709071
      https://github.com/llvm/llvm-project/commit/b9077c8e6aaa6c23c0735977fb52a264c6709071
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M lldb/docs/_ext/build_include.py
    M lldb/docs/_ext/lldb_setting.py
    M lldb/scripts/gen-property-docs-from-json.py

  Log Message:
  -----------
  [lldb][Docs] Fix presentation of some default values (#192239)

There were two bugs with the display of default values:

1. If a default value contains a backtick, that would render
incorrectly. For example
[`disassembly-format`](https://lldb.llvm.org/use/settings.html#disassembly-format).
Fixed by doing the wrapping when we generate the Markdown instead of
when parsing the directive. MyST will already parse the content of the
directive as Markdown. We can escape backticks inside the string by
changing the fence. Markdown can take any number of backticks at the
start as long as they match the amount at the end
([spec](https://spec.commonmark.org/0.31.2/#code-spans)).
2. When the docs were built on Windows, UTF-8 was not correctly picked
up, because the default encoding isn't utf8 there.
[`separator`](https://lldb.llvm.org/use/settings.html#separator) was one
example (renders correctly on the Website but not on my machine).


  Commit: e2195ff09dedf0e9eb1148a9fad96229158b75ae
      https://github.com/llvm/llvm-project/commit/e2195ff09dedf0e9eb1148a9fad96229158b75ae
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/test/Analysis/bstring.c

  Log Message:
  -----------
  [analyzer] Fix 'bstring.c' test on Mingw (#192252)

Addresses
https://github.com/llvm/llvm-project/pull/191061#issuecomment-4250948488

Co-authored-by: Martin Storsjö <martin at martin.st>


  Commit: f194504eff0e64022a95f9e92ca0babb17415b8e
      https://github.com/llvm/llvm-project/commit/f194504eff0e64022a95f9e92ca0babb17415b8e
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/trunc-brc.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll

  Log Message:
  -----------
  [AMDGPU][GlobalISel] Implement missing rules for G_TRUNC legalization (#180647)

Implement G_TRUNC (result, source) register bank rules for sizes {32,
64, 96, 128, 160, 256, 512} with two generic wildcard rules using
UniBRC/DivBRC predicates and SgprBRC/VgprBRC apply IDs.


  Commit: 0bced2162c78a4f7d3d13c78a524ba5d1be98f89
      https://github.com/llvm/llvm-project/commit/0bced2162c78a4f7d3d13c78a524ba5d1be98f89
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/tools/llvm-jitlink/llvm-jitlink-statistics.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h

  Log Message:
  -----------
  [llvm-jitlink] Hold Session::ObjLayer by unique_ptr. (#192253)

This will simplify the Session construction process when we remove
jitlink::JITLinkMemoryManager ownership from ExecutorProcessControl in
an upcoming patch.

(Reason: ObjectLinkingLayer's constructor will require a
JITLinkMemoryManager, which we'll want to cerate after the
ExecutionSession has been initialized. Creating a JITLinkMemoryManager
is generally a fallible operation, so we want to be able to bail on
construction of the ObjectLinkingLayer entirely if we can't create a
memory manager for it).


  Commit: e0f5ad74be2b2f127442f721c70c6753c41e6d8c
      https://github.com/llvm/llvm-project/commit/e0f5ad74be2b2f127442f721c70c6753c41e6d8c
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/CXX/drs/cwg24xx.cpp

  Log Message:
  -----------
  [Clang] Fix handling of overloads differing only by constraints and ref-qualifiers (#192018)

We should only error about inconsistent qualifiers if the functions are
actually overloads.

Fixes #120812


  Commit: 54ae11d3f096732d826aa89a71e3b7ceca811f2d
      https://github.com/llvm/llvm-project/commit/54ae11d3f096732d826aa89a71e3b7ceca811f2d
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    A clang/test/CXX/drs/cwg31xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang][NFC] Mark 3106 as implemented. (#192256)

This was a wording clarification, but we add a test nonetheless.


  Commit: 0f2afde1c2276a61435e8f9909c13f6e2208b936
      https://github.com/llvm/llvm-project/commit/0f2afde1c2276a61435e8f9909c13f6e2208b936
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/SemaOpenACC/routine-construct-clauses.cpp

  Log Message:
  -----------
  [OpenACC] Fix invalid routine case where 'bind' didn't exist (#192270)

For some reason I'd failed to check the result of `find_if` and just
assumed that the `bind` clause must exist! Looking through my other
tests, I've validated every other combination other than this one for
some reason.

Fixes: #192245


  Commit: da8abd84801362080232638abff9d399558cd82a
      https://github.com/llvm/llvm-project/commit/da8abd84801362080232638abff9d399558cd82a
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/Core/LVCompare.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] Use formatv in LVCompare (#192001)

This relates to #35980.


  Commit: cb961d331f40368d1856ad2dc00fde7ef3deb9e2
      https://github.com/llvm/llvm-project/commit/cb961d331f40368d1856ad2dc00fde7ef3deb9e2
  Author: Max Graey <maxgraey at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    M llvm/lib/Support/KnownFPClass.cpp
    M llvm/test/Transforms/Attributor/nofpclass-powi.ll
    M llvm/unittests/Analysis/ValueTrackingTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/KnownFPClassTest.cpp

  Log Message:
  -----------
  [ValueTracking][KnownFPClass] Cover known no-infinity cases for powi (#191736)

Teach `computeKnownFPClass` to infer non-infinity cass for `powi`.

Rules out `inf` for `powi(x, exp)` when:
- `x ?= inf` && `exp > 0`
- `x ?= +/-0` && `exp < 0`
- `x ?= finite` && `|exp| > 1`
- `x ?= subnormal` && `exp ?= -1` (special asym case after |exp| > 1)

where `?=` is maybe equal.

It's a bit conservative, and we could refine it further, but I'd take an
iterative improvement.


  Commit: 4e3a074501cae5f132293d56f9987ded94ee72be
      https://github.com/llvm/llvm-project/commit/4e3a074501cae5f132293d56f9987ded94ee72be
  Author: 8051Enthusiast <8051Enthusiast at protonmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    A llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-comdat.ll

  Log Message:
  -----------
  [SimplifyCFG] Reuse function comdat for switch lookup table (#190995)

Fixes #190994.

As the switch table is extracted from the function, the table should be
removed when the function is removed, and therefore inherits the comdat
of the function.


  Commit: cd0f775fbc9075897475e4b4cdf56be4a7148d43
      https://github.com/llvm/llvm-project/commit/cd0f775fbc9075897475e4b4cdf56be4a7148d43
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/test/CIR/CodeGen/partial-array-cleanup.cpp

  Log Message:
  -----------
  [CIR] Handle irregular partial init destroy (#192158)

This implements CIR handling for the case where an array of a destructed
type is being initialized using an initializer list and therefore the
address of the last successfully constructed element must be loaded from
a temporary variable before the partial array destroy loop can begin.

In classic codegen this shares its implementation with the general array
ctor/dtor handling, but in CIR we have dedicated operations to abstract
array ctors/dtors, so the implementation of the irregular partial
destruction happens in a different place in codegen.

Assisted-by: Cursor / claude-4.6-opus-high


  Commit: 70e5ec47d2bdd8f54f5c2df3ec8b606d42f11804
      https://github.com/llvm/llvm-project/commit/70e5ec47d2bdd8f54f5c2df3ec8b606d42f11804
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    A clang/test/CIR/CodeGen/cleanup-conditional-eh.cpp
    A clang/test/CIR/CodeGen/cleanup-conditional.cpp

  Log Message:
  -----------
  [CIR] Handle full expression cleanups in conditional branches (#191479)

This adds CIR support for handling full expression cleanups in
conditional branches. Because CIR uses structured control flow, it was
necessary to handle these cleanups differently than is done in classic
codegen. CIR speculatively creates a cleanup scope when an
ExprWithCleanups contains a conditional operator and maintains a
dedicated stack of these deferred cleanups, which is added to the
cleanup scope at the end of the full expression with an active flag used
to control whether the cleanup should be executed based on any branches
that may have been taken during the conditional expression evaluation.
This is similar to the mechanism used for lifetime extended cleanups,
but the timing of when the cleanups are moved to the main EH stack is
different, so we need to maintain two different pending cleanup stacks.
We are able to use the same PendingCleanupEntry class for both.

Assisted-by: Cursor / claude-4.6-opus-high


  Commit: 150e62532fd3b063f80626dbcebf0aa131a5b1c6
      https://github.com/llvm/llvm-project/commit/150e62532fd3b063f80626dbcebf0aa131a5b1c6
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/OpenMP/RegisterOpenMPExtensions.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/Lowering/omp-target-map.cir

  Log Message:
  -----------
  [CIR][OpenMP] Add OpenMP-to-LLVM type conversion for CIR-to-LLVM lowering (#190063)

Register OpenMP conversion legality and patterns in the CIR-to-LLVM pass
so that OpenMP operations (e.g. omp.map.info, omp.target) have their CIR
types converted to LLVM types during lowering. Without this,
the conversion leaves behind unrealized_conversion_cast ops that cause
translation to LLVM IR to fail.

Also registers omp::PointerLikeType on cir::PointerType so that CIR
pointers are accepted as operands in OpenMP map operations.

Assised-by: Cursor / Claude Opus 4.6


  Commit: 7f521050d2c4141200b5f7cd75f81db99d26bcad
      https://github.com/llvm/llvm-project/commit/7f521050d2c4141200b5f7cd75f81db99d26bcad
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
    M llvm/test/CodeGen/AMDGPU/indirect-reg-read-imm-idx.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for G_INSERT_VECTOR_ELT (#191296)


  Commit: a11c24d34aba240777cbc944bd4e39f0c1349bb8
      https://github.com/llvm/llvm-project/commit/a11c24d34aba240777cbc944bd4e39f0c1349bb8
  Author: Chi-Chun, Chen <chichun.chen at hpe.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-teams-distribute-reduction.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Fix teams reduction assert with sibling distributes (#191475)

Avoid double-mapping teams reduction block arguments when multiple
sibling `omp.distribute` ops appear under the same `omp.teams`.

Replace `teamsReductionContainedInDistribute` with
`getDistributeCapturingTeamsReduction`, which returns the unique
`omp::DistributeOp` containing all non-debug uses of the teams reduction
block arguments, or null if no such distribute exists. In that case,
reduction setup falls back to the teams op.

This ensures only the owning distribute handles reduction setup and
prevents `moduleTranslation.mapValue()` from being called multiple times
for the same block arguments.

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

Assisted with Copilot and GPT-5.4


  Commit: f6dcdbe1561b9c4eb492902b207c86ce103b5353
      https://github.com/llvm/llvm-project/commit/f6dcdbe1561b9c4eb492902b207c86ce103b5353
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/returnaddress.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for returnaddress (#191318)


  Commit: 5043d096b00f0782e60834271fe67f164a1e85a3
      https://github.com/llvm/llvm-project/commit/5043d096b00f0782e60834271fe67f164a1e85a3
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [MLIR][Vector] Fix WarpOpScfForOp and WarpOpScfIfOp leaving invalid ops after region moves (#188951)

WarpOpScfForOp::matchAndRewrite called mergeBlocks() to move forOp's
body block into the inner WarpOp. mergeBlocks() erases the source block,
leaving forOp with an empty body region (0 blocks). Since scf.for
requires exactly 1 body block, IR verification fails with "region with 1
blocks" after the pattern succeeds. Additionally, when forOp had no init
args, the pattern was missing the scf.yield terminator in the new ForOp.

WarpOpScfIfOp::matchAndRewrite had the same issue: takeBody() emptied
the ifOp's then/else regions, leaving scf.if with 0 blocks.

Fix:
- Restore the conditional scf.yield creation (only when newForOp has
results).
- After merging/taking the regions, replace the remaining op's results
with ub.poison and erase the now-invalid op from the new WarpOp's body.

Assisted-by: Claude Code
Fix a failure present with MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON.


  Commit: 70cf763a42d55dcf89687c9e84478eb007561654
      https://github.com/llvm/llvm-project/commit/70cf763a42d55dcf89687c9e84478eb007561654
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/cmake/caches/Release.cmake
    M llvm/CMakeLists.txt
    M llvm/cmake/config-ix.cmake
    A llvm/cmake/modules/FindLibXml2.cmake
    M llvm/lib/WindowsManifest/CMakeLists.txt

  Log Message:
  -----------
  Reapply "[cmake] Add support for statically linking libxml2" (#192088)

This applies a fix for windows not discovering libxml

This reverts commit 2a9c32496b5e8e63844597f638bdf67e4732fd35.


  Commit: d1fd44fac1bb2fb344fa48cbdc372b86e3516d58
      https://github.com/llvm/llvm-project/commit/d1fd44fac1bb2fb344fa48cbdc372b86e3516d58
  Author: michaelselehov <michael.selehov at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    A llvm/test/CodeGen/AMDGPU/machine-scheduler-revert-slot-monotonicity.mir

  Log Message:
  -----------
  [AMDGPU][Scheduler] Fix non-monotonic SlotIndex after schedule revert (#192039)

modifyRegionSchedule restores the original instruction order by splicing
MIs before RegionEnd. When an MI is already at the expected position
(MII == RegionEnd) its SlotIndex was left unchanged, even though earlier
splices may have shifted neighboring indices. This could leave a stale,
lower-numbered slot on a non-moved MI, breaking SlotIndex monotonicity
and corrupting LiveIntervals.

The corruption surfaced as a "register isn't live" assertion in
GCNDownwardRPTracker when PreRARematStage's finalizeGCNSchedStage
globally reverted regions that were already locally reverted by
checkScheduling.

Fix by calling LIS->handleMove for non-moved MIs whose SlotIndex has
become non-monotonic (PrevIdx >= MI_Idx). Additionally, track whether
checkScheduling already reverted a region and skip the redundant global
revert in finalizeGCNSchedStage.

Assisted-by: Claude Opus


  Commit: 33a1181470db75e284b091267d431ed15e12843c
      https://github.com/llvm/llvm-project/commit/33a1181470db75e284b091267d431ed15e12843c
  Author: Florian Mayer <fmayer at google.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp

  Log Message:
  -----------
  [NFC] [FlowSensitive] [StatusOr] add test for co_return (#192160)


  Commit: 60246dc28d170447299babf2f14706a2156b5488
      https://github.com/llvm/llvm-project/commit/60246dc28d170447299babf2f14706a2156b5488
  Author: Maiowaa <soodkushagar387 at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [InstCombine] Generalize zext(add X, -C) + C folding (#191723)

This patch generalizes an existing InstCombine optimization:

  zext(X - 1) + 1 → zext(X)

to support arbitrary constants C:

  zext(X - C) + C → zext(X)

when X is known to be >= C using KnownBits analysis.

This avoids missed simplifications for non-unit constants while ensuring
correctness under wrap semantics.

Includes test coverage for:
- Positive case where the fold applies
- Negative case where the fold must not apply


### Correctness Proof

We consider the transform:

  zext(add(X, -C)) + C → zext(X)

under the conditions:
  1) X u>= C (unsigned comparison)
  2) C fits in the bitwidth of X (i.e., representable in NarrowBW bits)

The inner operation is performed in the narrower bitwidth n:

  add(X, -C) = (X - C) mod 2^n

Since X u>= C, the subtraction does not underflow, so:

  (X - C) mod 2^n = X - C

Applying zero extension:

  zext(X - C) + C = (X - C) + C = X

Thus:
  = zext(X)

---

### Alive2 Validation

The transform was validated using Alive2 with symbolic C.
The constraint that C fits in NarrowBW bits is modeled using llvm.ctlz,
and the precondition X u>= C is enforced via llvm.assume.

Alive2 verifies the transformation under these conditions:

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


  Commit: 158434ae5e2d6bece6db4a1447eee2df6380321b
      https://github.com/llvm/llvm-project/commit/158434ae5e2d6bece6db4a1447eee2df6380321b
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M lldb/source/Host/windows/PseudoConsole.cpp

  Log Message:
  -----------
  [lldb][windows] use a marker to drain the ConPTY's init sequence (#191472)

This patch improves the ConPTY method that drains the init sequence. It
uses a string marker to ensure that the init sequence has been received.
The previous implementation was prone to race condition, because the
method could return before all the init sequence was received.

This only seems to reproduce on windows-server-2019.


  Commit: d05b3e0489070ea4e45676ede0159b299a9b030c
      https://github.com/llvm/llvm-project/commit/d05b3e0489070ea4e45676ede0159b299a9b030c
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.signal.isfirst.ll
    M llvm/test/CodeGen/AMDGPU/s-barrier.ll
    M llvm/test/CodeGen/AMDGPU/s-wakeup-barrier.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for split barrier intrinsics (#192170)

Add RegBankLegalize rules for the following split barrier intrinsics:
llvm.amdgcn.s.barrier.init
llvm.amdgcn.s.barrier.join
llvm.amdgcn.s.barrier.leave
llvm.amdgcn.s.barrier.signal.isfirst
llvm.amdgcn.s.barrier.signal.var
llvm.amdgcn.s.get.barrier.state
llvm.amdgcn.s.get.named.barrier.state
llvm.amdgcn.s.wakeup.barrier


  Commit: 55f40c851b0e647a4476e5db8be45958f7ef2ffc
      https://github.com/llvm/llvm-project/commit/55f40c851b0e647a4476e5db8be45958f7ef2ffc
  Author: Ryan Mansfield <ryan_mansfield at apple.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-otool.rst
    M llvm/test/tools/llvm-objdump/MachO/archive-headers.test
    M llvm/tools/llvm-objdump/MachODump.cpp
    M llvm/tools/llvm-objdump/OtoolOpts.td
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [llvm-otool] Add -a option to print archive headers (#189411)

Wire up llvm-otool's -a to the existing --archive-headers machinery with
a default of displaying all architectures to match classic otool
behaviour.


  Commit: d0b78277f0322b627e192324ac77274ebfedc210
      https://github.com/llvm/llvm-project/commit/d0b78277f0322b627e192324ac77274ebfedc210
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineScheduler.h
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp

  Log Message:
  -----------
  [MachineScheduler] Improve handling of phys regs in GenericScheduler. (NFC). (#187572)

Factor out the handling of coalesced preg COPYs from SystemZMachineScheduler.cpp into MachineScheduler.cpp. 

This extends the handling to other types of instructions than COPYs or immediate
loads, such as Load Address and takes care of maintaining the original input
order if both SUs are biased the same way in the same zone.

Another target that uses GenericScheduler can enable this by setting the new
MachineSchedPolicy member BiasPRegsExtra to true (default false). In a derived
scheduling strategy, this could be used either by passing /*BiasPRegsExtra=*/true
to biasPhysReg() (extra instruction detection), or by calling tryBiasPhysRegs()
instead which also preserves the original order if biased the same way.


  Commit: 7aee3933330033040ffc3edc75d752f6431c8dd7
      https://github.com/llvm/llvm-project/commit/7aee3933330033040ffc3edc75d752f6431c8dd7
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/include/clang/Serialization/ModuleCache.h
    M clang/lib/Serialization/ModuleCache.cpp
    A clang/test/Modules/prune-no-toplevel.m
    M clang/tools/libclang/BuildSystem.cpp

  Log Message:
  -----------
  [clang][modules] Don't prune the top level module cache for implicitly built modules (#192171)

There are build systems that put explicitly built modules in the same
module cache directory as implicitly built modules. Pruning those in an
implicit build can cause the build to fail due to missing modules.

rdar://174790709


  Commit: da09b04cf166ccc2fb50217649c54960a2753cfe
      https://github.com/llvm/llvm-project/commit/da09b04cf166ccc2fb50217649c54960a2753cfe
  Author: 8051Enthusiast <8051Enthusiast at protonmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    R llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-comdat.ll

  Log Message:
  -----------
  Revert "[SimplifyCFG] Reuse function comdat for switch lookup table (#190995)" (#192294)

This reverts commit 4e3a074501cae5f132293d56f9987ded94ee72be.

CI broke with errors that look very much like they're caused by #190995.
I can't merge, so someone else will have to.

https://lab.llvm.org/buildbot/#/builders/94/builds/16933
https://lab.llvm.org/buildbot/#/builders/55/builds/26779


  Commit: 19474da20b879ea67bb839120e13323671de5e1d
      https://github.com/llvm/llvm-project/commit/19474da20b879ea67bb839120e13323671de5e1d
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
    M llvm/test/CodeGen/AMDGPU/hsa.ll
    M llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll

  Log Message:
  -----------
  [AMDGPU] Fix .Lfunc_end label placement (#191526)

Now it is placed after the kernel descriptor, even the section is
.rodata, which is wrong. This allows proper code size calculation in MC.


  Commit: 1f0ded8b123789d8056e8429c92f3dad51935565
      https://github.com/llvm/llvm-project/commit/1f0ded8b123789d8056e8429c92f3dad51935565
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M lldb/cmake/modules/FindPythonAndSwig.cmake
    M lldb/docs/resources/build.rst
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [lldb][windows] recommend building with Python 3.11 (#191159)

As of https://github.com/llvm/llvm-project/pull/176387 and release 22,
official builds of lldb on Windows use Python 3.11 both on x64 and
arm64.

The Windows lldb build bots use 3.11+ versions of Python:

[lldb-x86_64-win](https://lab.llvm.org/buildbot/#/builders/211) -
`3.12.7`
[lldb-remote-linux-win](https://lab.llvm.org/buildbot/#/builders/197) -
`3.12.7`
[lldb-aarch64-windows](https://lab.llvm.org/buildbot/#/builders/141) -
`3.11.9`

This patch changes the cmake config and documentation to recommend
building lldb on Windows with Python 3.11 or more recent.

In the future, given the reduced number of lldb maintainers on Windows
compared to other platforms, bumping the Python version on Windows would
help reduce the surface area of Python related bugs.


  Commit: c4865380622f229188f29ef23d09eb3a564762ca
      https://github.com/llvm/llvm-project/commit/c4865380622f229188f29ef23d09eb3a564762ca
  Author: Lei Huang <lei at ca.ibm.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsPPC.def
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    A clang/test/CodeGen/PowerPC/builtins-ecc.c
    A clang/test/Sema/PowerPC/builtins-ecc-error.c
    M llvm/include/llvm/IR/IntrinsicsPowerPC.td
    M llvm/lib/Target/PowerPC/PPCInstrFuture.td
    M llvm/lib/Target/PowerPC/PPCInstrP10.td
    A llvm/test/CodeGen/PowerPC/builtins-ecc.ll

  Log Message:
  -----------
  [PowerPC] Implement Elliptic Curve Cryptography Builtins (#184681)

Add support for the following ISA Future elliptic curve cryptograpy
builtins.

* Builtins with immediate parameters:
vector unsigned char __builtin_xxmulmul(vector unsigned char, vector
unsigned char, unsigned int);
vector unsigned char __builtin_xxmulmulhiadd(vector unsigned char,
vector unsigned char, unsigned int, unsigned int, unsigned int); vector
unsigned char __builtin_xxmulmulloadd(vector unsigned char, vector
unsigned char, unsigned int, unsigned int); vector unsigned char
__builtin_xxssumudm(vector unsigned char, vector unsigned char, unsigned
int);
vector unsigned char __builtin_xxssumudmc(vector unsigned char, vector
unsigned char, unsigned int);
vector unsigned char __builtin_xxssumudmcext(vector unsigned char,
vector unsigned char, vector unsigned char, unsigned int);

* Builtins with two vector parameters (no immediates):
vector unsigned char __builtin_xsaddadduqm(vector unsigned char, vector
unsigned char);
vector unsigned char __builtin_xsaddaddsuqm(vector unsigned char, vector
unsigned char);
vector unsigned char __builtin_xsaddsubuqm(vector unsigned char, vector
unsigned char);
vector unsigned char __builtin_xsaddsubsuqm(vector unsigned char, vector
unsigned char);
vector unsigned char __builtin_xsmerge2t1uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsmerge2t2uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsmerge2t3uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsmerge3t1uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsrebase2t1uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsrebase2t2uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsrebase2t3uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsrebase2t4uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsrebase3t1uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsrebase3t2uqm(vector unsigned char,
vector unsigned char);
vector unsigned char __builtin_xsrebase3t3uqm(vector unsigned char,
vector unsigned char);

Assisted by AI.


  Commit: d0f8d719b58aaf422b8a31edd423ee27b746aaf0
      https://github.com/llvm/llvm-project/commit/d0f8d719b58aaf422b8a31edd423ee27b746aaf0
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td

  Log Message:
  -----------
  [AMDGPU] Enable real true16 on gfx1250 (#190452)


  Commit: 83a0866d0faf96fd1e4bf2526acd9afdcb231a69
      https://github.com/llvm/llvm-project/commit/83a0866d0faf96fd1e4bf2526acd9afdcb231a69
  Author: Deric C. <cheung.deric at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/Sema/SemaExprCXX.cpp
    A clang/test/AST/HLSL/hlsl-constructors-template.hlsl

  Log Message:
  -----------
  [HLSL] Mark vector and matrix constructor-turned-InitListExprs as ListInitializations (#192151)

Fixes #189086

This PR fixes a bug for HLSL where vector and matrix constructors that
have been turned into initializer lists via
https://github.com/llvm/llvm-project/blob/18519f34650db7fc8e1885ac0293c1e9a5f1b071/clang/lib/Sema/SemaInit.cpp#L6993-L7000
were not marked with ListInitialization = true, which causes template
re-instantiation to fail because the initialization with a InitListExpr
gets classified as a InitializationKind::IK_Direct instead of a
InitializationKind::IK_DirectList when ListInitialization is false.

Assisted-by: Claude Opus 4.6


  Commit: 92421023db331cbecfda066c8180892f19f77568
      https://github.com/llvm/llvm-project/commit/92421023db331cbecfda066c8180892f19f77568
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbutil.py

  Log Message:
  -----------
  [lldb] Declare return type of lldbutil.run_to_source_breakpoint (#190028)

Helpful for remembering the types of the four return values (and their
order).


  Commit: 9fb207e396f10c020be5312e56328e675c0729fa
      https://github.com/llvm/llvm-project/commit/9fb207e396f10c020be5312e56328e675c0729fa
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFExpressionPrinter.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] Use formatv in DWARFExpressionPrinter (#191993)

This relates to #35980.


  Commit: 9663ef399f327106f6c7307d08490c958db5c091
      https://github.com/llvm/llvm-project/commit/9663ef399f327106f6c7307d08490c958db5c091
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M flang/test/Lower/io-statement-2.f90
    M flang/test/Lower/io-statement-3.f90
    M flang/test/Lower/io-statement-big-unit-checks.f90
    M flang/test/Lower/io-statement-open-options.f90
    M flang/test/Lower/io-write.f90

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

Tests converted from test/Lower: io-statement-2.f90, io-statement-3.f90,
io-statement-big-unit-checks.f90, io-statement-open-options.f90,
io-write.f90


  Commit: 5e928acc511b93dd74c38d19d5e8c84b23f0c5cf
      https://github.com/llvm/llvm-project/commit/5e928acc511b93dd74c38d19d5e8c84b23f0c5cf
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/test/SemaTemplate/concepts.cpp

  Log Message:
  -----------
  [Clang] Add default arguments to the parameter mapping (#192071)

We were not adding default argument to the parameter mapping as such,
two constraint which only differed by the mapping of a parameter only
referenced in a default argument were considered identical.

Fixes #188640


  Commit: 4d41344c7995f213e176136cc27afc794a68b0f2
      https://github.com/llvm/llvm-project/commit/4d41344c7995f213e176136cc27afc794a68b0f2
  Author: Aviral Goel <aviralg at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/tools/clang-ssaf-format/CMakeLists.txt

  Log Message:
  -----------
  [clang][ssaf] Fix plugin crash on AIX by adding `SUPPORT_PLUGINS` to `clang-ssaf-format` (#192292)

This change fixes a crash when running the `with-plugin.test` lit tests
on AIX. The crash is caused by a missing `-Wl, -brtl` linker flag.
Without this flag, the dynamic linker cannot resolve symbols from the
host executable when loading shared libraries via `dlopen`. So when the
plugin's static initializer runs and tries to register into the
`llvm::Registry` (calling `getRegistryLinkListInstance` defined in the
host via `LLVM_INSTANTIATE_REGISTRY`), the symbol resolves to `null`,
crashing the process.

The fix is to use `SUPPORT_PLUGINS` flag in `add_llvm_executable`, like
other tools in llvm. For AIX, this flag adds `-Wl, -brtl` to enable
runtime linking; for Non-AIX platforms, it sets `LLVM_NO_DEAD_STRIP` to
prevent the linker from stripping symbols that plugins reference at load
time.


  Commit: 09bd12cccbc0dc1b66d482a62f56e8ddc5aa1e7c
      https://github.com/llvm/llvm-project/commit/09bd12cccbc0dc1b66d482a62f56e8ddc5aa1e7c
  Author: adams381 <adams at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/test/CIR/CodeGen/fp-math-precision-opts.c
    A clang/test/CIR/CodeGen/nofpclass.c

  Log Message:
  -----------
  [CIR] Add nofpclass for fast-math flags (#191455)

When `-menable-no-infs` or `-menable-no-nans` is set, OGCG adds
`nofpclass(nan inf)` to FP arguments and return values. CIR was missing
this.

Adds the check in `constructFunctionReturnAttributes` and
`constructFunctionArgumentAttributes`, gated on
`hasFloatingRepresentation()` (same condition classic codegen uses in
`canApplyNoFPClass`).

The MLIR LLVM dialect already has `llvm.nofpclass` from #188374, so only
the CIRGen side is needed here.

Test covers float, double, `_Complex double`, and a non-FP control case.

Made with [Cursor](https://cursor.com)


  Commit: 75b9b7197dee865e8ca73ed26373d944c837ed09
      https://github.com/llvm/llvm-project/commit/75b9b7197dee865e8ca73ed26373d944c837ed09
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Skip protected data blocks in Verilog (#190695)

A Verilog file can have encrypted stuff (sections 34 and O in the spec).
This patch makes the formatter skip it. Previously the formatter could
mess it up by treating it as ordinary code.

Now the entire block following the `pragma protect` line is treated as a
single token.

The keywords added in this patch only mean special things in the pragma
lines. Thus they are not added to `VerilogExtraKeywords`.

While the files containing the stuff are machine generated, it is a bad
idea for a formatter to break code. For example, one may wish to run the
formatter on an entire project containing both ordinary and encrypted
files. Another use case is formatting the prototypes in files that
contain clear text prototypes in and encrypted implementation.


  Commit: e47cbe9d046cc16cd113eeb56e4157558d649aae
      https://github.com/llvm/llvm-project/commit/e47cbe9d046cc16cd113eeb56e4157558d649aae
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    A clang/test/CIR/CodeGen/paren-init-list-eh.cpp
    M clang/test/CIR/CodeGen/paren-init-list.cpp

  Log Message:
  -----------
  [CIR] Implement cleanup handling for destructor ILE initializers (#192172)

This adds EH cleanup handling for C++ initializer list expressions
containing destructed types. The necessary support for deferred
deactivation cleanups was already in place, so this just needed to push
the deferred destroy cleanup when the init list element is constructed.


  Commit: a152ed4369a43751087979d69d316b7e4cf190f1
      https://github.com/llvm/llvm-project/commit/a152ed4369a43751087979d69d316b7e4cf190f1
  Author: Zachary Yedidia <zyedidia at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/MC/MCLFI.cpp

  Log Message:
  -----------
  [LFI][NFC] Mark lfi-enable-rewriter flag as hidden (#192143)

This flag is meant for debugging so it should be hidden.


  Commit: c3a22516888b94a4ad9919d0c224540fe1eb771c
      https://github.com/llvm/llvm-project/commit/c3a22516888b94a4ad9919d0c224540fe1eb771c
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/CUDA/cuda-code-gen.mlir

  Log Message:
  -----------
  [flang][cuda] Fix managed address space mismatch on host side (#192304)

Managed should not map to global


  Commit: fced80904ca5eaf4e0361ba91f594d3cc902f125
      https://github.com/llvm/llvm-project/commit/fced80904ca5eaf4e0361ba91f594d3cc902f125
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
    M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
    M mlir/test/Dialect/XeGPU/resolve-layout-conflicts.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Add propagation support for convert_layout op (#191598)

As title


  Commit: c0f73c807ddad11f5262f570fee25479226b3fd3
      https://github.com/llvm/llvm-project/commit/c0f73c807ddad11f5262f570fee25479226b3fd3
  Author: Colin He <50345320+CPlusMinus2000 at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Transforms/test-legalize-type-conversion.mlir

  Log Message:
  -----------
  [mlir] Use a container with deterministic iteration order for unrealized materializations (#191323)

Iteration over unrealized materializations in DialectConversion is
non-deterministic as the materialization metadata is stored in a
DenseMap. Replacing with a Vector-backed `llvm::MapVector` restores
deterministic behaviour.

This container is iterated for example here:
https://github.com/llvm/llvm-project/blob/main/mlir/lib/Transforms/Utils/DialectConversion.cpp#L3250


  Commit: 444d1cd76a34cceaf73712e9a5ed5c5bcb92b9ce
      https://github.com/llvm/llvm-project/commit/444d1cd76a34cceaf73712e9a5ed5c5bcb92b9ce
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

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

  Log Message:
  -----------
  [clang-format][NFC] Update comment (#192301)

The code changed in adba2aadf2.


  Commit: 02fdc8f8de83e11785102c2972503c50252a9760
      https://github.com/llvm/llvm-project/commit/02fdc8f8de83e11785102c2972503c50252a9760
  Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Core/Statusline.h
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/Statusline.cpp
    M lldb/source/Target/Process.cpp

  Log Message:
  -----------
  [lldb] Fix stale Symbol pointer crash in statusline after 'target symbols add' (#188377)

Context: 
lldb might crash when running to a debuggee crashing state and do a
target symbols add command.
Backtrace: 
```
 #0 0x000055ca6790dc65 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/hyubo/osmeta/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:848:11
 #1 0x000055ca6790e434 PrintStackTraceSignalHandler(void*) /home/hyubo/osmeta/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:931:1
 #2 0x000055ca6790b839 llvm::sys::RunSignalHandlers() /home/hyubo/osmeta/external/llvm-project/llvm/lib/Support/Signals.cpp:104:5
 #3 0x000055ca6790ff6b SignalHandler(int, siginfo_t*, void*) /home/hyubo/osmeta/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:430:38
 #4 0x00007fe9e5e44560 __restore_rt /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/signal/../sysdeps/unix/sysv/linux/libc_sigaction.c:13:0
 #5 0x00007fe9e5f25649 syscall /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/misc/../sysdeps/unix/sysv/linux/x86_64/syscall.S:38:0
 #6 0x00007fe9ec649170 SignalHandler(int, siginfo_t*, void*) /home/hyubo/osmeta/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:429:7
 #7 0x00007fe9e5e44560 __restore_rt /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/signal/../sysdeps/unix/sysv/linux/libc_sigaction.c:13:0
 #8 0x00007fe9ebb77bf0 lldb_private::operator<(lldb_private::StackID const&, lldb_private::StackID const&) /home/hyubo/osmeta/external/llvm-project/lldb/source/Target/StackID.cpp:99:16
 #9 0x00007fe9ebb6863d CompareStackID(std::shared_ptr<lldb_private::StackFrame> const&, lldb_private::StackID const&) /home/hyubo/osmeta/external/llvm-project/lldb/source/Target/StackFrameList.cpp:683:3
#10 0x00007fe9ebb6d049 bool __gnu_cxx::__ops::_Iter_comp_val<bool (*)(std::shared_ptr<lldb_private::StackFrame> const&, lldb_private::StackID const&)>::operator()<__gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>>, lldb_private::StackID const>(__gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>>, lldb_private::StackID const&) /mnt/gvfs/third-party2/libgcc/d1129753c8361ac8e9453c0f4291337a4507ebe6/11.x/platform010/5684a5a/include/c++/11.x/bits/predefined_ops.h:196:4
#11 0x00007fe9ebb6cefe __gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>> std::__lower_bound<__gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>>, lldb_private::StackID, __gnu_cxx::__ops::_Iter_comp_val<bool (*)(std::shared_ptr<lldb_private::StackFrame> const&, lldb_private::StackID const&)>>(__gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>>, __gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>>, lldb_private::StackID const&, __gnu_cxx::__ops::_Iter_comp_val<bool (*)(std::shared_ptr<lldb_private::StackFrame> const&, lldb_private::StackID const&)>) /mnt/gvfs/third-party2/libgcc/d1129753c8361ac8e9453c0f4291337a4507ebe6/11.x/platform010/5684a5a/include/c++/11.x/bits/stl_algobase.h:1464:8
#12 0x00007fe9ebb6cdfc __gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>> std::lower_bound<__gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>>, lldb_private::StackID, bool (*)(std::shared_ptr<lldb_private::StackFrame> const&, lldb_private::StackID const&)>(__gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>>, __gnu_cxx::__normal_iterator<std::shared_ptr<lldb_private::StackFrame>*, std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>>, lldb_private::StackID const&, bool (*)(std::shared_ptr<lldb_private::StackFrame> const&, lldb_private::StackID const&)) /mnt/gvfs/third-party2/libgcc/d1129753c8361ac8e9453c0f4291337a4507ebe6/11.x/platform010/5684a5a/include/c++/11.x/bits/stl_algo.h:2062:14
#13 0x00007fe9ebb685fa auto llvm::lower_bound<std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>&, lldb_private::StackID const&, bool (*)(std::shared_ptr<lldb_private::StackFrame> const&, lldb_private::StackID const&)>(std::vector<std::shared_ptr<lldb_private::StackFrame>, std::allocator<std::shared_ptr<lldb_private::StackFrame>>>&, lldb_private::StackID const&, bool (*)(std::shared_ptr<lldb_private::StackFrame> const&, lldb_private::StackID const&)) /home/hyubo/osmeta/external/llvm-project/llvm/include/llvm/ADT/STLExtras.h:2001:10
#14 0x00007fe9ebb68441 lldb_private::StackFrameList::GetFrameWithStackID(lldb_private::StackID const&) /home/hyubo/osmeta/external/llvm-project/lldb/source/Target/StackFrameList.cpp:697:11
#15 0x00007fe9ebbee395 lldb_private::Thread::GetFrameWithStackID(lldb_private::StackID const&) /home/hyubo/osmeta/external/llvm-project/lldb/include/lldb/Target/Thread.h:459:7
#16 0x00007fe9ebac7cf7 lldb_private::ExecutionContextRef::GetFrameSP() const /home/hyubo/osmeta/external/llvm-project/lldb/source/Target/ExecutionContext.cpp:643:25
#17 0x00007fe9ebac80e1 lldb_private::GetStoppedExecutionContext(lldb_private::ExecutionContextRef const*) /home/hyubo/osmeta/external/llvm-project/lldb/source/Target/ExecutionContext.cpp:164:34
#18 0x00007fe9eb8903fa lldb_private::Statusline::Redraw(std::optional<lldb_private::ExecutionContextRef>) /home/hyubo/osmeta/external/llvm-project/lldb/source/Core/Statusline.cpp:139:7
#19 0x00007fe9eb7ac8be lldb_private::Debugger::RedrawStatusline(std::optional<lldb_private::ExecutionContextRef>) /home/hyubo/osmeta/external/llvm-project/lldb/source/Core/Debugger.cpp:1233:3
#20 0x00007fe9eb804d1e lldb_private::IOHandlerEditline::RedrawCallback() /home/hyubo/osmeta/external/llvm-project/lldb/source/Core/IOHandler.cpp:446:3
#21 0x00007fe9eb80aa81 lldb_private::IOHandlerEditline::IOHandlerEditline(lldb_private::Debugger&, lldb_private::IOHandler::Type, std::shared_ptr<lldb_private::File> const&, std::shared_ptr<lldb_private::LockableStreamFile> const&, std::shared_ptr<lldb_private::LockableStreamFile> const&, unsigned int, char const*, llvm::StringRef, llvm::StringRef, bool, bool, unsigned int, lldb_private::IOHandlerDelegate&)::$_2::operator()() const /home/hyubo/osmeta/external/llvm-project/lldb/source/Core/IOHandler.cpp:262:73
#22 0x00007fe9eb80aa5d void llvm::detail::UniqueFunctionBase<void>::CallImpl<lldb_private::IOHandlerEditline::IOHandlerEditline(lldb_private::Debugger&, lldb_private::IOHandler::Type, std::shared_ptr<lldb_private::File> const&, std::shared_ptr<lldb_private::LockableStreamFile> const&, std::shared_ptr<lldb_private::LockableStreamFile> const&, unsigned int, char const*, llvm::StringRef, llvm::StringRef, bool, bool, unsigned int, lldb_private::IOHandlerDelegate&)::$_2>(void*) /home/hyubo/osmeta/external/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:213:5
#23 0x00007fe9eb93bfbf llvm::unique_function<void ()>::operator()() /home/hyubo/osmeta/external/llvm-project/llvm/include/llvm/ADT/FunctionExtras.h:365:5
#24 0x00007fe9eb93bb80 lldb_private::Editline::GetCharacter(wchar_t*) /home/hyubo/osmeta/external/llvm-project/lldb/source/Host/common/Editline.cpp:0:5
#25 0x00007fe9eb941a18 lldb_private::Editline::ConfigureEditor(bool)::$_0::operator()(editline*, wchar_t*) const /home/hyubo/osmeta/external/llvm-project/lldb/source/Host/common/Editline.cpp:1287:5
#26 0x00007fe9eb9419e2 lldb_private::Editline::ConfigureEditor(bool)::$_0::__invoke(editline*, wchar_t*) /home/hyubo/osmeta/external/llvm-project/lldb/source/Host/common/Editline.cpp:1286:27
#27 0x00007fe9f3384e26 el_getc /home/engshare/third-party2/libedit/3.1/src/libedit/src/read.c:439:14
#28 0x00007fe9f3384e26 el_getc /home/engshare/third-party2/libedit/3.1/src/libedit/src/read.c:400:1
#29 0x00007fe9f3384f90 read_getcmd /home/engshare/third-party2/libedit/3.1/src/libedit/src/read.c:247:14
#30 0x00007fe9f3384f90 el_gets /home/engshare/third-party2/libedit/3.1/src/libedit/src/read.c:586:14
#31 0x00007fe9eb9409f3 lldb_private::Editline::GetLine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, bool&) /home/hyubo/osmeta/external/llvm-project/lldb/source/Host/common/Editline.cpp:1636:16
#32 0x00007fe9eb8044d7 lldb_private::IOHandlerEditline::GetLine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, bool&) /home/hyubo/osmeta/external/llvm-project/lldb/source/Core/IOHandler.cpp:339:5
#33 0x00007fe9eb805609 lldb_private::IOHandlerEditline::Run() /home/hyubo/osmeta/external/llvm-project/lldb/source/Core/IOHandler.cpp:600:11
#34 0x00007fe9eb7b214c lldb_private::Debugger::RunIOHandlers() /home/hyubo/osmeta/external/llvm-project/lldb/source/Core/Debugger.cpp:1280:16
#35 0x00007fe9eb98f00f lldb_private::CommandInterpreter::RunCommandInterpreter(lldb_private::CommandInterpreterRunOptions&) /home/hyubo/osmeta/external/llvm-project/lldb/source/Interpreter/CommandInterpreter.cpp:3620:16
#36 0x00007fe9eb4f0e09 lldb::SBDebugger::RunCommandInterpreter(bool, bool) /home/hyubo/osmeta/external/llvm-project/lldb/source/API/SBDebugger.cpp:1234:42
#37 0x000055ca6788d6b0 Driver::MainLoop() /home/hyubo/osmeta/external/llvm-project/lldb/tools/driver/Driver.cpp:677:3
#38 0x000055ca6788e226 main /home/hyubo/osmeta/external/llvm-project/lldb/tools/driver/Driver.cpp:887:17
#39 0x00007fe9e5e2c657 __libc_start_call_main /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#40 0x00007fe9e5e2c718 call_init /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/csu/../csu/libc-start.c:128:20
#41 0x00007fe9e5e2c718 __libc_start_main at GLIBC_2.2.5 /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/csu/../csu/libc-start.c:379:5
#42 0x000055ca67889a11 _start /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/csu/../sysdeps/x86_64/start.S:118:0
Segmentation fault (core dumped)
```

When `target symbols add` is run, `Symtab::AddSymbol()` can reallocate
the underlying `std::vector<Symbol>` and resize it, invalidating all
existing Symbol* pointers. While `Process::Flush()` clears stale stack
frames, the statusline caches its own `ExecutionContextRef` containing a
`StackID` with a `SymbolContextScope*` (which can be a `Symbol*`). This
cached reference is not cleared by `Process::Flush()`, so the next
statusline redraw accesses a dangling pointer and crashes.

Fix this by adding `Statusline::Flush()` which clears the cached frame,
`Debugger::Flush()` which forwards to it under the statusline mutex, and
calling `Debugger::Flush()` from `Process::Flush()` so that all flush
paths (symbol add, exec, module load) also invalidate the statusline's
stale state.

After this fix, lldb is not crashing anymore, new symbols from a symbol
file are correctly loaded

---------

Co-authored-by: George Hu <georgehuyubo at gmail.com>


  Commit: 27ff65192c0d4f3c5a6585d49da3ddb138a811b6
      https://github.com/llvm/llvm-project/commit/27ff65192c0d4f3c5a6585d49da3ddb138a811b6
  Author: Pekka Jääskeläinen <pekka.jaaskelainen at tuni.fi>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/TCE.cpp
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/TCE.cpp
    M clang/lib/Driver/ToolChains/TCE.h
    M clang/test/CodeGen/target-data.c
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/TargetParser/TargetDataLayout.cpp
    M llvm/lib/TargetParser/Triple.cpp

  Log Message:
  -----------
  [OpenASIP] Update the TCE target defs for OpenASIP 2.2 (#176698)

OpenASIP (ex. TCE*) is a special target which has only a stub target
definition in the LLVM side that has resided in LLVM for over 15 years.
I'm the original contributors of this stub.

Due to needing various other patches to LLVM that were not nicely
upstreamable, the upstream TCE target defs have long been unupdated.
However, with the recent changes to the vectorization types etc. I
managed to minimize the required LLVM TCE patch to this one and with
this patch OpenASIP can be (finally!) used without a patched LLVM for
VLIW/TTA customization. RISC-V operation set customization still
requires a patch to polish and upstream (TBD).

This patch:

* Introduces a 64b variant of an OpenASIP target.
* Unifies the datalayouts of the different target variants to make it
compatible with OpenASIP v2.2 and above.
* Updates the OpenCL address space IDs to be compatible with the latest
PoCL backends.
* Implements Triple::computeDataLayout() for completeness.

The patch is very unintrusive and I'd love to backport it in the LLVM 22
release as well.

[*] More info:
https://blog.llvm.org/2010/06/tce-project-co-design-of-application.html
https://openasip.org

The actual backends for the customized processors are generated on the
fly with a backend generator of the OpenASIP project based on a target
definition file and loaded as plugins to the LLVM framework. This
mechanism enables fast "design space exploration" of
application-specific processors designed with the toolset as only a
small part of the compiler has to be regenerated for new design
candidates.


  Commit: 4df814a5c04fb0cb5c3d1afafe22b3ae2275fb3f
      https://github.com/llvm/llvm-project/commit/4df814a5c04fb0cb5c3d1afafe22b3ae2275fb3f
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
    M mlir/test/Dialect/XeGPU/invalid.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
    M mlir/test/Dialect/XeGPU/transform-ops.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Refactor isEvenlyDistributable() to Layout attribute interface (#191945)

This PR refactor isEvenlyDistributable() to layout attribute interface
isDistributable(), and used them in all anchor operations to check the
shape can be ditributed with the anchor layout.


  Commit: 9fb6c65cbb89339f61ce94d25eefa09443ef5eef
      https://github.com/llvm/llvm-project/commit/9fb6c65cbb89339f61ce94d25eefa09443ef5eef
  Author: Maryam Moghadas <maryammo at ca.ibm.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/test/CodeGen/PowerPC/amo-enable.ll

  Log Message:
  -----------
  [PowerPC] Rework AMO load with Compare and Swap Not Equal to use post-RA pseudo expansion (#190698)

Replace the dummy call lowering with a PPCPostRAExpPseudo that hardcodes
X8/X9/X10 post-RA to satisfy the 3 consecutive register constraint for
lwat/ldat FC=16, addressing reviewer feedback.


  Commit: cdfd0b60d2f30d91087227ea90f16e43af3ff875
      https://github.com/llvm/llvm-project/commit/cdfd0b60d2f30d91087227ea90f16e43af3ff875
  Author: Corentin Kerisit <corentin.kerisit at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/Headers/__clang_cuda_runtime_wrapper.h

  Log Message:
  -----------
  [CUDA] Change __CUDACC__ definition to 1 (#189457)

I recently encountered an issue where `nccl` used `#if __CUDACC__` ,
assuming `__CUDACC__` is not only defined but having a #if-able value.


https://github.com/NVIDIA/nccl/blob/v2.28.3-1/src/include/nccl_device/coop.h#L18

Looking at nvcc invocation, I see that:
```
echo "" | nvcc -x cu -E -Xcompiler -dM - | grep __CUDACC__
#define __CUDACC__ 1
```

Changing __CUDACC__ to 1 to match what NVIDIA downstream code
assumptions.


  Commit: 89e736d1df16ee8aea85eb22eb625482e7e9eae2
      https://github.com/llvm/llvm-project/commit/89e736d1df16ee8aea85eb22eb625482e7e9eae2
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    A flang/test/Analysis/AliasAnalysis/modref-call-memory-effects.fir
    M flang/test/lib/Analysis/AliasAnalysis/TestAliasAnalysis.cpp

  Log Message:
  -----------
  [flang][test] Experimental support of MemoryEffectOpInterface for fir.call. (#191580)

I would like to experiment with `fir.call` implementing
`MemoryEffectOpInterface`. So the main change is the fall-through
path in FIR AA. It should be NFC for Flang.


  Commit: e540f8006fb1902671d80308fa6ebd79b6231d4b
      https://github.com/llvm/llvm-project/commit/e540f8006fb1902671d80308fa6ebd79b6231d4b
  Author: Moazin K. <moazinkhatri at gmail.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    A flang/test/Fir/box-elesize-canonicalize.fir
    M flang/test/Lower/volatile-string.f90

  Log Message:
  -----------
  [flang] implements a rewrite pattern to constant fold fir::BoxEleSizeOp (#192320)

Implements a rewrite pattern to constant fold an `fir::BoxEleSizeOp`
when possible.


  Commit: 35dcb5c1303b251d8728bd4f8ed93ff4316eea3a
      https://github.com/llvm/llvm-project/commit/35dcb5c1303b251d8728bd4f8ed93ff4316eea3a
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/test/CIR/CodeGen/cleanup-automatic-eh.cpp

  Log Message:
  -----------
  [CIR] Add EH handling for lifetime extended cleanups (#192305)

This adds code to call pushDestroyAndDeferDeactivation from the
pushLifetimeExtendedDestroy function. This was needed to generate the
correct code for lifetime extended cleanups when exceptions are enabled.
An extended version of the cleanup with automatic storage duration is
used as a test case.

To make this work correctly, I had to add a CleanupDeactivationScope to
RunCleanupsScope and force deactivation when forceCleanup is called.
This matches the corresponding code in classic codegen.

I surveyed other places where classic codegen is using
CleanupDeactivationScope and added a MissingFeatures marker in one
location where it was not previously marked. Other places where it was
missing were already marked in this way.


  Commit: 7c08b8ea10d87988f070b12afa873ccb14bb1e9f
      https://github.com/llvm/llvm-project/commit/7c08b8ea10d87988f070b12afa873ccb14bb1e9f
  Author: PiJoules <leonardchan at google.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_mapping.h

  Log Message:
  -----------
  [compiler-rt][Fuchsia] Use dynamic shadow global in hwasan runtime (#192148)

For now, the global is still default initialized to zero.


  Commit: 957f6f6e791b8e12abd91ef1e8815d69dc360a70
      https://github.com/llvm/llvm-project/commit/957f6f6e791b8e12abd91ef1e8815d69dc360a70
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.prefetch.data.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for G_AMDGPU_S_BUFFER_PREFETCH (#191315)


  Commit: c859d7e76155a1257563212d0ab909e45d037d6f
      https://github.com/llvm/llvm-project/commit/c859d7e76155a1257563212d0ab909e45d037d6f
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] Use formatv in DWARFAcceleratorTable (#191981)

This relates to #35980.


  Commit: 1202ddcfe067d5ceab199266e98c098c06ce98a3
      https://github.com/llvm/llvm-project/commit/1202ddcfe067d5ceab199266e98c098c06ce98a3
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/always_uniform.ll

  Log Message:
  -----------
  [AMDGPU] Mark s_get_*_barrier_state intrinsics always uniform (#192190)

Both intrinsics return a 32-bit SGPR value containing the barrier's
member count and signal count.


  Commit: 5c928535c0ae18f37e47faa9bb265ea75f1700c4
      https://github.com/llvm/llvm-project/commit/5c928535c0ae18f37e47faa9bb265ea75f1700c4
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M clang/include/clang/Serialization/InMemoryModuleCache.h
    M clang/include/clang/Serialization/ModuleCache.h
    M clang/include/clang/Serialization/ModuleManager.h
    M clang/lib/DependencyScanning/InProcessModuleCache.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/InMemoryModuleCache.cpp
    M clang/lib/Serialization/ModuleCache.cpp
    M clang/lib/Serialization/ModuleManager.cpp
    M clang/unittests/Serialization/InMemoryModuleCacheTest.cpp

  Log Message:
  -----------
  [clang] Store size & mtime in in-memory module cache (#190207)

In this PR, the in-memory module cache now stores the size and
modification time of PCM files. This is needed so that the
`ModuleManager` doesn't need to consult the file system to obtain this
information, which _might_ be in a different state than when we stored
the PCM file buffer into the in-memory cache.


  Commit: ae4a02f9a8815b1a342bb83f3a6eb1bb177a6b40
      https://github.com/llvm/llvm-project/commit/ae4a02f9a8815b1a342bb83f3a6eb1bb177a6b40
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.async.to.lds.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for async LDS loads (#192179)

Add RegBankLegalize rules for async LDS load intrinsics:
llvm.amdgcn.asyncmark
llvm.amdgcn.wait.asyncmark
llvm.amdgcn.global.load.async.to.lds.b8
llvm.amdgcn.global.load.async.to.lds.b32
llvm.amdgcn.global.load.async.to.lds.b64
llvm.amdgcn.global.load.async.to.lds.b128


  Commit: cbe64931e791ba565b4dea3eab30135326531777
      https://github.com/llvm/llvm-project/commit/cbe64931e791ba565b4dea3eab30135326531777
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw-bf16-gfx11plus.ll
    M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
    M llvm/test/CodeGen/AMDGPU/bf16-math.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
    M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
    M llvm/test/CodeGen/AMDGPU/fabs.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.bf16.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/fmax3-maximumnum.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fmin3-minimumnum.ll
    M llvm/test/CodeGen/AMDGPU/fptosi-sat-vector.ll
    M llvm/test/CodeGen/AMDGPU/fptoui-sat-vector.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp2.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi-bf16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
    M llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
    M llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
    M llvm/test/CodeGen/AMDGPU/minmax3-tree-reduction.ll

  Log Message:
  -----------
  [AMDGPU] Enable true16 pattern to build vectors (0, vgpr) (#191896)

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


  Commit: 66432130ac1cd4be97772cd6455bd433dd35a179
      https://github.com/llvm/llvm-project/commit/66432130ac1cd4be97772cd6455bd433dd35a179
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
    M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Reject initializer on Import-linkage GlobalVariable (#192302)

Per the SPIR-V spec, a module-scope OpVariable with Import linkage must
not have an initializer


  Commit: 46de054ed89bb2a8fb8692af878c0aa97fed22d4
      https://github.com/llvm/llvm-project/commit/46de054ed89bb2a8fb8692af878c0aa97fed22d4
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-04-15 (Wed, 15 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/Core/BinaryContext.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Rewrite/BuildIDRewriter.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/GNUPropertyRewriter.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Rewrite/SDTRewriter.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/runtime/common.h
    M bolt/runtime/instr.cpp
    A bolt/test/AArch64/tail-duplication-cache.s
    A bolt/test/AArch64/tail-duplication-pass.s
    M bolt/test/X86/tail-duplication-pass.s
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeReader.h
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/Serialize.h
    M clang-tools-extra/clang-doc/YAMLGenerator.cpp
    M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/SignedBitwiseCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/SignedBitwiseCheck.h
    M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.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/hicpp/CMakeLists.txt
    M clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp
    R clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
    R clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.h
    M clang-tools-extra/clang-tidy/misc/MisleadingBidirectionalCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdBitCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdBitCheck.h
    M clang-tools-extra/clang-tidy/performance/PreferSingleCharOverloadsCheck.cpp
    A clang-tools-extra/clang-tidy/utils/CheckUtils.h
    M clang-tools-extra/clangd/TidyFastChecks.inc
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-bitwise.rst
    M clang-tools-extra/docs/clang-tidy/checks/hicpp/signed-bitwise.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-bit.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/unchecked-optional-access/std/types/optional.h
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise-bug34747.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise-integer-literals.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise-standard-types.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise-standard-types.h
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unchecked-optional-access.cpp
    A clang-tools-extra/test/clang-tidy/checkers/fuchsia/temporary-objects-deprecated-alias.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-bug34747.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-standard-types.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-standard-types.h
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-bit.cpp
    A clang-tools-extra/test/clang-tidy/checkers/performance/prefer-single-char-overloads-alias.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check.cpp
    M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.h
    M clang-tools-extra/unittests/clang-doc/GeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
    M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
    M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
    M clang/bindings/python/clang/cindex.py
    M clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
    M clang/cmake/caches/Fuchsia.cmake
    A clang/docs/CIR/ABILowering.md
    A clang/docs/CIR/CleanupAndEHDesign.md
    A clang/docs/CIR/CodeDuplication.rst
    A clang/docs/CIR/_raw/PostProcessCIRDocs.py
    A clang/docs/CIR/index.rst
    M clang/docs/CMakeLists.txt
    R clang/docs/ClangIRABILowering.md
    R clang/docs/ClangIRCleanupAndEHDesign.md
    R clang/docs/ClangIRCodeDuplication.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/conf.py
    M clang/docs/index.rst
    M clang/include/clang-c/Index.h
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/ASTConcept.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Decl.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/AST/TemplateName.h
    M clang/include/clang/AST/TypeBase.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
    M clang/include/clang/Basic/BuiltinsPPC.def
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Basic/HLSLIntrinsics.td
    A clang/include/clang/Basic/OptionalUnsigned.h
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Basic/StmtNodes.td
    R clang/include/clang/Basic/UnsignedOrNone.h
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Basic/riscv_vector_common.td
    M clang/include/clang/CIR/Dialect/CMakeLists.txt
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/InMemoryModuleCache.h
    M clang/include/clang/Serialization/ModuleCache.h
    M clang/include/clang/Serialization/ModuleManager.h
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/APINotes/APINotesTypes.cpp
    M clang/lib/AST/ASTContext.cpp
    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/ByteCode/Program.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/AST/Type.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/Dataflow.h
    M clang/lib/Analysis/LifetimeSafety/Facts.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
    M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
    M clang/lib/Analysis/LifetimeSafety/Origins.cpp
    M clang/lib/Basic/Module.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/TCE.cpp
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/OpenMP/RegisterOpenMPExtensions.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/DependencyScanning/InProcessModuleCache.cpp
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.h
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/HLSL.h
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    A clang/lib/Driver/ToolChains/Serenity.cpp
    A clang/lib/Driver/ToolChains/Serenity.h
    M clang/lib/Driver/ToolChains/TCE.cpp
    M clang/lib/Driver/ToolChains/TCE.h
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/ContinuationIndenter.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
    M clang/lib/Lex/InitHeaderSearch.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaType.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/Serialization/InMemoryModuleCache.cpp
    M clang/lib/Serialization/ModuleCache.cpp
    M clang/lib/Serialization/ModuleManager.cpp
    M clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/test/APINotes/templates.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
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/AST/HLSL/ast-dump-SpirvType.hlsl
    A clang/test/AST/HLSL/hlsl-constructors-template.hlsl
    M clang/test/AST/HLSL/matrix-alias.hlsl
    M clang/test/AST/HLSL/vector-alias.hlsl
    M clang/test/AST/ast-dump-decl-context-json.cpp
    M clang/test/AST/ast-dump-decl.cpp
    M clang/test/AST/ast-dump-invalid.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_namespace_1.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_reference.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_template_3.cpp
    A clang/test/AST/ast-dump-openmp-split.c
    M clang/test/AST/ast-dump-template-decls-json.cpp
    M clang/test/AST/ast-dump-template-decls.cpp
    M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/AST/float16.cpp
    M clang/test/AST/new-unknown-type.cpp
    M clang/test/Analysis/bstring.c
    A clang/test/Analysis/regionstore-zero-init.cpp
    A clang/test/Analysis/split_analyze.c
    A clang/test/CIR/CodeGen/array-init-loop-exprs.cpp
    A clang/test/CIR/CodeGen/attr-retain.c
    A clang/test/CIR/CodeGen/attr-used.c
    M clang/test/CIR/CodeGen/binop.c
    M clang/test/CIR/CodeGen/bitint.c
    A clang/test/CIR/CodeGen/builtin-verbose-trap.cpp
    M clang/test/CIR/CodeGen/c89-implicit-int.c
    A clang/test/CIR/CodeGen/cast-cxx20.cpp
    A clang/test/CIR/CodeGen/cast.c
    A clang/test/CIR/CodeGen/cleanup-automatic-eh.cpp
    A clang/test/CIR/CodeGen/cleanup-conditional-eh.cpp
    A clang/test/CIR/CodeGen/cleanup-conditional.cpp
    M clang/test/CIR/CodeGen/empty.cpp
    M clang/test/CIR/CodeGen/expressions.cpp
    M clang/test/CIR/CodeGen/forward-enum.c
    M clang/test/CIR/CodeGen/fp-math-precision-opts.c
    A clang/test/CIR/CodeGen/inherited-ctors.cpp
    A clang/test/CIR/CodeGen/keep-persistent-storage-variables.cpp
    A clang/test/CIR/CodeGen/keep-static-consts.cpp
    A clang/test/CIR/CodeGen/lambda-dtor-field.cpp
    A clang/test/CIR/CodeGen/nofpclass.c
    A clang/test/CIR/CodeGen/paren-init-list-eh.cpp
    M clang/test/CIR/CodeGen/paren-init-list.cpp
    M clang/test/CIR/CodeGen/partial-array-cleanup.cpp
    M clang/test/CIR/CodeGen/static-vars.c
    M clang/test/CIR/CodeGen/three-way-cmp.cpp
    M clang/test/CIR/CodeGen/thunks.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-memchr.c
    A clang/test/CIR/CodeGenCUDA/device-stub.cu
    M clang/test/CIR/CodeGenCUDA/kernel-call.cu
    M clang/test/CIR/CodeGenCUDA/kernel-stub-name.cu
    A clang/test/CIR/CodeGenHIP/hip-cuid.hip
    M clang/test/CIR/CodeGenHIP/simple.cpp
    A clang/test/CIR/Driver/clangir.c
    M clang/test/CIR/IR/bitint.cir
    A clang/test/CIR/IR/invalid-bitint.cir
    A clang/test/CIR/Lowering/omp-target-map.cir
    M clang/test/CXX/drs/cwg24xx.cpp
    A clang/test/CXX/drs/cwg31xx.cpp
    M clang/test/CodeGen/2004-02-13-Memset.c
    M clang/test/CodeGen/2006-01-23-FileScopeAsm.c
    M clang/test/CodeGen/AArch64/sme-remarks.c
    A clang/test/CodeGen/PowerPC/builtins-ecc.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vzip.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpaire.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpairo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vunzipe.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vunzipo.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vzip.c
    M clang/test/CodeGen/amdgpu-builtin-is-invocable.c
    M clang/test/CodeGen/amdgpu-builtin-processor-is.c
    M clang/test/CodeGen/asm_incbin.c
    A clang/test/CodeGen/cfguard-mechanism.c
    M clang/test/CodeGen/const-init.c
    M clang/test/CodeGen/const-label-addr.c
    M clang/test/CodeGen/regcall.c
    M clang/test/CodeGen/regcall4.c
    M clang/test/CodeGen/statements.c
    M clang/test/CodeGen/staticinit.c
    M clang/test/CodeGen/target-data.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/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/regcall.cpp
    M clang/test/CodeGenCXX/regcall4.cpp
    M clang/test/CodeGenHLSL/builtins/QuadReadAcrossX.hlsl
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/aarch64-unknown-serenity/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/aarch64-unknown-serenity/clang_rt.crtend.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/riscv64-unknown-serenity/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/riscv64-unknown-serenity/clang_rt.crtend.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/x86_64-unknown-serenity/clang_rt.crtbegin.o
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/x86_64-unknown-serenity/clang_rt.crtend.o
    A clang/test/Driver/Inputs/serenity_tree/usr/include/c++/v1/.keep
    A clang/test/Driver/Inputs/serenity_tree/usr/lib/crt0.o
    M clang/test/Driver/aix-ld.c
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/coverage-ld.c
    A clang/test/Driver/dxc_spirv-val_missing.hlsl
    A clang/test/Driver/dxc_spirv-val_path.hlsl
    M clang/test/Driver/fsanitize-cfi.c
    M clang/test/Driver/hexagon-toolchain-elf.c
    M clang/test/Driver/hexagon-toolchain-linux.c
    M clang/test/Driver/instrprof-ld.c
    A clang/test/Driver/linux-multilib.yaml
    A clang/test/Driver/mingw-multilib.yaml
    M clang/test/Driver/sanitizer-ld.c
    A clang/test/Driver/serenity.cpp
    M clang/test/Import/builtin-template/test.cpp
    M clang/test/Import/enum/test.cpp
    M clang/test/Import/namespace/test.cpp
    M clang/test/Import/template-specialization/test.cpp
    A clang/test/Index/openmp-split.c
    M clang/test/Modules/cxx-templates.cpp
    A clang/test/Modules/prune-no-toplevel.m
    M clang/test/OpenMP/cancel_codegen.cpp
    M clang/test/OpenMP/irbuilder_for_iterator.cpp
    M clang/test/OpenMP/irbuilder_for_rangefor.cpp
    M clang/test/OpenMP/irbuilder_for_unsigned.c
    M clang/test/OpenMP/irbuilder_for_unsigned_auto.c
    M clang/test/OpenMP/irbuilder_for_unsigned_down.c
    M clang/test/OpenMP/irbuilder_for_unsigned_dynamic.c
    M clang/test/OpenMP/irbuilder_for_unsigned_dynamic_chunked.c
    M clang/test/OpenMP/irbuilder_for_unsigned_runtime.c
    M clang/test/OpenMP/irbuilder_for_unsigned_static_chunked.c
    M clang/test/OpenMP/irbuilder_nested_parallel_for.c
    M clang/test/OpenMP/irbuilder_unroll_partial_factor_for.c
    M clang/test/OpenMP/irbuilder_unroll_partial_heuristic_constant_for.c
    M clang/test/OpenMP/irbuilder_unroll_partial_heuristic_runtime_for.c
    M clang/test/OpenMP/irbuilder_unroll_unroll_partial_factor.c
    M clang/test/OpenMP/nested_loop_codegen.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/ParserHLSL/hlsl_resource_class_attr.hlsl
    A clang/test/Preprocessor/init-serenityos.c
    M clang/test/Sema/Inputs/lifetime-analysis.h
    A clang/test/Sema/PowerPC/builtins-ecc-error.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/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
    M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
    M clang/test/Sema/warn-lifetime-safety-noescape.cpp
    M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp
    M clang/test/SemaCXX/constexpr-string.cpp
    M clang/test/SemaCXX/coroutines.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    A clang/test/SemaCXX/gh135694.cpp
    M clang/test/SemaHLSL/BuiltIns/QuadReadAcrossX-errors.hlsl
    M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/routine-construct-clauses.cpp
    M clang/test/SemaTemplate/concepts.cpp
    M clang/test/SemaTemplate/make_integer_seq.cpp
    M clang/test/lit.cfg.py
    M clang/tools/clang-ssaf-format/CMakeLists.txt
    M clang/tools/diagtool/ShowEnabledWarnings.cpp
    M clang/tools/libclang/BuildSystem.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/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
    M clang/unittests/CIR/CMakeLists.txt
    A clang/unittests/CIR/UnionTypeSizeTest.cpp
    M clang/unittests/Format/AlignmentTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Serialization/InMemoryModuleCacheTest.cpp
    A clang/unittests/StaticAnalyzer/AnalyzerFormattingTest.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    M clang/www/c_status.html
    M clang/www/cxx_dr_status.html
    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/hwasan/hwasan_mapping.h
    M compiler-rt/lib/interception/CMakeLists.txt
    M compiler-rt/lib/profile/InstrProfilingPlatformAIX.c
    M compiler-rt/lib/sanitizer_common/sanitizer_haiku.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_netbsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix.h
    M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_solaris.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cpp
    M compiler-rt/lib/scudo/standalone/wrappers_c.cpp
    M compiler-rt/lib/tysan/tysan.cpp
    M compiler-rt/lib/ubsan/CMakeLists.txt
    M compiler-rt/lib/xray/tests/unit/fdr_controller_test.cpp
    M compiler-rt/lib/xray/tests/unit/fdr_log_writer_test.cpp
    M compiler-rt/test/profile/instrprof-merge-entry-cover.c
    M compiler-rt/test/profile/instrprof-merge.c
    M compiler-rt/test/profile/instrprof-write-file-atexit-explicitly.c
    M compiler-rt/test/profile/profile_test.h
    M compiler-rt/test/sanitizer_common/TestCases/Linux/internal_symbolizer.cpp
    M compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cpp
    M flang-rt/lib/runtime/environment.cpp
    M flang/docs/Directives.md
    A flang/docs/MeetingNotes/2026/2026-04-08.md
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/include/flang/Support/Fortran.h
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Support/Utils.cpp
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
    M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
    M flang/lib/Semantics/definable.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Support/Fortran.cpp
    A flang/test/Analysis/AliasAnalysis/modref-call-memory-effects.fir
    M flang/test/Driver/fintegrated-as.f90
    M flang/test/Driver/save-mlir-temps.f90
    M flang/test/Fir/CUDA/cuda-code-gen.mlir
    A flang/test/Fir/box-elesize-canonicalize.fir
    M flang/test/Fir/dispatch.f90
    A flang/test/Integration/OpenMP/workshare-ident-flag.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
    A flang/test/Lower/HLFIR/conditional-expr.f90
    M flang/test/Lower/HLFIR/procedure-pointer-in-generics.f90
    M flang/test/Lower/Intrinsics/storage_size.f90
    M flang/test/Lower/Intrinsics/sum.f90
    M flang/test/Lower/Intrinsics/system_clock.f90
    M flang/test/Lower/Intrinsics/trailz.f90
    M flang/test/Lower/Intrinsics/transfer.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/Intrinsics/verify.f90
    A flang/test/Lower/OpenACC/acc-declare-use-associated.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    R flang/test/Lower/OpenMP/Todo/omp-declarative-allocate-align.f90
    R flang/test/Lower/OpenMP/Todo/omp-declarative-allocate.f90
    M flang/test/Lower/OpenMP/block-use-predetermined-privatization.f90
    M flang/test/Lower/OpenMP/cray-pointers01.f90
    A flang/test/Lower/OpenMP/declare-target-named-main-interface.f90
    A flang/test/Lower/OpenMP/omp-declarative-allocate-align.f90
    A flang/test/Lower/OpenMP/omp-declarative-allocate.f90
    M flang/test/Lower/OpenMP/real10.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/io-char-array.f90
    M flang/test/Lower/io-implied-do-fixes.f90
    M flang/test/Lower/io-item-list.f90
    M flang/test/Lower/io-statement-1.f90
    M flang/test/Lower/io-statement-2.f90
    M flang/test/Lower/io-statement-3.f90
    M flang/test/Lower/io-statement-big-unit-checks.f90
    M flang/test/Lower/io-statement-open-options.f90
    M flang/test/Lower/io-write.f90
    M flang/test/Lower/pointer-default-init.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Lower/volatile-string.f90
    M flang/test/Semantics/cuf10.cuf
    A flang/test/Semantics/cuf26.cuf
    M flang/test/Semantics/stmt-func02.f90
    A flang/test/Semantics/stmt-func03.f90
    M flang/test/Transforms/CUF/cuf-kernel-licm.fir
    A flang/test/Transforms/FIRToMemRef/slice-projected.mlir
    A flang/test/Transforms/licm-allocmem-cufaloc.mlir
    A flang/test/Transforms/licm-non-addressable-resource.mlir
    M flang/test/Transforms/licm.fir
    M flang/test/lib/Analysis/AliasAnalysis/TestAliasAnalysis.cpp
    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/llvm-libc-types/CMakeLists.txt
    M libc/include/llvm-libc-types/__futex_word.h
    A libc/include/llvm-libc-types/mcontext_t.h
    A libc/include/llvm-libc-types/ucontext_t.h
    A libc/include/llvm-libc-types/x86_64/mcontext_t.h
    A libc/include/llvm-libc-types/x86_64/ucontext_t.h
    M libc/include/pthread.yaml
    M libc/include/string.yaml
    A libc/include/ucontext.h.def
    A libc/include/ucontext.yaml
    M libc/shared/math.h
    A libc/shared/math/copysign.h
    A libc/shared/math/copysignbf16.h
    A libc/shared/math/copysignf.h
    A libc/shared/math/copysignf128.h
    A libc/shared/math/copysignf16.h
    A libc/shared/math/copysignl.h
    A libc/shared/math/log10p1f16.h
    A libc/shared/math/log2p1f16.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/math/CMakeLists.txt
    A libc/src/__support/math/copysign.h
    A libc/src/__support/math/copysignbf16.h
    A libc/src/__support/math/copysignf.h
    A libc/src/__support/math/copysignf128.h
    A libc/src/__support/math/copysignf16.h
    A libc/src/__support/math/copysignl.h
    M libc/src/__support/threads/mutex.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/copysign.cpp
    M libc/src/math/generic/copysignbf16.cpp
    M libc/src/math/generic/copysignf.cpp
    M libc/src/math/generic/copysignf128.cpp
    M libc/src/math/generic/copysignf16.cpp
    M libc/src/math/generic/copysignl.cpp
    M libc/src/pthread/CMakeLists.txt
    A libc/src/pthread/pthread_mutex_trylock.cpp
    A libc/src/pthread/pthread_mutex_trylock.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/integration/src/pthread/CMakeLists.txt
    M libc/test/integration/src/pthread/pthread_mutex_test.cpp
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_constexpr_test.cpp
    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/cmake/modules/CMakeCLCInformation.cmake
    M libclc/cmake/modules/CMakeDetermineCLCCompiler.cmake
    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/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/atomics/atomics.ref/address.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/deduction.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/COFF/DriverUtils.cpp
    M lld/ELF/AArch64ErrataFix.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/test/COFF/subsystem.test
    M lldb/cmake/modules/AddLLDB.cmake
    M lldb/cmake/modules/FindPythonAndSwig.cmake
    M lldb/docs/CMakeLists.txt
    A lldb/docs/_ext/build_include.py
    A lldb/docs/_ext/lldb_setting.py
    A lldb/docs/_static/lldb-setting.css
    M lldb/docs/conf.py
    M lldb/docs/dil-expr-lang.ebnf
    M lldb/docs/index.rst
    M lldb/docs/resources/build.rst
    A lldb/docs/use/settings.md
    M lldb/examples/python/crashlog.py
    M lldb/examples/python/crashlog_scripted_process.py
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Core/Statusline.h
    M lldb/include/lldb/Target/ExecutionContext.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Target/RegisterContextUnwind.h
    M lldb/include/lldb/Target/StackFrameList.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/include/lldb/lldb-enumerations.h
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/packages/Python/lldbsuite/test/lldbutil.py
    A lldb/scripts/gen-property-docs-from-json.py
    M lldb/source/Core/CMakeLists.txt
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/Statusline.cpp
    M lldb/source/DataFormatters/FormatterSection.cpp
    M lldb/source/Host/common/Socket.cpp
    M lldb/source/Host/common/Terminal.cpp
    M lldb/source/Host/windows/PseudoConsole.cpp
    M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
    M lldb/source/Interpreter/CMakeLists.txt
    M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/CMakeLists.txt
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
    M lldb/source/Plugins/JITLoader/GDB/CMakeLists.txt
    M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
    M lldb/source/Plugins/ObjectFile/PECOFF/CMakeLists.txt
    M lldb/source/Plugins/Platform/Android/CMakeLists.txt
    M lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
    M lldb/source/Plugins/Platform/QemuUser/CMakeLists.txt
    M lldb/source/Plugins/Platform/WebAssembly/CMakeLists.txt
    M lldb/source/Plugins/Process/CMakeLists.txt
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.cpp
    M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/CMakeLists.txt
    M lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp
    M lldb/source/Plugins/Process/gdb-remote/CMakeLists.txt
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
    M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
    M lldb/source/Plugins/StructuredData/DarwinLog/CMakeLists.txt
    M lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt
    M lldb/source/Plugins/SymbolLocator/Debuginfod/CMakeLists.txt
    M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
    M lldb/source/Plugins/SymbolLocator/SymStore/CMakeLists.txt
    M lldb/source/Plugins/SymbolLocator/SymStore/SymbolLocatorSymStore.cpp
    M lldb/source/Plugins/Trace/CMakeLists.txt
    M lldb/source/Plugins/Trace/intel-pt/CMakeLists.txt
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Symbol/Variable.cpp
    M lldb/source/Target/CMakeLists.txt
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/Thread.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/source/ValueObject/ValueObject.cpp
    M lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py
    M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
    M lldb/test/API/functionalities/scripted_frame_provider/pass_through_prefix/TestFrameProviderPassThroughPrefix.py
    M lldb/test/API/functionalities/scripted_frame_provider/thread_filter/TestFrameProviderThreadFilter.py
    A lldb/test/API/functionalities/scripted_frame_provider/was_hit_deadlock/Makefile
    A lldb/test/API/functionalities/scripted_frame_provider/was_hit_deadlock/TestWasHitWithFrameProviderDeadlock.py
    A lldb/test/API/functionalities/scripted_frame_provider/was_hit_deadlock/bkpt_resolver.py
    A lldb/test/API/functionalities/scripted_frame_provider/was_hit_deadlock/frame_provider.py
    A lldb/test/API/functionalities/scripted_frame_provider/was_hit_deadlock/main.c
    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/test/API/symstore/TestSymStore.py
    M lldb/test/API/terminal/hidden_frame_markers/TestHiddenFrameMarkers.py
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.inline.crash
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/a.out.inline.ips
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/Inputs/inline_test.c
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/inline_crashlog.test
    A lldb/test/Shell/ScriptInterpreter/Python/Crashlog/inline_crashlog_json.test
    M lldb/tools/debugserver/source/DNB.cpp
    M lldb/tools/debugserver/source/DNB.h
    M lldb/tools/debugserver/source/DNBDefs.h
    M lldb/tools/debugserver/source/MacOSX/MachProcess.h
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
    M lldb/tools/debugserver/source/RNBRemote.cpp
    M lldb/tools/lldb-dap/RunInTerminal.cpp
    M lldb/unittests/Host/SocketTest.cpp
    M lldb/unittests/Platform/TestUtils.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationServerLLGSTest.cpp
    M llvm/cmake/config-ix.cmake
    M llvm/cmake/modules/FindLibXml2.cmake
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
    M llvm/docs/AArch64SME.rst
    M llvm/docs/CommandGuide/lit.rst
    M llvm/docs/CommandGuide/llvm-otool.rst
    M llvm/docs/Coroutines.rst
    M llvm/docs/LFI.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
    M llvm/examples/OrcV2Examples/LLJITWithCustomObjectLinkingLayer/LLJITWithCustomObjectLinkingLayer.cpp
    M llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/LLJITWithExecutorProcessControl.cpp
    M llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/LLJITWithGDBRegistrationListener.cpp
    M llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/LLJITWithObjectLinkingLayerPlugin.cpp
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm-c/LLJIT.h
    M llvm/include/llvm/ADT/GenericUniformityImpl.h
    M llvm/include/llvm/ADT/bit.h
    M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
    M llvm/include/llvm/Analysis/InstCount.h
    M llvm/include/llvm/Analysis/UniformityAnalysis.h
    M llvm/include/llvm/CodeGen/AsmPrinter.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/MachineScheduler.h
    M llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
    M llvm/include/llvm/CodeGen/SDPatternMatch.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/DebugInfo/GSYM/CallSiteInfo.h
    M llvm/include/llvm/DebugInfo/GSYM/ExtractRanges.h
    M llvm/include/llvm/DebugInfo/GSYM/FileEntry.h
    M llvm/include/llvm/DebugInfo/GSYM/FileWriter.h
    M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
    A llvm/include/llvm/DebugInfo/GSYM/GlobalData.h
    M llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymCreatorV1.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymCreatorV2.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymDataExtractor.h
    M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymReaderV1.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymReaderV2.h
    A llvm/include/llvm/DebugInfo/GSYM/GsymTypes.h
    M llvm/include/llvm/DebugInfo/GSYM/Header.h
    A llvm/include/llvm/DebugInfo/GSYM/HeaderV2.h
    M llvm/include/llvm/DebugInfo/GSYM/InlineInfo.h
    M llvm/include/llvm/DebugInfo/GSYM/LineTable.h
    M llvm/include/llvm/DebugInfo/GSYM/MergedFunctionsInfo.h
    M llvm/include/llvm/DebugInfo/GSYM/StringTable.h
    M llvm/include/llvm/Debuginfod/Debuginfod.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/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.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/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    A llvm/include/llvm/HTTP/HTTPClient.h
    A llvm/include/llvm/HTTP/HTTPServer.h
    A llvm/include/llvm/HTTP/StreamedHTTPResponseHandler.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IntrinsicsPowerPC.td
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/IR/ValueHandle.h
    M llvm/include/llvm/Object/BBAddrMap.h
    M llvm/include/llvm/ObjectYAML/DWARFYAML.h
    M llvm/include/llvm/Passes/TargetPassRegistry.inc
    M llvm/include/llvm/Support/BranchProbability.h
    M llvm/include/llvm/Support/CodeGen.h
    M llvm/include/llvm/Support/DataExtractor.h
    M llvm/include/llvm/Support/Error.h
    R llvm/include/llvm/Support/HTTP/HTTPClient.h
    R llvm/include/llvm/Support/HTTP/HTTPServer.h
    R llvm/include/llvm/Support/HTTP/StreamedHTTPResponseHandler.h
    M llvm/include/llvm/Support/UniqueBBID.h
    M llvm/include/llvm/TargetParser/RISCVTargetParser.h
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/include/llvm/Transforms/CFGuard.h
    M llvm/include/llvm/Transforms/Coroutines/CoroShape.h
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/lib/Analysis/IVUsers.cpp
    M llvm/lib/Analysis/UniformityAnalysis.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CMakeLists.txt
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/GlobalISel/CallLowering.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/InsertCodePrefetch.cpp
    M llvm/lib/CodeGen/LiveRangeEdit.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/MachineUniformityAnalysis.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/DWARF/DWARFAcceleratorTable.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFExpressionPrinter.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFListTable.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFUnwindTablePrinter.cpp
    M llvm/lib/DebugInfo/GSYM/CMakeLists.txt
    M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
    M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
    M llvm/lib/DebugInfo/GSYM/ExtractRanges.cpp
    M llvm/lib/DebugInfo/GSYM/FileWriter.cpp
    M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
    A llvm/lib/DebugInfo/GSYM/GlobalData.cpp
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
    A llvm/lib/DebugInfo/GSYM/GsymCreatorV1.cpp
    A llvm/lib/DebugInfo/GSYM/GsymCreatorV2.cpp
    M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
    A llvm/lib/DebugInfo/GSYM/GsymReaderV1.cpp
    A llvm/lib/DebugInfo/GSYM/GsymReaderV2.cpp
    M llvm/lib/DebugInfo/GSYM/Header.cpp
    A llvm/lib/DebugInfo/GSYM/HeaderV2.cpp
    M llvm/lib/DebugInfo/GSYM/InlineInfo.cpp
    M llvm/lib/DebugInfo/GSYM/LineTable.cpp
    M llvm/lib/DebugInfo/GSYM/MergedFunctionsInfo.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVCompare.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVElement.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVLocation.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVObject.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVRange.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp
    M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
    M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
    M llvm/lib/Debuginfod/CMakeLists.txt
    M llvm/lib/Debuginfod/Debuginfod.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
    M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    A llvm/lib/HTTP/CMakeLists.txt
    A llvm/lib/HTTP/HTTPClient.cpp
    A llvm/lib/HTTP/HTTPServer.cpp
    A llvm/lib/HTTP/StreamedHTTPResponseHandler.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Intrinsics.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/MC/MCLFI.cpp
    M llvm/lib/Object/ELF.cpp
    M llvm/lib/ObjectYAML/DWARFEmitter.cpp
    M llvm/lib/ObjectYAML/DWARFYAML.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Support/CMakeLists.txt
    R llvm/lib/Support/HTTP/CMakeLists.txt
    R llvm/lib/Support/HTTP/HTTPClient.cpp
    R llvm/lib/Support/HTTP/HTTPServer.cpp
    R llvm/lib/Support/HTTP/StreamedHTTPResponseHandler.cpp
    M llvm/lib/Support/KnownFPClass.cpp
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    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/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64SMEAttributes.cpp
    M llvm/lib/Target/AArch64/AArch64SMEAttributes.h
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    A llvm/lib/Target/AArch64/AArch64SchedC1Ultra.td
    M llvm/lib/Target/AArch64/AArch64SchedPredNeoverse.td
    M llvm/lib/Target/AArch64/AArch64SchedPredicates.td
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    A llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.cpp
    A llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.h
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/CMakeLists.txt
    M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
    R llvm/lib/Target/AArch64/SMEABIPass.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
    M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
    M llvm/lib/Target/ARM/ARMTargetMachine.cpp
    M llvm/lib/Target/BPF/BPFISelLowering.cpp
    M llvm/lib/Target/BPF/BTFDebug.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrFuture.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCInstrP10.td
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvzip.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/SPIRVInstructionSelector.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/SystemZ/SystemZMachineScheduler.cpp
    M llvm/lib/Target/X86/X86CallingConv.td
    M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
    M llvm/lib/Target/X86/X86CompressEVEX.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/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86TargetMachine.cpp
    M llvm/lib/TargetParser/TargetDataLayout.cpp
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/lib/Transforms/CFGuard/CFGuard.cpp
    M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/lib/Transforms/Utils/CallGraphUpdater.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/XRay/InstrumentationMap.cpp
    M llvm/lib/XRay/Profile.cpp
    M llvm/lib/XRay/Trace.cpp
    M llvm/runtimes/CMakeLists.txt
    M llvm/test/Analysis/CostModel/AArch64/cttz.ll
    M llvm/test/Analysis/CostModel/AArch64/fptoi_sat.ll
    M llvm/test/Analysis/CostModel/AArch64/ldexp.ll
    M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
    M llvm/test/Analysis/CostModel/AArch64/masked_ldst_vls.ll
    A llvm/test/Analysis/CostModel/AArch64/sve-fptoi_sat.ll
    R llvm/test/Analysis/IVUsers/lcssa.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/always_uniform.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/active_lane_mask.ll
    M llvm/test/CodeGen/AArch64/arm64-stur.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/cfguard-module-flag.ll
    M llvm/test/CodeGen/AArch64/combine-storetomstore.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
    M llvm/test/CodeGen/AArch64/cttz.ll
    M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
    M llvm/test/CodeGen/AArch64/extract-vector-elt-sve.ll
    M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
    M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
    M llvm/test/CodeGen/AArch64/known-never-nan.ll
    M llvm/test/CodeGen/AArch64/ldexp.ll
    M llvm/test/CodeGen/AArch64/merge-store.ll
    M llvm/test/CodeGen/AArch64/rcpc3-sve.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-pstate-sm-changing-call-disable-coalescing.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/st1-lane.ll
    M llvm/test/CodeGen/AArch64/sve-bf16-compares.ll
    M llvm/test/CodeGen/AArch64/sve-cmp-select.ll
    A llvm/test/CodeGen/AArch64/sve-distinct-predicate-dst.ll
    M llvm/test/CodeGen/AArch64/sve-fcvt.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-loads.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-stores.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-stores.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-insert-element.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-ld-post-inc.ll
    M llvm/test/CodeGen/AArch64/sve-load-compare-store.ll
    M llvm/test/CodeGen/AArch64/sve-mask-partition.ll
    M llvm/test/CodeGen/AArch64/sve-masked-compressstore.ll
    M llvm/test/CodeGen/AArch64/sve-nontemporal-masked-ldst.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop2.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop3.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-brk.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpeq.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpge.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpgt.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmphi.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmphs.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmple.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmplo.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpls.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmplt.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpne.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-log.ll
    M llvm/test/CodeGen/AArch64/sve-ptest-removal-match.ll
    M llvm/test/CodeGen/AArch64/sve-punpklo-combine.ll
    A llvm/test/CodeGen/AArch64/sve-regalloc-hint-unique-predicate-dst.mir
    M llvm/test/CodeGen/AArch64/sve-scmp.ll
    M llvm/test/CodeGen/AArch64/sve-select.ll
    M llvm/test/CodeGen/AArch64/sve-setcc.ll
    M llvm/test/CodeGen/AArch64/sve-smulo-sdnode.ll
    M llvm/test/CodeGen/AArch64/sve-split-insert-elt.ll
    M llvm/test/CodeGen/AArch64/sve-split-int-pred-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-gather-scatter.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
    M llvm/test/CodeGen/AArch64/sve-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-ucmp.ll
    M llvm/test/CodeGen/AArch64/sve-umulo-sdnode.ll
    M llvm/test/CodeGen/AArch64/sve-vector-compress.ll
    A llvm/test/CodeGen/AArch64/vector-absolute-difference.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-minmax-const-combine.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.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/llvm.amdgcn.div.scale.ll
    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/GlobalISel/regbankselect-mui.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/trunc-brc.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
    M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw-bf16-gfx11plus.ll
    M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
    M llvm/test/CodeGen/AMDGPU/bf16-math.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-select.ll
    M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
    M llvm/test/CodeGen/AMDGPU/fabs.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.ll
    M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/fmax3-maximumnum.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.ll
    M llvm/test/CodeGen/AMDGPU/fmin3-minimumnum.ll
    M llvm/test/CodeGen/AMDGPU/fptosi-sat-vector.ll
    M llvm/test/CodeGen/AMDGPU/fptoui-sat-vector.ll
    M llvm/test/CodeGen/AMDGPU/freeze-binary.ll
    M llvm/test/CodeGen/AMDGPU/freeze.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/hsa.ll
    M llvm/test/CodeGen/AMDGPU/indirect-reg-read-imm-idx.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
    M llvm/test/CodeGen/AMDGPU/kernel-args.ll
    A llvm/test/CodeGen/AMDGPU/lds-link-time-named-barrier.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ballot.i32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.async.to.lds.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.AFLCustomIRMutator.opt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.add.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.and.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmax.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmin.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fsub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.max.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.min.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.or.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.sub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.xor.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.signal.isfirst.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.prefetch.data.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp2.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log2.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
    A llvm/test/CodeGen/AMDGPU/lower-intrinsics-noalias-metadata.ll
    A llvm/test/CodeGen/AMDGPU/lower-module-lds-link-time-classify.ll
    A llvm/test/CodeGen/AMDGPU/lower-module-lds-link-time-global-scope.ll
    A llvm/test/CodeGen/AMDGPU/lower-module-lds-link-time-internal-func.ll
    A llvm/test/CodeGen/AMDGPU/lower-module-lds-link-time-internal-multi-user.ll
    A llvm/test/CodeGen/AMDGPU/machine-scheduler-revert-slot-monotonicity.mir
    M llvm/test/CodeGen/AMDGPU/machine-sink-loop-var-out-of-divergent-loop-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi-bf16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
    M llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
    M llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
    M llvm/test/CodeGen/AMDGPU/minmax3-tree-reduction.ll
    A llvm/test/CodeGen/AMDGPU/new-pm-machine-analysis.mir
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/repeated-divisor.ll
    M llvm/test/CodeGen/AMDGPU/returnaddress.ll
    M llvm/test/CodeGen/AMDGPU/rsq.f32-safe.ll
    M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
    M llvm/test/CodeGen/AMDGPU/s-barrier.ll
    M llvm/test/CodeGen/AMDGPU/s-wakeup-barrier.ll
    A llvm/test/CodeGen/AMDGPU/schedmodel-dummywrite.mir
    M llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
    M llvm/test/CodeGen/ARM/cfguard-module-flag.ll
    M llvm/test/CodeGen/ARM/rotate-add.ll
    A llvm/test/CodeGen/ARM/shift-mod.ll
    A llvm/test/CodeGen/BPF/BTF/array-no-dimension.ll
    A llvm/test/CodeGen/BPF/BTF/char-utf.ll
    M llvm/test/CodeGen/BPF/warn-call.ll
    A llvm/test/CodeGen/DirectX/is_nonuniform_within_loop.ll
    A llvm/test/CodeGen/DirectX/is_nonuniform_within_loop_nuri.ll
    A llvm/test/CodeGen/Hexagon/hvx-concat-scalar-preds.ll
    M llvm/test/CodeGen/NVPTX/globals_init.ll
    M llvm/test/CodeGen/PowerPC/P10-stack-alignment.ll
    M llvm/test/CodeGen/PowerPC/amo-enable.ll
    M llvm/test/CodeGen/PowerPC/bit_floor.ll
    A llvm/test/CodeGen/PowerPC/builtins-ecc.ll
    M llvm/test/CodeGen/PowerPC/ctrloops-pseudo.ll
    M llvm/test/CodeGen/PowerPC/ctrloops.ll
    M llvm/test/CodeGen/PowerPC/sms-cpy-1.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/double-fcmp.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-fcmp.ll
    M llvm/test/CodeGen/RISCV/rv32p.ll
    M llvm/test/CodeGen/RISCV/rv64p.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.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-vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-splice-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-splice.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/mixed-float-bf16-arith.ll
    M llvm/test/CodeGen/RISCV/rvv/pr171231.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
    A llvm/test/CodeGen/RISCV/rvv/vp-splice-bf16.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
    A llvm/test/CodeGen/RISCV/rvv/vpaire.ll
    A llvm/test/CodeGen/RISCV/rvv/vpairo.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.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
    A llvm/test/CodeGen/RISCV/rvv/vunzipe.ll
    A llvm/test/CodeGen/RISCV/rvv/vunzipo.ll
    A llvm/test/CodeGen/RISCV/rvv/vzip.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/hlsl-resources/cbuffer.ll
    A llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctpop-vk.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctpop.ll
    M llvm/test/CodeGen/SPIRV/logical-struct-access.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpAllAny.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/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/cfguard-module-flag.ll
    M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
    M llvm/test/CodeGen/X86/gfni-lzcnt.ll
    A llvm/test/CodeGen/X86/gfni-or-fold.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
    M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
    A llvm/test/Linker/cfguard.ll
    A llvm/test/MC/AArch64/LFI/reserved.s
    A llvm/test/MC/AArch64/LFI/sys.s
    A llvm/test/MC/AArch64/LFI/tp.s
    M llvm/test/MC/AArch64/armv9.7a-gcie.s
    A llvm/test/MC/RISCV/rv32p-aliases-valid.s
    M llvm/test/MC/RISCV/rv32p-valid.s
    A llvm/test/MC/RISCV/rv64p-aliases-valid.s
    M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
    M llvm/test/Transforms/Attributor/nofpclass-powi.ll
    M llvm/test/Transforms/Coroutines/coro-debug.ll
    R llvm/test/Transforms/Coroutines/gh105595.ll
    A llvm/test/Transforms/Inline/inline-history-dead-function.ll
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/fneg.ll
    M llvm/test/Transforms/InstCombine/fold-fcmp-trunc.ll
    M llvm/test/Transforms/InstCombine/fp-floor-ceil.ll
    M llvm/test/Transforms/InstCombine/freeze.ll
    A llvm/test/Transforms/InstCombine/icmp-umax-notx.ll
    M llvm/test/Transforms/InstCombine/known-never-nan.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/expander-reused-value-insert-point.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/normalization-during-scev-expansion.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/callbr-critical-edge-splitting.ll
    M llvm/test/Transforms/LoopStrengthReduce/duplicated-phis.ll
    M llvm/test/Transforms/LoopStrengthReduce/funclet.ll
    A llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-complete.ll
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-epilog.ll
    A llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-partial-unconditional-latch.ll
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/unroll-partial.ll
    M llvm/test/Transforms/LoopUnroll/debug.ll
    M llvm/test/Transforms/LoopUnroll/loop-probability-one.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/aarch64-predication.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/ordered-reduction-with-invariant-stores.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-add-sdot-i16-i32.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-add-sdot-i8-i16.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/predication_costs.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/reverse-load-scatter.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/LoongArch/loongarch-interleaved.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/conditional-scalar-assignment-fold-tail.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/conditional-scalar-assignment.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/iv-select-cmp.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/reverse-load-scatter.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve2-histcnt-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/vplan-force-tail-with-evl.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/phi-with-fastflags-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-iv-transforms.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-before-execute.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-metadata.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge-vf1.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/slm-no-vectorize.ll
    M llvm/test/Transforms/LoopVectorize/conditional-assignment.ll
    A llvm/test/Transforms/LoopVectorize/early-exit-calls.ll
    A llvm/test/Transforms/LoopVectorize/early-exit-unary-ops.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/optsize.ll
    M llvm/test/Transforms/LoopVectorize/pr31190.ll
    A llvm/test/Transforms/LoopVectorize/tail-folding-constant-trip-counts.ll
    M llvm/test/Transforms/LoopVectorize/tripcount.ll
    M llvm/test/Transforms/LowerTypeTests/function-weak.ll
    M llvm/test/Transforms/LowerTypeTests/function.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-load.ll
    A llvm/test/Transforms/SLPVectorizer/X86/copyable-phi-used-non-copyable.ll
    A llvm/test/Transforms/SLPVectorizer/X86/operand-reorder-with-copyables.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll
    A llvm/test/Transforms/SLPVectorizer/X86/reduction-shl1-add-merge.ll
    M llvm/test/Verifier/sme-attributes.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/loopvectorize-costmodel.test
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir.filter-out.expected
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir.filter.expected
    A llvm/test/tools/UpdateTestChecks/update_mir_test_checks/x86-filter.test
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-basic-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-bf16-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-complxnum-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-flag-manipulation-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-forwarding.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-fp16fml-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-fptoint-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-i8mm-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-mte-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-neon-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-rcpc-immo-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-sve-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-writeback.s
    A llvm/test/tools/llvm-mca/AArch64/Inputs/flag-manipulation-instructions.s
    M llvm/test/tools/llvm-mca/AMDGPU/gfx10-double.s
    M llvm/test/tools/llvm-mca/AMDGPU/gfx11-double.s
    M llvm/test/tools/llvm-objcopy/COFF/subsystem.test
    M llvm/test/tools/llvm-objdump/MachO/archive-headers.test
    M llvm/test/tools/yaml2obj/ELF/DWARF/debug-line-v5.yaml
    M llvm/tools/lli/lli.cpp
    M llvm/tools/llubi/lib/Library.cpp
    M llvm/tools/llvm-cov/CMakeLists.txt
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/tools/llvm-debuginfod-find/CMakeLists.txt
    M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
    M llvm/tools/llvm-debuginfod/CMakeLists.txt
    M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
    M llvm/tools/llvm-gsymutil/Opts.td
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-statistics.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-objdump/CMakeLists.txt
    M llvm/tools/llvm-objdump/MachODump.cpp
    M llvm/tools/llvm-objdump/OtoolOpts.td
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-profdata/CMakeLists.txt
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/llvm-symbolizer/CMakeLists.txt
    M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
    M llvm/tools/llvm-xray/xray-fdr-dump.cpp
    M llvm/tools/obj2yaml/dwarf2yaml.cpp
    M llvm/tools/obj2yaml/elf2yaml.cpp
    M llvm/unittests/Analysis/ValueTrackingTest.cpp
    M llvm/unittests/CMakeLists.txt
    M llvm/unittests/CodeGen/GlobalISel/KnownFPClassTest.cpp
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
    M llvm/unittests/DebugInfo/GSYM/CMakeLists.txt
    M llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
    A llvm/unittests/DebugInfo/GSYM/GSYMV2Test.cpp
    A llvm/unittests/DebugInfo/GSYM/GsymDataExtractorTest.cpp
    M llvm/unittests/Debuginfod/CMakeLists.txt
    M llvm/unittests/Debuginfod/DebuginfodTests.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/Frontend/OpenMPIRBuilderTest.cpp
    A llvm/unittests/HTTP/CMakeLists.txt
    A llvm/unittests/HTTP/HTTPServerTests.cpp
    M llvm/unittests/IR/PatternMatch.cpp
    M llvm/unittests/IR/ValueHandleTest.cpp
    M llvm/unittests/Support/CMakeLists.txt
    M llvm/unittests/Support/DataExtractorTest.cpp
    M llvm/unittests/Support/FormatVariadicTest.cpp
    R llvm/unittests/Support/HTTP/CMakeLists.txt
    R llvm/unittests/Support/HTTP/HTTPServerTests.cpp
    M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp
    M llvm/unittests/XRay/FDRProducerConsumerTest.cpp
    M llvm/unittests/XRay/FDRTraceWriterTest.cpp
    M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
    M llvm/utils/UpdateTestChecks/mir.py
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/hicpp/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Analyses/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/CIR/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/DebugInfo/GSYM/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Debuginfod/BUILD.gn
    A llvm/utils/gn/secondary/llvm/lib/HTTP/BUILD.gn
    R llvm/utils/gn/secondary/llvm/lib/Support/HTTP/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/MCTargetDesc/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-cov/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-debuginfod-find/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-debuginfod/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-objdump/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-profdata/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-symbolizer/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/DebugInfo/GSYM/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
    A llvm/utils/gn/secondary/llvm/unittests/HTTP/BUILD.gn
    R llvm/utils/gn/secondary/llvm/unittests/Support/HTTP/BUILD.gn
    M llvm/utils/lit/lit/ProgressBar.py
    M llvm/utils/lit/lit/cl_arguments.py
    M llvm/utils/lit/lit/display.py
    M llvm/utils/lit/lit/llvm/config.py
    M llvm/utils/release/build_llvm_release.bat
    M llvm/utils/update_mir_test_checks.py
    A mlir/cmake/modules/Findocloc.cmake
    M mlir/docs/Bindings/Python.md
    M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUEnums.h
    M mlir/include/mlir/Dialect/OpenACC/Transforms/ACCSpecializePatterns.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVIntelExtOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/Target/LLVM/XeVM/Utils.h
    M mlir/include/mlir/Target/LLVMIR/LLVMTranslationDialectInterface.td
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
    M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
    M mlir/lib/Conversion/MathToEmitC/MathToEmitC.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/MLProgram/Transforms/PipelineGlobalOps.cpp
    M mlir/lib/Dialect/Math/Transforms/AlgebraicSimplification.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/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOpDefinition.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
    M mlir/lib/Dialect/Shard/Transforms/Partition.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
    M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
    M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
    M mlir/lib/Target/LLVM/CMakeLists.txt
    M mlir/lib/Target/LLVM/XeVM/Target.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/python/mlir/dialects/ext.py
    M mlir/test/Bytecode/uselist_orders.mlir
    M mlir/test/Conversion/MathToEmitC/math-to-emitc.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
    A mlir/test/Dialect/EmitC/math/ops.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/sroa-intrinsics.mlir
    M mlir/test/Dialect/Linalg/tile-to-forall.mlir
    M mlir/test/Dialect/MLProgram/pipeline-globals.mlir
    M mlir/test/Dialect/OpenACC/acc-loop-tiling.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Dialect/Quant/Bytecode/types.mlir
    M mlir/test/Dialect/Quant/parse-uniform.mlir
    M mlir/test/Dialect/SPIRV/IR/intel-ext-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
    M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
    M mlir/test/Dialect/Shard/resharding-partition.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/verifier.mlir
    M mlir/test/Dialect/Vector/canonicalize.mlir
    M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir
    M mlir/test/Dialect/XeGPU/invalid.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
    M mlir/test/Dialect/XeGPU/resolve-layout-conflicts.mlir
    M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir
    M mlir/test/Dialect/XeGPU/transform-ops.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/Target/LLVMIR/omptarget-parallel-wsloop.mlir
    A mlir/test/Target/LLVMIR/openmp-allocate-directive.mlir
    M mlir/test/Target/LLVMIR/openmp-cancel-distribute-parallel-loop.mlir
    M mlir/test/Target/LLVMIR/openmp-cancel.mlir
    M mlir/test/Target/LLVMIR/openmp-cancellation-point.mlir
    M mlir/test/Target/LLVMIR/openmp-composite-simd-if.mlir
    M mlir/test/Target/LLVMIR/openmp-dist_schedule_with_wsloop.mlir
    M mlir/test/Target/LLVMIR/openmp-iterator.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-simd-guided.mlir
    A mlir/test/Target/LLVMIR/openmp-taskloop-local-bounds.mlir
    M mlir/test/Target/LLVMIR/openmp-teams-distribute-reduction.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    M mlir/test/Target/SPIRV/intel-ext-ops.mlir
    M mlir/test/Transforms/test-legalize-type-conversion.mlir
    M mlir/test/mlir-tblgen/op-format-invalid.td
    M mlir/test/mlir-tblgen/op-format-spec.td
    M mlir/test/python/dialects/ext.py
    M mlir/test/python/dialects/python_test.py
    M mlir/test/python/dialects/transform_op_interface.py
    M mlir/test/python/integration/dialects/bf.py
    M mlir/test/python/lib/PythonTestModuleNanobind.cpp
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp
    M offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
    M offload/test/offloading/interop-print.c
    M offload/test/offloading/ompx_bare_multi_dim.cpp
    M openmp/CMakeLists.txt
    M openmp/device/include/Synchronization.h
    M openmp/runtime/src/kmp_alloc.cpp
    M openmp/runtime/test/ompt/misc/control_tool.c
    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
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    A utils/bazel/llvm-project-overlay/mlir/test/Bytecode/BUILD.bazel

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/f712261ba784...46de054ed89b

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