[all-commits] [llvm/llvm-project] 5ee840: [OFFLOAD][L0] Remove support for non-immediate com...

Michael Kruse via All-commits all-commits at lists.llvm.org
Sun May 24 07:36:24 PDT 2026


  Branch: refs/heads/users/meinersbur/flang_builtin-mods_3
  Home:   https://github.com/llvm/llvm-project
  Commit: 5ee840cbe1464c8e2b3128328de322f3e568991a
      https://github.com/llvm/llvm-project/commit/5ee840cbe1464c8e2b3128328de322f3e568991a
  Author: Alex Duran <alejandro.duran at intel.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M offload/plugins-nextgen/level_zero/include/L0Device.h
    M offload/plugins-nextgen/level_zero/include/L0Interop.h
    M offload/plugins-nextgen/level_zero/src/L0Device.cpp
    M offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
    M offload/plugins-nextgen/level_zero/src/L0Plugin.cpp

  Log Message:
  -----------
  [OFFLOAD][L0] Remove support for non-immediate command lists (#198894)

The code was in a dead path as immediate command lists are always used.


  Commit: 0f12556a2b328473bb8569503cd44924578b3eb6
      https://github.com/llvm/llvm-project/commit/0f12556a2b328473bb8569503cd44924578b3eb6
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Verifier/value-profile.ll

  Log Message:
  -----------
  [Verifier] Add missing null-check. (#199170)

[Verifier] Add missing null-check.

visitProfMetadata's was using the result of dyn_extract without first
checkout that it's non-null.  Thus one could crash the verifier by
providing invalid IR.

This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.


  Commit: d50dd107c7c955ff932ae5e0f716edb73c55f43f
      https://github.com/llvm/llvm-project/commit/d50dd107c7c955ff932ae5e0f716edb73c55f43f
  Author: Igor Wodiany <igor.wodiany at amd.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGroupOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
    M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
    M mlir/test/Dialect/SPIRV/IR/arithmetic-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/atomic-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/composite-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/group-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Fix `fp8` and `bf16` leaking into unsupported ops (#199102)

Including `SPIRV_AnyFloat` in the majority of types caused fp8 and bf16
to be allowed in ops that are not allowed by float8 and bfloat16
extensions. This patch tries to rectify to only allow fp8 and bf16 in
ops allowed by the respective specs. Additional tests have been also
added to increase the coverage with respect to those types.

Assisted-by: Codex + Claude Code


  Commit: 352fb9a2dfc275a90c5cd5f387de187f0554881c
      https://github.com/llvm/llvm-project/commit/352fb9a2dfc275a90c5cd5f387de187f0554881c
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/ICF.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/MarkLive.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/SymbolTable.cpp
    M lld/ELF/Symbols.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp
    M lld/ELF/Writer.h
    R lld/docs/Partitions.rst
    M lld/docs/ReleaseNotes.rst
    M lld/docs/index.rst
    R lld/docs/partitions.dot
    R lld/docs/partitions.svg
    R lld/test/ELF/partition-exidx.s
    M lld/test/ELF/partition-icf.s
    M lld/test/ELF/partition-move-to-main-startstop.s
    R lld/test/ELF/partition-notes.s
    M lld/test/ELF/partition-pack-dyn-relocs.s
    R lld/test/ELF/partition-synthetic-sections.s
    R lld/test/ELF/partition-thunk-reuse.s
    M lld/test/ELF/partitions.s

  Log Message:
  -----------
  [ELF] Reduce symbol partitions to shim binaries (#198718)

The experimental symbol partition feature can move arbitrary symbols and
input sections out of the main partition into named loadable partitions
that consumers extract with `llvm-objcopy --extract-partition`. It is
incompatible with many features, has seen no adoption beyond Chromium's
`build/extract_partition.py`. Chrome hasn't needed this feature for many
years.

The partitioning machinery (per-partition `MarkLive` runs, `moveToMain`,
cross-partition pull in `InputSection::replace`, per-symbol
dynsym/gnuhash/thunk-compat filters, `PartitionIndexSection`,
`copySectionsIntoPartitions`, etc.) does not pull its weight for that.

Remove the partitioning brain and keep a minimal shim shell.
`Symbol::partition` is deleted; every dynsym add goes to
`ctx.mainPart`. `ctx.partitions` wraps a `std::vector<Partition>`
whose iterator yields only the main partition; shim partitions live
in `storage[1..]` and are reached via `shims()`. The two paths that
actually emit shim binaries (`createPhdrs` and `pageAlign` in
Writer.cpp) name `shims()` directly.

Shim partitions carry no per-partition synthetic content; the
extracted shim is just an ELF header plus PT_PHDR/PT_LOAD.
`llvm-objcopy --extract-partition` keeps working but
`--dump-section .note.gnu.build-id` on a shim no longer finds
anything. Features that previously used `dlopen()` to lazy-load a
feature partition now live in main and are always loaded.

Aided by Claude Opus 4.7


  Commit: 5162d2a47c65dd0f98155e3cf63e68e27eefb7f9
      https://github.com/llvm/llvm-project/commit/5162d2a47c65dd0f98155e3cf63e68e27eefb7f9
  Author: Petr Hosek <phosek at google.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

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

  Log Message:
  -----------
  [Driver][MSVC] Correctly handle the -fuse-ld=(empty) case (#199167)

We need to distinguish the case where `-fuse-ld` is unspecified and when
`-fuse-ld=(empty)` as is already done in the generic `ToolChain`
implementation but wasn't done in the MSVC driver to correctly handle
the `CLANG_DEFAULT_LINKER` CMake option.


  Commit: 08124b704f9412c1be116d791eefdf01f4c588e1
      https://github.com/llvm/llvm-project/commit/08124b704f9412c1be116d791eefdf01f4c588e1
  Author: mzukovec <113346157+mzukovec at users.noreply.github.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp
    A clang/test/PCH/ftime-trace-specialization-lookup.cpp
    M clang/unittests/Support/TimeProfilerTest.cpp

  Log Message:
  -----------
  [clang] Avoid invalidating specialization lookup (#196533)

Fixes a use-after-free in `ASTReader::LoadExternalSpecializationsImpl`
when loading external specializations with `-ftime-trace` enabled.

This resolves the https://github.com/llvm/llvm-project/issues/196482 and
builds upon the https://github.com/llvm/llvm-project/pull/172658

The function kept a pointer into `SpecLookups`:

```cpp
LookupTable = &It->getSecond();
```

Then it constructed a `TimeTraceScope` whose name callback calls
`getNameForDiagnostic`. That call may deserialize additional AST state
and mutate `SpecLookups`, invalidating the saved pointer before it is
later used for:

```cpp
LookupTable->Table.find(HashValue);
```

This is observed as an ASAN `heap-use-after-free` in:

```text
MultiOnDiskHashTable<LazySpecializationInfoLookupTrait>::find
ASTReader::LoadExternalSpecializationsImpl
```

The fix computes the template-argument hash and copies the lazy
specialization lookup result before constructing the time-trace scope.
This avoids retaining a `DenseMap` iterator or pointer into
`SpecLookups` across code that may trigger deserialization.

Validation from a local reproducer:

- Unpatched Clang + PCH + `-ftime-trace`: ASAN heap-use-after-free.
- Unpatched Clang + same PCH without `-ftime-trace`: passes.
- Patched Clang + PCH + `-ftime-trace`: full downstream wasm build
passes.

I cannot attach the original PCH-based reproducer publicly because the
PCH contains private project paths and serialized private headers, but
the reduced failing source no longer contains project logic and the ASAN
trace points directly at invalidation inside
`LoadExternalSpecializationsImpl`.


  Commit: 5eefd3d04daa4abaa105a8ffe3dbe3c7ba75baa1
      https://github.com/llvm/llvm-project/commit/5eefd3d04daa4abaa105a8ffe3dbe3c7ba75baa1
  Author: Julian Oppermann <julian.oppermann at intel.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/test/Dialect/Linalg/linalg-morph-multi-step.mlir
    M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-category-ops.mlir
    M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-named-ops.mlir
    M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
    M mlir/test/Dialect/Linalg/transform-op-specialize-elemwise-binary.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Specialize more binary elementwise ops (#192290)

Extends the matching logic for `linalg.generic` ops that can be
represented as named op or `linalg.elementwise` to cover all variants
currently supported by `RegionBuilderHelper::buildBinaryFn`. We
previously detected only `add`, `sub`, `mul` and `div` for floating
point types.

I combined the detection for unary and binary functions to make it
tractable to morph operations such as
```mlir
#map = affine_map<(d0) -> (d0)>
// ...
%c123_i32 = arith.constant 123 : i32
%0 = linalg.generic
  {indexing_maps = [#map, #map], iterator_types = ["parallel"]}
  ins(%A : tensor<?xi32>) outs(%Out : tensor<?xi32>) {
^bb0(%in: i32, %out: i32):
  %v = arith.addi %c123_i32 , %in : i32
  linalg.yield %v : i32
} -> tensor<?xi32>
 ```
to 
```mlir
#map = affine_map<(d0) -> ()>
#map1 = affine_map<(d0) -> (d0)>
// ...
%0 = linalg.elementwise kind=#linalg.elementwise_kind<add>
  indexing_maps = [#map, #map1, #map1]
  ins(%c123_i32, %A: i32, tensor<?xi32>)
  outs(%Out: tensor<?xi32>) -> tensor<?xi32>
```


  Commit: 081d6881d5dafd4bfc7450f94d0dd65e72dcd360
      https://github.com/llvm/llvm-project/commit/081d6881d5dafd4bfc7450f94d0dd65e72dcd360
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 08124b7 (#199180)

This fixes 08124b704f9412c1be116d791eefdf01f4c588e1.

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>


  Commit: 5fb0fe4a107cb1da959a48ebff84545d80328dba
      https://github.com/llvm/llvm-project/commit/5fb0fe4a107cb1da959a48ebff84545d80328dba
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M lld/ELF/Arch/PPC.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Arch/SystemZ.cpp
    M lld/ELF/Arch/X86.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/ICF.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/RelocScan.h
    M lld/ELF/Relocations.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Thunks.cpp
    M lld/ELF/Writer.cpp
    M lld/docs/ReleaseNotes.rst
    R lld/test/ELF/partition-dynamic-linker.s
    R lld/test/ELF/partition-errors.s
    R lld/test/ELF/partition-icf.s
    R lld/test/ELF/partition-move-to-main-startstop.s
    R lld/test/ELF/partition-move-to-main.s
    R lld/test/ELF/partition-pack-dyn-relocs.s
    M lld/test/ELF/partitions.s

  Log Message:
  -----------
  [ELF] Remove the symbol partition feature (#199186)

Follow-up to #198718: SHT_LLVM_SYMPART sections are no longer recognized
and are treated as ordinary sections.

The sole user has been retired (crbug.com/401249151).

The per-partition synthetic sections (.dynamic, .dynsym, .gnu.hash,
.eh_frame, .ARM.exidx, ...) move into `ctx.in`; the program headers move
into `ctx.phdrs`. Delete the `Partition` struct, `ctx.mainPart`,
`ctx.partitions`, the
PartitionElfHeaderSection/PartitionProgramHeadersSection shim sections,
and the `.part.end` marker.


  Commit: 4ee12ee5d75f04a653229bb692c5e264dbc0c7b8
      https://github.com/llvm/llvm-project/commit/4ee12ee5d75f04a653229bb692c5e264dbc0c7b8
  Author: Igor Gorban <igor.gorban at intel.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/lib/Sema/OpenCLBuiltins.td
    A clang/test/SemaOpenCL/intel-subgroups-builtins.cl
    A clang/test/SemaOpenCL/intel-subgroups-char-builtins.cl
    A clang/test/SemaOpenCL/intel-subgroups-long-builtins.cl
    A clang/test/SemaOpenCL/intel-subgroups-short-builtins.cl

  Log Message:
  -----------
  [OpenCL] Add subgroup UI image overloads builtin functions (#198904)

Add subgroup UI image overloads builtin functions from the OpenCL
extensions available at
https://github.com/KhronosGroup/OpenCL-Docs/blob/main/extensions/cl_intel_subgroups.asciidoc
https://github.com/KhronosGroup/OpenCL-Docs/blob/main/extensions/cl_intel_subgroups_short.asciidoc
https://github.com/KhronosGroup/OpenCL-Docs/blob/main/extensions/cl_intel_subgroups_char.asciidoc
https://github.com/KhronosGroup/OpenCL-Docs/blob/main/extensions/cl_intel_subgroups_long.asciidoc


  Commit: c53f299dce981cebc6222689dac1b4b8f1b627e7
      https://github.com/llvm/llvm-project/commit/c53f299dce981cebc6222689dac1b4b8f1b627e7
  Author: idubinov <igor.dubinov at amd.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h

  Log Message:
  -----------
  [SPIRV][NFC] Pass function-pointer operand explicitly to visitFunPtrUse (#197667)

Take the function-pointer placeholder operand as a parameter rather
than reading MI.getOperand(2) directly, so visitFunPtrUse can be
reused from instructions with a different operand layout. Pure
refactor.

---------

Co-authored-by: Marcos Maronas <mmaronas at amd.com>


  Commit: 593eb2066293c8636786c98cb696c533da9b97ca
      https://github.com/llvm/llvm-project/commit/593eb2066293c8636786c98cb696c533da9b97ca
  Author: Himadhith <79003240+Himadhith at users.noreply.github.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/utils/lit/tests/unit/Util.py

  Log Message:
  -----------
  [AIX] Remove unsupported AIX native echo option -n (#199079)

AIX native echo doesn't support the `-n` flag.
Use the POSIX-standard `\c` escape sequence instead to suppress the
trailing newline, ensuring the test works across all systems and make it
portable.


The current test fails as follows:
```
FAIL: lit :: unit/Util.py (1 of 1)
******************** TEST 'lit :: unit/Util.py' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
"/opt/freeware/bin/python3.12" /home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py
# executed command: /opt/freeware/bin/python3.12 /home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py
# .---command stderr------------
# | F..
# | ======================================================================
# | FAIL: test_basic (__main__.TestCommandCache.test_basic)
# | ----------------------------------------------------------------------
# | Traceback (most recent call last):
# |   File "/home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py", line 32, in test_basic
# |     self.assertEqual(lit_config.run_command_cached(["echo", "hi"]), b"hi")
# | AssertionError: b'hi\n' != b'hi'
# |
# | ----------------------------------------------------------------------
# | Ran 3 tests in 2.050s
# |
# | FAILED (failures=1)
# `-----------------------------
# error: command failed with exit status: 1
```

---------

Co-authored-by: himadhith <himadhith.v at ibm.com>


  Commit: 866e9e03fe86eab363cc70526a59c8e48067a576
      https://github.com/llvm/llvm-project/commit/866e9e03fe86eab363cc70526a59c8e48067a576
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp

  Log Message:
  -----------
  [RISCV] Fix RISCVVectorPeephole::ensureDominates doc comment. NFC (#199196)


  Commit: 1f5b5a2aca31f84acf93c811f0d93eb46fe33e73
      https://github.com/llvm/llvm-project/commit/1f5b5a2aca31f84acf93c811f0d93eb46fe33e73
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    A llvm/test/Analysis/CostModel/RISCV/shuffle-load.ll

  Log Message:
  -----------
  [RISCV][TTI] Model broadcast loads as zero-stride loads (#198446)

We have done this optimization in ISel and this PR just models it
in TTI.

---------

Co-authored-by: Luke Lau <luke_lau at icloud.com>


  Commit: b26a70c7ecf98d27bb29eaa7d3baf685a60e8262
      https://github.com/llvm/llvm-project/commit/b26a70c7ecf98d27bb29eaa7d3baf685a60e8262
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [NFC][X86] Add peekThroughDemandedElts helper for future use (#199195)

Make it easier to bypass unnecessary ops based of DemandedElts


  Commit: 5c853423f4f9e7296b7596b7f3ccade481686bfd
      https://github.com/llvm/llvm-project/commit/5c853423f4f9e7296b7596b7f3ccade481686bfd
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll

  Log Message:
  -----------
  [VPlan] Assert that replacement types match in VPUser::setOperand (NFC). (#195891)

Add assertion to VPValue::setOperand to check if types of the new
operand matches the old operand.

This makes it easier to catch replacements with incorrect types at the
source, instead only later during verification.

A few places currently preform replacements with mis-matching types,
which only get fixed up later. Update those to avoid type-violation.

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

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


  Commit: 8cc944cb29cec7974509a34ae8ad85c483cbd120
      https://github.com/llvm/llvm-project/commit/8cc944cb29cec7974509a34ae8ad85c483cbd120
  Author: eiytoq <eiytoq at outlook.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__mdspan/mdspan.h
    M libcxx/include/mdspan
    A libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.at.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/nodiscard.verify.cpp
    A libcxx/test/std/containers/views/mdspan/mdspan/at.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][mdspan] P3383R3: `mdspan.at()` (#175213)

Implements https://wg21.link/P3383R3

Closes #148149

---------

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


  Commit: b4d42cf8e22126c2985e177bfe6130bfbfedb72a
      https://github.com/llvm/llvm-project/commit/b4d42cf8e22126c2985e177bfe6130bfbfedb72a
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    A clang/test/OpenMP/unimplemented_clause_messages.cpp

  Log Message:
  -----------
  [OpenMP] Prevent parser infinite loop on unimplemented clauses (#198796)

This is to fix an infinite loop in the parser when using un-implemented
clauses. See https://godbolt.org/z/f775asrea .
This patch also fixes this crash: https://godbolt.org/z/WKrsbTGGe .


  Commit: eb775bec0a6b4676bf3c6d070232247058b91b2f
      https://github.com/llvm/llvm-project/commit/eb775bec0a6b4676bf3c6d070232247058b91b2f
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

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

  Log Message:
  -----------
  [NFC] Remove unused LAA include (#199202)


  Commit: a79158d2d6ec84c2e282fccb0e9dbf1f16db8108
      https://github.com/llvm/llvm-project/commit/a79158d2d6ec84c2e282fccb0e9dbf1f16db8108
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M flang-rt/lib/runtime/CMakeLists.txt
    M flang-rt/lib/runtime/io-api-gpu.h
    M flang-rt/lib/runtime/io-api-server.cpp
    M flang-rt/lib/runtime/main.cpp
    M flang/include/flang/Runtime/io-api.h
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/common/src/RPC.cpp

  Log Message:
  -----------
  [flang-rt] Remove library dependency from flang-rt to offload (#198793)

Summary:
We need the offload project's RPC thread to handle the IO requests
originating from the GPU. Previously we did the 'easy' solution and just
linked this handler directly into the offload proejct. This is not ideal
because it prevents people's ability to build and configure libraries
separately.

This PR inverts the dependency, flang-rt now conditionally enables
support using the existing RPC callback mechanism. The cost is that
every flang-rt program now pays the cost of a boolean compare, the
benefit is the libraries are now independent of each-other.


  Commit: a6fe3806f2c355a5fcb44867993749a8cb0a1a2f
      https://github.com/llvm/llvm-project/commit/a6fe3806f2c355a5fcb44867993749a8cb0a1a2f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/commute.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
    M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
    M llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll

  Log Message:
  -----------
  [SLP] Retry vectorization of FMA candidates after block processing

fadd/fsub instructions that canConvertToFMA returns valid for were
unconditionally skipped in tryToVectorize, causing regressions
where SLP failed to vectorize loops containing such patterns even when
FMA formation never fires.
Collect skipped FMA candidates during vectorizeChainsInBlock and retry
them with AllowFMACandidates=true after all other instructions in the
block have been processed. The cost model still rejects the retry when
actual FMA formation is more profitable (e.g. FMA4 on bdver2), so
existing FMA-profitable cases are unaffected.

Fixes #198040

Reviewers: davemgreen, bababuck, RKSimon, hiraditya

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


  Commit: d7d60e1d69c0bf7850f52babdb22ba031aed0f87
      https://github.com/llvm/llvm-project/commit/d7d60e1d69c0bf7850f52babdb22ba031aed0f87
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.h
    M lldb/test/Shell/SymbolFile/NativePDB/ast-methods.cpp
    M lldb/test/Shell/SymbolFile/PDB/ast-restore.test

  Log Message:
  -----------
  [lldb][NativePDB] Use CV qualifiers from `this` type for methods (#199214)

When we create the Clang types for methods, we ignored the qualifiers.
So `const` methods would become non-const.

With this PR, we use the qualifiers from `*this` for the function type.


  Commit: 1af6ed08a15b2dcffe1c608a43cf24554e215523
      https://github.com/llvm/llvm-project/commit/1af6ed08a15b2dcffe1c608a43cf24554e215523
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-doxygen.yml
    R .github/workflows/require-release-manager/action.yml
    A .github/workflows/require-team-membership/action.yml

  Log Message:
  -----------
  workflows/require-release-manager: Refactor to check an arbitrary team (#199083)

This will allow it to be used for checking that users are members of the
llvm-committer team or possibly others.


  Commit: 0c315580e51c2eb901f57f04bf3a9a3aebf0906c
      https://github.com/llvm/llvm-project/commit/0c315580e51c2eb901f57f04bf3a9a3aebf0906c
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M lldb/unittests/Utility/LockedTest.cpp

  Log Message:
  -----------
  [lldb][test] Fix thread safety analysis warning in LockedTest (#199218)

Guard `mutex.unlock()` with `if (mutex.try_lock())` to satisfy thread
safety analysis. Statically, the compiler cannot verify that
`mutex.try_lock()` succeeded when it is only asserted by `EXPECT_TRUE`,
leading to a "releasing mutex 'mutex' that was not held" compilation
error.

This fixes a regression introduced in #198941.


  Commit: 78792f8576335770926f5e4b003bc5371d87c875
      https://github.com/llvm/llvm-project/commit/78792f8576335770926f5e4b003bc5371d87c875
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/test/AST/ast-dump-decl.cpp

  Log Message:
  -----------
  [clang] ast-text-dump: fix printing of declref to decomposition with no bindings (#199215)

Clang supports empty structured binding groups as an extension, and the
text node dumper has some special handling for giving a name to
anonymous declarations, which assumed a decomposition would have at
least one binding.

Fixes #198842


  Commit: 3298a0c7e38f92a7a6d7422dca3994b0c1e38609
      https://github.com/llvm/llvm-project/commit/3298a0c7e38f92a7a6d7422dca3994b0c1e38609
  Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M lldb/source/Interpreter/CommandInterpreter.cpp
    A lldb/test/Shell/Commands/process-attach-dummy.test

  Log Message:
  -----------
     [lldb] Fix dummy target filtering regression in CommandInterpreter (#198949)

In #198429 (reland), CommandObject::GetTarget() was tightened to return
nullptr instead of the dummy target when no real target exists, unless
the command explicitly opts in via eCommandAllowsDummyTarget or standard
target requirements
 
However in CommandInterpreter::GetExecutionContext(bool
adopt_dummy_target) :
  
  ```   
    ExecutionContext
CommandInterpreter::GetExecutionContext(bool adopt_dummy_target) const {
      return !m_overriden_exe_contexts.empty()
                 ? m_overriden_exe_contexts.top()
: m_debugger.GetSelectedExecutionContext(adopt_dummy_target);
    }
  ```
  
If m_overriden_exe_contexts is not empty, the method returned the top
context immediately—completely ignoring the adopt_dummy_target argument
requested by the command object.
  
  Because of this:
  
1. During sourced script runs, process attach received the dummy target
as its execution target (since adopt_dummy_target = false was ignored).
2. It bypassed the target == nullptr check and proceeded to attach
directly to the dummy target.
3. As the dummy target was never registered in m_target_list , the main
target list remained empty ( No targets. ), causing all subsequent
commands (e.g., setting breakpoints or continuing) to fail with invalid
target errors.
  
  ### The Fix:
  
   lldb/source/Interpreter/CommandInterpreter.cpp :
Respect adopt_dummy_target = false in GetExecutionContext when a dummy
target is present in the overridden execution context stackm so that if
adopt_dummy_target is false and the overridden context on the stack
contains the dummy target, we clear the context before returning it.
This forces GetTarget() to return nullptr as originally intended.

### Test:
  
  •  lldb/test/Shell/Commands/process-attach-dummy.test :
Add a new standalone Lit shell test to replicate this scenario. The test
sources a command sequence executing process attach when no target
exists, and verifies that target list successfully registers the newly
created real
  target ( target #0: <none> ) instead of leaving the list empty.


  Commit: 71772bcbc48e95f05740b765a49eaf630b75f79b
      https://github.com/llvm/llvm-project/commit/71772bcbc48e95f05740b765a49eaf630b75f79b
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M lldb/test/Shell/Settings/TestCxxFrameFormatPartialFailure.test

  Log Message:
  -----------
  [lldb] Remove XFAIL from TestCxxFrameFormatPartialFailure (#199229)

This is fixed on Windows after #198600 as it now uses LLD.


  Commit: 86475ffaf08578f45cfde0fa109396ed81eab9f0
      https://github.com/llvm/llvm-project/commit/86475ffaf08578f45cfde0fa109396ed81eab9f0
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll

  Log Message:
  -----------
  [LV] Avoid stale VPTypeAnalysis cache in convertToStridedAccesses (#199222)

VPlanTransforms::convertToStridedAccesses calls
VPWidenMemoryRecipe::computeCost, which uses VPTypeAnalysis in
VPCostContext to infer the pointer type of the load address. However,
CachedTypes in VPTypeAnalysis may be invalidated since earlier
transformations in tryToBuildVPlan could erase recipes from the plan.
This pollutes the cache with stale types.

Fix this by creating a new VPCostContext locally scoped to
convertToStridedAccesses, ensuring VPTypeAnalysis reflects the current
plan state. This serves as a quick fix to prevent accidental reuse by
future transformations.


  Commit: d2e9300b72637f92aa0ebf4aa5b82f84e4023640
      https://github.com/llvm/llvm-project/commit/d2e9300b72637f92aa0ebf4aa5b82f84e4023640
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

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

  Log Message:
  -----------
  [lldb] Adopt LockedPtr in Module (NFC) (#199160)

Follow-up to #198941, which introduced Locked<T> and SharedLocked<T>.
Add GetObjectFileLocked, GetSymbolFileLocked, GetSymtabLocked, and
GetSectionListLocked alongside the existing accessors.

The locked variants cover two things:

1. They prevent the pointer from being swapped out from under the
caller. The old getters take m_mutex only during lazy initialization and
release it before returning. The unique_ptr or shared_ptr that owns the
pointee can therefore be reassigned by another thread while the caller
still holds the raw value. LockedPtr keeps the Module mutex held
alongside the borrowed pointer, pinning the binding for the lifetime of
the handle.

2. They serialize access to the pointee itself. This is not new, the
classes in question were already relying on the Module mutex for
synchronization.

Migrate the four call sites in Module where the existing patter maps to
a single LockedPtr.

The legacy raw-pointer getters remain so call sites can migrate
incrementally.


  Commit: b081351c7e20a26a6e67b3e82c065f02e4cce8d8
      https://github.com/llvm/llvm-project/commit/b081351c7e20a26a6e67b3e82c065f02e4cce8d8
  Author: Ben Langmuir <blangmuir at apple.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/unittests/Basic/FileManagerTest.cpp

  Log Message:
  -----------
  [clang] Use FileError in FileManager::getFileRef, getDirectoryRef (#199126)

Most callers are unchanged, since they either ignore the specific error
or have their own formatting of the error that includes both the path
and the errorToErrorCode-unwrapped value. However, for clients that just
forward the error it's helpful to ensure we do not lose track of the
filename that the error is associated with, so use FileError.

Incidentally remove two uses of errorToErrorCode that were being used
instead of consumeError; in both cases getOptionalFileRef was more
appropriate.


  Commit: 1586b249954ebc0a09e15dc0f2a28fd7b3de3d6e
      https://github.com/llvm/llvm-project/commit/1586b249954ebc0a09e15dc0f2a28fd7b3de3d6e
  Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
    M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir

  Log Message:
  -----------
  [mlir][xegpu] Allow layout mismatch between region yields and region results (#199119)

With layout conflict handling this case is no longer an issue.


  Commit: b4b2dbf46f25cb688a049bea0495446791c208c9
      https://github.com/llvm/llvm-project/commit/b4b2dbf46f25cb688a049bea0495446791c208c9
  Author: Aegislin <voyager7 at sjtu.edu.cn>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-using.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using-ignore-extern-c.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp

  Log Message:
  -----------
  [clang-tidy] Change IgnoreExternC default to true in modernize-use-using (#199189)

This prevents generating invalid C code in mixed-language headers by
leaving `typedef` declarations inside `extern "C"` blocks intact by
default.

Fixes #141394


  Commit: 49e67cb500e0ae1dc5466735f581f72c5cd9a82d
      https://github.com/llvm/llvm-project/commit/49e67cb500e0ae1dc5466735f581f72c5cd9a82d
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll

  Log Message:
  -----------
  [LV] Regenerate a test with UTC. NFC (#199231)


  Commit: 4ad14a07f5704b950131f361edf05b96a871dfa2
      https://github.com/llvm/llvm-project/commit/4ad14a07f5704b950131f361edf05b96a871dfa2
  Author: Alexander Kornienko <alexfh at google.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaTemplate/concepts-lambda.cpp
    M clang/test/SemaTemplate/concepts.cpp

  Log Message:
  -----------
  Revert "[Clang] Transform lambda's constraints when instantiating parameter mapping (#195995)" (#199228)

This reverts commit 7e2821e025f8ee4add31693ddf462947d7618016, which
causes a crash-on-valid in clang:
https://github.com/llvm/llvm-project/issues/199209


  Commit: b153bed8fae4db1a8df3c52ca5b6e3e8f88113bd
      https://github.com/llvm/llvm-project/commit/b153bed8fae4db1a8df3c52ca5b6e3e8f88113bd
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-05-22 (Fri, 22 May 2026)

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

  Log Message:
  -----------
  [VectorCombine] foldShuffleChainsToReduce - add dbg cost comparison message (#199233)

Help track whether a fold was attempted or not


  Commit: ec4681df3d6bd1aeb9d00ee93c54eb7d4001cdff
      https://github.com/llvm/llvm-project/commit/ec4681df3d6bd1aeb9d00ee93c54eb7d4001cdff
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td

  Log Message:
  -----------
  [flang][FIR] Make fir.type a valid memref element type (#199236)

Implement `MemRefElementTypeInterface` on `fir::RecordType` so that
`memref<!fir.type<…>>` verifies, enabling downstream passes to use
memrefs of Fortran derived types.


  Commit: 5899ecd0d2420318d935948cd5b25ea56c2538fb
      https://github.com/llvm/llvm-project/commit/5899ecd0d2420318d935948cd5b25ea56c2538fb
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
    M llvm/test/CodeGen/NVPTX/vaargs.ll
    M llvm/test/CodeGen/NVPTX/variadics-backend.ll
    M llvm/test/CodeGen/NVPTX/variadics-lowering.ll

  Log Message:
  -----------
  Revert "[NVPTX] Fixup and test ExpandVariadics (#195709)" (#199235)

This reverts commit a5077468984ac3c47e6a3ca779c6f0ba680706c0.


  Commit: 170d37d861b036c5d645472dcc53a5d48e39e848
      https://github.com/llvm/llvm-project/commit/170d37d861b036c5d645472dcc53a5d48e39e848
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
    M clang/include/clang/CodeGen/CodeGenAction.h
    A clang/include/clang/CodeGen/ModuleLinker.h
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
    M clang/lib/CIR/FrontendAction/CMakeLists.txt
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenAction.cpp
    A clang/lib/CodeGen/ModuleLinker.cpp
    A clang/test/CIR/CodeGen/link-bitcode-file.c

  Log Message:
  -----------
  [CIR] Add Support for linking bitcode modules on cc1 (#196245)

Co-authored-by: <konstantinos.parasyris at intel.com>


  Commit: 1126c3f5b3d8f3fba55b372e64002d9561e14644
      https://github.com/llvm/llvm-project/commit/1126c3f5b3d8f3fba55b372e64002d9561e14644
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

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

  Log Message:
  -----------
  [clang-doc][nfc] Prefer range based APIs (#198070)


  Commit: 33f8e83a173aec33d3073b9e13a203c0b1147595
      https://github.com/llvm/llvm-project/commit/33f8e83a173aec33d3073b9e13a203c0b1147595
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/fmuladd_width_prop.ll

  Log Message:
  -----------
  [SLP] Add test for fmuladd bit width propogation (#199128)

Not profitable with VF=4, but we only we try smaller VFs if the load can
fit in a single vector register found by BoUpSLP::getVectorElementSize().
Requires proprogation of bit widths through the fmuladd intrinsic to vectorize
at VF=2. This is from the hot block in `538.imagick_r` which fails to vectorize
when vectorization is removed from pre-LTO, see
https://github.com/llvm/llvm-project/pull/195886#issuecomment-4486422243.


  Commit: cde86c021761e76a20c3387a031363c6797c63bf
      https://github.com/llvm/llvm-project/commit/cde86c021761e76a20c3387a031363c6797c63bf
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/modular-format.ll
    M llvm/test/Verifier/modular-format.ll

  Log Message:
  -----------
  [LLVM] Handle zero first-arg-index in modular-format (#199118)

Relax modular-format attribute validation in the Verifier to allow a
first-arg-index of 0 (meaning no variadic arguments, e.g. for v-family
functions like vsnprintf).

Guard InstCombine's optimizeModularFormat against zero index.

Generated by Gemini, reviewed by dthorn


  Commit: 29b141740d263f11c8e1d8490522ed7674096faa
      https://github.com/llvm/llvm-project/commit/29b141740d263f11c8e1d8490522ed7674096faa
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    A clang/test/Driver/print-enabled-extensions/riscv-sifive-p870-d.c
    R clang/test/Driver/print-enabled-extensions/riscv-sifive-p870.c
    M clang/test/Driver/riscv-cpus.c
    M clang/test/Misc/target-invalid-cpu-note/riscv.c
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/test/Transforms/LoopUnroll/RISCV/vector.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-load.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-store.ll
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/atomic.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/floating-point.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/integer.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/mul-div.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/arithmetic.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/bitwise.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/comparison.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/conversion.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/fma.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/fp.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/mask.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/minmax.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/mul-div.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/permutation.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/reduction.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vle-vse-vlm.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vlse-vsse.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vlseg-vsseg.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vlxe-vsxe.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvbb.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvbc.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvbc.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvkg.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvkned.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvknhb.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvksed.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvksh.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zba.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zbb.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zbs.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zfa.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zfh.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zfhmin.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zicond.test

  Log Message:
  -----------
  [RISCV] Rename sifive-p870 -> sifive-p870-d (#199077)

This matches the name on SiFive's website.


  Commit: 031a54fd30a7799df18d016c8b23a6b5ce6e6db9
      https://github.com/llvm/llvm-project/commit/031a54fd30a7799df18d016c8b23a6b5ce6e6db9
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M flang-rt/cmake/modules/AddFlangRT.cmake
    M flang-rt/lib/runtime/CMakeLists.txt
    M flang-rt/lib/runtime/main.cpp

  Log Message:
  -----------
  [flang-rt] Remove fallback if RPC headers not found (#199211)

Summary:
These are stored in the libc/shared and have a unified CMake helper to
find them. Likely these will be a more core dependency as LLVM uses them
for constexpr math, libcxx uses it, and compiler-rt will probably use
bits of it.

The original intention was to allow building flang-rt with a partial
checkout, but i don't think this is a reasonable use-case and I do not
think this exists in practice.


  Commit: df7948e445b5e9446053491a75980cc187316a09
      https://github.com/llvm/llvm-project/commit/df7948e445b5e9446053491a75980cc187316a09
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
    M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp

  Log Message:
  -----------
  [LLDB] Refactor SDK-related functions in Platform (#199141)

There are a lot of similar and repetetive variants of SDK lookups in the
Apple platform plugins. This commit unifies the implementations, error
handling and progress reporting.

Assisted-by: claude


  Commit: 287bc01277f5d77668563ab69fce64e286dfd79f
      https://github.com/llvm/llvm-project/commit/287bc01277f5d77668563ab69fce64e286dfd79f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
    M llvm/test/Transforms/VectorCombine/AArch64/partial-reduce-crash.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleChainsToReduce - fold at equal costs (#199242)

Similar to other VectorCombine folds, in case of OldCost == NewCost, use
the reduction if at least the root BinOp is removed as well as the
ExtractElement.

Noticed while triaging codegen for #199208


  Commit: d2b4dacba3d25ede39e997e77249f7c606444dea
      https://github.com/llvm/llvm-project/commit/d2b4dacba3d25ede39e997e77249f7c606444dea
  Author: Augusto Noronha <anoronha at apple.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
    A llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-completeness-llvm-annotation.ll

  Log Message:
  -----------
  [DWARFVerifier] Skip DW_TAG_LLVM_annotation in DWARFVerifier (#198867)

Annotations are not indexed, so we need to skip them on the verifier.

Assisted by: claude


  Commit: b9eb0ba06d267a9296659c4955fec5a38e09118e
      https://github.com/llvm/llvm-project/commit/b9eb0ba06d267a9296659c4955fec5a38e09118e
  Author: Augusto Noronha <anoronha at apple.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp

  Log Message:
  -----------
  [NFC][DebugInfo] Add Annotations parameter to DIBuilder::createStructType (#197331)

DICompositeType already has an "Annotations" ivar. This simply adds a
way to set it from the "createStructType" function.


  Commit: c35107863b7834a51bfd1844ea640a1d29f0a20d
      https://github.com/llvm/llvm-project/commit/c35107863b7834a51bfd1844ea640a1d29f0a20d
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    A llvm/test/FileCheck/match-time-error-propagation/invalid-excluded-pattern.txt
    A llvm/test/FileCheck/match-time-error-propagation/invalid-expected-pattern.txt
    A llvm/test/FileCheck/match-time-error-propagation/matched-excluded-pattern.txt
    A llvm/test/FileCheck/match-time-error-propagation/matched-expected-pattern.txt

  Log Message:
  -----------
  [FileCheck] Resurrect overflow tests (#198136)

D150880 (landed as 0726cb004718) uses `APInt` to eliminate most integer
overflow issues from FileCheck numeric variables. It also removes the 4
tests in `llvm/test/FileCheck/match-time-error-propagation`.

While the elimination of overflow issues reduces the importance of those
tests, the tests still seem worthwhile. Without them, I see no test that
exercises the "unable to substitute variable or numeric expression:
overflow error" diagnostic in FileCheck input dumps.

This patch resurrects those tests and updates them to exercise the
remaining unsigned underflow case.


  Commit: 8d506871687ce758fc788f957dc18ab181b801ae
      https://github.com/llvm/llvm-project/commit/8d506871687ce758fc788f957dc18ab181b801ae
  Author: Zaky Hermawan <44158147+ZakyHermawan at users.noreply.github.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
    M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
    M clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGenCUDA/address-spaces.cu
    A clang/test/CIR/IR/var-registration.cir

  Log Message:
  -----------
  [CIR][CUDA] Introduce cu.var_registration for shadow and attach device-side var metadata, internalize device side variables, and lower poison attribute (#190087)

Signed-off-by: ZakyHermawan <zaky.hermawan9615 at gmail.com>


  Commit: 1e14fd023023b6b4f94b455d0ba5aec85e69fa06
      https://github.com/llvm/llvm-project/commit/1e14fd023023b6b4f94b455d0ba5aec85e69fa06
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

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

  Log Message:
  -----------
  [flang-rt] Added missing RT_API_ATTRS for CheckBoundaryType(). (#199244)


  Commit: 1a264a9c0e628caf65b28fd4ba66af11fb6c6f1b
      https://github.com/llvm/llvm-project/commit/1a264a9c0e628caf65b28fd4ba66af11fb6c6f1b
  Author: Henrik G. Olsson <hnrklssn at gmail.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/docs/LifetimeSafety.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  [docs] update noescape semantics to disallow free (#195973)

This changes the documented semantics of the `noescape` attribute to
disallow freeing the pointer, and allow escapes of the integer value of
the memory address, as discussed in

https://discourse.llvm.org/t/rfc-updating-the-semantics-of-the-noescape-attribute/90326.

It also clarifies that the attribute may only be used to annotate the
outermost pointer level of nested pointer parameters.


  Commit: 939d325dba604a55bc075b46f9ffeda48ab46c0b
      https://github.com/llvm/llvm-project/commit/939d325dba604a55bc075b46f9ffeda48ab46c0b
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/test/FileCheck/dump-input/annotations.txt
    M llvm/utils/FileCheck/FileCheck.cpp

  Log Message:
  -----------
  [FileCheck] Refactor -dump-input test (#198137)

This PR is stacked on PR #198136.

This patch refactors `llvm/test/FileCheck/dump-input/annotations.txt` to
improve maintainability and coverage and to prepare for the upcoming
implementation of search range annotations.

Lit substitutions
=================

The test repeats the same basic set of RUN lines *many* times. This
patch encapsulates those in lit substitutions to improve
maintainability. By doing so, it also helps to ensure more consistent
coverage of all cases and thus slightly expands coverage.

-strict-whitespace
==================

Via those substitutions, this patch adds `-strict-whitespace` throughout
the test, and it drops the initial `-strict-whitespace` case because it
is then redundant. That causes many whitespace changes throughout the
test, so this patch is easier to read with `git diff -w`.

When I originally wrote the test, I thought maintaining it would be too
painful with `-strict-whitespace`. However, I now think it is important
for usability to thoroughly check that annotations are correctly aligned
with the input, especially given the upcoming search range annotations.

-dump-input-label-width
=======================

To address that anticipated maintenance pain, and to make the above
change easier to implement, this patch also implements a new hidden
FileCheck option, `-dump-input-label-width`. It enables tests like this
one not to have to fuss with fluctuations in the label column width that
are caused when varying the verbosity options. I do not anticipate this
option will be used outside FileCheck's own test suite.

Splitting directive blocks
==========================

To improve readability, this patch splits apart directive blocks where
the same annotations appear multiple times with small differences at
different verbosity levels. See new header comments for details.


  Commit: ef4e882c25a149041da5221ea765c0f3a2a7adb3
      https://github.com/llvm/llvm-project/commit/ef4e882c25a149041da5221ea765c0f3a2a7adb3
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/tools/dsymutil/DebugMap.cpp
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp

  Log Message:
  -----------
  Open yaml, etc as text files (#199253)

These tests were failing on z/OS because the text input files were being
opened as binary.

```
FAIL: LLVM :: tools/dsymutil/AArch64/typedef-different-types.test
FAIL: LLVM :: tools/dsymutil/X86/mismatch.m
FAIL: LLVM :: tools/dsymutil/embed-resource.test
FAIL: LLVM :: tools/llvm-gsymutil/X86/elf-symtab-file.yaml
```
Open the files as text to solve the problems.


  Commit: 6a8467648c8f01584ccf9b7835c641f6b65abdac
      https://github.com/llvm/llvm-project/commit/6a8467648c8f01584ccf9b7835c641f6b65abdac
  Author: Dickson Chau <61763724+dicksonchau at users.noreply.github.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll

  Log Message:
  -----------
  [NFC] Remove fractional part of Estimated cost per lane in memory-interleave.ll (#198666)

On the memory-interleave.ll test, some of the CHECK lines are failing on
z/OS, due to difference in rounding behaviour when printing the
Estimated cost per lane. Resolve this by removing the fractional part,
similar to what done in the past with
https://github.com/llvm/llvm-project/commit/e8556ff6b664df6e595f8aed175eff3a27a4a020
and
https://github.com/llvm/llvm-project/commit/aeb88f6778756ea889918308241a2b34bd7f64e2
.


  Commit: e47f8de5a2da5df2da84b804b2bdac5b54bfdbc5
      https://github.com/llvm/llvm-project/commit/e47f8de5a2da5df2da84b804b2bdac5b54bfdbc5
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/test/Analysis/AliasAnalysis/alias-analysis-acc.mlir

  Log Message:
  -----------
  [flang] Fixed FIR AA's getSource() for box loads inside acc.compute_region. (#199157)

This patch fixes a regression caused by #198635: when we call getSource()
for a `fir.load` of a box we have to handle the input value that might be
a `BlockArgument` and pass-through it.


  Commit: 39d3090d005c5dd697c9b33ae5e43a200a2ccc48
      https://github.com/llvm/llvm-project/commit/39d3090d005c5dd697c9b33ae5e43a200a2ccc48
  Author: LU-JOHN <John.Lu at amd.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/test/CodeGenObjC/exceptions.m
    M clang/test/Headers/__clang_hip_math.hip
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/CodeGen/AArch64/avoid-free-ext-promotion.ll
    A llvm/test/CodeGen/AMDGPU/sroa-phi-nodes.ll
    A llvm/test/Transforms/SimplifyCFG/jump-threading-live-on-exit.ll
    A llvm/test/Transforms/SimplifyCFG/jump-threading-max-jump-threading-live-blocks.ll

  Log Message:
  -----------
  Reapply [SimplifyCFG] Extend jump-threading to allow live local defs (#197850)

Restore "Extend jump-threading to allow live local defs" #135079. Long
compilation time with reduce.cu in hipcub/warp was partially addressed
in #195744. Compilation time for reduce.cu with this PR (after #195744)
is 6 minutes 40 seconds. Without (#195744) compilation time was several
hours.

Long compilation time in reduce.cu was only exposed by jump-threading.
In my view the primary causes were due to inlining, SROA tripling the IR
code size, and SSA updating 26K phi-nodes resulting in an O(N^2) search
for duplicates. #195744 limits phi search times.

This reverts commit a76750e6de6aba2223097dc505578556ec245d50.

---------

Signed-off-by: John Lu <John.Lu at amd.com>


  Commit: f8392616fafe26a6132645d0474253afe0549f32
      https://github.com/llvm/llvm-project/commit/f8392616fafe26a6132645d0474253afe0549f32
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/NVGPU/IR/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Fix mlir-doc build, add missing "-dialect nvgpu" (#199279)

Was broken with

> when more than 1 dialect is present, one must be selected via
'-dialect'


  Commit: c61c8808b4aa1cbcde195859ddb5dd1402cb5914
      https://github.com/llvm/llvm-project/commit/c61c8808b4aa1cbcde195859ddb5dd1402cb5914
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/Serialize.cpp

  Log Message:
  -----------
  [clang-doc][nfc] Silence tidy warning about anonymous namespace (#198071)

clang-tidy complains that we should prefer static over the anonymous
namespace, despite the API being static in addition to being in the
anonymous namespace. We can silence the diagnostic by simply removing
the namespace declaration.


  Commit: 90d4ed570dbc685120fb5824efd8eb9b568ac5ff
      https://github.com/llvm/llvm-project/commit/90d4ed570dbc685120fb5824efd8eb9b568ac5ff
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/YAMLGenerator.cpp

  Log Message:
  -----------
  [clang-doc][nfc] Use static declarations to enforce internal linkage (#198072)


  Commit: d755b04e38363e02fc64578654705d52a321b739
      https://github.com/llvm/llvm-project/commit/d755b04e38363e02fc64578654705d52a321b739
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
    M llvm/test/Analysis/ScalarEvolution/zext-add-nsw-fold.ll
    M llvm/test/Analysis/ScalarEvolution/zext-add.ll
    M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-guards.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll

  Log Message:
  -----------
  [SCEV] Fold zext(C+A)<nsw> -> (sext(C) + zext(A))<nsw> if possible. (#142599)

Simplify zext(C+A)<nsw> -> (sext(C) + zext(A))<nsw> if
 * zext (C + A)<nsw> >=s 0 and
 * A >=s V.

For now this is limited to cases where the first operand is a constant,
so the SExt can be folded to a new constant. This can be relaxed in the
future.

The initial version checks for non-negative manually to limit compile-time,
supporting only A = smax(C2, ..) where C2 >= abs(C)

Alive2 proof of the general pattern and the test changes in zext-nuw.ll
(times out in the online instance but verifies locally)

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

PR: github.com/llvm/llvm-project/pull/142599


  Commit: cc926938e05be54018d1bfd72144d07ad7599a8a
      https://github.com/llvm/llvm-project/commit/cc926938e05be54018d1bfd72144d07ad7599a8a
  Author: Kevin Sala Penades <salapenades1 at llnl.gov>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp

  Log Message:
  -----------
  [offload] Use device memory for the multithreaded kernel lanuch test (#199132)

This commit modifies the multithreaded kernel launch test to use device
memory instead of managed memory. The test is reported to be failing
intermittently in systems where concurrent managed memory access is
not supported. This is the case for NVIDIA devices that do not support
CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS.

The concept of concurrent and coherent managed memory access should
be exposed to liboffload users somehow, e.g., adding it as device property,
so it is clear what execution patterns are allowed with managed memory.
However, this test is just testing concurrent kernel launches. This commit
fixes it until we decide how to proceed with the guarantees on that type of
allocations.


  Commit: 83c752f7b12705f65a4ed1575c071140830cab52
      https://github.com/llvm/llvm-project/commit/83c752f7b12705f65a4ed1575c071140830cab52
  Author: Igor Gorban <igor.gorban at intel.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/lib/Headers/opencl-c.h
    M clang/lib/Sema/OpenCLBuiltins.td
    M clang/test/SemaOpenCL/intel-subgroups-builtins.cl

  Log Message:
  -----------
  [OpenCL] Fix image2d_t qualifier for intel_sub_group_block_write_ui (#199232)

The intel_sub_group_block_write_ui[2,4,8] overloads for image2d_t were
declared with a read_only qualifier, both in opencl-c.h and in
OpenCLBuiltins.td. A write operation cannot target a read_only image,
and
the base intel_sub_group_block_write together with the analogous _us,
_uc
and _ul aliases all correctly use write_only image2d_t.

Per the cl_intel_subgroups_short [1], cl_intel_subgroups_char [2] and
cl_intel_subgroups_long [3] specifications, the _ui aliases are added
"for
naming consistency [...] There is no change to the description or
behavior
of these functions" relative to the cl_intel_subgroups base, which uses
write_only image2d_t for writes.

The typo was introduced in b833bf6ae14f and preserved across all
later edits to this area.

Switch the qualifier from read_only to write_only in both opencl-c.h and
OpenCLBuiltins.td, and update intel-subgroups-builtins.cl to match the
corrected signature (the existing test was exercising the buggy
overload).

[1]
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroups_short.html
[2]
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroups_char.html
[3]
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroups_long.html

Co-Authored-By: Claude Opus

---------

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply at anthropic.com>


  Commit: 65e49a6c075236d7dff70750cf1aae3042a974e8
      https://github.com/llvm/llvm-project/commit/65e49a6c075236d7dff70750cf1aae3042a974e8
  Author: Igor Gorban <igor.gorban at intel.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/lib/Sema/OpenCLBuiltins.td
    A clang/test/SemaOpenCL/intel-subgroup-buffer-prefetch-builtins.cl
    A clang/test/SemaOpenCL/intel-subgroup-local-block-io-builtins.cl
    A clang/test/SemaOpenCL/intel-subgroup-local-block-io-ui-without-char-short-long.cl

  Log Message:
  -----------
  [OpenCL] Add Intel subgroup buffer prefetch and local block I/O builtins (#199258)

Add cl_intel_subgroup_buffer_prefetch and
cl_intel_subgroup_local_block_io
declarations to OpenCLBuiltins.td and cover them with header-free SPIR
tests.

This keeps the generated OpenCL builtins in sync with opencl-c.h for the
Intel subgroup buffer prefetch and local block I/O extensions.

Per the cl_intel_subgroup_local_block_io specification, the _ui local
aliases (intel_sub_group_block_read_ui*, intel_sub_group_block_write_ui*
with __local pointer) are declared under
FuncExtIntelSubgroupLocalBlockIO
alone, without a char/short/long prerequisite.  A dedicated test
(intel-subgroup-local-block-io-ui-without-char-short-long.cl) verifies
that
they resolve when only cl_intel_subgroup_local_block_io is active.

Specification:

https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroup_buffer_prefetch.html

https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroup_local_block_io.html

Co-authored-by: Copilot


  Commit: 56bf9850bbb6442b7ff5bc17a7f5dc0bab7d83b5
      https://github.com/llvm/llvm-project/commit/56bf9850bbb6442b7ff5bc17a7f5dc0bab7d83b5
  Author: adams381 <adams at nvidia.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    A clang/test/CIR/CodeGen/record-with-padded-union.cpp

  Log Message:
  -----------
  [CIR] Include union tail pad in getTypeSizeInBits (#198361)

Padded CIR unions (e.g. libstdc++ `std::string` SSO layout) carry a
trailing byte-array member so the record matches the AST layout size.
`RecordType::getTypeSizeInBits` was returning only the largest-aligned
member and ignored that tail, so the CIR view of the union was 8 bytes
smaller than what `LowerToLLVM` emits.  Parent structs then picked up
a spurious trailing pad via `insertPadding`, arrays of those structs
used the wrong stride, and heap allocations could be overrun (Eigen's
`array_of_string` hits this directly).

The fix adds the padding member's size when the union is marked
`padded`, so struct size, GEP strides, and `new T[n]` allocation sizes
match OGCG.  Regression test models the SSO-shaped record and checks
the 96-byte `new` for three elements.


  Commit: ff83218ec11bafbcc1e0e788917765e681cec809
      https://github.com/llvm/llvm-project/commit/ff83218ec11bafbcc1e0e788917765e681cec809
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/cmake/caches/HLSL.cmake

  Log Message:
  -----------
  [HLSL] Fix improper parsing of IN_LIST within if condition (#199276)

Cmake does not properly parse IN_LIST within the if condition, and
treats it as a token.
This is not desired behavior.
The CMP0057 policy supports the new [if() IN_LIST
](https://cmake.org/cmake/help/latest/command/if.html#command:if)
operator.
Enable this policy and resolve the build error.


Fixes https://github.com/llvm/llvm-project/issues/199282
Assisted by: Github Copilot


  Commit: 38489af2c601b28689db8533f841eb995afcab99
      https://github.com/llvm/llvm-project/commit/38489af2c601b28689db8533f841eb995afcab99
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M .github/workflows/libcxx-run-benchmarks.yml

  Log Message:
  -----------
  workflows/libcxx-run-benchmarks: Only run job for people with commit access (#199087)

This job checks out untrusted code from a PR in a trusted context
(issue_comment trigger), so we need to limit it to people with commit
access to avoid possible privilege escalation.


  Commit: c32de3e3759c3368978535e4ff4fb83323219fb0
      https://github.com/llvm/llvm-project/commit/c32de3e3759c3368978535e4ff4fb83323219fb0
  Author: lntue <lntue at google.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M .github/workflows/libc-shared-tests.yml

  Log Message:
  -----------
  [libc] Switch libc-shared-tests precommit CI to use docker image. (#197962)


  Commit: 0de4a8cd41efaac4d63ce056e8d4177397fdc1a7
      https://github.com/llvm/llvm-project/commit/0de4a8cd41efaac4d63ce056e8d4177397fdc1a7
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M libclc/test/conversion/convert.cl
    M libclc/test/geometric/cross.cl
    M libclc/test/integer/add_sat.cl
    M libclc/test/integer/sub_sat.cl
    M libclc/test/lit.cfg.py
    M libclc/test/lit.site.cfg.py.in
    M libclc/test/math/cos.cl
    M libclc/test/math/fabs.cl
    M libclc/test/math/rsqrt.cl
    M libclc/test/misc/as_type.cl
    M libclc/test/update_libclc_tests.py
    M libclc/test/work-item/get_group_id.cl

  Log Message:
  -----------
  [libclc] Fix .cl tests in standalone build (#199164)

libclc standalone build puts libclc.bc in ${CMAKE_CURRENT_BINARY_DIR}/
${TARGET_TRIPLE} dir. check-libclc fails because .cl test is looking for
libclc in clang resource dir.
Fix them by adding `--libclc-lib=:{path}` flag for standalone build,
where `path` is path to libclc.bc.
Note: this flag is not used in in-tree build.


  Commit: 2b08313726f4c8118d8b66cef1e030a64332eeed
      https://github.com/llvm/llvm-project/commit/2b08313726f4c8118d8b66cef1e030a64332eeed
  Author: Hussam Alhassan <hsm.link at proton.me>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
    R llvm/test/CodeGen/AArch64/aarch64-condopt-cross-block-domtree.mir

  Log Message:
  -----------
  Revert "[AArch64] ConditionOptimizer: replace per-block DenseMap with ScopedHashTable traversal (#196746)" (#199288)

This reverts commit 371f57cd67a523d241678509f57d048d58417b87 due to
failing tests


  Commit: d5915e2911eeca5b9c97a670489bcd6bb3ccee2f
      https://github.com/llvm/llvm-project/commit/d5915e2911eeca5b9c97a670489bcd6bb3ccee2f
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M lldb/test/API/lang/c/function_types/TestFunctionTypes.py

  Log Message:
  -----------
  [lldb] Adjust TestFunctionTypes.py for arm64e (#199295)

Normally the open parens happen right before a.out, but on arm64e the
load address is placed there instead. So instead of:

$0 = 0x0000d00d (a.out...)

we instead have:

$0 = 0xcafed00d (actual=0x0000d00d a.out ...)


  Commit: e11ffb21df47d5d221e00f13086ee5a70056e128
      https://github.com/llvm/llvm-project/commit/e11ffb21df47d5d221e00f13086ee5a70056e128
  Author: owenca <owenpiano at gmail.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/test/CMakeLists.txt

  Log Message:
  -----------
  [clang-format] Add a dependent build target to check-clang-format (#199169)

This makes check-clang-format automatically builds
clang-format-check-format, which checks that the new clang-format
doesn't break the existing format of the clang-format source.


  Commit: e3fab4ff9468dac2d968fde68f34959fc5e18835
      https://github.com/llvm/llvm-project/commit/e3fab4ff9468dac2d968fde68f34959fc5e18835
  Author: lntue <lntue at google.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M .github/workflows/libc-shared-tests.yml

  Log Message:
  -----------
  [libc] Build and test libc-shared-tests with gcc versions in precommit CIs. (#199300)


  Commit: cd1baf3cdc013d5ec68684a68d6a4376ed4027e0
      https://github.com/llvm/llvm-project/commit/cd1baf3cdc013d5ec68684a68d6a4376ed4027e0
  Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M libc/test/src/__support/wctype/CMakeLists.txt

  Log Message:
  -----------
  [libc][NFC][wctype] Fix test ci for old drivers (#199307)


  Commit: 387a7385ce5e5d5e141359b2106e0759c7b4a000
      https://github.com/llvm/llvm-project/commit/387a7385ce5e5d5e141359b2106e0759c7b4a000
  Author: lntue <lntue at google.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M libc/test/src/math/AddTest.h
    M libc/test/src/math/CeilTest.h
    M libc/test/src/math/CopySignTest.h
    M libc/test/src/math/DivTest.h
    M libc/test/src/math/FAbsTest.h
    M libc/test/src/math/FDimTest.h
    M libc/test/src/math/FMaxTest.h
    M libc/test/src/math/FMinTest.h
    M libc/test/src/math/FloorTest.h
    M libc/test/src/math/FmaTest.h
    M libc/test/src/math/FrexpTest.h
    M libc/test/src/math/HypotTest.h
    M libc/test/src/math/ILogbTest.h
    M libc/test/src/math/LogbTest.h
    M libc/test/src/math/ModfTest.h
    M libc/test/src/math/MulTest.h
    M libc/test/src/math/NearbyIntTest.h
    M libc/test/src/math/RIntTest.h
    M libc/test/src/math/RemQuoTest.h
    M libc/test/src/math/RoundEvenTest.h
    M libc/test/src/math/RoundTest.h
    M libc/test/src/math/RoundToIntegerTest.h
    M libc/test/src/math/RsqrtTest.h
    M libc/test/src/math/SqrtTest.h
    M libc/test/src/math/SubTest.h
    M libc/test/src/math/TruncTest.h
    M libc/test/src/math/acos_test.cpp
    M libc/test/src/math/acosf_test.cpp
    M libc/test/src/math/acoshf_test.cpp
    M libc/test/src/math/acospif_test.cpp
    M libc/test/src/math/asin_test.cpp
    M libc/test/src/math/asinf_test.cpp
    M libc/test/src/math/asinhf_test.cpp
    M libc/test/src/math/asinpi_test.cpp
    M libc/test/src/math/asinpif_test.cpp
    M libc/test/src/math/atan_test.cpp
    M libc/test/src/math/atanf_test.cpp
    M libc/test/src/math/atanhf_test.cpp
    M libc/test/src/math/cbrt_test.cpp
    M libc/test/src/math/cbrtf_test.cpp
    M libc/test/src/math/cos_test.cpp
    M libc/test/src/math/cosf_float_test.cpp
    M libc/test/src/math/cosf_test.cpp
    M libc/test/src/math/coshf_test.cpp
    M libc/test/src/math/erff_test.cpp
    M libc/test/src/math/exp10f_test.cpp
    M libc/test/src/math/exp10m1f_test.cpp
    M libc/test/src/math/exp2f_test.cpp
    M libc/test/src/math/exp2m1f_test.cpp
    M libc/test/src/math/expf_test.cpp
    M libc/test/src/math/expm1f_test.cpp
    M libc/test/src/math/log10_test.cpp
    M libc/test/src/math/log10f_test.cpp
    M libc/test/src/math/log1p_test.cpp
    M libc/test/src/math/log1pf_test.cpp
    M libc/test/src/math/log2_test.cpp
    M libc/test/src/math/log2f_test.cpp
    M libc/test/src/math/log_test.cpp
    M libc/test/src/math/logf_test.cpp
    M libc/test/src/math/sin_test.cpp
    M libc/test/src/math/sincos_test.cpp
    M libc/test/src/math/sincosf_test.cpp
    M libc/test/src/math/sinf_float_test.cpp
    M libc/test/src/math/sinf_test.cpp
    M libc/test/src/math/sinhf_test.cpp
    M libc/test/src/math/smoke/CopySignTest.h
    M libc/test/src/math/smoke/FDimTest.h
    M libc/test/src/math/smoke/FMaxTest.h
    M libc/test/src/math/smoke/FMaximumMagNumTest.h
    M libc/test/src/math/smoke/FMaximumMagTest.h
    M libc/test/src/math/smoke/FMaximumNumTest.h
    M libc/test/src/math/smoke/FMaximumTest.h
    M libc/test/src/math/smoke/FMinTest.h
    M libc/test/src/math/smoke/FMinimumMagNumTest.h
    M libc/test/src/math/smoke/FMinimumMagTest.h
    M libc/test/src/math/smoke/FMinimumNumTest.h
    M libc/test/src/math/smoke/FMinimumTest.h
    M libc/test/src/math/smoke/ILogbTest.h
    M libc/test/src/math/smoke/LogbTest.h
    M libc/test/src/math/smoke/ModfTest.h
    M libc/test/src/math/smoke/RoundToIntegerTest.h
    M libc/test/src/math/tan_test.cpp
    M libc/test/src/math/tanf_test.cpp
    M libc/test/src/math/tanhf_test.cpp
    M libc/test/src/mathvec/expf_test.cpp
    M libc/test/utils/FPUtil/x86_long_double_test.cpp

  Log Message:
  -----------
  [libc][NFC] Reduce the test size for math functions by default. (#199308)


  Commit: 65b58800c50af89c79d7ef7100f555f188f0c979
      https://github.com/llvm/llvm-project/commit/65b58800c50af89c79d7ef7100f555f188f0c979
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan][test] Fix use-after-free in dumpRecipeInPlan/dumpRecipeUnnamedVPValuesInPlan tests (#199275)

https://github.com/llvm/llvm-project/pull/195891 exposed a
use-after-free in the tests: `BinaryOperator *AI` [*] is deleted prior
to VPlan's destructor, which expects all the operands to still be alive.
This patch fixes the test (suggested by a Florian in
https://github.com/llvm/llvm-project/pull/199252#pullrequestreview-4348337988),
by preemptively detaching AI from the VPlan.

[*] No AI was harmed or used during the creation of this patch.


  Commit: 456906f06d4f3f4107ece2b9c522cc6f855c7dd1
      https://github.com/llvm/llvm-project/commit/456906f06d4f3f4107ece2b9c522cc6f855c7dd1
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    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/test/Dialect/XeGPU/invalid.mlir
    M mlir/test/Dialect/XeGPU/ops.mlir
    A mlir/test/Integration/Dialect/XeGPU/WG/load_store_matrix.mlir

  Log Message:
  -----------
  [MLIR][XeGPU]Extend load_matrix/store_matrix to support 1D SLM access (#198652)

This PR extended xegpu.load_matrix and xegpu.store_matrix to support 1D
mem_desc for contiguous SLM access
  - Added unit tests for 1D load/store (valid ops and invalid cases)
- Added integration test verifying both 1D (<4096xbf16>) and 2D
(<64x128xbf16>), correctly lower through the full WG→SG→WI→XeVM pipeline

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>


  Commit: d6be71fd1f10ad5220b69a3a09a942faabbd1a05
      https://github.com/llvm/llvm-project/commit/d6be71fd1f10ad5220b69a3a09a942faabbd1a05
  Author: Henrik G. Olsson <hnrklssn at gmail.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/test/CodeGenCXX/noescape.cpp
    M clang/test/CodeGenObjC/noescape.m

  Log Message:
  -----------
  [Clang][CodeGen] map `noescape` to capture(address) (was capture(none)) (#199281)

`capture(none)` has very restrictive semantics and an easy footgun to
accidentally fire some UB into your code with. Most significantly it
does not allow any visible side-effects of whether a pointer was null or
not to escape the function. This means that the function cannot perform
different side effects depending on whether a pointer marked `noescape`
is null. Relax this to `captures(address)`, which allows information
about the numerical address to escape the function, but no provenance
(i.e. nothing that could be dereferenced) may escape.

As discussed in
https://discourse.llvm.org/t/rfc-updating-the-semantics-of-the-noescape-attribute/90326.


  Commit: a8e55950fdc19c23ad78c8aeeea5a907690c4b6d
      https://github.com/llvm/llvm-project/commit/a8e55950fdc19c23ad78c8aeeea5a907690c4b6d
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/shuffle-load.ll

  Log Message:
  -----------
  [RISCV][TTI] Make getShuffleCost check we have a vector before querying getVectorElementCount (#199286)

Fixes the assert reported here:

<https://github.com/llvm/llvm-project/pull/198446#issuecomment-4522589671>

I believe this happens when the element type isn't a legal RVV element
type and so has been scalarised by type legalisation.

Adding this guard also matches the AArch64 implementation.

The test change is LLM generated.


  Commit: fc082e1a6ddd77dddc79c49285356fd9dfed7731
      https://github.com/llvm/llvm-project/commit/fc082e1a6ddd77dddc79c49285356fd9dfed7731
  Author: Gábor Spaits <gaborspaits1 at gmail.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/fixed-vectors-calling-conv.ll

  Log Message:
  -----------
  [RISCV][GlobalISel]Implement support for vector calling convention with fixed length vectors (#199227)

Implementing IRTranslator support for fixed length vectors when the V
extension is used. This implementation works similar to SelecionDAGs. We
use insert and extract subvector OPs to get the fixed length vectors out
of the scalable length vectors.


  Commit: 7bcc8e6f74bb8b38af3d539dc2cc36f8a16cc526
      https://github.com/llvm/llvm-project/commit/7bcc8e6f74bb8b38af3d539dc2cc36f8a16cc526
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/reduce-smax.ll
    M llvm/test/Analysis/CostModel/X86/reduce-smin.ll
    M llvm/test/Analysis/CostModel/X86/reduce-umax.ll
    M llvm/test/Analysis/CostModel/X86/reduce-umin.ll
    M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smax.ll
    M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smin.ll
    M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umax.ll
    M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umin.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-smax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll
    M llvm/test/Transforms/VectorCombine/X86/fold-equivalent-reduction-cmp.ll
    M llvm/test/Transforms/VectorCombine/X86/fold-signbit-reduction-cmp.ll
    M llvm/test/Transforms/VectorCombine/X86/icmp-vector-reduce.ll

  Log Message:
  -----------
  [CostModel][X86] Update VECREDUCE MINMAX costs based off llvm-mca analysis (#199208)

Add full CostKinds, to improve a lot of reduction matching in
vectorcombine/slp passes

These are based off SMIN/UMIN numbers, and a few SMAX/UMAX numbers don't
always match, but are typically within +/-1


  Commit: 85c3fd048d7df66d093bfaf45e7c3c3ec44122bf
      https://github.com/llvm/llvm-project/commit/85c3fd048d7df66d093bfaf45e7c3c3ec44122bf
  Author: lntue <lntue at google.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M libc/test/shared/shared_math_test.cpp

  Log Message:
  -----------
  [libc] Fix shared math tests for gcc-13. (#199318)


  Commit: 23c92de8e4252ddadd2dcc4a80c5d8b6a620e9c6
      https://github.com/llvm/llvm-project/commit/23c92de8e4252ddadd2dcc4a80c5d8b6a620e9c6
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    A libcxx/test/std/utilities/memory/specialized.algorithms/destroy.h

  Log Message:
  -----------
  [libc++][test] Add backported `destroy({_at,_n})` for tests (#199185)

It would be convenient to use `destroy_at`, `destroy`, and `destroy_n`
in tests for pre-C++17 uninitialized memory algorithms. So this PR add
backported versions of them for tests.


  Commit: 38e0a91f244fb0789c3d90d444bd07972f1051cb
      https://github.com/llvm/llvm-project/commit/38e0a91f244fb0789c3d90d444bd07972f1051cb
  Author: Jiahao Guo <eoonguo at gmail.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
    M clang/test/CIR/CodeGen/abi-lower-after-unreachable.cpp
    M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
    M clang/test/CIR/CodeGen/dynamic-cast.cpp

  Log Message:
  -----------
  [CIR] Attach noreturn attribute to __cxa_bad_cast (#198727)

## Summary

  - Mark `__cxa_bad_cast` as `noreturn` in CIR, mirroring the existing
`__cxa_bad_typeid` handling. The attribute is now set on every `CallOp`
that targets it,
    covering both the CodeGen direct path (`emitCallToBadCast`) and the
    target-lowering path (`buildBadCastCall`).
  - Drop the now-fulfilled `MissingFeatures::opFuncNoReturn` entry and
    the corresponding TODO/assert at the lone caller in
    `LowerItaniumCXXABI.cpp`.
  - Update FileCheck expectations in `dynamic-cast.cpp`,
    `dynamic-cast-exact.cpp`, and `abi-lower-after-unreachable.cpp` to
    require the `{noreturn}` attribute on the lowered
    `cir.call @__cxa_bad_cast()`.


  Commit: ec771f7fcb307ed9cf8f4ec355d3d2b898b20d39
      https://github.com/llvm/llvm-project/commit/ec771f7fcb307ed9cf8f4ec355d3d2b898b20d39
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll

  Log Message:
  -----------
  [LV] Add narrowing interleave group test with preservable metadata (NFC) (#199335)

Drop stale fixme and add test showing missed metadata preservation.


  Commit: 9863053dd5b75e2e025eb7e4674752b7ba198d2c
      https://github.com/llvm/llvm-project/commit/9863053dd5b75e2e025eb7e4674752b7ba198d2c
  Author: aryanmagoon <70676027+aryanmagoon at users.noreply.github.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
    A llvm/test/CodeGen/NVPTX/nvvm-abs.ll

  Log Message:
  -----------
  [NVPTX] Auto-upgrade llvm.nvvm.abs with int-min poison (#198646)

Update the auto-upgrade for llvm.nvvm.abs.i and llvm.nvvm.abs.ll to use
the generic llvm.abs intrinsic with is_int_min_poison=true. The previous
expansion used neg/icmp/select which gives defined INT_MIN -> INT_MIN
behavior, but loses the poison/undefined signed-min semantics needed for
NVPTX to select PTX abs.s32 and abs.s64 instrucitons when the source
operation permits signed-min overflow to be undefined. This is a
followup to #183851 . Using llvm.abs(..., true) preserves intended IR
semantics and lowers through the new ABS_MIN_POISON. We also update the
tests and add NVPTX CodeGen coverage for the legacy nvvm abs intrinsics.


  Commit: ad72dfb7c0d59838b87cc1910278a5ee1fdb0e19
      https://github.com/llvm/llvm-project/commit/ad72dfb7c0d59838b87cc1910278a5ee1fdb0e19
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-05-23 (Sat, 23 May 2026)

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

  Log Message:
  -----------
  [libc++][test] Make `copy_move_types.h` usable in old modes (#199183)

This PR makes types in `copy_move_types.h` usable in C++03/11 modes.
Because it is discovered that some types in `copy_move_types.h` are
useful for testing uninitialized memory algorithms in pre-C++20 modes.


  Commit: 5e8be92dc40e54bfc7b6a211fd2b094073c07ea4
      https://github.com/llvm/llvm-project/commit/5e8be92dc40e54bfc7b6a211fd2b094073c07ea4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] combineVectorInsert - use generic zext/shift/or pattern for constant concatenation (#199344)

Generalised the code added in #198273 to make it easier to support other
combos in future patches.

Hopefully we can get load combining to work here soon.


  Commit: 3106698fcd17513bc05ecc93a173f43bb71666f3
      https://github.com/llvm/llvm-project/commit/3106698fcd17513bc05ecc93a173f43bb71666f3
  Author: Wolfgang Pieb <55721109+wolfy1961 at users.noreply.github.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeWriter.cpp

  Log Message:
  -----------
  [clang-doc][nfc] Avoid combining constexpr with std::initializer_list as this seems to give MSVC trouble. (#199311)

Some Windows bots using MSVC 2019 and 2022 get assertion errors in the
clang-doc lit tests (see
[here](https://github.com/llvm/llvm-project/pull/198066). This seems to
be due to MSVC having trouble with a correctly initializing structures
using std::initializer_list when embedded in a struct declared with
constexpr.

This workaround changes constexpr to const in a struct definition to
avoid this issue.


  Commit: 017f3525e8c4241701576ecc5083291eddaea63a
      https://github.com/llvm/llvm-project/commit/017f3525e8c4241701576ecc5083291eddaea63a
  Author: michael1017 <40065278+michael1017 at users.noreply.github.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll

  Log Message:
  -----------
  [X86] Lower vector 8-bit rotr(x, 1) to pavgb pattern (#198980)

Fixes #198060


  Commit: 12e366ae301a426e403d9cc29e41e1e2141987ff
      https://github.com/llvm/llvm-project/commit/12e366ae301a426e403d9cc29e41e1e2141987ff
  Author: lbzzz1016 <92416701+lbzzz1016 at users.noreply.github.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

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

  Log Message:
  -----------
  [DAG] UDIV/SDIV exact nodes support DemandedElts + add test (#198715)

Resolves #183047

This patch updates isKnownNeverZero to handle DemandedElts for UDIV and SDIV exact nodes.


  Commit: 4f828412ee1821a937913019df40bb1e6f22b3dd
      https://github.com/llvm/llvm-project/commit/4f828412ee1821a937913019df40bb1e6f22b3dd
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    R libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.at.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/at.pass.cpp

  Log Message:
  -----------
  [libc++][test] Merge test files for `mdspan::at` (#199330)

`libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.at.pass.cpp`
caused build bot failures for
- sanitizer-aarch64-linux-bootstrap-asan
- sanitizer-aarch64-linux-bootstrap-hwasan
- sanitizer-aarch64-linux-bootstrap-msan

It's not yet clear why current mechanisms don't work for these builds.
`TEST_HAS_NO_EXCEPTIONS` should have been working.

Also remove one unnecessary `static` and use `std::string_view(e.what())
== "mdspan"`.


  Commit: 37a220561b154a19f6f77bc5d4758a56cd0f9378
      https://github.com/llvm/llvm-project/commit/37a220561b154a19f6f77bc5d4758a56cd0f9378
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.ll

  Log Message:
  -----------
  [LV] Determine NumPredStores before computing widening costs. (#199341)

Determine NumPredStores before computing widening costs, so we
consistently apply large predicated store cost to all stores, matching
the VPlan cost model. In practice that should not impact vectorization
decisions, as the huge cost for any predicated store other than the
first already effectively disables vectorization.


  Commit: 9d533e977eea1e1c0ee94515bc5dd0bd70d15d95
      https://github.com/llvm/llvm-project/commit/9d533e977eea1e1c0ee94515bc5dd0bd70d15d95
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [clang] Fix crash in getCursorRawComments. (#199328)

Fix a regression introduced in PR #198452 where querying raw comments on
invalid cursors caused a segmentation fault due to unconditional
ASTContext lookup. Adding an early exit for unsupported cursor kinds at
the top of getCursorRawComment safely avoids resolving the context on
invalid cursors with null translation units.


  Commit: 6d3bc00024049776364e94941b0ba705f1549de4
      https://github.com/llvm/llvm-project/commit/6d3bc00024049776364e94941b0ba705f1549de4
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/fdim.ll

  Log Message:
  -----------
  [SimplifyLibCalls] Fix optimizeFdim for Inf-Inf cases (#199306)

fdim(x,y) is defined as

    NaN if x or y is NaN, otherwise
    (x > y) ? x - y : +0

optimizeFdim computed fdim(x,y) as max(x-y, +0).  This is not correct
when x == y == +/-Inf; the result should be 0, but this optimization
returns NaN.

I was surprised by this bug because there's even a testcase checking the
incorrect behavior.  But returning 0 matches the description in C99 and
POSIX, where, just to be extra clear, the spelling of the piecewise
function is

    NaN if either input is NaN
    x - y if x > y
    +0    if x <= y

Returning +0 also matches the behavior of libc on my machine
gcc.godbolt.org.

This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.


  Commit: 47e6290a34507ba1b3f4e0a49bad28982ff3e3ef
      https://github.com/llvm/llvm-project/commit/47e6290a34507ba1b3f4e0a49bad28982ff3e3ef
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/fmod.ll

  Log Message:
  -----------
  [SimplifyLibCalls] Don't set nnan on synthesized frem in optimizeFMod (#199284)

LibCallSimplifier can fold a libcall to fmod to an frem instruction if
the fmod call doesn't set errno.

fmod(x, y) sets errno if x == +/-Inf or y == 0.  The old code assumed
that this was also a sufficient condition to prove that the result is
not NaN, and so unconditionally set the nnan fmf on the new frem
instruction.  That's not sound; e.g. fmod(x, NaN) == frem(x, NaN) ==
NaN.

We don't actually have to worry about propagating the `nnan` flag;
B.CreateFRemFMF does it for us automagically.

This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.


  Commit: 0344e9f8ac91ef73eb68be465dcb97ee8cdc64c7
      https://github.com/llvm/llvm-project/commit/0344e9f8ac91ef73eb68be465dcb97ee8cdc64c7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp

  Log Message:
  -----------
  [VPlan] Thread types through VPHeaderPHIRecipe and VPDerivedIVRecipe (NFC) (#195894)

Update VPHeaderPHIRecipe and VPDerivedIVRecipe to set the scalar types
for their defined values.

This requires updating addReductionResultComputation to construct the
new chain for AnyOf reductions up-front.

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

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


  Commit: 5c6af8396ee8d8e0fb05b3548fc57c0fc0fbe8b5
      https://github.com/llvm/llvm-project/commit/5c6af8396ee8d8e0fb05b3548fc57c0fc0fbe8b5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/test/Transforms/LoopVectorize/optsize.ll

  Log Message:
  -----------
  [LV] Don't add stride SCEV predicates when runtime checks are disabled. (#199370)

Don't pass symbolic strides to getPtrStride if SCEV runtime checks are
not allowed (e.g. because optimizing for size). This prevents
getPtrStride from adding additional SCEV checks for symbolic strides.


  Commit: 5ccea57a1a3a665e07a358c812d80a63811aa126
      https://github.com/llvm/llvm-project/commit/5ccea57a1a3a665e07a358c812d80a63811aa126
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Utility/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/TargetParser/BUILD.gn

  Log Message:
  -----------
  [gn build] Port commits (#199375)

170d37d861b0
1b0e603087b6
9997b11c6469


  Commit: 8b56d41fda9a2151a5886d4790da9edf5ac05362
      https://github.com/llvm/llvm-project/commit/8b56d41fda9a2151a5886d4790da9edf5ac05362
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

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

  Log Message:
  -----------
  [VPlan] Create casts before ComputeReductionResult (NFC). (#199372)

This ensures ComputeReductionResult is created with operands that have
their correct types set at construction.


  Commit: f95ccbae8bd70e56e31fc04d6307d317212b7fbc
      https://github.com/llvm/llvm-project/commit/f95ccbae8bd70e56e31fc04d6307d317212b7fbc
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    A llvm/test/CodeGen/RISCV/fixed-x27-crash.ll

  Log Message:
  -----------
  [RISCV] Reserve all sub-registers of user reserved GPRs (#199302)

When a GPR is reserved by the user (e.g., via  `-mattr=+reserve-x27`)
or marked as constant, only the top-level register was being marked
reserved in `RISCVRegisterInfo::getReservedRegs`. Its sub-registers
(`X27_W` and `X27_H`) remained unreserved.

This broke `LiveIntervals` when register pressure tracking was enabled
by #115445. Because the sub-registers were not reserved, the register
unit was considered non-reserved, causing `LiveIntervals` to track its
liveness and crash in the Machine Verifier due to the reserved
register missing from basic block live-in lists.

Instead, we should ensure that reserving a register also reserves all
of its sub-registers, so that the register unit is correctly
identified as reserved and ignored by `LiveIntervals`.

Fixes #176227


  Commit: fd45c0bf9f7ac6f2d370f9da959c4b93281285a0
      https://github.com/llvm/llvm-project/commit/fd45c0bf9f7ac6f2d370f9da959c4b93281285a0
  Author: Himadhith <79003240+Himadhith at users.noreply.github.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M llvm/utils/lit/tests/unit/Util.py

  Log Message:
  -----------
  Revert "[AIX] Remove unsupported AIX native echo option -n (llvm#199079)" (#199277)

This reverts commit 593eb2066293c8636786c98cb696c533da9b97ca.
The patch is being reverted as the code changes and the commit message
and description do not match and point to a previous implementation

Co-authored-by: himadhith <himadhith.v at ibm.com>


  Commit: 02f736922cc852840941d6734df37ca47c2c41e4
      https://github.com/llvm/llvm-project/commit/02f736922cc852840941d6734df37ca47c2c41e4
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M libcxx/include/__verbose_trap

  Log Message:
  -----------
  [libc++] Remove AppleClang woraround for __builtin_verbose_trap (#199171)

We've dropped support for AppleClang versions with a different
`__builtin_verbose_trap`, so we can remove the workaround.


  Commit: 78cbf39d3bc990e4562c98dbddd26cd3de4eca96
      https://github.com/llvm/llvm-project/commit/78cbf39d3bc990e4562c98dbddd26cd3de4eca96
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M compiler-rt/lib/builtins/atomic.c
    M compiler-rt/test/builtins/Unit/atomic_test.c

  Log Message:
  -----------
  [compiler-rt] Use `size_t` rather than `int` for first argument to `__atomic_load_c` et al. (#197519)

I noticed this discrepancy in emscripten when trying to test 128 bit
atomics under wasm64:
https://github.com/emscripten-core/emscripten/pull/26937

The LLVM CodeGen appears to use `size_t` in this position when it
generates calls to these functions.

This doesn't effect other platforms I imagine because they don't require
signature checking at the linker level.

This doesn't effect wasm32 where size_t and int are the same size.


  Commit: 0ee8a371b673bd864804fd5c0125fbd46dcee31a
      https://github.com/llvm/llvm-project/commit/0ee8a371b673bd864804fd5c0125fbd46dcee31a
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-05-23 (Sat, 23 May 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/X86/ldexp-avx512.ll

  Log Message:
  -----------
  [X86] LowerFLDEXP: convert widened int exponent to FP before SCALEF (#199263)

For vector ldexp cases that LowerFLDEXP implements by widening to a
512-bit SCALEF operation, the code widened both X and Exp but passed
the widened integer exponent directly to SCALEF, which interprets
its inputs as IEEE-754 floats.

Convert the widened integer exponent to FP and pass that to SCALEF.

Reproducer (clang -O2 -mavx512f repro.c -o repro && ./repro):

```
  #include <stdio.h>
  typedef float v4f __attribute__((vector_size(16)));
  typedef int v4i __attribute__((vector_size(16)));

  __attribute__((noinline))
  v4f ldexp_v4(v4f x, v4i e) {
    return __builtin_elementwise_ldexp(x, e);
  }

  int main(void) {
    v4f x = {1, 2, 4, 8};
    v4i e = {1, 2, 3, 4};
    v4f r = ldexp_v4(x, e);
    printf("got      %g %g %g %g\n", r[0], r[1], r[2], r[3]);
    printf("expected 2 8 32 128\n");
  }
```

Before this patch, ldexp_v4 lowered to the following (note no
vcvtdq2ps):

```
  vmovaps   %xmm1, %xmm1
  vmovaps   %xmm0, %xmm0
  vscalefps %zmm1, %zmm0, %zmm0  ; xmm1 still holds integer bits
```

so the program printed "got 1 2 4 8".

This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.


  Commit: dd1649b020081263b3d2a08e3b254d7b4280222f
      https://github.com/llvm/llvm-project/commit/dd1649b020081263b3d2a08e3b254d7b4280222f
  Author: lntue <lntue at google.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/src/__support/macros/optimization.h
    M libc/src/__support/math/cbrt.h
    M libc/src/__support/math/expm1.h
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/src/math/smoke/AddTest.h
    M libc/test/src/math/smoke/DivTest.h
    M libc/test/src/math/smoke/MulTest.h
    M libc/test/src/math/smoke/NextAfterTest.h
    M libc/test/src/math/smoke/NextTowardTest.h
    M libc/test/src/math/smoke/SubTest.h

  Log Message:
  -----------
  [libc][NFC] Make LIBC_MATH safer and some minor improvements for floating point exception tests. (#199392)

- Wrap LIBC_MATH usages inside parentheses
- Skip clearing exceptions when not needed.
- Skip FE_INEXACT when testing FE_UNDERFLOW / FE_OVERFLOW for basic ops.


  Commit: 118bcb3c00c18701a74bb12ecefc9353d12f6352
      https://github.com/llvm/llvm-project/commit/118bcb3c00c18701a74bb12ecefc9353d12f6352
  Author: Nishant Sachdeva <32475507+nishant-sachdeva at users.noreply.github.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:

  Log Message:
  -----------
  [NFC] Reland "[llvm-ir2vec] Place IR2Vec Python bindings in the tools/llvm-ir2vec/Bindings build directory (#194301)" (#198752)


  Commit: c0539034f37048dd534eff70486a86998f6cfb18
      https://github.com/llvm/llvm-project/commit/c0539034f37048dd534eff70486a86998f6cfb18
  Author: Berkay Sahin <berkaysahindev at gmail.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.rst
    A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-non-const-global-variables-macros.cpp

  Log Message:
  -----------
  [clang-tidy] Adds `IgnoreMacros` option to cppcoreguidelines-avoid-non-const-global-variables (#198183)

Adds `IgnoreMacros` option to
[cppcoreguidelines-avoid-non-const-global-variables](https://clang.llvm.org/extra/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.html)


  Commit: c697c1eba8bfea0d62e58ffbac5e2f5b6d7919f6
      https://github.com/llvm/llvm-project/commit/c697c1eba8bfea0d62e58ffbac5e2f5b6d7919f6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

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

  Log Message:
  -----------
  [VPlan] Remove special cost logic for loads predicated by header mask. (#196630)

Remove the special cost logic for loads predicated by the header mask,
as it does not accurately reflect the cost of the generated VPlan.

Unmasking the load can only be done in general if we don't unroll or if
the address is actually uniform-across-vf-and-uf. The former we cannot
really determine before selecting the VF as UF is picked after VF. The
latter is not really useful in practice.

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


  Commit: e4716e0c1155fc945c02fa81a1c1aa2f72dc4c6f
      https://github.com/llvm/llvm-project/commit/e4716e0c1155fc945c02fa81a1c1aa2f72dc4c6f
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/test/Transforms/InstCombine/ldexp.ll

  Log Message:
  -----------
  [ConstantFolding] Handle large exponents in ldexp (#199309)

Previously if you passed a constant exponent to llvm.ldexp greater than
the width of `int`, we would silently truncate it to `int` before
using it in scalbn.  We'd thus generate the incorrect result.

We now clamp it to fit within int.

This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.


  Commit: 46666d99e03552df59046827d86482a021c723de
      https://github.com/llvm/llvm-project/commit/46666d99e03552df59046827d86482a021c723de
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/reduction-mul-sext-zext-i1.ll

  Log Message:
  -----------
  [InstCombine] Fix vector_reduce_mul(sext <n x i1>) for odd n. (#199401)

Before this patch, instcombine folded

    vector_reduce_mul(sext (<n x i1> val))

to

    zext(vector_reduce_and(<n x i1> val)).

But this is incorrect when n is odd: The result of the reduction is -1,
not 1.

After this patch we only do this fold when n is even.

This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.


  Commit: dc9d515cf21ceddff345bbe4fa2ed8c29cefc867
      https://github.com/llvm/llvm-project/commit/dc9d515cf21ceddff345bbe4fa2ed8c29cefc867
  Author: Tomer Shafir <tomer.shafir8 at gmail.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCSchedule.h
    M llvm/lib/MC/MCSchedule.cpp
    A llvm/test/tools/llvm-mca/mc-schedule-options-help.test
    M llvm/tools/llvm-mca/llvm-mca.cpp

  Log Message:
  -----------
  [MC] Create new MCScheduleOptions cl::opt category (#198746)

This patch creates a new cl::opt category for MCSchedule options. It
enables tools to filter MCSchedule options based on category.
Specifically, llvm-mca now filters them in, and displays them under
`--help-hidden`, which wasnt the case before.


  Commit: 5be8bbaa6b424198b83cc77e260daba77d40f62b
      https://github.com/llvm/llvm-project/commit/5be8bbaa6b424198b83cc77e260daba77d40f62b
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
    A llvm/test/CodeGen/AMDGPU/coexec-rewrite-mfma.ll

  Log Message:
  -----------
  [AMDGPU] Add to RewriteMFMAForm coexec scheduler pipeline (#199050)


  Commit: 5cf392cd1335709a196d69dc5c4f3946aa718ba6
      https://github.com/llvm/llvm-project/commit/5cf392cd1335709a196d69dc5c4f3946aa718ba6
  Author: Tomer Shafir <tomer.shafir8 at gmail.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Processors.td

  Log Message:
  -----------
  [AArch64] Remove stale comment about Cyclone being a default(NFC) (#199409)

Default on macOS is already apple-m5.


  Commit: 797dc311a352017b81af81945b35772f608dcfc3
      https://github.com/llvm/llvm-project/commit/797dc311a352017b81af81945b35772f608dcfc3
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M offload/test/lit.cfg

  Log Message:
  -----------
  [offload] Fix --libomptarget-nvptx-bc-path in tests (#199382)

PR #198622, which landed as 3383f0d6fe01, causes 272 `libomptarget ::
nvptx64-nvidia-cuda` test fails on my system with:

```
clang: error: bitcode library '/home/jdenny/llvm/build/\./lib/x86_64-unknown-linux-gnu/nvptx64-nvidia-cuda' does not exist
```

This patch fixes that.


  Commit: 93bca34673694ae917af72e665f7626d5aef2f0e
      https://github.com/llvm/llvm-project/commit/93bca34673694ae917af72e665f7626d5aef2f0e
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M libcxx/include/__cxx03/istream
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.char_type.pass.cpp

  Log Message:
  -----------
  [libc++][C++03] Cherry-pick #147007 (#198991)


  Commit: 21df17aaaec2dd9dafd641c5dbfd96446c27921b
      https://github.com/llvm/llvm-project/commit/21df17aaaec2dd9dafd641c5dbfd96446c27921b
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M .github/workflows/issue-release-workflow.yml

  Log Message:
  -----------
  workflows/issue-release-workflow: Validate user input in /cherry-pick commands (#199249)

This protects against mailicious inputs embedded in comments with
/cherry-pick commands.


  Commit: db7f01dc3b3395aebd0565172107ba8045a0da05
      https://github.com/llvm/llvm-project/commit/db7f01dc3b3395aebd0565172107ba8045a0da05
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

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

  Log Message:
  -----------
  [VPlan] Simplify block deletion in VPlan dtor (NFC) (#199421)

Split deletion loop into 2 simpler loops: first replace all operands of
each recipe with a dummy value. Then delete blocks in second pass.

This avoids RAUW unnecessarily and also removes the need to handle
region values explicitly.


  Commit: d90cc1b96620b0a68eb52ad3ae0922fb075e3547
      https://github.com/llvm/llvm-project/commit/d90cc1b96620b0a68eb52ad3ae0922fb075e3547
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/libc-shared-tests.yml
    M .github/workflows/libcxx-run-benchmarks.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-doxygen.yml
    R .github/workflows/require-release-manager/action.yml
    A .github/workflows/require-team-membership/action.yml
    M clang-tools-extra/clang-doc/BitcodeWriter.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/YAMLGenerator.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-using.rst
    A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-non-const-global-variables-macros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using-ignore-extern-c.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
    M clang/cmake/caches/HLSL.cmake
    M clang/docs/LifetimeSafety.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/CodeGen/CodeGenAction.h
    A clang/include/clang/CodeGen/ModuleLinker.h
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
    M clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
    M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
    M clang/lib/CIR/FrontendAction/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenAction.cpp
    A clang/lib/CodeGen/ModuleLinker.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Headers/opencl-c.h
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Sema/OpenCLBuiltins.td
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/test/AST/ast-dump-decl.cpp
    M clang/test/CIR/CodeGen/abi-lower-after-unreachable.cpp
    M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
    M clang/test/CIR/CodeGen/dynamic-cast.cpp
    A clang/test/CIR/CodeGen/link-bitcode-file.c
    A clang/test/CIR/CodeGen/record-with-padded-union.cpp
    M clang/test/CIR/CodeGenCUDA/address-spaces.cu
    A clang/test/CIR/IR/var-registration.cir
    M clang/test/CMakeLists.txt
    M clang/test/CodeGenCXX/noescape.cpp
    M clang/test/CodeGenObjC/exceptions.m
    M clang/test/CodeGenObjC/noescape.m
    A clang/test/Driver/print-enabled-extensions/riscv-sifive-p870-d.c
    R clang/test/Driver/print-enabled-extensions/riscv-sifive-p870.c
    M clang/test/Driver/riscv-cpus.c
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/Misc/target-invalid-cpu-note/riscv.c
    A clang/test/OpenMP/unimplemented_clause_messages.cpp
    A clang/test/PCH/ftime-trace-specialization-lookup.cpp
    A clang/test/SemaOpenCL/intel-subgroup-buffer-prefetch-builtins.cl
    A clang/test/SemaOpenCL/intel-subgroup-local-block-io-builtins.cl
    A clang/test/SemaOpenCL/intel-subgroup-local-block-io-ui-without-char-short-long.cl
    A clang/test/SemaOpenCL/intel-subgroups-builtins.cl
    A clang/test/SemaOpenCL/intel-subgroups-char-builtins.cl
    A clang/test/SemaOpenCL/intel-subgroups-long-builtins.cl
    A clang/test/SemaOpenCL/intel-subgroups-short-builtins.cl
    M clang/test/SemaTemplate/concepts-lambda.cpp
    M clang/test/SemaTemplate/concepts.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/Basic/FileManagerTest.cpp
    M clang/unittests/Support/TimeProfilerTest.cpp
    M compiler-rt/lib/builtins/atomic.c
    M compiler-rt/test/builtins/Unit/atomic_test.c
    M flang-rt/cmake/modules/AddFlangRT.cmake
    M flang-rt/lib/runtime/CMakeLists.txt
    M flang-rt/lib/runtime/io-api-gpu.h
    M flang-rt/lib/runtime/io-api-server.cpp
    M flang-rt/lib/runtime/main.cpp
    M flang-rt/lib/runtime/transformational.cpp
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Runtime/io-api.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/test/Analysis/AliasAnalysis/alias-analysis-acc.mlir
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/src/__support/macros/optimization.h
    M libc/src/__support/math/cbrt.h
    M libc/src/__support/math/expm1.h
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/shared/shared_math_test.cpp
    M libc/test/src/__support/wctype/CMakeLists.txt
    M libc/test/src/math/AddTest.h
    M libc/test/src/math/CeilTest.h
    M libc/test/src/math/CopySignTest.h
    M libc/test/src/math/DivTest.h
    M libc/test/src/math/FAbsTest.h
    M libc/test/src/math/FDimTest.h
    M libc/test/src/math/FMaxTest.h
    M libc/test/src/math/FMinTest.h
    M libc/test/src/math/FloorTest.h
    M libc/test/src/math/FmaTest.h
    M libc/test/src/math/FrexpTest.h
    M libc/test/src/math/HypotTest.h
    M libc/test/src/math/ILogbTest.h
    M libc/test/src/math/LogbTest.h
    M libc/test/src/math/ModfTest.h
    M libc/test/src/math/MulTest.h
    M libc/test/src/math/NearbyIntTest.h
    M libc/test/src/math/RIntTest.h
    M libc/test/src/math/RemQuoTest.h
    M libc/test/src/math/RoundEvenTest.h
    M libc/test/src/math/RoundTest.h
    M libc/test/src/math/RoundToIntegerTest.h
    M libc/test/src/math/RsqrtTest.h
    M libc/test/src/math/SqrtTest.h
    M libc/test/src/math/SubTest.h
    M libc/test/src/math/TruncTest.h
    M libc/test/src/math/acos_test.cpp
    M libc/test/src/math/acosf_test.cpp
    M libc/test/src/math/acoshf_test.cpp
    M libc/test/src/math/acospif_test.cpp
    M libc/test/src/math/asin_test.cpp
    M libc/test/src/math/asinf_test.cpp
    M libc/test/src/math/asinhf_test.cpp
    M libc/test/src/math/asinpi_test.cpp
    M libc/test/src/math/asinpif_test.cpp
    M libc/test/src/math/atan_test.cpp
    M libc/test/src/math/atanf_test.cpp
    M libc/test/src/math/atanhf_test.cpp
    M libc/test/src/math/cbrt_test.cpp
    M libc/test/src/math/cbrtf_test.cpp
    M libc/test/src/math/cos_test.cpp
    M libc/test/src/math/cosf_float_test.cpp
    M libc/test/src/math/cosf_test.cpp
    M libc/test/src/math/coshf_test.cpp
    M libc/test/src/math/erff_test.cpp
    M libc/test/src/math/exp10f_test.cpp
    M libc/test/src/math/exp10m1f_test.cpp
    M libc/test/src/math/exp2f_test.cpp
    M libc/test/src/math/exp2m1f_test.cpp
    M libc/test/src/math/expf_test.cpp
    M libc/test/src/math/expm1f_test.cpp
    M libc/test/src/math/log10_test.cpp
    M libc/test/src/math/log10f_test.cpp
    M libc/test/src/math/log1p_test.cpp
    M libc/test/src/math/log1pf_test.cpp
    M libc/test/src/math/log2_test.cpp
    M libc/test/src/math/log2f_test.cpp
    M libc/test/src/math/log_test.cpp
    M libc/test/src/math/logf_test.cpp
    M libc/test/src/math/sin_test.cpp
    M libc/test/src/math/sincos_test.cpp
    M libc/test/src/math/sincosf_test.cpp
    M libc/test/src/math/sinf_float_test.cpp
    M libc/test/src/math/sinf_test.cpp
    M libc/test/src/math/sinhf_test.cpp
    M libc/test/src/math/smoke/AddTest.h
    M libc/test/src/math/smoke/CopySignTest.h
    M libc/test/src/math/smoke/DivTest.h
    M libc/test/src/math/smoke/FDimTest.h
    M libc/test/src/math/smoke/FMaxTest.h
    M libc/test/src/math/smoke/FMaximumMagNumTest.h
    M libc/test/src/math/smoke/FMaximumMagTest.h
    M libc/test/src/math/smoke/FMaximumNumTest.h
    M libc/test/src/math/smoke/FMaximumTest.h
    M libc/test/src/math/smoke/FMinTest.h
    M libc/test/src/math/smoke/FMinimumMagNumTest.h
    M libc/test/src/math/smoke/FMinimumMagTest.h
    M libc/test/src/math/smoke/FMinimumNumTest.h
    M libc/test/src/math/smoke/FMinimumTest.h
    M libc/test/src/math/smoke/ILogbTest.h
    M libc/test/src/math/smoke/LogbTest.h
    M libc/test/src/math/smoke/ModfTest.h
    M libc/test/src/math/smoke/MulTest.h
    M libc/test/src/math/smoke/NextAfterTest.h
    M libc/test/src/math/smoke/NextTowardTest.h
    M libc/test/src/math/smoke/RoundToIntegerTest.h
    M libc/test/src/math/smoke/SubTest.h
    M libc/test/src/math/tan_test.cpp
    M libc/test/src/math/tanf_test.cpp
    M libc/test/src/math/tanhf_test.cpp
    M libc/test/src/mathvec/expf_test.cpp
    M libc/test/utils/FPUtil/x86_long_double_test.cpp
    M libclc/test/conversion/convert.cl
    M libclc/test/geometric/cross.cl
    M libclc/test/integer/add_sat.cl
    M libclc/test/integer/sub_sat.cl
    M libclc/test/lit.cfg.py
    M libclc/test/lit.site.cfg.py.in
    M libclc/test/math/cos.cl
    M libclc/test/math/fabs.cl
    M libclc/test/math/rsqrt.cl
    M libclc/test/misc/as_type.cl
    M libclc/test/update_libclc_tests.py
    M libclc/test/work-item/get_group_id.cl
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__cxx03/istream
    M libcxx/include/__mdspan/mdspan.h
    M libcxx/include/__verbose_trap
    M libcxx/include/mdspan
    M libcxx/test/libcxx/containers/views/mdspan/nodiscard.verify.cpp
    A libcxx/test/std/containers/views/mdspan/mdspan/at.pass.cpp
    M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.char_type.pass.cpp
    A libcxx/test/std/utilities/memory/specialized.algorithms/destroy.h
    M libcxx/test/support/copy_move_types.h
    M libcxx/utils/generate_feature_test_macro_components.py
    M lld/ELF/Arch/PPC.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Arch/SystemZ.cpp
    M lld/ELF/Arch/X86.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/ICF.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/MarkLive.cpp
    M lld/ELF/RelocScan.h
    M lld/ELF/Relocations.cpp
    M lld/ELF/SymbolTable.cpp
    M lld/ELF/Symbols.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Thunks.cpp
    M lld/ELF/Writer.cpp
    M lld/ELF/Writer.h
    R lld/docs/Partitions.rst
    M lld/docs/ReleaseNotes.rst
    M lld/docs/index.rst
    R lld/docs/partitions.dot
    R lld/docs/partitions.svg
    R lld/test/ELF/partition-dynamic-linker.s
    R lld/test/ELF/partition-errors.s
    R lld/test/ELF/partition-exidx.s
    R lld/test/ELF/partition-icf.s
    R lld/test/ELF/partition-move-to-main-startstop.s
    R lld/test/ELF/partition-move-to-main.s
    R lld/test/ELF/partition-notes.s
    R lld/test/ELF/partition-pack-dyn-relocs.s
    R lld/test/ELF/partition-synthetic-sections.s
    R lld/test/ELF/partition-thunk-reuse.s
    M lld/test/ELF/partitions.s
    M lldb/include/lldb/Core/Module.h
    M lldb/source/Core/Module.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
    M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.h
    M lldb/test/API/lang/c/function_types/TestFunctionTypes.py
    A lldb/test/Shell/Commands/process-attach-dummy.test
    M lldb/test/Shell/Settings/TestCxxFrameFormatPartialFailure.test
    M lldb/test/Shell/SymbolFile/NativePDB/ast-methods.cpp
    M lldb/test/Shell/SymbolFile/PDB/ast-restore.test
    M lldb/unittests/Utility/LockedTest.cpp
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/MC/MCSchedule.h
    M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/MC/MCSchedule.cpp
    M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    A llvm/test/Analysis/CostModel/RISCV/shuffle-load.ll
    M llvm/test/Analysis/CostModel/X86/reduce-smax.ll
    M llvm/test/Analysis/CostModel/X86/reduce-smin.ll
    M llvm/test/Analysis/CostModel/X86/reduce-umax.ll
    M llvm/test/Analysis/CostModel/X86/reduce-umin.ll
    M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
    M llvm/test/Analysis/ScalarEvolution/zext-add-nsw-fold.ll
    M llvm/test/Analysis/ScalarEvolution/zext-add.ll
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
    R llvm/test/CodeGen/AArch64/aarch64-condopt-cross-block-domtree.mir
    M llvm/test/CodeGen/AArch64/avoid-free-ext-promotion.ll
    A llvm/test/CodeGen/AMDGPU/coexec-rewrite-mfma.ll
    A llvm/test/CodeGen/AMDGPU/sroa-phi-nodes.ll
    A llvm/test/CodeGen/NVPTX/nvvm-abs.ll
    M llvm/test/CodeGen/NVPTX/vaargs.ll
    M llvm/test/CodeGen/NVPTX/variadics-backend.ll
    M llvm/test/CodeGen/NVPTX/variadics-lowering.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/fixed-vectors-calling-conv.ll
    A llvm/test/CodeGen/RISCV/fixed-x27-crash.ll
    M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/ldexp-avx512.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
    M llvm/test/FileCheck/dump-input/annotations.txt
    A llvm/test/FileCheck/match-time-error-propagation/invalid-excluded-pattern.txt
    A llvm/test/FileCheck/match-time-error-propagation/invalid-expected-pattern.txt
    A llvm/test/FileCheck/match-time-error-propagation/matched-excluded-pattern.txt
    A llvm/test/FileCheck/match-time-error-propagation/matched-expected-pattern.txt
    M llvm/test/Transforms/InstCombine/fdim.ll
    M llvm/test/Transforms/InstCombine/fmod.ll
    M llvm/test/Transforms/InstCombine/ldexp.ll
    M llvm/test/Transforms/InstCombine/modular-format.ll
    M llvm/test/Transforms/InstCombine/reduction-mul-sext-zext-i1.ll
    M llvm/test/Transforms/LoopUnroll/RISCV/vector.ll
    M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-guards.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.ll
    M llvm/test/Transforms/LoopVectorize/optsize.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll
    M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smax.ll
    M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smin.ll
    M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umax.ll
    M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umin.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/commute.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/fmuladd_width_prop.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-load.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-store.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-smax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
    M llvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll
    M llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll
    A llvm/test/Transforms/SimplifyCFG/jump-threading-live-on-exit.ll
    A llvm/test/Transforms/SimplifyCFG/jump-threading-max-jump-threading-live-blocks.ll
    M llvm/test/Transforms/VectorCombine/AArch64/partial-reduce-crash.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
    M llvm/test/Transforms/VectorCombine/X86/fold-equivalent-reduction-cmp.ll
    M llvm/test/Transforms/VectorCombine/X86/fold-signbit-reduction-cmp.ll
    M llvm/test/Transforms/VectorCombine/X86/icmp-vector-reduce.ll
    M llvm/test/Verifier/modular-format.ll
    M llvm/test/Verifier/value-profile.ll
    A llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-completeness-llvm-annotation.ll
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/atomic.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/floating-point.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/integer.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/mul-div.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/arithmetic.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/bitwise.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/comparison.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/conversion.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/fma.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/fp.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/mask.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/minmax.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/mul-div.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/permutation.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/reduction.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vle-vse-vlm.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vlse-vsse.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vlseg-vsseg.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vlxe-vsxe.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvbb.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvbc.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvbc.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvkg.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvkned.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvknhb.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvksed.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvksh.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zba.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zbb.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zbs.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zfa.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zfh.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zfhmin.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zicond.test
    A llvm/test/tools/llvm-mca/mc-schedule-options-help.test
    M llvm/tools/dsymutil/DebugMap.cpp
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/tools/llvm-mca/llvm-mca.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/utils/FileCheck/FileCheck.cpp
    M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Utility/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/TargetParser/BUILD.gn
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
    M mlir/include/mlir/Dialect/NVGPU/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGroupOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/lib/Dialect/SPIRV/IR/ImageOps.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/test/Dialect/Linalg/linalg-morph-multi-step.mlir
    M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-category-ops.mlir
    M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-named-ops.mlir
    M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
    M mlir/test/Dialect/Linalg/transform-op-specialize-elemwise-binary.mlir
    M mlir/test/Dialect/SPIRV/IR/arithmetic-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/atomic-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/composite-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/group-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
    M mlir/test/Dialect/XeGPU/invalid.mlir
    M mlir/test/Dialect/XeGPU/ops.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
    A mlir/test/Integration/Dialect/XeGPU/WG/load_store_matrix.mlir
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/common/src/RPC.cpp
    M offload/plugins-nextgen/level_zero/include/L0Device.h
    M offload/plugins-nextgen/level_zero/include/L0Interop.h
    M offload/plugins-nextgen/level_zero/src/L0Device.cpp
    M offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
    M offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
    M offload/test/lit.cfg
    M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
    M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel

  Log Message:
  -----------
  Merge branch 'main' into users/meinersbur/flang_builtin-mods_3


Compare: https://github.com/llvm/llvm-project/compare/63391e9f1d30...d90cc1b96620

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