[all-commits] [llvm/llvm-project] 5b1689: [libc] Fix modular printf attributes (#194003)

Jacques Pienaar via All-commits all-commits at lists.llvm.org
Fri May 29 02:14:05 PDT 2026


  Branch: refs/heads/users/jpienaar/bcaffinemapadd
  Home:   https://github.com/llvm/llvm-project
  Commit: 5b168934d72d4f7ce6177c86bfea0961a0ccc4eb
      https://github.com/llvm/llvm-project/commit/5b168934d72d4f7ce6177c86bfea0961a0ccc4eb
  Author: Volodymyr Turanskyy <Volodymyr.Turanskyy at arm.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/SemaCXX/attr-modular-format.cpp
    M libc/include/llvm-libc-macros/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix modular printf attributes (#194003)

This fixes the validation error related to modular printf missing format attribute in C++ code by moving the validation after the implicit format attribute is added for builtins and known library functions.

This also adds a simple C++ test since the C code did compile successfully because the implicit attributes were added in time for the validation happening for C code.

Assisted-by: codex, reviewed and cross checked, also tested with ATfE,
by me. Modular printf reduced code size from ~37K to ~13K for int-only
printf sample.


  Commit: 46ac7a66f96e4e284d4729f665bd1c3adcb7a9e5
      https://github.com/llvm/llvm-project/commit/46ac7a66f96e4e284d4729f665bd1c3adcb7a9e5
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/extractelements-vector-ops-shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder-non-empty.ll

  Log Message:
  -----------
  Revert "[SLP] Support ordered fadd reduction via reduction intrinsics" (#198756)

This caused assertion failures, see discussion on the original PR.

Reverts llvm/llvm-project#189451


  Commit: 7af7cb067ae6a18fef318c48414f2f7035cf2cce
      https://github.com/llvm/llvm-project/commit/7af7cb067ae6a18fef318c48414f2f7035cf2cce
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/IR/Constants.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/CSKY/CSKYInstrInfoF1.td
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/Mips/MipsInstrFPU.td
    M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
    M llvm/lib/Target/Sparc/SparcInstrVIS.td
    M llvm/lib/Target/SystemZ/SystemZOperands.td
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td

  Log Message:
  -----------
  [LLVM][ConstantFP] Replace uses of isExactlyValue(+/-0.0) with isPosZero/isNegZero. (#198496)


  Commit: 77cdd6c20e760e43536c4cd60add852e27cc39e2
      https://github.com/llvm/llvm-project/commit/77cdd6c20e760e43536c4cd60add852e27cc39e2
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedA64FX.td
    M llvm/test/tools/llvm-mca/AArch64/A64FX/A64FX-sve-instructions.s

  Log Message:
  -----------
  [AArch64] Fix fmaxv/fminv/fmaxnmv/fminnmv/lasta/lastb sched info in A64FX (#198483)

I've been experimenting with a new TableGen warning on unused defs and
it found a couple bugs in the A64FX scheduling model [1]:

llvm/lib/Target/AArch64/AArch64SchedA64FX.td:2288:5: warning: def
'A64FXWrite_FMAXVD' appears to be unused
llvm/lib/Target/AArch64/AArch64SchedA64FX.td:2334:5: warning: def
'A64FXWrite_LAST_R' appears to be unused

It looks like similarly named defs were used where they should have been
and the microarchitecture manual [2] seems to confirm it.

[1] https://raw.githubusercontent.com/c-rhodes/llvm-project/860eb23fae9bd40b36bcc56534f3d43b36522173/tblgen-unused-defs-warnings.unique.txt
[2] https://github.com/fujitsu/A64FX/blob/master/doc/A64FX_Microarchitecture_Manual_en_1.8.pdf


  Commit: b588ad80236770822c1f815fdabaf6a9e4d53b09
      https://github.com/llvm/llvm-project/commit/b588ad80236770822c1f815fdabaf6a9e4d53b09
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M flang/test/Integration/OpenMP/atomic-compare.f90

  Log Message:
  -----------
  [Flang][tests] Add a missing REQUIRES. (#198753)

A newly added test uses `x86_64-unknown-linux-gnu` as a triple, without
a `REQUIRES: x86-registered-target` line, so that it will fail in builds
of LLVM specific to other architectures.


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

  Changed paths:
    M llvm/test/CodeGen/X86/sad.ll
    M llvm/test/CodeGen/X86/sad_variations.ll
    A llvm/test/Transforms/PhaseOrdering/X86/sad.ll
    A llvm/test/Transforms/PhaseOrdering/X86/sad_variations.ll

  Log Message:
  -----------
  [X86] Update PSADBW tests to more closely match middle-end vector.reduce.add codegen (#198760)

The middle-end will detect vector.reduce.add patterns - update the
Codegen tests to use the intrinsics directly and add PhaseOrdering tests
to ensure vector.reduce.add intrinsics are created


  Commit: 3e15a195d344c7cc487dffebbaf2b18779ff801b
      https://github.com/llvm/llvm-project/commit/3e15a195d344c7cc487dffebbaf2b18779ff801b
  Author: Piotr Balcer <piotr.balcer at intel.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

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

  Log Message:
  -----------
  [Offload] fix OffloadAPI unittests discovery (#198750)

Commit 3383f0d repointed LIBOMPTARGET_LIBRARY_DIR to a different
runtimes lib dir, but the unit lit config still derived the unittest
binary path from it. Pass the unittest directory explicitly instead.


  Commit: 545b328758cbf2162093518628579ab1a6d676c2
      https://github.com/llvm/llvm-project/commit/545b328758cbf2162093518628579ab1a6d676c2
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

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

  Log Message:
  -----------
  [VPlan] Strip VPRecipeBase::isScalarCast (NFC) (#197695)

This is done in preparation to consolidate more recipes into
VPInstruction.


  Commit: 068c6c5c0c8a0555036a2ff09a99f486548e6e8d
      https://github.com/llvm/llvm-project/commit/068c6c5c0c8a0555036a2ff09a99f486548e6e8d
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h

  Log Message:
  -----------
  [mlir][tosa] Remove unused `MulOperandsAndResultElementType` trait (#197968)

Removes an unused trait implementation.


  Commit: 51279e7e0527a5dee6a5066521e16bc7ae26037d
      https://github.com/llvm/llvm-project/commit/51279e7e0527a5dee6a5066521e16bc7ae26037d
  Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/test/Analysis/bstring_UninitRead.c

  Log Message:
  -----------
  [analyzer] Fix false positive in CStringChecker for offset buffer arg… (#198346)

…uments

CStringChecker::checkInit() was checking the wrong array elements when
the buffer argument pointed into the middle of an array (e.g.,
memcpy(dst, &arr[i], size)). It was called with BufEnd instead of
BufStart, making the ElementRegion index off by (size-1), and the
element lookups were relative to array index 0 instead of the actual
buffer start offset.


  Commit: 960d0e4644464cf81a4ad2c90699d901e8adf650
      https://github.com/llvm/llvm-project/commit/960d0e4644464cf81a4ad2c90699d901e8adf650
  Author: Adel Ejjeh <adel.ejjeh at amd.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
    M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
    M llvm/lib/Target/AMDGPU/SIProgramInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/test/CodeGen/AMDGPU/inst-prefetch-hint.ll
    A llvm/test/CodeGen/AMDGPU/inst-prefetch-inline-asm.ll

  Log Message:
  -----------
  Reland "[AMDGPU] Account for inline asm size in inst_pref_size calculation" (#197227)

This relands commit 7ddee0b619f658cef905a69427ef9531fd1d229d (PR
#192306) which was reverted in 70a70e0ed664 (#197070) due to a missing
MC assembler parser case for the `instprefsize` MCExpr, breaking text
assembly roundtrip tests.

Fix:

- Add `"instprefsize"` to the `StringSwitch` in
`AMDGPUAsmParser::parsePrimaryExpr` so the MC assembler can parse
`instprefsize(...)` expressions emitted by `llc` in text assembly mode.
- Add roundtrip lit tests (`llc -filetype=asm | llvm-mc -filetype=obj |
llvm-objdump`) for both GFX11 and GFX12 to prevent regressions.

Confirmed by compiling the new lit test using the original commit that
it was failing and passes now.

_Original PR description_

> `SIProgramInfo::getFunctionCodeSize()` with `IsLowerBound=true` was
completely skipping inline assembly instructions, treating them as zero
bytes. This caused `amdhsa_inst_pref_size` to be severely underestimated
for kernels containing inline asm, defeating instruction prefetch on
gfx11+.
> 
> Use MCExpr label subtraction (`.Lfunc_end - func_sym`) to compute
exact function code size, resolved at assembly time. Add a new
`AMDGPUMCExpr` variant (`AGVK_InstPrefSize`) to compute
`min(divideCeil(codeSize, cacheLineSize), maxFieldVal)`.
> 
> Remove the `IsLowerBound` parameter from `getFunctionCodeSize()` as it
is no longer needed.

Assisted-by: Claude Code Opus.


  Commit: e83f597dc3817e7017d867bc6cdecf7a3ff34846
      https://github.com/llvm/llvm-project/commit/e83f597dc3817e7017d867bc6cdecf7a3ff34846
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection_and_console.py
    M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py

  Log Message:
  -----------
  [lldb-dap][windows] skip runInTerminal related tests (#198764)

The following tests fail at desk. This is likely a regression introduced
by
https://github.com/llvm/llvm-project/commit/a614cd391a402c8682c7b4781121eab07da09ec7.
Skip the tests on Windows to unblock the bots.

https://github.com/llvm/llvm-project/issues/198763


  Commit: f9585141ff3bc78ae7830c9f39ce562d660c5065
      https://github.com/llvm/llvm-project/commit/f9585141ff3bc78ae7830c9f39ce562d660c5065
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/test/CIR/CodeGen/call.cpp

  Log Message:
  -----------
  [CIR] Lower calling through a variable (#198672)

We managed to miss a condition when lowering emitCallee, where a
DeclRefExpr referenced a function object. This patch adds that
condition, which will result in these being lowered properly as an
indirect call.


  Commit: 8e868c589e79724402bc2d8ffd6fb919aace7ca3
      https://github.com/llvm/llvm-project/commit/8e868c589e79724402bc2d8ffd6fb919aace7ca3
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

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

  Log Message:
  -----------
  [VPlan] Fix convoluted logic in simpl ext-last-lane (#196355)

Checking the users is unnecessary; if it is single-scalar, it means the
same value is splatted across all lanes. Also, the transformation does
not depend on the Plan being unrolled.


  Commit: 720065512309a7514b4eafcf13fd4764e0189107
      https://github.com/llvm/llvm-project/commit/720065512309a7514b4eafcf13fd4764e0189107
  Author: Łukasz Plewa <lukasz.plewa at intel.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M offload/plugins-nextgen/level_zero/src/L0Device.cpp

  Log Message:
  -----------
  [offload][l0] Clear delayed copy lists after the copy (#198786)


  Commit: 5c6c424a50b840a39a6410a490af668a26d3a97a
      https://github.com/llvm/llvm-project/commit/5c6c424a50b840a39a6410a490af668a26d3a97a
  Author: Alan Li <me at alanli.org>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
    M mlir/unittests/Dialect/MemRef/CMakeLists.txt
    A mlir/unittests/Dialect/MemRef/MemRefUtilsTest.cpp

  Log Message:
  -----------
  [mlir/memref] handle rank-0 contiguous check (#198541)


  Commit: 8ef411a3bc9d1820144211883f795446fde71386
      https://github.com/llvm/llvm-project/commit/8ef411a3bc9d1820144211883f795446fde71386
  Author: Dmitry Chigarev <dmitry.chigarev at intel.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
    M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
    M mlir/test/Dialect/XeGPU/xegpu-unroll-patterns.mlir
    M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp

  Log Message:
  -----------
  [MLIR][XeGPU] Avoid chained-reductions in multi_reduction unrolling (#198307)

The PR adds a new unrolling pattern for `vector.multi_reduction` to the
`xegpu-blocking` pass. In comparison with [the upstream reduction
unrolling](https://github.com/llvm/llvm-project/blob/2da84a8307e4ef729458d990b221650a5da22639/mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp#L372),
the new pattern performs partial row-wise reductions via elementwise
ops, instead of generating a chain of several multi-reduction ops:
```mlir
// reduction to unroll:
// tile-shape: [8x16]
vector.multi_reduction <add> %vec, %cst : vector<8x48xf32> to vector<8xf32>

// upstream unrolling:
%3 = vector.multi_reduction <add>, %tile_0, %cst [1] : vector<8x16xf32> to vector<8xf32>
%4 = vector.multi_reduction <add>, %tile_1, %3 [1] : vector<8x16xf32> to vector<8xf32>
%5 = vector.multi_reduction <add>, %tile_2, %4 [1] :  vector<8x16xf32> to vector<8xf32>

// new xegpu-unrolling
%3 = arith.addf %tile_0, %tile_1 : vector<8x16xf32>
%4 = arith.addf %3, %tile_2 : vector<8x16xf32>
%5 = vector.multi_reduction <add>, %4, %cst [1] : vector<8x16xf32> to vector<8xf32>
```

---------

Signed-off-by: dchigarev <dmitry.chigarev at intel.com>


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

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

  Log Message:
  -----------
  [Bazel] Fixes 5c6c424 (#198787)

This fixes 5c6c424a50b840a39a6410a490af668a26d3a97a.

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


  Commit: 68908a79815cc14fac8da46944bc25b3b429ef55
      https://github.com/llvm/llvm-project/commit/68908a79815cc14fac8da46944bc25b3b429ef55
  Author: Marco Elver <elver at google.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/docs/AllocToken.rst
    A clang/test/CodeGen/alloc-token-inline.c
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    A llvm/test/Transforms/Inline/alloc-token.ll

  Log Message:
  -----------
  [AllocToken] Propagate !alloc_token through inlined allocation wrappers (#198535)

Simple inline allocation wrappers have been preventing AllocToken
coverage for such callsites. Instead of converting such inline wrappers
to macros, we can support covering standard allocation calls in inline
allocation wrappers when inlined.

When an allocation wrapper with malloc/alloc_size attributes is inlined,
propagate its call-site !alloc_token onto return-value producing calls
exposed by inlining, so the late AllocToken pass assigns the correct
type-derived token even in default (non-extended) mode.

Propagation is restricted to calls producing the return-value(s) that
the wrapper actually returns. This keeps unrelated calls in the wrapper
body unchanged, which matters under -fsanitize-alloc-token-extended,
where any !alloc_token-carrying call is instrumented.


  Commit: b94985eb7da037df3e220e5d31febe138726197e
      https://github.com/llvm/llvm-project/commit/b94985eb7da037df3e220e5d31febe138726197e
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    A flang/test/Transforms/simplifyintrinsics-maxloc-loc.fir

  Log Message:
  -----------
  [flang] Propagate call-site location into `SimplifyIntrinsics` `minmaxloc` body (#198732)

`genRuntimeMinMaxlocBody` used a hard-coded `UnknownLoc` for all
generated ops, including the `fir.do_loop`. After `FIRToSCF` converts it
to `scf.for`. Fix by threading the `maxloc` call-site location through
the `bodyGenerator` lambda into `genRuntimeMinMaxlocBody`.

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>


  Commit: 99c621cd7ee3a77383d1d7e9cfb48d2cd50100ad
      https://github.com/llvm/llvm-project/commit/99c621cd7ee3a77383d1d7e9cfb48d2cd50100ad
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    R flang/test/Driver/Inputs/ieee_arithmetic.mod
    R flang/test/Driver/Inputs/iso_fortran_env.mod
    M flang/test/Driver/intrinsic-module-path.f90
    M flang/tools/bbc/bbc.cpp

  Log Message:
  -----------
  [Flang][bbc] Add support for -fintrinsic-module-path (#198565)

Add support for -fintrinsic-module-path to bbc. With #196558 the default
search path in the resource directory is determined by the driver, not
by the frontend (-fc1 and bbc). For tests of either frontend the tests
will need to append the search path themselves. Adding support for
`-fintrinsic-module-path` will allow using the same additional argument
for flang_fc1 and bbc tests.

Also rewriting the awkward tests that expect standard modules to fail
only because they do not contain a checksum. Maintaining this way of
testing became burdonsome because there are multiple ways of how default
modules are resolved. Fixing one breaks another.

Extracted out of #171515 to make that patch a bit smaller.

---------

Co-authored-by: Tarun Prabhu <tarun at lanl.gov>


  Commit: 8a1475679cf961f9bbeb183a8d67fb9102fe11b5
      https://github.com/llvm/llvm-project/commit/8a1475679cf961f9bbeb183a8d67fb9102fe11b5
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/test/CodeGen/AArch64/clmul-scalable.ll

  Log Message:
  -----------
  [AArch64][ISel] Improve lowering for clmul.nxv8i16(zext, zext) (#197503)

Since only the lower bits of the clmul operands are non-zero, we can
just use pmullb for simpler lowering. This enables optimal lowering for
targets that have +sve2 or +sme in the i16 and i64 cases.


  Commit: 407952d149f8dad71d4f4a07d00bd24c33b81d08
      https://github.com/llvm/llvm-project/commit/407952d149f8dad71d4f4a07d00bd24c33b81d08
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/CUDA/cuda-doconc.cuf

  Log Message:
  -----------
  [CUF] Fix `do concurrent` PFT navigation in `cuf.kernel` lowering (#198585)

When lowering a cuf kernel directive with an explicit loop depth (e.g.
`do(2)`), the code navigated `nestedLoops-1` levels deeper in the PFT
expecting nested regular do-loops. For a `do concurrent` construct with
multiple index variables (e.g. `do concurrent(i=1:k,j=1:n)`), the PFT
represents the entire construct as a single node, so the extra
navigation stepped off into a plain statement with no nested evaluations
and triggered an assertion in `getNestedEvaluations()`.

Fix by skipping the depth navigation loop for `do concurrent`, which is
always a single flat PFT construct regardless of how many index
variables it declares.

PR stack:
- https://github.com/llvm/llvm-project/pull/198584 
- https://github.com/llvm/llvm-project/pull/198585 ◀️

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>


  Commit: dad32c83e5248803030a8600d6f3e822f58fbdd3
      https://github.com/llvm/llvm-project/commit/dad32c83e5248803030a8600d6f3e822f58fbdd3
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/include/llvm/DWP/DWP.h
    R llvm/include/llvm/DWP/DWPStringPool.h
    M llvm/lib/DWP/DWP.cpp
    M llvm/tools/llvm-dwp/llvm-dwp.cpp

  Log Message:
  -----------
  [DWP] Stop storing DWPStringPool strings in Buffer (#198678)

When we can just write it out. This decreases peak memory usage of
llvm-dwp on clang debug info from ~800MB to ~350MB without measurable
performance changes.

Also remove DWPStringPool.h to avoid circular headers. It wasn't doing
anything anyway...


  Commit: 64f5eaf3a341c64608a90a75b5d2d9f01b53ef63
      https://github.com/llvm/llvm-project/commit/64f5eaf3a341c64608a90a75b5d2d9f01b53ef63
  Author: Max Graey <maxgraey at gmail.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/test/Dialect/Arith/canonicalize.mlir

  Log Message:
  -----------
  [MLIR][Arith] Partially fold and / or / xor const triples (#195588)

```
  (x & c1) & c2  -->  x & (c1 & c2)
  (x | c1) | c2  -->  x | (c1 | c2)
  (x ^ c1) ^ c2  -->  x ^ (c1 ^ c2)
  ```

Proofs:
- [(x & c1) & c2  -->  x & (c1 & c2)](https://alive2.llvm.org/ce/z/VdSbpp)
- [(x | c1) | c2  -->  x | (c1 | c2)](https://alive2.llvm.org/ce/z/vbA5NZ)
- [(x ^ c1) ^ c2  -->  x ^ (c1 ^ c2)](https://alive2.llvm.org/ce/z/t_7v_h)

Co-authored-by: Claude Opus 4.6 (1M context) [noreply at anthropic.com](mailto:noreply at anthropic.com)


  Commit: 013b87ee4a5ae9c8eddec10e29bba53c96399856
      https://github.com/llvm/llvm-project/commit/013b87ee4a5ae9c8eddec10e29bba53c96399856
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M libcxx/include/__memory/pointer_traits.h

  Log Message:
  -----------
  [libc++] Simplify the implementation of to_address a bit (#198256)


  Commit: 74c8db9a173bf5420ed9731ca7d027dafbb64794
      https://github.com/llvm/llvm-project/commit/74c8db9a173bf5420ed9731ca7d027dafbb64794
  Author: Ayush Kumar Gaur <ayushkgaur1 at gmail.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_untyped.c
    R clang/test/CodeGen/AArch64/neon-scalar-copy.c
    M clang/test/CodeGen/AArch64/neon-vget.c
    A clang/test/CodeGen/AArch64/neon/getset.c
    M clang/test/CodeGen/AArch64/poly64.c

  Log Message:
  -----------
  [CIR][AArch64] Upstream Neon vget_lane/vgetq_lane builtins (#186119)

part of #185382 
This patch upstreams handling of AArch64 Neon extract-lane builtins in
ClangIR, covering the vget_lane_* and vgetq_lane_* .

It also migrates the corresponding AArch64 Neon CodeGen tests under the
neon test directory for CIR coverage.

---------

Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>


  Commit: 6caca50eca58d8f3eeed5653ab77ccf8e1f9a153
      https://github.com/llvm/llvm-project/commit/6caca50eca58d8f3eeed5653ab77ccf8e1f9a153
  Author: Yury Plyakhin <yury.plyakhin at intel.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/test/Tooling/clang-sycl-linker-split-mode.ll
    A clang/test/Tooling/clang-sycl-linker-triple.ll
    M clang/test/Tooling/clang-sycl-linker.ll
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp

  Log Message:
  -----------
  [clang-sycl-linker] Infer target triple from input bitcode (#198036)

Previously clang-sycl-linker required `-triple=` on the command line and
errored out if it was missing. This is unnecessary requirement,
since LLVM bitcode modules already carry a target triple in
their metadata.

Resolve the triple in this order:
1. `-triple=` on the command line, if given.
2. Input bitcode's `target triple` metadata, if exists.
3. Otherwise, error out.

When inputs disagree with the resolved triple, emit an error.
Triple discovery is folded into the existing input
loop in `linkDeviceCode`, so no extra I/O pass over the bitcode files.

Update the test to drop redundant `-triple=spirv64` flags and add
coverage for inference, mismatch errors, the triple recorded in
the offload image, and the no-triple error path.

Addresses:
https://github.com/llvm/llvm-project/pull/197566#discussion_r3238056239

Co-Authored-By: Claude


  Commit: 19b19f5ff93c0620b70889e1a5207053861f7f9b
      https://github.com/llvm/llvm-project/commit/19b19f5ff93c0620b70889e1a5207053861f7f9b
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    R libcxx/test/libcxx-03/iterators/contiguous_iterators.verify.cpp

  Log Message:
  -----------
  [libc++][C++03] Remove contiguous_iterators.verify.cpp (#198816)

We've removed the `static_assert` being tested here in `__bounded_iter`,
and the C++03 headers don't provide `__static_bounded_iter`, so there is
nothing left to test.


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

  Changed paths:
    M lldb/docs/use/mcp.md

  Log Message:
  -----------
  [lldb] Document lldb-mcp helper for MCP clients (#198675)

Replace the netcat-based MCP client setup with lldb-mcp, the helper
binary that bridges stdio to LLDB's MCP server socket. lldb-mcp
auto-discovers a running server and will launch lldb itself when none is
running, so clients no longer need to hard-code a port or manage the
server lifecycle.


  Commit: f48ecab9ad18b5da1fba5f1e608b9cab35c74563
      https://github.com/llvm/llvm-project/commit/f48ecab9ad18b5da1fba5f1e608b9cab35c74563
  Author: Xavier Roche <xavier.roche at algolia.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
    M llvm/test/CodeGen/RISCV/musttail-call.ll
    A llvm/test/CodeGen/RISCV/musttail-indirect-args.ll
    A llvm/test/CodeGen/RISCV/rvv/musttail-indirect-args.ll

  Log Message:
  -----------
  [RISCV] Fix musttail with indirect arguments by forwarding incoming pointers (#185094)

When a `musttail` call passes arguments indirectly (fp128 on RV32, i128
on RV32), the backend allocates a stack temporary and hands the callee a
pointer. The tail call deallocates the caller's frame, and the pointer
dangles.

Fix by forwarding the incoming indirect pointers instead. They point to
the caller's caller's frame, which stays valid after the tail call.
Forwarded formal parameters reuse the pointer directly; computed values
get stored into the incoming buffer first.

The pointers are saved in virtual registers (`CopyToReg`/`CopyFromReg`)
rather than SDValues. The SelectionDAG is cleared between basic blocks
and musttail calls can appear in non-entry blocks, so storing raw
SDValues across BBs is unsound (this was the bug that led to the revert
in 501417baa60f). The vreg save only fires when the function has
musttail calls; other functions see no codegen change.

Non-musttail tail calls with indirect args are still rejected.

Fixes #185089.

## AI Disclosure

This patch was developed with assistance from Claude (Anthropic). All
code has been reviewed and validated by the author.

---------

Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>


  Commit: 45c1f5e9f76a19e24b25817c77028ab8af59c900
      https://github.com/llvm/llvm-project/commit/45c1f5e9f76a19e24b25817c77028ab8af59c900
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M lldb/source/Plugins/Platform/WebAssembly/PlatformWebInspectorWasm.cpp

  Log Message:
  -----------
  [lldb] Fall back to FindProcesses in webinspector-wasm GetProcessInfo (#198700)

The webinspector-wasm platform server implements bulk process
enumeration but not per-pid lookup, so PlatformWasm::GetProcessInfo
returns false for every pid. SBTarget::Attach treats that as "no such
process" and bails out before reaching Target::Attach, breaking
attach-by-pid from SB-API callers including lldb-dap. (The CLI's
`process attach` invokes Target::Attach directly and isn't affected.)

When the per-pid query returns nothing, fall back to the bulk
FindProcesses query and locate the matching pid in its result.


  Commit: cdde6b77c155cb82f2648c0a148a6ed46f07de40
      https://github.com/llvm/llvm-project/commit/cdde6b77c155cb82f2648c0a148a6ed46f07de40
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/test/Shell/helper/toolchain.py

  Log Message:
  -----------
  [lldb][windows] emit a warning if the test target's path exceeds Windows' limit (#198743)

Windows' `MAX_PATH` is 256 characters. Anything longer than that can
cause test failures.

This patch adds a warning when executing API and Shell tests if the
build directory of the test target or the test target itself have paths
that are longer than 256 characters.

rdar://177509534


  Commit: 9d0fa609a5b797166941ab45272ecc6b1b9d7091
      https://github.com/llvm/llvm-project/commit/9d0fa609a5b797166941ab45272ecc6b1b9d7091
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/extractelements-vector-ops-shuffle.ll
    A llvm/test/Transforms/SLPVectorizer/X86/ordered-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder-non-empty.ll

  Log Message:
  -----------
  [SLP] Support ordered fadd reduction via reduction intrinsics

Add matchOrderedReduction() to recognize linearized ordered fadd chains
(both LHS- and RHS-associated) and tryToReduceOrdered() to vectorize
them using ordered reduction intrinsics (llvm.vector.reduce.fadd).

Previously, the SLP vectorizer could only vectorize ordered reductions
by keeping the original scalar chain and emitting extractelement
instructions. The new path replaces the scalar chain with a vector
ordered reduction intrinsic (where profitable), which allows the backend to lower it
more efficiently.

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

Recommit after revert in https://github.com/llvm/llvm-project/pull/198756

Reviewers: 

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


  Commit: ee71c4389c83559cf1922be2be3cc75f676db581
      https://github.com/llvm/llvm-project/commit/ee71c4389c83559cf1922be2be3cc75f676db581
  Author: Joshua Rodriguez <josh.rodriguez at arm.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
    M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
    M llvm/test/CodeGen/AArch64/arm64-vmul.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Add support for scalar sqdmulh intrinsic (#198749)

SQDMULH - Signed Saturated MUltiply, with result being Lower Half of the
calculated value.

Previously, the scalar version of this intrinsic was failing to lower,
because the RegBankSelect phase was attempting to put the source and
destination values (i32s) on general purpose register banks. As NEON
intrinsics aren't supported on GPR, change RegBankInfo to place all
source and destination values onto FPR.


  Commit: 0ee1cbcea1e3e8b000d13e633d0060128851e036
      https://github.com/llvm/llvm-project/commit/0ee1cbcea1e3e8b000d13e633d0060128851e036
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M libcxx/include/__cxx03/__bit_reference
    M libcxx/test/std/containers/sequences/vector.bool/reference/builtin_address_of.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/reference.builtin_address_of.pass.cpp

  Log Message:
  -----------
  [libc++][C++03] Back-port #188714 (#198798)


  Commit: 48e8a2c7fa475712a44ad4cca5ea55b8e6cc5252
      https://github.com/llvm/llvm-project/commit/48e8a2c7fa475712a44ad4cca5ea55b8e6cc5252
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M libcxx/include/__cxx03/__iterator/bounded_iter.h
    M libcxx/include/__cxx03/__iterator/wrap_iter.h
    M libcxx/test/libcxx-03/iterators/contiguous_iterators.conv.compile.pass.cpp

  Log Message:
  -----------
  [libc++][C++03] Cherry-pick #115271 (#198804)


  Commit: 7ec240efbc861a1998799ff7881be7e3c3dd9ce0
      https://github.com/llvm/llvm-project/commit/7ec240efbc861a1998799ff7881be7e3c3dd9ce0
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M libcxx/include/__cxx03/complex
    M libcxx/test/libcxx-03/numerics/complex.number/cmplx.over.pow.pass.cpp

  Log Message:
  -----------
  [libc++][C++03] Cherry-pick #110235 (#198805)


  Commit: 2315381d7112a1349e12d799916b4fc30c353b04
      https://github.com/llvm/llvm-project/commit/2315381d7112a1349e12d799916b4fc30c353b04
  Author: Valery Dmitriev <valeryd at nvidia.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/array-coor.fir
    M flang/test/Fir/arrexp.fir
    M flang/test/Fir/convert-to-llvm.fir
    M flang/test/Fir/tbaa-codegen.fir
    M flang/test/Fir/tbaa-codegen2.fir
    M flang/test/Fir/tbaa.fir

  Log Message:
  -----------
  [flang] Do not set nuw  flag on mul/add/getelementptr when lowering array_coor from a box base. (#198014)

This change is aimed to fix an issue that can be seen with the following
example, based on a test case reported in issue #197393:

subroutine s2(n1)
  implicit none
  integer :: n1, c(-5:-1)

  associate(w => c(-1:-5:-n1))
    w(n1:5:1) = 3
  end associate
  if (any(c /= 3)) print *, 'error', c
end subroutine s2
call s2(1)

The problem is that base pointer in a box can actually point at the end of array, which means that in order to access array elements offsets are going to be negative. That in turn means that nuw flag can't be set as
it results in poison from that GEP. Similar issue fixed with mul/add that are part of offset calculation fed into the GEP.

Fixes issue #197393.


  Commit: b13cda40072e84e9cbe8e990bf54a342de461aeb
      https://github.com/llvm/llvm-project/commit/b13cda40072e84e9cbe8e990bf54a342de461aeb
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/Address.h
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    A clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
    A clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp

  Log Message:
  -----------
  [CIR] Hoist allocas out of deferred conditional cleanup scopes (#198680)

When a temporary alloca is created for an aggregate inside a conditional
cleanup, the alloca will also be referenced in the cleanup region of the
cleanup scope operation enclosing the conditional expression. In order
to guarantee that the alloca dominates the cleanup region, the alloca
must be hoisted out of the cleanup scope.

After CFG flattening, any allocas created at the beginning of the
cleanup scope's body region would, technically, dominate the cleanup
region, but because we can exit in the middle of the body region (via an
exception) the body region itself does not dominate the cleanup region,
and so the verifier considers any allocas within the body region as not
dominating the cleanup region.

This change looks for allocas within a deferred cleanup scope and hoists
them out of the cleanup scope before the cleanup region is populated.

Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh


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

  Changed paths:
    M flang-rt/CMakeLists.txt
    M flang-rt/lib/runtime/CMakeLists.txt
    A flang-rt/lib/runtime/iso_fortran_env_impl.cpp
    A flang-rt/test/Driver/compare_iso_fortran_env_symbols.f90
    A flang-rt/test/Driver/iso_fortran_env_impl.f90
    M flang/include/flang/Common/type-kinds.h
    M flang/module/iso_fortran_env_impl.f90

  Log Message:
  -----------
  [flang-rt] Implement iso module in C++ in the runtime (#197687)

Summary:
Right now we have a very heavy dependency on `flang` for a single module
file. The flang build will handle creating the actual module file, we
just need to export the symbols. This PR ports the source file from the
flang .f90 to equivalent C++. This allows us to build `flang-rt`
standalone without bringing in the entire flang infrastructure, which is
by far the heaviest build in the entire LLVM project.

I verified the symbols and values against a previous build, so they are
identical.


  Commit: 986b61610ae648efd07f22a3ff7c76cd6384ccb0
      https://github.com/llvm/llvm-project/commit/986b61610ae648efd07f22a3ff7c76cd6384ccb0
  Author: Gil Rapaport <gil.rapaport at mobileye.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/include/mlir/Dialect/EmitC/IR/EmitCAttributes.td
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Target/Cpp/class.mlir

  Log Message:
  -----------
  [mlir][emitc] Support struct and union definition (#198198)

This patch extends the `emitc.class` op to define structs and unions in
addition to classes using a new enum attribute with the values:
- class_  (class,  value 0) -- default
- struct_ (struct, value 1)
- union_  (union,  value 2)
    
Class op now takes an optional class_type, defaulting to `class`. The
attribute is printed to the assembly only when it differs from the
default, retaining current semantics, e.g.:

      emitc.class @Foo { ... }          // class (default, omitted)
      emitc.class struct @Foo { ... }   // struct
      emitc.class union @Foo { ... }    // union
      emitc.class struct final @Foo {}  // struct + final

The translator emits the class_type instead of the previously hard-coded
`class`, and for `class` types also emits `public:` inside the body,
retaining the current 'all-public classes' behavior of `emitc.class`.

Assisted-by: Copilot


  Commit: b004f7efe73747b4207373519b092d128f78670e
      https://github.com/llvm/llvm-project/commit/b004f7efe73747b4207373519b092d128f78670e
  Author: AbdallahRashed <63146988+AbdallahRashed at users.noreply.github.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    A clang/test/CIR/CodeGen/vla-pointer-arith.c

  Log Message:
  -----------
  [CIR][CodeGen] Support VLA pointer arithmetic (#196837)

Implement pointer arithmetic on variable-length array types in CIR
codegen, removing two NYI diagnostics:

1. Binary pointer arithmetic (p + i, p - i) where the pointee is a VLA:
multiply the index by the runtime VLA size before emitting PtrStrideOp.

2. Unary increment/decrement (p++, p--) on pointers to VLA types: stride
by the VLA element count, negating for decrement.

Fixes #192318


  Commit: 19b89aca11fe13a6ffc0d1b361bc261444976432
      https://github.com/llvm/llvm-project/commit/19b89aca11fe13a6ffc0d1b361bc261444976432
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll

  Log Message:
  -----------
  [AMDGPU] Only fold mul24+add into V_MAD_U64_U32 when operands fit in 24 bits (#198729)

V_MAD_U64_U32 does a full 32x32 multiply, but AMDGPUmul_u24 only uses
the low 24 bits. simplifyMul24 strips outer AND masks, so the fold can
silently include nonzero bits 24-31 that should not actually have any
impact on the result


  Commit: 4b93c1be7ea580ca0b92cc1b266060c6f691981f
      https://github.com/llvm/llvm-project/commit/4b93c1be7ea580ca0b92cc1b266060c6f691981f
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M .github/workflows/unprivileged-download-artifact/action.yml

  Log Message:
  -----------
  [workflows] Dedupe artifacts by name in unprivileged-download-artifact (#198792)

Manual workflow rerun uploads fresh artifacts alongside the old ones
with the same name. And as a result, PR comments regarding the tests
status are not updated.

Example: https://github.com/llvm/llvm-project/pull/198766 - CI is
passing after reruns (there was a sporadic issue), but the comments
after rerun are not updated


  Commit: 313ab4dc3b3a5f4c14079c82806c1f28975f724f
      https://github.com/llvm/llvm-project/commit/313ab4dc3b3a5f4c14079c82806c1f28975f724f
  Author: Raul Tambre <raul at tambre.ee>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  Revert "[cmake][runtimes] Pass variable type for passthrough CMake options" (#198739)

Reverts llvm/llvm-project#198505 per breakage reported in
https://github.com/llvm/llvm-project/pull/198505#issuecomment-4496493320


  Commit: 68a17064601629efa8e9167b6cc8680c68964fc7
      https://github.com/llvm/llvm-project/commit/68a17064601629efa8e9167b6cc8680c68964fc7
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/predicated-single-exit.ll

  Log Message:
  -----------
  [LV] Fix dead early exit in test. NFC (#198813)

The early exit in this test is dead because the predicated block's
condition (< 0) means the exit cond (== 1) can't be met.


  Commit: a5cee6c357c50ab7ce42189e24d1980a5b053e0f
      https://github.com/llvm/llvm-project/commit/a5cee6c357c50ab7ce42189e24d1980a5b053e0f
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    A clang/test/CIR/CodeGenOpenCL/vector.cl

  Log Message:
  -----------
  [CIR] Implement TernaryOp for Vec in OpenCL (#196836)

Implement support for TernaryOp for Vec in OpenCL

Issue https://github.com/llvm/llvm-project/issues/192311


  Commit: c5192b75f6366b0e8268deaa9dbc10e94988fec8
      https://github.com/llvm/llvm-project/commit/c5192b75f6366b0e8268deaa9dbc10e94988fec8
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M libcxx/include/__cxx03/__bit_reference
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp

  Log Message:
  -----------
  [libc++][C++03] Fix copy_backward.pass.cpp and equal.pass.cpp (#198812)

This isn't a back-port of the original PRs fixing this in the normal
headers, since they changed quite a bit more than necessary to fix the
bug.


  Commit: 01170064ca3f590729a8ec88f067a9683cd7f0dd
      https://github.com/llvm/llvm-project/commit/01170064ca3f590729a8ec88f067a9683cd7f0dd
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M libcxx/include/__cxx03/__mutex/unique_lock.h
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp

  Log Message:
  -----------
  [libc++][C++03] Cherry-pick #129542 (#198826)


  Commit: 0f74c51841823ea9946983273484d3ff87369f97
      https://github.com/llvm/llvm-project/commit/0f74c51841823ea9946983273484d3ff87369f97
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M libcxx/test/std/strings/string.view/char.bad.verify.cpp

  Log Message:
  -----------
  [libc++][C++03] Fix string.view/char.bad.verify.cpp (#198824)


  Commit: 406775bdf4887172ee9b266cee09e36ddfea97f1
      https://github.com/llvm/llvm-project/commit/406775bdf4887172ee9b266cee09e36ddfea97f1
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M libcxx/include/__cxx03/__atomic/atomic.h
    M libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
    M libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.verify.cpp

  Log Message:
  -----------
  [libc++][C++03] Cherry-pick #131754 (#198827)


  Commit: 8f447760bcf40c2419b0cf203a6985ea0a9d2af9
      https://github.com/llvm/llvm-project/commit/8f447760bcf40c2419b0cf203a6985ea0a9d2af9
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M libcxx/include/__cxx03/__memory/shared_ptr.h
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp

  Log Message:
  -----------
  [libc++][C++03] Cherry-pick #165619 (#198829)


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

  Changed paths:
    M llvm/test/CodeGen/X86/sad.ll

  Log Message:
  -----------
  [X86] Update more PSADBW tests to match middle-end vector.reduce.add codegen (#198806)

Missed in #198760


  Commit: a2134b8b758ce49c6ebad86c5afcd434b6a1a3f3
      https://github.com/llvm/llvm-project/commit/a2134b8b758ce49c6ebad86c5afcd434b6a1a3f3
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

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

  Log Message:
  -----------
  [lldb][NFC] Sink eager breakpoint logic into ExecuteBreakpointSiteAction (#198741)

A future patch will want to control whether all breakpoints are eager or
not based on whether the process is running. Sinking the logic allows
for a smaller diff.


  Commit: c525e31158fd7282a9c3cbdfc3960058a990ba71
      https://github.com/llvm/llvm-project/commit/c525e31158fd7282a9c3cbdfc3960058a990ba71
  Author: Anshul Nigham <nigham at google.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/test/Driver/amdgpu-unwind.cl

  Log Message:
  -----------
  [Clang][test] Use `-fopenmp=libomp` explicitly for amdgpu-unwind.cl (#198821)

This is similar to what was done in
https://github.com/llvm/llvm-project/pull/180221


  Commit: cbd69a684a114321a707520630703f9fed40b8a1
      https://github.com/llvm/llvm-project/commit/cbd69a684a114321a707520630703f9fed40b8a1
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/source/Target/Process.cpp
    A lldb/test/API/functionalities/breakpoint/breakpoint_while_running/Makefile
    A lldb/test/API/functionalities/breakpoint/breakpoint_while_running/TestBreakpointWhileRunning.py
    A lldb/test/API/functionalities/breakpoint/breakpoint_while_running/main.c

  Log Message:
  -----------
  [lldb] Fix delayed breakpoints on running processes (#198747)

Breakpoints should never be delayed on a running process, as they can
immediately affect program execution.


  Commit: d90edd1be62e435f330759e129d327c83b160d7a
      https://github.com/llvm/llvm-project/commit/d90edd1be62e435f330759e129d327c83b160d7a
  Author: Harald van Dijk <hdijk at accesssoftek.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
    M llvm/test/tools/dxil-dis/debug-info.ll
    M llvm/test/tools/dxil-dis/di-subprogram.ll
    M llvm/test/tools/dxil-dis/di-subrangetype.ll

  Log Message:
  -----------
  [DirectX] Do not emit DISubprograms as distinct (#197453)

LLVM 3.7 never did this.


  Commit: f00ec3f74a7e1f9342286eb1cbafd296397b7b29
      https://github.com/llvm/llvm-project/commit/f00ec3f74a7e1f9342286eb1cbafd296397b7b29
  Author: Yuan Suo <suoyuan666 at s5n.xyz>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
    M clang/unittests/Analysis/LifetimeSafetyTest.cpp

  Log Message:
  -----------
  [NFC][LifetimeSafety]: Track assignment history within a single CFGBlock (#196075)

## Summary

Tracking assignment history allows us to backtrack and provide more
informative error messages, helping users better understand the root
cause.

As discussed in
https://github.com/llvm/llvm-project/pull/188467#issuecomment-4359071778,
I am splitting the original #188467 into smaller parts. This PR submits
the core logic: performing a reverse search for assignment history
within a single CFG block.

A simple unit test has been added to verify the basic functionality of
the algorithm.

## Details

This function is straightforward: it iterates through each
`OriginFlowFact` in reverse order and saves the appropriate
`SrcOriginID`. Here, "appropriate" means the `Origin` contains the
target `Loan`.

---------

Signed-off-by: Yuan Suo <suoyuan666 at s5n.xyz>


  Commit: 57712b1eb7305d232ee5975990005cc8191ab262
      https://github.com/llvm/llvm-project/commit/57712b1eb7305d232ee5975990005cc8191ab262
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M .ci/generate_test_report_lib.py
    M .ci/generate_test_report_lib_test.py

  Log Message:
  -----------
  [CI] Successful build and no tests running is now a notification (#198684)

check-libc now uses llvm-lit to run tests instead of running the
unittests directly through ninja. This means there should not be any
cases in tree where the build could succeed but we do not pick up any
tests as running. Still pass the build in this case because if
everything passes with exit code 0 it is wrong not to, but make a note
to the user that this is unexpected.


  Commit: 61750f4629327ec9df0a20a18ce1bf1710f254fd
      https://github.com/llvm/llvm-project/commit/61750f4629327ec9df0a20a18ce1bf1710f254fd
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/stdlib.yaml
    M libc/include/wchar.yaml
    M libc/src/stdlib/CMakeLists.txt
    A libc/src/stdlib/mblen.cpp
    A libc/src/stdlib/mblen.h
    M libc/src/wchar/CMakeLists.txt
    R libc/src/wchar/mblen.cpp
    R libc/src/wchar/mblen.h
    M libc/test/src/stdlib/CMakeLists.txt
    A libc/test/src/stdlib/mblen_test.cpp
    M libc/test/src/wchar/CMakeLists.txt
    R libc/test/src/wchar/mblen_test.cpp

  Log Message:
  -----------
  [libc] move mblen to stdlib (#198642)

Move mblen from wchar to stdlib to conform with C standard. Also update
headers to match new style.

Assisted-by: Automated tooling, human reviewed.


  Commit: 42cc9b53bf83ebb778755fd51a9b277cb71740d5
      https://github.com/llvm/llvm-project/commit/42cc9b53bf83ebb778755fd51a9b277cb71740d5
  Author: Conor Kotwasinski <91287181+conorKotwasinski at users.noreply.github.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/alias_mask.ll
    M llvm/test/CodeGen/AArch64/dag-combine-setcc.ll
    M llvm/test/CodeGen/AArch64/fixed_masked_deinterleaved_loads.ll
    M llvm/test/CodeGen/AArch64/fixed_masked_interleaved_stores.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
    M llvm/test/CodeGen/AArch64/sve-mask-partition.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll

  Log Message:
  -----------
  [AArch64] Use ADDP tree for v16i8 to i16 bitmask extraction (#192974)

```
Before:
    ext  v1.16b, v0.16b, v0.16b, #8
    zip1 v0.16b, v0.16b, v1.16b
    addv h0, v0.8h
    fmov w0, s0

After:
    addp v0.16b, v0.16b, v0.16b
    addp v0.16b, v0.16b, v0.16b
    addp v0.16b, v0.16b, v0.16b
    umov w0, v0.h[0]
```

The existing lowering in vectorToScalarBitmask for v16i8 used an
EXT+ZIP1+ADDV sequence to pack the per-lane bits into an i16. The
horizontal ADDV is expensive on some microarchitectures and forces an
early SIMD-to-GPR domain crossing.

Replace it with a three-level pairwise-add (ADDP) tree. After the AND
with the powers-of-two constant, each byte lane holds at most one set
bit within its 8-byte group, so pairwise addition cannot carry and is
equivalent to OR at every level. Three ADDPs therefore losslessly pack
the 16 per-lane bits into the low i16 of the result vector, from which
we extract the bitmask with a single UMOV.

This keeps all computation in the vector register file until the final
extract and avoids the horizontal reduction.

Partially addresses #192749. Follow-up work can extend this transform to
N=32 and N=64 by fusing across Q-registers in the first ADDP level.


  Commit: d28e47cc947f24f5c5925d43d0c61b2dc8b1bdbe
      https://github.com/llvm/llvm-project/commit/d28e47cc947f24f5c5925d43d0c61b2dc8b1bdbe
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/permute.ll

  Log Message:
  -----------
  [AMDGPU] Fix matchPERM byte tracker for SRA past operand width (#198708)

Bytes past the operand are 0 for SRL but the sign bit for SRA. The old
code treated both as 0, so v_perm_b32 picked the wrong byte for SRA

Example:
`ashr x, 24` keeps only x's byte 0 in the result. The upper bytes are
copies of x's sign bit, not bytes of x. The matcher used to map them
back to bytes of x, producing a perm mask that ignored the sign extend


  Commit: 01c2cd3abae8e7fe80274f56669c4c9e346b71a4
      https://github.com/llvm/llvm-project/commit/01c2cd3abae8e7fe80274f56669c4c9e346b71a4
  Author: Caroline Newcombe <caroline.newcombe at hpe.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M flang/lib/Lower/Support/Utils.cpp
    M flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90
    A flang/test/Lower/OpenMP/lastprivate-equivalence.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix EQUIVALENCE variable privatization in OpenMP (#197726)

Fixes #197553

EQUIVALENCE aliases are lowered with `fir.ptr` addresses
(`castAliasToPointer` in ConvertVariable.cpp) to inform alias analysis.
However, `privatizeSymbol()` in Utils.cpp treated all `fir::PointerType`
values as true Fortran POINTERs, skipping the `unwrapRefType` that
computes the correct allocation type. For arrays, this caused the
privatizer to allocate pointer-sized storage instead of the full array,
resulting in stack buffer overflows at runtime.

The fix adds a `!semantics::IsPointer()` check so that only true Fortran
POINTERs preserve the `fir.ptr` wrapping. EQUIVALENCE aliases are
correctly unwrapped to their underlying type.

**Changes:**
- flang/lib/Lower/Support/Utils.cpp: Gate the `PointerType` guard on
`semantics::IsPointer` to distinguish true POINTERs from EQUIVALENCE
aliases
- flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90: Update
existing test to match corrected output (alloc type is now `f32`, not
`fir.ptr<f32>`)
- flang/test/Lower/OpenMP/lastprivate-equivalence.f90: New test for
EQUIVALENCE'd array with lastprivate, verifying correct allocation,
deallocation, and writeback


  Commit: 28d6673e21f72d5b4b8238c220afa9abaa6b91c6
      https://github.com/llvm/llvm-project/commit/28d6673e21f72d5b4b8238c220afa9abaa6b91c6
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M flang/include/flang/Lower/ConvertType.h
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertType.cpp
    M flang/lib/Lower/OpenMP/Atomic.cpp
    R flang/test/Integration/OpenMP/atomic-compare.f90
    M flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
    A flang/test/Lower/OpenMP/Todo/atomic-compare.f90
    R flang/test/Lower/OpenMP/atomic-compare.f90
    M flang/test/Semantics/OpenMP/atomic-compare.f90
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.h
    M mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenACCMPCommon/Interfaces/CMakeLists.txt
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir

  Log Message:
  -----------
  Revert "[Flang] [OpenMP] atomic compare (#184761)" (#198848)

This reverts commit 91467766a8afb52439619163828c5f6816ddd550.

This was causing tests to be quite flaky. See #198776.


  Commit: 064e529cd78e93bf50e0855daceabdb3a7d34953
      https://github.com/llvm/llvm-project/commit/064e529cd78e93bf50e0855daceabdb3a7d34953
  Author: Chris Apple <cja-private at pm.me>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp

  Log Message:
  -----------
  [rtsan] Fix REAL call for preadv64 (#198563)

Seemed to just be a typo matching the name of the intercepted function


  Commit: 8c129e113fafdd5be7472a2c40a128cea77ea091
      https://github.com/llvm/llvm-project/commit/8c129e113fafdd5be7472a2c40a128cea77ea091
  Author: David Green <david.green at arm.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/fabs.ll
    M llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll
    M llvm/test/CodeGen/AArch64/fneg.ll
    M llvm/test/CodeGen/AArch64/partial-reduction-sub-fp.ll

  Log Message:
  -----------
  [AArch64] Use fp16 FNEG and FABS for bf16. (#198653)

These operations are bitwise and can be used for bf16 fneg and fabs as
equally as they can be used for fp16.


  Commit: 63d3371f1d0ac559d15df2bf1881cee2a123bdb0
      https://github.com/llvm/llvm-project/commit/63d3371f1d0ac559d15df2bf1881cee2a123bdb0
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/test/CodeGen/AArch64/arm64e-tail-call-autib.ll

  Log Message:
  -----------
  [arm64e][cfi] .cfi_b_key_frame is irrelevant for Mach-O platforms (#198660)

We always sign with the B-Key anyway, and the unwinder behaves the same whether the directive is present. Better to avoid emitting it in the first place.


  Commit: 14f871a1d7e7edad8e90f0bbfd707d725e72fea0
      https://github.com/llvm/llvm-project/commit/14f871a1d7e7edad8e90f0bbfd707d725e72fea0
  Author: Scott Linder <scott.linder at amd.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/difile_absolute_filenames.ll
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/difile_absolute_filenames.ll.expected
    M llvm/utils/UpdateTestChecks/common.py

  Log Message:
  -----------
  update_test_checks: fix DIFile filename relaxation (#198382)

In e78b763568e47e685926614195c3075afa35668c (#135692) the matcher for
the `directory:` field requires a non-empty directory, which isn't
guaranteed. Relax it to accept any string, including the empty string.

Change-Id: Ie6d793f7abdbafd3d2faa29379919e68e846afe7


  Commit: 62be92fe704de3bbeef871dd73a0e8c90d29a57e
      https://github.com/llvm/llvm-project/commit/62be92fe704de3bbeef871dd73a0e8c90d29a57e
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M lldb/source/Target/TargetProperties.td

  Log Message:
  -----------
  [lldb] Fix data race on shared global ProcessProperties callback (#197980)

ProcessProperties::ProcessProperties was installing a per-process
value-changed callback on ePropertyDisableLangRuntimeUnwindPlans. The
property was declared Global in TargetProperties.td, so
OptionValueProperties::CreateLocalCopy shared the underlying OptionValue
across every ProcessProperties. Every Process constructor therefore
wrote into the same std::function slot, racing with concurrent
constructors and silently clobbering any earlier Process's callback.

Found by ThreadSanitizer as part of #197792.


  Commit: 9b2a452848133e7e68352bdb0bad25c3d8cc0f47
      https://github.com/llvm/llvm-project/commit/9b2a452848133e7e68352bdb0bad25c3d8cc0f47
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/JSONFormatTest.cpp

  Log Message:
  -----------
  Open the JSON files as text (#196617)

Open the JSON files as text so z/OS gets the correct encoding for the
file.


  Commit: a169ae238c35b6dfce69abc37e8a878e0eb05005
      https://github.com/llvm/llvm-project/commit/a169ae238c35b6dfce69abc37e8a878e0eb05005
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules

  Log Message:
  -----------
  [lldb] Prioritize the MAKE_NO_DEBUG_INFO flag (#198801)

Some tests require an executable with no debug information. When
`lldb-dotest` is run with `--dwarf-version`, that flag currently takes
precedence over the debug info type specified in the test. This is
incorrect when the test explicitly expects the executable to have no
debug information.

Ensure `MAKE_NO_DEBUG_INFO` takes priority over `--dwarf-version` so
that tests requiring stripped executables behave correctly regardless of
how the test suite is invoked.


  Commit: fd3e453aed4fbf655d7d37589572d82bd666e273
      https://github.com/llvm/llvm-project/commit/fd3e453aed4fbf655d7d37589572d82bd666e273
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M compiler-rt/test/msan/release_origin.c

  Log Message:
  -----------
  [test][msan] Update rss_limit for release_origin.c (#196565)

This fixes test failures on aarch64.

Fixes #171209


  Commit: 2c1847e192a2e17518e521dd71c1ad76e51127b0
      https://github.com/llvm/llvm-project/commit/2c1847e192a2e17518e521dd71c1ad76e51127b0
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M .github/workflows/containers/github-action-ci-windows/Dockerfile

  Log Message:
  -----------
  [docker][windows] install make in Dockerfile (#198814)

The lldb-api test suite builds each test's inferior via GNU make. The
current Windows CI container (`ghcr.io/llvm/ci-windows-2022:latest`)
does not install make, so LLDB's CMake configure step ends up with
`LLDB_DEFAULT_TEST_MAKE-NOTFOUND` and every lldb-api test reports
`UNRESOLVED`.
    
This patch adds a step in the Windows Dockerfile to install make with
choco.


  Commit: a7da85454a6caee19c2a596bb7bcaefc613dd7ec
      https://github.com/llvm/llvm-project/commit/a7da85454a6caee19c2a596bb7bcaefc613dd7ec
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M lldb/test/Shell/Target/dependent-modules-nodupe-windows.test

  Log Message:
  -----------
  [lldb][test] Make dependent-modules-nodupe-windows case-insensitive (#198807)

Running the test in containers returns `KERNEL32.DLL` instead of
`kernel32.dll`, which causes the test to fail. Both names point to the
same file. Windows path comparison is case-insensitive. The test is
asserting an OS-level behavior, not a casing convention, so it should
not be case-sensitive.


  Commit: c2acca2e38b9848c14d16e4d866da635c819d43e
      https://github.com/llvm/llvm-project/commit/c2acca2e38b9848c14d16e4d866da635c819d43e
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp

  Log Message:
  -----------
  [NFC][lldb][windows] extract ConvertNtDevicePathToDosPath method (#198794)

This patch extracts the logic for converting an NT path to a DOS path.

This is a prelude to https://github.com/llvm/llvm-project/pull/198795.


  Commit: 24b8bb18f3417419cbd16fcd31f4e2842df952a1
      https://github.com/llvm/llvm-project/commit/24b8bb18f3417419cbd16fcd31f4e2842df952a1
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/drop-unit-dims-with-shape-cast.mlir
    M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
    M mlir/test/Dialect/Vector/vector-transforms.mlir

  Log Message:
  -----------
  [mlir][vector] Migrate drop-lead-unit-dim to shape_cast (#196206)

Post-merge discussion on #195686 led to the conclusion that we should
change the behavior of drealeadunitdim to use shape_cast instead of
extracts and broadcasts since those are now the canonical form of such
unit-dimension striping. This commit implements that change.

The one exception is that vector contractions where the accumulator is
reduced to a scalar still use extract/broadcast. Said contract handling
also now omits any vector.transpose emissions since those are all
order-preserving and will fold into shape_casts.

The PR adds tests to ensure that scalable dimensions function correctly,
per previous PR comments. They should already have worked, but they
weren't tested.

AI: Codex 5.5 did most of the work on this one.


  Commit: 9edd0d83b06a0a65e1d532faa897e8a868e2031d
      https://github.com/llvm/llvm-project/commit/9edd0d83b06a0a65e1d532faa897e8a868e2031d
  Author: Raul Tambre <raul at tambre.ee>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M bolt/test/runtime/relative-vftable.cpp

  Log Message:
  -----------
  [bolt][test] Use C++ frontend for building C++ test (#198856)

The C frontend executable will fail if there's any C++-specific options from the environment.


  Commit: fadbc3fa86443ca8ce0359cd47c392317153f676
      https://github.com/llvm/llvm-project/commit/fadbc3fa86443ca8ce0359cd47c392317153f676
  Author: Chi-Chun, Chen <chichun.chen at hpe.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp

  Log Message:
  -----------
  [OpenMP][OMPIRBuilder] Avoid querying SmallPtrSet during removal (#198690)

openmp-cli-fuse02.mlir can intermittently leave behind a dead block
after loop fusion, causing LLVM IR verification to fail.
(https://github.com/llvm/llvm-project/pull/197637#issuecomment-4497502486)

This happened because `removeUnusedBlocksFromParent` queried
`BBsToErase` while using `SmallPtrSet::remove_if` on the same set, which
made the result depend on the set's internal mutation order during
removal.

This patch tracks candidate blocks by index with `SmallBitVector`
instead of mutating and querying the same `SmallPtrSet`. This also
preserves the original `BBs` order when collecting the final dead
blocks.

---

The original PR was created with assistance from Copilot. The later
analysis and fix were revised based on reviewer feedback.

Co-authored-by: @slinder1


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

  Changed paths:
    M clang/test/OpenMP/thread_limit_gpu.c
    M clang/test/OpenMP/thread_limit_nvptx.c
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [llvm][OpenMP] Add option to disable default max threads adjustment (#198719)

This commit adds the option
`-openmp-ir-builder-use-default-max-thread=<boolean-value>` to
enable or disable the use of a default max threads in OpenMPIRBuilder
when no max threads constant is provided. The option is enabled by
default, thus maintaining the same behavior as it is currently.

This flag is useful to avoid limiting the number of threads that an
OpenMP target region can run with when no `thread_limit` or
`num_threads` (in a nested parallel region) are specified. This flag may
be used when recording a kernel to allow replaying it later with a
higher number of threads (e.g., reaching the maximum thread limit
supported by the device).


  Commit: 5e9f5c5b2b7f05af62c7279a24f91c0b86507d46
      https://github.com/llvm/llvm-project/commit/5e9f5c5b2b7f05af62c7279a24f91c0b86507d46
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

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

  Log Message:
  -----------
  [flang][OpenMP] Clarify comment in resolve-directives.cpp, NFC (#198860)


  Commit: b387674b529fa137f3d0b05b93ee3712e39240e2
      https://github.com/llvm/llvm-project/commit/b387674b529fa137f3d0b05b93ee3712e39240e2
  Author: Vir Patel <142122453+virsworld at users.noreply.github.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M flang/lib/Evaluate/formatting.cpp
    M flang/lib/Semantics/expression.cpp
    A flang/test/Semantics/PowerPC/ppc-vector-diagnostics.f90

  Log Message:
  -----------
  [flang][PPC] Improve vector type names in expression diagnostics (NFC) (#197821)

Improve Flang semantic diagnostics for vector types by printing vector
type spellings in Fortran syntax instead of internal builtin-derived
type names.

Use `DerivedTypeSpec::VectorTypeAsFortran()` when producing vector
operand type names in `ArgumentAnalyzer::TypeAsFortran()`, instead of
relying on the generic type formatting path.

This updates diagnostics to print vector types as Fortran source-like
spellings, such as:
- `vector(integer(4))`
- `vector(real(4))`

while preserving the existing formatting for non-vector derived types.


  Commit: 859c550e95bb48a563225a251e8b2f969b32456a
      https://github.com/llvm/llvm-project/commit/859c550e95bb48a563225a251e8b2f969b32456a
  Author: Yuxuan Chen <ych at meta.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    M libcxx/test/std/containers/sequences/vector/vector.cons/copy.pass.cpp

  Log Message:
  -----------
  [libc++] Require the exact assignment expression to be trivial in __uninitialized_allocator_copy_impl (#196648)

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

`__uninitialized_allocator_copy_impl` has an optimization that replaces
`allocator_traits::construct` with `std::copy` for raw pointer ranges
when the element type is trivially copy constructible and trivially copy
assignable.

The copy-assignment trait only checks whether assignment from `const T&`
is trivial. That is weaker than the expression used by `std::copy`,
which evaluates `*out = *in`. If overload resolution selects a different
non-trivial assignment operator for that expression, `std::copy` can
call that operator on uninitialized storage.

Check `is_trivially_assignable<_Out&, _In&>` instead. This matches the
assignment expression used by `std::copy`, preserves the optimized path
when that assignment is actually trivial, and avoids making non-const
raw pointer callers select the generic `allocator_traits::construct`
overload due to a qualification conversion.

Add a vector copy-constructor regression test with a type whose
defaulted copy assignment is trivial but whose templated assignment
operator is selected for non-const lvalue sources.


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

  Changed paths:
    M offload/liboffload/API/Event.td
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    M offload/plugins-nextgen/host/src/rtl.cpp
    M offload/plugins-nextgen/level_zero/include/L0Device.h
    M offload/unittests/OffloadAPI/common/Fixtures.hpp
    M offload/unittests/OffloadAPI/event/olCreateEvent.cpp
    M offload/unittests/OffloadAPI/event/olDestroyEvent.cpp
    M offload/unittests/OffloadAPI/event/olGetEventElapsedTime.cpp
    M offload/unittests/OffloadAPI/event/olSyncEvent.cpp
    M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
    M offload/unittests/OffloadAPI/queue/olWaitEvents.cpp

  Log Message:
  -----------
  [Offload] Make profiling support opt-in on events (#198810)

Summary:
Profiling requires getting time stamp information, which required
actually materializing barriers on the event. This caused performance
regressions in some OpenMP applications. Instead, we want to make this
opt in. This just adds a new argument to `olCreateEvent` which takes
some flags. Right now this is just none and profiling. Pretty mechanical
beyond that. Should revert this to the old behavior for OpenMP.

Co-authored-by: Kevin Sala Penades <kevinsala.ks at gmail.com>


  Commit: 567d27bd8905b892594f9b99cc3af1203e5ca924
      https://github.com/llvm/llvm-project/commit/567d27bd8905b892594f9b99cc3af1203e5ca924
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    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/VPlanAnalysis.h
    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/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Add type in VPRecipeValue, migrate first set of recipes. (NFC) (#195485)

This patch adds a new Type field to hold the scalar type for the
VPRecipeValue. It starts the migration of an initial set of recipes to
set the scalar type and use it directly in VPTypeAnalysis, removing
special handling for those types.

Eventually, VPTypeAnalysis can be retired when the migration is
complete, hopefully eliminating the need for type related caching, which
can lead to subtle invalidation errors.

To help the transition, a temporary getScalarTypeOrInfer has been added,
which returns the scalar type set in the VPValue for already migrated
recipes or falls back o type inferrence otherwise.

VPlanVerifier has been extended verify the set scalar type where
possible.

Tracking the type directly means a few places that change the type will
need to be updated to create a new replacement recipe with correct
types.

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

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


  Commit: d8fa68f9ce4a435627082e9cd376c75ff8d1a4e0
      https://github.com/llvm/llvm-project/commit/d8fa68f9ce4a435627082e9cd376c75ff8d1a4e0
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    A clang/test/CIR/CodeGen/new-array-in-ternary.cpp

  Log Message:
  -----------
  [CIR] Fix bugs with array new in a ternary expression (#198869)

While attempting to compile Clang with CIR enabled, we ran into a
problem with the cleanup handling for array new inside of a ternary
operation. The reduced test case ended up showing different failure
modes with and without exceptions enabled, but it failed in both cases.
With exceptions enabled, we were failing to spill the value to be
returned and reload it outside of the cleanup scope. With exceptions
disabled, we were pushing an effectively empty entry on the EH stack and
later asserting when trying to pop it.

This change fixes the spill and reload problem by inserting a
RunCleanupsScope RAII object around the ternary branch generation code
with a call to forceCleanups to generate the spill and reload.

The assertion failure is fixed by replacing the assert call with code to
safely handle the condition of having an empty cleanup on the EH stack.
We should probably modify the code that pushes EH-only cleanups to avoid
doing so when exceptions are disabled, but that's a more extensive
change and having the new handler as a safe backstop seems like a good
idea.

Manual inspection revealed a second location where we're generating a
cir.ternary operation that had the same spill and reload problem
described above, so that is fixed here too.

Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh


  Commit: 4de983f0213643c1d4d4e8f19929b051c7190a68
      https://github.com/llvm/llvm-project/commit/4de983f0213643c1d4d4e8f19929b051c7190a68
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/unistd.yaml
    M libc/src/unistd/CMakeLists.txt
    A libc/src/unistd/alarm.h
    M libc/src/unistd/linux/CMakeLists.txt
    A libc/src/unistd/linux/alarm.cpp
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/alarm_test.cpp

  Log Message:
  -----------
  [libc] implement alarm entrypoint (#198620)

Implemented the alarm entrypoint for unistd.h.

Assisted-by: Automated tooling, human reviewed.


  Commit: 88367b2db3e6f0a43ff1d77c1575f11521ccc407
      https://github.com/llvm/llvm-project/commit/88367b2db3e6f0a43ff1d77c1575f11521ccc407
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/test/CIR/CodeGen/atomic.c

  Log Message:
  -----------
  [CIR] Handle atomic-fetch lowering of pointer types. (#198871)

We previously didn't properly handle the pointer type conversions, which
resulted in a verifier error. This patch does what classic codegen does
for these: casts them to an integer type. The rest of the logic around
this in classic codegen isn't necessary as the llvm intrinsics now
handle those types properly.


  Commit: a09d2bb480af96472d04efe27855bd430fc7ede9
      https://github.com/llvm/llvm-project/commit/a09d2bb480af96472d04efe27855bd430fc7ede9
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    A lldb/tools/lldb-dap/extension/.npmrc
    M lldb/tools/lldb-dap/extension/package-lock.json
    A mlir/utils/vscode/.npmrc
    M mlir/utils/vscode/package-lock.json

  Log Message:
  -----------
  [MLIR][lldb-dap] Update brace-expansion dependencies in VSCode plugins, resolving security alerts (#198549)


  Commit: 1b4a578a9f7760a00bf26525a603be1ec6e7d862
      https://github.com/llvm/llvm-project/commit/1b4a578a9f7760a00bf26525a603be1ec6e7d862
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedBreakpointInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedFrameProviderInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedHookInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedProcessInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedStopHookInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
    M lldb/include/lldb/Utility/ScriptedMetadata.h
    M lldb/source/Breakpoint/BreakpointResolverScripted.cpp
    M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.h
    M lldb/source/Plugins/SyntheticFrameProvider/ScriptedFrameProvider/ScriptedFrameProvider.cpp
    M lldb/source/Target/ScriptedThreadPlan.cpp
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  [lldb/Interpreter] Plumb ScriptedMetadata through scripted plugin CreatePluginObject (NFC) (#198425)

Replace the (class_name, args_sp) parameter pair on CreatePluginObject
across the scripted plugin interfaces (ScriptedThread, OperatingSystem,
ScriptedBreakpoint, ScriptedFrameProvider, ScriptedProcess, and the
underlying ScriptedPythonInterface template) with a single `const
ScriptedMetadata &`. Callers (OperatingSystemPython, ScriptedThread,
ScriptedProcess, BreakpointResolverScripted, ScriptedFrameProvider) pass
their existing ScriptedMetadata directly, removing the need to re-bundle
class_name and args at every call site.

ScriptedBreakpoint, ScriptedFrameProvider and ScriptedProcess no longer
carry a redundant `args_sp` parameter; their callers fold those args
into the metadata, and the Python overrides reconstruct a
StructuredDataImpl from the metadata's args dict for the dispatched
call.

ScriptedInterface gains an `m_scripted_metadata` member and a
`GetScriptedMetadata()` accessor; ScriptedPythonInterface populates it
when CreatePluginObject is invoked so subclasses can later report which
script class is in play.

Hook/StopHook/ThreadPlan public interfaces keep their existing `args_sp`
parameter for now; subsequent commits consolidate that.

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


  Commit: 4e17b5b293c207db1cb195fb00083d87fa70a0be
      https://github.com/llvm/llvm-project/commit/4e17b5b293c207db1cb195fb00083d87fa70a0be
  Author: Harlen Batagelo <hbatagelo at gmail.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp

  Log Message:
  -----------
  [clangd] Fix crash when server shuts down with in-flight rename or tweak (#198019)

Fixes #196225.

Root cause: When clangd shuts down, `ClangdLSPServer`'s destructor calls
`Server.reset()` to destroy the `ClangdServer` object. `ClangdServer`
then destroys the work scheduler, which blocks and waits for in-flight
tasks to finish. If a rename task is in flight, the callback will try to
access the now-reset `ClangdLSPServer::Server` in
https://github.com/llvm/llvm-project/blob/4f9a7d09f4760ac9c5745e8bb829366d29ff9687/clang-tools-extra/clangd/ClangdLSPServer.cpp#L916-L917

The same issue occurs with `onCommandApplyTweak`, as its callback also
accesses `ClangdLSPServer::Server`:
https://github.com/llvm/llvm-project/blob/4f9a7d09f4760ac9c5745e8bb829366d29ff9687/clang-tools-extra/clangd/ClangdLSPServer.cpp#L828-L829

A reproducer has been added to #196225.

This PR fixes these issues by capturing a reference to `ClangdServer`
and using it in the callbacks instead of the `ClangdLSPServer::Server`
optional. The reference is guaranteed to remain valid because the work
scheduler syncs while the server is being destroyed.

Includes a unit test that verifies the fix for `rename`. The test for
`applyTweak` was omitted because the mocked LSP client would trigger an
`ADD_FAILURE()` ("Unexpected server->client call") when intercepting the
outgoing `workspace/applyEdit` request. While this could be handled with
`EXPECT_NONFATAL_FAILURE_ON_ALL_THREADS`, it would make the test flaky
because the task could occasionally finish before the server shuts down.


  Commit: f755811bab9520fb52b6d531ea8a4ffcdae6b245
      https://github.com/llvm/llvm-project/commit/f755811bab9520fb52b6d531ea8a4ffcdae6b245
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M libc/include/llvm-libc-types/CMakeLists.txt
    M libc/include/llvm-libc-types/EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.h

  Log Message:
  -----------
  [libc][nfc] Include header for EFIAPI macro (#198876)

This file uses `EFIAPI`, but it's not included. It looks like
compilation currently succeeds because `EFI_SYSTEM_TABLE.h` is the only
header that includes `EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.h`, and it happens
to include `EFIAPI-macros.h` indirectly.

We will be adding Bazel rules for this file, and Bazel typically
requires all headers to be compilable on their own. This build error is
theoretically reproducable by running cmake build with
`-DCMAKE_VERIFY_INTERFACE_HEADER_SETS` if we had the appropriate
FILE_SETs defined.


  Commit: 5ad9cec5c837a870023ad21cc0f0deb9bb6c4d2d
      https://github.com/llvm/llvm-project/commit/5ad9cec5c837a870023ad21cc0f0deb9bb6c4d2d
  Author: Paul Bowen-Huggett <paulhuggett at mac.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

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

  Log Message:
  -----------
  [RISCV] NFC: Use the new "let append" TableGen feature to reduce duplication (#198761)

llvm#182382 introduced a language extension to accumulate field values:
“append” concatenates the new value after the current value, whilst
"prepend" concatenates before the existing value. This change uses that
feature to eliminate repetition in the definition of some of the
compressed instructions.

For example, line 267 of RISCVIntrInfoC.td establishes a scope for “`let
Predicates = [HasStdExtZca] in {`”; this scope ends on line 515.
Meanwhile, line 454 wants to add the `IsRV64` predicate for a single
instruction but was forced to duplicate the previous condition as well:
“`let Predicates = [HasStdExtZca, IsRV64] in`”. That’s no longer
necessary since the addition can now be explicit: “`let append
Predicates = [IsRV64] in `”

I‘ve verified that this change has no effect on the TableGen output.

It seems quite likely that this same change could be made in some of the
other RISC-V TableGen source files…


  Commit: 58996c1de12b231af45aefbe5fe2e20a796c5d35
      https://github.com/llvm/llvm-project/commit/58996c1de12b231af45aefbe5fe2e20a796c5d35
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

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

  Log Message:
  -----------
  Silence "switch statement contains default but no case labels"; NFC (#198866)

65f8a7c1c423d96597bdb14062a0d0eb27d7caf4 accidentally introduced some
diagnostics from having a switch statement with a default label but no
case labels. This removes the switch statements until we have more cases
to add.


  Commit: 1b0e603087b64fee112bec2f630b1eba9969b02c
      https://github.com/llvm/llvm-project/commit/1b0e603087b64fee112bec2f630b1eba9969b02c
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    R lldb/include/lldb/Target/Policy.h
    A lldb/include/lldb/Utility/Policy.h
    M lldb/source/Target/CMakeLists.txt
    R lldb/source/Target/Policy.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/StopInfo.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Utility/CMakeLists.txt
    A lldb/source/Utility/Policy.cpp
    M lldb/unittests/Target/CMakeLists.txt
    R lldb/unittests/Target/PolicyTest.cpp
    M lldb/unittests/Utility/CMakeLists.txt
    A lldb/unittests/Utility/PolicyTest.cpp

  Log Message:
  -----------
  [lldb] Move Policy from Target to Utility (NFC) (#198897)

Move the Policy struct and PolicyStack class from lldb/Target to
lldb/Utility. This is a pure relocation -- no API or behavior changes.

This is needed so that lldbHost (which contains ProcessRunLock) can
depend on Policy without introducing a layering violation, since
lldbHost cannot depend on lldbTarget.

----

The following PRs are related to the Policy feature:
- #195762
- #195771
- #198897
- #195774
- #195775

rdar://176223894

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


  Commit: 3394fa1fd54857c4d19a109a1ec05673050ba23a
      https://github.com/llvm/llvm-project/commit/3394fa1fd54857c4d19a109a1ec05673050ba23a
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp

  Log Message:
  -----------
  [lldb][windows] try to resolve module path if info.hFile is null (#198795)

The Windows API can deliver `LOAD_DLL_DEBUG_EVENT` with `hFile` set to
NULL. In practice, this happens in practice
inside Windows Server Core containers for system DLLs like
`kernel32.dll`, `KernelBase.dll` and `ucrtbase.dll`. This is the issue
described by @Nerixyz in
https://github.com/llvm/llvm-project/issues/132800.
    
`DebuggerThread::HandleLoadDllEvent` previously dropped any such event.
    
This patch improves the module path resolution with the 2 following
methods:
- `GetFileNameByLoadAddress`: resolve the module path given its base
load address.
- `GetFileNameFromImageNameField`: resolve the module path given the
`LOAD_DLL_DEBUG_INFO::lpImageName` field.

This requires:
- https://github.com/llvm/llvm-project/pull/198794


  Commit: 297678e61e4b4230b6c79ae2e203f3ea687f494e
      https://github.com/llvm/llvm-project/commit/297678e61e4b4230b6c79ae2e203f3ea687f494e
  Author: Caroline Newcombe <caroline.newcombe at hpe.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M flang/lib/Evaluate/formatting.cpp
    M flang/lib/Semantics/expression.cpp
    R flang/test/Semantics/PowerPC/ppc-vector-diagnostics.f90

  Log Message:
  -----------
  Revert "[flang][PPC] Improve vector type names in expression diagnost… (#198908)

…ics (NFC…"

This reverts commit b387674b529fa137f3d0b05b93ee3712e39240e2.


  Commit: 8a3f021e808cab616986a139593bf3fcd2209b25
      https://github.com/llvm/llvm-project/commit/8a3f021e808cab616986a139593bf3fcd2209b25
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Scope.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Sema/Scope.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/test/Analysis/dead-stores.c
    M clang/test/CoverageMapping/break.c
    A clang/test/Sema/break-continue-cond.c
    M clang/test/Sema/loop-control.c
    M clang/test/Sema/statements.c
    M clang/test/SemaCXX/scope-check.cpp

  Log Message:
  -----------
  [Clang] Disallow `break`/`continue` in loop conditions (#198436)

tl;dr: This makes e.g. `while (({ break; 1; })) {}` ill-formed.

GCC used to allow this a long time ago (< GCC 9 I believe), but
eventually removed support for it; we originally allowed this both for
GCC compatibility and because there was actual code in the wild using it
(see Richard’s comment here for more background:
https://github.com/llvm/llvm-project/pull/152606#issuecomment-3166130973).

Note that this _is_ still allowed inside another loop, e.g. this
```c++
for (;;) {
    while (({ break; true; })) {}
}
```
is well-formed; the `break` here will break out of the `for` loop.

Removing support for this gets rid of quite a bit of code and has a few
more benefits:

1. Currently, GCC and Clang _disagree_ on the meaning of this construct
in nested loops: in the code snippet above, Clang breaks out of the
`while` loop, whereas GCC breaks out of the `for` loop; this patch
changes Clang to align with GCC here. As a result, we can also remove
code that emits a warning for such cases.

2. It frees up a bit in `ScopeFlags::Flags`, which is a good thing
because I need one for expansion statements, and we’re out of bits. This
is because we currently use a bit as a hack to disallow `continue`
inside the declaration of the condition variable (because we’d
`continue` to the condition before initialising the variable); this bit
becomes obsolete with this patch because `continue` is now disallowed
entirely within the condition (if there is no outer loop).

Without this change, I’d have to refactor `Flags` to be a 64-bit
integer, which would also entail updating every place where we use an
`unsigned` to store scope flags.

There is another change that I needed to make here: we currently
suppress `-Wcomma` (which warns about comma operators, because in most
contexts, you probably didn’t mean to use one) in some places, including
the third part of a C-style `for` loop. This is implemented by checking
if we’re in a `BreakScope | ContinueScope`, but those scope flags are
now only set when parsing the loop body. Instead, we now check for
`ControlScope`. This requires us to also set that flag in C90 mode, but
that seems to be harmless as the only use of `ControlScope` I was able
to find is in C++ code paths, where that bit was already set anyway.

When we introduced named loops for C2y, we purposefully didn’t support
labeled break/continue in the condition, so there’s nothing to be done
there (we already have tests for this too).


  Commit: bc7894a606bc950e9c75d4c0ecad71fcfc4d17d2
      https://github.com/llvm/llvm-project/commit/bc7894a606bc950e9c75d4c0ecad71fcfc4d17d2
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [Clang] [Docs] Remove stray release note (#198913)

The patch that added this release note was reverted (#198341), but then
(#198167) accidentally added it back.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-node-with-non-schedulable-parent.ll
    A llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-user-different-bb.ll

  Log Message:
  -----------
  [SLP]Bail out when copyable has cross-block reused non-schedulable user

When a copyable scalar in the bundle being scheduled has a same-block,
non-PHI, non-schedulable user with multiple uses, and at least one of
those uses is a non-PHI use in another block, the user's dependency
tracking across multiple bundles can be inconsistent.
Cancel scheduling of such copyable bundles instead.

Fixes #198364.

Reviewers: 

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


  Commit: 62e427fd2755fb116a1a9e7406b52815f7442f46
      https://github.com/llvm/llvm-project/commit/62e427fd2755fb116a1a9e7406b52815f7442f46
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/test/CIR/CodeGen/amdgpu-call-addrspace-cast.cpp
    A clang/test/CIR/CodeGen/amdgpu-stack-alloca-array-decay.cpp
    M clang/test/CIR/CodeGen/union-agg-init.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c

  Log Message:
  -----------
  [CIR][CIRGen] Cast stack allocas to the language-visible address space (#196868)

This patch aims to improve parity with OG codegen on targets with
non-flat alloca address space. I observed this after getting some
crashes while compiling PolybenchGpu for HIP (amdgpu). This work had
previously been merged in the incubator, most notably:
https://github.com/llvm/clangir/pull/2090,
https://github.com/llvm/clangir/pull/2088.

CIR currently returns the raw `cir.alloca` address from temporary/local
alloca creation. On AMDGPU, stack allocas live in private addrspace(5),
but ordinary C/C++/HIP auto variables are still used through the
language-visible generic/flat address space.

OG CodeGen handles this by creating the alloca in the target stack
address space and immediately casting it to the language-visible address
space when those differ. For example:

```llvm
%fmt = alloca [6 x i8], align 1, addrspace(5)
%tmp = alloca ptr, align 8, addrspace(5)

%fmt.ascast = addrspacecast ptr addrspace(5) %fmt to ptr
%tmp.ascast = addrspacecast ptr addrspace(5) %tmp to ptr

%arraydecay = getelementptr inbounds [6 x i8], ptr %fmt.ascast, i64 0, i64 0
store ptr %arraydecay, ptr %tmp.ascast, align 8
```
I've also added a helper to recover the underlying alloca through casts
for callers that need to annotate the original cir.alloca, and preserves
source pointer address spaces when creating pointer bitcasts.


  Commit: 57d2c4c7889333f8d1ebb77efdb5195c2e4f5e1e
      https://github.com/llvm/llvm-project/commit/57d2c4c7889333f8d1ebb77efdb5195c2e4f5e1e
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M libc/include/sys/prctl.yaml
    M libc/src/sys/prctl/linux/prctl.cpp
    M libc/src/sys/prctl/prctl.h
    M libc/test/src/sys/prctl/linux/prctl_test.cpp

  Log Message:
  -----------
  [libc] Update prctl() declaration to use variadic arguments. (#198654)

prctl declaration should typically use variadic arguments (e.g. see
https://man7.org/linux/man-pages/man2/prctl.2.html), as the types /
quantity of subsequent arguments depends on the `option`. We can't
depend on all `<prctl.h>` users to explicitly cast arguments to
`unsigned long` and passing all 5 of them every time.

* Don't add any option-specific logic, and just consume `arg2`-`arg5`
from variadic arguments and pass them to syscall implementation as-is,
assuming that they won't be used by the kernel if they are not needed,
and consuming these arguments won't lead to crashes.
* Updated the test to use `prctl` variants with less than 5 explicit
arguments (for PR_SET_NAME and PR_GET_NAME).


  Commit: b996b4eebbedb3b96b584e4db244b6ce685fae45
      https://github.com/llvm/llvm-project/commit/b996b4eebbedb3b96b584e4db244b6ce685fae45
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/signal.yaml
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    M libc/src/__support/OSUtil/linux/syscall_wrappers/raise.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/rt_sigprocmask.h
    M libc/src/setjmp/linux/CMakeLists.txt
    M libc/src/setjmp/linux/sigsetjmp_epilogue.cpp
    M libc/src/signal/CMakeLists.txt
    M libc/src/signal/linux/CMakeLists.txt
    A libc/src/signal/linux/pthread_sigmask.cpp
    M libc/src/signal/linux/signal_utils.h
    M libc/src/signal/linux/sigprocmask.cpp
    A libc/src/signal/pthread_sigmask.h
    M libc/src/stdlib/linux/abort_utils.h
    M libc/test/src/signal/CMakeLists.txt
    A libc/test/src/signal/pthread_sigmask_test.cpp

  Log Message:
  -----------
  [libc] Implement pthread_sigmask (#198682)

* Extract `rt_sigprocmask` syscall wrapper into the
libc/src/__support/OSUtil/linux/syscall_wrappers/ directory
* Convert all existing users of this syscall, and simplify the logic
where applicable.
* Implement `pthread_sigmask`, which is effectively another POSIX
wrapper around `rt_sigprocmask` syscall similar to `sigprocmask`


  Commit: 205f4bf6cc0350d54cfc169557b8e9b928736fe2
      https://github.com/llvm/llvm-project/commit/205f4bf6cc0350d54cfc169557b8e9b928736fe2
  Author: modiking <mmo at nvidia.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    A llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-multiple-users.ll
    A llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-rollback.mir
    A llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-vector-float.ll
    A llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion.ll
    A llvm/test/CodeGen/NVPTX/machine-cse-predicate-no-inversion.ll

  Log Message:
  -----------
  [NVPTX] Add commutativity to SETP instructions to enable MachineCSE of inverted predicates (#191890)

Inverted predicates can be used freely in PTX. If we can invert a
predicate and CSE the generating instruction we can save calculating the
inverse.

Teach the NVPTX `commuteInstructionImpl` that SETP instructions can be
inverted to allow CSEing with previous SETP that match the inverted
form. This also inverts the branch users of the predicate to maintain
correctness.

Currently only allow the SETP inversion if all users are branches.
Future work can extend this to `sel` and `not` instructions.

Depends on #191889.

Assisted-by: Cursor / Claude


  Commit: 493ebf711e3f6641338e153ecdd284f262b4fb65
      https://github.com/llvm/llvm-project/commit/493ebf711e3f6641338e153ecdd284f262b4fb65
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M libcxx/include/__thread/support/pthread.h

  Log Message:
  -----------
  [libc++] Add support for thread-id handling for llvm-libc. (#198595)

This change adds support for properly defining and obtaining
`__libcpp_thread_id` when llvm-libc is used. It defines the integral
thread-id (which satisfies necessary restrictions of having total order,
being hashable and formattable) as `pthread_id_np_t` type and uses
`pthread_getthreadid_np` and `pthread_getunique_np` functions to obtain
it (added in
https://github.com/llvm/llvm-project/pull/197027, following the
discussions in https://github.com/llvm/llvm-project/pull/195139 and
https://github.com/llvm/llvm-project/pull/195202).

We also let `_LIBCPP_NULL_THREAD` macro use a more portable
`PTHREAD_NULL` (defined in the latest POSIX) when this macro is
available, so that it would work as expected for opaque `pthread_t`
implementations, where default constructor might not necessarily
zero-initialize all the members.

This is the last remaining change to allow building libc++ against
llvm-libc with threads enabled (test-suite results TBD).


  Commit: 432b6f344f9feb2bf71ee4b7f063ef562a73aabe
      https://github.com/llvm/llvm-project/commit/432b6f344f9feb2bf71ee4b7f063ef562a73aabe
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

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

  Log Message:
  -----------
  [Github] Add version number to libc FreeBSD workflow (#198926)

633539bfa1516e616b798b2eae98bea689b3c410 used the ToT version but does
not necessarily need it. Use the latest release and the standard syntax.

This follows
https://llvm.org/docs/CIBestPractices.html#hash-pinning-dependencies.


  Commit: 33bccad88b4eb8603fe0df44875f89b0b5e7f9c8
      https://github.com/llvm/llvm-project/commit/33bccad88b4eb8603fe0df44875f89b0b5e7f9c8
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M .github/workflows/libc-freebsd-vm-tests.yml
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libc-overlay-tests.yml
    M .github/workflows/libc-shared-tests.yml

  Log Message:
  -----------
  [Github] Do not run libc workflows on forks (#198932)

https://llvm.org/docs/CIBestPractices.html#disabling-jobs-in-forks


  Commit: 262207b8b57a68df02f39df6a47dece06f008d41
      https://github.com/llvm/llvm-project/commit/262207b8b57a68df02f39df6a47dece06f008d41
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M .github/workflows/libc-freebsd-vm-tests.yml
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libc-overlay-tests.yml

  Log Message:
  -----------
  [Github] Do not restrict branches for CI workflows (#198925)

This is covered in our CI best practices document in
https://llvm.org/docs/CIBestPractices.html#ensuring-workflows-run-on-the-correct-events.

Otherwise we cannot run libc CI workflows on stacked pull requests.


  Commit: 5c63509f4cc356639d9c4067e0812c2312689363
      https://github.com/llvm/llvm-project/commit/5c63509f4cc356639d9c4067e0812c2312689363
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm

  Log Message:
  -----------
  [LLDB] Add a progress event to xcrun invocations (#198931)

LLDB invokes xcrun to find SDKs on disk. This is usually very fast, but
sometimes (after an Xcode update, or when the searched SDK does not
exist) it can take very long (10s or more). The progress event provides
user feedback to explain the hang.


  Commit: b8ed8a2f003ca1b05a7a63c69b2934f752290c21
      https://github.com/llvm/llvm-project/commit/b8ed8a2f003ca1b05a7a63c69b2934f752290c21
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp

  Log Message:
  -----------
  [RISCV][Disassembler] Refactor simple predicate decoders using a template

This replaces the manual boilerplate for DecodeGPRNoX0, DecodeGPRNoX2,
DecodeGPRNoX31, and DecodeGPRPairNoX0 with a universal filtering template
and constexpr predicate functions.

I will need more of these for the RVY patch series, so submitting this NFC
cleanup first.

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


  Commit: 83a8c33b40c4a4f4022a5565e00586a77fa26dbf
      https://github.com/llvm/llvm-project/commit/83a8c33b40c4a4f4022a5565e00586a77fa26dbf
  Author: Harald van Dijk <hdijk at accesssoftek.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
    M llvm/test/tools/dxil-dis/di-subprogram.ll

  Log Message:
  -----------
  [DirectX] Drop unsupported DISubprogram flags (#197457)

These flags did not exist in LLVM 3.7 so should be omitted.


  Commit: 0107b929b2dad594a9868250878e1d891791dd62
      https://github.com/llvm/llvm-project/commit/0107b929b2dad594a9868250878e1d891791dd62
  Author: Davide Grohmann <davide.grohmann at arm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    A mlir/include/mlir/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.h
    M mlir/lib/Conversion/CMakeLists.txt
    A mlir/lib/Conversion/TosaToSPIRVTosa/CMakeLists.txt
    A mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.cpp
    A mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaPass.cpp
    A mlir/test/Conversion/TosaToSPIRVTosa/descriptor-set-and-bindings.mlir
    A mlir/test/Conversion/TosaToSPIRVTosa/op-nesting.mlir
    A mlir/test/Conversion/TosaToSPIRVTosa/type-conversions.mlir
    A mlir/test/Conversion/TosaToSPIRVTosa/unsupported-func-calls.mlir

  Log Message:
  -----------
  [mlir][tosa][spirv] Add TOSA to SPIR-V TOSA pass plumbing (#196539)

Introduce the initial TosaToSPIRVTosa conversion pass and library
wiring. This slice converts func.func regions to spirv.ARM.Graph inside
spirv.module, rewrites graph input/result types to SPIR-V ARM tensor
types, maps func.return to spirv.ARM.GraphOutputs, and adds focused
tests for type conversion, descriptor bindings, and nested containers.

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


  Commit: 1da21d72f0e1e702f436a009640556b7f6633a9e
      https://github.com/llvm/llvm-project/commit/1da21d72f0e1e702f436a009640556b7f6633a9e
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M lldb/test/API/functionalities/unwind/libunwind_ret_injection/TestLibUnwindRetInjection.py

  Log Message:
  -----------
  [lldb] Ensure libunwind architecture matches test for TestLibUnwindRetInjection.py (#198884)

If the test is run arm64e while the just-built libunwind is arm64 only,
the test will not function correctly.


  Commit: c25924f92d69294002e40e80a01fb91ebc984dc0
      https://github.com/llvm/llvm-project/commit/c25924f92d69294002e40e80a01fb91ebc984dc0
  Author: Iñaki V Arrechea <inakiarrechea at google.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/InstCount.h
    M llvm/lib/Analysis/InstCount.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/Analysis/InstCount/instcount.ll
    A llvm/test/Analysis/InstCount/pipeline.ll

  Log Message:
  -----------
  Add InstCount Pass Before Optimization (#198874)

This way we can count instructions before the optimization pipeline for
analysis sake


  Commit: 84de374722c74a058e4743f40f4dbdf44bf4ba73
      https://github.com/llvm/llvm-project/commit/84de374722c74a058e4743f40f4dbdf44bf4ba73
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M .github/workflows/libc-freebsd-vm-tests.yml
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libc-overlay-tests.yml
    M .github/workflows/libc-shared-tests.yml

  Log Message:
  -----------
  [Github] Add timeouts to libc tests (#198934)

None of these jobs do not take anywhere close to the six hour timeout
that Github uses by default. Set timeouts that are 2-3x the typical job
runtime so that if there is a test/build step that hangs indefinitely,
the job times out in a reasonable amount of time and does not hold any
resources that could be used elsewhere.

This should not impact any jobs that do not hang, will not change the
result of jobs that do hang, and means we can more effectively deal with
cases like today where tests were hanging, from a resource perspective.

This is also standard in some other workflows like the main premerge
workflow definition.


  Commit: 6799f694152c25762ca70e509a4f16ab06a6eb3a
      https://github.com/llvm/llvm-project/commit/6799f694152c25762ca70e509a4f16ab06a6eb3a
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm

  Log Message:
  -----------
  Revert "[LLDB] Add a progress event to xcrun invocations (#198931)" (#198945)

This change requires Host link against Core, and it cannot do that; it
may only link in Utility. Reverting so Adrian can decide what to do.

This reverts commit 5c63509f4cc356639d9c4067e0812c2312689363.


  Commit: 4cdb2bdc611cf5b30272284f80450cd3934caf7b
      https://github.com/llvm/llvm-project/commit/4cdb2bdc611cf5b30272284f80450cd3934caf7b
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/test/Transforms/AggressiveInstCombine/popcount.ll

  Log Message:
  -----------
  [AggressiveInstCombine] Recognizing tail truncation in the popcount pattern (#198658)

We're currently able to recognize the following popcount pattern
```
int popcnt(unsigned x) {
 x = x - ((x >> 1) & 0x55555555);
 x = x - 3*((x >> 2) & 0x33333333);
 x = (x + (x >> 4)) & 0x0F0F0F0F;
 x = x + (x >> 8);
 x = x + (x >> 16);
 return x & 0x0000003F;
}
```
but if a truncation follows right after the last AND instruction:
```
int16_t popcnt(unsigned x) {
 x = x - ((x >> 1) & 0x55555555);
 x = x - 3*((x >> 2) & 0x33333333);
 x = (x + (x >> 4)) & 0x0F0F0F0F;
 x = x + (x >> 8);
 x = x + (x >> 16);
 return int16_t(x & 0x0000003F);
}
```
since InstCombine canonicalizes `(trunc (and y, C))` into `(and
trunc(y), C')`, we might loose the opportunity to turn the above snippet
into `(trunc (popcount x))` as there is a `trunc` interrupting the
pattern matching.

This patch fixes this issue by considering this extra `trunc` during
pattern matching, and appending it in the final popcount result, if
there is any.


  Commit: f4caa0a172d96597c375e6b6b2192c289723a6b9
      https://github.com/llvm/llvm-project/commit/f4caa0a172d96597c375e6b6b2192c289723a6b9
  Author: Shoreshen <372660931 at qq.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    A llvm/test/CodeGen/AMDGPU/gfx12-5-generic-no-xnack.ll

  Log Message:
  -----------
  [AMDGPU] Remove unsupported feature by gfx12-5-generic target (#198437)

Co-authored-by: Shilei Tian <i at tianshilei.me>
Co-authored-by: Chinmay Deshpande <chdeshpa at amd.com>


  Commit: 17e4140ece563837b8f5044aa88f2abd1ef031b6
      https://github.com/llvm/llvm-project/commit/17e4140ece563837b8f5044aa88f2abd1ef031b6
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/include/lldb/Symbol/TypeSystem.h

  Log Message:
  -----------
  [lldb] Make TypeSystem::m_sym_file atomic to fix data race (#198923)

SymbolFileCommon::GetTypeSystemForLanguage unconditionally writes this
pointer with `ts->SetSymbolFile(this)` on every lookup, which races with
concurrent reads from other threads.

The race is benign in practice: there is exactly one SymbolFile per
Module, so every writer stores the same pointer, but it is still
undefined behavior under the C++ memory model.

Make the field std::atomic<SymbolFile *> and turn SetSymbolFile into a
compare-exchange that asserts a TypeSystem is never rebound to a
different SymbolFile, documenting the invariant that lets us get away
with this.

The alternative is to have the SymbolFile pointer passed in through the
constructor, but that would require updating a bunch of call sites,
including various plugin interfaces.

Found by ThreadSanitizer as part of #197792.


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

  Changed paths:
    M flang-rt/test/Driver/compare_iso_fortran_env_symbols.f90
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [flang-rt] Fix ISO test not respecting real kind flags (#198922)

Summary:
The test previously did not account for CMake overrides, so we just grab
the file that's actually generated. `sort -u` should handle the case
where there's both a .so and .a.


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

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/lib/Driver/ToolChains/Arch/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp

  Log Message:
  -----------
  [AMDGPU] Rewrite `-march` to `-mcpu` in the AMDGPU Toolchain (#198877)

Summary:
Pretty much every target uses either `-mcpu` or `-march` consistently.
AMDGPU has been accidentally using both for a while, mostly from some
fallout with the OpenMP Toolchain. This is too deep to pull out without
potentially disrupting users, but I want to at least contain it by
canonicalizing `-march` to `-mcpu` in the driver. This means we don't
need to bother checking both like every other target does.


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

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

  Log Message:
  -----------
  [Bazel] Fixes 0107b92 (#198939)

This fixes 0107b929b2dad594a9868250878e1d891791dd62.

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


  Commit: 35aeb28c8550b821ec28a5118454008a390faa5c
      https://github.com/llvm/llvm-project/commit/35aeb28c8550b821ec28a5118454008a390faa5c
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M flang-rt/lib/runtime/exceptions.cpp
    M flang-rt/unittests/Runtime/CMakeLists.txt
    A flang-rt/unittests/Runtime/Exceptions.cpp
    A flang/include/flang/Common/fp-control.h

  Log Message:
  -----------
  [flang-rt] Silence -Wfenv-access in the runtime fenv wrappers (part 1) (#198692)

Upstream clang's commit 5f2bedca, PR #187860, enabled a warning that
fires whenever code calls a `<fenv.h>` / `<cfenv>` primitive without
enabling proper FP exception behavior. This caused warnings in compiling
flang-rt, which in turn caused certain buildsbots to fail with
`-Werror`.

This change enables FP trap behavior for parts of flang-rt that are
known to require it. The other parts will be addressed by a future
change.

Assisted-by: AI


  Commit: 577c2b6ccb1f358ed2948b6ae4cf443c4a842e75
      https://github.com/llvm/llvm-project/commit/577c2b6ccb1f358ed2948b6ae4cf443c4a842e75
  Author: Anand Mistry (MSFT) <anandmistry at microsoft.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsMips.def
    A clang/test/CodeGen/Mips/msa-const-ld.c

  Log Message:
  -----------
  [Mips] Allow const pointers for the MSA load intrinsics (#193508)

This matches the prototypes of the GCC builtins.


  Commit: b3c0661bf9f300c4e993646241bb95adf595cb9b
      https://github.com/llvm/llvm-project/commit/b3c0661bf9f300c4e993646241bb95adf595cb9b
  Author: Emil Tsalapatis <etsal at meta.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp

  Log Message:
  -----------
  [NFC][ASan] Factor out ASan call insertion behind a single call (#198650)

The ASan pass directly injects function calls into the IR using
getOrInsertFunction() on every call site. Refactor the disparate call
sites behind an AsanFunctionInserter class. This allows us to add pre-
and post-processing logic for all inserted functions at once.

Signed-off-by: Emil Tsalapatis <emil at etsalapatis.com>


  Commit: cc382a62b2daf8527c4c78c70308f07ee28e3451
      https://github.com/llvm/llvm-project/commit/cc382a62b2daf8527c4c78c70308f07ee28e3451
  Author: SiHuaN <liyongtai at iscas.ac.cn>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll

  Log Message:
  -----------
  [RISCV][P-ext] Custom-lower SELECT for v4i16/v8i8 on RV32 (#198723)

SELECT was Expand for RV32 64-bit packed types, producing 40-80 lines of
stack-based per-element scalarization. Make it Custom for v4i16/v8i8 and
extend the existing isPExtPackedType branch in lowerSELECT to bitcast to
an integer of matching width: single-GPR types select on XLenVT
directly, while RV32 double-wide types select on i64 which
type-legalizes to two scalar selects on the i32 halves.

v2i32 is left to natural type-legalization since it splits cleanly into
two scalar i32 selects without a Custom hook.


  Commit: 2306a984ef330970dc6a9c074539427fe4ca02e8
      https://github.com/llvm/llvm-project/commit/2306a984ef330970dc6a9c074539427fe4ca02e8
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

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

  Log Message:
  -----------
  [RISCV] Inline multiple small lambdas. NFC (#198878)

None of these lambdas are reused and they all seemed pretty simple to
inline.


  Commit: 3cf43f6625ea3bb5e23ad7dafac23c862547dfd9
      https://github.com/llvm/llvm-project/commit/3cf43f6625ea3bb5e23ad7dafac23c862547dfd9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll

  Log Message:
  -----------
  [RISCV][P-ext] Split v4i16/v8i8 AND/OR/XOR on RV32. (#198449)

v2i32 is already scalarized by LegalizeVectorOps.


  Commit: 74e6127e93ab1a7559ad652b7f9410c41dd4efb6
      https://github.com/llvm/llvm-project/commit/74e6127e93ab1a7559ad652b7f9410c41dd4efb6
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    A llvm/test/CodeGen/RISCV/jump-is-expensive.ll

  Log Message:
  -----------
  [RISCV] Add TuneJumpIsExpensive (#191374)

We had `setJumpIsExpensive(true)` before 18.x but it was removed
in #74647. This feature allows users to tune the ISel behavior.

We have #80124 and #178394 landed, so it should be more flexible
to tune branches and selects now.

This is an alternative of #191158.


  Commit: 1229385ace03c6120b2268a7a4bf80d3f56b2135
      https://github.com/llvm/llvm-project/commit/1229385ace03c6120b2268a7a4bf80d3f56b2135
  Author: Brad Smith <brad at comstyle.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
    M compiler-rt/lib/builtins/cpu_model/cpu_model.h
    M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc

  Log Message:
  -----------
  [compiler-rt][builtins] A few fixes cpu_model files (#198957)

- Fix typo in include guard with the word features
- Correct header in cpu_model.h header file and include guard after
  the file has been renamed


  Commit: 1df5015582835a38f512100aa984ec55350a61b7
      https://github.com/llvm/llvm-project/commit/1df5015582835a38f512100aa984ec55350a61b7
  Author: David Green <david.green at arm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
    A llvm/test/CodeGen/ARM/pr196779.ll

  Log Message:
  -----------
  [ARM] Copy all flags when creating LDM (#197898)

This just adds the Operand instead of trying to handle flags
individually, similar to the AArch64LoadStoreOptimizer.

Fixes #196779


  Commit: 8ac51bce5afbe6ce84167260be68f0c5ef346656
      https://github.com/llvm/llvm-project/commit/8ac51bce5afbe6ce84167260be68f0c5ef346656
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M libc/include/arpa/inet.yaml
    M libc/include/ctype.yaml
    M libc/include/dlfcn.yaml
    M libc/include/errno.yaml
    M libc/include/fcntl.yaml
    M libc/include/math.yaml
    M libc/include/sched.yaml
    M libc/include/signal.yaml
    M libc/include/stdio.yaml
    M libc/include/stdlib.yaml
    M libc/include/string.yaml
    M libc/include/sys/mman.yaml
    M libc/include/sys/prctl.yaml
    M libc/include/sys/resource.yaml
    M libc/include/sys/select.yaml
    M libc/include/sys/socket.yaml
    M libc/include/sys/wait.yaml
    M libc/include/termios.yaml
    M libc/include/time.yaml
    M libc/include/unistd.yaml

  Log Message:
  -----------
  [libc][NFC] Lowercase standard identifiers in YAML files (#198854)

Update YAML files to use lowercase identifiers for standards.

In header.py, canonical identifiers for standards are explicitly defined
in lowercase and mapped to their pretty names for display. This change
ensures that all YAML files use the lowercase identifiers (posix, linux,
bsd, gnu) expected by the header generation tool.

Assisted-by: Automated tooling, human reviewed.


  Commit: 10c0b42b5086e8d69dff8f3d46f5d28b374e50d8
      https://github.com/llvm/llvm-project/commit/10c0b42b5086e8d69dff8f3d46f5d28b374e50d8
  Author: Hocky Yudhiono <hocky.yudhiono at gmail.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/test/Dialect/Linalg/canonicalize.mlir

  Log Message:
  -----------
  [mlir][linalg] Add splat broadcast canonicalization pattern (#195980)

Add `linalg.broadcast` splat constant to `linalg.fill` canonicalization.

Assisted-by: Cursor (GPT-5.5)


  Commit: 5a51136ad0473760fd0ed78044ccc17e954ed113
      https://github.com/llvm/llvm-project/commit/5a51136ad0473760fd0ed78044ccc17e954ed113
  Author: Henrik G. Olsson <hnrklssn at gmail.com>
  Date:   2026-05-20 (Wed, 20 May 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/llvm/RedundantCastingCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/llvm/redundant-casting.rst
    M clang-tools-extra/test/clang-tidy/checkers/llvm/redundant-casting.cpp
    A clang-tools-extra/test/clang-tidy/checkers/llvm/redundant-isa.cpp

  Log Message:
  -----------
  [clang-tidy] detect uses of llvm::isa that are always true (#191081)

Warns when performing a dynamic type check that is always true, either
because the dynamic type is the same as the static type, or because the
static type derives the dynamic type.
Supported functions:
 - isa
 - isa_and_present
 - isa_and_nonnull

Related PR: https://github.com/llvm/llvm-project/pull/189274


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

  Changed paths:
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp

  Log Message:
  -----------
  remove redundant uses of `isa` caught by clang-tidy (NFC) (#192813)

These calls to `isa` are always true. Also includes a drive-by cleanup
of a use of `isa_and_nonnull` where the value was already null-checked.

Caught by applying https://github.com/llvm/llvm-project/pull/191081


  Commit: 55c514cb8499c435531cbacc91372718623d7165
      https://github.com/llvm/llvm-project/commit/55c514cb8499c435531cbacc91372718623d7165
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
    M llvm/test/CodeGen/AArch64/swap-compare-operands.ll

  Log Message:
  -----------
  [AArch64] Select `CMP WZR, reg, shift #amount` (#197424)


  Commit: a21e1cc1400e3c9284a9550ea1d2f6e754d8d678
      https://github.com/llvm/llvm-project/commit/a21e1cc1400e3c9284a9550ea1d2f6e754d8d678
  Author: Sam Parker <sam.parker at arm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
    M llvm/test/CodeGen/WebAssembly/memory-interleave.ll
    M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll

  Log Message:
  -----------
  [WebAssembly] Cost model for F32 memory interleave (#198531)

Set them the same as their i32 counterparts, but don't cost 4x v4f32.
wasm-perf doesn't show any particular uplift and the tests show that,
when we're mixing integers and floats, we often interleaving anyway. But
this change should be good for arithmetic on structures of 2xf32.


  Commit: e1cb899614d036550ab8c2505dfe2d5fcecbac08
      https://github.com/llvm/llvm-project/commit/e1cb899614d036550ab8c2505dfe2d5fcecbac08
  Author: Benjamin Maxwell <macdue at dueutil.tech>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
    A llvm/test/CodeGen/AArch64/machine-sme-abi-skip-debug-inst.mir

  Log Message:
  -----------
  [AArch64][SME] Don't pass debug instructions to LiveUnits.stepBackward() (#198010)

See https://github.com/llvm/llvm-project/pull/193104 (follow up to
#197989).


  Commit: 8f2f0162a9362f9042d1200b3fbcc09d3fa38f8c
      https://github.com/llvm/llvm-project/commit/8f2f0162a9362f9042d1200b3fbcc09d3fa38f8c
  Author: Simi Pallipurath <simi.pallipurath at arm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M libc/src/__support/freelist_heap.h

  Log Message:
  -----------
  [libc] Make FreeListHeap::free ignore null pointers. (#198834)

Update `FreeListHeap::free` to return immediately when passed `nullptr`.

This matches the expected `free(nullptr)` behaviour as per the C
standard and avoids running pointer validation on a null pointer
allowing the hermetic malloc test libc/test/src/stdlib/malloc_test.cpp
to pass.

As per standard:
The free function, paragraph:
```
  The free function causes the space pointed to by
  ptr to be deallocated, that is, made available for
  further allocation. If ptr is a null pointer,
  no action occurs.
```


  Commit: 4eeee28f308a2ca87674d33b2842e217b1ccf686
      https://github.com/llvm/llvm-project/commit/4eeee28f308a2ca87674d33b2842e217b1ccf686
  Author: David Green <david.green at arm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  [AArch64][GlobalISel] Do not clamp s16 G_FCONSTANT. (#198983)

This should be an NFC as s16 FCONSTANT is already legal and handled
later
whether fp16 is available or not.


  Commit: 835e014bc0a0672e71f296c83d6a8af6a080844b
      https://github.com/llvm/llvm-project/commit/835e014bc0a0672e71f296c83d6a8af6a080844b
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M mlir/lib/Dialect/Transform/IR/Utils.cpp

  Log Message:
  -----------
  [mlir] only verify moved symbols in transform (#197882)

When merging named sequences from an external module in the transform
interpreter, only run the inliner verification for operations that were
actually moved rather than all pre-existing operations. This avoids
verifying inlining conditions for operations that wouldn't be inlined by
this logic, and is also more parsimonious.

Reverts #195770 but keeps the test. This is a more generic fix.


  Commit: 868aefd5ea47493e4a231b72875e6909f85334f6
      https://github.com/llvm/llvm-project/commit/868aefd5ea47493e4a231b72875e6909f85334f6
  Author: David Green <david.green at arm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/alias_mask.ll
    M llvm/test/CodeGen/AArch64/dag-combine-setcc.ll
    M llvm/test/CodeGen/AArch64/fixed_masked_deinterleaved_loads.ll
    M llvm/test/CodeGen/AArch64/fixed_masked_interleaved_stores.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
    M llvm/test/CodeGen/AArch64/sve-mask-partition.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll

  Log Message:
  -----------
  Revert "[AArch64] Use ADDP tree for v16i8 to i16 bitmask extraction (#192974)" (#198985)

This reverts commit 42cc9b53bf83ebb778755fd51a9b277cb71740d5 as it is
tripping up on type legalization.


  Commit: 9c826fef2d403baa2a4165e628aa6a27fa6d2b7a
      https://github.com/llvm/llvm-project/commit/9c826fef2d403baa2a4165e628aa6a27fa6d2b7a
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M libcxx/include/__cxx03/limits
    M libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp

  Log Message:
  -----------
  [libc++][C++03] Cherry-pick #166724 (#198839)


  Commit: 2a17897a10b0a596449e49f3d3b213c6daf892d3
      https://github.com/llvm/llvm-project/commit/2a17897a10b0a596449e49f3d3b213c6daf892d3
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M libcxx/include/__cxx03/__functional/hash.h
    M libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp

  Log Message:
  -----------
  [libc++][C++03] Cherry-pick #166690 (#198977)


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/test/CodeGen/X86/combine-reductions.ll
    R llvm/test/CodeGen/X86/horizontal-reduce-smax.ll
    R llvm/test/CodeGen/X86/horizontal-reduce-smin.ll
    R llvm/test/CodeGen/X86/horizontal-reduce-umax.ll
    R llvm/test/CodeGen/X86/horizontal-reduce-umin.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll

  Log Message:
  -----------
  [X86] Replace custom minmax reduction pattern matching with ISD::VEC_REDUCE_*MIN/MAX support (#194473)

Support middle-end reduction integer min/max patterns instead of relying
on the ExpandReductions pass and then matching the expanded pattern in
DAG.

Middle-end reduction pattern recognition now matches
SelectionDAG::matchBinOpReduction (inc partial reduction), and its
better to improve future handling in InstCombine/VectorCombine wherever
possible.

Fixes #194624


  Commit: 7d97d03fb04acd45fa21bc7159a4d8b4a35e2293
      https://github.com/llvm/llvm-project/commit/7d97d03fb04acd45fa21bc7159a4d8b4a35e2293
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  [VPlan] Use inferred type for VPReplicateRecipe void check (NFC) (#198560)


  Commit: 22822658410722ca3520aedc2f4338ed9430ebc6
      https://github.com/llvm/llvm-project/commit/22822658410722ca3520aedc2f4338ed9430ebc6
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/test/Transforms/LoopInterchange/interchanged-loop-nest-3.ll
    M llvm/test/Transforms/LoopInterchange/pr57148.ll
    A llvm/test/Transforms/LoopInterchange/reduction-not-involve-innermost.ll

  Log Message:
  -----------
  [LoopInterchange] Always create a new latch when interchanging (#194574)

In the transformation phase of loop-interchange, when the inner loop to
be interchanged is the innermost one, a new latch BB is created and
several instructions are moved from the original BB to the new one to
generate valid IR. I'm not sure why this process was performed only when
the target loop is the innermost loop, but as demonstrated in #163954,
this process is also necessary when interchanging non‑innermost loops,
e.g., when a reduction exists and the reduction operation is located in
the latch BB of the inner loop.
This patch removes the conditional branch and always creates a new latch
during the transformation.

Fix #163954


  Commit: 955b34dd7b51482b8b90e5bb29be0977fc82c0b8
      https://github.com/llvm/llvm-project/commit/955b34dd7b51482b8b90e5bb29be0977fc82c0b8
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/test/Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll
    M llvm/test/Transforms/LoopInterchange/profitability-instorder.ll

  Log Message:
  -----------
  [LoopInterchange] Make the instorder profitability check GEP-independent (#181991)

The heuristic function `instorder` assumes that the structure of GEPs
reflect the original memory access patterns, which is not always true.
Moreover, recent trends in LLVM are moving in a direction where such
patterns are no longer preserved. If the migration from GEP to ptrtoadd
is completed, this heuristic will no longer make sense.

To achieve what this heuristic is trying to do, we should examine the
SCEV of the pointer operands of loads/stores, rather than relying on
GEPs. This patch replaces the GEP‑dependent logic with an SCEV‑based
analysis. Instead of relying on the operand order in GEPs, the
SCEV‑based approach walks through the SCEV expression, identifies the
step recurrences of the relevant loops, and compares them. This allows
us to perform what `instorder` intends to do without relying on how
memory access patterns are represented in the IR.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-reduce-smax.ll

  Log Message:
  -----------
  [X86] LowerVECREDUCE - don't attempt to handle vectors with non-pow2 element counts (#198989)

32-bit targets will attempt to lower vXi64 reductions prior to argtype legalization

Crash fix - we can improve the handling in a future commit


  Commit: c7b502803095b2c0f6a5a1f8e46ec8c5796e9e0a
      https://github.com/llvm/llvm-project/commit/c7b502803095b2c0f6a5a1f8e46ec8c5796e9e0a
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-prune-vf.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-gather-scatter.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/interleave-conditional-scalar-assignment-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-dot-printing.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-before-execute.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/widen-canonical-iv-register-pressure.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/vplan.ll.expected

  Log Message:
  -----------
  [LV] Convert gather loads with constant stride into strided loads (#147297)

This patch detects non-consecutive load accesses (i.e. gather) with a
constant stride, such as:
```
  void stride(int* a, int *b, int n) {
    for (int i = 0; i < n; i++)
      a[i * 5] = b[i * 5] + i;
  }
```
and converts them into strided loads when legal and profitable, using
experimental_vp_strided_load.
The new VPlan transformation, convertToStridedAccesses, hoists the
functionality of RISCVGatherScatterLowering into the vectorizer,
enabling a more precise cost estimation during vectorization.
Additionally, by leveraging SCEV for stride analysis, the vectorizer can
potentially detect more opportunities to optimize gathers into strided
loads.

This enables more efficient code generation for targets like RISC-V that
support strided loads natively.


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

  Changed paths:
    M llvm/test/CodeGen/X86/madd.ll
    A llvm/test/Transforms/PhaseOrdering/X86/madd.ll

  Log Message:
  -----------
  [X86] Update PMADDWD tests to more closely match middle-end vector.reduce.add codegen (#198993)

The middle-end will detect vector.reduce.add patterns - update the
Codegen tests to use the intrinsics directly and add PhaseOrdering tests
to ensure vector.reduce.add intrinsics are created


  Commit: 7be306c647419be64350e28c4d040d9500e63723
      https://github.com/llvm/llvm-project/commit/7be306c647419be64350e28c4d040d9500e63723
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    R llvm/test/Transforms/LoopInterchange/many-load-stores.ll
    A llvm/test/Transforms/LoopInterchange/memory-instr-ratio.ll

  Log Message:
  -----------
  [LoopInterchange] Bail out when memory instruction ratio is high (#192954)

Currently, to save compile-time, LoopInterchange limits the number of
memory instructions and bails out early if it exceeds a threshold.
However, the dependence analysis phase in LoopInterchange has `O(N^2)`
complexity, where `N` is the number of memory instructions. This means
that even a small number of memory instructions can have a
non‑negligible impact on compile-time. In fact, I found such a case
(about +5% compile‑time regression), which the most instructions in the
loop are stores.
This patch replaces the heuristic which determines whether we should
continue the analysis or bail out to save compile time. The idea is that
if the ratio of the squared number of memory instructions to the total
number of instructions is small, LoopInterchange is allowed to continue
its analysis. The existing option `-loop-interchange-max-meminstr-count`
is removed.

Compile-time improvement:
https://llvm-compile-time-tracker.com/compare.php?from=f344adcd2fb876d61f016fb92369a6530cc85a5b&to=6f7e5b0e4b35116728563913f2d98b7f9341409b&stat=instructions:u


  Commit: d473e146ce9ebe22064b7d21722407245a3fae9b
      https://github.com/llvm/llvm-project/commit/d473e146ce9ebe22064b7d21722407245a3fae9b
  Author: Thrrreeee <shijinrui at bytedance.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M bolt/include/bolt/Core/DIEBuilder.h

  Log Message:
  -----------
  [BOLT][DebugInfo] Speed up DIEBuilder with DenseMap (#197655)

We replaced `std::unordered_map` with LLVM's `DenseMap` for the DIE maps
in DIEBuilder. Since this map is accessed frequently during DWARF
rewriting, the improved data layout translates directly into reduced
cache misses. As shown in the benchmark results, this change yields
1.22x–1.27x speedup.

**Program from Bytedance**
| BatchSize | Baseline (s) | Optimized (s) | Speedup |
|---|---|---|---|
| 2 | 120.01 | 98.32 | 1.22x |
| 4 | 104.12 | 85.37 | 1.22x |
| 16 | 82.31 | 66.41 | 1.24x |
| 32 | 77.45 | 61.01 | 1.27x |
| 64 | 71.69 | 56.35 | 1.27x |


  Commit: 607870acacbb8ebc6247e45e4004ee029b2ceb60
      https://github.com/llvm/llvm-project/commit/607870acacbb8ebc6247e45e4004ee029b2ceb60
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Use `Pointer::computeOffsetForComparison()` for non-eq comparisons as well (#198243)


  Commit: 2c4065f671e08de65ae576c9a4a91daaed65d8cd
      https://github.com/llvm/llvm-project/commit/2c4065f671e08de65ae576c9a4a91daaed65d8cd
  Author: Sirui Mu <msrlancern at gmail.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/test/CIR/CodeGen/atomic.c

  Log Message:
  -----------
  [CIR] Atomic fetch-and-update operations on pointers (#195537)


  Commit: 8b1c7ea6f6e91a9977177dd214aca0523f58064e
      https://github.com/llvm/llvm-project/commit/8b1c7ea6f6e91a9977177dd214aca0523f58064e
  Author: Jakob Linke <jakob at linke.cx>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang/include/clang/Sema/SemaCodeCompletion.h
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/test/CodeCompletion/desig-init.cpp
    A clang/test/CodeCompletion/offsetof.cpp

  Log Message:
  -----------
  [clang] Complete fields in __builtin_offsetof designators (#195126)

Code completion was a no-op inside `__builtin_offsetof`: a cursor at `
__builtin_offsetof(T, ^)` or `__builtin_offsetof(T, a.^)` fell through
to ordinary-name completion instead of suggesting fields. Route the
code_completion token to a new SemaCodeCompletion entry point that walks
the designator path so far, resolves the subobject's type, and
enumerates its members. Methods are filtered out, inherited fields are
included, indirect fields from anonymous unions and structs are peeled,
and `using Base::field` resolves through its UsingShadowDecl. A
code_completion token past a complete component (right after `]` or at
the end of the chain) is dropped rather than offering fields the user
can't paste without first typing `.`.

The offsetof and designated-initializer type walkers are folded into one
helper parameterized by a field-lookup callback, which incidentally
fixes reference-field and indirect-field traversal in
designated-initializer completion too.

Tests: lit cases in offsetof.cpp covering empty/dot/array/inheritance/
reference/anonymous/using-shadow/macro forms, extended desig-init.cpp
walker cases, and a clangd unit test exercising the IDE path.

Context: #195126 and #194407

This work was AI assisted but human-reviewed.

The followup for the added FIXME is at
https://github.com/llvm/llvm-project/compare/main...schuay:llvm-project:refactor-offsetof-component-to-designation


  Commit: 1c305a3085f602f97f834ceae0474f3cb4b0b071
      https://github.com/llvm/llvm-project/commit/1c305a3085f602f97f834ceae0474f3cb4b0b071
  Author: Rafał Rudnicki <rafal.rudnicki at intel.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  [AMDGPU] Coverity fixes - check ret val and init class members (#198570)

Coverity fixes:
* calling getIntrinsicSignature without checking return value (as is
done elsewhere 4 out of 5 times) in
llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
* non-static class member MaxSGPRs, MaxVGPRs and MaxUnifiedVGPRs is not
initialized in this constructor nor in any functions that it calls in
llvm/lib/Target/AMDGPU/GCNRegPressure.h


  Commit: e453259960d0723805cafebeaafb6866a77781de
      https://github.com/llvm/llvm-project/commit/e453259960d0723805cafebeaafb6866a77781de
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp

  Log Message:
  -----------
  [lldb] Add missing includes. (#198996)

Failed to build in CI because,
ScriptedPythonInterface::CreatePlugingObject is a template function and
the arguments are of incomplete types gotten from `lldb-forward.h`
(typedef of lldb_private::XXXX = XXXXSP).

Introduced in commit 1b4a578a9f7760a00bf26525a603be1ec6e7d862


  Commit: 63b905cf47780d9e3a13d08b17e19748061a8dd7
      https://github.com/llvm/llvm-project/commit/63b905cf47780d9e3a13d08b17e19748061a8dd7
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/OpIsFinite.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/OpIsNormal.ll

  Log Message:
  -----------
  [SPIR-V] Add support for OpIsFinite and OpIsNormal intrinsics (#196961)


  Commit: 93d8c2b6099e447e1487b39e80254f578cd49c97
      https://github.com/llvm/llvm-project/commit/93d8c2b6099e447e1487b39e80254f578cd49c97
  Author: Zaky Hermawan <44158147+ZakyHermawan at users.noreply.github.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-srem.mir
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/rem_and_div.mir
    M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/rem_and_div.ll

  Log Message:
  -----------
  [GlobalISel][KnownBits] Port SREM to GlobalISel (#198956)

This PR also move case statement for or `G_UREM `that is being
introduced by https://github.com/llvm/llvm-project/pull/193455 So that
`G_[U|S][DIV|REM] ` being grouped together, just like in
`SelectionDAG.cpp`

Related: https://github.com/llvm/llvm-project/issues/150515

---------

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


  Commit: 385701ce90407e814b760ccd8324099a67e8107f
      https://github.com/llvm/llvm-project/commit/385701ce90407e814b760ccd8324099a67e8107f
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/test/Transforms/LoopInterchange/profitability-instorder.ll

  Log Message:
  -----------
  [LoopInterchange] Add test for multiple accesses to same base ptr (NFC) (#193476)

Currently `getInstrOrderCost` doesn't check the base pointers of the
accesses, which can lead to undesirable profitability decisions. This
patch adds a test that demonstrates such a case.


  Commit: 6255ecd593f488bd99123771e9803ad2f1be49c5
      https://github.com/llvm/llvm-project/commit/6255ecd593f488bd99123771e9803ad2f1be49c5
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
    M clang/test/SemaHIP/incorrect-atomic-scope.hip

  Log Message:
  -----------
  [AMDGPU][Clang] use ScopeModel to translate integer scopes [NFC] (#198250)

The assumption here is that AMDGPU builtins (typically suffixed with
`__builtin_amdgcn`) use the `__MEMORY_SCOPE_*` enumeration, and not the
`__HIP_MEMORY_SCOPE_*` enumeration (which is how it should be).

Assisted-By: Claude Opus 4.6


  Commit: 45f8bda33abe5182364a26038c7a12079ace4007
      https://github.com/llvm/llvm-project/commit/45f8bda33abe5182364a26038c7a12079ace4007
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll

  Log Message:
  -----------
  [SPIR-V] Fix failure-order register reuse in atomic cmpxchg lowering (#199000)

Fix copy-paste issue, extend tests for cmpxchg atomic


  Commit: 371f57cd67a523d241678509f57d048d58417b87
      https://github.com/llvm/llvm-project/commit/371f57cd67a523d241678509f57d048d58417b87
  Author: Hussam Alhassan <hsm.link at proton.me>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

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

The intra-block path used a DenseMap cleared at each block boundary, so
pairs from dominating blocks were never visible to descendants. Replace
it and the separate cross-block path with a unified recursive domtree
walk using a ScopedHashTable. Any dominating block's pair is now a
candidate, not just pairs within the same block.

Rename optimizeIntraBlock to optimizeBlock and remove dead code


  Commit: e1570b88284fd48485fad0d5ae63f689e0caf6c9
      https://github.com/llvm/llvm-project/commit/e1570b88284fd48485fad0d5ae63f689e0caf6c9
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    R llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir

  Log Message:
  -----------
  [AArch64] Delete llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir (NFC) (#198974)

It's bit-identical to
llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs.mir. The
-in-fcmp test is older (0f0fd383b487), but 84a6a057e60b later expanded
op coverage and left both files with the exact same contents.


  Commit: 3d126bd56808ba04afc3ed77ea951567ece1e861
      https://github.com/llvm/llvm-project/commit/3d126bd56808ba04afc3ed77ea951567ece1e861
  Author: John Brawn <john.brawn at arm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/masked_expand_load.ll
    M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
    M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
    M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll

  Log Message:
  -----------
  [CostModel] Move the arbitrary load latency into getMemoryOpCost (#198790)

Currently TargetTransformInfoImpl returns an arbitrary cost of 4 for the
latency of loads in getInstructionCost. This means even if a target
correctly reports the latency for loads in getMemoryOpCost we still get
this arbitrary cost in getInstructionCost. It also means the latency
cost is inconsistent depending on whether you go through
getInstructionCost or getMemoryOpCost.

Solve this by moving the current arbitrary cost into getMemoryOpCost.
This has the side-effect of affecting the cost of masked loads if they
aren't handled by the target, as in BasicTTIImpl the cost for these is
calculated using getMemoryOpCost. This should mean the cost is more
accurate though, and likely won't have any effect as in any
transformation that could introduce masked loads (e.g. vectorization)
the current cost is probably high enough that it's already not worth
using.


  Commit: 26f5eb2b8f53bda6b4ae97f9757523bd157b9263
      https://github.com/llvm/llvm-project/commit/26f5eb2b8f53bda6b4ae97f9757523bd157b9263
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  clang/AMDGPU: Stop adding -m32/-m64 for OpenCL (#199005)

The pointer size is not configurable; you get what you get
based on the triple. I don't know what the point of this was,
I don't even see the argument in the final cc1 invocation.


  Commit: bf76ada7b3e9345ad4d93c44025719f12cec1bec
      https://github.com/llvm/llvm-project/commit/bf76ada7b3e9345ad4d93c44025719f12cec1bec
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/test/Transforms/LoopInterchange/profitability-instorder.ll

  Log Message:
  -----------
  [LoopInterchange] Take base pointer into account in profitability check (#193477)

Currently `getInstrOrderCost` doesn't check the base pointers of the
accesses, which can lead to undesirable profitability decisions. This
patch makes the function take the base pointers into account. Fix the
test case added in #193476.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/VPlan/X86/scalarize-wide-load-for-address-use.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll

  Log Message:
  -----------
  [VPlan] Run replaceSymbolicStrides on VPlan0 (NFCI). (#196840)

Running replacceSymbolicStrides on VPlan0 means we only need to run it
once, and also enables simplifications earlier on. It is also needed to
be able to compute costs of the scalar VPlan0 early accurately, without
hacks manual folds like in the legacy cost model.

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


  Commit: 012abddca170c33425fef4dd9a26e77889a0dc91
      https://github.com/llvm/llvm-project/commit/012abddca170c33425fef4dd9a26e77889a0dc91
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M offload/liboffload/CMakeLists.txt
    M offload/libomptarget/CMakeLists.txt
    M offload/plugins-nextgen/CMakeLists.txt

  Log Message:
  -----------
  [Offload] Fix LLVM_LINK_LLVM_DYLIB linking liboffload (#198955)

Summary:
When this is set you can only link against `LLVM`. The previous patch
did not respect this because I did not realize that internally in the
add_llvm_library that this was required.


  Commit: 4d7b7dff60c3c3c3858e91858d2f74a512d71538
      https://github.com/llvm/llvm-project/commit/4d7b7dff60c3c3c3858e91858d2f74a512d71538
  Author: Amelia Jochna <ameliajochna1 at gmail.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/lib/Lex/PPDirectives.cpp
    A clang/test/Preprocessor/nonportable-trailing-whitespace-win.c
    A clang/test/Preprocessor/nonportable-trailing-whitespace.c

  Log Message:
  -----------
  [Clang] Add warning for non-portable include paths with trailing whitespace or dots (#190610)

This patch extends -Wnonportable-include-path to detect and warn about
trailing whitespace and dots in #include directives. Such paths are
non-portable and can lead to build failures on different operating
systems.

The warning is triggered when an include filename ends with a space or a
dot, which is common when copy-pasting paths or due to typos.

Fixes #96064


  Commit: 542397ae3f9c61c159d7640023531c53b9fc7456
      https://github.com/llvm/llvm-project/commit/542397ae3f9c61c159d7640023531c53b9fc7456
  Author: Jakub Chlanda <jchlanda at accesssoftek.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/test/ELF/aarch64-feature-pauth.s

  Log Message:
  -----------
  [lld][PAC] Print full version and platform values on core mismatch (#198758)

`toHex()` only prints a single byte of the integer value, which can hide
the actual mismatch in AArch64 PAuth ABI core info diagnostics.


  Commit: 5c59784cf831dd456cf599a8d2358329351287ad
      https://github.com/llvm/llvm-project/commit/5c59784cf831dd456cf599a8d2358329351287ad
  Author: walkerkd <keith.walker at arm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  [AArch64] C1-Nano scheduling model refactor [NFC] (#198469)

Creates explicit definitions for each latency/throughput/resource
combination and use the definitions in the instruction rule definitions.

Alhough this change touches most lines in the model, there is no
functional change - all test cases are not affected by this change.

This makes the style of the C1-Nano scheduling model be similar to that
used in the C1-Ultra / C1-Premium and is being done in preparation to
including the work to support SME instructions that is currently being
implemented on the C1-Ultra scheduling model


  Commit: dd0f9b7e7319deba00341026030353e70790d1a1
      https://github.com/llvm/llvm-project/commit/dd0f9b7e7319deba00341026030353e70790d1a1
  Author: Abu <49108786+user1342234 at users.noreply.github.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/or.ll
    M llvm/test/Transforms/InstCombine/select-min-max.ll
    M llvm/test/Transforms/InstCombine/sext-nonneg-sub.ll

  Log Message:
  -----------
  [InstCombine] Fold `X s<= Y ? 0 : X -nsw Y -> X - smin(X, Y)` (#187898)

This is part of #146131 and #182597

`func3` and `func4` are
[equivalent](https://alive2.llvm.org/ce/z/NNMTDa) but `func3` produces a
`sext` instead of `zext` when `b - a` is known non-negative.

[Proof of correctness](https://alive2.llvm.org/ce/z/ZthC9m)

```c++
#include <stdint.h>

uint64_t func3(int32_t a, int32_t b) {
    return (b < a ? 0 : (int32_t)(b - a));
}

uint64_t func4(int32_t a, int32_t b) {
    return (b < a ? 0 : (uint32_t)(b - a));
}
```
In x86-64, it would make shorter code by zero-extending instead of
sign-extending b - a.


My PR fixes this by handling all patterns below:
`(X < Y) ? 0 : (X - Y)`
`(X > Y) ? 0 : (Y - X)`
`(X < Y) ? (Y - X) : 0`
`(X > Y) ? (X - Y) : 0`


  Commit: 1b0b2e94110b9a01a2ee3a5b086dc1b4827c921d
      https://github.com/llvm/llvm-project/commit/1b0b2e94110b9a01a2ee3a5b086dc1b4827c921d
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/test/Transforms/LoopInterchange/delay-cachecost-calculation.ll
    M llvm/test/Transforms/LoopInterchange/lcssa-phi-outer-latch.ll
    M llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll
    M llvm/test/Transforms/LoopInterchange/perserve-lcssa.ll
    M llvm/test/Transforms/LoopInterchange/pr57148.ll
    M llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll

  Log Message:
  -----------
  [LoopInterchange] Disable LoopCacheAnalysis-based heuristic by default (#193478)

LoopInterchange has three types of heuristics for profitability
decisions: `cache`, `instorder`, and `vectorize`. Currently, the
profitability check invokes these heuristics in this order. The
heuristic corresponding to `cache` is based on LoopCacheAnalysis.
However, LoopCacheAnalysis applies several aggressive heuristics, which
can sometimes lead to undesirable decisions. In contrast, the heuristic
corresponding to `instorder` is relatively simpler than `cache`, but its
behavior is clear and it is likely sufficient for practical cases.
In light of the default enablement, I believe it is better to use a
simpler, easier‑to‑reason‑about, and more stable heuristic rather than
an aggressive but complex one. Therefore, this patch disables the
LoopCacheAnalysis‑based profitability check by default.


  Commit: f5f96b80b4a490db865d054d05b62907f07692b7
      https://github.com/llvm/llvm-project/commit/f5f96b80b4a490db865d054d05b62907f07692b7
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M .github/workflows/new-prs.yml
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  [CI] Fix GH PR Greeter (#198160)

Add missing argument in the PR Greeter invocation. Follow-up for
#197140. Issue reported here:
* https://discourse.llvm.org/t/ci-failure-prgreeter-on-my-first-pr


Also, as per
* https://docs.github.com/en/actions/concepts/security/script-injections, and
* https://docs.github.com/en/actions/reference/security/secure-use#use-an-intermediate-environment-variable,

make sure that that greeter relies on ENV variables for input arguments.


  Commit: 8bdc185b887bc0813f8dae203389e8c497ebf723
      https://github.com/llvm/llvm-project/commit/8bdc185b887bc0813f8dae203389e8c497ebf723
  Author: Jack Styles <jack.styles at arm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M flang/include/flang/Support/OpenMP-utils.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
    M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
    M flang/lib/Support/OpenMP-utils.cpp

  Log Message:
  -----------
  [Flang][OpenMP][NFC] Remove Fortran Evaluate Depedancy from Support (#198742)

Following #197442, FortranEvaluate was implicitly included in
OpenMP-utils.h which should be avoided to ensure front-end data
structures in the Optimizers can stop and restart pure MLIR source
without any side-data structures.

To ensure this is done, EntryBlockArgs has been stripped back to only
track vars, objects are now tracked within ObjectEntryBlockArgs in
Lowering as this is a more appropriate place for this information, and
the existing symbol tracking in EntryBlockArgsEntry was only used here.
This ensures FortranEvaluate is not needed within the Optimizers, and
objects can still be maintained when lowering. This enables better
referencing in Reduction Clauses, where previously context was being
lost for expressions such as ArrayElements.

See more: #197442

Assisted-by: Codex


  Commit: f53a508c4af085b3aedd71724ea6fbdb7a6b3136
      https://github.com/llvm/llvm-project/commit/f53a508c4af085b3aedd71724ea6fbdb7a6b3136
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M .github/workflows/merged-prs.yml

  Log Message:
  -----------
  [CI] Pass script args using env var in merged PRs workflow (#199022)

As was done in #198160, address the problem described in
https://docs.github.com/en/actions/concepts/security/script-injections
using the solution recommended by

https://docs.github.com/en/actions/reference/security/secure-use#use-an-intermediate-environment-variable.

Not all these inputs are untrusted, but I've applied it to all of them
just to be consistent.


  Commit: c64b7083ce8c7e1b8de9581e3e0045197bfd50a1
      https://github.com/llvm/llvm-project/commit/c64b7083ce8c7e1b8de9581e3e0045197bfd50a1
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/vmerge-peephole.mir

  Log Message:
  -----------
  [RISCV] Ensure AVL dominates True in vmerge peephole (#199008)

When folding vmerge into its true operand, if vmerge has an AVL defined
by a register and true has VLMAX, then the minimum AVL will be the
register. In this case it's not guaranteed to dominate true, so we need
to potentially sink true so it does.

This teaches ensureDominates to check multiple definitions at the same
time, since we want the sinking to be atomic.

Fixes #198733


  Commit: ad1311e967a5a8ea9a68200f766033d3b7a6753e
      https://github.com/llvm/llvm-project/commit/ad1311e967a5a8ea9a68200f766033d3b7a6753e
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/source/Host/windows/HostProcessWindows.cpp

  Log Message:
  -----------
  [lldb][windows] Fix HostProcessWindows::Terminate clobbering error (#199012)


  Commit: 5b13f482c1d89fbf6449d75add61bfd6b4fd0f55
      https://github.com/llvm/llvm-project/commit/5b13f482c1d89fbf6449d75add61bfd6b4fd0f55
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/source/Host/windows/HostThreadWindows.cpp

  Log Message:
  -----------
  [lldb][windows] Fix HostThreadWindows::Cancel inverted error reporting (#199013)


  Commit: 7f3e168f596c492504e55eecdc0aad53577f60c4
      https://github.com/llvm/llvm-project/commit/7f3e168f596c492504e55eecdc0aad53577f60c4
  Author: Scott Linder <scott.linder at amd.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [OpenMP][OMPIRBuilder] Refactor removeUnusedBlocksFromParent (#198938)

This is essentially post-commit review for #198690 which was landed
quickly to fix nondeterminism in tests introduced in #197637

Change-Id: Ib3603ef3c70dde5bb22d0fc04d9249e62ecccf0c
Co-authored-by: @Meinersbur
Co-authored-by: @chichunchen


  Commit: df8819852edc1031b1cea4769bf47ecb338607b2
      https://github.com/llvm/llvm-project/commit/df8819852edc1031b1cea4769bf47ecb338607b2
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Options/FlangOptions.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/FrontendOptions.h
    M flang/include/flang/Parser/options.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Parser/parsing.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    R flang/test/Driver/ffree-line-length.f90

  Log Message:
  -----------
  Revert "[Flang] Adding -ffree-line-length-<value> flag" (#199018)

Reverts llvm/llvm-project#192941 due to various important apps failures.


  Commit: ceee5d7d14268ecef997eaa7c05f21a2ea537d1c
      https://github.com/llvm/llvm-project/commit/ceee5d7d14268ecef997eaa7c05f21a2ea537d1c
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M .github/workflows/commit-access-greeter.yml

  Log Message:
  -----------
  [CI] Remove unused env var from commit-access-greeter (#199024)

LABEL_NAME has been there since the workflow's introduction in
f8ef2699d860aea97750953f1b79db8ef7574e82, but has never been used.


  Commit: 14745b3e09596b578c1ab377dec243fe799cd95e
      https://github.com/llvm/llvm-project/commit/14745b3e09596b578c1ab377dec243fe799cd95e
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/source/Host/windows/HostThreadWindows.cpp

  Log Message:
  -----------
  [lldb][windows] Fix HostThreadWindows::Join dead-code on GetExitCodeThread failure (#199014)


  Commit: c76731e8a5ae7c354ab1c6fdf616de91e4307db5
      https://github.com/llvm/llvm-project/commit/c76731e8a5ae7c354ab1c6fdf616de91e4307db5
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M .github/workflows/pr-subscriber.yml

  Log Message:
  -----------
  [CI] Pass label name to script using env var in pr-subscriber workflow (#199026)

As is done in issue-subscriber.yml already.

This addresses the problem described in
https://docs.github.com/en/actions/concepts/security/script-injections
using the solution recommended by

https://docs.github.com/en/actions/reference/security/secure-use#use-an-intermediate-environment-variable.


  Commit: 5d9c2ed61ec2bce204c22e1b45bc7c2a7be01b0a
      https://github.com/llvm/llvm-project/commit/5d9c2ed61ec2bce204c22e1b45bc7c2a7be01b0a
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp

  Log Message:
  -----------
  [lldb][windows] Null-check m_session_data in ProcessDebugger::HaltProcess (#199016)


  Commit: 553b6099b20c9f4ebbb19197c5c8b7cfcda565c2
      https://github.com/llvm/llvm-project/commit/553b6099b20c9f4ebbb19197c5c8b7cfcda565c2
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_mmsghdr.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct_mmsghdr.h
    M libc/include/sys/socket.yaml
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/sendmmsg.h
    M libc/src/sys/socket/CMakeLists.txt
    M libc/src/sys/socket/linux/CMakeLists.txt
    A libc/src/sys/socket/linux/sendmmsg.cpp
    A libc/src/sys/socket/sendmmsg.h
    M libc/test/src/sys/socket/linux/CMakeLists.txt
    A libc/test/src/sys/socket/linux/sendmmsg_test.cpp
    M libc/utils/docgen/sys/socket.yaml

  Log Message:
  -----------
  Implement linux-specific sendmmsg(2) (#198778)

Assisted by Gemini.
Co-authored-by: Jeff Bailey <jbailey at raspberryginger.com>


  Commit: dd9086143ef7001ac6e3ce455a26db2c1e7c8efb
      https://github.com/llvm/llvm-project/commit/dd9086143ef7001ac6e3ce455a26db2c1e7c8efb
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    M llvm/include/llvm/MC/DXContainerInfo.h
    M llvm/include/llvm/Object/DXContainer.h
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/lib/BinaryFormat/DXContainer.cpp
    M llvm/lib/MC/DXContainerInfo.cpp
    M llvm/lib/Object/DXContainer.cpp
    M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    A llvm/test/tools/obj2yaml/DXContainer/VERSPart.yaml
    M llvm/unittests/Object/DXContainerTest.cpp
    M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp

  Log Message:
  -----------
  [DirectX][ObjectYAML] Add VERS part support (#198222)

Add support for DXContainer VERS part in the ObjectYAML pipeline so it
can be represented in structured YAML and round-tripped through
yaml2obj/obj2yaml.

VERS is emitted into DXContainers inside shader PDB files. It stores
information about the version of a compiler used to produce shader
binaries.


  Commit: 79a05f624c430301477969c4011171da8fb16850
      https://github.com/llvm/llvm-project/commit/79a05f624c430301477969c4011171da8fb16850
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp

  Log Message:
  -----------
  [lldb][windows] Null-check m_session_data in ProcessDebugger::OnDebuggerError (#199028)

Add a null check that logs and returns, matching the pattern in
OnExitProcess.


  Commit: 0b469f9e625faa35f8ce6abe2db7ce94cf0e0567
      https://github.com/llvm/llvm-project/commit/0b469f9e625faa35f8ce6abe2db7ce94cf0e0567
  Author: Raul Tambre <raul at tambre.ee>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/test/API/lang/cpp/operator-overload/Makefile

  Log Message:
  -----------
  [lldb][test] Use C++ frontend for building C++ test (#198855)


  Commit: 20be2d6b6571b86af067e7f996f5b1c14e96a52f
      https://github.com/llvm/llvm-project/commit/20be2d6b6571b86af067e7f996f5b1c14e96a52f
  Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/Pipelines/Passes.h
    M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp

  Log Message:
  -----------
  [MLIR][GPUToXeVMPipeline] Add unsupported data type emulation on `math`, `arith`, and `vector` ops. (#197779)

Add `math-extend-to-supported-types` and
`arith-emulate-unsupported-floats` pass to the pipeline. 

These passes are used to emulate `math`, `arith` and `vector` 
floating point operations that use float types which are 
unspported on a target by inserting `extf/truncf` pairs around 
all such operations.


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

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

  Log Message:
  -----------
  [Bazel] Fixes dd90861 (#199033)

This fixes dd9086143ef7001ac6e3ce455a26db2c1e7c8efb.

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


  Commit: 27249aa2d83dd16a6d4d5c71b2f7312dbbbd97de
      https://github.com/llvm/llvm-project/commit/27249aa2d83dd16a6d4d5c71b2f7312dbbbd97de
  Author: Matthias Wippich <mfwippich at gmail.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/Analysis/anonymous-decls.cpp
    M clang/test/Analysis/live-bindings-test.cpp
    M clang/test/CXX/dcl.decl/dcl.decomp/p3.cpp
    M clang/test/CXX/drs/cwg31xx.cpp
    M clang/test/CodeGenCXX/bad-codegen-for-constexpr-structured-bindings.cpp
    M clang/test/CodeGenCXX/cxx1z-decomposition.cpp
    M clang/test/DebugInfo/CXX/structured-binding.cpp
    M clang/test/SemaCXX/cxx2c-decomposition.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Implement CWG3135 - constexpr structured bindings with prvalues from tuples (#191880)

This patch implements
[CWG3135](https://cplusplus.github.io/CWG/issues/3135.html). This has
been accepted into C++26 at the Croydon meeting through [CWG Motion
3](https://github.com/cplusplus/draft/issues/8824).

This change has not been designated a defect report. However, there was
recently some discussion about this designation and GCC implements it as
DR. Therefore, this is treated as DR regardless.


  Commit: 9031580d5cc87963d82468ef7637f4a8f80b24b3
      https://github.com/llvm/llvm-project/commit/9031580d5cc87963d82468ef7637f4a8f80b24b3
  Author: Raul Tambre <raul at tambre.ee>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/test/API/lang/c/cpp_keyword_identifiers/Makefile
    M lldb/test/API/lang/cpp/struct_with_keyword_name/Makefile

  Log Message:
  -----------
  [lldb][test] Set explicit C standard for tests that require an older one (#198858)

These use identifiers which are keywords since C23.
Once the default standard is bumped this would require updating anyway.


  Commit: 03fac96a663bd1250216d972402fcc58efb5441f
      https://github.com/llvm/llvm-project/commit/03fac96a663bd1250216d972402fcc58efb5441f
  Author: Raul Tambre <raul at tambre.ee>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M bolt/test/AArch64/validate-secondary-entry-point.s
    M bolt/test/X86/Inputs/double_jump.cpp
    M bolt/test/X86/Inputs/inlined.cpp
    M bolt/test/X86/Inputs/linenumber.cpp
    M bolt/test/runtime/bolt-reserved.cpp

  Log Message:
  -----------
  [bolt][test] Use non-GNU assembly directive (#198857)

`asm()` is a GNU extension.
`__asm()` is supported in both standard-conforming and GNU mode.


  Commit: 9c26d8c30c1971881d710cf62d0f50b8c640d02f
      https://github.com/llvm/llvm-project/commit/9c26d8c30c1971881d710cf62d0f50b8c640d02f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-loads.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/buildvector-all-external-scalars.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bad-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable_reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gep.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
    M llvm/test/Transforms/SLPVectorizer/X86/no_alternate_divrem.ll
    M llvm/test/Transforms/SLPVectorizer/X86/non-power-of-2-bswap.ll
    M llvm/test/Transforms/SLPVectorizer/X86/opaque-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47642.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vectorize-pair-path.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
    M llvm/test/Transforms/SLPVectorizer/crash_exceed_scheduling.ll
    M llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll

  Log Message:
  -----------
  [SLP] Unify IR flag and metadata propagation in vectorizeTree

Replace scattered propagateIRFlags/propagateMetadata calls with a single
PropagateIRFlags lambda. Excludes copyable scalars from the flag
intersection set and drops nnan/ninf when a copyable lane cannot prove
its operand is non-NaN/non-Inf.

Reviewers: hiraditya, RKSimon, bababuck

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


  Commit: 97e0bd216367f7d645c72da509fab8732cec3498
      https://github.com/llvm/llvm-project/commit/97e0bd216367f7d645c72da509fab8732cec3498
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll

  Log Message:
  -----------
  [RISCV] P-ext support v8i8/v4i16/v2i32 setcc on RV32. (#198685)


  Commit: 92799967d5b8c5a73161f4f0e4147e2065f431d7
      https://github.com/llvm/llvm-project/commit/92799967d5b8c5a73161f4f0e4147e2065f431d7
  Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M flang/include/flang/Lower/ConvertType.h
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertType.cpp
    M flang/lib/Lower/OpenMP/Atomic.cpp
    A flang/test/Integration/OpenMP/atomic-compare.f90
    M flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
    R flang/test/Lower/OpenMP/Todo/atomic-compare.f90
    A flang/test/Lower/OpenMP/atomic-compare.f90
    M flang/test/Semantics/OpenMP/atomic-compare.f90
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.h
    M mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenACCMPCommon/Interfaces/CMakeLists.txt
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir

  Log Message:
  -----------
  revert/reapply  "[Flang] [OpenMP] atomic compare (#184761)"" (#198978)

Reverts llvm/llvm-project#198848

Reverting the reverted PR
[https://github.com/llvm/llvm-project/pull/198848](https://github.com/llvm/llvm-project/pull/198848)
, since the actual issue was different and the original PR
[https://github.com/llvm/llvm-project/pull/184761](https://github.com/llvm/llvm-project/pull/184761)
was reverted incorrectly.

Ref :
https://github.com/llvm/llvm-project/pull/184761#issuecomment-4501760965


  Commit: 2b460b36bdb4ab8f239f5efc38ad83ffde9b1b35
      https://github.com/llvm/llvm-project/commit/2b460b36bdb4ab8f239f5efc38ad83ffde9b1b35
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  [RISCV] Remove unnecessary HasStdExtZbbOrZbkb from some P extension patterns. NFC (#198970)

P implies Zbb so we don't need the extra Predicate.


  Commit: 4d0100789dc9b4db7d77c033d8f53f8b7dc68437
      https://github.com/llvm/llvm-project/commit/4d0100789dc9b4db7d77c033d8f53f8b7dc68437
  Author: Erik Enikeev <evonatarius at gmail.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/test/CodeGen/PowerPC/fast-isel-cmp-imm.ll
    M llvm/test/CodeGen/PowerPC/fp-strict-fcmp-spe.ll
    M llvm/test/CodeGen/PowerPC/legalize-invert-br_cc.ll
    M llvm/test/CodeGen/PowerPC/spe.ll

  Log Message:
  -----------
  [PowerPC] set libcall lowering for fp setcc ops on SPE boards (#153238)

SPE fp comparison instructions don't comply with IEEE-754. They treat
special values like NaN and Inf as normalized numbers, which leads to
incorrect results. For example, when comparing NaN with a normal, the
result can be true, even though the standard requires comparisons with
NaN to be false.

This patch fixes the issue by lowering these operations to libcalls. SPE
comparison instructions can still be used when fast-math flag is
enabled.


  Commit: 58ae6ac5d5d6a928b246eb2ef25e3bf493203791
      https://github.com/llvm/llvm-project/commit/58ae6ac5d5d6a928b246eb2ef25e3bf493203791
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  [RISCV][P-ext] Return SDValue() instead of calling DAG.UnrollVectorOp for non-splat shift amounts. NFCI (#198914)

The generic legalizer can call DAG.UnrollVectorOp itself.


  Commit: 3c8670b4a90c64199e905be698077089b58622ca
      https://github.com/llvm/llvm-project/commit/3c8670b4a90c64199e905be698077089b58622ca
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/include/clang/Driver/ToolChain.h
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    M clang/lib/Driver/ToolChains/CrossWindows.cpp
    M clang/lib/Driver/ToolChains/CrossWindows.h
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Cuda.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.h
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Fuchsia.h
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.h
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.h
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/Haiku.h
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/Linux.h
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MSVC.h
    M clang/lib/Driver/ToolChains/Managarm.cpp
    M clang/lib/Driver/ToolChains/Managarm.h
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/MinGW.h
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/NetBSD.h
    M clang/lib/Driver/ToolChains/OHOS.cpp
    M clang/lib/Driver/ToolChains/OHOS.h
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.h
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.h
    M clang/lib/Driver/ToolChains/Serenity.cpp
    M clang/lib/Driver/ToolChains/Serenity.h
    M clang/lib/Driver/ToolChains/Solaris.cpp
    M clang/lib/Driver/ToolChains/Solaris.h
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.h

  Log Message:
  -----------
  clang: Add BoundArch/OffloadKind argument to getSupportedSanitizers (#196503)

Currently the AMDGPU HIP and OpenMP toolchains falsely report
all host sanitizers are supported, and then go out of their way
to skip forwarding those to the device compiles. Add an offloading
kind argument so that in the future this can be handled in one
place in the base toolchain.

Co-authored-by: Claude Sonnet 4 <noreply at anthropic.com>


  Commit: a77010fc490feb17e892b862bffdb7752c58a8a2
      https://github.com/llvm/llvm-project/commit/a77010fc490feb17e892b862bffdb7752c58a8a2
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp

  Log Message:
  -----------
  [CIR] Fix problem with multiple references to an alloca in a cleanup (#198928)

A recent change to hoist allocas out of a deferred cleanup scope had a
bug wherein if multiple entries in the deferred cleanup stack referenced
the same alloca, the second attempt to see if it needed to be hoisted
would assert in the MLIR region code. This was happening because when we
hoist the alloca, we hoist it to a block that is still under
construction. On the second encounter when we're walking its parent
chain to see if it is contained within the cleanup scope we're
processing, our call to get the parent region of the block containing
the alloca would assert because the alloca is in an unlinked block (it
gets added to a region after we're done constructing it).

To fix this problem, I changed the way we're checking for the alloca
being nested within the cleanup scope, using a more robust
implementation that will tolerate encountering unlinked operations.

Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh


  Commit: 9b64970de9c2ecf5d19cf7e6c65b56bb9adf807e
      https://github.com/llvm/llvm-project/commit/9b64970de9c2ecf5d19cf7e6c65b56bb9adf807e
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/source/Host/windows/PseudoConsole.cpp
    M lldb/source/Plugins/Process/Windows/Common/ForwardDecl.h
    M lldb/source/Plugins/Process/Windows/Common/LocalDebugDelegate.h
    M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h

  Log Message:
  -----------
  [NFC][lldb][windows] Replace typedef with using (#199036)


  Commit: a5bc2ad5ec7c72d8eb2c1bd1abb1652ab535e9fd
      https://github.com/llvm/llvm-project/commit/a5bc2ad5ec7c72d8eb2c1bd1abb1652ab535e9fd
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/test/API/windows/launch/missing-dll/TestMissingDll.py

  Log Message:
  -----------
  [lldb][windows] relax TestMissingDll.py assert (#199046)


  Commit: 57011c962565846b7343915ff3489b91cd036da1
      https://github.com/llvm/llvm-project/commit/57011c962565846b7343915ff3489b91cd036da1
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/include/lldb/Host/windows/MainLoopWindows.h
    M lldb/source/Host/windows/ConnectionConPTYWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/ExceptionRecord.h
    M lldb/source/Plugins/Process/Windows/Common/IDebugDelegate.h
    M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.h
    M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp

  Log Message:
  -----------
  [NFC][lldb][windows] Default empty user-defined destructors (#199037)


  Commit: 8ef4456ec5780db05c0143f7b3aac56799982cf7
      https://github.com/llvm/llvm-project/commit/8ef4456ec5780db05c0143f7b3aac56799982cf7
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/include/lldb/Host/windows/ProcessLauncherWindows.h
    M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
    M lldb/source/Host/windows/FileSystem.cpp
    M lldb/source/Host/windows/Host.cpp
    M lldb/source/Host/windows/HostInfoWindows.cpp
    M lldb/source/Host/windows/MainLoopWindows.cpp
    M lldb/source/Host/windows/PipeWindows.cpp
    M lldb/source/Host/windows/ProcessLauncherWindows.cpp
    M lldb/source/Host/windows/PseudoConsole.cpp
    M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
    M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp
    M lldb/source/Plugins/Process/Windows/Common/arm64/RegisterContextWindows_arm64.cpp
    M lldb/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp
    M lldb/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp

  Log Message:
  -----------
  [NFC][lldb][windows] NULL to nullptr replacement (#199031)


  Commit: 243cb25fc005f0bee07eddd60f6900d4ac0d1b3b
      https://github.com/llvm/llvm-project/commit/243cb25fc005f0bee07eddd60f6900d4ac0d1b3b
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M flang/test/Integration/OpenMP/atomic-compare.f90

  Log Message:
  -----------
  [flang][OpenMP] Make the atomic-compare test run on aarch64 too (#198849)


  Commit: 58cc3da5dc171ad9c52249961a46373800776ce5
      https://github.com/llvm/llvm-project/commit/58cc3da5dc171ad9c52249961a46373800776ce5
  Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M mlir/lib/Dialect/GPU/Pipelines/CMakeLists.txt

  Log Message:
  -----------
  [mlir][gpu][Pipeline] Fix a link issue introduced in PR#197779. (#199060)

Link MLIRArithTransforms and MLIRMathTransforms in GPU pipelines.


  Commit: dc4296a58b48f33853849fc3d2fffee1eb739624
      https://github.com/llvm/llvm-project/commit/dc4296a58b48f33853849fc3d2fffee1eb739624
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.h
    M clang/test/Driver/amdgpu-openmp-sanitize-options.c
    A clang/test/Driver/amdgpu-validate-sanitize.cl
    M clang/test/Driver/hip-sanitize-options.hip

  Log Message:
  -----------
  clang: Refactor handling of offload sanitizer arguments (#196737)

Previously the AMDGPU toolchains hackily handled -fsanitize arguments.
They would lie and report that all host side sanitizers are available,
then TranslateArgs would filter out the device side cases that do not
work, providing diagnostics for the skipped cases. Move that logic
into the base sanitizer argument parsing.

This makes the produced diagnostics more consistent. Previously we
would get repeated warnings when a sanitizer is fully unsupported
by amdgpu, which should now be once for the toolchain. These could
be further improved; we're printing the specific field of -fsanitize
in more cases where it could be skipped. In other cases we have the
opposite problem, where we aren't reporting the exact sanitizer
from the -f flag in the case that depends on a subtarget feature.

This will help fix other broken target specific flag forwarding bugs
in the future.

Co-authored-by: Claude Sonnet 4 <noreply at anthropic.com>


  Commit: 3508db4feeade42b52cf6d0baff8a06d108b05d2
      https://github.com/llvm/llvm-project/commit/3508db4feeade42b52cf6d0baff8a06d108b05d2
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseDeclCXX.cpp
    A clang/test/Parser/cxx-attributes-missing-closing-in-switch.cpp
    A clang/test/Parser/cxx-attributes-missing-closing.cpp
    A clang/test/Parser/cxx-attributes-missing-second-closing-in-switch.cpp
    A clang/test/Parser/cxx-attributes-missing-with-semi-before-closing.cpp
    M clang/test/Parser/cxx-attributes.cpp
    M clang/test/Parser/cxx0x-attributes.cpp
    M clang/test/Parser/pragma-attribute.cpp
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp

  Log Message:
  -----------
  [Clang][Parser] Report error when attribute missing ]] followed by ;; (#187580)

Report error when attribute missing enclosing `]] `followed by `;;`

Fixes: #187223


  Commit: fe74d124e43687b03017b301255f51de33cc8383
      https://github.com/llvm/llvm-project/commit/fe74d124e43687b03017b301255f51de33cc8383
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h

  Log Message:
  -----------
  [DirectX][ObjectYAML] Fix name conflict in DXContainerYAML.h (#199062)

After https://github.com/llvm/llvm-project/pull/198222, GCC with
`-fpermissive` reports an error:
```
llvm/include/llvm/ObjectYAML/DXContainerYAML.h:328:34: error: declaration of ‘std::optional<llvm::DXContainerYAML::CompilerVersion> llvm::DXContainerYAML::Part::CompilerVersion’ changes meaning of ‘CompilerVersion’ [-Wchanges-meaning]
  328 |   std::optional<CompilerVersion> CompilerVersion;
```

Fix that.


  Commit: 569857bd82bc9810cf194aef9ff17fafcb7293fa
      https://github.com/llvm/llvm-project/commit/569857bd82bc9810cf194aef9ff17fafcb7293fa
  Author: Alexis Perry-Holby <aperry at lanl.gov>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    A flang/docs/MeetingNotes/2026/2026-05-20.md

  Log Message:
  -----------
  [flang] Add notes for Flang Community Call May 20th, 2026 (#198912)


  Commit: a3158f4938ad3d7c7f5b43ae25d06b9d43703ffb
      https://github.com/llvm/llvm-project/commit/a3158f4938ad3d7c7f5b43ae25d06b9d43703ffb
  Author: Iñaki V Arrechea <inakiarrechea at google.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp

  Log Message:
  -----------
  Optimization on predecessor count checks for FunctionPropertiesAnalysis (#198940)

It used to need to get the whole bb predecessor count and then check
with the size of it. That needed to go through the whole list only to
check against 1, 2 or 3. By using its already existing basic block
predecessor count function, these attributes can be counted much faster.
Now it doesn't need to go through the whole list. The moment it gets to
the 3rd element, no matter how many predecessors there might be, we have
our answer for the metrics


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

  Changed paths:
    M llvm/test/CodeGen/X86/min-legal-vector-width.ll

  Log Message:
  -----------
  [X86] min-legal-vector-width.ll  - update PMADDWD tests to more closely match middle-end vector.reduce.add codegen (#199061)

Matches what we've already done in madd.ll


  Commit: 3fa922c82a5ac8ef46349e34d0c5bf067eb26811
      https://github.com/llvm/llvm-project/commit/3fa922c82a5ac8ef46349e34d0c5bf067eb26811
  Author: Henry Jiang <henry_jiang2 at apple.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Darwin.cpp
    A clang/test/Driver/darwin-ld-samplepgo.c
    M llvm/lib/LTO/LTOCodeGenerator.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    A llvm/test/tools/llvm-lto/Inputs/sample-profile-module.ll
    A llvm/test/tools/llvm-lto/Inputs/sample-profile.proftext
    A llvm/test/tools/llvm-lto/sample-profile-file-thinlto.ll
    A llvm/test/tools/llvm-lto/sample-profile-file.ll

  Log Message:
  -----------
  [Clang][Darwin] Forward profile-sample-file when constructing link job (#198714)


  Commit: 35f263c7bb5b8a08ea9adcdfc71454097ef06bc5
      https://github.com/llvm/llvm-project/commit/35f263c7bb5b8a08ea9adcdfc71454097ef06bc5
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/include/lldb/Host/windows/PseudoConsole.h
    M lldb/source/Host/windows/PipeWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
    M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp

  Log Message:
  -----------
  [NFC][lldb][windows] Replace C-style casts with static_cast / reinterpret_cast (#199039)


  Commit: 4f4ec3c07cfce3ba2112e354a85a0478061e15e4
      https://github.com/llvm/llvm-project/commit/4f4ec3c07cfce3ba2112e354a85a0478061e15e4
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/FrontendActions.cpp

  Log Message:
  -----------
  [clang] Allow clang only write module/pch when output is different (#198881)

Add an parameter to the output file creation function in clang to allow
it to configure output backend to only write output if the file is
different from the file on the disk. This is useful in a legacy build
system where the incremental build state is tracked by timestamp. For
example, producing the same clang module in the build will not update
the timestamp, thus downstream jobs do not need to be re-run.

The default value is not change so NFI is expected. This is only to
allow clients need such behavior to enable when needed.

Patched-by: hjyamauchi

Co-authored-by: Hiroshi Yamauchi <56735936+hjyamauchi at users.noreply.github.com>


  Commit: 92a37ea073b4e628239c3afd058880268dd8627c
      https://github.com/llvm/llvm-project/commit/92a37ea073b4e628239c3afd058880268dd8627c
  Author: AidinT <at.aidin at gmail.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M mlir/docs/Tutorials/DataFlowAnalysis.md

  Log Message:
  -----------
  [mlir][docs] Fix bugs in data flow analysis code example (#198200)

Some minor changes to avoid compilation errors.
1. `MetadataLatticeValue` doesn't define an `insert` method.
2. `it` (the one that changed) and `rhsIt` are both iterators.


  Commit: d348eb646d81eb2bf520bf3b6385f10bc3184d7c
      https://github.com/llvm/llvm-project/commit/d348eb646d81eb2bf520bf3b6385f10bc3184d7c
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir

  Log Message:
  -----------
  [AMDGPU] Skip bridge copies for grouped MFMA instructions (#198555)

When the MFMA-form rewrite moves a chain of matrix ops from VGPR to AGPR
form, the bridges between ops in the chain don't exist post-rewrite,
instead they all live in AGPR-form together. The cost model was counting
those phantom bridges and rejecting rewrites that were actually
profitable.

Treat the candidate set as a group. Edges inside the group need no
bridge. Skip candidates whose results escape to non-matrix users.

Co-author: Vlad Romanov <Vladislav.Romanov at amd.com>


  Commit: d7c8e716711c57dae3b09b8877c59dc456183f74
      https://github.com/llvm/llvm-project/commit/d7c8e716711c57dae3b09b8877c59dc456183f74
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/test/CIR/CodeGen/atomic.c

  Log Message:
  -----------
  [CIR] Fix atomic-fetch conflict: (#199066)

We had #195537 and #198871 both attempt to fix the same problem, in
mildly different ways. My patch (the latter) did so in a way that was
rendered 'moot' by the former patch.

After looking into it further, I believe that the former is the
'correct' patch.

THIS patch is a partial revert of my patch, leaving the lambda (as I
    think it is a good 'readability' improvement), plus leaving/updating
the test.


  Commit: 299d11f73b09953f2d913c0301c22db0075e76fb
      https://github.com/llvm/llvm-project/commit/299d11f73b09953f2d913c0301c22db0075e76fb
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  [RISCV] Pass MachineOperand * to avoid copying. NFC (#199065)

MachineOperand is 32 bytes according to clangd so passing a pointer will
be cheaper


  Commit: 1618a247e349a27944ce0da4180375de4f8d23f8
      https://github.com/llvm/llvm-project/commit/1618a247e349a27944ce0da4180375de4f8d23f8
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp

  Log Message:
  -----------
  [clang-doc] Use distinct APIs for fixed arena allocation sites (#190426)

Typically, code either always emits data into the TransientArena or the
PersistentArena. Use more explicit APIs to convey the intent directly
instead of relying on parameters or defaults.


  Commit: 140b4ec6f1184bae46154967fec4a4348c5fae83
      https://github.com/llvm/llvm-project/commit/140b4ec6f1184bae46154967fec4a4348c5fae83
  Author: Pablo Reble <pablo.reble at amd.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-flat-scratch-init-asan.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-min-agpr-alloc.ll

  Log Message:
  -----------
  [AMDGPU] Use pessimistic fixpoint in AAAMDGPUMinAGPRAlloc for sanitized functions (#197795)

Adding pessimistic fixpoint when a function has any sanitizer attribute
(`sanitize_address`, `sanitize_memory`, `sanitize_thread`,
`sanitize_hwaddress`, `sanitize_mem_tag`). This prevents the Attributor
from inferring "amdgpu-agpr-alloc"="0" for sanitized functions or their
callers, letting the register allocator conservatively reserve AGPR
capacity.

This patch should prevent kernel to exceeds the hardware register budget
on gfx90a where VPGR and AGPR share the same physical register file.

---------

Co-authored-by: Brendon Cahoon <Brendon.Cahoon at amd.com>


  Commit: 5cc0cc5dd3d11dfc43dedd188bf26584df35983d
      https://github.com/llvm/llvm-project/commit/5cc0cc5dd3d11dfc43dedd188bf26584df35983d
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrFormats.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCInstrMMA.td
    M llvm/lib/Target/PowerPC/PPCInstrVSX.td

  Log Message:
  -----------
  [PowerPC][NFC] Change arguments of PPCPostRAExpPseudo/PseudoXFormMemOp (#198861)

The assembler string of the pseudo is almost always a # followed by the
name of the pseudo. A good part of the pseudos does not have a pattern.
Changing the order of arguments asmstr and pattern in PPCPostRAExpPseudo
and PseudoXFormMemOp, and assigning default values, reduces repetitions.


  Commit: 2c370e76b812a26b67d5d1944d2e7f4a9304e75d
      https://github.com/llvm/llvm-project/commit/2c370e76b812a26b67d5d1944d2e7f4a9304e75d
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  Fixes 20be2d6b (#199054)


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

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeReader.h
    M clang-tools-extra/clang-doc/Generators.cpp
    M clang-tools-extra/clang-doc/Generators.h
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/Serialize.h
    M clang-tools-extra/clang-doc/YAMLGenerator.cpp
    M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/unittests/clang-doc/MergeTest.cpp

  Log Message:
  -----------
  [clang-doc] Removed OwnedPtr alias (#190427)

The alias served a purpose during migration, but now conveys the wrong
semantics, as the memory of these pointers is interned inside a local
arena.


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

  Changed paths:
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/NormalFloat.h
    M libc/src/__support/FPUtil/bfloat16.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/FPUtil/except_value_utils.h
    M libc/src/__support/FPUtil/generic/FMA.h
    M libc/src/__support/FPUtil/generic/sqrt.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    M libc/src/__support/FPUtil/rounding_mode.h
    M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
    M libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
    M libc/src/__support/big_int.h
    M libc/src/__support/complex_basic_ops.h
    M libc/src/__support/macros/attributes.h
    M libc/src/__support/macros/optimization.h
    M libc/src/__support/math/acos.h
    M libc/src/__support/math/acosf.h
    M libc/src/__support/math/acoshf.h
    M libc/src/__support/math/asinf.h
    M libc/src/__support/math/asinhf.h
    M libc/src/__support/math/atan.h
    M libc/src/__support/math/atan2.h
    M libc/src/__support/math/atan2f.h
    M libc/src/__support/math/atan2f128.h
    M libc/src/__support/math/atanf.h
    M libc/src/__support/math/atanhf.h
    M libc/src/__support/math/cbrt.h
    M libc/src/__support/math/cbrtf.h
    M libc/src/__support/math/cos.h
    M libc/src/__support/math/cosf.h
    M libc/src/__support/math/coshf.h
    M libc/src/__support/math/cospif.h
    M libc/src/__support/math/dsqrtf128.h
    M libc/src/__support/math/dsqrtl.h
    M libc/src/__support/math/erff.h
    M libc/src/__support/math/exp10.h
    M libc/src/__support/math/exp10f.h
    M libc/src/__support/math/exp10m1f.h
    M libc/src/__support/math/exp2.h
    M libc/src/__support/math/exp2f.h
    M libc/src/__support/math/exp2m1f.h
    M libc/src/__support/math/expf.h
    M libc/src/__support/math/expm1.h
    M libc/src/__support/math/expm1f.h
    M libc/src/__support/math/fsqrt.h
    M libc/src/__support/math/fsqrtf128.h
    M libc/src/__support/math/fsqrtl.h
    M libc/src/__support/math/log.h
    M libc/src/__support/math/nextafterl.h
    M libc/src/__support/math/nextdownl.h
    M libc/src/__support/math/nextupl.h
    M libc/src/__support/math/pow.h
    M libc/src/__support/math/powf.h
    M libc/src/__support/math/rsqrtf.h
    M libc/src/__support/math/sin.h
    M libc/src/__support/math/sinhf.h
    M libc/src/__support/math/tan.h
    M libc/src/string/memory_utils/utils.h
    M libc/src/string/memory_utils/x86_64/inline_strlen.h
    M libc/test/shared/shared_math_constexpr_test.cpp

  Log Message:
  -----------
  [libc][math] Add gcc-7 to 9 compatibility for shared math. (#197868)

- Add more fine-grained constexpr annotations.
- Apply fine-grained constexpr annotations to `src/__support`,
`src/__support/FPUtil` folder.
- Remove or update constexpr annotations for functions in
`src/__support/math` folder.
- Fix or ignore old gcc's warnings.

Assisted-by: Gemini 3.1 Flash with step 3.


  Commit: af103f5b32afc9335f5ae347fdda3787c35abc9a
      https://github.com/llvm/llvm-project/commit/af103f5b32afc9335f5ae347fdda3787c35abc9a
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/lib/Optimizer/Support/Utils.cpp

  Log Message:
  -----------
  [flang] Add utility to obtain presentable function name (#199067)

This PR adds `getPresentableFunctionName` utility to enable obtaining
the demangled and no underscore function name that can be used for
presentation for a user and is consistent with the name used in source
code.


  Commit: a5a3e137172cd7577722a84db76d8085d02959a5
      https://github.com/llvm/llvm-project/commit/a5a3e137172cd7577722a84db76d8085d02959a5
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/test/tools/llubi/int_arith.ll
    M llvm/tools/llubi/lib/Interpreter.cpp

  Log Message:
  -----------
  [llubi] Fix poison handling of shr exact with zero LHS (#199070)

When the LHS is zero, and the exact flag is set on lshr/ashr, llubi
cannot yield poison as `LHS.countr_zero() + 1` is larger than the bit
width.
Closes https://github.com/llvm/llvm-project/issues/198870.

---------

Co-authored-by: John Regehr <regehr at cs.utah.edu>


  Commit: 3a01ff6826ad0f6bd7377995e5587019078d77cb
      https://github.com/llvm/llvm-project/commit/3a01ff6826ad0f6bd7377995e5587019078d77cb
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
    M clang-tools-extra/clang-doc/support/File.cpp
    M clang-tools-extra/clang-doc/support/File.h
    M clang-tools-extra/clang-doc/support/Utils.cpp
    M clang-tools-extra/clang-doc/support/Utils.h

  Log Message:
  -----------
  [clang-doc] Fix file header style (#190437)

Since we're fixing headers, we can also improve the file documentation
to follow the llvm coding standard.


  Commit: 0e23a7cd8dedeb409ccaecf2237c9a0020b02c25
      https://github.com/llvm/llvm-project/commit/0e23a7cd8dedeb409ccaecf2237c9a0020b02c25
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  [clang-doc] Use const and constexpr arrays in BitcodeWriter (#198066)

We have three static data structures in the BitcodeWriter implementation
that all use std::vector. Instead, we can make them constant arrays.
These data structures and their types are also not in the anonymous
namespace, so just move these helpers out of the clang::doc namespace
and improve the hygiene since we're changing the code anyway.


  Commit: 81de6d0eb85f849080b856dd42acc1778bb8330f
      https://github.com/llvm/llvm-project/commit/81de6d0eb85f849080b856dd42acc1778bb8330f
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  [clang-doc][nfc] Reformat and revise comment block (#190428)


  Commit: 1bd4457660bd5499e3dc6f6007749f6f512b674d
      https://github.com/llvm/llvm-project/commit/1bd4457660bd5499e3dc6f6007749f6f512b674d
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/test/CIR/CodeGenOpenCL/vector.cl

  Log Message:
  -----------
  [CIR] Implement TernaryOp for Vec of float in OpenCL (#198846)

Implement support for TernaryOp for Vec float in OpenCL

Issue https://github.com/llvm/llvm-project/issues/192311


  Commit: fde0ea05dab19678ee341c6d955cd89b7608c16b
      https://github.com/llvm/llvm-project/commit/fde0ea05dab19678ee341c6d955cd89b7608c16b
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    A flang/test/Transforms/tbaa-type-converter-boxproc.fir

  Log Message:
  -----------
  [flang][AddAliasTags] Fix segfault when type contains `fir.boxproc` (#198997)

`fir.boxproc` currently has no LLVM representation (its converter
returns `std::nullopt`). When `AddAliasTags` called
`getTypeSizeAndAlignment` on a type containing `fir.boxproc` (e.g. a
sequence of a derived type with procedure pointer components),
`convertRecordType` and `convertSequenceType` would crash trying to
mlir::cast a null type.

For any type that might recursively contain a non-convertible type
(`fir.boxproc` in this case), `TypeConverter` would now propagate an
empty optional `mlir::Type` and emit a debug warning that conversion
failed. This helps us avoid seg faulting expecting that the type or some
part of it were converted correctly.

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

---------

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>


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

  Changed paths:
    M libc/config/baremetal/config.json

  Log Message:
  -----------
  [libc] Enable baremetal float printf using modular format (#198900)

The most best configuration for llvm-libc is for it to be used with a
recent clang. Accordingly, this patch enables floating point type
support in printf for baremetal without inflating code size by also
enabling modular printf support. This is safe for older clang and other
compilers, but it would increase code size for the default baremetal
configuration on such targets.

---------

Co-authored-by: Michael Jones <michaelrj at google.com>


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

  Changed paths:
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/test/Driver/msvc-link.c

  Log Message:
  -----------
  [Driver][MSVC] Use LLD if DWARF is requested (#198600)

Clang can emit DWARF on Windows if requested with `-gdwarf` (or
`-gdwarf-N`). The generated object files will then have the `.debug_*`
sections. These section names are all larger than eight bytes. This
creates an issue in the final executable. PE/COFF executables don't
allow section names longer than eight characters. From the
[docs](https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#section-table-section-headers):

> **Name**: An 8-byte, null-padded UTF-8 encoded string. If the string
is exactly 8 characters long, there is no terminating null. For longer
names, this field contains a slash (/) that is followed by an ASCII
representation of a decimal number that is an offset into the string
table. Executable images do not use a string table and do not support
section names longer than 8 characters.

MSVC's linker follows this and will truncate section names in
executables. So a `.debug_info` would become `.debug_i`. LLD on the
other hand does allow these long section names (with a warning). This
makes DWARF work on MinGW.

The MSVC toolchain will use the MSVC linker by default (unless
`CLANG_DEFAULT_LINKER` specifies a different one). This will truncate
the section names. So if one would want to use DWARF, they'd also need
to link with LLD.

This PR changes the default linker to LLD if DWARF is requested.
Otherwise, the old default will be used.


  Commit: 5053b88b21a4079b16b1f4f1dad18fd771049f60
      https://github.com/llvm/llvm-project/commit/5053b88b21a4079b16b1f4f1dad18fd771049f60
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Semantics/openmp-utils.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/OpenMP/affected-loops.f90

  Log Message:
  -----------
  [flang][OpenMP] Limit scope creation to constructs with data environment (#198780)

Identify specific constructs that require data envorinments, and only
create scopes for them. This avoids scopes for loop-transformation
constructs, for example.

This isn't a correctness fix, but a clarification and a simplification
of the name-resolution code for OpenMP.


  Commit: 7a83597cecf9d3364ecdd90cb2d443d8e22b4e04
      https://github.com/llvm/llvm-project/commit/7a83597cecf9d3364ecdd90cb2d443d8e22b4e04
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    A flang/test/Transforms/FIRToMemRef/array-coor-rebox-slice-shape.mlir
    M flang/test/Transforms/FIRToMemRef/array-coor-slice-shift.mlir

  Log Message:
  -----------
  [flang][FIRToMemRef] Fixed array_coor with box/shape/slice. (#198933)

A `fir.array_coor` with box input, a slice and a shape without
a shift, should also be converted using dimensions information
stored in the input box (case (c) in the updated code).


  Commit: 928541e2ae0ae3ee131eeba622654cf10c8787a6
      https://github.com/llvm/llvm-project/commit/928541e2ae0ae3ee131eeba622654cf10c8787a6
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/AArch64/invoke-extract.ll
    A llvm/test/Transforms/SLPVectorizer/X86/callbr-extract.ll

  Log Message:
  -----------
  [SLP] Treat ExtractElement from terminator results as gather

When canReuseExtract sees an ExtractElement bundle whose source vector
is produced by a terminator instruction (invoke or callbr), the SLP
vectorizer used to mark the bundle as Vectorize and reuse the
terminator result as the bundle's vectorized value. For external uses
of the bundle, vectorizeTree later sets the IRBuilder insertion point
to next(VecI), which lands past the terminator and produces an invalid
CFG (a new extractelement is inserted after the terminator in the
predecessor block).

Fixes #199021

Reviewers: 

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


  Commit: 6768170423542b772f9dfbfd21b06eefd983e188
      https://github.com/llvm/llvm-project/commit/6768170423542b772f9dfbfd21b06eefd983e188
  Author: ykiko <ykiko at clice.io>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/AST/ast-print-explicit-instantiation.cpp
    M clang/test/AST/explicit-instantiation-source-info.cpp

  Log Message:
  -----------
  [Clang][AST] Fix ExplicitInstantiationDecl accessors for variable templates with tag types (#197856)

Several `ExplicitInstantiationDecl` accessors assumed that
`TypeSourceInfo` always encodes a class entity, but for variable
templates the `TypeSourceInfo` holds the *declared type* (e.g. `Plain`,
`Color`, `Wrap<int>`). When that declared type happened to be a
`TagType` or `TemplateSpecializationType`, the accessors would
misinterpret it:

- `getTypeAsWritten()` returned `nullptr` → crash in `DeclPrinter`
- `getQualifierLoc()` leaked the type's qualifier into the variable name
- `getTagKWLoc()` returned the type's elaborated keyword
- `getNumTemplateArgs` / angle-loc getters extracted from the type
instead of the variable's template arguments

Add a private `getClassTypeLoc()` helper that returns the entity
`TypeLoc` only for class-like instantiations
(`isa<RecordDecl>(getSpecialization())`), and guard all `TypeSourceInfo`
fallback paths with it. For non-class entities the accessors now
correctly skip the `TypeSourceInfo` and return defaults or read from
trailing objects.

Also fix stale template argument source locations for variable
templates: when an explicit instantiation definition follows a prior
declaration, `VarTemplateSpecializationDecl::getTemplateArgsAsWritten()`
returns the first declaration's locations. Construct fresh
`ASTTemplateArgumentListInfo` from the current declarator instead.

Fixes #197797
Fixes https://github.com/llvm/llvm-project/issues/191442#issuecomment-4457732314


  Commit: e57ade6b092274d75aa9e4a725a1df0dbed8070b
      https://github.com/llvm/llvm-project/commit/e57ade6b092274d75aa9e4a725a1df0dbed8070b
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/ContinuationIndenter.h
    M clang/unittests/Format/AlignBracketsTest.cpp

  Log Message:
  -----------
  [clang-format] Stop indenting the closing brace for the initializer (#197590)

new

```C++
SomeStruct //
    s = {
        "xxxxxxxxxxxxx",
};
```

old

```C++
SomeStruct //
    s = {
        "xxxxxxxxxxxxx",
    };
```

See the comment.  https://github.com/llvm/llvm-project/pull/192299#issuecomment-4414273071


  Commit: 3b5bbe9a5cc68e6f1493dca6b0251f546ed95afe
      https://github.com/llvm/llvm-project/commit/3b5bbe9a5cc68e6f1493dca6b0251f546ed95afe
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    M flang/test/Fir/array-coor-canonicalization.fir
    M flang/test/Transforms/FIRToMemRef/array-coor-slice-shift.mlir

  Log Message:
  -----------
  [flang] Canonicalize sliced array access by fir.array_coor. (#197845)

This patch adds a canonicalization pattern for pulling rank-reducing
slices into `fir.array_coor`. This is helpful to preserve the original
rank of the array in `fir.array_coor`, which then helps representing
slice accesses in memref dialect as accesses to the original array.
This way, further conversion to affine dialect has benefits of
exposing the math applied to indices of all array dimensions.

For example, if a non-scalar slice depends on a loop IV, pulling
this into the original array access allows building access maps
enabling affine dependency analysis.

I considered the following three models for the addressing used
in `fir.array_coor` with rank reducing slices:

1) Mixed model:
  - Encoding
    * Scalar-sliced dims: index is slice_lb
    * Non-scalar dims: index is section-style (1-based)
  - Pros
    * Minimal canonicalization math
    * Keeps scalar selection explicit in the index list
  - Cons
    * Semantics are mixed in one array_coor
    * Harder to reason about/debug
* Requires special-case logic in later lowering (FIRToMemRef / CodeGen)
      to interpret non-scalar dims differently from scalar dims

2) Uniform section-style model (all 1-based):
  - Encoding
    * Scalar-sliced dims: index is 1
    * Non-scalar dims: index is section-style (1-based)
    * Scalar selection recovered only from slice_lb
  - Pros
    * Conceptually clean and consistent (single index convention)
    * Easier mental model
  - Cons
    * Needs coordinated changes in both lowerings
    * Lowerings must always reconstruct scalar selected coordinates
      from slice metadata
    * Higher migration risk unless all paths are updated together

3) CodeGen-compatible coordinate-space model (the implemented one):
  - Encoding
    * Scalar-sliced dims: index is slice_lb
* Non-scalar dims: index converted to coordinate-space (lb + idx - 1)
  - Pros
    * No behavioral changes needed in CodeGen logic
    * Aligns canonicalized IR with existing coordinate-space assumptions
    * Avoids extra CodeGen compatibility branches
  - Cons
* Canonicalization is more complex (must synthesize index transforms)
    * FIRToMemRef still needs alignment for full-rank vs reduced-rank
      index consumption
    * Slightly less "visually uniform" than all-1-based

Assisted by Codex.


  Commit: d5ba663c28ec6374f02e630f79459d4ef639f51c
      https://github.com/llvm/llvm-project/commit/d5ba663c28ec6374f02e630f79459d4ef639f51c
  Author: Alison Zhang <alisonzhang at ibm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/test/Driver/fprofile-update.c
    M compiler-rt/lib/builtins/CMakeLists.txt

  Log Message:
  -----------
  [AIX][clang][compiler_rt] rename libatomic archive to libclang_rt (#197485)

This PR implements the following on AIX to avoid conflicts between LLVM
libatomic and the GNU libatomic in the AIX toolbox as they share the
same library name:

- Updates the clang driver to use `-lcompiler_rt` instead of `-latomic`
- Renames the compiler-rt archive from `libatomic.a` to
`libcompiler_rt.a`

Only the archive and not the shared object (`libatomic.so.1`) is renamed
because renaming one component is enough to distinguish between the LLVM
and GNU libatomic libraries. This also allows us to add additional
shared objects to the `libcompiler_rt.a` archive in the future if
needed.


  Commit: 6c296e4c25851868eba66131a4329f4e91c9fda7
      https://github.com/llvm/llvm-project/commit/6c296e4c25851868eba66131a4329f4e91c9fda7
  Author: Zaky Hermawan <44158147+ZakyHermawan at users.noreply.github.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/rvv/bitcast-cmp.ll

  Log Message:
  -----------
  [RISCV] Fold Bitcast long bitwidth int to vector type (#194788)

Prevent bitcasts from `i256` to `<16 x i16>` or `<8 x i32>` from falling
back to scalar types.

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

---------

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


  Commit: 20cb1ccbb6b3ff23a69f66d02128ead2a4efa11e
      https://github.com/llvm/llvm-project/commit/20cb1ccbb6b3ff23a69f66d02128ead2a4efa11e
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/cmake/modules/AddLLDB.cmake
    M lldb/source/Host/CMakeLists.txt
    M lldb/source/Host/macosx/objcxx/CMakeLists.txt
    M lldb/source/Utility/FileSpecList.cpp

  Log Message:
  -----------
  [lldb][CMake] Enforce lldbUtility and lldbHost layering invariants (#198952)

lldbUtility cannot depend on any other lldb library, and lldbHost can
only depend on lldbUtility. Breaking those invariants is an easy mistake
to make and has happened repeatedly: most recently in #198931.

Because LLDB statically links its libraries on macOS, a stray LINK_LIBS
entry, or a stray cross-library #include without a matching CMake
dependency, both succeed at link time and only surface much later as a
layering bug.

Add two configure-time checks in `add_lldb_library` so the build fails
fast when these invariants are broken:

1. A new `ALLOWED_INTERNAL_DEPENDENCIES <list>` parameter allowlists
which `^lldb`-prefixed `LINK_LIBS` entries a target may depend on. The
existing `NO_INTERNAL_DEPENDENCIES` flag is the empty-allowlist case and
continues to work.

2. Whenever either of those is set, also scan the target's sources and
public headers for `#include "lldb/<Library>/..."` directives outside
the allowlist, and FATAL_ERROR with the offending file and line. This
catches the macOS static-linking case where a missing CMake dependency
silently resolves at link time.

Apply the new parameter to lldbHost (allowing only lldbUtility plus the
Darwin Objective-C++ shim lldbHostMacOSXObjCXX) and to that shim itself.
lldbUtility already used `NO_INTERNAL_DEPENDENCIES` and now picks up the
header scan automatically.

`lldb/Host/windows/windows.h` is special-cased in the scan: it is a
system-header wrapper used tree-wide and carries no real dependency.

Drop two unused `lldb/Target/*` includes from `Utility/FileSpecList.cpp`
that the scan would otherwise flag.

Assisted-by: Claude

---------

Co-authored-by: Charles Zablit <c_zablit at apple.com>


  Commit: 5c5f736c661c97c4850cf8ea95dce9efb481a4ca
      https://github.com/llvm/llvm-project/commit/5c5f736c661c97c4850cf8ea95dce9efb481a4ca
  Author: joaosaffran <joaosaffranllvm at gmail.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reversebits.ll

  Log Message:
  -----------
  [HLSL][SPIRV] Correct reversebit 64 split (#197849)

Replace the split-lanes + OpCompositeConstruct sequence in
selectBitreverse64 with a single OpVectorShuffle to swap the high/low
32-bit halves, simplifying both the selector logic, the emitted SPIR-V
and fixing the bug.

fix: #197810 
Assisted by: Claude Opus 4.6


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

  Changed paths:
    M .github/workflows/containers/github-action-ci-tooling/Dockerfile

  Log Message:
  -----------
  [Github] Use --require-hashes when installing python dependencies for tooling container (#198880)

https://github.com/llvm/llvm-project/security/code-scanning/1501
https://github.com/llvm/llvm-project/security/code-scanning/1502


  Commit: 73f2dd8cf1325ed520d708d193c32a929664faa4
      https://github.com/llvm/llvm-project/commit/73f2dd8cf1325ed520d708d193c32a929664faa4
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  [flang][OpenMP] Remove unnecessary code from OmpVisitor, NFC (#198865)


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

  Changed paths:
    M .ci/metrics/Dockerfile

  Log Message:
  -----------
  [CI] Pin base container in metrics Dockerfile (#198879)

https://github.com/llvm/llvm-project/security/code-scanning/1309


  Commit: c12d1131cd2cf1294a4f88fc565308b4c536a936
      https://github.com/llvm/llvm-project/commit/c12d1131cd2cf1294a4f88fc565308b4c536a936
  Author: Caroline Newcombe <caroline.newcombe at hpe.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/test/Lower/Intrinsics/bge.f90
    M flang/test/Lower/Intrinsics/bgt.f90
    M flang/test/Lower/Intrinsics/ble.f90
    M flang/test/Lower/Intrinsics/blt.f90

  Log Message:
  -----------
  [flang] Implement lowering for BOZ literal arguments in BGE, BLE, BGT, BLT (#191874)

BGE/BGT/BLE/BLT allow one or both arguments to be a BOZ literal
constant. Unlike other intrinsics that accept BOZ arguments, these do
not convert the BOZ to a typed value during semantic analysis.

When both arguments are constants, the comparison is folded at compile
time in `fold-logical.cpp`. However, when the non-BOZ argument is a
variable, folding is skipped and the BOZ literal constant persists in
the expression tree through to lowering.

The lowering implementation wraps the `BOZLiteralConstant]` in a
`Constant<LargestInt>` and feeds it through the existing
`convertConstant` infrastructure. Since BOZ is always a scalar, this
always produces a trivial SSA value. This follows the same pattern as
`gen(Constant<T>)` for the trivial scalar path. The `AddrOfOp` branch
from that template is intentionally omitted because a scalar i128
constant never produces a global reference. The
`outlineBigConstantInReadOnlyMemory` parameter is set to false to make
this intent explicit.

Tests:
- Added BOZ lowering tests to bge.f90, bgt.f90, ble.f90, blt.f90
covering BOZ in first position, second position
- Wider-than-companion BOZ (z'1FFFFFFFF' with i32 companion) lowering
test added to bge.f90

Issue #190818 
Enable test in llvm-test-suite:
https://github.com/llvm/llvm-test-suite/pull/393https://github.com/llvm/llvm-test-suite/pull/393


  Commit: 07177216baaedaeba52edd92e4514521d8d36807
      https://github.com/llvm/llvm-project/commit/07177216baaedaeba52edd92e4514521d8d36807
  Author: Conscat <omg.lily2000 at gmail.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp

  Log Message:
  -----------
  [clang-format] Fix unrecognized qualifiers breaking east-const (#198656)

Long time reader, first time contributor. :3

I've been experimenting with `_Nullable` and `_Nonnull` qualifiers in my
project for which the `.clang-format` configures:
```
QualifierAlignment: Custom
QualifierOrder: [type, const, volatile]
```

This results in the following form:
```cpp
T const* _Nullable const identifier =
```
Formatting as:
```cpp
T const* _Nullable identifier const =
```
Which naturally doesn't compile. This is semi-blocking my project, so I
would like to contribute it reasonably quickly if possible. I'll try to
respond to feedback promptly.

This is possible to fix in a targeted way within the format rule, but I
believe the underlying issue is these qualifiers need to hold true under
`isQualifier`. That seems to fix my issue and may fix others I haven't
discovered. I've extended this to other qualifiers I know of, but not
`__ptrauth` family which seems to have its own special handling.

Assisted-by: Cursor/Claude Opus


  Commit: e9d88ca08f711c8ace6787102ee537432e158867
      https://github.com/llvm/llvm-project/commit/e9d88ca08f711c8ace6787102ee537432e158867
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M libcxx/include/__iterator/access.h
    M libcxx/include/__iterator/back_insert_iterator.h
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/include/__iterator/counted_iterator.h
    M libcxx/include/__iterator/data.h
    M libcxx/include/__iterator/distance.h
    M libcxx/include/__iterator/front_insert_iterator.h
    M libcxx/include/__iterator/insert_iterator.h
    M libcxx/include/__iterator/istream_iterator.h
    M libcxx/include/__iterator/istreambuf_iterator.h
    M libcxx/include/__iterator/move_iterator.h
    M libcxx/include/__iterator/move_sentinel.h
    M libcxx/include/__iterator/ostream_iterator.h
    M libcxx/include/__iterator/ostreambuf_iterator.h
    M libcxx/include/__iterator/reverse_access.h
    M libcxx/include/__iterator/reverse_iterator.h
    M libcxx/include/__iterator/size.h
    R libcxx/test/libcxx/diagnostics/iterator.nodiscard.verify.cpp
    A libcxx/test/libcxx/iterators/nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++][iterator] Applied `[[nodiscard]]` (#172200)

`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.

- https://libcxx.llvm.org/CodingGuidelines.htm
- https://wg21.link/iterators

Also moves the test to the correct location:
`libcxx/test/libcxx/iterators/nodiscard.verify.cpp`

Towards #172124

---------

Co-authored-by: Hristo Hristov <zingam at outlook.com>


  Commit: a01dddd1e603dba3210c5279e9d32d97d2373b20
      https://github.com/llvm/llvm-project/commit/a01dddd1e603dba3210c5279e9d32d97d2373b20
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp

  Log Message:
  -----------
  [CIR] Fix a problem with hoisting allocas out of nested cleanup scopes (#199093)

A recent change to the code that hoists allocas out of a cleanup scope
introduced an assertion that triggers when we're trying to hoist an
alloca that is in a cleanup scope that is nested within the cleanup
scope we're processing. I didn't think that could happen, but it turns
out the LLVM code itself triggers it.

This change removes the assertion and updates the check for the alloca
being contained within the cleanup scope we're processing so that it can
handle the case with nested scopes.

Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh


  Commit: 62da8f217b3e8b818f6a98805b8fef9a82cde4e4
      https://github.com/llvm/llvm-project/commit/62da8f217b3e8b818f6a98805b8fef9a82cde4e4
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/ordered-reduction-replaced.ll

  Log Message:
  -----------
  [SLP] Use TrackedVals for trailing scalars in tryToReduceOrdered

The trailing scalar fold passed the original candidate value to
createOp instead of its tracked form. When the same scalar also
appears inside the vectorized window, vectorizeTree replaces its
scalar uses with an extractelement (the scalar is added to the
externally-used values list), so the original instruction is gone
by the time the trailing fold runs. createOp then builds an fadd
that references the stale, replaced scalar, producing invalid IR
or a crash.

Look up the candidate in TrackedVals to retrieve the current
(extractelement when applicable) value, matching the leading
scalar fold loop above.

Reviewers: 

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


  Commit: a9f18130ac69552523b4b081433b511945dd18a1
      https://github.com/llvm/llvm-project/commit/a9f18130ac69552523b4b081433b511945dd18a1
  Author: adams381 <adams at nvidia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp

  Log Message:
  -----------
  [CIR] Allow clz/ctz/popcount on u8 and u128 widths (#198911)

libcxx with `-fclangir` was rejecting `cir.clz`, `cir.ctz`, and
`cir.popcount` when the operand type is `!u8i` or `!u128i` — the
verifier only allowed 16/32/64-bit widths even though codegen already
emits the right `llvm.ctlz` / `llvm.cttz` / `llvm.ctpop` intrinsics for
those sizes.  That shows up heavily in the May 20 upstream-main libcxx
baseline (`verifier-rejects-pre-pass-ir` bucket).

Widen the TableGen width lists on the three ops to match `bitreverse`
(8 through 128). `builtin-bit.cpp` gains `popcountg` on `unsigned char`,
and `popcountg` / `clzg` / `ctzg` on `unsigned __int128` when
`__SIZEOF_INT128__` is 16, each with CIR/LLVM/OGCG checks.


  Commit: b6a56c4665936ea28c2d4739c92714a725c2c174
      https://github.com/llvm/llvm-project/commit/b6a56c4665936ea28c2d4739c92714a725c2c174
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/source/ValueObject/ValueObject.cpp
    A lldb/test/API/python_api/sbvalue_get_parent/MyContainer_synthetic.py
    M lldb/test/API/python_api/sbvalue_get_parent/TestSBValueGetParent.py
    M lldb/test/API/python_api/sbvalue_get_parent/main.cpp

  Log Message:
  -----------
  [lldb] Call SetSyntheticChildrenGenerated on GetSyntheticChildAtOffset (#198859)

Follow up to #197311 and based on the feedback on that PR.

One way a Python synthetic formatter can construct a child is with
`SBValue::GetSyntheticChildAtOffset`. However those values were are not
marked as having been generated by `SyntheticChildren`. This means the
previous PR (#197311) did not apply to them as would be expected. The
fix is to call `SetSyntheticChildrenGenerated(true)` on the child values
created in `GetSyntheticChildAtOffset`.

Assisted-by: claude (tests and review)


  Commit: 676ccb68cf9571ad2395e1658f5248a3b3d4304d
      https://github.com/llvm/llvm-project/commit/676ccb68cf9571ad2395e1658f5248a3b3d4304d
  Author: adams381 <adams at nvidia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-call.cpp
    A clang/test/CIR/IR/assume.cir
    A clang/test/CIR/IR/invalid-assume.cir

  Log Message:
  -----------
  [CIR] Lower __builtin_assume_dereferenceable (#197262)

`__builtin_assume_dereferenceable` was reported NYI by ClangIR. It's
heavily exercised by libcxx via `__memory/valid_range.h`, so most of
`<algorithm>` currently fails to compile under `-fclangir`.

Adds a `cir.assume_dereferenceable` op (pointer + pointer-sized
integer), emits it from CIRGenBuiltin, and lowers it to

```
call void @llvm.assume(i1 true) [ "dereferenceable"(ptr, i64) ]
```

which is what classic Clang's `Builder.CreateDereferenceableAssumption`
produces.

The size operand is widened/narrowed to `intptr_t` at the CIRGen layer
to match classic CodeGen's `IntPtrTy` conversion.

Tests cover the dynamic-size, constant-size, and narrow-integer-size
cases against CIR, CIR->LLVM, and OGCG.


  Commit: 1be3309a1987a57d1eaebe39ba3d69014304387a
      https://github.com/llvm/llvm-project/commit/1be3309a1987a57d1eaebe39ba3d69014304387a
  Author: adams381 <adams at nvidia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp

  Log Message:
  -----------
  [CIR] Implement getUndefRValue for scalar, complex, and aggregate (#198921)

NYI builtin and call paths in CIR were calling getUndefRValue but the
helper only reported "unsupported type for undef rvalue" and returned
null.  libcxx then hit follow-on failures (including scalar-conversion
crashes) on the same translation units that already had other NYI
diagnostics.

Implement the same three cases as classic CodeGen: #cir.undef for
scalar and complex, and an undef.agg.tmp stack slot for aggregates.
Lower cir.const #cir.undef to llvm.undef in DirectToLLVM so emit-llvm
does not assert in the constant op lowering.  builtin-undef-rvalue.cpp
covers the __builtin_reduce_or NYI stub path with CIR/LLVM/OGCG checks.


  Commit: 0f679999aae135b388c25fb1acbb030109c6418f
      https://github.com/llvm/llvm-project/commit/0f679999aae135b388c25fb1acbb030109c6418f
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M libc/config/baremetal/config.json

  Log Message:
  -----------
  Revert "[libc] Enable baremetal float printf using modular format" (#199114)

Reverts llvm/llvm-project#198900

This can cause build failures due to an error in the handling of
argument indices for `va_list` `printf` variants.


  Commit: 90cd93540256012e4d652fed0ed53be77f44aca8
      https://github.com/llvm/llvm-project/commit/90cd93540256012e4d652fed0ed53be77f44aca8
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-fold-tail.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/vplan-force-tail-with-evl.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/interleave-conditional-scalar-assignment-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/widen-canonical-iv-register-pressure.ll
    M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/X86/fold-tail-low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
    M llvm/test/Transforms/LoopVectorize/X86/widen-canonical-iv-register-pressure.ll
    M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
    M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-fold-tail.ll
    M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
    M llvm/test/Transforms/LoopVectorize/predicated-inductions-vs-first-order-recurrences.ll
    M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-iv-outside-user.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-masked-mem-opts.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/Oz-and-forced-vectorize.ll

  Log Message:
  -----------
  [VPlan] Transfer nuw from CanIV -> WideCanIV (#198802)

An nuw on a CanonicalIV recipe should transfer to a WideCanonicalIV
recipe directly.


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

  Changed paths:
    M polly/lib/CodeGen/IslNodeBuilder.cpp
    A polly/test/CodeGen/issue192208.ll

  Log Message:
  -----------
  [Polly] Do not invalidate SCEV before codegen (#194677)

ScopInfo expects the state of the IR to reflect the state before
codegen. Invalidating ScalarEvolution/SCEVs has the effect that values
need to be reanalyzed, but this is not possible during codegen where the
CFG and SSA is not yet in a consistent state. That is, we rely on
ScalarEvolution to cache SCEVs from before the codegen phase. If
ScalarEvolution did not already do this, Polly would need to more
aggressively store SCEVs itself (in this case: `canSyntheziseInStmt`)
instead of asking ScalarEvolution.

The SCEV invalidation was introduced in
a61eda769890900903ee65278bf1ee07dfbd4ca5 which unfortunately does not
explain the issue it intends to fix. The added test case passes even
without the invalidation. In any case, SCEVs should represent the state
before codegen.

Fixes #192208


  Commit: 77e43ec11cd8fbe1de491118b54de9bba94510a8
      https://github.com/llvm/llvm-project/commit/77e43ec11cd8fbe1de491118b54de9bba94510a8
  Author: Doug Gregor <dgregor at apple.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-move/Move.cpp
    M clang-tools-extra/clangd/refactor/InsertionPoint.cpp
    M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/ExtractAPI/API.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    A clang/include/clang/Lex/MacroBase.h
    M clang/include/clang/Lex/MacroInfo.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/Tooling/Transformer/SourceCode.cpp
    A clang/test/ExtractAPI/macro_doc_comments.c
    A clang/test/Index/annotate-comments-macros.c
    M clang/test/Index/annotate-comments.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  Associate documentation comments with macro definitions (#198452)


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

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

  Log Message:
  -----------
  [clang-doc] Clean up inconsistent namespace usage in BitcodeWriter (#198067)

Typically we forgo prefixing things with clang::doc or llvm:: unless
they overlap with something in std::, like `to_underlying()`. We also
group things to avoid non-internal symbols by placing types in the
anonymous namespace, and more logically grouping things that don't need
to be in the clang::doc namespace.


  Commit: d7ff015ec6563eef1fafa8df86d1a49dee0b8a7a
      https://github.com/llvm/llvm-project/commit/d7ff015ec6563eef1fafa8df86d1a49dee0b8a7a
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/examples/python/formatter_bytecode.py
    M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterSwift.txt

  Log Message:
  -----------
  [lldb][bytecode] Disable formatters for Wasm object format (#199124)

Identified as an issue in
https://github.com/apple/swift-collections/issues/648


  Commit: 9955c424bb2ba8aaef1b3dcf0409f7b573be9954
      https://github.com/llvm/llvm-project/commit/9955c424bb2ba8aaef1b3dcf0409f7b573be9954
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Instrumentor.h
    M llvm/lib/Transforms/IPO/InstrumentorConfigFile.cpp
    M llvm/test/Instrumentation/Instrumentor/default_config.json

  Log Message:
  -----------
  [llvm][Instrumentor] Fix non-determinism in Instrumentor (#198833)

In InstrumentorStubPrinter the StringMap was being iterated over, which
broke the Instrumentation/Instrumentor/write_config.ll test under
LLVM_REVERSE_ITERATION builds. We can use a MapVector to ensure the
order is stable. We only need to update the test json ordering to match
the stable order for with and without LLVM_REVERSE_ITERATION.


  Commit: c6cb310e75b8ba32eb0cc454fde0d85ec1e8f8ee
      https://github.com/llvm/llvm-project/commit/c6cb310e75b8ba32eb0cc454fde0d85ec1e8f8ee
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
    M llvm/test/CodeGen/AMDGPU/coexec-scheduler.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
    A llvm/test/CodeGen/AMDGPU/insert-delay-alu-attr.ll

  Log Message:
  -----------
  [AMDGPU] Don't insert delay_alu for 1 waves-per-eu (#198638)

These instructions are used to improve hardware utilization rates in the
multi-wave case. In the 1 wave per eu case these do not help and just
add extra instructions.


  Commit: 9694b198082c9723551357652e390bb09f25f3b7
      https://github.com/llvm/llvm-project/commit/9694b198082c9723551357652e390bb09f25f3b7
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  DebugInfo: Shrink-to-fit some containers to reduce peak memory usage (#198935)

Changes originally by Tipp Moseley (tipp at google.com)


  Commit: c0da1855e07e4a53253e5290803c144158b6587f
      https://github.com/llvm/llvm-project/commit/c0da1855e07e4a53253e5290803c144158b6587f
  Author: AnkitDubeycs25 <cs25mtech12001 at iith.ac.in>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c

  Log Message:
  -----------
  [CIR][CIRGen][Builtin][X86] Compress Store Intrinsics (#169648)

This implements CIR handling for the x86-specific compressed store builtins.


  Commit: cfc03d62b4f8d6ef32a9b0c33429ac2eba76b85f
      https://github.com/llvm/llvm-project/commit/cfc03d62b4f8d6ef32a9b0c33429ac2eba76b85f
  Author: adams381 <adams at nvidia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/docs/CIR/ABILowering.rst
    M clang/include/clang/CIR/Dialect/Passes.h
    M clang/include/clang/CIR/Dialect/Passes.td
    M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
    A clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
    A clang/test/CIR/Transforms/abi-lowering/Inputs/test-datalayout.cir
    A clang/test/CIR/Transforms/abi-lowering/datalayout-missing-error.cir
    A clang/test/CIR/Transforms/abi-lowering/declaration-rewrite.cir
    A clang/test/CIR/Transforms/abi-lowering/direct-passthrough-injection.cir
    A clang/test/CIR/Transforms/abi-lowering/direct-passthrough-test-target.cir
    A clang/test/CIR/Transforms/abi-lowering/ignore-arg.cir
    A clang/test/CIR/Transforms/abi-lowering/ignore-return.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-call-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/try-call-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/variadic-call-nyi.cir
    M clang/tools/cir-opt/cir-opt.cpp
    M mlir/include/mlir/ABI/ABIRewriteContext.h

  Log Message:
  -----------
  [CIR] Add CallConvLowering pass + Direct/Ignore ABI rewriting (#195737)

Depends on #195725 (merged).

Stacked on #195725 (PR A1). The diff in this PR is the CIR side; A1 has
the dialect-agnostic infrastructure.

Adds the `cir-call-conv-lowering` pass plus the `CIRABIRewriteContext`
skeleton with handlers for Direct (true pass-through) and Ignore (drop
empty-record args/returns). Subsequent PRs in the split add Extend,
Direct-with-coercion + a new reinterpret op, Indirect/sret,
Indirect/byval, and Expand — each is purely additive because the
rewriter dispatches on `argClass.kind` via a switch with explicit "not
yet implemented" diagnostics for every other kind.

The pass takes one of two driver options: `target=test` uses the test
target from PR A1, and `classification-attr=<name>` reads a pre-built
`DictionaryAttr` from each `cir.func` (also via the helper from PR A1).
It also requires `dlti.dl_spec` on the module and emits a clear
diagnostic otherwise, since classification can't run without
sizes/alignments.

Six `.cir` tests covering the Direct/Ignore behavior via both drivers,
plus the missing-DataLayout error case. `check-clang-cir` and
`check-clang-cir-codegen` both pass with no regressions.

`clang/docs/CIR/ABILowering.rst` gets a short pipeline-position section
(where this pass runs vs CXXABILowering and HoistAllocas, the DataLayout
requirement, the alloca-placement invariant).

The 11 C++ unit tests in #192119 each map onto a `.cir` test in this
series — 6 ported here (Direct passthrough, Ignore arg, Ignore return,
declaration rewrite, plus their call-site variants), 3 deferred to PR B
(Extend), 2 deferred to PR C (Direct-with-coercion). The 5 from #192124
split between PRs D and E. None get dropped, and the original C++ test
file lives only on the closed branches.

---------

Co-authored-by: Cursor <cursoragent at cursor.com>


  Commit: 7b429c95712d9dae7616eaad8841721d9f774eb5
      https://github.com/llvm/llvm-project/commit/7b429c95712d9dae7616eaad8841721d9f774eb5
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  [clang-doc] Use explicit for single param constructors (#198068)

This trips up some clang-tidy checks, so add the explicit keyword as
needed to satisfy the lints.


  Commit: 2cbcd18f342f57804920829c5522a31b1129f402
      https://github.com/llvm/llvm-project/commit/2cbcd18f342f57804920829c5522a31b1129f402
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/test/CIR/CodeGen/atomic.c

  Log Message:
  -----------
  [CIR] Fix Cmp-Xchg generation when casting to int (#198924)

We have logic in CIRGenAtomic to handle 'cast float to an int', which
works for most of our atomics. However, compare-exchange uses a second
'val' value, which was not getting cast, which caused a verification
error.

This patch ensures that the correct cast is generated for 'val2' as
well.


  Commit: 6149387b2ed28ba6875bdce24e5c774bace764d6
      https://github.com/llvm/llvm-project/commit/6149387b2ed28ba6875bdce24e5c774bace764d6
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/test/CIR/CodeGen/call.c

  Log Message:
  -----------
  [CIR] Implement lowering of atomic-func ptrs (#199045)

This actually is a near-zero effort implementation, since other than an
assertion, we had everything correct. It isn't clear where that
assertion came from (other than an over abundance of caution?). It
doesn't exist in classic codegen, which always counts on the
fallthrough.

However, we ARE missing some ptr-auth work in that area, so a
MissingFeatures is added to be a placeholder for it.


  Commit: 5ab329724bdec2d2a84c15975171eaa9f27ea480
      https://github.com/llvm/llvm-project/commit/5ab329724bdec2d2a84c15975171eaa9f27ea480
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/test/CIR/CodeGenBuiltins/builtins-overflow.cpp

  Log Message:
  -----------
  [CIR] Fix cast kind to support bool in builtin_*_overflow (#198958)

'bool' is an acceptable type to the __builtin_*_overflow functions, but
we were unconditionally doing an integral cast. This adds some logic to
do a bool-to-int cast if necessary.


  Commit: b687efb8d15dda73cbd0e3eba145287a135ad868
      https://github.com/llvm/llvm-project/commit/b687efb8d15dda73cbd0e3eba145287a135ad868
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/test/CIR/CodeGen/string-literals.cpp
    M clang/test/CIR/CodeGen/wide-string.cpp

  Log Message:
  -----------
  [CIR] Wide String literals in a larger variable lowering (#198966)

This showed up in a test suite: If the size of the variable is larger
than the literal, we were asserting since we were only accounting for a
single null terminator. The FE will ensure that we have enough room for
the variable + a null terminator, but the size must be larger!

This patch counds on 'trailing-zeroes' to make sure the null terminator
is in place.


  Commit: 85c3be1d72f0e36e7ecbdb4b1e2abf61b1733216
      https://github.com/llvm/llvm-project/commit/85c3be1d72f0e36e7ecbdb4b1e2abf61b1733216
  Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Instrumentor.h
    M llvm/include/llvm/Transforms/IPO/InstrumentorUtils.h
    M llvm/lib/Transforms/IPO/Instrumentor.cpp
    M llvm/lib/Transforms/IPO/InstrumentorUtils.cpp

  Log Message:
  -----------
  [Instrumentor][FIX] Ensure we indicate changes properly. (#199106)

We now indicate changes whenever we might have changed things even if
the filter will rule out instrumentation. The issue was that we need to
get the argument to check the filter and that process might create new
IR, e.g., a global variable containing the function name.


  Commit: 691d54094802522b0f65fa021dd799744dd6c5c8
      https://github.com/llvm/llvm-project/commit/691d54094802522b0f65fa021dd799744dd6c5c8
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedHookInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedStopHookInterface.h
    M lldb/include/lldb/Target/Target.h
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  [lldb] Consolidate Target Hook/StopHook scripted state into ScriptedMetadata (#199088)

This is a follow-up to 1b4a578a9f77.

Replace `Target::HookScripted`'s and `Target::StopHookScripted`'s
separate `m_class_name` and `m_extra_args` members with a single
`m_scripted_metadata`, and update `SetScriptCallback to take a `const
ScriptedMetadata &` directly. Drop the now-redundant `args_sp` parameter
from ScriptedHookInterface::CreatePluginObject and
ScriptedStopHookInterface::CreatePluginObject; the Python overrides
construct a StructuredDataImpl from the metadata's args dict for the
dispatched call.

Each hook subclass keeps its own `m_scripted_metadata` member because
the interface's metadata is only set when SetScriptCallback runs the
Python override of CreatePluginObject; the hook needs to hold the
metadata between construction and that callback. Read-side description
printing goes through the new GetScriptClassName() helper which
delegates to m_interface_sp->GetScriptedMetadata(). The two
s.Printf("%s\n", class_name.data()) sites are also converted to
s.Format("{0}\n", class_name).

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


  Commit: b75f5d71138f3ff8274a861dc16e60ad4252632e
      https://github.com/llvm/llvm-project/commit/b75f5d71138f3ff8274a861dc16e60ad4252632e
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
    M lldb/include/lldb/Target/ScriptedThreadPlan.h
    M lldb/include/lldb/Target/Thread.h
    M lldb/source/API/SBThread.cpp
    M lldb/source/API/SBThreadPlan.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
    M lldb/source/Target/ScriptedThreadPlan.cpp
    M lldb/source/Target/Thread.cpp

  Log Message:
  -----------
  [lldb] Consolidate ScriptedThreadPlan state into ScriptedMetadata (#199064)

This is a follow-up to 1b4a578a9f77.

Replace ScriptedThreadPlan's separate `m_class_name` and `m_args_data`
members with a single `m_scripted_metadata`, and update its constructor,
Thread::QueueThreadPlanForStepScripted and the SB/CLI callers to take a
`const ScriptedMetadata &` directly. Drop the now-redundant `args_sp`
parameter from ScriptedThreadPlanInterface::CreatePluginObject; the
Python override constructs a StructuredDataImpl from the metadata's args
dict for the dispatched call.

ScriptedThreadPlan keeps its own `m_scripted_metadata` member because
the interface's metadata is only set when `DidPush()` calls
`CreatePluginObject`, so the plan needs to hold the metadata between
construction and `DidPush()`.

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


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

  Changed paths:
    A lldb/include/lldb/Utility/Locked.h
    M lldb/unittests/Utility/CMakeLists.txt
    A lldb/unittests/Utility/LockedTest.cpp

  Log Message:
  -----------
  [lldb] Add Locked<T> and SharedLocked<T> RAII handles in Utility (NFC) (#198941)

Introduce two RAII handles that pair a pointer-like value with a lock on
a caller-supplied mutex.

- Locked<PtrT, Mutex>: holds std::unique_lock<Mutex>. Move-only;
enforces exclusive access. Defaults to std::recursive_mutex to match
LLDB's existing synchronization style.
- SharedLocked<PtrT, Mutex>: holds a reference-counted
std::shared_lock<Mutex>. Copyable — copies share the same reader lock
and the lock releases when the last copy goes away. Defaults to
llvm::sys::RWMutex, the LLDB convention.

PtrT may be a raw pointer, std::shared_ptr, or std::unique_ptr;
convenience aliases LockedPtr/LockedSP/LockedUP and
SharedLockedPtr/SharedLockedSP/SharedLockedUP cover the common
combinations. SharedLocked's borrowed pointer is const-qualified so
readers can't mutate the pointee.


  Commit: 38045dd89590f88c6724ff838ded6b9a6e56e713
      https://github.com/llvm/llvm-project/commit/38045dd89590f88c6724ff838ded6b9a6e56e713
  Author: Akimasa Watanuki <mencotton0410 at gmail.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/test/CIR/CodeGenBuiltins/X86/ssse3-builtins.c

  Log Message:
  -----------
  [CIR][X86][NFC] Add _mm_alignr_epi8 edge immediate tests (#198522)

Cover the 16-byte boundary and all-zero result cases in
`ssse3-builtins.c`. These cases mirror the coverage in
`clang/test/CodeGen/palignr.c`.

Rename the existing `_mm_alignr_epi8` cases consistently with the new
tests.

Partially addresses https://github.com/llvm/llvm-project/issues/156747.


  Commit: 3873d151c9248fed3da049d793208296413bbcc8
      https://github.com/llvm/llvm-project/commit/3873d151c9248fed3da049d793208296413bbcc8
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M lldb/source/Core/Module.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
    M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py

  Log Message:
  -----------
  [LLDB] Add a progress event to xcrun invocations (#198953)

LLDB invokes xcrun to find SDKs on disk. This is usually very fast, but
sometimes (after an Xcode update, or when the searched SDK does not
exist) it can take very long (10s or more). The progress event provides
user feedback to explain the hang.

Previously this functionality was in HostInfo, but it may not depend on
Core, so this patch is instrumenting the call sites instead.


cf: https://github.com/llvm/llvm-project/pull/198931


  Commit: a800c33674e41af6dc1a8e9264609857bd555aca
      https://github.com/llvm/llvm-project/commit/a800c33674e41af6dc1a8e9264609857bd555aca
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/include/llvm/IR/Use.h
    M llvm/include/llvm/IR/User.h

  Log Message:
  -----------
  IR: Move `simplify_type<(const) Use *>` to Use.h and fix a bug.

These overloads live in User.h because the type of
`User::(const_)op_iterator` is `(const) Use *`, but they do not
necessarily need to be used together with `User`, so let's move them to
Use.h with the canonical type used in the overload for clarity.

There's also a bug where `dyn_cast_or_null` with a `Use *` argument
crashes if the argument is null. Fix it by adding a null check to
these overloads. The null check is expected to be optimized out of the
implementation of `isa`/`cast`/`dyn_cast` because these functions will
unconditionally load from the result of `getSimplifiedValue`.

Reviewers: nikic, efriedma-quic

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


  Commit: c24ab4c814f680c5ac71600bf80d551123abd84d
      https://github.com/llvm/llvm-project/commit/c24ab4c814f680c5ac71600bf80d551123abd84d
  Author: Eli Friedman <efriedma at qti.qualcomm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/test/CodeGen/PowerPC/fast-isel-cmp-imm.ll
    M llvm/test/CodeGen/PowerPC/fp-strict-fcmp-spe.ll
    M llvm/test/CodeGen/PowerPC/legalize-invert-br_cc.ll
    M llvm/test/CodeGen/PowerPC/spe.ll

  Log Message:
  -----------
  Revert "[PowerPC] set libcall lowering for fp setcc ops on SPE boards" (#199140)

Reverts llvm/llvm-project#153238

Breaking premerge buildbots. (It looks like there's an alternative fix
open #199105, but it's still under review.)


  Commit: 42cfcaf651b5f6fe2117dcd29b33c25409f3541e
      https://github.com/llvm/llvm-project/commit/42cfcaf651b5f6fe2117dcd29b33c25409f3541e
  Author: Jiahao Guo <eoonguo at gmail.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h

  Log Message:
  -----------
  [CIR][NFC] Remove unused functions in MissingFeatures.h (#197631)

### Summary

This NFC change removes 33 entries from MissingFeatures.h that have no
callers in tree as of <b4f7c93e7d1325f1c1f00b47c10d2923e8259369>

- `switchOp`
- `opUnaryPromotionType`
- `supportVisibility`
- `atomicInitTailPadding`
- `atomicMapTargetSyncScope`
- `atomicScope`
- `bitfields`
- `builtinCallMathErrno`
- `cleanupWithPreservedValues`
- `constEmitterAggILE`
- `dataLayoutTypeIsSized`
- `dataLayoutTypeStoreSize`
- `deferredFuncDecls`
- `ehScopeFilter`
- `functionArgumentAttrs`
- `globalViewIndices`
- `intrinsics`
- `loweringPrepareAArch64XXABI`
- `loweringPrepareX86CXXABI`
- `nrvo`
- `opAllocaReference`
- `opCallABIExtendArg`
- `opCallABIIndirectArg`
- `opCallAggregateArgs`
- `opCallASTAttr`
- `opCallExceptionAttr`
- `opCallSideEffect`
- `opCallWidenArg`
- `opFuncOpenCLKernelMetadata`
- `opGlobalUsedOrCompilerUsed`
- `opLoadStoreThreadLocal`
- `opUnaryPromotionType`
- `pointerOverflowSanitizer`


  Commit: dac33e3d006e9ca4c20b74b2b0d9baa126e728a7
      https://github.com/llvm/llvm-project/commit/dac33e3d006e9ca4c20b74b2b0d9baa126e728a7
  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] Declare pointer with auto explicitly (#198069)

This silences some errors from clang-tidy.


  Commit: 625e277979356e8fc51a4a75667a331c5ceffccd
      https://github.com/llvm/llvm-project/commit/625e277979356e8fc51a4a75667a331c5ceffccd
  Author: Adam Paszke <apaszke at google.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M mlir/lib/IR/Builders.cpp
    M mlir/unittests/IR/AttributeTest.cpp

  Log Message:
  -----------
  [mlir] Specify isSigned when creating APInt for I16 attributes (#198687)

8- and 32-bit attribute constructors already do this. Debug builds
trigger an assertion unless isSigned is specified.


  Commit: 25f90289bb0e137d500827486ac19e8e0be781e1
      https://github.com/llvm/llvm-project/commit/25f90289bb0e137d500827486ac19e8e0be781e1
  Author: Eli Friedman <efriedma at qti.qualcomm.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  Revert "DebugInfo: Shrink-to-fit some containers to reduce peak memory usage" (#199145)

Reverts llvm/llvm-project#198935

I think this broke llvm/test/tools/llvm-gsymutil/X86/elf-dwo.yaml .


  Commit: 07843996b9110398e4cf5b96cea0fabb7654f274
      https://github.com/llvm/llvm-project/commit/07843996b9110398e4cf5b96cea0fabb7654f274
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/CodeGen/TargetInfo.h
    A clang/lib/CIR/CodeGen/Targets/SPIRV.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.h
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/SPIRV.cpp
    A clang/test/CIR/CodeGenOpenCL/spirv-kernel.cl

  Log Message:
  -----------
  [CIR][SPIR-V] Add initial SPIR-V target CodeGen support (#196920)


  Commit: dc6c7ee102b51d76ecf4a39f0ebb794d8b74267c
      https://github.com/llvm/llvm-project/commit/dc6c7ee102b51d76ecf4a39f0ebb794d8b74267c
  Author: Weibo He <NewSigma at 163.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Coroutines/SuspendCrossingInfo.h
    M llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.cpp

  Log Message:
  -----------
  [CoroSplit] Rename Suspend/End to AlwaysKill/NeverKill (NFC) (#199150)

Rename them so that we can generalize to more intrinsics, for example,
`llvm.coro.is_in_ramp` in #198226


  Commit: 6b1f976858eea5a64f058ca48873be834bd79569
      https://github.com/llvm/llvm-project/commit/6b1f976858eea5a64f058ca48873be834bd79569
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/frame-pointer-elim.c

  Log Message:
  -----------
  [Mips] Omit the frame pointer when optimizations are enabled (#198737)

Enable frame pointer optimization to match GCC behavior

Fix #48326.


  Commit: 0e9af2567341a1cfa2ff02f33a43320c01324a50
      https://github.com/llvm/llvm-project/commit/0e9af2567341a1cfa2ff02f33a43320c01324a50
  Author: Schrodinger ZHU Yifan <yfzhu at google.com>
  Date:   2026-05-21 (Thu, 21 May 2026)

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

  Log Message:
  -----------
  [libc][freebsd] skip exhaustive math tests in FreeBSD CI (#199143)

Remove expensive tests to mitigate the long running time.


  Commit: 50744ea335e4c54a555c7f38d0c3f982d3441845
      https://github.com/llvm/llvm-project/commit/50744ea335e4c54a555c7f38d0c3f982d3441845
  Author: David Tenty <daltenty at ibm.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/test/CodeGen/PowerPC/aix-alias.ll
    M llvm/test/CodeGen/PowerPC/aix-alloca-r31.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-byval-mem.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-byval-mir.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-byval.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-ext-vec-abi.ll
    M llvm/test/CodeGen/PowerPC/aix-complex.ll
    M llvm/test/CodeGen/PowerPC/aix-emit-tracebacktable-ssp.ll
    M llvm/test/CodeGen/PowerPC/aix-exception.ll
    M llvm/test/CodeGen/PowerPC/aix-extern-weak.ll
    M llvm/test/CodeGen/PowerPC/aix-extern.ll
    M llvm/test/CodeGen/PowerPC/aix-ifunc-obj.ll
    M llvm/test/CodeGen/PowerPC/aix-ifunc.ll
    M llvm/test/CodeGen/PowerPC/aix-llvm-intrinsic.ll
    M llvm/test/CodeGen/PowerPC/aix-no-inline-glue.ll
    M llvm/test/CodeGen/PowerPC/aix-p9-insert-extract.ll
    M llvm/test/CodeGen/PowerPC/aix-p9-xxinsertw-xxextractuw.ll
    M llvm/test/CodeGen/PowerPC/aix-reloc-sorting.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-char.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-double.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-float.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-int.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess2.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-longlong.ll
    M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-short.ll
    M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
    M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-loadaddr.ll
    M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-gd-double.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-gd-int.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-gd-target-flags.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-ie-xcoff-reloc.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-O0.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-double.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-float.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-int.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-longlong.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc.ll
    M llvm/test/CodeGen/PowerPC/aix-trampoline.ll
    M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills-mir.ll
    M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills.ll
    M llvm/test/CodeGen/PowerPC/aix-vector-stack-caller.ll
    M llvm/test/CodeGen/PowerPC/aix-vector-vararg-caller.ll
    M llvm/test/CodeGen/PowerPC/aix-vector-vararg-fixed-caller.ll
    M llvm/test/CodeGen/PowerPC/aix-weak.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-data-sections.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-explicit-section.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-reloc.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll
    M llvm/test/CodeGen/PowerPC/aix64-cc-byval.ll
    M llvm/test/CodeGen/PowerPC/basic-toc-data-extern.ll
    M llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-mfspr-mtspr-64bit-only.ll
    M llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-prefetch.ll
    M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
    M llvm/test/CodeGen/PowerPC/const-nonsplat-array-init.ll
    M llvm/test/CodeGen/PowerPC/const-splat-array-init.ll
    M llvm/test/CodeGen/PowerPC/ctrloops-pseudo.ll
    M llvm/test/CodeGen/PowerPC/fast-isel-branch.ll
    M llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
    M llvm/test/CodeGen/PowerPC/global-merge-aix-sections.ll
    M llvm/test/CodeGen/PowerPC/huge-frame-call.ll
    M llvm/test/CodeGen/PowerPC/licm-tocReg.ll
    M llvm/test/CodeGen/PowerPC/lower-globaladdr64-aix.ll
    M llvm/test/CodeGen/PowerPC/memset-tail.ll
    M llvm/test/CodeGen/PowerPC/merge-private.ll
    M llvm/test/CodeGen/PowerPC/mergeable-string-pool-large.ll
    M llvm/test/CodeGen/PowerPC/mergeable-string-pool-tls.ll
    M llvm/test/CodeGen/PowerPC/mergeable-string-pool.ll
    M llvm/test/CodeGen/PowerPC/p10-handle-split-promote-vec.ll
    M llvm/test/CodeGen/PowerPC/p8-scalar_vector_conversions.ll
    M llvm/test/CodeGen/PowerPC/ppc-float-spill.ll
    M llvm/test/CodeGen/PowerPC/ppc-shufflevector-combine.ll
    M llvm/test/CodeGen/PowerPC/pr74951.ll
    M llvm/test/CodeGen/PowerPC/pre-inc-disable.ll
    M llvm/test/CodeGen/PowerPC/reduce_scalarization.ll
    M llvm/test/CodeGen/PowerPC/scalar_vector_test_4.ll
    M llvm/test/CodeGen/PowerPC/splat-after-xxsldwi.ll
    M llvm/test/CodeGen/PowerPC/stack-guard-oob.ll
    M llvm/test/CodeGen/PowerPC/stack-protector-target.ll
    M llvm/test/CodeGen/PowerPC/stack-protector.ll
    M llvm/test/CodeGen/PowerPC/toc-data-common.ll
    M llvm/test/CodeGen/PowerPC/toc-data-const.ll
    M llvm/test/CodeGen/PowerPC/toc-data-struct-array.ll
    M llvm/test/CodeGen/PowerPC/toc-data.ll
    M llvm/test/CodeGen/PowerPC/v16i8_scalar_to_vector_shuffle.ll
    M llvm/test/CodeGen/PowerPC/v4i32_scalar_to_vector_shuffle.ll
    M llvm/test/CodeGen/PowerPC/v8i16_scalar_to_vector_shuffle.ll
    M llvm/test/CodeGen/PowerPC/vec_insert_elt.ll
    M llvm/test/CodeGen/PowerPC/vec_shuffle_p8vector.ll
    M llvm/test/CodeGen/PowerPC/xxinsertw.ll
    M llvm/test/CodeGen/PowerPC/xxperm-swap.ll

  Log Message:
  -----------
  [NFC][PowerPC][AIX] add explicit code model to 64-bit AIX tests (#199159)

A later PR will propose updating the default code model, so this PR sets
an explicit code model on tests that don't have it. This is strictly
NFC, as we are just setting the existing code model.


  Commit: 010895249f480b9a875ade15a1c8b7d306654636
      https://github.com/llvm/llvm-project/commit/010895249f480b9a875ade15a1c8b7d306654636
  Author: Dark Steve <Prasoon.Mishra at amd.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/wait-xcnt-drain.mir

  Log Message:
  -----------
  [AMDGPU] Pre-commit test for redundant s_wait_xcnt after implicit XCN… (#198772)

…T drain

Demonstrates that `SIInsertWaitcnts` currently emits `s_wait_xcnt 0x0`
after instructions that already drain XCNT in hardware on gfx1250:
`s_barrier_wait`, `s_barrier_signal`, `s_barrier_signal_isfirst`,
`s_sendmsg`, PC-changing terminators etc.


  Commit: 836fcaa4235c1145627558f5414f31e5d23cc328
      https://github.com/llvm/llvm-project/commit/836fcaa4235c1145627558f5414f31e5d23cc328
  Author: Jinjie Huang <huangjinjie at bytedance.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M llvm/tools/llvm-profgen/PerfReader.cpp

  Log Message:
  -----------
  [llvm-profgen] Speed up parsing of MMap events (#197871)

During the mmap extraction, `extractMMapEventForBinary()` is invoked
line by line to parse the perf script(usually 100K to 1M+ lines). This
patch tries to early quit when the current line does not contain the
Binary name, and this will help to avoid subsequent parsing
overhead(baseline behavior uses regex to extract the name, returning
false if it doesn't match the current binary).

With this minor change, the execution time of
extractMMapEventForBinary() dropped from 13,600ms to 32ms(-99%) in an
internal workload test(827K lines).


  Commit: 4210f1a52f48cf48f0de53bf7fdcc791a8fc0925
      https://github.com/llvm/llvm-project/commit/4210f1a52f48cf48f0de53bf7fdcc791a8fc0925
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M libcxx/include/functional

  Log Message:
  -----------
  [libc++][NFC] Remove incorrect TODO about deprecating mem_fn (#199172)


  Commit: 7e8de3bbf2e1b9255a243d4f768ed042dee8c328
      https://github.com/llvm/llvm-project/commit/7e8de3bbf2e1b9255a243d4f768ed042dee8c328
  Author: David Green <david.green at arm.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

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

  Log Message:
  -----------
  [AArch64] Combine A + zext(B) * C -> A - zext(B) * -C (#198488)

This converts `A + zext(B) * C` -> `A - zext(B) * -C` if C can be
negated in order to use umsubl.


  Commit: 6d155b31f4eb49f66aa1b138e7fa65bc4d34e528
      https://github.com/llvm/llvm-project/commit/6d155b31f4eb49f66aa1b138e7fa65bc4d34e528
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp

  Log Message:
  -----------
  [alpha.webkit.UncountedLocalVarsChecker] Some forms of mutating a guardian variable is ignored (#198950)

This PR fixes a bug in UncountedLocalVarsChecker that it was allowing
mutations to guardian variables within the same scope of a guarded raw
pointer/reference. Since mutating a guardian can affect the lifetime of
a guarded object, we must not consider it as a guardian variable for the
scope.

VisitCXXConstructExpr was just looking for smart pointer's move
constructor but any constructor which takes a guardian smart pointer
using a non-const function argument is problematic so detect all those
cases. Also add VisitCallExpr to detect all forms of function calls to
which a guardian variable is passed via a non-const argument. For
VisitCXXMemberCallExpr, we consider calling any non-const member
function on a guardian variable to be dangerous except conversion
operators (e.g. operator T()).


  Commit: 72be00bae2d4024fcf818f5a0e59784adc9d4f31
      https://github.com/llvm/llvm-project/commit/72be00bae2d4024fcf818f5a0e59784adc9d4f31
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp

  Log Message:
  -----------
  [webkit.UncountedLambdaCapturesChecker] Check every lambdas passed to makeVisitor (#198713)

This PR fixes the bug in UncountedLambdaCapturesChecker that we were
failing to check variable captures of a non-first lambdas passed to
WTF::makeVisitor. To support this, we store a SmallVector of
LambdaExpr's instead of a single LambdaExpr in LambdaOwnerMap.


  Commit: e90ae13b657960edb3a4d0be22bfd89d6d783b19
      https://github.com/llvm/llvm-project/commit/e90ae13b657960edb3a4d0be22bfd89d6d783b19
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp

  Log Message:
  -----------
  [webkit.UncountedLambdaCapturesChecker] Check lambdas in constructors and destructors (#198709)

This PR fixes the bug that lambda captures checkers don't check for
"this" pointer captured in a lambda inside C++ constructors and
destructors.


  Commit: 9353d0d55bddcc2065745f44bd3ac1b870098f75
      https://github.com/llvm/llvm-project/commit/9353d0d55bddcc2065745f44bd3ac1b870098f75
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-05-21 (Thu, 21 May 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  [alpha.webkit.UncountedCallArgsChecker] Check CXXOperatorCallExpr's this argument (#198688)

This PR fixes the bug that we were not checking "this" parameter of
CXXOperatorCallExpr.


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

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/handle-iptr-with-data-layout-to-not-assert.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-8.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-8.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-01uu.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-8.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-8.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-8.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-8.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-8.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-8.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-8.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i32.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i64.ll
    M llvm/test/Transforms/LoopVectorize/X86/cast-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/user-with-multi-copyable-ops.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected

  Log Message:
  -----------
  [CostModel][X86] Make avx512 inlane 2src shuffles cheaper that crosslane 2src shuffles (#199074)

256/512 variable mask shuffles are not going to sustain tp = 1 on all
avx512 targets - unlike immediate mask inlane shuffles

1src shuffles aren't much better, but there's additional special cases
that need handling for these

Noticed while triaging failed vectorcombine reduction folds due to weird
costs


  Commit: c20020ea73aa13094800aeac09944c6f81cb0ea6
      https://github.com/llvm/llvm-project/commit/c20020ea73aa13094800aeac09944c6f81cb0ea6
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    M libc/include/math.yaml
    M libc/include/pthread.yaml
    M libc/include/search.yaml
    M libc/include/stdfix.yaml
    M libc/include/sys/mman.yaml
    M libc/include/sys/syscall.yaml
    M libc/utils/hdrgen/hdrgen/header.py
    M libc/utils/hdrgen/hdrgen/main.py
    M libc/utils/hdrgen/hdrgen/symbol.py
    M libc/utils/hdrgen/hdrgen/yaml_to_classes.py

  Log Message:
  -----------
  [libc] Enforce standard identifier validation in hdrgen (#198971)

Implemented validation for standard identifiers in the hdrgen tool to
catch typos and unknown standards. Aggregated standards from all entity
types (macros, types, etc.) for validation, addressing a TODO in
header.py.

Added llvm_libc_ext, stdc_ext, and llvm_libc_stdfix_ext to the canonical
identifiers. Standardised invalid or inconsistently formatted standards
in several YAML files.

This enforces the correctness of any provided standards field but does
not yet require that every entity has one (many entities still inherit
standards from the header level).

Assisted-by: Automated tooling, human reviewed.


  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: 852a20e6d1caf3cb54ce31956aa947bcf3f1a77b
      https://github.com/llvm/llvm-project/commit/852a20e6d1caf3cb54ce31956aa947bcf3f1a77b
  Author: Aayush Shrivastava <79578660+iamaayushrivastava at users.noreply.github.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/darwin/aarch64/entrypoints.txt
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/nvptx/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/math.yaml
    M libc/shared/math.h
    A libc/shared/math/isnanf16.h
    M libc/src/__support/math/CMakeLists.txt
    A libc/src/__support/math/isnanf16.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/isnanf16.cpp
    A libc/src/math/isnanf16.h
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/IsNanTest.h
    A libc/test/src/math/smoke/isnanf16_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Implement isnanf16 header-only function (#198115)

Adds `isnanf16` the float16 variant of isnan as part of issue
[#195400](https://github.com/llvm/llvm-project/issues/195400), which
tracks adding missing isnan variants for extended floating-point types.

The implementation follows the same pattern as the existing `isnanf`,
`isnan`, and `isnanl` functions.

---------

Co-authored-by: Victor Campos <github at victorcampos.me>


  Commit: c0c56f419590bb4219f9f198c33cb6c7ee6555cf
      https://github.com/llvm/llvm-project/commit/c0c56f419590bb4219f9f198c33cb6c7ee6555cf
  Author: Kavin Gnanapandithan <kavin.balag at gmail.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/ordered-reduction.ll

  Log Message:
  -----------
  [SLP][NFC] Add precommit test for unprofitable ordered fadd reductions (#199428)

Adds a test case reproducing a scenario where the cost model incorrectly
evaluates an unprofitable ordered fadd reduction chain as profitable.

Further details can be found on this issue:
https://github.com/llvm/llvm-project/issues/199267


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

  Changed paths:
    M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
    M llvm/test/CodeGen/X86/GlobalISel/add-scalar.ll
    M llvm/test/CodeGen/X86/GlobalISel/select-add-x32.mir
    M llvm/test/CodeGen/X86/GlobalISel/sub-scalar.ll

  Log Message:
  -----------
  [X86][GISel] Fix carry-in for selectUAddSub. (#199261)

When G_UADDE/G_USUBE was chained off a previous G_UADDE/G_UADDO/
G_USUBE/G_USUBO, selectUAddSub re-materialized EFLAGS.CF from the
previous SETB byte using CMP r, 1. That computes (r - 1) and sets
CF iff r < 1 unsigned, i.e. CF = (r == 0) -- the inverse of the
desired carry. The following ADC/SBB then consumed the wrong CF and
produced an off-by-one upper word; e.g. `add i128 0xFF..FF, 1` under
-global-isel returned hi=0 lo=0 instead of hi=1 lo=0.

Emit NEG r instead: NEG sets CF iff its operand is non-zero, matching
the SETB byte. NEG is a two-address (tied) instruction, so emit it
into a fresh virtual register rather than redefining the carry-in
vreg.

C reproducer (compile on x86_64-linux-gnu and run):

```
  // clang -O2 -fglobal-isel repro.c -o repro && ./repro
  #include <stdio.h>

  __attribute__((noinline))
  __int128 add128(__int128 a, __int128 b) { return a + b; }

  int main(void) {
      __int128 a = (__int128)0xFFFFFFFFFFFFFFFFULL;
      __int128 r = add128(a, 1);
      unsigned long long lo = r, hi = r >> 64;
      printf("hi=0x%llx lo=0x%llx\n", hi, lo);
      return (hi == 1 && lo == 0) ? 0 : 1;
  }
```

Without -fglobal-isel: prints "hi=0x1 lo=0x0", exits 0.
With    -fglobal-isel: prints "hi=0x0 lo=0x0", exits 1.

The buggy code-gen emits the inverted-carry sequence (clang trunk,
pre-fix):

```
  add128:
      movq    %rdx, %rax
      addq    %rdi, %rax
      setb    %dl
      cmpb    $1, %dl        # CF = (dl == 0), inverse of intended
      adcq    %rsi, %rcx
      movq    %rcx, %rdx
      retq
```

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


  Commit: 074b6beca94bceec0e75945085d65e9bfdd4e563
      https://github.com/llvm/llvm-project/commit/074b6beca94bceec0e75945085d65e9bfdd4e563
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/AArch64/scalable-type-revec.ll
    A llvm/test/Transforms/SLPVectorizer/AMDGPU/transform-node-gather-struct.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/complex-nonvect-struct-returned.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-add-saddo.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-add-uaddo.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-mul-smulo.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-mul-umulo.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-ssubo.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-usubo.ll
    M llvm/test/Transforms/SLPVectorizer/X86/revec-non-power-2-to-power-2-large-vect.ll
    A llvm/test/Transforms/SLPVectorizer/X86/struct-return-extract-dominance.ll
    A llvm/test/Transforms/SLPVectorizer/X86/struct-return-ordering-stress.ll
    A llvm/test/Transforms/SLPVectorizer/non-vect-loads.ll

  Log Message:
  -----------
  [SLP] Vectorize struct-returning intrinsics

Allow SLP to combine across lanes calls that return a literal struct
(llvm.sincos, llvm.*.with.overflow, llvm.frexp, ...) into a single
call returning a struct of vectors, by widening {T, T, ...} to
{<VF x T>, ...} via VectorTypeUtils and emitting extractvalue +
extractelement for external uses.

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

Original Pull Request2: https://github.com/llvm/llvm-project/pull/196756

Recommit after revert https://github.com/llvm/llvm-project/pull/198265#event-25652008254

Added check for valid vectorizable type, small corner cases fixes

Reviewers: 

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


  Commit: 69a5cf515fd317bcf918e48de9137dd8549870c5
      https://github.com/llvm/llvm-project/commit/69a5cf515fd317bcf918e48de9137dd8549870c5
  Author: NeKon69 <nobodqwe at gmail.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/test/Sema/warn-lifetime-safety-fixits.cpp
    M clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-cross-tu.cpp
    M clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-intra-tu.cpp
    M clang/test/Sema/warn-lifetime-safety-suggestions.cpp

  Log Message:
  -----------
  [LifetimeSafety] Extend suggestions for `lifetimebound` to also warn on canonical declarations  (#198784)

With this patch, we suggest adding the `clang::lifetimebound` attribute
on the canonical declaration and on the earliest redeclaration in each
other file, preserving diagnostics for declarations visible from other
translation units while avoiding duplicate suggestions within the same
file.

Fixes #198624
Fixes #198628


  Commit: 6302439f5aaea6cb776d8ceb5c2ef9108fccf702
      https://github.com/llvm/llvm-project/commit/6302439f5aaea6cb776d8ceb5c2ef9108fccf702
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M llvm/include/llvm/ADT/DenseMap.h
    M llvm/include/llvm/ADT/DenseSet.h
    M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
    M llvm/lib/CodeGen/PeepholeOptimizer.cpp
    M llvm/lib/CodeGen/RemoveRedundantDebugValues.cpp
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/IR/LegacyPassManager.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/Support/CommandLine.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/unittests/ADT/DenseMapTest.cpp
    M llvm/unittests/ADT/DenseSetTest.cpp
    M llvm/unittests/Support/JSONTest.cpp

  Log Message:
  -----------
  [llvm,clang] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#198982)

In preparation for switching DenseMap from tombstone deletion to
backward-shift deletion, update call sites that reuse an iterator or a
bucket reference after erasing another entry from the same map.

These work under tombstone deletion because unrelated buckets stay put,
but backward-shift deletion relocates entries to close the gap.

Add DenseMap::remove_if, similar to SmallPtrSet::remove_if, as
replacement for erase-while-iterating, and use it where applicable.

Aided by Claude Opus 4.7


  Commit: eceae62c84049e07b945d4912654c04c33d2c5ae
      https://github.com/llvm/llvm-project/commit/eceae62c84049e07b945d4912654c04c33d2c5ae
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon/getset.c

  Log Message:
  -----------
  [clang][CIR][nfc] Remove redundant code + update run lines (#199049)

This is just a minor clean-up post #186119.


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

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    A llvm/test/Transforms/CodeGenPrepare/X86/null-psi-no-crash.ll

  Log Message:
  -----------
  [CodeGenPrepare] Report an error if ProfileSummaryAnalysis is not available (#199268)

CodeGenPreparePass can't declare ProfileSummaryAnalysis as required,
because PSA is a module-level analysis, but CFP is a function-level pass.
Therefore it accesses PSA using getCachedResult, and PSA might be null.

In practice this doesn't happen, because the CGP pass pipeline
preparation code ensures that PSA is present. But if you invoke
CGP via opt -passes=codegenprepare, then it's not
there, and we segfault.

Fix for https://github.com/llvm/llvm-project/issues/173360.

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


  Commit: bb02cabc1dc448c805d1bf7d4036a1dabf1b744e
      https://github.com/llvm/llvm-project/commit/bb02cabc1dc448c805d1bf7d4036a1dabf1b744e
  Author: Kavin Gnanapandithan <kavin.balag at gmail.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/ordered-reduction.ll

  Log Message:
  -----------
  [SLP] Ensure TreeCost is scaled for ordered fadd reductions (#199388)

Resolves #199267

Addresses an issue where `getScaleToLoopIterations()` can return 1 on
isolated SLP trees because `UserTreeIndex` is invalid. This prevents
`TreeCost` from scaling alongside `ReductionCost`, causing the cost
model to incorrectly treat an unprofitable vector reduction as
profitable.

This patch passes the reduction root instruction down into
`calculateTreeCostAndTrimNonProfitable` and the underlying scale
calculation so `getScaleToLoopIterations` can get the correct block
context.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp

  Log Message:
  -----------
  [VPlan] Simplify VPSCEVExpander, clarify naming/comments (NFC). (#199423)

Address post-commit comments from
https://github.com/llvm/llvm-project/pull/189455,
removing unneeded member, and clarify naming/comments to stress the
current logic tries to expand a SCEV to VPInstructions, with only a small 
sub-set of SCEV expression supported.


  Commit: 1503b86870993f9ad76d79ebd38cb989669c991e
      https://github.com/llvm/llvm-project/commit/1503b86870993f9ad76d79ebd38cb989669c991e
  Author: Jonathan Cohen <joncoh at apple.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

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

  Log Message:
  -----------
  [NFC][AArch64][Cyclone] Model WriteSTP with a local SchedWriteRes (#198844)

Cyclone scheduling model uses SchedAlias between 2 SchedWriteRes
definitions from AArch64Schedule.td.
This prevents other scheduling models from aliasing WriteSTP. This patch
address the issue by defining a new CyWriteSTP and using that instead.


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

  Changed paths:
    M .github/workflows/unprivileged-download-artifact/action.yml

  Log Message:
  -----------
  workflows/unprivileged-download-artifact: Remove template expansion (#199107)

https://github.com/llvm/llvm-project/security/code-scanning/1749
https://github.com/llvm/llvm-project/security/code-scanning/1752
https://github.com/llvm/llvm-project/security/code-scanning/1753
https://github.com/llvm/llvm-project/security/code-scanning/1879
https://github.com/llvm/llvm-project/security/code-scanning/1880


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll

  Log Message:
  -----------
  [LV] Handle chained selects/blends when creating new rdx chain. (#199443)

Make sure we recursively clone chains of selects/blends when re-creating
a reduction chain with new types.

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


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

  Changed paths:
    M .github/workflows/docs.yml
    M .github/workflows/release-documentation.yml
    M .github/workflows/release-doxygen.yml
    R llvm/docs/requirements-hashed.txt
    M llvm/docs/requirements.txt
    A llvm/docs/requirements.txt.in

  Log Message:
  -----------
  workflows: Require hashed dependencies when installing docs dependencies (#197306)


  Commit: 45fa0a1deb722d52425fbca5cb56020e540cea63
      https://github.com/llvm/llvm-project/commit/45fa0a1deb722d52425fbca5cb56020e540cea63
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M clang/test/Driver/crash-ir-repro.cpp

  Log Message:
  -----------
  [Clang][Driver] Reenable test on UBSan/HWAsan (#199448)

It passes locally, presumably due to
15488a7f78ce7b9ae3c06b031134e5cb339b335c fixing the behavior here.


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

  Changed paths:
    M .github/workflows/release-sources.yml

  Log Message:
  -----------
  workflows/release-sources: Validate input and remove template expansion (#199426)

https://github.com/llvm/llvm-project/security/code-scanning/1730
https://github.com/llvm/llvm-project/security/code-scanning/1731
https://github.com/llvm/llvm-project/security/code-scanning/1732
https://github.com/llvm/llvm-project/security/code-scanning/1733


  Commit: 38a8cd7cf6a1c45919a8c272c151de0dcc32571c
      https://github.com/llvm/llvm-project/commit/38a8cd7cf6a1c45919a8c272c151de0dcc32571c
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp

  Log Message:
  -----------
  [LifetimeSafety] Fix use-after-scope from #198784 (#199455)

This fixes a use-after-scope introduced by #198784 (reported in
https://github.com/llvm/llvm-project/pull/198784#issuecomment-4530043621),
by manually extending the lifetime.

AFAIK clang is built using C++17 [*], hence C++23 P2718R0's lifetime
extension in range-based for loops does not apply.

[*] "Unless otherwise documented, LLVM subprojects are written using
standard C++17 code"
(https://llvm.org/docs/CodingStandards.html#c-standard-versions)


  Commit: 72d747d9576cfd13039cb5f7ed7f8fb69f85daec
      https://github.com/llvm/llvm-project/commit/72d747d9576cfd13039cb5f7ed7f8fb69f85daec
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-05-25 (Mon, 25 May 2026)

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

  Log Message:
  -----------
  [libc++][test] Move backported algorithms to `libcxx/test/support` (#199431)

And namespace `util`. This will make helpers provided more consistently,
and potentially allow us to unify test helper namespaces in the future.


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

  Changed paths:
    M .github/workflows/release-binaries.yml

  Log Message:
  -----------
  workflows/release-binaries: Validate input and remove template expansion (#199434)

https://github.com/llvm/llvm-project/security/code-scanning/1699
https://github.com/llvm/llvm-project/security/code-scanning/1700
https://github.com/llvm/llvm-project/security/code-scanning/1701
https://github.com/llvm/llvm-project/security/code-scanning/1702
https://github.com/llvm/llvm-project/security/code-scanning/1703
https://github.com/llvm/llvm-project/security/code-scanning/1704
https://github.com/llvm/llvm-project/security/code-scanning/1705
https://github.com/llvm/llvm-project/security/code-scanning/1706
https://github.com/llvm/llvm-project/security/code-scanning/1707
https://github.com/llvm/llvm-project/security/code-scanning/1708
https://github.com/llvm/llvm-project/security/code-scanning/1709
https://github.com/llvm/llvm-project/security/code-scanning/1710
https://github.com/llvm/llvm-project/security/code-scanning/1711


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

  Changed paths:
    M llvm/utils/gn/secondary/clang/tools/clang-sycl-linker/BUILD.gn

  Log Message:
  -----------
  [gn build] Add missing clang-sycl-linker dependency (#199464)


  Commit: ab1745439c7019d0753afc616c5fc5aef7b82fb6
      https://github.com/llvm/llvm-project/commit/ab1745439c7019d0753afc616c5fc5aef7b82fb6
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    R llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll

  Log Message:
  -----------
  Revert "[LV] Handle chained selects/blends when creating new rdx chain. (#199443)" (#199461)

This reverts commit 3f561eab147abf17c1838b4e3dc19837837a9740 due to
buildbot breakage
((https://lab.llvm.org/staging/#/builders/7/builds/1736/steps/9/logs/stdio).


  Commit: 11f0e7768bcd7c1c5081395f46391aacf37f9ac4
      https://github.com/llvm/llvm-project/commit/11f0e7768bcd7c1c5081395f46391aacf37f9ac4
  Author: isuckatcs <65320245+isuckatcs at users.noreply.github.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/CodeGen/GCRootLowering.cpp
    M llvm/test/CodeGen/Generic/gc-lowering.ll

  Log Message:
  -----------
  [CodeGen][GC] Initialize roots with `Constant::getNullValue()` instead of `ConstantPointerNull::get()` (#199367)

Fixes #199219


  Commit: a029fb9dda06a08c1f37037d03dda3ec053bc139
      https://github.com/llvm/llvm-project/commit/a029fb9dda06a08c1f37037d03dda3ec053bc139
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

  Changed paths:
    M clang/test/CodeGenCXX/visibility.cpp
    A clang/test/Modules/template-default-args-2.cpp
    A clang/test/Modules/template-default-args-3.cpp
    M clang/test/SemaTemplate/generic-lambda.cpp
    M clang/test/SemaTemplate/partial-spec-instantiate.cpp

  Log Message:
  -----------
  [clang] NFC: add some new test cases (#199467)

These are extracted from my current and future PRs.

They don't have much to do with the PRs themselves except that they were
regressions our test suite missed catching.


  Commit: 8811c2b3586831761807b683382d50ee185f3d7a
      https://github.com/llvm/llvm-project/commit/8811c2b3586831761807b683382d50ee185f3d7a
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp

  Log Message:
  -----------
  [ConstantHoisting] Avoid DenseMap reference invalidated by insertion (#199468)

Fix https://reviews.llvm.org/D28962 : DenseMap does not promise to keep
references stable across insertion. This happens to work today because
we don't do bucket eviction.

Pre-populate every node up front.


  Commit: 4aac0c636a437e727f4ecc691c4f964cccee0e4d
      https://github.com/llvm/llvm-project/commit/4aac0c636a437e727f4ecc691c4f964cccee0e4d
  Author: Himadhith <79003240+Himadhith at users.noreply.github.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

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

  Log Message:
  -----------
  [AIX] Re-apply: Remove unsupported AIX native echo option -n by using printf (#199395)

AIX native echo doesn't support the `-n` flag.
Use `printf` instead to ensure the test works across all systems and
making 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", "-n", "hi"]), b"hi")
# | AssertionError: b'-n hi\n' != b'hi'
# | 
# | ----------------------------------------------------------------------
# | Ran 3 tests in 2.092s
# | 
# | FAILED (failures=1)
# `-----------------------------
# error: command failed with exit status: 1
```

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


  Commit: e77ae26ca8ead5ca47dd6ed909031fb3c539a488
      https://github.com/llvm/llvm-project/commit/e77ae26ca8ead5ca47dd6ed909031fb3c539a488
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/test/tools/llubi/alloca_large_count.ll
    M llvm/test/tools/llubi/alloca_large_size.ll
    M llvm/test/tools/llubi/alloca_poison_count.ll
    M llvm/test/tools/llubi/alloca_size_overflow.ll
    M llvm/test/tools/llubi/assume_false.ll
    M llvm/test/tools/llubi/assume_invalid_align.ll
    M llvm/test/tools/llubi/assume_misalign.ll
    M llvm/test/tools/llubi/assume_misalign_all_ones.ll
    M llvm/test/tools/llubi/assume_nondereferenceable.ll
    M llvm/test/tools/llubi/assume_null.ll
    M llvm/test/tools/llubi/assume_null_all_ones.ll
    M llvm/test/tools/llubi/assume_poison.ll
    M llvm/test/tools/llubi/assume_poison_align.ll
    M llvm/test/tools/llubi/attribute_dereferenceable_ub_nullary_provenance.ll
    M llvm/test/tools/llubi/attribute_dereferenceable_ub_oob1.ll
    M llvm/test/tools/llubi/attribute_dereferenceable_ub_oob2.ll
    M llvm/test/tools/llubi/attribute_dereferenceable_ub_oob3.ll
    M llvm/test/tools/llubi/attribute_dereferenceable_ub_poison.ll
    M llvm/test/tools/llubi/attribute_noundef_agg_ub.ll
    M llvm/test/tools/llubi/attribute_noundef_ub.ll
    M llvm/test/tools/llubi/br_poison.ll
    M llvm/test/tools/llubi/call_mismatched_signature.ll
    M llvm/test/tools/llubi/call_poison.ll
    M llvm/test/tools/llubi/divrem_ub1.ll
    M llvm/test/tools/llubi/divrem_ub2.ll
    M llvm/test/tools/llubi/divrem_ub3.ll
    M llvm/test/tools/llubi/divrem_ub4.ll
    M llvm/test/tools/llubi/indirectbr_invalid.ll
    M llvm/test/tools/llubi/indirectbr_poison.ll
    M llvm/test/tools/llubi/infinite_loop.ll
    M llvm/test/tools/llubi/invoke_poison.ll
    M llvm/test/tools/llubi/lib_cxx_memory_large_size.ll
    M llvm/test/tools/llubi/lib_double_free.ll
    M llvm/test/tools/llubi/lib_free_nullary_pointer.ll
    M llvm/test/tools/llubi/lib_free_out_of_bound.ll
    M llvm/test/tools/llubi/lib_free_stack.ll
    M llvm/test/tools/llubi/lib_poison_argument.ll
    M llvm/test/tools/llubi/lib_printf_not_enough_argument.ll
    M llvm/test/tools/llubi/lib_printf_unknown_specifier.ll
    M llvm/test/tools/llubi/lib_read_nullary_string.ll
    M llvm/test/tools/llubi/lib_uninit_string.ll
    M llvm/test/tools/llubi/load_noundef_ub_poison.ll
    M llvm/test/tools/llubi/load_noundef_ub_poison_padding.ll
    M llvm/test/tools/llubi/load_noundef_ub_undef.ll
    M llvm/test/tools/llubi/loadstore_misaligned.ll
    M llvm/test/tools/llubi/loadstore_null.ll
    M llvm/test/tools/llubi/loadstore_oob1.ll
    M llvm/test/tools/llubi/loadstore_poison.ll
    M llvm/test/tools/llubi/loadstore_uaf.ll
    M llvm/test/tools/llubi/metadata_noundef_ub.ll
    M llvm/test/tools/llubi/stack_overflow.ll
    M llvm/test/tools/llubi/store_dead.ll
    M llvm/test/tools/llubi/switch_poison.ll
    M llvm/test/tools/llubi/unreachable.ll
    M llvm/tools/llubi/lib/CMakeLists.txt
    M llvm/tools/llubi/lib/Context.cpp
    M llvm/tools/llubi/lib/Context.h
    M llvm/tools/llubi/lib/ExecutorBase.cpp
    M llvm/tools/llubi/llubi.cpp

  Log Message:
  -----------
  [llubi] Print out inst location in stack trace (#199430)

This patch appends `file:line number` to each frame in the stack trace.
It would improve the debugging experience.

In all test files, the inputs are supplied via stdin. I think it should
be okay, as I don't need to add wildcards for filenames.


  Commit: 63bb8dc70a1786165ae5bf472cadb1a90f91fa2f
      https://github.com/llvm/llvm-project/commit/63bb8dc70a1786165ae5bf472cadb1a90f91fa2f
  Author: Brad Smith <brad at comstyle.com>
  Date:   2026-05-24 (Sun, 24 May 2026)

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

  Log Message:
  -----------
  [Mips] Remove mips from omitting the frame pointer for Linux (#199381)

6b1f976858eea5a64f058ca48873be834bd79569 enabled omitting
the frame pointer no matter what OS so remove the now redundancy
with having this on the Linux path.


  Commit: d06febc3a5fef5d87200a8af76c1efe811ba4dc0
      https://github.com/llvm/llvm-project/commit/d06febc3a5fef5d87200a8af76c1efe811ba4dc0
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_Y.pass.cpp

  Log Message:
  -----------
  [libc++] Fix shared_ptr(Y*) constraint check on GCC (#199429)

GCC has fixed SFINAEing on `delete` since at least GCC 11, so we can
properly constrain the constructor.


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

  Changed paths:
    M .github/workflows/llvm-abi-tests.yml

  Log Message:
  -----------
  workflows/llvm-abi-tests: Remove template expansions (#199436)

https://github.com/llvm/llvm-project/security/code-scanning/1655
https://github.com/llvm/llvm-project/security/code-scanning/1656
https://github.com/llvm/llvm-project/security/code-scanning/1657
https://github.com/llvm/llvm-project/security/code-scanning/1658
https://github.com/llvm/llvm-project/security/code-scanning/1659
https://github.com/llvm/llvm-project/security/code-scanning/1660
https://github.com/llvm/llvm-project/security/code-scanning/1661
https://github.com/llvm/llvm-project/security/code-scanning/1662
https://github.com/llvm/llvm-project/security/code-scanning/1663
https://github.com/llvm/llvm-project/security/code-scanning/1664


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

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

  Log Message:
  -----------
  [Bazel] Fixes e77ae26 (#199476)

This fixes e77ae26ca8ead5ca47dd6ed909031fb3c539a488.

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


  Commit: 0285f1c6b791fb974a71a236e329848cf2d2fbe9
      https://github.com/llvm/llvm-project/commit/0285f1c6b791fb974a71a236e329848cf2d2fbe9
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M mlir/include/mlir/Support/ThreadLocalCache.h
    M mlir/lib/Conversion/PDLToPDLInterp/RootOrdering.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp

  Log Message:
  -----------
  [mlir] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#199365)

Like the preceding llvm/ change, fix MLIR sites that reuse an iterator
or bucket reference after erasing from the same map, in preparation for
backward-shift DenseMap deletion which relocates surviving entries.

Use DenseMap::remove_if in ThreadLocalCache::clearExpiredEntries and the
RootOrdering cycle contraction (deferring the in-cycle graph erases
until
after iteration). ThreadLocalCache::get reads the value into a local and
bufferizeOp snapshots the worklist before folding, since those erases
re-enter via a rewriter listener.

Aided by Claude Opus 4.7


  Commit: 8446759ee610fe5ad1c5ab9cb2239ef3ad2e4c30
      https://github.com/llvm/llvm-project/commit/8446759ee610fe5ad1c5ab9cb2239ef3ad2e4c30
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.h

  Log Message:
  -----------
  [lldb] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#199499)

Similar to #198982


  Commit: 4e4095bb9ffbf46217a0574b3258b1a5d6edf737
      https://github.com/llvm/llvm-project/commit/4e4095bb9ffbf46217a0574b3258b1a5d6edf737
  Author: Boyao Wang <wangboyao at bytedance.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvzip.td
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll

  Log Message:
  -----------
  [RISCV][CodeGen] Add initial CodeGen support of vunzip{e,o} (#196024)

Add initial support for vunzip{e,o} instructions, which are included in
zvzip extension.


  Commit: 48cec8344ab4edf284c80909fa00aff06fc8c806
      https://github.com/llvm/llvm-project/commit/48cec8344ab4edf284c80909fa00aff06fc8c806
  Author: Mark Zhuang <mark.zhuang at spacemit.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M compiler-rt/lib/builtins/clear_cache.c

  Log Message:
  -----------
  [compiler-rt] Inline __NR_riscv_flush_icache instead of including linux/unistd.h (#193645)

Avoid the dependency on kernel headers to get __NR_riscv_flush_icache,
mirroring the existing approach used for __ARM_NR_cacheflush.

Assisted-by: Claude Sonnet 4.6


  Commit: 5f6a7f6af28ea3d8283538625f08d949cde2ba7b
      https://github.com/llvm/llvm-project/commit/5f6a7f6af28ea3d8283538625f08d949cde2ba7b
  Author: Rohit Garg <rohgarg at qti.qualcomm.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp

  Log Message:
  -----------
  [LoopInterchange] drop duplicate Instruction type check in populateDependencyMatrix (#199498)

Remove a duplicate isa<Instruction> check in populateDependencyMatrix.


  Commit: af92edf8b3aa4104992de9fe08ce2170d14bc28d
      https://github.com/llvm/llvm-project/commit/af92edf8b3aa4104992de9fe08ce2170d14bc28d
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M libc/src/__support/OSUtil/linux/CMakeLists.txt
    M libc/src/__support/OSUtil/linux/auxv.h
    M libc/src/__support/OSUtil/linux/syscall_wrappers/mprotect.h
    M libc/src/__support/OSUtil/linux/syscall_wrappers/munmap.h
    M libc/src/__support/threads/linux/CMakeLists.txt
    M libc/src/__support/threads/linux/thread.cpp
    M libc/startup/linux/aarch64/CMakeLists.txt
    M libc/startup/linux/aarch64/tls.cpp
    M libc/startup/linux/riscv/CMakeLists.txt
    M libc/startup/linux/riscv/tls.cpp
    M libc/startup/linux/x86_64/CMakeLists.txt
    M libc/startup/linux/x86_64/tls.cpp

  Log Message:
  -----------
  [libc] Port munmap and mprotect to the new syscall interface (#199199)

Assisted by Gemini.


  Commit: c59178d6037f582c7e8fb0141c7a16cd8d5d8d5e
      https://github.com/llvm/llvm-project/commit/c59178d6037f582c7e8fb0141c7a16cd8d5d8d5e
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    A libc/src/__support/net/CMakeLists.txt
    A libc/src/__support/net/address.cpp
    A libc/src/__support/net/address.h
    M libc/src/arpa/inet/CMakeLists.txt
    M libc/src/arpa/inet/inet_addr.cpp
    M libc/src/arpa/inet/inet_aton.cpp
    M libc/test/src/arpa/inet/inet_aton_test.cpp

  Log Message:
  -----------
  [libc] Fix inet_aton (#198791)

The main (in terms of LOC) change is moving the implementation to an
internal function in order to avoid the inet_addr->inet_aton dependency.

I also fix a bug where we (mistakenly) accepted whitespace and signs
inside the address. I also match the glibc implementation in ignoring
the data after the first whitespace.


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    A llvm/test/Transforms/InstCombine/trunc-minmax-intrinsics.ll
    A llvm/test/Transforms/PhaseOrdering/AArch64/trunc-intrinsics.ll

  Log Message:
  -----------
  [InstCombine] Narrow umin/umax/smin/smax through trunc. (#199213)

Update EvaluateInDifferentType / canEvaluateTruncated to support
narrowing umin/umax/smin/smax intrinsics, when their result fits in the
narrow type: zero high bits for umin/umax, or enough sign
bits for smin/smax.

Alive2 Proofs:
 * umin/umax with high bits zero: https://alive2.llvm.org/ce/z/dJC_Fj
 * smin/smax with sign-bits set: https://alive2.llvm.org/ce/z/z7vM8Z

End-to-end examples from C workloads performing pixel math:
https://llvm.godbolt.org/z/jK3bd3GfY

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


  Commit: 59681c65c71c4f89bf86e010291ac6f5d7cd5003
      https://github.com/llvm/llvm-project/commit/59681c65c71c4f89bf86e010291ac6f5d7cd5003
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M libcxx/include/any
    A libcxx/test/std/utilities/any/any.nonmembers/any.cast/const_reference_types.verify.cpp
    M libcxx/test/std/utilities/any/any.nonmembers/any.cast/reference_types.verify.cpp
    A libcxx/test/std/utilities/any/any.nonmembers/any.cast/void.const.verify.cpp
    M libcxx/test/std/utilities/any/any.nonmembers/any.cast/void.verify.cpp

  Log Message:
  -----------
  [libc++] remove duplicate assertions for void/reference const any_cast (#199425)

For test cases of the const overload of any_cast, such as:
```C++
void test() {
  std::any a = 0;
  const std::any& a2 = a;
  (void)std::any_cast<int&>(&a2);
}
```
(And similarly for void).

The problem is that the assertions are implemented both in the const and
non-const any_cast overloads, but since the const overload delegates to
the non-const overload, that ends up producing the same assertion twice.

This separates those test cases, because those assertions are
implemented in the function body, and that's only instantiated once per
specialization, not once per use.


  Commit: 3056add6389b58656092edf9fed75ca6d55a9d9d
      https://github.com/llvm/llvm-project/commit/3056add6389b58656092edf9fed75ca6d55a9d9d
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

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

  Log Message:
  -----------
  [VPlan] Rename Expression::isSingleScalar (NFC) (#199041)

The single-scalar terminology, as it is used in other places indicates
that all operands are scalars and that the result is a scalar.
VPExpressionRecipe::isSingleScalar is a misnomer, and is actually a
vector-to-scalar, using the existing terminology. Rename it for clarity.


  Commit: 84f95300d0f9efb45d5f1b76eb806c4772b16569
      https://github.com/llvm/llvm-project/commit/84f95300d0f9efb45d5f1b76eb806c4772b16569
  Author: Santanu Das <santdas at qti.qualcomm.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/test/Driver/hexagon-toolchain-elf.c
    M llvm/lib/Target/Hexagon/Hexagon.td
    M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonSubtarget.h
    A llvm/test/CodeGen/Hexagon/reserved-regs.ll

  Log Message:
  -----------
  [Hexagon] Support reserving R16-R28 registers via -ffixed-rN (#197208)

Extend register reservation from R19-only to R16-R28. This allows users
to reserve callee-saved registers (R16-R27) and R28 via command-line
flags -ffixed-r16 through -ffixed-r28. The single bool ReservedR19 is
replaced with an array-based approach (ReservedR[32]) to scale cleanly
across all supported registers.

---------

Co-authored-by: quic-santdas <quic_santdas at quicinc.com>


  Commit: e1a9576a9049a8c5fdf249e22ecc68dbc8d9d910
      https://github.com/llvm/llvm-project/commit/e1a9576a9049a8c5fdf249e22ecc68dbc8d9d910
  Author: Jiahao Guo <eoonguo at gmail.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon/intrinsics.c

  Log Message:
  -----------
  [CIR][AArch64] Lower NEON vsli/vsliq intrinsics (#198309)

### summary

part of: https://github.com/llvm/llvm-project/issues/185382

Lower the AArch64 NEON shift-left-and-insert intrinsics (`vsli_n_v` /
`vsliq_n_v`) in the CIR codegen path. The lowering mirrors classic
CodeGen (`clang/lib/CodeGen/TargetBuiltins/ARM.cpp`): bitcast both
vector operands to the target element type and emit a direct
`llvm.aarch64.neon.vsli` intrinsic call.


  Commit: 2894d7502f0b9ee8a3fc26867f180838c3aca3a1
      https://github.com/llvm/llvm-project/commit/2894d7502f0b9ee8a3fc26867f180838c3aca3a1
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

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

  Log Message:
  -----------
  [Flang][OpenMP] Allow workdistribute inside 'target teams' (#199006)

Currently, a `workdistribute` construct nested inside of a combined
`target teams` is incorrectly reported as an error. This patch fixes
that.


  Commit: 72b1c13378f6236956df37f9f8f621c7e60d32a6
      https://github.com/llvm/llvm-project/commit/72b1c13378f6236956df37f9f8f621c7e60d32a6
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M lldb/include/lldb/ValueObject/DILEval.h
    M lldb/include/lldb/ValueObject/DILParser.h
    M lldb/source/ValueObject/DILEval.cpp
    M lldb/source/ValueObject/DILParser.cpp
    A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/Makefile
    A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/TestEnumValueLookup.py
    A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/main.cpp

  Log Message:
  -----------
  [lldb] Add enum lookup to DIL (#192065)


  Commit: c52c3d203ded16ad88c8cf00e039fd2e45784e94
      https://github.com/llvm/llvm-project/commit/c52c3d203ded16ad88c8cf00e039fd2e45784e94
  Author: Jonathan L'Work <113400649+Jonathan03ant at users.noreply.github.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_alias.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_aliases.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p.txt

  Log Message:
  -----------
  [AMDGPU] Fix v_dot4_i32_i8 alias to set neg_lo modifiers (#197998)

Fixes issue here https://github.com/ROCm/ROCm/issues/6126

The `v_dot4_i32_i8` assembly alias was not setting the `neg_lo` modifier
bits when converted to `v_dot4_i32_iu8`, which causes signed int8
operands to be treated as unsigned.

For example: `q=[1,-1,1,-1], k=[1,1,1,1]`: expected 0, returned 512. The
instruction is computing `1*1 + 255*1 + 1*1 + 255*1 = 512` ; treating
`-1 (0xFF)` as `255`.

On AMD GFX11+, the native `v_dot4_i32_i8` instruction doesn't exist. The
hardware provides `v_dot4_i32_iu8` with `neg_lo` modifier bits to
control signedness of each operand. The compiler correctly lowers
`v_dot4_i32_i8` intrinsics by setting `neg_lo:[1,1,0]`, but inline
assembly using the `v_dot4_i32_i8` mnemonic bypasses this lowering and
goes directly to the assembler.

The assembler accepted `v_dot4_i32_i8` as a simple mnemonic alias but
didn't set the neg_lo modifiers, this results in all-unsigned behavior
which is wrong.

This patch adds assembly parser logic to detect when `v_dot4_i32_i8` is
used and automatically inject `neg_lo=0x3` *(src0 and src1 signed, src2
unsigned)* during operand conversion.

---------

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


  Commit: 3e6582fba63f1b2cade4eb3222736d50e1121b7b
      https://github.com/llvm/llvm-project/commit/3e6582fba63f1b2cade4eb3222736d50e1121b7b
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

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

  Log Message:
  -----------
  Reland "[LifetimeSafety] Detect iterator invalidation through container aliases" (#197873)

This relands #195231, which was reverted in commit
7c9717848851f3a71908becab4312ddc2d8482b8.

The original crash from the reproducer no longer reproduces after
#196680, #197220, and #197604. I verified the original `repro.cpp`: it
no longer hits the lifetime-safety assertion now.

Also added regression tests for the crash:

```cpp
struct SinkInteriorBorrow {
  const char *dest_; // expected-note {{this field dangles}}

  SinkInteriorBorrow(std::string *dest, int n) : dest_(dest->data()) { // expected-warning {{parameter which escapes to a field is later invalidated}}
    if (n > 0)
      dest->clear(); // expected-note {{invalidated here}}
  }
};
```

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


  Commit: e9132e96ee84c15c16e4f482701756192c7b1c9a
      https://github.com/llvm/llvm-project/commit/e9132e96ee84c15c16e4f482701756192c7b1c9a
  Author: Jan Schultke <me at eisenwave.net>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/CodeGen/builtins-elementwise-math.c
    M clang/test/Sema/builtins-elementwise-math.c

  Log Message:
  -----------
  [clang] Implement `__builtin_elementwise_clmul` (#196633)

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

I'm mostly just following the steps of
https://github.com/llvm/llvm-project/pull/153113/ and other prior PRs
here. I don't have any idea how testing works yet.

CC @artagnon @oscardssmith


  Commit: 78f660cca04448cde10dad5e04f1bc09927dd965
      https://github.com/llvm/llvm-project/commit/78f660cca04448cde10dad5e04f1bc09927dd965
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll

  Log Message:
  -----------
  [AtomicExpand] Support non-integer atomic loads. (#199310)

This is arguably an enhancement rather than a bugfix.  But
AtomicExpandPass already tries to support some non-integer atomic ops
using cmpxchg by bitcasting to/from an integer type.  We're just missing
this one path used by atomic load.  Seems easy enough to support it.

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


  Commit: 76c26357e9431086ae8821a8deefc22654822ba8
      https://github.com/llvm/llvm-project/commit/76c26357e9431086ae8821a8deefc22654822ba8
  Author: Domenic Nutile <domenic.nutile at gmail.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-s16-true16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll

  Log Message:
  -----------
  [AMDGPU][True16] Create tests that will demonstrate true16 G_SEXTLOAD/G_ZEXTLOAD legalization changes (#198669)

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>

Stack PRs:
https://github.com/llvm/llvm-project/pull/198670
https://github.com/llvm/llvm-project/pull/198671

See https://github.com/llvm/llvm-project/pull/195289 for previous
discussion


  Commit: 79f19001448d88fe5e5d77719013932becfd0f7d
      https://github.com/llvm/llvm-project/commit/79f19001448d88fe5e5d77719013932becfd0f7d
  Author: RolandF77 <froese at ca.ibm.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstrAltivec.td
    A llvm/test/CodeGen/PowerPC/partial-red.ll

  Log Message:
  -----------
  [PowerPC] Add PPC BE support for partial reductions (#195927)

Add PPC BE support for partial reduction ISD opcodes
PARTIAL_REDUCE_UMLA/SMLA/SUMLA.


  Commit: c1c4c8e23d099c199ea90b050742c3d6c5efcfaf
      https://github.com/llvm/llvm-project/commit/c1c4c8e23d099c199ea90b050742c3d6c5efcfaf
  Author: Omair Javaid <omair.javaid at linaro.org>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/drop-unit-dims-with-shape-cast.mlir
    M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
    M mlir/test/Dialect/Vector/vector-transforms.mlir

  Log Message:
  -----------
  Revert "[mlir][vector] Migrate drop-lead-unit-dim to shape_cast #196206" (#199546)

This reverts commit 24b8bb18f3417419cbd16fcd31f4e2842df952a1 from
#196206

This broke AArch64 SVE Linux buildbots, however it was not reported due
a glitch in the buildbot infrastructure. Following bots are failing:

https://lab.llvm.org/buildbot/#/builders/121
https://lab.llvm.org/buildbot/#/builders/41
https://lab.llvm.org/buildbot/#/builders/4
https://lab.llvm.org/buildbot/#/builders/199
https://lab.llvm.org/buildbot/#/builders/17
https://lab.llvm.org/buildbot/#/builders/198
https://lab.llvm.org/buildbot/#/builders/143


  Commit: 7ba877e9ce07572a2f6e0857e9083889d77a91fa
      https://github.com/llvm/llvm-project/commit/7ba877e9ce07572a2f6e0857e9083889d77a91fa
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

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

  Log Message:
  -----------
  [VPlan] Add matcher for canonical VPWidenIntOrFpInductionRecipe (NFC). (#199539)

Add matcher for canonical VPWidenIntOrFpInductionRecipe to simplify some
matching.


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

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

  Log Message:
  -----------
  [Bazel] Fixes af92edf (#199515)

This fixes af92edf8b3aa4104992de9fe08ce2170d14bc28d.

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


  Commit: 5b93aeb21818cfdb142b14e70ef4eb0363ca9d88
      https://github.com/llvm/llvm-project/commit/5b93aeb21818cfdb142b14e70ef4eb0363ca9d88
  Author: David Salinas <dsalinas at amd.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M clang/lib/Driver/OffloadBundler.cpp
    A clang/test/Driver/clang-offload-bundler-multi-compress.c

  Log Message:
  -----------
  clang-offload-bundler incorrectly errors on multi-CCOB binaries (#182579)

Issue: https://github.com/ROCm/llvm-project/issues/448

Objects can have multiple Clang Compressed Offload Bundles (CCOB) in the
.hip_fatbin section. This happens when there are multiple
translation/compilation units built and then linked together into an
Archive or Shared Object. The resulting .hip_fatbin section will have
multiple offload bundles delimited by the magic string "CCOB" (on a 4k
alignment boundary). The Clang Offload bundler API, when a List of
bundle entries is requested, was not properly iterating (looping) over
each separate bundle.

REPRODUCTION
Test File: librocblas.so.5 from ROCm 6.x distribution
.hip_fatbin section: 8,163,887 bytes containing 64 concatenated CCOBs

Extract the .hip_fatbin section with:
objcopy --dump-section .hip_fatbin=fatbin.bin binary


Structure:
Offset 0x0: CCOB header + 1.16 MB compressed (→ 12.41 MB uncompressed)
Offset 0x129000: CCOB header + 1.01 MB compressed (→ 13.14 MB
uncompressed)
Offset 0x227000: CCOB header + 36.5 KB compressed (→ 1.21 MB
uncompressed)
... (61 more bundles)

Command:
$ clang-offload-bundler --type=o --input=librocblas.so.5 --list

Error:
clang-offload-bundler: error: Failed to decompress input: Could not
decompress embedded file contents: Src size is incorrect

Expected:
Should list all target triples in the bundle, or at minimum process
the first bundle without error.


  Commit: d5f223da95da701f03cab10626d2a6d518e03737
      https://github.com/llvm/llvm-project/commit/d5f223da95da701f03cab10626d2a6d518e03737
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

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

  Log Message:
  -----------
  [SLP] Enable widening strided revectorization of vector stores (#198920)

This commit adds support for re-vectorization of vector stores into
widened strided stores. That is:
```
%p1 = getelementptr i16, ptr %p0, i64 16
store <4 x i16> zeroinitializer, ptr %p1, align 2
store <4 x i16> zeroinitializer, ptr %p0, align 2
```
can be further vectorized to:
```
call void @llvm.experimental.vp.strided.store.v2i64.p0.i64(<2 x i64> zeroinitializer, ptr align 2 %p0, i64 32, <2 x i1> splat (i1 true), i32 2)
```


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    A llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll

  Log Message:
  -----------
  Reapply "[LV] Handle chained selects/blends when creating new rdx cha… (#199559)

This reverts commit ab1745439c7019d0753afc616c5fc5aef7b82fb6 & reapplies
#199443.

Recommit with additional additional fix to handle other select-like
recipes including VPWidenRecipe and VPReplicateRecipe.

Original message:
Make sure we recursively clone chains of selects/blends when re-creating
a reduction chain with new types.

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


  Commit: 192ea327028d1e8ad37413ebf26ee0da40a4b0fc
      https://github.com/llvm/llvm-project/commit/192ea327028d1e8ad37413ebf26ee0da40a4b0fc
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp

  Log Message:
  -----------
  [ObjectYAML] Fix `DXContainerYAML::fromDXContainer` return value (#199534)


  Commit: 9b4f7d1ae62db9c828ea6b676a295b1e70abed9c
      https://github.com/llvm/llvm-project/commit/9b4f7d1ae62db9c828ea6b676a295b1e70abed9c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll

  Log Message:
  -----------
  [VPlan] Collect unit-stride predicates for making vector decisions. (#199568)

Split-off from approved https://github.com/llvm/llvm-project/pull/197276
to land separately.

Collect all unit-stride predicates once, up-front, ensuring that cost
decisions have predicates available, independent of processing order.


  Commit: 3c6fdba85b4f21b30b9cd9196b0e858204b3dff2
      https://github.com/llvm/llvm-project/commit/3c6fdba85b4f21b30b9cd9196b0e858204b3dff2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/VPlan/constant-fold.ll
    R llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll

  Log Message:
  -----------
  [LV] Move constant folding test to VPlan (NFC). (#198407)

Check VPlan print for constant folding test. This makes it more robust
w.r.t. to future cost-modeling changes.


  Commit: 3aa9ae2da352db6f5822fdc91a170db5e496be32
      https://github.com/llvm/llvm-project/commit/3aa9ae2da352db6f5822fdc91a170db5e496be32
  Author: Elio <xiongzile at bytedance.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    A llvm/test/Transforms/LoopVectorize/VPlan/for-phi-ordering.ll

  Log Message:
  -----------
  [VPlan] Collect FOR PHIs before sinking/hoisting recurrence users (#194671)

Avoid iterating over HeaderVPBB->phis() while potentially mutating the
underlying VPBasicBlock. Collect all VPFirstOrderRecurrencePHIRecipe
instances first, then process them in a separate loop.

This prevents iterator invalidation when sinking or hoisting recurrence
users, and makes the transformation more robust.

Fixes: https://github.com/llvm/llvm-project/issues/194618
Fixes https://github.com/llvm/llvm-project/issues/198589

---------

Co-authored-by: Zile Xiong <xiongzile99 at gmail.com>


  Commit: d0646cbe307dd2bd10686f923061a7d981263e40
      https://github.com/llvm/llvm-project/commit/d0646cbe307dd2bd10686f923061a7d981263e40
  Author: Zhijie Wang <yesterda9 at gmail.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

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

  Log Message:
  -----------
  [LifetimeSafety] Fix false negative for GSL Owner methods inherited from a non-Owner base (#197864)

- Take the implicit object's actual type (e.g., the type before any
`DerivedToBase` cast) into account when checking for GSL Owner. Other
`isGslOwnerType` call sites with the same pattern (e.g.,
`isGslOwnerType(MCE->getImplicitObjectArgument()->getType())` in
`VisitCXXMemberCallExpr`) lack a real-world trigger today and are
deferred to a follow-up.
- Unify the GSL Owner checks inside `shouldTrackImplicitObjectArg` so
they share a single source of truth.

Fixes: #188832


  Commit: 2cad228d3863f6a70b33625a1c967066207e34ab
      https://github.com/llvm/llvm-project/commit/2cad228d3863f6a70b33625a1c967066207e34ab
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M polly/lib/CodeGen/BlockGenerators.cpp
    M polly/lib/CodeGen/IslNodeBuilder.cpp

  Log Message:
  -----------
  [polly] Simplify with DenseMap::remove_if. NFC (#199577)

In preparation for DenseMap change that relocates surviving entries on
erase.


  Commit: a725adb96bf75764ad9043099935d1b5d16ef152
      https://github.com/llvm/llvm-project/commit/a725adb96bf75764ad9043099935d1b5d16ef152
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/docs/CMake.rst

  Log Message:
  -----------
  [Docs] Update LLVM_USE_SANITIZER list (#199580)

HWAddress and Leaks are valid options that were not present in the
documentation.


  Commit: 1ed7260974d49760ec96ff224d2ff710764af8bf
      https://github.com/llvm/llvm-project/commit/1ed7260974d49760ec96ff224d2ff710764af8bf
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-25 (Mon, 25 May 2026)

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

  Log Message:
  -----------
  [NVPTX] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#199575)

GenericToNVVM erases entries from GVMap while iterating it. In
preparation for DenseMap change that relocates surviving entries on
erase, snapshot the map and erase by key.


  Commit: ff2eac10dbc1c1d888ac2dee4798bc54db672417
      https://github.com/llvm/llvm-project/commit/ff2eac10dbc1c1d888ac2dee4798bc54db672417
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp

  Log Message:
  -----------
  [Hexagon] Simplify with DenseMap::remove_if. NFC (#199576)


  Commit: 884e828617bf512a992723bd70dc108deb775753
      https://github.com/llvm/llvm-project/commit/884e828617bf512a992723bd70dc108deb775753
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp

  Log Message:
  -----------
  [AMDGPU] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#199578)

In preparation for DenseMap change that relocates surviving entries on
erase, replace erase-while-iterating with remove_if.


  Commit: 01ce8d6763712261b9333855f10e9d2fe3342d86
      https://github.com/llvm/llvm-project/commit/01ce8d6763712261b9333855f10e9d2fe3342d86
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/test/tools/llvm-profdata/sample-nametable.test

  Log Message:
  -----------
  [ProfData] Remove HWAsan exclusion (#199582)

This passes locally for me with HWAsan enabled on a AArch64 machine, so
it seems like this might have been fixed since adding the opt-out.


  Commit: 0b6a1ef4297bb839fe26041602d32411358e0032
      https://github.com/llvm/llvm-project/commit/0b6a1ef4297bb839fe26041602d32411358e0032
  Author: Miro Hrončok <miro at hroncok.cz>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/utils/lit/tests/Inputs/shtest-ulimit/print_limits.py
    M llvm/utils/lit/tests/shtest-ulimit-nondarwin.py

  Log Message:
  -----------
  [lit] Normalize RLIM_INFINITY to "infinity" in print_limits.py for Python 3.15+ (#190953)

Python 3.15 changed resource.getrlimit() to return the platform's
maximum value (e.g., 18446744073709551615 on 64-bit systems) instead of
-1 for RLIM_INFINITY. This breaks lit tests that expect -1 for unlimited
resource limits.

This patch normalizes the return value to "infinity" when it equals
RLIM_INFINITY to maintain compatibility with existing tests across all
Python versions.

Fixes test failure: shtest-ulimit-nondarwin.py
Expected: RLIMIT_FSIZE=-1
Got: RLIMIT_FSIZE=18446744073709551615

Reference:
https://github.com/python/cpython/commit/0324c726dea702282a0300225e989b19ae23b759
Reference: https://bugzilla.redhat.com/show_bug.cgi?id=2448969

Analysis and testing assisted by AI.

Assisted-by: Claude Sonnet 4.5

---------

Co-authored-by: Alexander Richardson <mail at alexrichardson.me>
Co-authored-by: Tulio Magno Quites Machado Filho <tuliom at quites.com.br>


  Commit: 269719b1f63c68fffbca43f54cebaad23cf0246a
      https://github.com/llvm/llvm-project/commit/269719b1f63c68fffbca43f54cebaad23cf0246a
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M compiler-rt/include/sanitizer/common_interface_defs.h
    M compiler-rt/lib/asan/asan_errors.cpp
    M compiler-rt/lib/asan/asan_errors.h
    M compiler-rt/lib/asan/asan_poisoning.cpp
    M compiler-rt/lib/asan/asan_report.cpp
    M compiler-rt/lib/asan/asan_report.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_interface_internal.h
    R compiler-rt/test/asan/TestCases/copy_container_annotations.cpp

  Log Message:
  -----------
  Revert "[compiler-rt][ASan] Add function copying annotations (#91702)" (#194204)

This reverts commit c76045d9bf3bd1c7a381dc85d1db63a38fd69aa4.

It does not look like this has been used anywhere since it was
implemented. I see no uses of it in LLVM, anywhere in our internal
monorepo, or across the entirety of Github outside of other copies of
LLVM tests. Given that, remove it. The intended use case around SSO ASan
string annotations is also likely to be significantly reworked soon.


  Commit: 97e7ee26b2b3ea695c1966498ee572acd1e40418
      https://github.com/llvm/llvm-project/commit/97e7ee26b2b3ea695c1966498ee572acd1e40418
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/ProfileData/InstrProf.cpp
    A llvm/test/Transforms/PGOProfile/Inputs/indirect-call-vp-zeros.ll
    A llvm/test/Transforms/PGOProfile/indirect-call-vp-zeros.ll

  Log Message:
  -----------
  [InstrProf] Do not emit metadata for zero values with zero counts (#199380)

If we have a indirect call site with a profile that has VP information
for said callsite that only contains zero values with zero counts, we
would start to emit invalid profile information after
1d146967d51ba76b8379d9e12961aa23e5745701. VP metadata in this case is at
best redundant with BFI. So we restrict metadata emission to only if we
have a sufficient number of values for the VP metadata to be valid.


  Commit: b938d8b562d6ebbb72ceafaf57cead215fef86da
      https://github.com/llvm/llvm-project/commit/b938d8b562d6ebbb72ceafaf57cead215fef86da
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/DependenceAnalysis.h
    M llvm/lib/Analysis/DependenceAnalysis.cpp

  Log Message:
  -----------
  [DA] Consolidate accumulating GCD functions (NFCI) (#197936)

This patch consolidates two functions `accumulateCoefficientsGCD` and
`analyzeCoefficientsForGCD` by merging the latter into the former. These
two functions are very similar, and keeping both of them does not make
much sense.


  Commit: 7dabf946d908858beb94c7c718a09bedc6eb4407
      https://github.com/llvm/llvm-project/commit/7dabf946d908858beb94c7c718a09bedc6eb4407
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    A llvm/test/CodeGen/RISCV/rvv/pr199509.ll

  Log Message:
  -----------
  [SelectionDAG] Handle CSE in PromoteIntOp_VP_STRIDED. (#199562)

If the UpdateNodeOperands triggers CSE, we need to handle result
replacement ourselves because strided load has 2 results.


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

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

  Log Message:
  -----------
  [X86] FixupInstTuning: ProcessShiftLeftToAdd should return true after mutating. (#199589)

I think this is almost NFC, though it should affect some of the
compilation statistics like "number of instrs changed by X pass".

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

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply at anthropic.com>


  Commit: 5723dd03231f963037b63d34e54902bb9e173b74
      https://github.com/llvm/llvm-project/commit/5723dd03231f963037b63d34e54902bb9e173b74
  Author: SiHuaN <liyongtai at iscas.ac.cn>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll

  Log Message:
  -----------
  [RISCV][P-ext] Split v4i16/v8i8 MUL on RV32. (#199504)


  Commit: d1902d34606e070df3ffb1cadbd3aac0f1165484
      https://github.com/llvm/llvm-project/commit/d1902d34606e070df3ffb1cadbd3aac0f1165484
  Author: SiHuaN <liyongtai at iscas.ac.cn>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/rvp-bitcast-const-fold.ll

  Log Message:
  -----------
  [RISCV][P-ext] Fold bitcast of v4i8/v2i16 const splat to scalar on RV64 (#199513)

clang lowers `int8x4_t f(int8x4_t a) { return ~a; }` to a
bitcast-wrapped vector xor with splat(-1). v4i8/v2i16 aren't legal on
RV64, so the xor gets scalarized to i64 with the constant still wrapped
in BITCAST:
      `i64 = xor X, (bitcast (v8i8 splat -1))`

The scalar `not` PatFrag (xor X, -1) requires a literal constant and
can't see through BITCAST, so XORI -1 (= `not`) misses and we emit `li
-1; xor` (2 insns). The v8i8/v4i16/v2i32 paths stay at vector level and
match the bitcast-aware vector `vnot` td-pat, so they're fine; only the
widened-from-v4i8/v2i16 path falls through to scalar `not`.

Fix it by folding the bitcast of a v4i8/v2i16 constant splat to a scalar
i32 constant pre-legalization. Type promotion sign-extends to i64 -1 and
XORI matches.


  Commit: 50a110ace7559f0655cf74cf2080b108c5bc2cda
      https://github.com/llvm/llvm-project/commit/50a110ace7559f0655cf74cf2080b108c5bc2cda
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/test/Transforms/CodeGenPrepare/X86/split-store-alignment.ll

  Log Message:
  -----------
  [CodeGenPrepare] splitMergedValStore: don't split atomic stores. (#199592)

splitMergedValStore notices when you do e.g.

    z = x | (y << 32)
    store z

and may split this up into 32-bit two stores, of x and y, depending
e.g. on the type of x and y.

It skips this optimization for volatile stores, but currently does NOT
skip it for atomics (!!).  So an atomic store can be split up into two
(non-atomic!) stores.

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

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply at anthropic.com>


  Commit: 03c8a834d6a963b7e252c4d2915c419da0a2ee93
      https://github.com/llvm/llvm-project/commit/03c8a834d6a963b7e252c4d2915c419da0a2ee93
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M libcxx/include/__configuration/hardening.h
    M libcxx/include/string
    M libcxx/include/tuple

  Log Message:
  -----------
  [libc++] Address most LLVM23 TODOs (#199397)

There is still one LLVM23 TODO left that can only be resolved once we
update GCC.


  Commit: 386e356b5f0a3e49e42b80c350a6847c1d3bc661
      https://github.com/llvm/llvm-project/commit/386e356b5f0a3e49e42b80c350a6847c1d3bc661
  Author: Edward Nathan Varghese <cs22btech11020 at iith.ac.in>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp

  Log Message:
  -----------
  [AArch64] Add support for MSVC-style mangling for SVE (#196738)

Fixes #196170

Recent MSVC toolchains added support for AArch64 SVE types and use
dedicated builtin manglings such as `$_CD` instead of the older
artificial `__clang` struct manglings.

Update Clang's Microsoft mangling implementation to match MSVC for
supported SVE builtin types.

Unsupported SVE types continue using the existing artificial tag
mangling until MSVC gains support for them.

Adds representative coverage for:
* scalar SVE types
* tuple/vector SVE types
* fallback manglings for unsupported types


  Commit: d7856fed0268ae8c903a6928610122647a44d2fa
      https://github.com/llvm/llvm-project/commit/d7856fed0268ae8c903a6928610122647a44d2fa
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-extract-subvector.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-insert-subvector.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Add exact flag to G_LSHR in RISCVLegalizerInfo::legalizeVScale (#199595)

This matches what is in SelectionDAG.


  Commit: 23b754f5745a51f5f1ff2d9c65f539b54c913589
      https://github.com/llvm/llvm-project/commit/23b754f5745a51f5f1ff2d9c65f539b54c913589
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

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

  Log Message:
  -----------
  [RISCV] Use the new "let append" TableGen feature to reduce duplication. NFC (#199596)

Similar to #198761, use this to add [IsRV64] where needed.


  Commit: d4550cc82efa06745192f78120e1acfc7892b35d
      https://github.com/llvm/llvm-project/commit/d4550cc82efa06745192f78120e1acfc7892b35d
  Author: Igor Gorban <igor.gorban at intel.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M clang/lib/Sema/OpenCLBuiltins.td
    A clang/test/SemaOpenCL/intel-bfloat16-conversions-builtins.cl

  Log Message:
  -----------
  [OpenCL] Add cl_intel_bfloat16_conversions builtins (#199422)

Add cl_intel_bfloat16_conversions declarations to OpenCLBuiltins.td
and cover the extension with a dedicated header-free SPIR test.

Specification:

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

Co-authored-by: Copilot


  Commit: 44d60bad70c7832c2917724d183aa6c208fe589b
      https://github.com/llvm/llvm-project/commit/44d60bad70c7832c2917724d183aa6c208fe589b
  Author: YunQiang Su <syq at debian.org>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h

  Log Message:
  -----------
  sanitizer_common: Fix build on MIPS with _TIME_BITS=64 (#199590)

When we build sanitizer_common with -D_TIME_BITS=64, the assert of
struct_kernel_stat_sz fails due to the size of struct stat get different
size.


  Commit: fe3d6b051b31f5794cd29818acb9203dbb7dd6f4
      https://github.com/llvm/llvm-project/commit/fe3d6b051b31f5794cd29818acb9203dbb7dd6f4
  Author: Li-Zheng-Rong <2508120225 at hhu.edu.cn>
  Date:   2026-05-26 (Tue, 26 May 2026)

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

  Log Message:
  -----------
  [NFC] [clangd] [C++20] [Modules] Fix false duplicate module warning for equivalent paths (#199343)

When checking for multiple source files declaring the same module, the
comparison used raw string equality on file paths. This causes false
positives when the same file is represented by different but equivalent
path strings.

Use pathEqual(normalizePath(...), normalizePath(...)) instead to compare
canonical paths, consistent with how clangd handles path comparisons
elsewhere.


  Commit: 44583eca36b6e4e11cc171bc05d9eb0c5b716e1d
      https://github.com/llvm/llvm-project/commit/44583eca36b6e4e11cc171bc05d9eb0c5b716e1d
  Author: Arun Thangamani <arun.thangamani at intel.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

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

  Log Message:
  -----------
  [mlir][x86] Fix - multiple issues / F8 support for AMX dot-product lowering (#196984)

This patch fixes issues or support additional patterns for AMX
`dot-product` lowering.

1. Fix issue related to write-back to `C` matrix,
2. Supports additional lowering pattern where the cache tile sizes are:
32,32,32,
3. Online packing - loop peeling is now based on `step` size,
4. Extends support for `f8` lowering (`mx-fp8` lowering will be
supported after vector.contract has `mx` support).


  Commit: de188bbad3df25ccc85a853328c98a45b9df7db3
      https://github.com/llvm/llvm-project/commit/de188bbad3df25ccc85a853328c98a45b9df7db3
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/MC/CMakeLists.txt

  Log Message:
  -----------
  [DirectX][ObjectYAML] Fix CI build issue in DXContainerInfo.cpp (#199605)

After https://github.com/llvm/llvm-project/pull/198222, the following
error was reported in CI bots:

```
[1546/5356] Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/DXContainerInfo.cpp.o
FAILED: [code=1] lib/MC/CMakeFiles/LLVMMC.dir/DXContainerInfo.cpp.o
sccache /usr/bin/g++ -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/runner/work/circt/circt/build/lib/MC -I/home/runner/work/circt/circt/llvm/llvm/lib/MC -I/home/runner/work/circt/circt/build/include -I/home/runner/work/circt/circt/llvm/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-dangling-reference -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-dangling-pointer -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17 -fPIC -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/MC/CMakeFiles/LLVMMC.dir/DXContainerInfo.cpp.o -MF lib/MC/CMakeFiles/LLVMMC.dir/DXContainerInfo.cpp.o.d -o lib/MC/CMakeFiles/LLVMMC.dir/DXContainerInfo.cpp.o -c /home/runner/work/circt/circt/llvm/llvm/lib/MC/DXContainerInfo.cpp
/home/runner/work/circt/circt/llvm/llvm/lib/MC/DXContainerInfo.cpp:14:10: fatal error: llvm/Support/VCSRevision.h: No such file or directory
   14 | #include "llvm/Support/VCSRevision.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[1547/5356] Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/ConstantPools.cpp.o
[1548/5356] Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/DXContainerRootSignature.cpp.o
[1549/5356] Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/DXContainerPSVInfo.cpp.o
[1550/5356] Building CXX object lib/Bitcode/Reader/CMakeFiles/LLVMBitReader.dir/MetadataLoader.cpp.o
[1551/5356] Building CXX object lib/Bitcode/Reader/CMakeFiles/LLVMBitReader.dir/BitcodeReader.cpp.o
ninja: build stopped: subcommand failed.
```

This adds llvm_vcsrevision_h dependency to MC to fix that.


  Commit: fb8243f32c955690ebdfdd32eb9aaaf0c391b648
      https://github.com/llvm/llvm-project/commit/fb8243f32c955690ebdfdd32eb9aaaf0c391b648
  Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

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

  Log Message:
  -----------
  [RISCV] Use append TableGen feature in RISCVInstrInfoXqci.td (#199603)

This improves the readability of the file.

An AI came up with the patch which I reviewed and ensured that the tests
pass.


  Commit: c618e112145fbbbe7ab14ab202f8626703920b96
      https://github.com/llvm/llvm-project/commit/c618e112145fbbbe7ab14ab202f8626703920b96
  Author: Varad Rahul Kamthe <133588066+varadk27 at users.noreply.github.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    A mlir/test/Target/LLVMIR/nvvm/divf/divf.mlir
    A mlir/test/Target/LLVMIR/nvvm/divf/divf_invalid.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Add `nvvm.divf` Op (#198744)

Adds the `nvvm.divf` NVVM dialect op covering all 16 PTX `div` forms via attribute-driven selection:

- Default (`approx = false, full = false`): IEEE-compliant rounded divide (`div.<RM>[.ftz].{f32,f64}`), 12 forms -- requires `rnd` ∈ `{rn, rm, rp, rz}`; supports f32 and f64 (f64 does not accept `ftz`).
- `approx = true`: fast hardware approximation (`div.approx[.ftz].f32`), 2 forms -- f32 only.
- `full = true`: full-range approximation (`div.full[.ftz].f32`), 2 forms -- f32 only.


  Commit: b86512ce648f4a31ba5110dc0e0f84b63f5be785
      https://github.com/llvm/llvm-project/commit/b86512ce648f4a31ba5110dc0e0f84b63f5be785
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-25 (Mon, 25 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll

  Log Message:
  -----------
  [RISCV][P-ext] Split v4i16/v8i8 vselect on RV32. (#198898)

We don't have a 64-bit merge instruction on RV32.

Assisted-by: Claude Sonnet 4.5


  Commit: 377af85dad4e71b928a493464af5cf2f32e7e192
      https://github.com/llvm/llvm-project/commit/377af85dad4e71b928a493464af5cf2f32e7e192
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
    M llvm/test/Transforms/LICM/strlen.ll
    M llvm/test/Transforms/MergeICmps/X86/alias-merge-blocks.ll
    M llvm/test/Transforms/MergeICmps/X86/entry-block-shuffled.ll
    M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll

  Log Message:
  -----------
  [InferAttrs] Annotate math and basic string libcalls with `nosync` (#197761)

Math libcalls as well as some simple string ones do not create
synchronizes-with edges, thus `nosync` may be derived.

Co-authored-by: Johannes Doerfert <jdoerfert.llvm at gmail.com>


  Commit: be39e065d325ad52628c23eb01d999656e30a22f
      https://github.com/llvm/llvm-project/commit/be39e065d325ad52628c23eb01d999656e30a22f
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/IR/LegacyPassManager.cpp

  Log Message:
  -----------
  [IR] Inline remove_if in PMDataManager::removeNotPreservedAnalysis (#199571)

PR #198982 rewrote removeNotPreservedAnalysis to use DenseMap::remove_if
with one predicate shared across two call sites. The predicate is always
inlined; the cost is that two call sites make
DenseMapBase::remove_if<...>
itself emit out of line instead of inlining into the caller. As this
runs
after every modifying codegen pass (legacy PM), it shows up as a small
instructions:u regression, most visibly at -O0 where the legacy codegen
PM
is a large fraction of compile time:

https://llvm-compile-time-tracker.com/compare.php?from=69a5cf515fd317bcf918e48de9137dd8549870c5&to=6302439f5aaea6cb776d8ceb5c2ef9108fccf702&stat=instructions%3Au

Collect the maps into a SmallVector and prune them from a single
remove_if
call site, so the instantiation is inlined again.


  Commit: a225aafbd1a40be0dd9c31e2d0b0b7c42b9d36e3
      https://github.com/llvm/llvm-project/commit/a225aafbd1a40be0dd9c31e2d0b0b7c42b9d36e3
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/docs/ProgrammersManual.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/ADT/DenseMap.h
    M llvm/unittests/ADT/DenseMapTest.cpp
    M llvm/unittests/ADT/DenseSetTest.cpp

  Log Message:
  -----------
  [DenseMap] Invalidate iterators on erase (#199369)

Tighten DenseMap's `erase` contract so that, like `insert` and `grow`,
it invalidates iterators and references obtained before the call.
Under the current tombstone-based deletion this is purely an
LLVM_ENABLE_ABI_BREAKING_CHECKS check — the bucket array is not actually
mutated for other entries — but it surfaces stale-iterator-after-erase
patterns now rather than when DenseMap's deletion scheme changes.

Mirrors the SmallPtrSet change in #96762, which dropped tombstones in
small mode and likewise had `erase` invalidate iterators.

Depends on #198982 and #199365


  Commit: 49e2295cf52cac72cc3d3bcb4738582bc0c6bde1
      https://github.com/llvm/llvm-project/commit/49e2295cf52cac72cc3d3bcb4738582bc0c6bde1
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVN.cpp
    A llvm/test/Transforms/GVN/PRE/pre-load-combine-metadata.ll

  Log Message:
  -----------
  [GVN] Properly combine AA metadata if available load is hoisted (#197948)

Ensure the AA metadata are properly merged between the new load and the
old one during PRE. Actually set `DoesKMove` in `combineMetadataForCSE`,
otherwise the new load is assumed not to move, which is not correct if
the new load has happened to be hoisted.

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


  Commit: a69ce910db2d33ae6203aed998feba3136d68e0b
      https://github.com/llvm/llvm-project/commit/a69ce910db2d33ae6203aed998feba3136d68e0b
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/test/CodeGenCXX/builtin-amdgcn-fence.cpp

  Log Message:
  -----------
  [Clang][AMDGPU] clean up auto-generated CHECK lines in a test (NFC) (#199614)


  Commit: d06d3a7bdca153c3130704ef115c72095488e1f7
      https://github.com/llvm/llvm-project/commit/d06d3a7bdca153c3130704ef115c72095488e1f7
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/lib/AST/ASTImporter.cpp
    A clang/test/Analysis/ctu/constraintsatisfaction.cpp

  Log Message:
  -----------
  [clang][ASTImporter] Fix of crash at ConstraintSatisfaction import (#197407)

Null pointer dereference could happen during `ASTImporter` import of a
`ConstraintSatisfaction` object.


  Commit: fda6309919a0c391ed224c0da214ba89ecff5478
      https://github.com/llvm/llvm-project/commit/fda6309919a0c391ed224c0da214ba89ecff5478
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp

  Log Message:
  -----------
  [AArch64][GlobalISel] Add tablegen pattern for uaddo combine (#198724)

Related to #197693 which filters the worklist to only include opcodes
for which there are combines. It's mostly handled by canMatchOpcode
which is tablgen'ed but some old combines like this one are missing a
tablegen pattern and require extra handling. This adds a simple wrapper
so it gets picked up by canMatchOpcode and we can delete the C++
handling.

Assisted-by: codex


  Commit: 4ab4d2d9bb4a1d87b36bb4703d3b95138129c051
      https://github.com/llvm/llvm-project/commit/4ab4d2d9bb4a1d87b36bb4703d3b95138129c051
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/sink-to-early-exit.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
    M llvm/test/Transforms/LoopVectorize/early-exit-calls.ll
    M llvm/test/Transforms/LoopVectorize/early-exit-load-live-out.ll
    M llvm/test/Transforms/LoopVectorize/early-exit-unary-ops.ll
    M llvm/test/Transforms/LoopVectorize/multi_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/multiple-early-exits.ll
    M llvm/test/Transforms/LoopVectorize/predicated-early-exits-interleave.ll
    M llvm/test/Transforms/LoopVectorize/predicated-multiple-exits.ll
    M llvm/test/Transforms/LoopVectorize/predicated-single-exit.ll
    M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
    M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-hint.ll
    M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-only.ll
    M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
    M llvm/test/Transforms/LoopVectorize/sink-to-early-exit.ll
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
    M llvm/unittests/Transforms/Vectorize/VPlanUncountableExitTest.cpp

  Log Message:
  -----------
  [VPlan] Fold canonical IV recipe creation into createLoopRegion. (#198383)

Remove the separate addCanonicalIVRecipes transform and create the
canonical IV's increment and the latch's exiting branch directly in
createLoopRegion, using the loop region's VPRegionValue for the
canonical IV. The temporary VPPhi placeholder previously inserted in the
header is no longer needed.

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


  Commit: 970ecaef1db3701f04e63223ce9188a748be6083
      https://github.com/llvm/llvm-project/commit/970ecaef1db3701f04e63223ce9188a748be6083
  Author: Vladislav Semykin <34096407+ViNN280801 at users.noreply.github.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/cxx2a-consteval.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix crash in __builtin_dump_struct with immediate callables (#192880)

## Motivation

`ComplexRemove` (used by `Sema::PopExpressionEvaluationContext` to strip
nested `ConstantExpr` wrappers) inherits the default
`TreeTransform::TransformOpaqueValueExpr`, which asserts on any
`OpaqueValueExpr` with a non-null `SourceExpr` unless a binding has
already been set up.

`__builtin_dump_struct` binds the record pointer to an `OpaqueValueExpr`
inside a `PseudoObjectExpr`. When the callable argument is
immediate-escalated (e.g. via `__builtin_is_within_lifetime`),
`RemoveNestedImmediateInvocation` roots `ComplexRemove` inside the PSE's
semantic form, reaching that OVE without the binding the assert expects
- triggering a crash.

## Closing Issues

Closes #192846

---------

Signed-off-by: ViNN280801 <vladislav.semykin at gmail.com>
Co-authored-by: Corentin Jabot <corentinjabot at gmail.com>
Co-authored-by: Younan Zhang <zyn7109 at gmail.com>


  Commit: a975b7cd3538cfba015c7a49e2e86be58aa546c3
      https://github.com/llvm/llvm-project/commit/a975b7cd3538cfba015c7a49e2e86be58aa546c3
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/masked-udiv.ll

  Log Message:
  -----------
  [RISCV] Fix fixed-length masked.{u,s}{div,rem} lowering not converting operands (#197913)

Similar to #197724, but this time I also somehow forgot to convert the
operands to scalable vectors. I'm surprised that nothing asserted here,
since SDT_RISCVIntBinOp_VL has a type profile constraint that the
operands and result types need to be the same.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx512-ext.ll
    M llvm/test/CodeGen/X86/avx512-insert-extract.ll
    M llvm/test/CodeGen/X86/avx512-mask-op.ll

  Log Message:
  -----------
  [X86] LowerBUILD_VECTORvXi1 - scalarize the bool masks if we insert a single non-const value (#199523)

Minor generalization of the existing fold for splat bool masks - if only
a single value is used in insertion(s) (as well as any immediate/undefs
values), then fold to a scalar select (val, insert|immediate, immediate)

Yak shaving for #198162


  Commit: 19e915fc5c91645ccc4050180e9daabec30358c4
      https://github.com/llvm/llvm-project/commit/19e915fc5c91645ccc4050180e9daabec30358c4
  Author: hev <wangrui at loongson.cn>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchMachineFunctionInfo.h
    A llvm/test/CodeGen/LoongArch/musttail-call.ll
    A llvm/test/CodeGen/LoongArch/musttail-indirect-args.ll

  Log Message:
  -----------
  [LoongArch] Fix musttail with indirect arguments by forwarding incoming pointers (#198965)

When a `musttail` call passes arguments indirectly (fp128 on LA32, i128
on LA32), the backend allocates a stack temporary and hands the callee a
pointer. The tail call deallocates the caller's frame, and the pointer
dangles.

Fix by forwarding the incoming indirect pointers instead. They point to
the caller's caller's frame, which stays valid after the tail call.
Forwarded formal parameters reuse the pointer directly; computed values
get stored into the incoming buffer first.

The pointers are saved in virtual registers (`CopyToReg`/`CopyFromReg`)
rather than SDValues. The SelectionDAG is cleared between basic blocks
and musttail calls can appear in non-entry blocks, so storing raw
SDValues across BBs is unsound (this was the bug that led to the revert
in 501417baa60f). The vreg save only fires when the function has
musttail calls; other functions see no codegen change.

Non-musttail tail calls with indirect args are still rejected.

This uses the same strategy as the corresponding RISC-V fix (#185094).


  Commit: 73f141f75caf842e289a9d8166365b702adfeb3b
      https://github.com/llvm/llvm-project/commit/73f141f75caf842e289a9d8166365b702adfeb3b
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp

  Log Message:
  -----------
  [NFC] Add null terminator assert to CodeViewRecordIO::mapStringZ (#199624)

mapStringZ assumes that there's a null terminator past the end of Value
(I suppose the name hints at this too). This doesn't seem very nice to
me, but at least we can add an assert to check that the assumption
holds.


  Commit: 322ff9f317bbefd52751028dc358524797e18045
      https://github.com/llvm/llvm-project/commit/322ff9f317bbefd52751028dc358524797e18045
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

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

  Log Message:
  -----------
  [RISCV] Remove TargetLowering arg from getContainerForFixedLengthVector. NFC (#199629)

Unless I'm missing something we can just fetch the TLI from
RISCVSubtarget


  Commit: 5ab7435196ce395fc0713f4034e65fcaee67e63e
      https://github.com/llvm/llvm-project/commit/5ab7435196ce395fc0713f4034e65fcaee67e63e
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fsub-chained.ll

  Log Message:
  -----------
  [LV] Add support for partial reduction chains with fsubs. (#197114)

The cost-model prevented this from happening, but the LV would otherwise
generate incorrect code (i.e. without the fneg).


  Commit: 3398f4e66558c67f7a8db70982d8bdbd8ed9a52d
      https://github.com/llvm/llvm-project/commit/3398f4e66558c67f7a8db70982d8bdbd8ed9a52d
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/test/Dialect/LLVMIR/mem2reg.mlir

  Log Message:
  -----------
  [mlir][mem2reg] fix assert for indirect blocking uses inside regions (#199193)

When adding new blocking uses created by the interface of a previous
blocking uses (typically forwarding the blocking uses to the op result
users), the mem2reg framework was assuming that the new blocking uses
are in the same region as the original blocking use, which is not true
in general and lead to the assert:

`Transforms/Mem2Reg.cpp:743: void
{anonymous}::MemorySlotPromoter::removeBlockingUses(mlir::Region*):
Assertion `op->getParentRegion() == region && "all operations must still
be in the same region"' failed.`

This patch fixes this by adding the new uses into the userToBlockingUses
for the region of the new blocking uses.


  Commit: b2634fc4f8b1b1702a970812d534d3a888788b3e
      https://github.com/llvm/llvm-project/commit/b2634fc4f8b1b1702a970812d534d3a888788b3e
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix a crash in __builtin_subcb (#199400)

Don't try to initialize pointers that can't be initialized


  Commit: 495e6c54420fb06664d0dfaeee1926eade10f114
      https://github.com/llvm/llvm-project/commit/495e6c54420fb06664d0dfaeee1926eade10f114
  Author: Igor Wodiany <igor.wodiany at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp
    A llvm/test/Transforms/Coroutines/coro-materialize-intrinsics.ll
    M llvm/test/Transforms/Coroutines/coro-materialize.ll

  Log Message:
  -----------
  [Coroutines] Allow rematerialization of unary operators and selected intrinsics (#197698)

All of those can be cheaply recomputed when the coroutine has resumed.

Before this change, results of unary operators and intrinsics were
spilled into the coroutine frame and reloaded on resume:

```
  %neg = fneg float %n
  store float %neg, ptr %neg.spill.addr

  ; In resume:
  %neg.reload = load float, ptr %neg.reload.addr
  ; ... use %neg.reload
```

After this change, only the operand is spilled and the operation is
rematerialized on each resume, avoiding the frame store:

```
  store float %n, ptr %n.spill.addr

  ; In resume:
  %n.reload = load float, ptr %n.reload.addr
  %neg = fneg float %n.reload
  ; ... use %neg
```

Assisted-by: Claude Code


  Commit: adcad45cbdf804c18ba691d879df98a9e3e22fc2
      https://github.com/llvm/llvm-project/commit/adcad45cbdf804c18ba691d879df98a9e3e22fc2
  Author: Kartik Ohlan <kartik7ohlan at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon/intrinsics.c

  Log Message:
  -----------
  [CIR] Vector saturating rounding shift right and narrow intrinsics  (#198947)

This PR ignores all SISD variants that we had in #198216 

Part of https://github.com/llvm/llvm-project/issues/185382

Move the test cases to
[intrinsics.c](https://github.com/llvm/llvmproject/pull/clang/test/CodeGen/AArch64/neon/intrinsics.c)
Removed the test cases from
[neon-intrinsics.c](https://github.com/llvm/llvmproject/pull/clang/test/CodeGen/AArch64/neon/intrinsics.c)


variants that are skipped/ not covered in this PR  (SISD)

```

1.  vqrshrunh_n_s16 (uint8_t, _h scalar)
2.  vqrshruns_n_s32 (uint16_t, _s scalar)
3.  vqrshrnh_n_s16 (int8_t, _h scalar)
4.  vqrshrns_n_s32 (int16_t, _s scalar)
5.  vqrshrnh_n_u16 (uint8_t, _h scalar)
6.  vqrshrns_n_u32 (uint16_t, _s scalar)


```


  Commit: 0f1d083eff4bb5d409093a0c2b5ce32f070f8af7
      https://github.com/llvm/llvm-project/commit/0f1d083eff4bb5d409093a0c2b5ce32f070f8af7
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/test/CMakeLists.txt

  Log Message:
  -----------
  [Clang][test] check-clang-format not created with LLVM_ENABLE_IDE (#199638)

add_lit_testsuites skips creating targets for each subdirectory when
LLVM_ENABLE_IDE. Only create the dependency (introduced in #199169) when
the check-clang-format target actually exists.

Fixes the LLVM build when using an IDE.


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

  Changed paths:
    M llvm/CMakeLists.txt
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/lib/Support/APFloat.cpp
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/unittests/ADT/APFloatTest.cpp

  Log Message:
  -----------
  Reland "[APFloat] Add exp functions for single and double using exp/expf implementations from LLVM libc." (#197440) (#199570)

This reverts commit 1565f096d868f479f075fce3792db7b908cab9aa.

**Fixes applied on LLVM libc side:**
- gcc 7, 8, 9 compatibility:
  - https://github.com/llvm/llvm-project/pull/197476
  - https://github.com/llvm/llvm-project/pull/197868
- Add gcc's versions to LLVM libc-shared-tests precommit CI:
https://github.com/llvm/llvm-project/pull/199300

**Original commits messages:**

Discourse RFC:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450

- The implementation in LLVM libc is free-standing header-only:
https://github.com/llvm/llvm-project/issues/147386
- expf / exp implementation in LLVM libc is correctly rounded for all
rounding modes.
- Only support default rounding modes for now. Other rounding modes will
wait for proper static rounding implementations in LLVM libc.
- No cmake build dependency between LLVM and LLVM libc, only requires
LLVM libc source presents in llvm-project/libc folder.


  Commit: 10c0de887256f33427353a1f8988842b98a340c9
      https://github.com/llvm/llvm-project/commit/10c0de887256f33427353a1f8988842b98a340c9
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [LinkerWrapper] Fix temps being dumped to CWD instead of output path (#198679)

Summary:
Offloading save temps is a complex dance where we have clang,
linker-wrapper, and lld all making their own temp files. The ones in the
linker wrapper were not respecting the output directory because we
stripped everything with filename. Just get rid of this so it uses the
output file's directory properly in this mode.


  Commit: 79337832f7a35c1ae5326a80c37a6459dd752048
      https://github.com/llvm/llvm-project/commit/79337832f7a35c1ae5326a80c37a6459dd752048
  Author: Igor Gorban <igor.gorban at intel.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/lib/Sema/OpenCLBuiltins.td
    A clang/test/SemaOpenCL/intel-split-work-group-barrier-builtins.cl

  Log Message:
  -----------
  [OpenCL] Add cl_intel_split_work_group_barrier builtins (#199424)

Add cl_intel_split_work_group_barrier declarations to OpenCLBuiltins.td
and cover the extension with a dedicated header-free SPIR test.

Specification:

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

Co-authored-by: Copilot


  Commit: 028153a165d6c161f0a7eb045840f5e2b70f6088
      https://github.com/llvm/llvm-project/commit/028153a165d6c161f0a7eb045840f5e2b70f6088
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll

  Log Message:
  -----------
  [VPlan] Make TransformState::get BCast-logic robust (#197589)

The logic for inserting Broadcasts in a more optimal location in
VPTransformState::get is quite fragile, especially around scalable VFs.
Fix it, resulting in minor improvements.


  Commit: a903b9512750cf1c5cd6c6f233f74257bae5d4bf
      https://github.com/llvm/llvm-project/commit/a903b9512750cf1c5cd6c6f233f74257bae5d4bf
  Author: MaoJiaping <maojiaping1 at huawei.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/CloneModule.cpp
    M llvm/lib/Transforms/Utils/SplitModule.cpp
    A llvm/test/tools/llvm-split/alias-to-ifunc.ll
    A llvm/test/tools/llvm-split/ifunc.ll

  Log Message:
  -----------
   [CloneModule] Clone undefined ifuncs (#197353)

To satisfy the verifier rule "IFunc resolver must be a definition". We
fix iFunc handling when cloning modules.
When cloning a module, if an IFunc has no definition
(ShouldCloneDefinition returns false), directly create an external
GlobalValue (Function or GlobalVariable) instead of trying to clone the
ifunc.
Add a test case for llvm-split to verify the ifunc cloning/splitting
behavior works correctly.


  Commit: 05a237293730ce2e83718037d7addabd6c15b238
      https://github.com/llvm/llvm-project/commit/05a237293730ce2e83718037d7addabd6c15b238
  Author: Bogdan Vetrenko <b.vetrenko at yandex.ru>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrGISel.td
    A llvm/test/CodeGen/RISCV/GlobalISel/bitreverse-zbkb.ll

  Log Message:
  -----------
  [RISCV][GlobalISel] Lower i8 bitreverse using brev8 with Zbkb (#199469)

This teaches RISC-V GlobalISel to custom-lower scalar i8 G_BITREVERSE
using brev8 when Zbkb is available.

The i8 source is zero-extended to XLEN before applying the riscv_brev8
intrinsic. Since brev8 reverses bits independently within each byte, the
high zero bytes remain zero, so the result can be truncated back to i8.


  Commit: ded7aa0dcf4965aec5a1d036524cbc0fb14ad5e1
      https://github.com/llvm/llvm-project/commit/ded7aa0dcf4965aec5a1d036524cbc0fb14ad5e1
  Author: sujianIBM <Jian.Su at ibm.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/test/tools/llvm-objcopy/DXContainer/dump-section.yaml

  Log Message:
  -----------
  [z/OS] Add --ignore-case to FileCheck on output from od. (#196396)

This test fails on z/OS because `od` outputs upper case letters on z/OS.


  Commit: 70321b9c3b2674d7613193e54dec5abf6b831bf7
      https://github.com/llvm/llvm-project/commit/70321b9c3b2674d7613193e54dec5abf6b831bf7
  Author: Junji Watanabe <jwata at google.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Support/Path.cpp
    M llvm/unittests/Support/CommandLineTest.cpp
    M llvm/unittests/Support/Path.cpp

  Log Message:
  -----------
  [Support] Support runtime override for LLVM_WINDOWS_PREFER_FORWARD_SLASH (#199210)

Allow overriding the compile-time LLVM_WINDOWS_PREFER_FORWARD_SLASH
setting at runtime using an environment variable of the same name.

This enables testing both path separator behaviors (forward slash vs.
backslash on Windows) using a single build, which is useful for
CI/Buildbots.

The environment variable is checked once and cached in a static variable
for performance.

Also updated relevant tests in SupportTests (Path.cpp and
CommandLineTest.cpp) to dynamically detect the preferred separator style
at runtime instead of relying on the compile-time macro, making them
compatible with the override.


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

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

  Log Message:
  -----------
  [ProfCheck] Add test from #197698 to xfail list (#199650)

All other coroutines tests are already on the list, but the new test has
not been added.


  Commit: 573138d541279fbe19ff3a85820fd99f422e00a1
      https://github.com/llvm/llvm-project/commit/573138d541279fbe19ff3a85820fd99f422e00a1
  Author: Tom Tromey <tromey at adacore.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/include/llvm/IR/DebugInfo.h
    M llvm/lib/IR/DebugInfo.cpp
    A llvm/test/DebugInfo/Generic/debuginfofinder-composite-type.ll

  Log Message:
  -----------
  Handle more cases in DebugInfoFinder (#194684)

In #181028 we discovered that DebugInfoFinder is missing some cases.
This corrects several of these. It is hard to know if I found them all.


  Commit: f2ce225f0f778838e755c306be26adc823282146
      https://github.com/llvm/llvm-project/commit/f2ce225f0f778838e755c306be26adc823282146
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/docs/CodingStandards.rst

  Log Message:
  -----------
  Exclude documentation files from 80 columns rule in Coding Standard (#197666)

This implements the accepted
[RFC](https://discourse.llvm.org/t/rfc-remove-80-column-limit-in-documentation-files/89678)
"Remove 80 column limit in documentation files."


  Commit: 3eb9aacb7c47ac15085c4bfced48de9bcee912a3
      https://github.com/llvm/llvm-project/commit/3eb9aacb7c47ac15085c4bfced48de9bcee912a3
  Author: David Pagan <dave.pagan at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp

  Log Message:
  -----------
  [clang][CodeGen][NFC] Fixed typos in comments. (#197052)


  Commit: 095faea999a2adaff9c54a5d7b7b1ef431db92ff
      https://github.com/llvm/llvm-project/commit/095faea999a2adaff9c54a5d7b7b1ef431db92ff
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/AArch64/slp-extval-struct-operand-no-scalar-reuse.ll

  Log Message:
  -----------
  [SLP] Fix assertion "Deleting out-of-tree value" for struct-typed vectorized operands

When an external-use scalar had a struct-typed vectorized operand, OperandIsScalar
incorrectly returned true (because the struct scalar was in ValueToExtUses), causing
the scalar to be cloned into ExternalUsesAsOriginalScalar. The clone used the struct
scalar directly, but struct-typed vectorized scalars are deleted after vectorization
- their external-use handling erases the extractvalue user rather than replacing the
struct value via replaceAllUsesWith.

Reviewers: 

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


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/test/Transforms/JumpThreading/branch-debug-info2.ll
    M llvm/test/Transforms/JumpThreading/select.ll
    M llvm/test/Transforms/JumpThreading/stale-loop-info-after-unfold-select.ll

  Log Message:
  -----------
  [JumpThreading] Freeze undef/poison select condition in unfoldSelectInstr (#199408)

When unfoldSelectInstr rewrites a select as a conditional branch, it
used SI->getCondition() directly, without freezing it first. A select
with an undef or poison condition does not immediately cause UB,
but branching on undef or poison does, so we need to freeze it.

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


  Commit: 471244d790755842e1262b9c6a889186e0a6e078
      https://github.com/llvm/llvm-project/commit/471244d790755842e1262b9c6a889186e0a6e078
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/InferAlignment.cpp
    A llvm/test/Transforms/InferAlignment/propagate-across-blocks.ll

  Log Message:
  -----------
  [InferAlignment] Propagate alignment information across blocks (#198114)

This patch implements DT-based cross-block alignment propagation. The
algorithm processes the basic blocks in a depth-first traversal of DT.
The stack is emulated to avoid recursive visiting.

IR diff: https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/321.
Most of the improvement is useless, as it makes load/store instructions
overaligned. But several alignment checks are eliminated:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/321/commits/2ac31cb4f44261fa256d23061346af3aac73a41d.

Compile-time impact: +0.03%

https://llvm-compile-time-tracker.com/compare.php?from=f45f3ce5da9e35f819db9b8ed2775dac8c2b1171&to=93d511bc2a64792fcdb8d84b0b696a7c8d61ef40&stat=instructions%3Au


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

  Changed paths:
    A llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi2.ll

  Log Message:
  -----------
  [X86] Add test coverage showing failure to recognise VPSHLD/VPSHRD nodes as potential faux shuffles (#199673)


  Commit: cb96a3edf7a81e75169fdcc057f3e19a1d09f73b
      https://github.com/llvm/llvm-project/commit/cb96a3edf7a81e75169fdcc057f3e19a1d09f73b
  Author: Yury Plyakhin <yury.plyakhin at intel.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    R clang/test/Driver/clang-offload-bundler-asserts-on.c
    R clang/test/Driver/clang-offload-bundler-standardize.c
    R clang/test/Driver/clang-offload-bundler-zlib.c
    R clang/test/Driver/clang-offload-bundler-zstd.c
    R clang/test/Driver/clang-offload-bundler.c
    R clang/test/Driver/fat-archive-unbundle-ext.c
    R clang/test/Driver/linker-wrapper-canonical-prefixes.c
    R clang/test/Driver/linker-wrapper-hip-amdgcnspirv.c
    R clang/test/Driver/linker-wrapper-hip-no-rdc.c
    R clang/test/Driver/linker-wrapper-image.c
    R clang/test/Driver/linker-wrapper-llvm-help.c
    R clang/test/Driver/linker-wrapper.c
    R clang/test/Driver/nvlink-wrapper.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-canonical-prefixes.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-amdgcnspirv.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-llvm-help.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper.c
    A clang/test/OffloadTools/clang-linker-wrapper/lit.local.cfg
    A clang/test/OffloadTools/clang-linker-wrapper/openmp-spirv.cpp
    A clang/test/OffloadTools/clang-nvlink-wrapper/nvlink-wrapper.c
    A clang/test/OffloadTools/clang-offload-bundler/asserts-on.c
    A clang/test/OffloadTools/clang-offload-bundler/basic.c
    A clang/test/OffloadTools/clang-offload-bundler/fat-archive-unbundle-ext.c
    A clang/test/OffloadTools/clang-offload-bundler/standardize.c
    A clang/test/OffloadTools/clang-offload-bundler/zlib.c
    A clang/test/OffloadTools/clang-offload-bundler/zstd.c
    A clang/test/OffloadTools/clang-sycl-linker/basic.ll
    A clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
    A clang/test/OffloadTools/clang-sycl-linker/triple.ll
    R clang/test/Tooling/clang-linker-wrapper-spirv.cpp
    R clang/test/Tooling/clang-sycl-linker-split-mode.ll
    R clang/test/Tooling/clang-sycl-linker-triple.ll
    R clang/test/Tooling/clang-sycl-linker.ll
    M clang/test/Tooling/lit.local.cfg

  Log Message:
  -----------
  [clang][test] Move offload tools tests to clang/test/OffloadTools (#198434)

Tests for clang-offload-bundler, clang-linker-wrapper,
clang-nvlink-wrapper, and clang-sycl-linker were scattered across
clang/test/Driver/ and clang/test/Tooling/. Neither location was
appropriate: Driver/ is for testing the compiler driver, and Tooling/ is
for testing the LibTooling infrastructure.

Move them to clang/test/OffloadTools/ with one subdirectory per tool,
following the convention used by llvm/test/tools/. The tool-name prefix
is dropped from filenames since the containing directory already
identifies the tool.

The spirv-tools feature/substitution setup is carried over from
Tooling's lit.local.cfg into a new lit.local.cfg in
clang-linker-wrapper/, since the parent clang/test/lit.cfg.py does not
set up that feature. The dead spirv-tools block is removed from
Tooling/lit.local.cfg now that no tests there depend on it.

`clang-linker-wrapper-spirv.cpp` was relying on libomp in the
environment. It is now rewritten to run the `clang-linker-wrapper`
directly rather than going through the driver and added stub symbols
allow avoiding linking against OpenMP runtime libraries.


  Commit: ca9884dd065961cb112f4940b3f80339765a0104
      https://github.com/llvm/llvm-project/commit/ca9884dd065961cb112f4940b3f80339765a0104
  Author: Yanzuo Liu <zwuis at outlook.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang-tools-extra/clangd/Selection.cpp
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclarationName.h
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/unittests/Tooling/Syntax/BuildTreeTest.cpp

  Log Message:
  -----------
  [clang] Add missing type source info of `decltype` specifier in destructor call to AST (#197680)

The type source info will be stored in `MemberExpr::MemberDNLoc`.

This patch fixes the underlying issue of #195788.


  Commit: fbbaa545ce1a8faebd453f9918513b7ec804671d
      https://github.com/llvm/llvm-project/commit/fbbaa545ce1a8faebd453f9918513b7ec804671d
  Author: Matthias Springer <me at m-sp.org>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
    M mlir/test/Dialect/Async/async-to-async-runtime.mlir

  Log Message:
  -----------
  [mlir][async] Lazily create the coroutine destroy-cleanup block (#199583)

`setupCoroMachinery` previously emitted a `cleanupForDestroy` block
unconditionally, alongside the normal `cleanup` block. That block is
only ever used as the "destroy" successor of an `async.coro.suspend`, so
for coroutines that never suspend (e.g. an `async.func` whose body
contains no `async.await`) it ended up unreachable in the lowered CFG.

Make `cleanupForDestroy` mirror the existing `setError` (and
`setupSetErrorBlock`) pattern and materialize it lazily via a new
`setupCleanupForDestroyBlock` helper, called only from the two places
(`outlineExecuteOp` and the `async.await` lowering) that actually wire
it up. Store the coroutine id on `CoroMachinery` so the helper can
rebuild the block contents without keeping the original `async.coro.id`
op around.

This change is in preparation of adding a new builtin token type. Dead
`async.coro.free` ops are inefficient and cause problems in the lowering
to LLVM.

Assisted-by: Opus 4.7


  Commit: 3a25f7b645fa68343d548eb116d884fd1ebb3edb
      https://github.com/llvm/llvm-project/commit/3a25f7b645fa68343d548eb116d884fd1ebb3edb
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
    M clang/test/AST/ast-dump-decl.cpp
    M clang/test/AST/ast-dump-linkage-internal.cpp
    M clang/test/AST/ast-dump-linkage.cpp
    M clang/test/AST/ast-dump-templates-pattern.cpp

  Log Message:
  -----------
  [clang] preserve exact redeclaration for getTemplateInstantiationPattern (#199473)

This makes these functions not always return the definition if any. The
few users which depend on this are updated to fetch the definition
themselves.

Also fixes the VarDecl variant returning the queried declaration itself.


  Commit: e8d5037b400dbe2afd4554ed1e1f38a697c62c36
      https://github.com/llvm/llvm-project/commit/e8d5037b400dbe2afd4554ed1e1f38a697c62c36
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    A clang/test/ASTMerge/class-template-spec/Inputs/class-template-spec.cpp
    A clang/test/ASTMerge/class-template-spec/test.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp

  Log Message:
  -----------
  [clang] NFC: readd test cases reverted in 79f4d8f014 (#199676)

This adds back the test cases reverted in 79f4d8f014

We need some sort of process to stop losing regression tests due to
reverts...


  Commit: 721cddfd8f06dccae71196de7f0ae49ff54fe254
      https://github.com/llvm/llvm-project/commit/721cddfd8f06dccae71196de7f0ae49ff54fe254
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AMDGPU/inst-count-heuristic.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with inst count heuristic for AMDHSA, NFC



Reviewers: 

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


  Commit: bd9ce0ab1edd3c1e5557af8df883bac9b4c99150
      https://github.com/llvm/llvm-project/commit/bd9ce0ab1edd3c1e5557af8df883bac9b4c99150
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td

  Log Message:
  -----------
  [clang][analyzer] Make CallAndMessage:ArgPointeeInitializedness released (NFC) (#199184)

The option was in `InAlpha` state but should be `Released` instead. It
was improved in changes #164600 and #173854.


  Commit: 52aac75c005446e988f8dfe27edd41bd70e3ce68
      https://github.com/llvm/llvm-project/commit/52aac75c005446e988f8dfe27edd41bd70e3ce68
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp

  Log Message:
  -----------
  [RISCV][GISel] Use sXLen member variable instead of creating it locally. NFC (#199594)


  Commit: 6b17cf8d11ce2d8b37b5770a0b9f6082a3fc63e2
      https://github.com/llvm/llvm-project/commit/6b17cf8d11ce2d8b37b5770a0b9f6082a3fc63e2
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll

  Log Message:
  -----------
  [RISCV][P-ext] Support packed SSHLSAT with non-constant splat shift amount. (#198937)

We can use the pssha instructions. These instructions look at the lower
8-bits of the shift amount and treat positive values as a left shift and
a negative value as a right shift.

Since out of bound shift amounts for SSHLSAT are poison, we can directly
pass the shift amount to the instruction.


  Commit: fe4c2bb1b3d5626d7de8112e815b8548b20a81fe
      https://github.com/llvm/llvm-project/commit/fe4c2bb1b3d5626d7de8112e815b8548b20a81fe
  Author: Nishant Patel <nishant.b.patel at intel.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.td
    M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
    M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
    R mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
    R mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
    M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
    R mlir/test/Dialect/XeGPU/move-gpu-func-to-warp-op.mlir
    A mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
    A mlir/test/Dialect/XeGPU/sg-to-lane-distribute.mlir
    R mlir/test/Dialect/XeGPU/sg-to-wi-experimental-unit.mlir
    R mlir/test/Dialect/XeGPU/sg-to-wi-experimental.mlir
    R mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir
    R mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
    R mlir/test/Dialect/XeGPU/xegpu-subgroup-distribute-no-arch.mlir
    M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp

  Log Message:
  -----------
  [mlir][xegpu] Deprecate XeGPUSubgroupDistribute and rename XeGPUSgToWiDistributeExperimental to XeGPUSgToLaneDistribute (#198027)

The XeGPUSubgroupDistribute pass is now fully superseded by the newer
subgroup-to-lane distribution flow, so this PR removes its
implementation & all associated tests.
The replacement pass XeGPUSgToWiDistributeExperimental is renamed to
XeGPUSgToLaneDistribute.


  Commit: c927d44cb119a290b4946ebbd5547ca4f3f872a7
      https://github.com/llvm/llvm-project/commit/c927d44cb119a290b4946ebbd5547ca4f3f872a7
  Author: DeanSturtevant1 <dsturtevant at google.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

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

  Log Message:
  -----------
  Revert "Revert "[libc] Port 2b2a63819f9f26d661bad5c269a03077d22ff6b4"" (#199681)

Reverts llvm/llvm-project#197857.
Original change relanded as #199570


  Commit: 3718ab29aa885036143a630ecd53dea52c41b57c
      https://github.com/llvm/llvm-project/commit/3718ab29aa885036143a630ecd53dea52c41b57c
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn

  Log Message:
  -----------
  [gn build] Port c437052c (#199709)


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi2.ll

  Log Message:
  -----------
  [X86] getFauxShuffleMask - add handling for X86ISD::VSHLD/VSHRD funnel shifts (#199707)

Another step towards #145276


  Commit: 4acfc32f007528dbe5de20a163ccadfd4668a849
      https://github.com/llvm/llvm-project/commit/4acfc32f007528dbe5de20a163ccadfd4668a849
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/test/Transforms/JumpThreading/branch-debug-info2.ll
    M llvm/test/Transforms/JumpThreading/select.ll
    M llvm/test/Transforms/JumpThreading/stale-loop-info-after-unfold-select.ll

  Log Message:
  -----------
  Revert "[JumpThreading] Freeze undef/poison select condition in unfoldSelectInstr" (#199713)

Reverts llvm/llvm-project#199408

Causes many crashes, e.g.
https://github.com/llvm/llvm-project/pull/199408#issuecomment-4545738591

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


  Commit: 6fdfe1ead81f20ad5365de3f9313b9d658e40153
      https://github.com/llvm/llvm-project/commit/6fdfe1ead81f20ad5365de3f9313b9d658e40153
  Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h
    M llvm/include/llvm/Transforms/Coroutines/CoroAnnotationElide.h
    M llvm/include/llvm/Transforms/Coroutines/CoroCleanup.h
    M llvm/include/llvm/Transforms/Coroutines/CoroConditionalWrapper.h
    M llvm/include/llvm/Transforms/Coroutines/CoroEarly.h
    M llvm/include/llvm/Transforms/Coroutines/CoroElide.h
    M llvm/include/llvm/Transforms/Coroutines/SpillUtils.h
    M llvm/include/llvm/Transforms/IPO/Annotation2Metadata.h
    M llvm/include/llvm/Transforms/IPO/ArgumentPromotion.h
    M llvm/include/llvm/Transforms/IPO/CalledValuePropagation.h
    M llvm/include/llvm/Transforms/IPO/ConstantMerge.h
    M llvm/include/llvm/Transforms/IPO/CrossDSOCFI.h
    M llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h
    M llvm/include/llvm/Transforms/IPO/ElimAvailExtern.h
    M llvm/include/llvm/Transforms/IPO/ExpandVariadics.h
    M llvm/include/llvm/Transforms/IPO/FatLTOCleanup.h
    M llvm/include/llvm/Transforms/IPO/ForceFunctionAttrs.h
    M llvm/include/llvm/Transforms/IPO/GlobalOpt.h
    M llvm/include/llvm/Transforms/IPO/GlobalSplit.h
    M llvm/include/llvm/Transforms/IPO/HotColdSplitting.h
    M llvm/include/llvm/Transforms/IPO/IROutliner.h
    M llvm/include/llvm/Transforms/IPO/LoopExtractor.h
    M llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h
    M llvm/include/llvm/Transforms/IPO/OpenMPOpt.h
    M llvm/include/llvm/Transforms/IPO/PartialInlining.h
    M llvm/include/llvm/Transforms/IPO/SCCP.h
    M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h
    M llvm/include/llvm/Transforms/Instrumentation/BlockCoverageInference.h
    M llvm/include/llvm/Transforms/Instrumentation/CGProfile.h
    M llvm/include/llvm/Transforms/Instrumentation/ControlHeightReduction.h
    M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfFlattening.h
    M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfLowering.h
    M llvm/include/llvm/Transforms/Instrumentation/PGOForceFunctionAttrs.h
    M llvm/include/llvm/Transforms/Scalar/ADCE.h
    M llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h
    M llvm/include/llvm/Transforms/Scalar/AnnotationRemarks.h
    M llvm/include/llvm/Transforms/Scalar/BDCE.h
    M llvm/include/llvm/Transforms/Scalar/CallSiteSplitting.h
    M llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h
    M llvm/include/llvm/Transforms/Scalar/ConstraintElimination.h
    M llvm/include/llvm/Transforms/Scalar/CorrelatedValuePropagation.h
    M llvm/include/llvm/Transforms/Scalar/DCE.h
    M llvm/include/llvm/Transforms/Scalar/DFAJumpThreading.h
    M llvm/include/llvm/Transforms/Scalar/DeadStoreElimination.h
    M llvm/include/llvm/Transforms/Scalar/DivRemPairs.h
    M llvm/include/llvm/Transforms/Scalar/DropUnnecessaryAssumes.h
    M llvm/include/llvm/Transforms/Scalar/ExpandMemCmp.h
    M llvm/include/llvm/Transforms/Scalar/FlattenCFG.h
    M llvm/include/llvm/Transforms/Scalar/Float2Int.h
    M llvm/include/llvm/Transforms/Scalar/GVNExpression.h
    M llvm/include/llvm/Transforms/Scalar/GuardWidening.h
    M llvm/include/llvm/Transforms/Scalar/IVUsersPrinter.h
    M llvm/include/llvm/Transforms/Scalar/IndVarSimplify.h
    M llvm/include/llvm/Transforms/Scalar/InductiveRangeCheckElimination.h
    M llvm/include/llvm/Transforms/Scalar/InferAddressSpaces.h
    M llvm/include/llvm/Transforms/Scalar/InferAlignment.h
    M llvm/include/llvm/Transforms/Scalar/InstSimplifyPass.h
    M llvm/include/llvm/Transforms/Scalar/JumpTableToSwitch.h
    M llvm/include/llvm/Transforms/Scalar/LICM.h
    M llvm/include/llvm/Transforms/Scalar/LoopAccessAnalysisPrinter.h
    M llvm/include/llvm/Transforms/Scalar/LoopBoundSplit.h
    M llvm/include/llvm/Transforms/Scalar/LoopDataPrefetch.h
    M llvm/include/llvm/Transforms/Scalar/LoopDeletion.h
    M llvm/include/llvm/Transforms/Scalar/LoopDistribute.h
    M llvm/include/llvm/Transforms/Scalar/LoopFlatten.h
    M llvm/include/llvm/Transforms/Scalar/LoopFuse.h
    M llvm/include/llvm/Transforms/Scalar/LoopIdiomRecognize.h
    M llvm/include/llvm/Transforms/Scalar/LoopInstSimplify.h
    M llvm/include/llvm/Transforms/Scalar/LoopInterchange.h
    M llvm/include/llvm/Transforms/Scalar/LoopLoadElimination.h
    M llvm/include/llvm/Transforms/Scalar/LoopPredication.h
    M llvm/include/llvm/Transforms/Scalar/LoopRotation.h
    M llvm/include/llvm/Transforms/Scalar/LoopSimplifyCFG.h
    M llvm/include/llvm/Transforms/Scalar/LoopSink.h
    M llvm/include/llvm/Transforms/Scalar/LoopStrengthReduce.h
    M llvm/include/llvm/Transforms/Scalar/LoopTermFold.h
    M llvm/include/llvm/Transforms/Scalar/LoopUnrollAndJamPass.h
    M llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h
    M llvm/include/llvm/Transforms/Scalar/LoopVersioningLICM.h
    M llvm/include/llvm/Transforms/Scalar/LowerAtomicPass.h
    M llvm/include/llvm/Transforms/Scalar/LowerConstantIntrinsics.h
    M llvm/include/llvm/Transforms/Scalar/LowerGuardIntrinsic.h
    M llvm/include/llvm/Transforms/Scalar/LowerMatrixIntrinsics.h
    M llvm/include/llvm/Transforms/Scalar/LowerWidenableCondition.h
    M llvm/include/llvm/Transforms/Scalar/MakeGuardsExplicit.h
    M llvm/include/llvm/Transforms/Scalar/MergeICmps.h
    M llvm/include/llvm/Transforms/Scalar/MergedLoadStoreMotion.h
    M llvm/include/llvm/Transforms/Scalar/NaryReassociate.h
    M llvm/include/llvm/Transforms/Scalar/NewGVN.h
    M llvm/include/llvm/Transforms/Scalar/PartiallyInlineLibCalls.h
    M llvm/include/llvm/Transforms/Scalar/PlaceSafepoints.h
    M llvm/include/llvm/Transforms/Scalar/Reg2Mem.h
    M llvm/include/llvm/Transforms/Scalar/RewriteStatepointsForGC.h
    M llvm/include/llvm/Transforms/Scalar/SROA.h
    M llvm/include/llvm/Transforms/Scalar/ScalarizeMaskedMemIntrin.h
    M llvm/include/llvm/Transforms/Scalar/SeparateConstOffsetFromGEP.h
    M llvm/include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h
    M llvm/include/llvm/Transforms/Scalar/Sink.h
    M llvm/include/llvm/Transforms/Scalar/SpeculativeExecution.h
    M llvm/include/llvm/Transforms/Scalar/StraightLineStrengthReduce.h
    M llvm/include/llvm/Transforms/Scalar/StructurizeCFG.h
    M llvm/include/llvm/Transforms/Scalar/TailRecursionElimination.h
    M llvm/include/llvm/Transforms/Scalar/WarnMissedTransforms.h
    M llvm/include/llvm/Transforms/Utils/AddDiscriminators.h
    M llvm/include/llvm/Transforms/Utils/BreakCriticalEdges.h
    M llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h
    M llvm/include/llvm/Transforms/Utils/CanonicalizeAliases.h
    M llvm/include/llvm/Transforms/Utils/CanonicalizeFreezeInLoops.h
    M llvm/include/llvm/Transforms/Utils/ControlFlowUtils.h
    M llvm/include/llvm/Transforms/Utils/CountVisits.h
    M llvm/include/llvm/Transforms/Utils/CtorUtils.h
    M llvm/include/llvm/Transforms/Utils/DXILUpgrade.h
    M llvm/include/llvm/Transforms/Utils/DebugSSAUpdater.h
    M llvm/include/llvm/Transforms/Utils/DeclareRuntimeLibcalls.h
    M llvm/include/llvm/Transforms/Utils/EntryExitInstrumenter.h
    M llvm/include/llvm/Transforms/Utils/EscapeEnumerator.h
    M llvm/include/llvm/Transforms/Utils/Evaluator.h
    M llvm/include/llvm/Transforms/Utils/FixIrreducible.h
    M llvm/include/llvm/Transforms/Utils/GlobalStatus.h
    M llvm/include/llvm/Transforms/Utils/GuardUtils.h
    M llvm/include/llvm/Transforms/Utils/HelloWorld.h
    M llvm/include/llvm/Transforms/Utils/IRNormalizer.h
    M llvm/include/llvm/Transforms/Utils/InjectTLIMappings.h
    M llvm/include/llvm/Transforms/Utils/InstructionNamer.h
    M llvm/include/llvm/Transforms/Utils/LibCallsShrinkWrap.h
    M llvm/include/llvm/Transforms/Utils/LoopConstrainer.h
    M llvm/include/llvm/Transforms/Utils/LoopPeel.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/include/llvm/Transforms/Utils/LoopVersioning.h
    M llvm/include/llvm/Transforms/Utils/LowerAtomic.h
    M llvm/include/llvm/Transforms/Utils/LowerGlobalDtors.h
    M llvm/include/llvm/Transforms/Utils/LowerIFunc.h
    M llvm/include/llvm/Transforms/Utils/LowerInvoke.h
    M llvm/include/llvm/Transforms/Utils/LowerSwitch.h
    M llvm/include/llvm/Transforms/Utils/LowerVectorIntrinsics.h
    M llvm/include/llvm/Transforms/Utils/MatrixUtils.h
    M llvm/include/llvm/Transforms/Utils/MemoryOpRemark.h
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/include/llvm/Transforms/Utils/MetaRenamer.h
    M llvm/include/llvm/Transforms/Utils/MisExpect.h
    M llvm/include/llvm/Transforms/Utils/MoveAutoInit.h
    M llvm/include/llvm/Transforms/Utils/NameAnonGlobals.h
    M llvm/include/llvm/Transforms/Utils/RelLookupTableConverter.h
    M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileInference.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h
    M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
    M llvm/include/llvm/Transforms/Utils/SimplifyIndVar.h
    M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
    M llvm/include/llvm/Transforms/Utils/StripConvergenceIntrinsics.h
    M llvm/include/llvm/Transforms/Utils/StripGCRelocates.h
    M llvm/include/llvm/Transforms/Utils/StripNonLineTableDebugInfo.h
    M llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
    M llvm/include/llvm/Transforms/Utils/UnifyLoopExits.h
    M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
    M llvm/include/llvm/Transforms/Utils/VNCoercion.h
    M llvm/include/llvm/Transforms/Vectorize/LoopIdiomVectorize.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PackReuse.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromBBs.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAcceptOrRevert.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionSave.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/RegionWithScore.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.h
    M llvm/include/llvm/Transforms/Vectorize/VectorCombine.h

  Log Message:
  -----------
  llvm: Fix most LLVM_ABI annotations in Transforms (#199042)

This updates most LLVM_ABI annotations in the Transforms headers to
match expected usage:
* All public APIs should be properly annotated.
* Inlined functions should not be annotated.

These changes were done by a script fixing annotations on LLVM public
headers and manually checked.

This effort is tracked in #109483.


  Commit: 26f19eed998d513c1200f46733db14d73e2b3a71
      https://github.com/llvm/llvm-project/commit/26f19eed998d513c1200f46733db14d73e2b3a71
  Author: Matthias Wippich <mfwippich at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/SemaCXX/cxx2c-decomposition.cpp

  Log Message:
  -----------
  [clang] propagate constexpr/constinit to binding VarDecl (#195860)

This patch implements one of the missing parts of P2686. This is
required to make the test case from
[cwg3135](https://cplusplus.github.io/CWG/issues/3135.html) (and
likewise the examples of [P1789](https://wg21.link/p1789) work).


  Commit: 551ff98cc3e6c9d6791c8606f7b3e2ad6d7a438c
      https://github.com/llvm/llvm-project/commit/551ff98cc3e6c9d6791c8606f7b3e2ad6d7a438c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/inst-count-heuristic.ll

  Log Message:
  -----------
  [SLP][TTI][AMDGPU] Add TTI hook preferSLPInstCountCheck for per-target opt-out (#199696)

Add `preferSLPInstCountCheck()` to TTI so targets can opt out of the
2-element inst-count heuristic in `getTreeCost()`. Default returns
`true`
(existing behavior unchanged). `getTreeCost()` ANDs the existing
`SLPInstCountCheck` flag with the hook result. `GCNTTIImpl` returns
`false` for gfx940/gfx941/gfx942 and gfx950.

Fixes #199662.


  Commit: d685a3b0e30f1375acc2796f9ce9f090cec85332
      https://github.com/llvm/llvm-project/commit/d685a3b0e30f1375acc2796f9ce9f090cec85332
  Author: Tom Tromey <tromey at adacore.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/utils/emacs/llvm-mode.el

  Log Message:
  -----------
  Use symbol matching for types in llvm-mode.el (#199250)

llvm-mode.el does this:

    (defconst llvm-mode-primitive-type-regexp
      (concat
       "\\(i[0-9]+\\|"
       (regexp-opt '(...strings...) t)

Here the "t" means to wrap the regexp in "\(..\)". However, this means
that in assembly like:

    !10 = distinct !DICompositeType(tag: DW_TAG_structure_type, ...

.. the "type" in "DW_TAG_structure_type" will be highlighted
differently.

The fix is to tell regexp-opt to only match complete symbols.


  Commit: 44da8601d71ea712b92589bc83f498d6e952c4f9
      https://github.com/llvm/llvm-project/commit/44da8601d71ea712b92589bc83f498d6e952c4f9
  Author: Nishant Patel <nishant.b.patel at intel.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
    M mlir/test/Dialect/XeGPU/resolve-layout-conflicts.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Clone trivial operations with multiple consumers in layout propagation to avoid layout conflict (#197514)

In XeGPU layout propagation, when a trivially rematerializable producer
(e.g. a CSE-merged vector.step) has multiple uses demanding distinct
layouts, clone the producer once per required layout so each def retains
a single well-defined layout. This avoids inserting a bridging
xegpu.convert_layout whose WG-to-SG lowering would otherwise force a
costly SLM round-trip to redistribute data across subgroups.


  Commit: eca8638e130325d108e39aab5654bae8f0a06209
      https://github.com/llvm/llvm-project/commit/eca8638e130325d108e39aab5654bae8f0a06209
  Author: Guy David <guyda96 at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

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

  Log Message:
  -----------
  [ORC] Avoid iterator invalidation when erasing image info symbols (#199655)

processObjCImageInfo iterated the section's DenseSet of symbols while
calling removeDefinedSymbol, which erases from that same set. Re-fetch
begin() each iteration so the iterator is always fresh.

Started with https://github.com/llvm/llvm-project/pull/199369.


  Commit: 4b7ec0c715398d970a2669573f931e167b532e75
      https://github.com/llvm/llvm-project/commit/4b7ec0c715398d970a2669573f931e167b532e75
  Author: Guy David <guyda96 at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Analysis/GlobalsModRef.cpp

  Log Message:
  -----------
  [GlobalsModRef] Don't erase while iterating (#199656)

The loop erases from AllocsForIndirectGlobals while walking it, which
now hits the iterator invalidation assert in DenseMap::erase. Use
remove_if instead.

Started with https://github.com/llvm/llvm-project/pull/199369.


  Commit: 68ebd09d5e19c30a79d416940d3400b5637b0f69
      https://github.com/llvm/llvm-project/commit/68ebd09d5e19c30a79d416940d3400b5637b0f69
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M lld/MachO/ConcatOutputSection.cpp
    M lld/MachO/ConcatOutputSection.h
    M lld/MachO/InputSection.h
    M lld/docs/ReleaseNotes.rst
    M lld/test/MachO/arm64-thunks.s

  Log Message:
  -----------
  [lld][macho] Restructure thunk generation algorithm (#193367)

Refactor the algorithm that generates thunks for Mach-O. Prior to this
PR, sections were finalized as early as possible while still leaving
enough room (`slopScale * thunkSize`) for new thunks to be created.
There was also additional bookkeeping
(`estimateBranchTargetThresholdVA()`) so that once all sections were
finalized, we could estimate the end of the stubs sections. This avoided
new thunks to stubs sections in some cases.

In this PR, I've restructured the algorithm to avoid eagerly finalizing
sections. Instead, I maintain a `branchesToProcess` queue to hold
branches that could need to use a thunk. I avoid processing this branch
until its target has been finalized, or if finalizing another section
not leave enough room for new thunks (computed using `slopScale`). This
increases the likelihood that a branch will be direct, rather than use a
thunk, as reflected in the test change. Once all sections are finalized,
we can compute an upper bound on the number of thunks that need to be
created. We use this to estimate the end of the stubs section, allowing
us to keep some direct branches.

For testing, I linked a large binary before and after this PR. Results
show a 0.80% reduction in the number of thunks and 6.6% reduction in
number of thunk calls. The change in the duration of the link was
negligible.

| | Thunk Count | Thunk Calls |
|-| - | - |
| Base | 138499 | 1707623 |
| New | 137395 | 1595313 |


  Commit: 6e94fa069fa912cbfa6ec7f7d1fbafe6bed72f47
      https://github.com/llvm/llvm-project/commit/6e94fa069fa912cbfa6ec7f7d1fbafe6bed72f47
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/test/CIR/CodeGenCUDA/device-stub.cu

  Log Message:
  -----------
  [CIR][CUDA] Emit global var registration (#199270)


  Commit: 7146087fb49476055704f92e24295c549c89fa21
      https://github.com/llvm/llvm-project/commit/7146087fb49476055704f92e24295c549c89fa21
  Author: David Green <david.green at arm.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
    M llvm/test/CodeGen/AArch64/fp16-v4-instructions.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-compares.ll

  Log Message:
  -----------
  [AArch64][DAG] Use getSetCCResultType in PromoteSETCC (#198320)

During the promotion of a v16bf16 vector setcc with 256 bit sve, a
v16i16 setcc(v16f32) is created, that gets legalized to a v8i16
setcc(v8f32), which trips up an assert in the aarch64 custom lowering to
vector registers. It could be solved elsewhere but this addresses it by
making sure that when the f32 setcc is created, the result type matches
getSetCCResultType.

The mvn+xtn vs xtn+mvn is mostly benign, and should both probably be a
subhn if it can be done without causing regressions.


  Commit: e526b2003977f45bb8809480320e74d3f8e19c69
      https://github.com/llvm/llvm-project/commit/e526b2003977f45bb8809480320e74d3f8e19c69
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/get-vec-element-size.ll

  Log Message:
  -----------
  [SLP] Add new tests for instrinsics in getVectorElementSize() (#199612)

More tests for additions to #199129.


  Commit: a917c00ab13fb7d374428563a1b8fa0eef1e35b1
      https://github.com/llvm/llvm-project/commit/a917c00ab13fb7d374428563a1b8fa0eef1e35b1
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M libcxx/include/__algorithm/copy_if.h
    M libcxx/include/__algorithm/partial_sort_copy.h
    M libcxx/include/__algorithm/ranges_copy_if.h
    M libcxx/include/__algorithm/ranges_partial_sort_copy.h
    M libcxx/include/__algorithm/ranges_unique_copy.h
    M libcxx/include/__algorithm/unique_copy.h
    M libcxx/include/__memory/ranges_uninitialized_algorithms.h
    M libcxx/include/__memory/uninitialized_algorithms.h

  Log Message:
  -----------
  [libc++] Use __in_out_result in the remaining appropriate algorithms (#198156)

We've already switched some algorithms to use `__in_out_result` instead
of `pair` as the return type. This updates the remaining appropriate
algorithms.


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

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

  Log Message:
  -----------
  [Bazel] Fixes 44da860 (#199723)

This fixes 44da8601d71ea712b92589bc83f498d6e952c4f9.

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


  Commit: 80a5207d940bcffa4f4339111dca65a4fcca8926
      https://github.com/llvm/llvm-project/commit/80a5207d940bcffa4f4339111dca65a4fcca8926
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Thread scalar types through VPInstruction and VPPhi. (NFC) (#199378)

Update VPInstruction and VPPhi to populate VPSingleDefValue's scalar
type. For most opcodes, the scalar type is determine from the operands,
via computeScalarTypeForInstruction, which roughly matches to removed
inference code. For some opcodes, like FirstActiveLane, the type must be
provided explicitly.

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


  Commit: b395ca789219aedfe856fc89329840cbee9fae8d
      https://github.com/llvm/llvm-project/commit/b395ca789219aedfe856fc89329840cbee9fae8d
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/matrix-transpose.ll

  Log Message:
  -----------
  [SPIR-V] Fix legalized load of single-element vector from array (#198330)


  Commit: bacd876134494c69d02b4509e125c47b5e86d3d2
      https://github.com/llvm/llvm-project/commit/bacd876134494c69d02b4509e125c47b5e86d3d2
  Author: Karim Alweheshy <9082720+karim-alweheshy at users.noreply.github.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M lld/MachO/BPSectionOrderer.cpp
    A lld/test/MachO/eh-frame-ordering.s

  Log Message:
  -----------
  [lld][MachO] Preserve __eh_frame ordering during BP section sorting (#191412)

The Balanced Partitioning section orderer collects all live
`ConcatInputSection`s as candidates for content-similarity reordering.
This includes `__eh_frame` CIE and FDE records, which have internal
ordering constraints: each FDE contains a backward-relative 32-bit
offset to its parent CIE, requiring CIEs to precede their FDEs.

When the BP orderer assigns priorities to `__eh_frame` subsections and
`Writer.cpp` sorts by those priorities, FDEs can end up before their
parent CIEs. The resulting CIE-pointer offsets resolve correctly with
32-bit wrapping arithmetic but underflow with 64-bit pointer arithmetic,
causing DWARF consumers (crash reporters, debuggers) to silently lose
unwind data.

## Fix

Have the BP orderer skip the Mach-O `__TEXT,__eh_frame` section
explicitly before collecting candidate subsections, preserving the
existing CIE/FDE order without adding state to `Section`.

This is the only MachO section with this constraint:
- `__unwind_info` is a `SyntheticSection` (not a `ConcatOutputSection`),
so it never enters the BP pipeline
- `__gcc_except_tab` LSDA entries are referenced by absolute offset, so
reordering is safe
- `-order_file` is unaffected because it assigns priorities through
symbol definitions (which live in `__text`, not `__eh_frame`). Only the
BP orderer enumerates sections directly.

## Production impact

Verified on a large iOS application (~218 MB binary, ~34,000 FDEs)
linked with `lld` + `--bp-compression-sort=both`.

### Static analysis of `__eh_frame`

Simulating 64-bit CIE pointer resolution on the output binary across
multiple builds:

| Build | `__eh_frame` layout | FDEs resolved (64-bit) | FDEs failed |
|---|---|---|---|
| lld + BP sort | FDEs first | 15 / 34,257 | **34,242 (99.96%)** |
| lld + fix | CIEs first | 30,558 / 30,558 | **0** |

### Runtime verification

Proxied crash report uploads from a device running both the affected and
fixed binaries:

|  | Affected build | Fixed build |
|---|---|---|
| Threads captured | 3 | 24 |
| Total frames | 28 | 135 |
| Background threads | 0-2 | 23 |

The affected build lost ~85% of thread data. The crash reporter could
only unwind the crashed thread (via compact unwind). All background
thread unwind data was silently dropped.

## Reproducer

Minimal test case (ARM64). Requires `--bp-compression-sort=both` to
trigger:

```bash
llvm-mc -filetype=obj -emit-compact-unwind-non-canonical=true \
  -triple=arm64-apple-macos11.0 test.s -o test.o
ld64.lld -arch arm64 -platform_version macos 11.0 11.0 \
  -syslibroot $(xcrun --show-sdk-path) -lSystem -lc++ \
  test.o -o test --bp-compression-sort=both
llvm-objdump --dwarf=frames test
# Without fix: "error: parsing FDE data at 0x0 failed due to missing CIE"
# With fix: CIE records correctly precede their FDEs
```

Standalone reproducer with 64-bit CIE simulation script:
https://gist.github.com/karim-alweheshy/ae28196c4fbb295f81cc793cfbe0c1b7

## Test

The lit test creates multiple functions with `cfi_escape` (forcing DWARF
unwind mode) and different personality functions (producing separate
CIEs), then links with `--bp-compression-sort=both`. Verified on both
x86_64 and arm64.

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

---------

Co-authored-by: Karim Alweheshy <karim.alweheshy at reddit.com>
Co-authored-by: Ellis Hoag <ellis.sparky.hoag at gmail.com>


  Commit: 1869d9925f5d278c607eb2859ab413ba15438c50
      https://github.com/llvm/llvm-project/commit/1869d9925f5d278c607eb2859ab413ba15438c50
  Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Intrinsics.td

  Log Message:
  -----------
  Update `memset.inline` third argument documentation (#199725)

Similar to `memcpy.inline`, `memset.inline`'s size argument doesn't need
to be a constant. Checked by the test

Transforms/PreISelIntrinsicLowering/X86/memset-inline-non-constant-len.ll.


  Commit: 460556ae66e45b203f49c1c43878b4e0ef6d0f49
      https://github.com/llvm/llvm-project/commit/460556ae66e45b203f49c1c43878b4e0ef6d0f49
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.cpp

  Log Message:
  -----------
  [ORC] Shutdown the socket FD before closing it in FDSimpleRemoteEPCTransport (#196835)

It is totally possible that when
`FDSimpleRemoteEPCTransport::disconnect` is called,
`FDSimpleRemoteEPCTransport::listenLoop` is still reading on the socket
FD the former is closing. On Linux, closing a socket FD when it is being
read by another thread is an undefined behavior I believe. And on modern
kernels, the reading thread will not be waken up, so `listenLoop` will
be blocked forever and preventing the process from exiting.

This patch fixes this issue by calling `shutdown(2)` on the socket FDs
before closing them.


  Commit: 4bc1cd92e41f682a5aa49fd5ca10a2002d8470ba
      https://github.com/llvm/llvm-project/commit/4bc1cd92e41f682a5aa49fd5ca10a2002d8470ba
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M .github/workflows/release-binaries.yml

  Log Message:
  -----------
  workflows/release-binaries: Fix yaml error (#199735)

This was introduced by: 25294a2fffcf40cbd8b6743d78524badeded7446


  Commit: e925643b1e7fc936955c0cc01c2c3ce1abd2f4ce
      https://github.com/llvm/llvm-project/commit/e925643b1e7fc936955c0cc01c2c3ce1abd2f4ce
  Author: Carlos Seo <carlos.seo at linaro.org>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    A flang/test/Semantics/OpenMP/declare-simd-interface-body.f90
    M flang/test/Semantics/OpenMP/linear-clause03.f90

  Log Message:
  -----------
  [flang][OpenMP] Warn that declare simd in an interface body has no effect (#199248)

Follow-up to the crash fix for #192581. A DECLARE SIMD directive may
legally appear in the specification part of an interface body, but it
applies to the external procedure being declared rather than to any
definition in this compilation. Flang does not propagate the directive
to callers, so it has no effect and is silently dropped during lowering.

Detect this in semantics by checking whether the program unit containing
the directive is an interface body (SubprogramDetails::isInterface())
and emit an -Wopenmp-usage warning so the user knows the directive is
ignored.

Updates #192581


  Commit: ae0dc3104bf5a53a69c4ab5bce6e3a5365fa7740
      https://github.com/llvm/llvm-project/commit/ae0dc3104bf5a53a69c4ab5bce6e3a5365fa7740
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

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

  Log Message:
  -----------
  [flang][OpenMP] Make `iv` const-reference to original parser::Name (#199727)

Merging since this is a trivial change.


  Commit: 041c5e0e06c9aa9581cd4714b93d89422741bab8
      https://github.com/llvm/llvm-project/commit/041c5e0e06c9aa9581cd4714b93d89422741bab8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

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

  Log Message:
  -----------
  [VPlan] Add missing maybe_unsused to OpTy (NFC). (#199734)

This fixes a warning when building w/o assertions.

https://lab.llvm.org/buildbot/#/builders/228/builds/76


  Commit: 196c7018fc11e40d69b476562a105023e56e72a5
      https://github.com/llvm/llvm-project/commit/196c7018fc11e40d69b476562a105023e56e72a5
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/Transforms/Passes.td
    M mlir/include/mlir/Dialect/MemRef/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
    M mlir/lib/Dialect/MemRef/Transforms/FlattenMemRefs.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/test/Dialect/MemRef/flatten_memref.mlir
    M mlir/test/Dialect/Vector/flatten-memref-and-emulate-narrow-types.mlir

  Log Message:
  -----------
  [mlir][MemRef] Move FlattenMemRefs to interfaces (#198625)

Use IndexedAccessOpInterface for indexed memory operations and
VectorTransferOpInterface update methods for vector transfers ops. Add
an IndexedMemCopyOpInterface-based flattening pattern for DMA-like
operations.

This gets rid of the hardcoded operation list in the patterns, allowing
dialects like AMDGPU to transparently work with memref flattening.

As a consequence, the specialized vector- and memref-dialect only
constructors that only load a subset of the flattening patterns are
removed.

Also adds a max() method to SaturatedInteger because it was useful for
computing the size of a flat memref.

---------

Co-authored-by: Codex <codex at openai.com>


  Commit: da57dc996221b505a16d9827474b086347eb25e4
      https://github.com/llvm/llvm-project/commit/da57dc996221b505a16d9827474b086347eb25e4
  Author: Domenic Nutile <domenic.nutile at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-s16-true16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll
    M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll

  Log Message:
  -----------
  [AMDGPU][True16] Legalize extloads into 16-bit registers (#198670)

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>

Stack PRs:
https://github.com/llvm/llvm-project/pull/198669
https://github.com/llvm/llvm-project/pull/198671

See https://github.com/llvm/llvm-project/pull/195289 for previous
discussion

---------

Signed-off-by: Domenic Nutile <domenic.nutile at gmail.com>
Co-authored-by: Domenic Nutile <domenic.nutile at amd.com>


  Commit: 9ec4c66daffdf2fc740c2429a4d1ec3ff4d997b0
      https://github.com/llvm/llvm-project/commit/9ec4c66daffdf2fc740c2429a4d1ec3ff4d997b0
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/IR/Type.cpp
    M llvm/test/Assembler/target-type-param-errors.ll
    A llvm/test/Verifier/amdgpu-stridemark-structured-gep.ll
    A llvm/test/Verifier/amdgpu-stridemark-tokenlike.ll
    M llvm/test/Verifier/structured-gep-indices-bad.ll

  Log Message:
  -----------
  [AMDGPU] Lay groundwork for stridemark type / addrspace(9) via sgep (#198930)

This commit introduces and documents the `amdgpu.stridemark` target
type, which is used to express when a structured.gep intrinsic is being
used to increment/decrement the index part of a `ptr addrspace(9)` (as
opposed to GEP, which manipulates the offset part)

Future PRs will add inbounds/nusw/nuw support to structured GEP to
enable more efficient code generation and then will implement a lowering
of these structured GEPs to struct.buffer intrinsics.


  Commit: 31111955fc5c182f40080d3a9a0dc2ab4e175cf1
      https://github.com/llvm/llvm-project/commit/31111955fc5c182f40080d3a9a0dc2ab4e175cf1
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M lldb/source/Host/common/Socket.cpp
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/unittests/Host/SocketTest.cpp

  Log Message:
  -----------
  [lldb] Set SO_NOSIGPIPE on platforms that support it (#198044)

On macOS, I've seen instances where debugserver goes down very quickly
after it starts up (less than 100ms). Normally, LLDB is able to detect
when debugserver goes down and report it without bringing down the
entire debug session. However that's not happening here. My best guess
is that debugserver is going down before LLDB is ready to react to it.

To mitigate this scenario, adopt SO_NOSIGPIPE. Note that this mostly
matters for tools that embed liblldb. The LLDB driver ignores all
SIGPIPEs.

rdar://173516461


  Commit: 09709d7f5357c843c596db34721aa5d85e06323c
      https://github.com/llvm/llvm-project/commit/09709d7f5357c843c596db34721aa5d85e06323c
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

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

  Log Message:
  -----------
  [Github] Pin container image reference in libc-shared-tests (#199737)

Pinned to the image used in the last successful workflow run.

Introduced in c32de3e3759c3368978535e4ff4fb83323219fb0.


  Commit: 2a80a9d52ee17a2a3188f52a3befcb2e8ed57ae6
      https://github.com/llvm/llvm-project/commit/2a80a9d52ee17a2a3188f52a3befcb2e8ed57ae6
  Author: Ziqing Luo <ziqing_luo at apple.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/test/Modules/safe_buffers_optout.cpp
    M clang/test/PCH/unsafe-buffer-usage-pragma-pch-complex.cpp
    M clang/test/PCH/unsafe-buffer-usage-pragma-pch-cross-files-2.cpp
    M clang/test/PCH/unsafe-buffer-usage-pragma-pch-cross-files.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-pragma-issue-79379.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-pragma-pch.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-template-instantiation-notes.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Move warning-only analysis back to function-based (#198006)

Move the warning-only analysis back to the end of parsing each Decl.
The warning-only analysis no longer does any extra AST deserialization.
Pre-compiled code will only be analyzed once during its own compilation.
    
When `-fsafe-buffer-usage-suggestions` is used, the behavior is the
same as before, because it requires visibility of the whole
translation unit.
    
rdar://177185295

Also fix rdar://107480207 & rdar://176992568 for the warning-only case.


  Commit: 85717da6350cfc3de1d166fcef661abadb377fcf
      https://github.com/llvm/llvm-project/commit/85717da6350cfc3de1d166fcef661abadb377fcf
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/include/clang/Basic/DebugOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/DebugInfo/Generic/sysroot-sdk.c
    M clang/test/Modules/debug-info-moduleimport.m
    M lldb/test/API/lang/objc/modules-auto-import/Makefile
    M lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py

  Log Message:
  -----------
  [clang] Add -fno-debug-record-sysroot (#192541)

This enables excluding the absolute path to the sysroot from debug info
for reproducible builds. These fields are used by lldb, which also has
fallbacks since it's possible these paths don't exist on the machine
doing the debugging when built remotely anyways.

This was also possible using
`-fdebug-prefix-map=/path/to/Xcode.app=/some/path`
but depending on the environment you might not be able to easily pass
that with the user specific developer directory path.

Assisted by: claude


  Commit: 769ffe95aac091593563cb2a8cc282b0b6dd2099
      https://github.com/llvm/llvm-project/commit/769ffe95aac091593563cb2a8cc282b0b6dd2099
  Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/LLDBUtils.cpp

  Log Message:
  -----------
  [lldb-dap][NFC] Use GetStringValue helper (#199672)

I noticed some inconsistency in working with
`SBStructuredData.GetStringValue` (e.g. use `length + 1` or `length`),
so it would be better to remove that code duplication and use common
helper (`GetStringValue`) to do this routine.


  Commit: 461f816d44203c3644b30bd3e42eb7c86c23a0f2
      https://github.com/llvm/llvm-project/commit/461f816d44203c3644b30bd3e42eb7c86c23a0f2
  Author: Finn Plummer <mail at inbelic.dev>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/test/CodeGenDirectX/Builtins/dot2add.c
    M clang/test/CodeGenHLSL/ArrayAssignable.logicalptr.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/ArrayReturn.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixConstructor.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptGetter.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptSetter.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixToAndFromVectorConstructors.hlsl
    M clang/test/CodeGenHLSL/BoolMatrix.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
    M clang/test/CodeGenHLSL/builtins/AddUint64.hlsl
    M clang/test/CodeGenHLSL/builtins/BoolSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/abs.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    M clang/test/CodeGenHLSL/builtins/f16tof32-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/f16tof32.hlsl
    M clang/test/CodeGenHLSL/builtins/f32tof16-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/f32tof16.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/CodeGenHLSL/builtins/mad.hlsl
    M clang/test/CodeGenHLSL/convergence/cf.for.plain.hlsl
    M clang/test/CodeGenHLSL/convergence/do.while.hlsl
    M clang/test/CodeGenHLSL/convergence/entry.point.hlsl
    M clang/test/CodeGenHLSL/convergence/for.hlsl
    M clang/test/CodeGenHLSL/convergence/global_array.hlsl
    M clang/test/CodeGenHLSL/convergence/while.hlsl
    M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl
    M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-store.hlsl
    M clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-load.hlsl
    M clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-store.hlsl
    M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl
    M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-store.hlsl
    M clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-load.hlsl
    M clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-store.hlsl
    M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
    M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-methods.hlsl
    M clang/test/CodeGenHLSL/resources/CBufferMatrixSingleSubscriptSwizzle.hlsl
    M clang/test/CodeGenHLSL/resources/MatrixElement_cbuffer.hlsl
    M clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-lib.hlsl
    M clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-ps.hlsl
    M clang/test/CodeGenHLSL/resources/Texture2D-Mips.hlsl
    M clang/test/CodeGenHLSL/resources/TypedBuffers-constructor.hlsl
    M clang/test/CodeGenHLSL/resources/TypedBuffers-methods.hlsl
    M clang/test/CodeGenHLSL/resources/cbuffer.hlsl
    M clang/test/CodeGenHLSL/resources/cbuffer_with_packoffset.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-global-subarray-many.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-global-subarray-one.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-local-multi-dim.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-local1.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-local2.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-local3.hlsl
    M clang/test/CodeGenHLSL/resources/resources-in-structs-array.hlsl
    M clang/test/CodeGenHLSL/resources/resources-in-structs-inheritance.hlsl
    M clang/test/CodeGenHLSL/resources/resources-in-structs.hlsl
    M clang/test/CodeGenHLSL/static-local-ctor.hlsl
    M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
    M clang/test/CodeGenHLSL/this-assignment.hlsl
    M clang/test/CodeGenHLSL/this-reference.hlsl
    M clang/test/SemaHLSL/Resources/static_resources.hlsl
    A llvm/test/Transforms/IndVarSimplify/convergent-controlled-loop.ll
    A llvm/test/Transforms/LoopRotate/convergent-controlled.ll
    A llvm/test/Transforms/SimpleLoopUnswitch/convergent-controlled.ll

  Log Message:
  -----------
  Reland "[HLSL][DirectX] Emit convergence control tokens when targeting DirectX" (#194452)

The initial landing surfaced 3 somewhat orthogonal issues related to
loop unrolling. These are addressed:
[here](https://github.com/llvm/llvm-project/pull/193592),
[here](https://github.com/llvm/llvm-project/pull/193593) and
[here](https://github.com/llvm/llvm-project/pull/193590).

These caused these
[tests](https://github.com/llvm/llvm-project/actions/runs/24577221310/job/71865579618#step:8:87913)
to fail in the offload test suite.

We can verify that these are now passing as expected (fixing any of the
3 issues would resolve this and allow us to reland)

Some additional tests were added since the revert that are now accounted
for and updated in the reland fixes commit.

This relands https://github.com/llvm/llvm-project/pull/188792


  Commit: 631d16eaaa88ab76feaa6c672ce4a4ca4bfcf14b
      https://github.com/llvm/llvm-project/commit/631d16eaaa88ab76feaa6c672ce4a4ca4bfcf14b
  Author: Ziqing Luo <ziqing_luo at apple.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.h
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp

  Log Message:
  -----------
  [SSAF][WPA] Bounds propagation graph is a supergraph of the pointer-flow graph (#198889)

Background: The whole-program UnsafeBufferReachableAnalysis propagates
bounds between pointers. It uses the pointer-flow graph extracted and
linked from translation units.

This commit patches the gap between the semantics of bounds propagation
and pointer-flow: the bounds propagation graph is a super graph of the
pointer-flow graph in that a pointer-flow graph edge `(src, i) -> (dst,
j)` is the projection of a finite set of bounds propagation graph edges
`{(src, i+d) -> (dst, j+d) | 0 <= d < UB}` for a small constant upper
bound UB. See the following example for the idea:

```
void f(int ***p, int **q) {
   *p = q;
   (**p)[5] = 0;
}
```

There is one edge for the static pointer assignment: '(p, 2) -> (q, 1)'.
In terms of bounds propagation, this assignment implies that if 'p' at
pointer level 2 requires bounds, 'q' at pointer level 1 must also have
them. Furthermore, this relationship propagates to deeper indirection
levels: if 'p' at level 3 requires bounds (due to '(**p)[5]'), so does
'q' at level 2.


  Commit: 6d99fcb5c8a2a4a71a4c77a7074776f535ed6a82
      https://github.com/llvm/llvm-project/commit/6d99fcb5c8a2a4a71a4c77a7074776f535ed6a82
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp

  Log Message:
  -----------
  [libc++] Mark string.capacity/over_max_size.pass.cpp as UNSUPPORTED on old dylibs (#199682)

This test is currently failing in the CI for unknown reasons, likely
related to the setup and not a recent patch. Disable it for now to get
the CI green again.


  Commit: 95cb4d4b536af5c6f462e7a2c6ad2dd14c2701b7
      https://github.com/llvm/llvm-project/commit/95cb4d4b536af5c6f462e7a2c6ad2dd14c2701b7
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.shuffle.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for wave_shuffle (#196412)

Add uniform and divergent RegBankLegalize rules for wave shuffle. When
wave_shuffle is uniform, it is folded by AMDGPUUniformIntrinsicCombine
before reaching RegBankLegalize, to its value operand when value is
uniform, or to amdgcn_readlane when only idx is uniform. Add a test to
disable UniformIntrinsicCombine so we can verify and test for uniform
rule.


  Commit: ff243860d7934d763dea4f3fa345b4bfef6d393c
      https://github.com/llvm/llvm-project/commit/ff243860d7934d763dea4f3fa345b4bfef6d393c
  Author: Liza Burakova <liza at chromium.org>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M lld/MachO/LTO.cpp
    A lld/test/MachO/Inputs/large-lto-object.ll
    M lld/test/MachO/lto-object-path.ll

  Log Message:
  -----------
  [lld][MachO] Fix SIGBUS crash in saveOrHardlinkBuffer (#198381)

This change removes a hardlink in saveOrHardlinkBuffer if the
hardlink already exists.

On Mac, -object_path_lto files are hardlinked to the cache when
possible. If the hardlink fails, the saveOrHardlinkBuffer method
falls back to saveBuffer instead.

saveBuffer() opens the file that is being written to as a
raw_fd_ostream object, which truncates a file when opening if the
file already exists.

Most of the time this is not an issue, however, if the hardlink
fails because it actually already exists, AND the hardlink exists
specifically between the -object_path_lto file and the cache file,
then when the file is opened and truncated, we also accidentally
truncate the file we are trying to read from.

This fixes a recurring issue Chromium saw in buildbots that
occassionally hit the above circumstances to cause the crash.
Chromium bug for reference is crbug.com/40060675.

This test adds a new file with a large-ish array (32KB) to ensure
the file is large enough to be mmap'd during the linking process.
This was necessary to reproduce the crash, as smaller files were
not mmap'd. The SIGBUS crash only occurs when the file is mmap'd
then truncated.


  Commit: 8d2f190609b680cca5829e77f68b45798cd79444
      https://github.com/llvm/llvm-project/commit/8d2f190609b680cca5829e77f68b45798cd79444
  Author: Fan Mo <w007878 at hotmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaOpenACCClause.cpp
    A clang/test/SemaOpenACC/compute-construct-reduction-vla.c
    A clang/test/SemaOpenACC/compute-construct-reduction-vla.cpp

  Log Message:
  -----------
  [clang][SemaOpenACC] Reject VLA reduction (#199178)

`GenerateReductionInitRecipeExpr` only handled `ConstantArrayType` when
walking the operand type to build an InitListExpr. A VariableArrayType
`(int arr[i+1])` fell through to the final else branch and tripped
`assert(Ty->isScalarType())`.

Rather than silently accepting VLAs (which have no reasonable lowering.
unlike pointers, there is an expectation of initialized values,but we
cannot statically enumerate elements), reject them outright in
`CheckVarType` with a new diagnostic err_acc_reduction_vla. This is
consistent with the fact that neither codegen nor lowering currently
supports VLA reductions, and other compilers (GCC crashes, NVC++
silently ignores) do not meaningfully handle them either. The fix
upgrades the existing warning path for non-constant arrays in
`CheckVarType` to an error when the clause kind is Reduction, so VLAs
never reach `GenerateReductionInitRecipeExpr`.
Reproducer:

```c
void foo(void) {
  int i;
  int arr[i + 1];
#pragma acc parallel reduction(& : arr)
  while (1) ;
}
```

Fixes #199162

cc @erichkeane 

---
note: calude code was used for generating the regression test case

---------

Co-authored-by: Lemmon <yuzutech.llc at gmail.com>


  Commit: 92cfd0a3f0ac20fbba4fc74a4bdae409fceebd49
      https://github.com/llvm/llvm-project/commit/92cfd0a3f0ac20fbba4fc74a4bdae409fceebd49
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    A clang-tools-extra/test/clang-doc/compact.cpp
    M clang-tools-extra/test/clang-doc/enum.cpp
    M clang-tools-extra/test/clang-doc/index.cpp
    M clang-tools-extra/test/clang-doc/json/class-requires.cpp
    M clang-tools-extra/test/clang-doc/json/class-specialization.cpp
    M clang-tools-extra/test/clang-doc/json/class-template.cpp
    M clang-tools-extra/test/clang-doc/json/class.cpp
    M clang-tools-extra/test/clang-doc/json/compound-constraints.cpp
    M clang-tools-extra/test/clang-doc/json/concept.cpp
    M clang-tools-extra/test/clang-doc/json/function-requires.cpp
    M clang-tools-extra/test/clang-doc/json/function-specifiers.cpp
    M clang-tools-extra/test/clang-doc/json/inheritance.cpp
    M clang-tools-extra/test/clang-doc/json/method-template.cpp
    M clang-tools-extra/test/clang-doc/json/multiple-namespaces.cpp
    M clang-tools-extra/test/clang-doc/json/namespace.cpp
    M clang-tools-extra/test/clang-doc/json/nested-namespace.cpp
    M clang-tools-extra/test/clang-doc/templates.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp

  Log Message:
  -----------
  [clang-doc] Add option for compact JSON (#190822)

By default all JSON is serialized "pretty" with whitespace. This patch
adds an option to serialize JSON without whitespace. This trims the size
of the JSON folder for clang from around 1.3 GB to 785 MB, which is a
39.6% decrease.


  Commit: 282e90796bb9c7962520002806290279a41f6db6
      https://github.com/llvm/llvm-project/commit/282e90796bb9c7962520002806290279a41f6db6
  Author: lntue <lntue at google.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

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

  Log Message:
  -----------
  [libc][ci] Improve full build precommit CIs caching keys. (#199742)

Currently full build precommit CIs only uses c_compiler as the cache's
key which will be the same for many of them listed in the matrix list.
We change to use the combination of (target + build_type + c_compiler)
as keys to uniquely distinguish them and the future gcc builds.


  Commit: 3aa913fe647480791432d99bbdc016688d1ae841
      https://github.com/llvm/llvm-project/commit/3aa913fe647480791432d99bbdc016688d1ae841
  Author: lntue <lntue at google.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M libc/test/src/math/smoke/NextAfterTest.h
    M libc/test/src/math/smoke/NextTowardTest.h

  Log Message:
  -----------
  [libc][math] Temporarily disable exception tests for NextAfter and NextToward tests on Windows. (#199740)

They are a bit flaky on Windows.
See https://github.com/llvm/llvm-project/issues/199738


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

  Changed paths:
    M llvm/lib/TableGen/TGParser.cpp

  Log Message:
  -----------
  [TableGen] Fix wrong op name in a grammar comment(NFC) (#199661)


  Commit: 010faf1e36c75a0f96dd45e6dd0a1ed30736b159
      https://github.com/llvm/llvm-project/commit/010faf1e36c75a0f96dd45e6dd0a1ed30736b159
  Author: Tomer Shafir <tomer.shafir8 at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/TableGen/TGParser.cpp

  Log Message:
  -----------
  [TableGen] Add missing grammar comment for !cond(NFC) (#199663)


  Commit: 9d751a2985c1f2ef061f7f9f53d44676d1287883
      https://github.com/llvm/llvm-project/commit/9d751a2985c1f2ef061f7f9f53d44676d1287883
  Author: David Salinas <dsalinas at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Object/OffloadBundle.cpp
    A llvm/test/tools/llvm-objdump/Offloading/fatbin-coff-compress.test
    A llvm/test/tools/llvm-objdump/Offloading/fatbin-coff.test
    A llvm/test/tools/llvm-readobj/COFF/AMDGPU/offloading.test

  Log Message:
  -----------
  [llvm][Object] Add COFF support to extractOffloadBundleFatBinary (#199574)

Use PointerToRawData from the COFF section header to compute the section
offset, replacing the previous stub that returned an error for all COFF
object files.

This enables llvm-objdump --offloading and llvm-readobj --offloading to
work on COFF fatbins produced by HIP on Windows.

---------

Co-authored-by: James Henderson <James.Henderson at sony.com>
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: 5df91f6c83ca8035a67c79b224ca949e34966d82
      https://github.com/llvm/llvm-project/commit/5df91f6c83ca8035a67c79b224ca949e34966d82
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M .github/workflows/sycl-tests.yml

  Log Message:
  -----------
  workflows/sycl-tests: Pin container image reference (#199466)

I pinned the image to the version that was used in the last successful
workflow run.

https://github.com/llvm/llvm-project/security/code-scanning/1808
https://docs.zizmor.sh/audits/#unpinned-images


  Commit: 88fbc0614e826d09c986fd1b6e80eb2435e97d6c
      https://github.com/llvm/llvm-project/commit/88fbc0614e826d09c986fd1b6e80eb2435e97d6c
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/test/Transforms/DeadStoreElimination/merge-stores.ll

  Log Message:
  -----------
  [DSE] Restrict partial-overlap store merging to matching orderings. (#199728)

Partial-overlap store merging folds the later killing store into the
earlier dead store and erases the killing store. That is invalid if the
killing store is volatile or has stronger-than-unordered atomic
ordering, because erasing it drops an observable write. It is also invalid
if the killing and dead stores have different atomic orderings, because
the bytes originally written by the killing store would inherit the dead
store's atomicity after the merge -- silently dropping (or adding)
atomicity for those bytes.

Require both stores to be unordered (i.e. non-volatile with ordering at
most unordered) and to share the same ordering. This preserves the
existing fold for two simple stores or two unordered-atomic stores
(e.g. simple.ll's test43a) while leaving volatile, ordered-atomic, and
atomicity-mismatched cases in place.

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

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply at anthropic.com>


  Commit: 584b596d812044070193e7be9c1d3f39c7e147df
      https://github.com/llvm/llvm-project/commit/584b596d812044070193e7be9c1d3f39c7e147df
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M .github/workflows/release-doxygen.yml

  Log Message:
  -----------
  workflows/release-doxygen: Remove template expansions (#199456)

https://github.com/llvm/llvm-project/security/code-scanning/1725
https://github.com/llvm/llvm-project/security/code-scanning/1726
https://github.com/llvm/llvm-project/security/code-scanning/1838


  Commit: ef59dbea76d82f008e5314c47e574193dbc4d403
      https://github.com/llvm/llvm-project/commit/ef59dbea76d82f008e5314c47e574193dbc4d403
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M flang/include/flang/Lower/CallInterface.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertConstant.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    A flang/test/HLFIR/c_devptr_byvalue.cuf

  Log Message:
  -----------
  [flang][cuda] Lower c_devptr value arguments in bind(c) like c_ptr (#199316)

Treat `type(c_devptr), value` arguments in BIND(C) interfaces like
`type(c_ptr), value` by passing the nested raw address value instead of
the outer derived type ABI. This keeps call signatures consistent for
CUDA Fortran generic specifics that share a C binding label and avoids
argument misclassification at the x86_64 register/stack boundary.


  Commit: 08e83a533e47607ce3229b32548f24e08d466fe6
      https://github.com/llvm/llvm-project/commit/08e83a533e47607ce3229b32548f24e08d466fe6
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M .github/workflows/release-tasks.yml

  Log Message:
  -----------
  workflows/release-tasks: Remove template expansion (#199444)

https://github.com/llvm/llvm-project/security/code-scanning/1737
https://github.com/llvm/llvm-project/security/code-scanning/1738
https://github.com/llvm/llvm-project/security/code-scanning/1739
https://github.com/llvm/llvm-project/security/code-scanning/1740
https://github.com/llvm/llvm-project/security/code-scanning/1741
https://github.com/llvm/llvm-project/security/code-scanning/1742


  Commit: 6519c04eb459deab1c71756ddfc04fd7ee852904
      https://github.com/llvm/llvm-project/commit/6519c04eb459deab1c71756ddfc04fd7ee852904
  Author: Dhruva Chakrabarti <Dhruva.Chakrabarti at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

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

  Log Message:
  -----------
  [1/3][RegAlloc][LiveRegMatrix] Fix inconsistency in HoistSpillHelper delegates (#197773)

HoistSpillHelper's LiveRangeEdit delegate callbacks did not keep the
LiveRegMatrix consistent when eliminateDeadDefs triggered interval
shrinking and splitting during spill hoisting.

Three issues:

1. No LRE_WillShrinkVirtReg override: when eliminateDeadDefs shrinks a
vreg's interval via shrinkToUses, the matrix was not updated. Add an
override that unassigns the vreg from the matrix and records it in
PendingReassignments for later re-assignment.

2. LRE_DidCloneVirtReg called VRM.assignVirt2Phys without
Matrix->assign: when splitSeparateComponents creates new vregs, the
clones got VRM entries but were never inserted into the matrix. Fix by
consuming PendingReassignments and properly assigning both Old (shrunk)
and New (split) intervals to the matrix.

3. No flush for shrink-without-split: if a vreg was shrunk but not
split, LRE_DidCloneVirtReg was never called to re-assign it. Add a flush
loop at the end of hoistAllSpills to re-assign any remaining pending
vregs.

Also update LRE_CanEraseVirtReg to clear pending entries for erased
vregs.

LIT tests exercised by this patch (i.e. if I introduce consistency
verification as in https://github.com/llvm/llvm-project/pull/197778 but
not this patch, the following tests fail):
CodeGen/X86/AMX/amx-gemm.ll
CodeGen/X86/apx/push2-pop2.ll
CodeGen/X86/udivmodei5.ll

Assisted-by: Cursor/Claude Opus


  Commit: 7a66e99b12eed64c5509280c800b0ce21dcd0bff
      https://github.com/llvm/llvm-project/commit/7a66e99b12eed64c5509280c800b0ce21dcd0bff
  Author: Domenic Nutile <domenic.nutile at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll

  Log Message:
  -----------
  [AMDGPU][True16] Add regbank combiner cases to fix regression around G_SEXTLOAD (#198671)

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>

Stack PRs:
https://github.com/llvm/llvm-project/pull/198669
https://github.com/llvm/llvm-project/pull/198670

See https://github.com/llvm/llvm-project/pull/195289 for previous
discussion


  Commit: 13f9f468dcf8e89d232f28304fa595bf0efbf84b
      https://github.com/llvm/llvm-project/commit/13f9f468dcf8e89d232f28304fa595bf0efbf84b
  Author: Scott Linder <scott.linder at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
    M llvm/test/CodeGen/AMDGPU/av-spill-expansion-with-machine-cp.mir
    M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
    M llvm/test/CodeGen/AMDGPU/dbg-info-inline-at.ll
    A llvm/test/CodeGen/AMDGPU/debug-frame.ll
    M llvm/test/CodeGen/AMDGPU/ds-read2-write2-debug-info.ll
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-u32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32-wave32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir
    A llvm/test/CodeGen/AMDGPU/entry-function-cfi.mir
    M llvm/test/CodeGen/AMDGPU/frame-index-elimination-tied-operand.mir
    M llvm/test/CodeGen/AMDGPU/gfx11-sgpr-hazard-latency.mir
    M llvm/test/CodeGen/AMDGPU/inflate-av-remat-imm.mir
    M llvm/test/CodeGen/AMDGPU/insert-waitcnts-merge.ll
    M llvm/test/CodeGen/AMDGPU/issue98474-assigned-physreg-interference.mir
    M llvm/test/CodeGen/AMDGPU/issue98474-virtregrewriter-live-out-undef-subregisters.mir
    M llvm/test/CodeGen/AMDGPU/kernel-mubuf-with-voffset.mir
    M llvm/test/CodeGen/AMDGPU/llvm.dbg.value.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-single-wave-workgroup-memops.ll
    M llvm/test/CodeGen/AMDGPU/pei-reg-scavenger-position.mir
    M llvm/test/CodeGen/AMDGPU/regalloc-introduces-copy-sgpr-to-agpr.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-dead-frame-in-dbg-value.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill.mir
    M llvm/test/CodeGen/AMDGPU/spill-special-sgpr.mir

  Log Message:
  -----------
  [AMDGPU] Emit entry function Dwarf CFI (#183152)

Entry functions represent the end of unwinding, as they are the
outer-most frame. This implies they can only have a meaningful
definition for the CFA, which AMDGPU defines using a memory location
description with a literal private address space address. The return
address is set to undefined as a sentinel value to signal the end of
unwinding.

Change-Id: I21580f6a24f4869ba32939c9c6332506032cc654
Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>


  Commit: 593a23887939b55219acae47fcb1cda48ff37319
      https://github.com/llvm/llvm-project/commit/593a23887939b55219acae47fcb1cda48ff37319
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fma.legacy.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sudot4.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sudot8.ll

  Log Message:
  -----------
  [AMDGPU] Diagnose unsupported fma_legacy/sudot4/sudot8 intrinsics on some subtargets (#198464)

Add proper diagnostics for `llvm.amdgcn.fma.legacy`,
`llvm.amdgcn.sudot4` and `llvm.amdgcn.sudot8` on subtargets where they
are unsupported


  Commit: 3ce7b405579d64f8e26e14c6cc02df92117af330
      https://github.com/llvm/llvm-project/commit/3ce7b405579d64f8e26e14c6cc02df92117af330
  Author: Ben Langmuir <blangmuir at apple.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

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

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

Reverts llvm/llvm-project#199126

This caused a small compile time regression.


  Commit: 3212caa942dea9247fffcd96ec2949f0f960731d
      https://github.com/llvm/llvm-project/commit/3212caa942dea9247fffcd96ec2949f0f960731d
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

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

  Log Message:
  -----------
  [bazel] Use `additional_compiler_inputs` to handle include scanning for TargetPassRegistry.inc (#199201)

This use of using `#include` with a macro breaks include scanning, for
example:

* `GET_PASS_REGISTRY` defined here:
https://github.com/llvm/llvm-project/blob/5c853423f4f9e7296b7596b7f3ccade481686bfd/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp#L603
* `GET_PASS_REGISTRY` included here:
https://github.com/llvm/llvm-project/blob/5c853423f4f9e7296b7596b7f3ccade481686bfd/llvm/include/llvm/Passes/TargetPassRegistry.inc#L60

When include scanning is enabled, the `PassRegistry.def` gets omitted
because it the include scanner does not handle this case. Providing it
via `additional_compiler_inputs` ensures it is included even in that
case.


  Commit: 3dd3b6fe758c4ca230e9de624b2586990bd07d74
      https://github.com/llvm/llvm-project/commit/3dd3b6fe758c4ca230e9de624b2586990bd07d74
  Author: Jun Wang <jwang_2024 at outlook.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/docs/AMDGPU/AMDGPUAsmGFX950.rst

  Log Message:
  -----------
  [AMDGPU][docs][NFC] Fix some instruction names in gfx950 doc (#199094)

In the GFX950 documentation, some instructions that should have the
_sdwa suffix were incorrectly given the _dpp suffix.


  Commit: 5157be7bd5c12ac2836bdefb4e9cded6871b065c
      https://github.com/llvm/llvm-project/commit/5157be7bd5c12ac2836bdefb4e9cded6871b065c
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/docs/SandboxIR.md
    M llvm/include/llvm/SandboxIR/Context.h
    M llvm/include/llvm/SandboxIR/Tracker.h
    M llvm/lib/SandboxIR/Tracker.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp

  Log Message:
  -----------
  [SandboxIR][Tracker] Implement accept(/*AcceptAll*/) and revert(/*RevertAll*/) (#197289)

In the context of nested checkpoints the tracker's API was somewhat
inconsistent. Tracker::revert() would revert to the last checkpoint but
accept() would accept all changes.

This patch fixes this, and introduces `accept(bool AcceptAll)` and
`revert(bool RevertAll)`.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    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

  Log Message:
  -----------
  [SLP] Fix FMA regression in FMA-candidate retry

When tryToVectorize is called with AllowFMACandidates=true, falling
through to tryToVectorizeList vectorizes the fmul operands of an
FMA-candidate fadd without accounting for the lost FMA opportunity.
canConvertToFMA requires those fmuls to have one use, so vectorizing
them always breaks FMA formation. The cost model for tryToVectorizeList
omits the fadd from the tree and compares "2 fmuls vs 1 vfmul", missing
the scalar FMA savings entirely.
Block tryToVectorizeList when AllowFMACandidates=true. TryToReduce is
safe because computeReductionCost accounts for FMA in the scalar
baseline via canConvertToFMA on the fadd user.
Fixes a 4.5% regression in SPEC17 imagemagick on AArch64 introduced by

Reviewers: sushgokh, bababuck

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


  Commit: 4ef6ca40f53fe5ef09b940a3d7d9a92a091dd878
      https://github.com/llvm/llvm-project/commit/4ef6ca40f53fe5ef09b940a3d7d9a92a091dd878
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/test/AST/ast-dump-aarch64-mte.c
    M clang/test/CodeGen/arm64-mte.c
    M clang/test/Sema/builtins-arm64-mte.c

  Log Message:
  -----------
  [Clang][AArch64] Fix crash with large arguments to MTE built-ins (#197620)

The second argument to `__builtin_arm_irg()` and `__builtin_arm_gmi()`
is expected to be 64-bit. When a wider type is passed, the compiler
still generates a `zext` instruction, leading to a backend error:

```
> cat test.c
unsigned test(void* a, unsigned __int128 m) {
  return __builtin_arm_gmi(a, m);
}
> clang -target aarch64 -march=armv9+memtag -S test.c
fatal error: error in backend: Cannot select: ... i64,ch = load<... zext from i128>
```

This is fixed by applying the required implicit conversions to the
argument in Sema.


  Commit: f78a233ac89dc0f9f0f26dfe051874013ae6e242
      https://github.com/llvm/llvm-project/commit/f78a233ac89dc0f9f0f26dfe051874013ae6e242
  Author: Scott Linder <scott.linder at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/agpr-copy-reuse-writes.mir
    M llvm/test/CodeGen/AMDGPU/agpr-spill-copy.mir
    M llvm/test/CodeGen/AMDGPU/amdgcn-call-whole-wave.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-fp-nosave.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
    M llvm/test/CodeGen/AMDGPU/av_spill_cross_bb_usage.mir
    M llvm/test/CodeGen/AMDGPU/bug-undef-spilled-agpr.mir
    M llvm/test/CodeGen/AMDGPU/call-args-inreg-bfloat.ll
    M llvm/test/CodeGen/AMDGPU/cc-entry.ll
    M llvm/test/CodeGen/AMDGPU/csr-sgpr-spill-live-ins.mir
    M llvm/test/CodeGen/AMDGPU/debug-frame.ll
    M llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
    M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-mov-b32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-scalar-bit-ops.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-scalar-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32-wave32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir
    M llvm/test/CodeGen/AMDGPU/frame-index.mir
    M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
    M llvm/test/CodeGen/AMDGPU/issue98474-virtregrewriter-live-out-undef-subregisters.mir
    M llvm/test/CodeGen/AMDGPU/lds-barrier-memoperand.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.add.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.and.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmax.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmin.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fsub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.max.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.min.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.or.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.sub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.xor.ll
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
    M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
    M llvm/test/CodeGen/AMDGPU/nofpclass-call.ll
    M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain-preserve.mir
    M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-spill-offset-overflow-gfx950.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-carry-out.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-gfx9.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-vgpr-spill.mir
    M llvm/test/CodeGen/AMDGPU/pei-vgpr-block-spill-csr.mir
    M llvm/test/CodeGen/AMDGPU/preserve-only-inactive-lane.mir
    M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
    M llvm/test/CodeGen/AMDGPU/prologue-epilogue-markers.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.mir
    M llvm/test/CodeGen/AMDGPU/ptr-arg-dbg-value.ll
    M llvm/test/CodeGen/AMDGPU/same-slot-agpr-sgpr.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-vmem-large-frame.mir
    M llvm/test/CodeGen/AMDGPU/si-optimize-vgpr-live-range-dbg-instr.ll
    M llvm/test/CodeGen/AMDGPU/spill-agpr-partially-undef.mir
    M llvm/test/CodeGen/AMDGPU/spill-agpr.mir
    M llvm/test/CodeGen/AMDGPU/spill-reg-tuple-super-reg-use.mir
    M llvm/test/CodeGen/AMDGPU/spill-restore-partial-copy.mir
    M llvm/test/CodeGen/AMDGPU/spill-sgpr-used-for-exec-copy.mir
    M llvm/test/CodeGen/AMDGPU/spill-to-agpr-partial.mir
    M llvm/test/CodeGen/AMDGPU/spill_kill_v16.mir
    M llvm/test/CodeGen/AMDGPU/spillv16.mir
    M llvm/test/CodeGen/AMDGPU/split-arg-dbg-value.ll
    M llvm/test/CodeGen/AMDGPU/stack-realign.ll
    M llvm/test/CodeGen/AMDGPU/strictfp_f16_abi_promote.ll
    M llvm/test/CodeGen/AMDGPU/swdev504645-global-fold.ll
    M llvm/test/CodeGen/AMDGPU/tied-op-for-wwm-scratch-reg-spill-restore.mir
    M llvm/test/CodeGen/AMDGPU/track-spilled-vgpr-liveness.mir
    M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
    M llvm/test/CodeGen/AMDGPU/unfold-masked-merge-scalar-variablemask.ll
    M llvm/test/CodeGen/AMDGPU/use_restore_frame_reg.mir
    M llvm/test/CodeGen/AMDGPU/vector-spill-restore-to-other-vector-type.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-spill.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-functions-pei.mir
    M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
    M llvm/test/DebugInfo/AMDGPU/cfi.ll
    M llvm/test/DebugInfo/AMDGPU/debug-loc-copy.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_generated_funcs.ll.generated.expected
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_generated_funcs.ll.nogenerated.expected

  Log Message:
  -----------
  [AMDGPU] Implement CFI for non-kernel functions (#183153)

This does not implement CSR spills other than those AMDGPU handles
during PEI. The remaining spills are handled in a subsequent patch.

Change-Id: I5e3a9a62cf9189245011a82a129790d813d49373
Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>


  Commit: c052a26f2d8cedf921226f088fca8525cb8c7e5b
      https://github.com/llvm/llvm-project/commit/c052a26f2d8cedf921226f088fca8525cb8c7e5b
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/include/clang/Basic/DarwinSDKInfo.h
    M clang/lib/Basic/DarwinSDKInfo.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/unittests/Basic/DarwinSDKInfoTest.cpp

  Log Message:
  -----------
  Revert "[clang][driver][darwin] Hold onto full triples in Darwin SDKP… (#199756)

…latformInfo (#197791)"

This reverts commit 9c06c5de6a20df13cfe6d9a7022308e96f378955. It broke
downstream builds for compiler-rt builtins.

 Resolves: rdar://177813095


  Commit: a4c8cfdac226b89f82963bb65d64c246723e1ea9
      https://github.com/llvm/llvm-project/commit/a4c8cfdac226b89f82963bb65d64c246723e1ea9
  Author: Jonathan L'Work <113400649+Jonathan03ant at users.noreply.github.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    A llvm/test/CodeGen/AMDGPU/elf-note-null-terminator.ll

  Log Message:
  -----------
  [AMDGPU] Fix ELF note emission to include null terminator (#199720)

The `AMDGPUTargetELFStreamer::EmitNote()` function claims the note name
includes a null terminator (NameSZ = Name.size() + 1) but only emits the
string bytes via `emitBytes(Name)`, relying on alignment padding to
provide the null byte. Works for most situations but breaks with 8-byte
names where padding lands exactly at the boundary.

Explicitly emit null terminator with `S.emitInt8(0)` after
`emitBytes(Name)`.


  Commit: 2c336879888a59e3438529712320ad7ab1d47210
      https://github.com/llvm/llvm-project/commit/2c336879888a59e3438529712320ad7ab1d47210
  Author: carlobertolli <carlo.bertolli at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/extract-vector-elt-binop-build-vector.ll

  Log Message:
  -----------
  [AMDGPU] Add regression test for extract of vector binop scalarization (#198825)

Test that extracting both lanes from a binop of two build_vectors
sharing a variable operand at different lane positions correctly folds
per-lane constants.

Assisted-by: Cursor (Claude)


  Commit: 0eb28e6de2654073efb4920e21b535fe181de041
      https://github.com/llvm/llvm-project/commit/0eb28e6de2654073efb4920e21b535fe181de041
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/fmuladd_width_prop.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/get-vec-element-size.ll

  Log Message:
  -----------
  [SLP] Propagate through instrinsics in BoUpSLP::getVectorElementSize() (#199129)

We propagate through simple binary operations already, some operations
are excluded since it happens to be an intrinsic.

Motivated by case exposed when removing vectorization from pre-LTO, see
https://github.com/llvm/llvm-project/pull/195886#issuecomment-4486422243.


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

  Changed paths:
    A llvm/test/Analysis/LoopAccessAnalysis/clamped-access-pattern.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/clamped-load.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/discarded-interleave-group.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/clamped-load.ll
    A llvm/test/Transforms/LoopVectorize/clamped-load-vf-ranges.ll
    M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
    M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll

  Log Message:
  -----------
  [LV] Add tests with pointers based on URem expressions (NFC). (#199763)

Add tests with loads and stores with pointers based on URem expressions.


  Commit: 0e0127e5b21dce0cf500e24467f1471d479876be
      https://github.com/llvm/llvm-project/commit/0e0127e5b21dce0cf500e24467f1471d479876be
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M lldb/source/ValueObject/ValueObjectVTable.cpp
    M lldb/test/API/functionalities/vtable/TestVTableValue.py

  Log Message:
  -----------
  [lldb] Fix vtable support on arm64e (#199116)

There were 2 small issues.
1. ValueObjectVTableChild was not fixing the addresses it was pulling
from signed pointers. This broke things like `SBValue::GetLoadAddress`
and identifying the function pointer type from debug info.
2. TestVTableValue.py made a lot of assumptions that did not hold on
arm64e. a. GetValueAsUnsigned will return a raw pointer value. Most of
the time, we needed GetValueAsAddress. b. The test was reading pointers
out of memory without fixing them up. c. The summary for a function
pointer on arm64e includes the load address. This isn't true on other
platforms.


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/lcssa-phi-extract-scale.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test iwhtthre vectorization regression, NFC



Reviewers: 

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


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

  Changed paths:
    M libc/config/baremetal/config.json

  Log Message:
  -----------
  Reland "[libc] Enable baremetal float printf using modular format" (#199758)

Reverts llvm/llvm-project#199114

#199118 fixed the issue uncovered in the Fuchsia CI build.


  Commit: a7aceff0b1e552cbc2306e575e9ac649853fda8e
      https://github.com/llvm/llvm-project/commit/a7aceff0b1e552cbc2306e575e9ac649853fda8e
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/docs/SandboxIR.md
    M llvm/include/llvm/SandboxIR/Context.h
    M llvm/include/llvm/SandboxIR/Tracker.h
    M llvm/lib/SandboxIR/Tracker.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp

  Log Message:
  -----------
  Revert "[SandboxIR][Tracker] Implement accept(/*AcceptAll*/) and revert(/*RevertAll*/)" (#199776)

Reverts llvm/llvm-project#197289


  Commit: 27abffa3efe272d725a6c4eceeebfe8c17e0f8e8
      https://github.com/llvm/llvm-project/commit/27abffa3efe272d725a6c4eceeebfe8c17e0f8e8
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M lldb/docs/resources/lldbgdbremote.md
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h
    A lldb/test/API/functionalities/gdb_remote_client/TestUnavailableRegisters.py
    M lldb/tools/debugserver/source/RNBRemote.cpp

  Log Message:
  -----------
  [lldb] New expedited register specfication for unavailable regs (#193894)

When lldb-server/debugserver send a stop packet, they expedite the
vaLues of many of the general purpose registers in the stop packet, so
lldb doesn't need to fetch them separately.

On Darwin systems using an AArch64 M4 or newer SOC with SME, we need to
fetch the streaming vector length (svl) register when in Streaming SVE
Mode to correctly size the registers in lldb. On Darwin systems, when we
are not in SSVE mode, svl is undefined -- it is not included in the
expedited registers. However, lldb will still try to fetch the value, so
we get a register-read packet at every stop on M4 and newer systems,
trying to fetch the value.

This patch adds a new format for the expedited registers. They are
normally a `;` separated series of `{regnum}:{native endian bytes}`.
This allows for `{regnum}:` alone, indicating that the register value
for regnum cannot be fetched at this stop.

It updates debugserver to always add svcr, tpidr2, and svl to the
expedited registers, whether we can fetch them or not.

Most of the changes happen in GDBRemoteRegisterContext. This class
maintains a buffer sized for the register context bytes, and an array of
bool to indicate whether we have fetched the value for a given register
yet or not. If we have fetched the value, we can supply the bytes from
the register context byte array. If it is not yet fetched, we read it.

This PR changes this fetched-or-not bool array to a LazyBool with

eLazyBoolYes meaning we have the bytes for the register value in the
lldb buffer.
eLazyBoolCalculate means we have not yet tried to read the register
value.
eLazyBoolNo means that the register is currently readable.

The meaning of these 3 LazyBool states could be a little confusing as
you read GDBRemoteRegisterContext, so all getting/setting of these is
done through the methods

SetAllRegistersValid()
SetAllRegistersUnfetched()

{Set,Get}RegisterIsValid()
{Set,Get}RegisterIsUnavailable()
{Set,Get}RegisterIsUnfetched()

Whcih I think makes it a little easer to understand. The changes to
GDBRemoteRegisterContext were the trickiest part of this PR, all the
other changes are simple.

Linux et al mostly work on AArch64 systems with SVE + SME, in which case
we have either a vector length or a streaming vector length, at all
times. But the M4 & newer SOCs from Apple don't have any SVE registers
when not in streaming SVE mode, so we have this issue of an extra
register read at all stops, unless in SSVE mode.

rdar://161581129

---------

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


  Commit: e42046a747f597da40f76e1656be919dea946f15
      https://github.com/llvm/llvm-project/commit/e42046a747f597da40f76e1656be919dea946f15
  Author: Nishant Patel <nishant.b.patel at intel.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M mlir/test/Integration/Dialect/XeGPU/WG/load_store_matrix.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Fix pass name in RUN command (#199766)


  Commit: 7e98d1960e989945cfb2ec016b950fbd2bb5d937
      https://github.com/llvm/llvm-project/commit/7e98d1960e989945cfb2ec016b950fbd2bb5d937
  Author: Ehsan Amiri <ehsan.amiri at huawei.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    A llvm/test/Transforms/LoopFusion/different_guards.ll

  Log Message:
  -----------
  [LoopFusion] Do not fuse loops with different guards (#199724)

The testcase that was originally contributed to #193641 exposed a
functional issue in which loop fusion can fuse functions with different
loop guards. There seem to two distinct bugs and each of them alone is
enough to let this happen.

- The condition that checks loop guards are identical, intends to
exclude loops that require peeling. But the condition is not correct and
it allows some loops that do not require peeling to pass.

- The condition that checks two guards are identical implicitly assume
conditions of guard branches are instructions, but this is not
necessarily always correct.

This patch fixes the problem for the loops that do not require peeling.
The issue still exists for loops that require peeling and will be fixed
separately.


  Commit: e9e5d4ee914ac98ecb6fafa9e1f8f4231a9282d3
      https://github.com/llvm/llvm-project/commit/e9e5d4ee914ac98ecb6fafa9e1f8f4231a9282d3
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

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

  Log Message:
  -----------
  clang/AMDGPU: Remove unnecessary fallback to check -march (#199780)

-march is now rewritten to -mcpu.


  Commit: f263446abbdd9f1ef12d60107329ea976e94247e
      https://github.com/llvm/llvm-project/commit/f263446abbdd9f1ef12d60107329ea976e94247e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/test/Driver/amdgpu-validate-sanitize.cl

  Log Message:
  -----------
  clang/AMDGPU: Report all runtimeless sanitizers as available (#199642)


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    M flang/test/Transforms/FIRToMemRef/array-coor-rebox-slice-shape.mlir
    M flang/test/Transforms/FIRToMemRef/array-coor-slice-shift.mlir

  Log Message:
  -----------
  [flang][FIRToMemRef] Get strides from descriptor for some array_coor cases. (#199158)

This is a follow-up on Jean's comment
https://github.com/llvm/llvm-project/pull/198933#discussion_r3279535746

This patch makes use of the descriptor strides when `fir.array_coor`'s
memref is a `fir.box` that is not a fir.embox result.


  Commit: 187dfef80ee9d5cb89efc918a2af407389553779
      https://github.com/llvm/llvm-project/commit/187dfef80ee9d5cb89efc918a2af407389553779
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    A flang/include/flang/Optimizer/Dialect/FIRBoxUtils.h
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/FIRBoxUtils.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Fir/array-coor-canonicalization.fir

  Log Message:
  -----------
  [flang] Enabled pulling of rebox into array_coor. (#199161)

This patch enables pulling slicing `fir.rebox` operations
into `fir.array_coor`. This helps preserve information about
the original rank of the array being accessed.
`FIRToMemRef` and later passes may benefit from this.

Assisted by: Claude


  Commit: bf420f0d18562cd4a3ec7ae65354c62970adb262
      https://github.com/llvm/llvm-project/commit/bf420f0d18562cd4a3ec7ae65354c62970adb262
  Author: Kunal Pathak <kunalspathak.github at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/interleaved-store-noninbounds-gep.ll

  Log Message:
  -----------
  [AArch64] Fix hasNearbyPairedStore to handle non-inbounds GEPs (#199137)

Problem: `hasNearbyPairedStore` uses
`stripAndAccumulateInBoundsConstantOffsets` to decompose store pointers
into (base, offset) pairs and check whether two stores are 16 bytes
apart. This fails when LSR has rewritten pointer arithmetic into
non-inbounds GEPs because the function refuses to look through them. The
two stores then appear to have different base pointers and the check
returns false. When this happens, `lowerInterleavedStore` proceeds to
emit `ST2` for a pattern that would be more profitable as `zip+stp`,
since the load-store optimizer can pair adjacent stores into `STP` but
cannot merge `ST2` with anything. On a bf16-to-fp32 NEON conversion loop
this causes a regression from 11 to 17 instructions per iteration.
Note: Interleaved stores support was added for RISCV in
https://github.com/llvm/llvm-project/pull/115354. Turning this off
produces the desired STP instructions.

https://godbolt.org/z/1afsjPd3e

Fix: Switch to `stripAndAccumulateConstantOffsets` with
`AllowNonInbounds=true`. The function is a bail-out heuristic doing pure
address arithmetic, so the inbounds semantic guarantee is not needed for
correctness.

---------

Co-authored-by: Kunal Pathak <kupathak at fb.com>


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

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

  Log Message:
  -----------
  [libc] Use containers for overlay precommit CIs. (#199294)


  Commit: 577e9a7cc82faf3dae98dba4aea917a6ffaab293
      https://github.com/llvm/llvm-project/commit/577e9a7cc82faf3dae98dba4aea917a6ffaab293
  Author: Sy Brand <sy.brand at fastly.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/test/Preprocessor/wasm-target-features.c
    A lld/test/wasm/stack-pointer-abi.s
    A lld/test/wasm/thread-context-abi-mismatch.s
    A lld/test/wasm/tls-libcall.s
    M lld/wasm/Config.h
    M lld/wasm/Driver.cpp
    M lld/wasm/Options.td
    M lld/wasm/SyntheticSections.cpp
    M lld/wasm/Writer.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
    M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h
    M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
    A llvm/test/CodeGen/WebAssembly/stack-abi.ll
    M llvm/test/CodeGen/WebAssembly/thread_pointer.ll
    M llvm/test/CodeGen/WebAssembly/tls-local-exec.ll
    A llvm/test/DebugInfo/WebAssembly/thread-context-abi.ll

  Log Message:
  -----------
  [WebAssembly] WASIP3 Library Call Thread Context Support (#175800)

The [WebAssembly Component
Model](https://component-model.bytecodealliance.org/) has added support
for [cooperative
multithreading](https://github.com/WebAssembly/component-model/pull/557).
This has been implemented in the [Wasmtime
engine](https://github.com/bytecodealliance/wasmtime/pull/11751) and is
part of the wider project of [WASI preview
3](https://wasi.dev/roadmap#upcoming-wasi-03-releases), which is
currently tracked
[here](https://github.com/orgs/bytecodealliance/projects/16).

These changes require updating the way that `__stack_pointer` and
`__tls_base` work purely for a new `wasm32-wasip3` target; other targets
will not be touched. Specifically, rather than using a Wasm global for
tracking the stack pointer and TLS base, the new
[`context.get/set`](https://github.com/WebAssembly/component-model/blob/main/design/mvp/CanonicalABI.md#-canon-contextget)
component model builtin functions will be used (the intention being that
runtimes will need to aggressively optimize these calls into single
load/stores). For justification on this choice rather than switching out
the global at context-switch boundaries, see [this
comment](https://github.com/WebAssembly/wasi-libc/issues/691#issuecomment-3716405618)
and [this
comment](https://github.com/WebAssembly/wasi-libc/issues/691#issuecomment-3716916730).

This PR adds support for using library calls instead of globals for
holding the stack pointer and TLS base. When used, this thread context
ABI emits calls to `__wasm_{get,set}_{stack_pointer,tls_base}` when
needed. These functions can then be implemented in `libc`. This is
enabled only for the WASIp3 target.

There is a temporary macro define for `__wasm_libcall_thread_context__`
which can be removed once `wasi-libc` has fully migrated to the new ABI
for the WASIp3 target.


  Commit: e918a5ada8a9e693a7f68614bfce698d38f903d3
      https://github.com/llvm/llvm-project/commit/e918a5ada8a9e693a7f68614bfce698d38f903d3
  Author: Matthias Wippich <mfwippich at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/utils/lit/lit/LitConfig.py
    M llvm/utils/lit/lit/ShellEnvironment.py
    M llvm/utils/lit/lit/Test.py
    M llvm/utils/lit/lit/TestRunner.py
    M llvm/utils/lit/lit/TestingConfig.py
    M llvm/utils/lit/lit/display.py
    M llvm/utils/lit/lit/formats/base.py
    M llvm/utils/lit/lit/llvm/config.py
    M llvm/utils/lit/lit/llvm/subst.py
    M llvm/utils/lit/lit/reports.py
    M llvm/utils/lit/lit/run.py

  Log Message:
  -----------
  [lit][NFC] remove new-style class opt-ins (#199784)

In Python 3.0 and later it is no longer necessary to explicitly derive
from `object` to opt into "new-style" classes, they are the default.

Since the current minimum Python version is 3.8, this is no longer
required. This patch removes `object` from the base class lists of all
affected classes in lit.


  Commit: 9eb0d424db2df869428c800e5a5535342d70de31
      https://github.com/llvm/llvm-project/commit/9eb0d424db2df869428c800e5a5535342d70de31
  Author: Matthias Wippich <mfwippich at gmail.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/utils/lit/lit/LitConfig.py
    M llvm/utils/lit/lit/ShUtil.py
    M llvm/utils/lit/lit/TestRunner.py
    M llvm/utils/lit/lit/formats/base.py
    M llvm/utils/lit/lit/formats/googletest.py
    M llvm/utils/lit/lit/formats/shtest.py
    M llvm/utils/lit/lit/util.py
    M llvm/utils/lit/tests/Inputs/check_path.py
    M llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-control-chars.py
    M llvm/utils/lit/tests/Inputs/shtest-not/print_environment.py
    M llvm/utils/lit/tests/Inputs/shtest-timeout/short.py

  Log Message:
  -----------
  [lit][NFC] remove future statements for mandatory features in Python 3 (#199786)

This patch removes future statements from lit for features that are
mandatory in Python 3.0 and later.

Specifically, it removes future statements for
[`absolute_import`](https://docs.python.org/3/library/__future__.html#future__.absolute_import)
and
[`print_function`](https://docs.python.org/3/library/__future__.html#future__.print_function),
since both became mandatory in Python 3.0.


  Commit: 2bd872b03fe16726870a34ee6cb50e9d81947e68
      https://github.com/llvm/llvm-project/commit/2bd872b03fe16726870a34ee6cb50e9d81947e68
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    A llvm/test/Transforms/LoopVectorize/AArch64/alias-mask-uniforms.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/alias-mask.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/expensive-alias-masking.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/alias-mask-force-evl.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
    A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-printing-alias-mask.ll
    A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-alias-mask.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
    A llvm/test/Transforms/LoopVectorize/alias-mask-data-tail-folding-style.ll
    A llvm/test/Transforms/LoopVectorize/alias-mask-needs-freeze.ll
    A llvm/test/Transforms/LoopVectorize/alias-mask-negative-tests.ll
    A llvm/test/Transforms/LoopVectorize/alias-mask-small-index.ll
    A llvm/test/Transforms/LoopVectorize/alias-mask.ll
    M llvm/test/Transforms/LoopVectorize/cast-induction.ll
    M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
    A llvm/test/Transforms/LoopVectorize/remove-redundant-trip-count-scev.ll
    M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll

  Log Message:
  -----------
  [LV] Add support for partial alias masking with tail folding (#182457)

This patch adds basic support for partial alias masking, which allows
entering the vector loop even when there is aliasing within a single
vector iteration. It does this by clamping the VF to the safe distance
between pointers. This allows the runtime VF to be anywhere from 2 to
the "static" VF.

Conceptually, this transform looks like:

```
  // `c` and `b` may alias.
  for (int i = 0; i < n; i++) {
    c[i] = a[i] + b[i];
  }
```

->

```
  svbool_t alias_mask = loop.dependence.war.mask(b, c);
  int num_active = num_active_lanes(mask);
  if (num_active >= 2) {
    for (int i = 0; i < n; i += num_active) {
      // ... vector loop masked with `alias_mask`
    }
  }
  // ... scalar tail
```

This initial patch has a number of limitations:

- The loop must be tail-folded
  * We intend to follow-up with full alias-masking support for loops
    without tail-folding
- The mask and transform is only valid for IC = 1
  * Some recipes may not handle the "ClampedVF" correctly at IC > 1
  * Note: On AArch64, we also only have native alias mask instructions 
    for IC = 1
- Reverse iteration is not supported
  * The mask reversal logic is not correct for the alias mask (or 
    clamped ALM)
- First order recurrences are not supported
  * The `splice.right` is not lowered correctly for clamped VFs
- Reductions are not supported 
  * The final horizontal reduction needs to set lanes past the 
    "ClampedVF" to the identity value
- This style of vectorization is not enabled by default/costed
  * It can be enabled with `-force-partial-aliasing-vectorization`
  * When enabled, alias masking is used instead of the standard diff
    checks (when legal to do so)

This PR supersedes #100579 (closes #100579).


  Commit: e6d8a8f9384b353cc95baccac8c233309e1c3568
      https://github.com/llvm/llvm-project/commit/e6d8a8f9384b353cc95baccac8c233309e1c3568
  Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/unique-internal-linkage-names.cpp

  Log Message:
  -----------
  [Clang] Emit prefix map normalization before generating hashes for the unique linkage names. (#198667)

Use normalized path from the macro prefix map to generate the unique ids
for the internal linkage names. That allows a reproducible hash on any
build system. Regularly the macro prefix map gets normalized in favor of
the target system before the path substitution.


  Commit: e0ef143823ce8f733c50fae675f05d0df0f702e5
      https://github.com/llvm/llvm-project/commit/e0ef143823ce8f733c50fae675f05d0df0f702e5
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M lld/test/wasm/alias.s
    M lld/test/wasm/build-id.test
    M lld/test/wasm/ctor-return-value.s
    M lld/test/wasm/duplicate-global-imports.s
    M lld/test/wasm/export-optional.s
    M lld/test/wasm/externref.s
    M lld/test/wasm/function-imports-first.ll
    M lld/test/wasm/function-imports.s
    M lld/test/wasm/gc-imports.s
    M lld/test/wasm/gc-sections.ll
    M lld/test/wasm/global-base.test
    M lld/test/wasm/globals.s
    M lld/test/wasm/lto/tls.ll
    M lld/test/wasm/map-file.s
    M lld/test/wasm/merge-string-debug.s
    M lld/test/wasm/mutable-global-exports.s
    M lld/test/wasm/name-section-mangling.s
    M lld/test/wasm/signature-mismatch-export.ll
    M lld/test/wasm/signature-mismatch.s
    M lld/test/wasm/stack-first.test
    M lld/test/wasm/stack-pointer-abi.s
    M lld/test/wasm/startstop.ll
    M lld/test/wasm/table-base.s
    M lld/test/wasm/tag-section.ll
    M lld/test/wasm/tls-base-non-shared-memory.s
    M lld/test/wasm/undefined-weak-call.s
    M lld/test/wasm/unresolved-symbols-dynamic.s
    M lld/test/wasm/weak-undefined-pic.s
    M lld/test/wasm/weak-undefined.s
    M lld/wasm/Driver.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Only include __stack_pointer when needed (#199739)


  Commit: 7938535a54b51a4ca84821b7766d68049c9aa895
      https://github.com/llvm/llvm-project/commit/7938535a54b51a4ca84821b7766d68049c9aa895
  Author: Owen Rodley <orodley at google.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/test/CodeGen/cfi-icall-trap-recover-runtime.c
    M clang/test/CodeGen/lto-newpm-pipeline.c
    M clang/test/CodeGenCXX/cfi-vcall-trap-recover-runtime.cpp
    M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
    M lld/test/ELF/lto/devirt_vcall_vis_public.ll
    M lld/test/ELF/lto/devirt_vcall_vis_shared_def.ll
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/include/llvm/Bitcode/BitcodeReader.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/FixedMetadataKinds.def
    M llvm/include/llvm/IR/GlobalValue.h
    M llvm/include/llvm/IR/Module.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/LTO/LTO.h
    A llvm/include/llvm/Transforms/Utils/AssignGUID.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/Globals.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
    M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
    A llvm/lib/Transforms/Utils/AssignGUID.cpp
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    M llvm/lib/Transforms/Utils/CloneModule.cpp
    M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/test/Assembler/index-value-order.ll
    M llvm/test/Bitcode/thinlto-alias.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary.ll
    M llvm/test/CodeGen/X86/fat-lto-section.ll
    M llvm/test/LTO/Resolution/X86/not-prevailing-alias.ll
    M llvm/test/LTO/Resolution/X86/not-prevailing-weak-aliasee.ll
    M llvm/test/Linker/funcimport2.ll
    M llvm/test/Other/new-pm-O0-defaults.ll
    M llvm/test/Other/new-pm-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
    M llvm/test/ThinLTO/AArch64/aarch64_inline.ll
    M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions1.ll
    M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions2.ll
    M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions3.ll
    M llvm/test/ThinLTO/X86/ctor-dtor-alias.ll
    M llvm/test/ThinLTO/X86/ctor-dtor-alias2.ll
    M llvm/test/ThinLTO/X86/deadstrip.ll
    M llvm/test/ThinLTO/X86/devirt_function_alias.ll
    M llvm/test/ThinLTO/X86/devirt_function_alias2.ll
    M llvm/test/ThinLTO/X86/devirt_pure_virtual_base.ll
    M llvm/test/ThinLTO/X86/devirt_vcall_vis_public.ll
    M llvm/test/ThinLTO/X86/distributed_import.ll
    M llvm/test/ThinLTO/X86/funcattrs-prop-exported-internal.ll
    M llvm/test/ThinLTO/X86/funcattrs-prop-unknown.ll
    M llvm/test/ThinLTO/X86/funcattrs-prop-weak.ll
    M llvm/test/ThinLTO/X86/globals-import.ll
    M llvm/test/ThinLTO/X86/hidden-escaped-symbols-alt.ll
    M llvm/test/ThinLTO/X86/hidden-escaped-symbols.ll
    M llvm/test/ThinLTO/X86/import-ro-constant.ll
    M llvm/test/ThinLTO/X86/index-const-prop-alias.ll
    M llvm/test/ThinLTO/X86/index-const-prop.ll
    M llvm/test/ThinLTO/X86/linkonce_resolution_comdat.ll
    M llvm/test/ThinLTO/X86/memprof-dups.ll
    M llvm/test/ThinLTO/X86/memprof_callee_type_mismatch.ll
    M llvm/test/ThinLTO/X86/memprof_imported_internal.ll
    M llvm/test/ThinLTO/X86/memprof_imported_internal2.ll
    M llvm/test/ThinLTO/X86/prevailing_weak_globals_import.ll
    M llvm/test/ThinLTO/X86/visibility-elf.ll
    M llvm/test/ThinLTO/X86/visibility-macho.ll
    M llvm/test/ThinLTO/X86/weak_resolution.ll
    M llvm/test/ThinLTO/X86/windows-vftable.ll
    M llvm/test/ThinLTO/X86/writeonly.ll
    A llvm/test/Transforms/AssignGUID/assign_guid.ll
    M llvm/test/Transforms/EmbedBitcode/embed-wpd.ll
    M llvm/test/Transforms/EmbedBitcode/embed.ll
    M llvm/test/Transforms/FunctionImport/funcimport-debug-retained-nodes.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
    M llvm/test/Transforms/PGOProfile/thinlto_indirect_call_promotion.ll
    M llvm/test/Transforms/PhaseOrdering/speculative-devirt-then-inliner.ll
    M llvm/test/Transforms/SampleProfile/ctxsplit.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-typeid.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/unsplittable.ll
    M llvm/test/Transforms/WholeProgramDevirt/branch-funnel-profile.ll
    M llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll
    M llvm/test/Transforms/WholeProgramDevirt/export-vcp.ll
    M llvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll
    M llvm/test/tools/gold/X86/devirt_vcall_vis_public.ll
    M llvm/test/tools/gold/X86/devirt_vcall_vis_shared_def.ll
    M llvm/test/tools/gold/X86/thinlto_weak_library.ll
    M llvm/test/tools/gold/X86/thinlto_weak_resolution.ll
    M llvm/test/tools/gold/X86/v1.16/devirt_vcall_vis_export_dynamic.ll
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/tools/opt/NewPMDriver.cpp
    M llvm/tools/opt/optdriver.cpp

  Log Message:
  -----------
  Compute GUIDs once and store in metadata (#184065)

This allows us to keep GUIDs consistent across compilation phases which
may change the name or linkage type.

See https://discourse.llvm.org/t/rfc-keep-globalvalue-guids-stable/84801

This is a large change since the addition of metadata breaks many tests.
The test changes are mostly just trivial changes to checks to get them
passing.


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

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/AArch64/lcssa-phi-extract-scale.ll

  Log Message:
  -----------
  [SLP][NFC]Add another test for external phi user, NFC



Reviewers: 

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


  Commit: 7e6f337e1dcf0bfb93e8d084ee3bd57a1cf9ff2d
      https://github.com/llvm/llvm-project/commit/7e6f337e1dcf0bfb93e8d084ee3bd57a1cf9ff2d
  Author: Xiaodong Liu <57342990+XiaodongLoong at users.noreply.github.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-mca.rst
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A510-writeback.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A53-carry-over.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A53-writeback.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-add-sequence.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-all-views.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-in-order-retire.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-readadv.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-store-alias.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-store-noalias.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-out-of-order-retire.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-store-readadv.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-writeback.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A57-writeback.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-forwarding.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-forwarding.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-writeback.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-forwarding.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-writeback.s
    M llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-forwarding.s
    M llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-writeback.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-forwarding.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-writeback.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-forwarding.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-writeback.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-forwarding.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-writeback.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-clear-upper-regs.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-forwarding.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-writeback.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-zero-dependency.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-clear-upper-regs.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-forwarding.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-writeback.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-clear-upper-regs.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-forwarding.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-writeback.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-clear-upper-regs.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-forwarding.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-writeback.s
    M llvm/test/tools/llvm-mca/AArch64/Olympus/clear-upper-regs.s
    M llvm/test/tools/llvm-mca/AArch64/Olympus/forwarding-idioms.s
    M llvm/test/tools/llvm-mca/AArch64/Olympus/writeback-loads-stores.s
    M llvm/test/tools/llvm-mca/AArch64/cortex-a55-carry-over.s
    M llvm/test/tools/llvm-mca/AMDGPU/carried-over.s
    M llvm/test/tools/llvm-mca/AMDGPU/gfx10-add-sequence.s
    M llvm/test/tools/llvm-mca/AMDGPU/gfx10-double.s
    M llvm/test/tools/llvm-mca/AMDGPU/gfx10-trans.s
    M llvm/test/tools/llvm-mca/AMDGPU/gfx11-double.s
    M llvm/test/tools/llvm-mca/AMDGPU/gfx12-permlane16-cycles.s
    M llvm/test/tools/llvm-mca/AMDGPU/gfx12-pseudo-scalar-trans.s
    M llvm/test/tools/llvm-mca/AMDGPU/gfx9-retireooo.s
    M llvm/test/tools/llvm-mca/ARM/cortex-a57-carryover.s
    M llvm/test/tools/llvm-mca/ARM/m55-storefwd.s
    M llvm/test/tools/llvm-mca/ARM/m7-negative-readadvance.s
    M llvm/test/tools/llvm-mca/ARM/memcpy-ldm-stm.s
    M llvm/test/tools/llvm-mca/ARM/vld1-index-update.s
    M llvm/test/tools/llvm-mca/RISCV/Andes45/fpr.s
    M llvm/test/tools/llvm-mca/RISCV/Andes45/gpr.s
    M llvm/test/tools/llvm-mca/RISCV/Andes45/zero-reg.s
    M llvm/test/tools/llvm-mca/RISCV/MIPS/p8700.s
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/div-fdiv.s
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass-c.s
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass.s
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/jump.s
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/sp-bypass.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/different-lmul-instruments.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/different-sew-instruments.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/disable-im.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-at-start.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-in-middle.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-in-region.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-straddles-region.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/multiple-same-lmul-instruments.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/multiple-same-sew-instruments.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/needs-sew-but-only-lmul.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/no-vsetvli-to-start.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-at-start.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-in-middle.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-in-region.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-straddles-region.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetivli-lmul-instrument.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetivli-lmul-sew-instrument.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetvli-lmul-instrument.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetvli-lmul-sew-instrument.s
    M llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR4_5-FPU.s
    M llvm/test/tools/llvm-mca/RISCV/XiangShan/gpr-bypass.s
    M llvm/test/tools/llvm-mca/RISCV/XiangShan/load-to-alu.s
    M llvm/test/tools/llvm-mca/SystemZ/stm-lm.s
    M llvm/test/tools/llvm-mca/X86/AlderlakeP/independent-load-stores.s
    M llvm/test/tools/llvm-mca/X86/AlderlakeP/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/Atom/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/clear-super-register-1.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/clear-super-register-2.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-cmp.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-pcmpeq.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-pcmpgt.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-sbb-1.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-sbb-2.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/int-to-fpu-forwarding-3.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/load-store-throughput.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/load-throughput.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/one-idioms.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-2.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-3.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-4.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-6.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-7.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/read-advance-1.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/read-advance-2.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/read-advance-3.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-1.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-2.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-3.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-4.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-5.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-6.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/store-throughput.s
    M llvm/test/tools/llvm-mca/X86/Barcelona/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/add-sequence.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/clear-super-register-1.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/clear-super-register-2.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/clear-super-register-3.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-cmp.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpeq.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpgt.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-sbb-1.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-sbb-2.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/dependent-pmuld-paddd.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/dot-product.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/hadd-read-after-ld-1.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/hadd-read-after-ld-2.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/int-to-fpu-forwarding-3.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/load-store-alias.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/load-store-throughput.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/load-throughput.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/memcpy-like-test.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/one-idioms.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-2.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-3.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-4.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-6.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/partial-reg-update.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/pipes-fpu.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/pr37790.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/rank.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/read-advance-1.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/read-advance-2.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/read-advance-3.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-1.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-2.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-3.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-4.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-5.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/register-files-1.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/register-files-2.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/register-files-5.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/store-throughput.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/vbroadcast-operand-latency.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/vec-logic-read-after-ld-1.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/vec-logic-read-after-ld-2.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-1.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-2.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/zero-idioms-avx-256.s
    M llvm/test/tools/llvm-mca/X86/BdVer2/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/Broadwell/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/add-sequence.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-1.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-3.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/clear-super-register-1.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/clear-super-register-2.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/cmpxchg-read-advance.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/dependency-breaking-cmp.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/dependency-breaking-pcmpeq.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/dependency-breaking-pcmpgt.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/dependency-breaking-sbb-1.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/dependency-breaking-sbb-2.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/dependent-pmuld-paddd.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/dot-product.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-1.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-2.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/independent-load-stores.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/int-to-fpu-forwarding-3.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/load-store-alias.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/negative-read-advance.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/one-idioms.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-2.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-3.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-4.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-6.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-7.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/pr37790.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/rank.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-1.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-2.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-3.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-1.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-2.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-3.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-4.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-5.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-6.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/register-files-1.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/register-files-2.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/register-files-5.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/rmw-adc-sequence-readadvance.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/rmw-add-sequence-readadvance.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/stmxcsr-ldmxcsr.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/vbroadcast-operand-latency.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-1.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-2.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/xadd.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/xchg.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/zero-idioms-avx-256.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/Generic/avx512-super-registers-1.s
    M llvm/test/tools/llvm-mca/X86/Generic/avx512-super-registers-2.s
    M llvm/test/tools/llvm-mca/X86/Generic/avx512-super-registers-3.s
    M llvm/test/tools/llvm-mca/X86/Generic/xop-super-registers-1.s
    M llvm/test/tools/llvm-mca/X86/Generic/xop-super-registers-2.s
    M llvm/test/tools/llvm-mca/X86/Haswell/independent-load-stores.s
    M llvm/test/tools/llvm-mca/X86/Haswell/mulx-hi-read-advance.s
    M llvm/test/tools/llvm-mca/X86/Haswell/stmxcsr-ldmxcsr.s
    M llvm/test/tools/llvm-mca/X86/Haswell/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/independent-load-stores.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/LunarlakeP/independent-load-stores.s
    M llvm/test/tools/llvm-mca/X86/LunarlakeP/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/SLM/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/SandyBridge/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/SapphireRapids/independent-load-stores.s
    M llvm/test/tools/llvm-mca/X86/SapphireRapids/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/independent-load-stores.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/mulx-hi-read-advance.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/independent-load-stores.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update-2.s
    M llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update-3.s
    M llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update-4.s
    M llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update-6.s
    M llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update-7.s
    M llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update.s
    M llvm/test/tools/llvm-mca/X86/Znver1/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/Znver2/mulx-hi-read-advance.s
    M llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update-2.s
    M llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update-3.s
    M llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update-4.s
    M llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update-6.s
    M llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update-7.s
    M llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update.s
    M llvm/test/tools/llvm-mca/X86/Znver2/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/Znver3/dependency-breaking-gpr.s
    M llvm/test/tools/llvm-mca/X86/Znver3/mulx-hi-read-advance.s
    M llvm/test/tools/llvm-mca/X86/Znver3/one-idioms-avx-xmm.s
    M llvm/test/tools/llvm-mca/X86/Znver3/one-idioms-avx-ymm.s
    M llvm/test/tools/llvm-mca/X86/Znver3/one-idioms-mmx.s
    M llvm/test/tools/llvm-mca/X86/Znver3/one-idioms-sse-xmm.s
    M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-2.s
    M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-3.s
    M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-4.s
    M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-6.s
    M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-7.s
    M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update.s
    M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-avx-xmm.s
    M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-avx-ymm.s
    M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-gpr.s
    M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-mmx.s
    M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-sse-xmm.s
    M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-x87.s
    M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-avx-xmm.s
    M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-avx-ymm.s
    M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-gpr.s
    M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-sse-xmm.s
    M llvm/test/tools/llvm-mca/X86/Znver4/independent-load-stores.s
    M llvm/test/tools/llvm-mca/X86/Znver4/partially-overlapping-group-resources.s
    M llvm/test/tools/llvm-mca/X86/Znver4/zero-idioms.s
    M llvm/test/tools/llvm-mca/X86/bextr-read-after-ld.s
    M llvm/test/tools/llvm-mca/X86/bzhi-read-after-ld.s
    M llvm/test/tools/llvm-mca/X86/fma3-read-after-ld-1.s
    M llvm/test/tools/llvm-mca/X86/fma3-read-after-ld-2.s
    M llvm/test/tools/llvm-mca/X86/read-after-ld-1.s
    M llvm/test/tools/llvm-mca/X86/read-after-ld-2.s
    M llvm/test/tools/llvm-mca/X86/read-after-ld-3.s
    M llvm/test/tools/llvm-mca/X86/sqrt-rsqrt-rcp-memop.s
    M llvm/test/tools/llvm-mca/X86/stack-engine-pop.s
    M llvm/test/tools/llvm-mca/X86/stack-engine-push.s
    M llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-1.s
    M llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-2.s
    M llvm/tools/llvm-mca/Views/TimelineView.cpp
    M llvm/tools/llvm-mca/Views/TimelineView.h

  Log Message:
  -----------
  [llvm-mca] Fix total execution count in Average Wait times (#199500)

Fix the column `0` for the `<total>` row in llvm-mca's `Average Wait times` report. The `total`
row now represents the total dynamic execution count used to normalize the averages, 
instead of the per-instruction iteration count. Update the timeline view docs and autogenerated
test expectations accordingly.

Co-authored-by: liuxiaodong <liuxiaodong at sunmmio.com>


  Commit: 40602b6346cc3e2fda464f31d9e9473c55be94b3
      https://github.com/llvm/llvm-project/commit/40602b6346cc3e2fda464f31d9e9473c55be94b3
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M lld/COFF/Writer.cpp
    M lld/test/COFF/ctors_dtors_priority.s

  Log Message:
  -----------
  [LLD][COFF] Gate second-dot section-name stripping on MinGW (#199625)

The comment in getOutputSectionName has always called the second-dot
stripping "for MinGW" (e.g. .ctors.NNNN), but the code applied it on
every target. This hiddes a split-dwarf bug #199616.

Take an isMinGW gate and skip the stripping when it is false.


  Commit: 1b19eccf1751f99a8a77371428bc2708169c516e
      https://github.com/llvm/llvm-project/commit/1b19eccf1751f99a8a77371428bc2708169c516e
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp

  Log Message:
  -----------
  [BOLT][NFC] Split out function marking from profile parsing

Move out `setHasProfileAvailable` into `markFunctionsWithProfile`.
This also allows extracting per-pre-aggregated type handling in
`parseAggregatedLBREntry` into a switch statement.

Test Plan:
NFC

Processing time change (wall time):
* 10MB pre-aggregated profile:
  - Parsing aggregated branch events: 0.16s -> 0.05s
  - Pre-process profile data (parsing+marking): 0.18s -> 0.16s

* 6GB perf.data file:
  - Parsing branch events: 29.06s -> 28.55s
  - Pre-process profile data (excluding perf script): 29.47s -> 29.13s

Reviewers:
rafaelauler, yota9, maksfb, ayermolo, yozhu, yavtuk, paschalis-mpeis

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


  Commit: 73de4c73dc9b143212848cc0f97abc123cc7893c
      https://github.com/llvm/llvm-project/commit/73de4c73dc9b143212848cc0f97abc123cc7893c
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td

  Log Message:
  -----------
  [NFC][AMDGPU] Improve the predicate uses for WMMAs (#199807)


  Commit: 7259dd668674a2eb26be6cd21452292fe39fcc09
      https://github.com/llvm/llvm-project/commit/7259dd668674a2eb26be6cd21452292fe39fcc09
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

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

  Log Message:
  -----------
  [RISCV][P-ext] Add DefVXSAT argument to tablegen classes. NFC (#199797)

Sink the lets Defs = [VXSAT] into the classs.

This makes the encoding based structure of this file more consistent.


  Commit: 05e1af73ba2d3f8fcf8fca2eca7aaf62d44eb3b6
      https://github.com/llvm/llvm-project/commit/05e1af73ba2d3f8fcf8fca2eca7aaf62d44eb3b6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

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

  Log Message:
  -----------
  [RISCV][P-ext] Remove duplicate hasSideEffects=0, mayLoad=0, mayStore=0. NFC (#199798)

We had a let outside the class and inside.


  Commit: 0d5b7522dc729f04c27d8c9d536321d57b3b3196
      https://github.com/llvm/llvm-project/commit/0d5b7522dc729f04c27d8c9d536321d57b3b3196
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Basic/riscv_vector_common.td
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp

  Log Message:
  -----------
  [RISCV][NFC] Remove SegInstSEW for unused function (#199598)

Since SegInstSEW is only used by segment load/store, no need to keep it
for other builtins.


  Commit: 853d532794be83adc97d51c9ff8c9095ce32631b
      https://github.com/llvm/llvm-project/commit/853d532794be83adc97d51c9ff8c9095ce32631b
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M llvm/test/tools/llvm-symbolizer/wasm-basic.s

  Log Message:
  -----------
  Fix llvm-symbolizer test broken by #199739 (#199801)

I broke this test in #199739. As a result to that change, the start of
the CODE section in the linked WASM file shifted from 0x41 to 0x37 (a
shift of -10 bytes).

I was not aware that `wasm-ld` had testing outside of `lld/test/wasm`.


  Commit: 5a616ce490abe551ffc7a7714c28e90c483f5b39
      https://github.com/llvm/llvm-project/commit/5a616ce490abe551ffc7a7714c28e90c483f5b39
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M libcxx/utils/ci/docker/docker-compose.yml

  Log Message:
  -----------
  [libc++] Update the GCC head version to 17 (#199823)

GCC released a new version, so we should bump the versions installed in
the CI so we can upgrade.


  Commit: 22ba468002d561185371c06f899c8c753edc6750
      https://github.com/llvm/llvm-project/commit/22ba468002d561185371c06f899c8c753edc6750
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Fix non-defaulted union copy/move ctors (#199394)

They are like regular record ctors.


  Commit: 80490b8cfa343692500706f31893ba429fec96b7
      https://github.com/llvm/llvm-project/commit/80490b8cfa343692500706f31893ba429fec96b7
  Author: Iris Shi <0.0 at owo.li>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    A clang/test/Sema/inline-asm-constraint-embedded-null.c

  Log Message:
  -----------
  [clang][diagnostics] Reject embedded NUL characters in inline asm (#196462)

As suggested by @jmorse and @efriedma-quic in #196223.

---------

Co-authored-by: Corentin Jabot <corentinjabot at gmail.com>


  Commit: 3913c828ab911757e8c971817757c2ab51452e45
      https://github.com/llvm/llvm-project/commit/3913c828ab911757e8c971817757c2ab51452e45
  Author: somi <1wosomm1 at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/MC/MCStreamer.cpp
    R llvm/test/MC/AsmParser/cfi-unfinished-frame.s
    M llvm/test/MC/ELF/cfi-scope-errors.s

  Log Message:
  -----------
  [MC] Diagnose unfinished CFI frame from an earlier section (#196775)

Fixes #177852.

The reproducer has two `.cfi_startproc` directives separated by a
`.popsection`. The first is never closed; the second is properly paired
with `.cfi_endproc`. `MCStreamer::finish()` only inspects the last entry
of `DwarfFrameInfos`, so the unfinished earlier frame slips through and
crashes `finishImpl()` when it emits frame data with a null End label.

Use `hasUnfinishedDwarfFrameInfo()` instead, which walks the full
`FrameInfoStack` and catches every unfinished frame.

---------

Co-authored-by: Fangrui Song <i at maskray.me>


  Commit: c85c8af5426eb1affa14388deb78a4731737bf04
      https://github.com/llvm/llvm-project/commit/c85c8af5426eb1affa14388deb78a4731737bf04
  Author: Garvit Gupta <garvgupt at qti.qualcomm.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [compiler-rt][ARM] Add missing SUPERSEDES for optimized FP comparison sources (#199604)

PR #179924 and #179925 added optimized assembly implementations for ARM
double-precision and single-precision FP comparisons (arm/cmpdf2.S,
arm/gedf2.S, arm/unorddf2.S, arm/cmpsf2.S, arm/gesf2.S, arm/unordsf2.S)
but only added SUPERSEDES annotations for the thumb1 variants. The arm
variants were missing these annotations, causing both the generic and
optimized implementations to be included in libclang_rt.builtins.a.

For double-precision, the archive contains:
  - comparedf2.c.obj (pos 28): defines __unorddf2, __aeabi_dcmpun, ...
  - divdc3.c.obj (pos 32): defines __divdc3; refs __aeabi_dcmpun
  - unorddf2.S.obj (pos 126): defines __unorddf2, __aeabi_dcmpun
  - aeabi_dcmp.S.obj (pos 158): defines __aeabi_dcmpeq; refs __eqdf2

When linking divdc3_test.c, the linker loads divdc3.c.obj which
introduces __aeabi_dcmpun as undefined. BFD-like linkers (GNU ld, ELD)
continue scanning forward and resolve __aeabi_dcmpun from unorddf2.S.obj
(pos 126). Later, aeabi_dcmp.S.obj introduces __eqdf2 as undefined,
which is resolved by comparedf2.c.obj (pos 28) on the next pass. Since
both comparedf2.c.obj and unorddf2.S.obj define __unorddf2, the linker
reports a duplicate symbol error.

lld does not encounter this because of the difference in the way it
resolves symbol references. This causes comparedf2.c.obj (pos 28) to be
selected first for __aeabi_dcmpun, making unorddf2.S.obj unnecessary.

The same pattern exists for single-precision where arm/comparesf2.S and
arm/unordsf2.S both define __unordsf2 and __aeabi_fcmpun.

The fix adds SUPERSEDES annotations so that the generic implementations
(comparedf2.c for double-precision and arm/comparesf2.S for single-
precision) are removed from the source list when the optimized assembly
replacements are present. The assembly files together provide all
symbols that the generic implementations define.

The surrounding code was reviewed, and this PR was developed with the
assistance of AI.


  Commit: 18ddec75ba8241bb49e290cbc60c05dca7ab6250
      https://github.com/llvm/llvm-project/commit/18ddec75ba8241bb49e290cbc60c05dca7ab6250
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [lldb] Use private stop for breakpoint-delaying decision (#199639)


  Commit: 532940bdee66bf5f36a70578698aab66f16919af
      https://github.com/llvm/llvm-project/commit/532940bdee66bf5f36a70578698aab66f16919af
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    A llvm/include/llvm/Object/BBAddrMap.def
    M llvm/include/llvm/Object/BBAddrMap.h

  Log Message:
  -----------
  [BBAddrMap] Drive Features and Metadata bits from BBAddrMap.def (#196906)

Move the bit name list of BBAddrMap::Features and BBAddrMap::BBEntry::Metadata
into a new BBAddrMap.def and derive the enum, bitfield, encode(), decode(),
and operator== from it. Adding a new bit now only requires one line in the
.def file.

Also expose BBAddrMap::Features::KnownMask for future use.


  Commit: 4ee7e900f321c78271c87da47f1d7bd4263f3e7c
      https://github.com/llvm/llvm-project/commit/4ee7e900f321c78271c87da47f1d7bd4263f3e7c
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M bolt/test/lit.cfg.py
    M libsycl/test/lit.cfg.py
    M lldb/test/API/lit.cfg.py
    M lldb/test/Shell/lit.cfg.py
    M llvm/utils/lit/lit/LitConfig.py
    M llvm/utils/lit/lit/TestRunner.py
    M llvm/utils/lit/lit/TestingConfig.py
    M llvm/utils/lit/lit/formats/googletest.py
    M llvm/utils/lit/lit/main.py
    M llvm/utils/lit/tests/Inputs/googletest-timeout/lit.cfg
    M llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg

  Log Message:
  -----------
  [lit] Move maxIndividualTestTime from global to test suite config (#198192)

Simplify LitConfig initialization and setter to allow None values.
TestingConfig.maxIndividualTestTime is initialized to 0 (or resolved to
0 if None) strictly during initialization.

This fixes an issue where the aggressive BOLT timeout of 60s (previously
set globally on lit_config) was leaking and affecting libc++ tests. By
moving the timeout configuration from the global lit_config to the
individual test suite config, we ensure that timeouts are isolated and
respect suite-local settings without leaking.

PR Stack:
* ➤ https://github.com/llvm/llvm-project/pull/198192
* https://github.com/llvm/llvm-project/pull/198193

Assisted-by: Gemini


  Commit: 4f54064a6e192eb182ba5e718f1b6d70065a6609
      https://github.com/llvm/llvm-project/commit/4f54064a6e192eb182ba5e718f1b6d70065a6609
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M llvm/include/llvm/IR/MemoryModelRelaxationAnnotations.h
    M llvm/lib/IR/MemoryModelRelaxationAnnotations.cpp

  Log Message:
  -----------
  [IR] Introduce an appendTags() idiom to set MMRA metadata [NFC] (#199621)

This is a simple set-union of new tags and existing tags. This is safer
than directly setting metadata, which can over-write existing MMRAs.

Assisted-By: Claude Opus 4.6

---------

Co-authored-by: Pierre van Houtryve <pierre.vanhoutryve at amd.com>


  Commit: 505a611530cc4508ad815f142f7b727a278f3590
      https://github.com/llvm/llvm-project/commit/505a611530cc4508ad815f142f7b727a278f3590
  Author: NeKon69 <nobodqwe at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M .github/new-issues-labeler.yml

  Log Message:
  -----------
  Auto-label LifetimeSafety issues with `clang:temporal-safety` (#199522)

cc: @usx95


  Commit: a3adb545b6a33044ab634b7a330bab5d4ee76d24
      https://github.com/llvm/llvm-project/commit/a3adb545b6a33044ab634b7a330bab5d4ee76d24
  Author: NeKon69 <nobodqwe at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [LifetimeSafety] Add details for `-Wlifetime-safety-return-stack-addr` diagnostic (#199432)

Most of the diagnostic's wording was taken from `-Wreturn-stack-address`
with exceptions such as:
- We do not special-case `[[clang::musttail]]`
- We do not special-case `CompoundLiteralExpr` as it is mostly a C
thing.

This patch does not add any new tests, it only updates already existing
test warnings to follow the new wording.

Comes as part of completing #186002


  Commit: 6bbbf743ae49736ba438e9dbd14a5bd0f4166382
      https://github.com/llvm/llvm-project/commit/6bbbf743ae49736ba438e9dbd14a5bd0f4166382
  Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLocation.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVReader.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSupport.h
    M llvm/include/llvm/DebugInfo/LogicalView/LVReaderHandler.h
    M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
    A llvm/include/llvm/DebugInfo/LogicalView/Readers/LVIRReader.h
    M llvm/lib/DebugInfo/LogicalView/CMakeLists.txt
    M llvm/lib/DebugInfo/LogicalView/Core/LVElement.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVLocation.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp
    M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
    A llvm/lib/DebugInfo/LogicalView/Readers/LVIRReader.cpp
    M llvm/lib/Transforms/Utils/DebugSSAUpdater.cpp
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-compare-logical-elements.test
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-print-basic-details.test
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-select-logical-elements.test
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/02-ir-logical-lines.test
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/03-ir-incorrect-lexical-scope-typedef.test
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/04-ir-missing-nested-enumerators.test
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/05-ir-incorrect-lexical-scope-variable.test
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/06-ir-full-logical-view.test
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/07-ir-debug-formats.test
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/08-ir-multiple-compile-units.test
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-1.ll
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-2.ll
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-3.ll
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit.ll
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/hello-world-clang.ll
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-43860-clang.ll
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-44884-clang.ll
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-46466-clang.ll
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/test-clang-intrinsics.ll
    A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/test-clang.ll
    M llvm/tools/llvm-debuginfo-analyzer/CMakeLists.txt
    M llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt
    A llvm/unittests/DebugInfo/LogicalView/IRReaderTest.cpp
    M llvm/unittests/DebugInfo/LogicalView/Inputs/README.md
    A llvm/unittests/DebugInfo/LogicalView/Inputs/test-clang.bc
    A llvm/unittests/DebugInfo/LogicalView/Inputs/test-clang.ll

  Log Message:
  -----------
  [llvm-debuginfo-analyzer] Add support for LLVM IR format. (#135440)

llvm-debuginfo-analyzer is a command line tool that processes debug
info contained in a binary file and produces a debug information
format agnostic “Logical View”, which is a high-level semantic
representation of the debug info, independent of the low-level format.

Add support for the LLVM IR format and be able to generate logical
views. Both textual representation (.ll) and bitcode (.bc) formats
are supported.


  Commit: 2b286794010f5549d109b37941a4c3171489c5d8
      https://github.com/llvm/llvm-project/commit/2b286794010f5549d109b37941a4c3171489c5d8
  Author: Kigyosi Alexandru <alexandru.kigyosi at intel.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M mlir/include/mlir/IR/MLIRContext.h
    M mlir/lib/IR/MLIRContext.cpp

  Log Message:
  -----------
  [MLIR] Add a non-const ActionHandler getter to MLIRContext (#199652)

#197230 added a getter for the ActionHandler, but only returns a const
ref with a non-const accessor.
Instead provide both variants: a const accessor returning a const ref
and non-const one returning a mutable ref.


  Commit: 77d3da64d2bbbcd520aede072225d4790e95a84e
      https://github.com/llvm/llvm-project/commit/77d3da64d2bbbcd520aede072225d4790e95a84e
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/builtin-masked.c

  Log Message:
  -----------
  [Clang] Accept gnu vectors in __builtin_masked* (#198248)

There doesn't seem to be a good reason to reject gnu vectors in these
builtins. The error messages for that case are also rather bizzare,
which doesn't help with figuring out what's going wrong.


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

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

  Log Message:
  -----------
  [Bazel] Fixes 532940b (#199874)

This fixes 532940bdee66bf5f36a70578698aab66f16919af.

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


  Commit: 6de9a33debfdcd4dc77f826d515b744d382a8598
      https://github.com/llvm/llvm-project/commit/6de9a33debfdcd4dc77f826d515b744d382a8598
  Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLocation.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVReader.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSupport.h
    M llvm/include/llvm/DebugInfo/LogicalView/LVReaderHandler.h
    M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
    R llvm/include/llvm/DebugInfo/LogicalView/Readers/LVIRReader.h
    M llvm/lib/DebugInfo/LogicalView/CMakeLists.txt
    M llvm/lib/DebugInfo/LogicalView/Core/LVElement.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVLocation.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp
    M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
    R llvm/lib/DebugInfo/LogicalView/Readers/LVIRReader.cpp
    M llvm/lib/Transforms/Utils/DebugSSAUpdater.cpp
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-compare-logical-elements.test
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-print-basic-details.test
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-select-logical-elements.test
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/02-ir-logical-lines.test
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/03-ir-incorrect-lexical-scope-typedef.test
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/04-ir-missing-nested-enumerators.test
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/05-ir-incorrect-lexical-scope-variable.test
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/06-ir-full-logical-view.test
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/07-ir-debug-formats.test
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/08-ir-multiple-compile-units.test
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-1.ll
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-2.ll
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-3.ll
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit.ll
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/hello-world-clang.ll
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-43860-clang.ll
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-44884-clang.ll
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-46466-clang.ll
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/test-clang-intrinsics.ll
    R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/test-clang.ll
    M llvm/tools/llvm-debuginfo-analyzer/CMakeLists.txt
    M llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt
    R llvm/unittests/DebugInfo/LogicalView/IRReaderTest.cpp
    M llvm/unittests/DebugInfo/LogicalView/Inputs/README.md
    R llvm/unittests/DebugInfo/LogicalView/Inputs/test-clang.bc
    R llvm/unittests/DebugInfo/LogicalView/Inputs/test-clang.ll

  Log Message:
  -----------
  Revert "[llvm-debuginfo-analyzer] Add support for LLVM IR format. (#135440)" (#199890)

This reverts commit 6bbbf743ae49736ba438e9dbd14a5bd0f4166382.

There are link issues with some buildbots.


  Commit: a4b1361f33139e7a0a02edee1a1b012740951e01
      https://github.com/llvm/llvm-project/commit/a4b1361f33139e7a0a02edee1a1b012740951e01
  Author: Boyao Wang <wangboyao at bytedance.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll

  Log Message:
  -----------
  [RISCV][CodeGen] Use vzip.vv for e64 interleave shuffles with Zvzip (#199512)

Allow e64 interleave shuffles to use the standard Zvzip `vzip.vv`
lowering when the operand type is legal for Zvzip, just the same as what
XrivosVizip already does.


  Commit: f5bda2b94460d8439ed876d6486774d863ae989a
      https://github.com/llvm/llvm-project/commit/f5bda2b94460d8439ed876d6486774d863ae989a
  Author: NeKon69 <nobodqwe at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/test/Sema/warn-lifetime-safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Change new tests' warnings to new ones  (#199887)

cc: @usx95


  Commit: 66bafd43ff2beb1d727339361df7ad34ea30e97a
      https://github.com/llvm/llvm-project/commit/66bafd43ff2beb1d727339361df7ad34ea30e97a
  Author: Mieszko Dziadowiec <mieszko.dziadowiec at intel.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M mlir/lib/Support/TypeID.cpp

  Log Message:
  -----------
  [MLIR] Improve TypeID anonymous namespace check to handle GCC's __PRETTY_FUNCTION__ format (#199634)

The anonymous namespace detection in
`FallbackTypeIDResolver::registerImplicitTypeID` only checked for
Clang's `(anonymous namespace)` and MSVC's `anonymous-namespace`
formats. GCC produces `{anonymous}` in `__PRETTY_FUNCTION__`, silently
bypassing the check.


  Commit: 99238714741163c9187ca8db6ebe73c4cb3a4400
      https://github.com/llvm/llvm-project/commit/99238714741163c9187ca8db6ebe73c4cb3a4400
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp

  Log Message:
  -----------
  [BOLT][NFC] Split out DataAggregator::parseInput



Test Plan: NFC

Reviewers:
paschalis-mpeis, maksfb, ayermolo, yavtuk, yozhu, rafaelauler, yota9

Reviewed By: yozhu, rafaelauler

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


  Commit: b926cf7da0918686f4bcb4e16f3066aca22ae1e6
      https://github.com/llvm/llvm-project/commit/b926cf7da0918686f4bcb4e16f3066aca22ae1e6
  Author: Davide Grohmann <davide.grohmann at arm.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M mlir/include/mlir/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.h
    M mlir/lib/Conversion/TosaToSPIRVTosa/CMakeLists.txt
    A mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaOps.cpp
    M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaPass.cpp
    A mlir/test/Conversion/TosaToSPIRVTosa/tosa-to-spirv.mlir

  Log Message:
  -----------
  [mlir][tosa][spirv] Lower TOSA elementwise ops to SPIR-V TOSA (#199505)

Add conversion patterns for simple TOSA elementwise operations to the
SPIR-V TOSA dialect.

The lowering covers unary and binary elementwise ops with shared pattern
templates, plus min/max handling for NaN propagation mode.

Add focused conversion tests that check the generated SPIR-V TOSA ops.

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


  Commit: 4c9296d94c95c4b4064a77cd7a61352bfb5130fd
      https://github.com/llvm/llvm-project/commit/4c9296d94c95c4b4064a77cd7a61352bfb5130fd
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M bolt/tools/driver/llvm-bolt.cpp

  Log Message:
  -----------
  [BOLT][NFC] Unify perf data setting

Combine opts::PerfData handling into one place per driver (llvm-bolt and
heatmap).
* Allow using perf data directly after DataAggregator/DataReader
  unification in #195986.
* Drop redundant perf data checks in perf2boltMode done by setProfile.

Test Plan: NFC

Reviewers:
ritter-x2a, david-salinas, grypp, Pierre-vh, dcaballe, aartbik, adam-smnk, fabianmcg, yota9, JDevlieghere, banach-space, xlauko, nikic, #reviewers-libcxx, rafaelauler, Moxinilian, nicolasvasilache, yozhu, ayermolo, paschalis-mpeis, lamb-j, andykaylor, #reviewers-libc, vangthao95, bcardosolopes, yavtuk, aaronmondal, rupprecht, matthias-springer, keith, maksfb, lanza, Jianhui-Li, charithaintc

Reviewed By: yozhu, rafaelauler

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


  Commit: 3e0c818e6f80213b737a5e18318de794a3914f71
      https://github.com/llvm/llvm-project/commit/3e0c818e6f80213b737a5e18318de794a3914f71
  Author: Rana Pratap Reddy <109514914+ranapratap55 at users.noreply.github.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-image.hip

  Log Message:
  -----------
  [CIR][AMDGPU] Adds lowering for amdgcn image load/store builtins (#198184)

Support for lowering of amdgcn_image_load/store for AMDGPU builtins to
clangIR.
Followed similar lowering from clang->llvmir:
`clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp`.

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


  Commit: d63f99627b9b08d71595b1879be74a8225873e34
      https://github.com/llvm/llvm-project/commit/d63f99627b9b08d71595b1879be74a8225873e34
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    A bolt/test/merge-fdata-no-lbr-event-multi.test
    A bolt/test/merge-fdata-no-lbr-event.test
    M bolt/tools/merge-fdata/merge-fdata.cpp

  Log Message:
  -----------
  [BOLT][merge-fdata] Preserve event names



Test Plan: added merge-fdata-no-lbr-event*.test

Reviewers:
maksfb, paschalis-mpeis, yozhu, yota9, yavtuk, rafaelauler, ayermolo

Reviewed By: rafaelauler

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


  Commit: 698d44bf9ff61cd8c924bcf406c29c9988d5ea5e
      https://github.com/llvm/llvm-project/commit/698d44bf9ff61cd8c924bcf406c29c9988d5ea5e
  Author: Hui <hui.xie1990 at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGen/builtin-clear-padding-codegen.c
    A clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp
    A clang/test/Sema/builtin-clear-padding.c
    A clang/test/SemaCXX/builtin-clear-padding.cpp
    A libcxx/test/libcxx/atomics/builtin_clear_padding.pass.cpp

  Log Message:
  -----------
  [clang] Add builtin to clear padding bytes (prework for P0528R3) (#75371)

Add builtin to clear padding bytes. This is the pre-work to implement
`std::atomic::compare_exchange_[weak/strong]` that ignores padding bits.
PR draft here: https://github.com/llvm/llvm-project/pull/76180

This PR picked up this patch from 3 years ago
https://reviews.llvm.org/D87974

The above patch no longer works as things changed quite a lot. I've made
some changes on top of the above patch:


it handles:
- struct
- builtin types with paddings (like `long double` and types with
`__attribute__((ext_vector_type(N)))`
- _Complex long double
- constant array
- union
- bit field
- types with virtual functions
- types with virtual bases

---------

Co-authored-by: zoecarver <z.zoelec2 at gmail.com>


  Commit: c94e5f327f47821e29f21b39ef1dc511c91341d9
      https://github.com/llvm/llvm-project/commit/c94e5f327f47821e29f21b39ef1dc511c91341d9
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  AMDGPU/GlobalISel: Move executeInWaterfallLoop call from lower (#199701)

WFI is an argument to applyMappingSrc and lower,
move executeInWaterfallLoop after these two return.
Also set insert point in executeInWaterfallLoop to
avoid need to set insert point before calling it.


  Commit: 99e6632cf619e4654443d2f58e9ffe6015a34314
      https://github.com/llvm/llvm-project/commit/99e6632cf619e4654443d2f58e9ffe6015a34314
  Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon/intrinsics.c
    M clang/test/CodeGen/AArch64/poly64.c

  Log Message:
  -----------
  [CIR][AArch64] Upstream vector-shift-right-and-insert NEON builtins (#196776)

Related to https://github.com/llvm/llvm-project/issues/185382

CIR lowering for vector-shift-right-and-insert intrinsics
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#vector-shift-right-and-insert)

Port tests from clang/test/CodeGen/AArch64/neon_intrinsics.c and
clang/test/CodeGen/AArch64/poly64.c to
clang/test/CodeGen/AArch64/neon/intrinsics.c


  Commit: 4def779282d9c2a179fcfeb0079928f1bb2ce409
      https://github.com/llvm/llvm-project/commit/4def779282d9c2a179fcfeb0079928f1bb2ce409
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M libcxx/test/libcxx-03/vendor/apple/disable-availability.sh.cpp
    M libcxx/test/libcxx/utilities/meta/is_within_lifetime.verify.cpp
    M libcxx/test/selftest/modules/std-and-std.compat-module.sh.cpp
    M libcxx/test/selftest/modules/std-module.sh.cpp
    M libcxx/test/selftest/modules/std.compat-module.sh.cpp
    M libcxx/test/std/modules/std.compat.pass.cpp
    M libcxx/test/std/modules/std.pass.cpp
    M libcxx/test/std/numerics/c.math/signbit.pass.cpp
    M libcxx/test/std/utilities/meta/meta.const.eval/is_within_lifetime.compile.pass.cpp
    M libcxx/test/std/utilities/meta/meta.rel/is_virtual_base_of.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.verify.cpp

  Log Message:
  -----------
  [libc++][NFC] Remove lit annotations for older AppleClang versions (#199817)

We don't support anything older than apple-clang-21, so we can remove
those annotations.


  Commit: 3060f65b84f2b16f2f53367a03d2542a30827ac0
      https://github.com/llvm/llvm-project/commit/3060f65b84f2b16f2f53367a03d2542a30827ac0
  Author: Shanzhi Chen <chenshanzhi at huawei.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll

  Log Message:
  -----------
  Revert "[RISCV][CodeGen] Use vzip.vv for e64 interleave shuffles with Zvzip" (#199899)

Reverts llvm/llvm-project#199512

LLVM Buildbot has detected a build error for this PR.


  Commit: 0d6aac78ad967cfb0dc69de26cd7e159605fe0de
      https://github.com/llvm/llvm-project/commit/0d6aac78ad967cfb0dc69de26cd7e159605fe0de
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__concepts/referenceable.h
    M libcxx/include/__config
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/include/__iterator/concepts.h
    M libcxx/include/__iterator/iter_move.h
    M libcxx/include/__iterator/iterator_traits.h
    M libcxx/include/__ranges/adjacent_transform_view.h
    M libcxx/include/__ranges/transform_view.h
    M libcxx/include/__ranges/zip_transform_view.h
    M libcxx/include/__type_traits/add_pointer.h
    R libcxx/include/__type_traits/is_referenceable.h
    M libcxx/include/__type_traits/remove_pointer.h
    M libcxx/include/module.modulemap.in
    R libcxx/test/libcxx/utilities/meta/is_referenceable.compile.pass.cpp
    M libcxx/test/std/utilities/meta/meta.trans/objc_support.compile.pass.mm

  Log Message:
  -----------
  [libc++] Remove workarounds for __{add,remove}_pointer on AppleClang (#199821)

We've updated the supported AppleClang version, so we can drop those
workarounds now.

This also removes `__is_referenceable_v`, since it's no longer used.


  Commit: 090df8f0c30699e65ebd29e347b5fbb26559e2f5
      https://github.com/llvm/llvm-project/commit/090df8f0c30699e65ebd29e347b5fbb26559e2f5
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M bolt/test/lit.cfg.py
    M libsycl/test/lit.cfg.py
    M lldb/test/API/lit.cfg.py
    M lldb/test/Shell/lit.cfg.py
    M llvm/utils/lit/lit/LitConfig.py
    M llvm/utils/lit/lit/TestRunner.py
    M llvm/utils/lit/lit/TestingConfig.py
    M llvm/utils/lit/lit/formats/googletest.py
    M llvm/utils/lit/lit/main.py
    M llvm/utils/lit/tests/Inputs/googletest-timeout/lit.cfg
    M llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg

  Log Message:
  -----------
  Revert "[lit] Move maxIndividualTestTime from global to test suite config" (#199886)

Reverts llvm/llvm-project#198192

To fix  https://lab.llvm.org/buildbot/#/builders/195/builds/25357


  Commit: 3c16e92da529447a07625cfd0a702172dabed32c
      https://github.com/llvm/llvm-project/commit/3c16e92da529447a07625cfd0a702172dabed32c
  Author: Shanzhi Chen <chenshanzhi at huawei.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    A llvm/test/Transforms/EarlyCSE/AArch64/intrinsics-1xN.ll

  Log Message:
  -----------
  [AArch64][TTI][EarlyCSE] Add support for ld1xN and st1xN intrinsics (#198765)

Handle ld1x2, ld1x3, ld1x4, st1x2, st1x3, st1x4 in:
- AArch64TTIImpl::getTgtMemIntrinsic
- AArch64TTIImpl::getOrCreateResultFromMemIntrinsic

This enables EarlyCSE to optimize these NEON load/store intrinsics.

To test the changes, a new testcase (intrinsics-1xN.ll) derived from
llvm/test/Transforms/EarlyCSE/AArch64/intrinsics.ll is added.


  Commit: 2a574828c62f344859188796fc615ef44dd16327
      https://github.com/llvm/llvm-project/commit/2a574828c62f344859188796fc615ef44dd16327
  Author: David Green <david.green at arm.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp

  Log Message:
  -----------
  [SelectionDAGBuilder] Replace asserts inside LLVM_DEBUG (#199748)

These assert were inside an LLVM_DEBUG macro, meaning they were very
rarely if ever tested. The second "LowerFormalArguments emitted a value
with the wrong type!" assert would fire in a number of tests so has been
removed. The other was replaced with an all_of assert.

Noticed when looking at #198107 / #199412.


  Commit: b63787a1c5d74b437e5cbc6dfc75d6b0cd9998cc
      https://github.com/llvm/llvm-project/commit/b63787a1c5d74b437e5cbc6dfc75d6b0cd9998cc
  Author: stefankoncarevic <skoncare at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    A mlir/test/Conversion/AMDGPUToROCDL/permlane-var.mlir
    M mlir/test/Dialect/LLVMIR/rocdl.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [MLIR][AMDGPU] Add permlane16.var and permlanex16.var intrinsic ops (#199501)

## Summary

Add ROCDL and AMDGPU dialect support for the GFX12+ variable-selector
permlane intrinsics (`v_permlane16_var_b32` / `v_permlanex16_var_b32`).

Unlike the existing fixed-selector `permlane16`/`permlanex16` ops where
source-lane indices come from SGPR immediates, the "var" variants take
per-lane source-lane indices from a VGPR, enabling arbitrary per-lane
intra-row and cross-row permutations within a wave32 subgroup.

### ROCDL dialect
- `ROCDL_Permlane16VarOp` → `llvm.amdgcn.permlane16.var`
- `ROCDL_PermlaneX16VarOp` → `llvm.amdgcn.permlanex16.var`
- Both take `(old, src0, src1, fi, boundControl)` with `fi` and
`boundControl` as immediate i1 attrs

### AMDGPU dialect
- `AMDGPU_PermlaneVarOp` — high-level wrapper supporting arbitrary
int/float/vector types
- `cross` attribute selects between intra-row (`permlane16.var`) and
cross-row (`permlanex16.var`)
- Lowering uses `LLVM::decomposeValue`/`composeValue` to automatically
repack types (f16, i8, vectors, etc.) into i32 register slots

### Tests
- ROCDL roundtrip (parser/printer) tests
- ROCDL → LLVM IR translation tests
- AMDGPU → ROCDL lowering tests covering i32, f32, f16, vector<4xf16>,
cross variants, and fi/bound_ctrl attributes


  Commit: c71f9f0aec3ad789b8a6510a98d3882b3e776a40
      https://github.com/llvm/llvm-project/commit/c71f9f0aec3ad789b8a6510a98d3882b3e776a40
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/alias-mask.ll

  Log Message:
  -----------
  [LV] Handle loop.dependence.mask in verifyLastActiveLaneRecipe() (#199897)

This verification can be called after the alias-mask has been expanded
so needs to recognize loop.dependence.mask intrinsics.


  Commit: e6fe3f4f55ef7219eac36464724f8ff5c0bc4159
      https://github.com/llvm/llvm-project/commit/e6fe3f4f55ef7219eac36464724f8ff5c0bc4159
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M lldb/test/Shell/Commands/command-dil-diagnostics.test
    M lldb/test/Shell/Commands/command-module-hook-fire.test
    M lldb/test/Shell/Commands/process-attach-dummy.test
    M lldb/test/Shell/ObjectFile/MachO/section-overflow-binary.test
    M lldb/unittests/DAP/Handler/DisconnectTest.cpp

  Log Message:
  -----------
  [lldb][test] Require Python for a few more tests (#199913)


  Commit: 2245dd779f8c9815113ae038df61441466b9774e
      https://github.com/llvm/llvm-project/commit/2245dd779f8c9815113ae038df61441466b9774e
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
    M clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp

  Log Message:
  -----------
  [clangd] Prefer .hpp files over .h with header source switch (#198152)

Previously, The "Switch Between Source/Header" action picked `.h` over
`.hpp` when both files existed next to a `.cpp` file, because `.h` is
listed first in the header-extension list.

This patch reorders `HeaderExtensions` and `SourceExtensions` so the
`C++`-flavored extensions come before `.h` and `.c`. `C++`-flavor of
file is preffered since (at least in my opinion) more people using
`clangd` for `C++` than `C` with `.hpp` ext so switching from `.cpp`
should go into `.hpp`, not `.h`.

This brings an edje case that when swithing from `.c` it will go into
`.hpp` instead of `.h`, but I think this situation is more rare than
having `.cpp` with `.hpp` and `.h` combination since `.h` headers can be
used as `extern "C"` wrapper of cpp library.


  Commit: 61341994bb456eaf286154f8f241d0d6723df8ea
      https://github.com/llvm/llvm-project/commit/61341994bb456eaf286154f8f241d0d6723df8ea
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/lcssa-phi-inner-loop-scale.ll

  Log Message:
  -----------
  [SLP][NFC]Add some more tests with phi external uses, NFC



Reviewers: 

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


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll

  Log Message:
  -----------
  [VPlan] Construct VPlan1 once, share across buildVPlans calls. (#197276)

Extract the VF-independent VPlan1 setup pipeline (header phis,
simplification, early-exit handling, middle check, loop regions, tail
folding, mask introduction) into a new helper tryToBuildVPlan1().

Construct the initial Vlan1 once, and pass to repeated buildVPlans
calls.

Note that this means we need to move collectInLoopReductions up. We not
may construct VPlan1 on code paths where we did not before, because we
failed UserVF validation/selection, but I think that should be fine as
this makes the overall code simpler and the UserVF code paths are for
testing.

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


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-fp-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-fp.ll
    M llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
    M llvm/test/Transforms/SLPVectorizer/X86/revec-non-power-2-to-power-2-large-vect.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scalarize-ctlz.ll
    M llvm/test/Transforms/SLPVectorizer/X86/select-copyable-cmp-poison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
    M llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll

  Log Message:
  -----------
  [SLP] Improve InsertElement scalarization cost modeling

When costing InsertElement tree entries, pass getScalarizationOverhead the
per-lane insert operands via AdjustedVL, set ForPoisonSrc from whether the
base vector is entirely undef, and supply a VectorInstrContext hint derived
from the demanded insert instructions. Move the scalarization cost adjustment
to after InMask is computed so ForPoisonSrc reflects the actual base vector
state.

Reviewers: bababuck, RKSimon, hiraditya

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


  Commit: ed11d7a52a505ff53523c2c635f114d865273f24
      https://github.com/llvm/llvm-project/commit/ed11d7a52a505ff53523c2c635f114d865273f24
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/arm/extendsfdf2.S
    A compiler-rt/lib/builtins/arm/truncdfsf2.S
    A compiler-rt/test/builtins/Unit/extendsfdf2new_test.c
    A compiler-rt/test/builtins/Unit/truncdfsf2new_test.c

  Log Message:
  -----------
  [compiler-rt][ARM] Optimized FP double <-> single conversion (#179926)

This commit provides assembly versions of the conversions both ways
between double and float.


  Commit: 89f024609b13bcbda6ce7b58966fc4fbbca3da70
      https://github.com/llvm/llvm-project/commit/89f024609b13bcbda6ce7b58966fc4fbbca3da70
  Author: Boyao Wang <wangboyao at bytedance.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll

  Log Message:
  -----------
  [RISCV][CodeGen] Use vzip.vv for e64 interleave shuffles with Zvzip (#199923)

Allow e64 interleave shuffles to use the standard Zvzip `vzip.vv`
lowering when the operand type is legal for Zvzip, just the same as what
XrivosVizip already does.


  Commit: cef3e0f1280d9cf368caa94b895b61d73c588619
      https://github.com/llvm/llvm-project/commit/cef3e0f1280d9cf368caa94b895b61d73c588619
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp

  Log Message:
  -----------
  [libc++][C++03] Fix array/size_and_alignment.compile.pass.cpp (#198822)


  Commit: c09041a33a8ac60025538e7ca36b055cadb0d6e1
      https://github.com/llvm/llvm-project/commit/c09041a33a8ac60025538e7ca36b055cadb0d6e1
  Author: Matt Davis <mattd at nvidia.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/docs/SourceLevelDebugging.rst
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/BinaryFormat/Dwarf.def
    M llvm/include/llvm/BinaryFormat/Dwarf.h
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/BinaryFormat/Dwarf.cpp
    M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Assembler/dicompileunit.ll
    A llvm/test/Assembler/invalid-dicompileunit-dialect.ll
    A llvm/test/Bitcode/dicompileunit-dialect.ll
    M llvm/test/Bitcode/upgrade-DICompileUnit-no-versioned-language.test
    M llvm/unittests/IR/MetadataTest.cpp
    M llvm/unittests/IR/VerifierTest.cpp

  Log Message:
  -----------
  [DebugInfo] Introduce DW_AT_LLVM_language_dialect (#194898)

This PR introduces an LLVM vendor DWARF attribute on compile units that
carries an optional target-specific language dialect enumerator,
distinct from DW_LANG_*. The intent of this addition is to allow a DWARF
consumer to differentiate the source programming language from the
programming model (e.g., CUDA/SIMT, Tile, etc.). This concept could also
be used to differentiate OpenMP, or other parallel models, from host
language.

As older languages adopt newer programming models, there's no need to
introduce a new language enumerator to encode that representation;
rather, the model can be encoded as a dialect and treated as a
refinement to the source language being compiled. For ease of
extensibility, we've decided to represent the value of this new dialect
attribute as a string.

Code/comments/description were developed with LLM assistance.

---------

Co-authored-by: Cursor <cursoragent at cursor.com>


  Commit: ef1b6d232216d3c1c8a5742ed1ef926cdd22be39
      https://github.com/llvm/llvm-project/commit/ef1b6d232216d3c1c8a5742ed1ef926cdd22be39
  Author: Iñaki V Arrechea <inakiarrechea at google.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
    M llvm/include/llvm/IR/FunctionProperties.def
    M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    A llvm/test/Analysis/FunctionPropertiesAnalysis/func-properties-analysis.ll
    A llvm/test/Analysis/FunctionPropertiesAnalysis/pipeline.ll
    R llvm/test/Analysis/FunctionPropertiesAnalysis/properties-stats.ll

  Log Message:
  -----------
  Add Pre-Optimization FunctionPropertiesStatistics Pass - All Properties (#199293)

Adding a PreOptimization pass for function properties that provides the
statistics preoptimization without leading to timeouts (also thanks to
https://github.com/llvm/llvm-project/pull/198940 and internal changes on the faulty target)

First iteration led to timeouts so it got reverted
https://github.com/llvm/llvm-project/pull/188837
(UPDATE) Through a flame graph proved that changes in
https://github.com/llvm/llvm-project/pull/198940 , mainly the change
inside the loop, was the one responsible for the timeout. Flame graph spent a majority of the time on updateForBB, and it's the only part there could be a blocker. Furthermore, target was fixed internally.

Previous iteration tried to get only some of the statistics, but managed
to prove locally that it's not necessary to distinguish between them
https://github.com/llvm/llvm-project/pull/199073 since the changes mentioned previously were good enough


  Commit: 7de3f46cf771180a4b83eacf3d2218f175f23166
      https://github.com/llvm/llvm-project/commit/7de3f46cf771180a4b83eacf3d2218f175f23166
  Author: Iris Shi <0.0 at owo.li>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstSimplify/call.ll

  Log Message:
  -----------
  [InstSimplify] Fold fshl/fshr of complementary shifts to identity (#196887)


  Commit: f0ae26c925ef85dd1e6f5217afcdb620641e8db5
      https://github.com/llvm/llvm-project/commit/f0ae26c925ef85dd1e6f5217afcdb620641e8db5
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  workflows/issue-release-workflow: Fix bug when specifying multiple commits (#199973)

All commits after the first one were being dropped in comments like
/cherry-pick <commit> <commit> ...

This was introduced by: 21df17aaaec2dd9dafd641c5dbfd96446c27921b


  Commit: 78f5f7717a2e058c4d685feb3edb7d991efacbc2
      https://github.com/llvm/llvm-project/commit/78f5f7717a2e058c4d685feb3edb7d991efacbc2
  Author: Amy Kwan <amy.kwan1 at ibm.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    A llvm/test/CodeGen/PowerPC/ppc-i64-to-fp.ll

  Log Message:
  -----------
  [PowerPC] Drop invalid range metadata when lowering i64 load to fp in INT_TO_FP (#198705)

When lowering an i64 load in LowerINT_TO_FP, we were forwarding the
original !range metadata to a new f64 load. This is invalid because the
metadata no longer matches the value type/semantics, and can trigger
assertions when lowering i64 to fp (double or float) conversions.

This patch fixes this by passing a nullptr for the Ranges operand when
calling getLoad() and adds extra test cases to cover signed/unsigned i64
to f32/f64 conversions and to ensure they do not assert when the !range
metadata is present.

The assertion this patch attempts to fix is:
```
Assertion failed: (!MMO->getRanges() || (mdconst::extract<ConstantInt>(MMO->getRanges()->getOperand(0)) ->getBitWidth() == MemVT.getScalarSizeInBits() && MemVT.isInteger())) && "Range metadata and load type must match!"
```
This assert was originally seen when building Rust on AIX.


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

  Changed paths:
    M .github/workflows/release-binaries-all.yml

  Log Message:
  -----------
  workflows/release-binaries-all: Validate input and remove template expansion (#199427)

https://github.com/llvm/llvm-project/security/code-scanning/1695


  Commit: 81c523c71c92bea4c5548b5f84288acd0f05db42
      https://github.com/llvm/llvm-project/commit/81c523c71c92bea4c5548b5f84288acd0f05db42
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/docs/ScalableStaticAnalysisFramework/developer-docs/ForceLinkerHeaders.rst
    M clang/docs/ScalableStaticAnalysisFramework/developer-docs/HowToExtend.rst
    A clang/include/clang/ScalableStaticAnalysisFramework/BuiltinAnchorSources.def
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.h
    M clang/include/clang/ScalableStaticAnalysisFramework/SSAFBuiltinForceLinker.h
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphJSONFormat.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowFormat.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/FancyAnalysisData.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor1.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor2.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/SSAFBuiltinTestForceLinker.h
    R clang/unittests/ScalableStaticAnalysisFramework/SSAFTestForceLinker.h
    M clang/unittests/ScalableStaticAnalysisFramework/TestFixture.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp

  Log Message:
  -----------
  Reapply "[clang][ssaf][NFC] Rework how the Force linker anchors are defined and used" (#194693)

This reverts commit 582958c4337f539e650096c0257a322315298e1a.

Drop "const" from these anchor variables - like they are in clang-tidy

Turns out, MSVC likely doesn't conform with the C++ standard and makes
`const volatile` global variables have *internal* linkage - while they
should have *external* linkage.

https://eel.is/c++draft/basic.link#3.2
```
(3) The name of an entity that belongs to a namespace scope has internal linkage if it is the name of
(3.1) a variable, variable template, function, or function template that is explicitly declared static; or
(3.2) a non-template variable of non-volatile const-qualified type, unless
(3.2.1) it is declared in the purview of a module interface unit (outside the private-module-fragment, if any) or module partition, or
(3.2.2) it is explicitly declared extern, or
(3.2.3) it is inline, or
(3.2.4) it was previously declared and the prior declaration did not have internal linkage; or
```

Consequently, `const volatile` globals should NOT have *internal*
linkage, because `volatile` variables are exempt by (3.2).


  Commit: 58156c21585ab05d7810666070020919342757bf
      https://github.com/llvm/llvm-project/commit/58156c21585ab05d7810666070020919342757bf
  Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
    M lldb/unittests/DAP/ProtocolTypesTest.cpp

  Log Message:
  -----------
  [lldb-dap] Fix typo in StepInTarget serialization (#199907)

I fixed small typo and added test for that.


  Commit: f56774213bf4da41882a468ef8b9f4b44a52ec1d
      https://github.com/llvm/llvm-project/commit/f56774213bf4da41882a468ef8b9f4b44a52ec1d
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/DeclCXX.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
    M clang/test/Modules/cxx-templates.cpp

  Log Message:
  -----------
  [clang] fix finding class template instantiation pattern for member specializations (#199979)

Stop treating the member which a member specialization specializes as
the pattern of the former.

Split off from https://github.com/llvm/llvm-project/pull/199528


  Commit: 7664fc742fa6402e7b79645e87c83c6681ab0ac9
      https://github.com/llvm/llvm-project/commit/7664fc742fa6402e7b79645e87c83c6681ab0ac9
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M offload/liboffload/CMakeLists.txt
    M offload/libomptarget/CMakeLists.txt

  Log Message:
  -----------
  [Offload] Fix missing SONAME version on offload libraries (#199975)


  Commit: f55acff22c4185418e2057a90c22826d3e947f73
      https://github.com/llvm/llvm-project/commit/f55acff22c4185418e2057a90c22826d3e947f73
  Author: amachronic <amachronic at protonmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M lld/ELF/Writer.cpp
    A lld/test/ELF/linkerscript/overlap-nobits.s

  Log Message:
  -----------
  [lld][ELF] Exclude SHT_NOBITS sections from LMA overlap checks (#196423)

In embedded applications it's sometimes useful to load a section at the
same virtual address as the .bss section. For example, one possible use
case is for temporary code/data that is only needed for a short time
when the program is starting up:

    REGIONS {
        RAM  : ORIGIN = 0x100000, LENGTH = 1M
        INIT : ORIGIN = 0x200000, LENGTH = 1M
    }

    .text { *(.text); } > RAM
    .bss (NOLOAD) : { *(.bss); } > RAM
    .init : AT(LOADADDR(.bss)) { *(.init); } > INIT

The .init section gets placed in the file immediately after the .text
section. At startup the .init section contents are copied to the INIT
region before zeroing .bss. Once the .init section is no longer needed
its memory can be reused, eg. as heap memory.

Currently, lld does not support this and prints an error because the
LMAs of .bss and .init overlap. There are two workarounds:

1. Use --no-check-sections to disable all overlap checks, but this also
disables VMA and file offset checks, which might not be desired.
2. Assign a fake LMA to the .bss section, which doesn't overlap with the
LMA of any other section. However, this is not very intuitive and
affects the generated program headers (because a second Phdr is needed
now that .bss has a unique p_paddr), which might not be acceptable.

These ugly workarounds can be avoided by ignoring LMA overlaps involving
SHT_NOBITS sections. This is also what binutils does, which is why the
example above works under GNU ld.


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi2.ll

  Log Message:
  -----------
  [X86] vector-shuffle-combining-avx512vbmi2.ll - add VLX/NOVLX test coverage (#199984)


  Commit: d25ec4b8448767d33330b66805f876355b948efe
      https://github.com/llvm/llvm-project/commit/d25ec4b8448767d33330b66805f876355b948efe
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    A llvm/lib/Target/RISCV/RISCVInstrInfoZvbdota.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    A llvm/test/MC/RISCV/rvv/zvfbdota32f-invalid.s
    A llvm/test/MC/RISCV/rvv/zvfbdota32f.s
    A llvm/test/MC/RISCV/rvv/zvfqwbdota8f-invalid.s
    A llvm/test/MC/RISCV/rvv/zvfqwbdota8f.s
    A llvm/test/MC/RISCV/rvv/zvfwbdota16bf-invalid.s
    A llvm/test/MC/RISCV/rvv/zvfwbdota16bf.s
    A llvm/test/MC/RISCV/rvv/zvqwbdota-invalid.s
    A llvm/test/MC/RISCV/rvv/zvqwbdota.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [llvm][RISCV] Support batched dot product extensions MC layer (#196467)

spec:

https://github.com/aswaterman/riscv-misc/blob/main/isa/ldot-bdot/ldot-bdot.adoc#zvdota-and-zvbdota-families-of-dot-product-extensions-version-02


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

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

  Log Message:
  -----------
  [Bazel] Fixes 81c523c (#199988)

This fixes 81c523c71c92bea4c5548b5f84288acd0f05db42.

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


  Commit: 6170eeb1fa8198f00ec6517f031f1e12b5752b8d
      https://github.com/llvm/llvm-project/commit/6170eeb1fa8198f00ec6517f031f1e12b5752b8d
  Author: Carlos Seo <carlos.seo at linaro.org>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    A flang/test/Lower/OpenMP/copyprivate6.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix copyprivate crash with unlimited polymorphic pointer (#199768)

Lowering a copyprivate clause whose list item is an unlimited
polymorphic pointer (class(*), pointer) crashed in TypeInfo::typeScan.
The scan descends through the fir.class box and the fir.ptr, reaching a
`none` element type, which the terminal assertion did not allow.

Fixes #198770


  Commit: c0a302d416aaa94b560793477ebecc8e273c8a76
      https://github.com/llvm/llvm-project/commit/c0a302d416aaa94b560793477ebecc8e273c8a76
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [AMDGPU] Refactor insertRelease into insertWriteback + insertWait (NFC) (#199486)

A release consists of two actions: write-back the current cache, and
wait for "relevant" outstanding operations to complete. With the new
memory model, it is possible to disable the cache write-back using
"non-av". This patch cleanly separates the existing implementation so
that the write-backs can be selectively applied after checking for
non-av semantics.

Part of a stack:

- #199486
- #199621
- #199489 
- #199622

Assisted-By: Claude Opus 4.6

---------

Co-authored-by: Pierre van Houtryve <pierre.vanhoutryve at amd.com>


  Commit: 6cb00b6c344cb6d61688cc993b15ee531dbfd0e4
      https://github.com/llvm/llvm-project/commit/6cb00b6c344cb6d61688cc993b15ee531dbfd0e4
  Author: Alexey Karyakin <akaryaki at qti.qualcomm.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    M llvm/test/CodeGen/Hexagon/inst_masked_store_bug1.ll
    M llvm/test/CodeGen/Hexagon/isel-hvx-pred-bitcast-order.ll

  Log Message:
  -----------
  [Hexagon] Fix up vector predicate before compressing it for bitcast (#199283)

In v64i1 vector Predicate, each i1 is represented by 2 bits of predicate
register. A predicate register needs to be fixed before we compress it.

Signed-off-by: Alexey Karyakin <akaryaki at qti.qualcomm.com>
Co-authored-by: Ikhlas Ajbar <iajbar at quicinc.com>


  Commit: dcf50fe35fd0760325c24ac78e43a90e61a95337
      https://github.com/llvm/llvm-project/commit/dcf50fe35fd0760325c24ac78e43a90e61a95337
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    A llvm/test/CodeGen/SystemZ/foldmem-regalloc.mir
    M llvm/test/CodeGen/SystemZ/foldmemop-global.mir

  Log Message:
  -----------
  [SystemZ] Don't fold memops after SSA if tied regs don't match. (#197475)

When foldMemoryOperandImpl() is called during register allocation,
folding into a reg/mem opcode mustn't be done if the tied def and use
operands do not end up referencing the same register.

Fixes #197414


  Commit: 3e8c217c6829b7acebb0f80bfcd2f807d370000e
      https://github.com/llvm/llvm-project/commit/3e8c217c6829b7acebb0f80bfcd2f807d370000e
  Author: Wooseok Lee <wolee at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    A llvm/test/CodeGen/AMDGPU/fshl-scalar-shift-zero.ll

  Log Message:
  -----------
  [AMDGPU] Fix ShiftAmt32Imm to use unsigned comparison (#199052)

ShiftAmt32Imm used a signed 'Imm < 32' predicate, which incorrectly
matched negative immediates such as -1. The scalar fshr fast path:
    
      def : GCNPat<(UniformTernaryFrag<fshr> i32:$src0, i32:$src1,
                                             (i32 ShiftAmt32Imm:$src2)),
        (i32 (EXTRACT_SUBREG (S_LSHR_B64 ..., $src2), sub0))>;
    
When fshl(scalar, X, Z) is lowered via expandFunnelShift for any
constant Z in [0, 31], the generic code converts it to fshr(..., ~Z) or
fshr(..., -Z), producing a negative shift amount. Because all such
values satisfy Imm < 32 in a signed comparison, ShiftAmt32Imm matched
and the pattern passed the negative immediate directly to S_LSHR_B64
without the S_AND_B32 masking. S_LSHR_B64 then shifted by the wrong
amount, producing an incorrect result.
    
Fix by changing the predicate to an unsigned comparison so that only
values in [0, 31] match, and negative values fall through to the general
pattern which correctly applies S_AND_B32 before S_LSHR_B64.
    
Fixes miscompilations of scalar fshl with any constant shift amount at
-O0 on AMDGPU targets, covering both fshl(scalar, const, Z) and
fshl(scalar, scalar, Z) for all Z in [0, 31].

---------

Co-authored-by: Claude Sonnet 4 <noreply at anthropic.com>


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    A llvm/test/Transforms/InstCombine/trunc-abs-intrinsics.ll

  Log Message:
  -----------
  [InstCombine] Narrow llvm.abs through trunc. (#199643)

Update EvaluateInDifferentType / canEvaluateTruncated to narrow abs
intrinsics when the operand has at least OrigBitWidth - BitWidth + 1
sign bits. The transform always emits the narrow abs with
IsIntMinPoison=false, as the narrowed value may be INT_MIN in the narrow
type, while not in the original width.

Alive2 Proof with weaker precondition (top and truncated sign bits must
match): https://alive2.llvm.org/ce/z/AMQRmi

End-to-end C pixel math example: https://clang.godbolt.org/z/Ma8bsTGTY

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


  Commit: e5ad7f7e700ea839896b5ece924ef13acf573833
      https://github.com/llvm/llvm-project/commit/e5ad7f7e700ea839896b5ece924ef13acf573833
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Semantics/OpenMP/declare-simd-uniform.f90

  Log Message:
  -----------
  [flang][OpenMP] Remove ompFlagsRequireMark from symbol resolution (#198591)

The `ompFlagsRequireMark` set was there to make sure that we put the
flags from it on symbols even when no new symbols needed to be created.

Instead of doing that, we can just put the flag on the symbol every
time. There is no harm in having these flags, it's just extra
information.


  Commit: 06a6cbb188468563f5e89932a4ec8386bb977bd9
      https://github.com/llvm/llvm-project/commit/06a6cbb188468563f5e89932a4ec8386bb977bd9
  Author: Stefan Schuermans <schuermans at roofline.ai>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [AMDGPU] Fix SuperReg to MCRegister conversion (#199993)

This is a fix for "[AMDGPU] Implement CFI for non-kernel functions
(#183153)" f78a233ac89dc0f9f0f26dfe051874013ae6e242 to use
"SuperReg.asMCReg()" instead of "MCRegister(SuperReg)", which leads to
"ambiguous call" when using the MSVC compiler.


  Commit: b65a71d4942abcdf17510e1cf5c4e9273d60aa72
      https://github.com/llvm/llvm-project/commit/b65a71d4942abcdf17510e1cf5c4e9273d60aa72
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M libc/test/src/__support/threads/linux/raw_mutex_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    A utils/bazel/llvm-project-overlay/libc/test/src/__support/threads/BUILD.bazel

  Log Message:
  -----------
  [libc][bazel] Add rules for __support/threads tests. (#199871)

* Add Bazel BUILD rules for three `__support/threads` unit tests.
* Fix/expand BUILD rules for the support libraries they depend on
(clock_gettime and vdso) that were previously incorrectly missing `.cpp`
files with implementations.
* Minor fix to use `internal::exit` in `raw_mutex_test` to avoid adding
a dependency on `exit` entrypoint, which doesn't yet exist in Bazel.

Assisted by: Gemini


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

  Changed paths:
    M llvm/cmake/modules/AddLLVM.cmake

  Log Message:
  -----------
  [LLVM] Add per-target runtime directory to rpath (#199755)

Summary:
    This simply adds the LLVM_DEFAULT_TARGET_TRIPLE to the LLVM build's
rpath if present. This keeps things hermetic for the library (offload)
    that depends on it.
    
  The reason this is required is because `llvm-gpu-loader` calls
`DynamicLibrary` on the Offload runtime. However, in a shared library
build the actual call is in libLLVMSupport.so, which does not have this
RPath, so `dlopen` delegates to that which does not know how to find it.
The only options to fix this are to use `dlopen` directly in the loader,
    or add the rpath to the LLVM binaries.
    
I think this makes sense for LLVM, because the target-specific directory
    can contain LLVM related libraries.


  Commit: 97b9c24cb9f2e46ce917bf2e5aea5d4511ae8298
      https://github.com/llvm/llvm-project/commit/97b9c24cb9f2e46ce917bf2e5aea5d4511ae8298
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M libcxx/include/__functional/function.h
    A libcxx/test/libcxx/utilities/function.objects/block.func.compile.pass.cpp

  Log Message:
  -----------
  Add missing annotations for Apple platforms (#198864)

These seemed to be missed in #193045.


  Commit: c3fc506e29badb9ed4729432b25c62eb04ced1ca
      https://github.com/llvm/llvm-project/commit/c3fc506e29badb9ed4729432b25c62eb04ced1ca
  Author: Adel Ejjeh <adel.ejjeh at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [AMDGPU] Remove explicit PartialThreshold setting in loop unrolling (#198901)

Remove UP.PartialThreshold = UP.Threshold / 4 from AMDGPU TTI, restoring
the default PartialThreshold of 150.

This was introduced in #194924 to limit code-size growth from runtime
unrolling, but PartialThreshold also gates compile-time partial
unrolling of constant-trip-count loops. This change will make the
PartialThreshold back to the default value for both compile-time partial
unrolling and runtime partial unrolling.

Benchmarked across CK, llama.cpp, and xpu-perf — no performance impact
from restoring the default.

Fixes #196372, replaces #196818.

Assisted-by: Claude Code


  Commit: a3acd8083c3b5a98e8c5bb0d7f7ac4a959c58307
      https://github.com/llvm/llvm-project/commit/a3acd8083c3b5a98e8c5bb0d7f7ac4a959c58307
  Author: Nishant Patel <nishant.b.patel at intel.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [MLIR][XeGPU] Propagate layout onto loop-carried iter_arg entry edges (#198862)

as per title


  Commit: 358f5e770361c0512b7f6e4027a3a674bb1fa654
      https://github.com/llvm/llvm-project/commit/358f5e770361c0512b7f6e4027a3a674bb1fa654
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [RISCV][P-ext] Add missing let Inst{31} = 0b0 to RVPPairShift_rr. (#199885)

This bit was accidentally left unset. I think this means we might have
treated this bit as a don't care for the disassembler could disassemble
some invalid encodings to these instructions. I didn't check the opcode
map closely enough to confirm this.


  Commit: 38555dbd81ad2dcfc452d29151299d829095258b
      https://github.com/llvm/llvm-project/commit/38555dbd81ad2dcfc452d29151299d829095258b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td

  Log Message:
  -----------
  [RISCV][P-ext] Replace some custom isel code with tablegen patterns. NFC (#199881)


  Commit: 95f08b1b743d2d5b694c71b00becd3acd0c7926a
      https://github.com/llvm/llvm-project/commit/95f08b1b743d2d5b694c71b00becd3acd0c7926a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [RISCV][P-ext] Make the direction argument for RVPPairShift* classes required. NFC (#199799)

It's part of the encoding. I don't think we should have a preference for
one of the bit values being the default.


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi2.ll

  Log Message:
  -----------
  [X86] Add test coverage for #145276 (#200004)


  Commit: ea3cb0fef9703c41a321a06a666636d871a670f6
      https://github.com/llvm/llvm-project/commit/ea3cb0fef9703c41a321a06a666636d871a670f6
  Author: Scott Linder <scott.linder at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  Fix for noassert buildbot break in #183153 (#199781)

Change-Id: I285adf09ac2df239d0ab05459f7388b6970247ad


  Commit: db9b595ae3b30d67bd4068f80c651f97eb4dea2d
      https://github.com/llvm/llvm-project/commit/db9b595ae3b30d67bd4068f80c651f97eb4dea2d
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/include/llvm/DebugInfo/CodeView/CodeViewRegisters.def
    M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
    A llvm/test/DebugInfo/COFF/apx-egpr.ll

  Log Message:
  -----------
  [X86][APX] Add CodeView register IDs and mapping for APX EGPR (#199586)

Resolves #187924

Refer to
https://devblogs.microsoft.com/cppblog/msvc-version-1451-available/


  Commit: 2713d9441cfd5fc9e4ad9cf5520add6ae6cce6c4
      https://github.com/llvm/llvm-project/commit/2713d9441cfd5fc9e4ad9cf5520add6ae6cce6c4
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/docs/SandboxIR.md
    M llvm/include/llvm/SandboxIR/Context.h
    M llvm/include/llvm/SandboxIR/Tracker.h
    M llvm/lib/SandboxIR/Tracker.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp

  Log Message:
  -----------
  Reapply "[SandboxIR][Tracker] Implement accept(/*AcceptAll*/) and revert(/*RevertAll*/)" (#199776) (#199805)

This reverts commit a7aceff0b1e552cbc2306e575e9ac649853fda8e.


  Commit: e1e52c9ccef39f4ccc55e1e89c5d2957ec186a47
      https://github.com/llvm/llvm-project/commit/e1e52c9ccef39f4ccc55e1e89c5d2957ec186a47
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/include/llvm/Support/Win64EH.h
    M llvm/lib/Support/CMakeLists.txt
    A llvm/lib/Support/Win64EH.cpp
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-all-wods.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-apx.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-bad-inherit.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-bad-opcode.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-bad-push-consecutive-2.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-basic.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-chain.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-distinct-epilog.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-epilog-flags.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-epilog-large.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-epilog.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-handler-odd-payload.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-handler.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-large.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-multi-epilog.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-neg-offset.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-pool-overflow.yaml
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-reloc.yaml
    A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-all-wods.yaml
    A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-apx.yaml
    A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-bad-inherit.yaml
    A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-bad-opcode.yaml
    A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-basic.yaml
    A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-chain.yaml
    A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-distinct-epilog.yaml
    A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-epilog-flags.yaml
    A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-epilog.yaml
    A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-handler.yaml
    A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-multi-epilog.yaml
    A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-neg-offset.yaml
    A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-pool-overflow.yaml
    A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-reloc.yaml
    M llvm/tools/llvm-objdump/COFFDump.cpp
    M llvm/tools/llvm-objdump/ObjdumpOpts.td
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.h
    M llvm/tools/llvm-readobj/Opts.td
    M llvm/tools/llvm-readobj/Win64EHDumper.cpp
    M llvm/tools/llvm-readobj/Win64EHDumper.h
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/tools/llvm-readobj/llvm-readobj.h

  Log Message:
  -----------
  [win][x64] Updated `llvm-objdump` and `llvm-readobj` to be able to dump Windows x64 Unwind v3 information. (#199120)

Public docs:
<https://learn.microsoft.com/en-us/cpp/build/x64-unwind-information-v3?view=msvc-170>

The change adds Windows x64 unwind v3 info decoding and printing support
in LLVM, including new data structures, enums, and decoding functions to
handle the different WOD opcodes and epilog descriptors. It also updates
the dumping utilities (llvm-readobj and llvm-objdump) to correctly
interpret v3 unwind info.


  Commit: 860e4b803e91595063a7b438f91e45792cf010cf
      https://github.com/llvm/llvm-project/commit/860e4b803e91595063a7b438f91e45792cf010cf
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
    M llvm/test/CodeGen/X86/avoid-sfb.ll

  Log Message:
  -----------
  [X86][AvoidStoreForwardingBlocks] Skip volatile/atomic accesses. (#199698)

The pass splits an XMM/YMM load+store pair into smaller copies when a
preceding narrower store would block store-to-load forwarding into the
load, but it didn't check the MachineMemOperand's isVolatile/isAtomic
bits.

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


  Commit: 7b993d207fee1e2160cbd20469f3cce73f27fce9
      https://github.com/llvm/llvm-project/commit/7b993d207fee1e2160cbd20469f3cce73f27fce9
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [InstCombine] Use sadd.sat for chained ldexp fold (#199274)

ldexp(ldexp(x, a), b) -> ldexp(x, a + b) didn't consider the fact that
`a + b` may overflow!  Use a saturating add instead.

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


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

  Changed paths:
    M llvm/lib/CodeGen/ExpandIRInsts.cpp
    A llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fpto-sat-vector.ll

  Log Message:
  -----------
  [ExpandIRInsts] Support llvm.fpto{u,s}i.sat (#199174)

Previously, running ExpandIRInsts on a program which needs to expand a
vector fptoui.sat would hit llvm_unreachable, because the `scalarize`
function didn't handle this intrinsic.

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


  Commit: 00b13536e3dad6c0d5e3bd54f49791c2a06707cc
      https://github.com/llvm/llvm-project/commit/00b13536e3dad6c0d5e3bd54f49791c2a06707cc
  Author: Sunil Shrestha <sunil.shrestha at hpe.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Lower/Support/PrivateReductionUtils.h
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/Support/PrivateReductionUtils.cpp
    M flang/test/Lower/OpenMP/Todo/omp-declare-reduction-advanced-types.f90
    M flang/test/Lower/OpenMP/Todo/reduction-character-dynamic-length.f90
    A flang/test/Lower/OpenMP/declare-reduction-no-initializer-derived.f90
    A flang/test/Lower/OpenMP/declare-reduction-no-initializer-intrinsic.f90
    A flang/test/Lower/OpenMP/declare-reduction-no-initializer-target-derived.f90
    A flang/test/Lower/OpenMP/declare-reduction-no-initializer-unsupported.f90
    A flang/test/Lower/OpenMP/declare-reduction-target-intrinsic.f90

  Log Message:
  -----------
  [Flang][OpenMP] Support declare reduction without initializer (#196211)

For declare reduction without an explicit initializer clause, the init
callback now handles initialization inline rather than relying on the
_FortranAInitialize runtime call, which is available on the device
runtime but has known issues on GPU targets.

The initialization logic first checks whether an initializer clause is
present. If one is provided, it is used directly. Otherwise, for derived
types, the code checks whether the type has default component
initialization. If it does, each component is initialized inline:
components with explicit default values use those values, components
that are themselves derived types with defaults are recursively
initialized, and components without any default are zero-initialized.

Derived types with allocatable components that require runtime
initialization are guarded by a TODO.

Assisted by: Claude Opus 4.6


  Commit: a1cba5a2f8e973fbdf20e20079fab0ce924b7ece
      https://github.com/llvm/llvm-project/commit/a1cba5a2f8e973fbdf20e20079fab0ce924b7ece
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/openmp-utils.cpp

  Log Message:
  -----------
  [flang][OpenMP] Optionally get final symbol in Get(Argument|Object)Sy… (#196816)

…mbol

Originally these functions returned the ultimate symbol for the one
obtained from the argument or object. However, this may be somewhat
unintuitive/unexpected, so instead return the original symbol, and add a
flag to optionally return the ultimate one.


  Commit: 077210a3b1a50ef7145d405b08d676e8879d0d51
      https://github.com/llvm/llvm-project/commit/077210a3b1a50ef7145d405b08d676e8879d0d51
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn

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

0d6aac78ad96
7938535a54b5
ed11d7a52a50


  Commit: 7a1a5421b1a1c32944906c3e7157b809528859e3
      https://github.com/llvm/llvm-project/commit/7a1a5421b1a1c32944906c3e7157b809528859e3
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M .github/workflows/release-documentation.yml

  Log Message:
  -----------
  workflows/release-documentation: Validate input and remove template expansion (#199760)

https://github.com/llvm/llvm-project/security/code-scanning/1715
https://github.com/llvm/llvm-project/security/code-scanning/1716
https://github.com/llvm/llvm-project/security/code-scanning/1717
https://github.com/llvm/llvm-project/security/code-scanning/1718
https://github.com/llvm/llvm-project/security/code-scanning/1719
https://github.com/llvm/llvm-project/security/code-scanning/1720
https://github.com/llvm/llvm-project/security/code-scanning/1721
https://github.com/llvm/llvm-project/security/code-scanning/1722


  Commit: f6af6cedfd2fa731bf323608116d373379838b9a
      https://github.com/llvm/llvm-project/commit/f6af6cedfd2fa731bf323608116d373379838b9a
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M .github/workflows/libclang-abi-tests.yml

  Log Message:
  -----------
  workflows/libclang-abi-tests: Remove template expansion (#199792)

https://github.com/llvm/llvm-project/security/code-scanning/1627
https://github.com/llvm/llvm-project/security/code-scanning/1628
https://github.com/llvm/llvm-project/security/code-scanning/1629
https://github.com/llvm/llvm-project/security/code-scanning/1630
https://github.com/llvm/llvm-project/security/code-scanning/1631
https://github.com/llvm/llvm-project/security/code-scanning/1632
https://github.com/llvm/llvm-project/security/code-scanning/1633
https://github.com/llvm/llvm-project/security/code-scanning/1634
https://github.com/llvm/llvm-project/security/code-scanning/1635
https://github.com/llvm/llvm-project/security/code-scanning/1636
https://github.com/llvm/llvm-project/security/code-scanning/1637
https://github.com/llvm/llvm-project/security/code-scanning/1638


  Commit: 82755077b73980eb56efb44246190135d2feb935
      https://github.com/llvm/llvm-project/commit/82755077b73980eb56efb44246190135d2feb935
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [ProfCheck] Fix #199174 (#200013)

The patch added another large fp conversion test, which we currently are
missing some profile annotations for, so add it to the xfail list for
now.


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

  Changed paths:
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    A llvm/test/Transforms/AtomicExpand/RISCV/atomicrmw-widen-volatile.ll

  Log Message:
  -----------
  [AtomicExpand] Preserve volatile in widenPartwordAtomicRMW. (#199722)

widenPartwordAtomicRMW widens a sub-word atomicrmw to the target's
minimum cmpxchg size by calling CreateAtomicRMW, which has no
IsVolatile parameter, and didn't copy isVolatile() from the original.
Every other expansion path in this file already does.  Affects targets
whose MinCmpXchgSizeInBits exceeds the value width (RISC-V without
Zabha, LoongArch base, SPARC, AMDGPU, etc.).

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


  Commit: 5b38edd3723a790b02d0d43b6f499c99b313a946
      https://github.com/llvm/llvm-project/commit/5b38edd3723a790b02d0d43b6f499c99b313a946
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M .github/workflows/pr-code-lint.yml

  Log Message:
  -----------
  workflows/pr-code-lint: Pin container image (#199767)

https://github.com/llvm/llvm-project/security/code-scanning/1678


  Commit: a8e1f5c475abb48ade1059bc42591a84da56d25b
      https://github.com/llvm/llvm-project/commit/a8e1f5c475abb48ade1059bc42591a84da56d25b
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M flang-rt/cmake/modules/AddFlangRTOffload.cmake
    M flang-rt/include/flang-rt/runtime/io-stmt.h
    M flang-rt/lib/runtime/CMakeLists.txt
    M flang-rt/lib/runtime/io-api-common.h
    A flang-rt/lib/runtime/io-stmt-minimal.cpp

  Log Message:
  -----------
  [flang-rt][cuda] Use a thinner I/O in CUDA build (#199769)

Reduce the footprint of IO in the CUDA build. This helps including IO
when using non relocatable device code mode.


  Commit: f16c0ecf2a0bc2fa9253bb73d54a8d791037d741
      https://github.com/llvm/llvm-project/commit/f16c0ecf2a0bc2fa9253bb73d54a8d791037d741
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  workflows/issue-release-workflow: Remove template expansion of login names (#199772)

https://github.com/llvm/llvm-project/security/code-scanning/1609
https://github.com/llvm/llvm-project/security/code-scanning/1610


  Commit: 5dc633bc765a6c5a4049b827f8fc0d43d1eff51a
      https://github.com/llvm/llvm-project/commit/5dc633bc765a6c5a4049b827f8fc0d43d1eff51a
  Author: David Green <david.green at arm.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/bf16-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/fabs.ll
    M llvm/test/CodeGen/AArch64/fneg.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Add BF16 fabs and fneg (#198655)

These should be very simple as they are just legal or expanded based on
whether fullfp16 is available, as the FP16 FNEG and FABS instructions can
be used equally for BF16.


  Commit: f8bf8af12c810434ca1d947aeb9bcae99bbbf135
      https://github.com/llvm/llvm-project/commit/f8bf8af12c810434ca1d947aeb9bcae99bbbf135
  Author: Brendan Dahl <brendan.dahl at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/Headers/wasm_simd128.h
    M cross-project-tests/intrinsic-header-tests/wasm_simd128.c

  Log Message:
  -----------
  [WebAssembly] Add f16x8.demote_f32x4_zero to wasm_simd128.h. (#199795)

Missing header intrinsic.


  Commit: d6279249920562e28cdd1fe4058451fb1d909241
      https://github.com/llvm/llvm-project/commit/d6279249920562e28cdd1fe4058451fb1d909241
  Author: fzi-haxel <61409998+fzi-haxel at users.noreply.github.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M mlir/lib/Analysis/SliceAnalysis.cpp
    M mlir/test/Dialect/Affine/slicing-utils.mlir

  Log Message:
  -----------
  [mlir][SliceAnalysis] Fix visited set to avoid infinite recursion  (#200008)

Fixes #139694, which introduced use-def cycle detection during slice
analysis, but some cycles were still not detected, potentially leading
to infinite recursion.

This PR fixes the handling of the visited set, which tracks the current
DFS path during recursion. Previously, the set could fail to detect
double cycles because entries were erased even when no recursive call
was made. The insert/erase operations are now only performed when
recursion actually occurs, ensuring that cycle detection correctly
reflects the active DFS path.


  Commit: 3a8b5e3bb1ae8f1d7f579b6ace900f1af596d48f
      https://github.com/llvm/llvm-project/commit/3a8b5e3bb1ae8f1d7f579b6ace900f1af596d48f
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/OutputRedirector.cpp
    M lldb/tools/lldb-dap/OutputRedirector.h

  Log Message:
  -----------
  [lldb-dap] Use MainLoop instead of a background thread in OutputRedirector. (#199970)

Replace the background thread in OutputRedirector with LLDB's MainLoop
event loop. This reduces the number of threads created and ensures file
descriptors are properly closed when no longer needed.

Since debugger's output is not I/O intensive, there is no risk of
hitting the pipe buffer limit with this approach.


  Commit: 0d8ba697df747b2aa0df3abbf11ec54e6c61e1b5
      https://github.com/llvm/llvm-project/commit/0d8ba697df747b2aa0df3abbf11ec54e6c61e1b5
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M utils/bazel/.bazelrc
    M utils/bazel/MODULE.bazel
    M utils/bazel/MODULE.bazel.lock

  Log Message:
  -----------
  [bazel] Add config for hermetic clang toolchain (#192528)

This config uses the https://github.com/hermeticbuild/hermetic-llvm
toolchain to avoid any dependency on the host compiler. This makes it
trivial to test with remote execution and also supports cross
compilation.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineMemOperand.h
    A llvm/test/CodeGen/X86/branchfolding-atomic-mmo.ll

  Log Message:
  -----------
  [CodeGen] Compare MMO atomic ordering and syncscope. (#199892)

MachineMemOperand::operator== compared the address, flags, AA metadata,
range, alignment, and address space, but not atomic success ordering,
failure ordering, or syncscope. Users such as
MachineInstr::cloneMergedMemRefs could therefore treat atomic and
non-atomic MMOs, or atomics with different syncscopes, as identical.

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


  Commit: f828c0e39fca240c3599089afdafa1cab47eadbb
      https://github.com/llvm/llvm-project/commit/f828c0e39fca240c3599089afdafa1cab47eadbb
  Author: adams381 <adams at nvidia.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [CIR] Report NYI for STDC FENV_ACCESS under -fclangir

Functions that enable IEEE floating-point intrinsics via `#pragma STDC
FENV_ACCESS ON` or `__attribute__((strict_fp))` set `UsesFPIntrin()` /
`StrictFPAttr` on the `FunctionDecl`. CIR doesn't support the
FP-constrained dialect ops needed to lower such functions correctly, so
`generateCode` now reports `errorNYI` and returns early when either flag
is set, preventing silent miscompilation.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>


  Commit: c8efcf55ee47bb04e4539a802e656be89f08099f
      https://github.com/llvm/llvm-project/commit/c8efcf55ee47bb04e4539a802e656be89f08099f
  Author: Vir Patel <142122453+virsworld at users.noreply.github.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M flang/include/flang/Common/Fortran-consts.h
    M flang/include/flang/Support/Fortran.h
    M flang/lib/Evaluate/formatting.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/type.cpp
    M flang/lib/Support/Fortran.cpp
    A flang/test/Semantics/PowerPC/ppc-vector-diagnostics.f90

  Log Message:
  -----------
  [flang][PPC] Improve vector type names in expression diagnostics (NFC) (#199383)

Continuation of #197821 
The change only affects vector types; all other types preserve their
existing formatting behavior.

Co-authored-by: virsworld <virpatel at mac.home>


  Commit: 8f03570e7d047bb83c77421360b831f366e7dcea
      https://github.com/llvm/llvm-project/commit/8f03570e7d047bb83c77421360b831f366e7dcea
  Author: carlobertolli <carlo.bertolli at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.add.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.xor.ll

  Log Message:
  -----------
  [AMDGPU] Add regression test for wave.reduce constant folding. (#198673)

Ensure wave.reduce.xor, wave.reduce.add, and wave.reduce.sub with
constant operands are not folded to the input value, since their results
depend on the number of active lanes at runtime.

Assisted-by: Cursor (Claude)


  Commit: 34d5523eaa8f72c3eb56137ac13789d70640a49c
      https://github.com/llvm/llvm-project/commit/34d5523eaa8f72c3eb56137ac13789d70640a49c
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/test/Driver/msvc-link.c

  Log Message:
  -----------
  [Driver][MSVC] Loosen regex for binary name in test (#200015)

`lld-link` will often be installed as `lld-link.exe` on windows. We need
to make sure this test passes either way.


  Commit: 6c9225f1d1e2b0b49ac3a53913be7ccda9c6243b
      https://github.com/llvm/llvm-project/commit/6c9225f1d1e2b0b49ac3a53913be7ccda9c6243b
  Author: Ben Langmuir <blangmuir at apple.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/include/clang/Basic/FileManager.h
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/unittests/Basic/FileManagerTest.cpp

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

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.

To reduce the overhead of using FileError, keep it only in the public
getFileRef and getDirectoryRef themselves, and use ErrorOr in the
implementation. For callers of getOptional* this should avoid
allocations for errors entirely, and for callers of getFileRef and
getDirectoryRef it makes the error allocation inlinable, which may (in
theory, not tested) let us optimize it away if the Error is immediately
unwrapped back to an error code, for example.

Incidentally clean up some callers to use getOptionalFileRef where they
throw away the error immediately.


  Commit: 2b3bc03b5ef00e7eaa245420ca981c700e1c05c4
      https://github.com/llvm/llvm-project/commit/2b3bc03b5ef00e7eaa245420ca981c700e1c05c4
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float.ll
    M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
    M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/commute-compares-scalar-float.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
    M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/imm16.ll
    M llvm/test/CodeGen/AMDGPU/immv216.ll
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
    M llvm/test/CodeGen/AMDGPU/llvm.round.ll
    M llvm/test/CodeGen/AMDGPU/lround.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
    M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.f16.ll
    M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/select.f16.ll
    M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
    M llvm/test/CodeGen/AMDGPU/true16-imm-folded-to-0-regression.ll
    M llvm/test/MC/AMDGPU/gfx1150_asm_salu_float.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sopc.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx13_asm_sopc.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop3-fake16.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1-fake16.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/literals.s
    M llvm/test/MC/AMDGPU/vop3-gfx10.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3c.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx1150_dasm_salu_float.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3c.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx8_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx8_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3c.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_vopcx.txt

  Log Message:
  -----------
  [AMDGPU] Use shorter form for i16 operands (#198005)

For 16-bit operands an inline constant is zero extended
which in particular allows to use FP constants. These
will have 16 bits of zeroes in the high half and FP16
value in the low 16 bits.

The patch changes semantics of the FP literal argument
used in i16 context in the asm parser to fp16.


  Commit: 0e84bfa79f1121b65609013175c6515159e3cdec
      https://github.com/llvm/llvm-project/commit/0e84bfa79f1121b65609013175c6515159e3cdec
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    A clang/test/CIR/CodeGen/switch-pre-case-stmts.cpp

  Log Message:
  -----------
  [CIR] Handle the 'before case' block of a switch statement. (#199752)

Before this patch, we would fail any time there was a block with
entry/exit (in this case, one with successors thanks to a label) with a
verification error. This patch adds special handling for that first
block.

This patch DOES choose to not trim them however. Unless there is a label
inside of the block, there isn't any way to get there, and it is dead
code. I've opted to NOT do that optimization, as I suspect that might be
valuable to future passes/something we may wish to warn about in some
sort of CFG analysis.

Additionally, there is some minor changes to FlattenCFG, first to make
sure we skip the switch ONLY if it is truly empty, and second to make
sure we transform any 'break' in the pre-case region.


  Commit: 3d9d776b29c9d1b44ee4f87dd1311bbf85af1ca3
      https://github.com/llvm/llvm-project/commit/3d9d776b29c9d1b44ee4f87dd1311bbf85af1ca3
  Author: DeanSturtevant1 <dsturtevant at google.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [bzl] Reduce the `deps` size of libc's shared_math_header library. (#200006)

There were ~500 of them, which can cause build analysis/metric issues.
Glob the private headers in use, retaining only the support libraries
that have source code.
Make it a cc_library instead of a libc_header_library. Rename it
"apfloat_shared_math_headers" to clarify its limited use case.


  Commit: 8a55aca421d64db9f82bda2ae3330bdf2dc12cf0
      https://github.com/llvm/llvm-project/commit/8a55aca421d64db9f82bda2ae3330bdf2dc12cf0
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
    A llvm/test/Transforms/SandboxVectorizer/seed_collection_loads.ll

  Log Message:
  -----------
  [SandboxVec][SeedCollection] Iterate over all seeds (#195964)

Even though load seeds can already be collected by the seed collector,
the seed collection pass was not iterating over them. This patch fixes
this, we are now iterating over both store and load seeds.


  Commit: aa1f119c6dcbf0b4404a88fcaeb34d9c5ca48fb5
      https://github.com/llvm/llvm-project/commit/aa1f119c6dcbf0b4404a88fcaeb34d9c5ca48fb5
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/test/lit.cfg.py

  Log Message:
  -----------
  [clang][lit] Add option to skip clang-repl checks (#199255)

Whenever lit or llvm-lit is invoked to run clang tests, clang-repl is
run at least once to check for host jit capabilities, and possibly
several more times to probe related capabilities. This adds a noticeable
delay before testing starts, especially for debug builds.

This change adds a lit parameter (clang_skip_clang_repl_checks) and an
environment variable check (CLANG_LIT_SKIP_CLANG_REPL_CHECKS) to allow
the clang-repl probes to be skipped. When this option is used, any tests
that rely on jit execution will be reported as unsupported.

This option is intended only to allow quicker targeted testing during
development. It should not be used for comprehensive verification before
submitting a patch.

On my local test system, executing `ninja check-clang-cir-codegen` with
a previously completed debug build took 18 seconds to run 354 tests with
this option and 53 seconds without it. This is the sort of use case I am
targeting -- lit test runs when the clang-repl overhead will constitute
a significant portion of the total time to execute the tests.


  Commit: d0676f53ed5b56a1f077fe8a4587ecb10e5400ee
      https://github.com/llvm/llvm-project/commit/d0676f53ed5b56a1f077fe8a4587ecb10e5400ee
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/Transforms/CIRTransformUtils.h
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/CIRTransformUtils.cpp
    M clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    A clang/test/CIR/CodeGen/cleanup-throw-from-cleanup.cpp
    M clang/test/CIR/CodeGen/try-catch.cpp

  Log Message:
  -----------
  [CIR] Handle throwing an exception from a cleanup scope (#199121)

The CIR FlattenCFG pass had been ignoring any ThrowOp that occurred
inside a cleanup scope or try operation, which led to the thrown
exception not triggering local cleanups and bypassing local catch
handlers.

This change introduces a new CIR operation, TryThrowOp, which is
analagous to the existing TryCallOp. The TryThrowOp (as well as the
ThrowOp) will eventually be lowered to a function call, but which
function gets called is a target-dependent detail, so we need an
abstract operation before EHABI lowering.

The Flatten CFG pass replaces any ThrowOp inside a cleanup scope or try
operation with a TryThrowOp that has an unreachable normal destination
and unwinds to the appropriate cleanup or catch dispatch block.

Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh


  Commit: eeeb26f64efdbccd27a2a0fd094be8d98dc6c231
      https://github.com/llvm/llvm-project/commit/eeeb26f64efdbccd27a2a0fd094be8d98dc6c231
  Author: adams381 <adams at nvidia.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    A clang/test/CIR/CodeGen/inline-extern-force-codegen.c

  Log Message:
  -----------
  [CIR] Emit globals for declarations that force externally visible defs

CIRGenModule::emitGlobal reported NYI for forward declarations that
force an externally visible definition under C99 inline rules (inline
definition in the TU, then a later extern declaration). Classic
CodeGenModule already materializes these with GetOrCreateLLVMFunction;
wire the same path through getAddrOfFunction, including the AArch64
multiversion guard from OGCG.

This pattern shows up in SPEC CPU 2026 berkeley-abc `if.h` when
compiling `abcIf.c` for 729.abc_r / 829.abc_s (`If_CutCopy` at line
527).

Test: `inline-extern-force-codegen.c` with CIR, LLVM, and OGCG checks.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>


  Commit: 3a203a506691df098ae1020dfb14e411d25bec35
      https://github.com/llvm/llvm-project/commit/3a203a506691df098ae1020dfb14e411d25bec35
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/Sema/SemaCUDA.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaBase.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CodeGenCUDA/device-vtable.cu
    A clang/test/CodeGenCUDA/implicit-hd-dtor-trap-stub-hip.hip
    A clang/test/CodeGenCUDA/implicit-hd-explicit-inst-hip.hip
    A clang/test/CodeGenCUDA/implicit-hd-overload-ambig-hip.hip
    M clang/test/SemaCUDA/dtor.cu
    A clang/test/SemaCUDA/implicit-hd-dtor-explicit-instantiation.cu
    A clang/test/SemaCUDA/implicit-hd-explicit-inst-organic-caller.cu
    A clang/test/SemaCUDA/implicit-hd-overload-ambig-organic-caller.cu

  Log Message:
  -----------
  [CUDA][HIP] Defer device diagnostics in implicit H+D explicit instantiations (#197214)

When clang explicitly instantiates a class template, it must emit
device-side
bodies for the implicit `__host__ __device__` members so the vtable and
instantiation symbols resolve. Some of those members chain into
host-only
calls (for example libstdc++ destructors that eventually call ::operator
delete). If no device code actually uses the class, the user still sees
errors about calling a `__host__` function from device code, even though
they
wrote no device code that touches it. Overload ambiguity in the same
context
behaves the same way.

This patch defers device-side errors in implicit `__host__ __device__`
functions reached only via an explicit template instantiation. At the
end of
the translation unit, clang checks whether a real device caller exists.
If
one does, the deferred errors are surfaced with the usual call-stack
notes.
If not, the diagnostics are dropped and the function gets a trap body,
so the
vtable and instantiation symbols stay well-formed and the failure only
fires
if device code ever calls the function. This works without
-fgpu-defer-diag.


  Commit: 57b485f07d94e1780ed83275a01ef1c450dcdbd1
      https://github.com/llvm/llvm-project/commit/57b485f07d94e1780ed83275a01ef1c450dcdbd1
  Author: Scott Linder <scott.linder at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/assert-align.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
    M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn-call-whole-wave.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ptr.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
    M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior2.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
    M llvm/test/CodeGen/AMDGPU/call-args-inreg-bfloat.ll
    M llvm/test/CodeGen/AMDGPU/call-args-inreg-no-sgpr-for-csrspill.ll
    M llvm/test/CodeGen/AMDGPU/call-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
    M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
    M llvm/test/CodeGen/AMDGPU/call-skip.ll
    M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/cc-entry.ll
    M llvm/test/CodeGen/AMDGPU/cc-inreg-sgpr0-3-mismatch.ll
    M llvm/test/CodeGen/AMDGPU/copysign-simplify-demanded-bits.ll
    M llvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
    M llvm/test/CodeGen/AMDGPU/debug-frame.ll
    M llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
    M llvm/test/CodeGen/AMDGPU/dynamic-vgpr-reserve-stack-for-cwsr.ll
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.ll
    M llvm/test/CodeGen/AMDGPU/fix-frame-reg-in-custom-csr-spills.ll
    M llvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll
    M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/gfx-call-non-gfx-func.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-preserved-registers.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
    M llvm/test/CodeGen/AMDGPU/global-alias.ll
    M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
    M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
    M llvm/test/CodeGen/AMDGPU/issue176578.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
    M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
    M llvm/test/CodeGen/AMDGPU/nested-calls.ll
    M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
    M llvm/test/CodeGen/AMDGPU/nofpclass-call.ll
    M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
    M llvm/test/CodeGen/AMDGPU/s-getpc-b64-remat.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
    M llvm/test/CodeGen/AMDGPU/si-lower-sgpr-spills-vgpr-lanes-usage.mir
    M llvm/test/CodeGen/AMDGPU/sibling-call.ll
    M llvm/test/CodeGen/AMDGPU/stack-realign.ll
    M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
    M llvm/test/CodeGen/AMDGPU/strictfp_f16_abi_promote.ll
    M llvm/test/CodeGen/AMDGPU/swdev504645-global-fold.ll
    M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.waterfall.ll
    M llvm/test/CodeGen/AMDGPU/unfold-masked-merge-scalar-variablemask.ll
    M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
    M llvm/test/CodeGen/AMDGPU/waterfall-call-target-av-register-failure.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-copy.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll

  Log Message:
  -----------
  [AMDGPU] Use register pair for PC spill (#183146)

Change-Id: Ibedeef926f7ff235a06de65a83087c151f66a416


  Commit: 80393ba1bdbe6155a91c7a54c0430b68f9c4b556
      https://github.com/llvm/llvm-project/commit/80393ba1bdbe6155a91c7a54c0430b68f9c4b556
  Author: HighW4y2H3ll <zhenghaohuu at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp

  Log Message:
  -----------
  [llvm-profgen] Fix assertion condition for the top-level probes address range checks (#198674)

Top-level functions may contains multiple disjoint address ranges, and
the pseudo probes may not be stored as sorted. The original assertion
check is problematic because the first pseudo probe may not necessarily
falls into the current function range even though they are both part of
the same function.

Update the assertion condition so that we won't hit the assertion
failure as long as there one pseudo probe falls in the checked function
range.


  Commit: 59389b0ba9dec92702de7465b13bbedb9c523951
      https://github.com/llvm/llvm-project/commit/59389b0ba9dec92702de7465b13bbedb9c523951
  Author: Michael Levine <mlevine55 at bloomberg.net>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M libcxx/include/map
    M libcxx/include/set

  Log Message:
  -----------
  [libc++] Add __is_transparently_comparable_v optimizations for set, multiset, and multimap functions [Issue 187105] (#189735)

This PR closes https://github.com/llvm/llvm-project/issues/187105

It adds `__is_transparently_comparable_v` checks to `std::set`,
`std::multiset`, and `std::multimap`'s `find`, `contains`,
`lower_bound`, and `upper_bound` functions.

Assisted by:  Claude Code

---------

Signed-off-by: mlevine55 <mlevine55 at bloomberg.net>


  Commit: 15113c3eedb1e5badc411602fb8daa57bb5f677e
      https://github.com/llvm/llvm-project/commit/15113c3eedb1e5badc411602fb8daa57bb5f677e
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M libcxx/utils/ci/docker/docker-compose.yml

  Log Message:
  -----------
  [libc++] Update the base image hash to get GCC 16 (#199882)


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

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

  Log Message:
  -----------
  [Bazel] Fixes 3d9d776 (#200029)

This fixes 3d9d776b29c9d1b44ee4f87dd1311bbf85af1ca3.

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


  Commit: bdb3232dfacba6a61a0ac45bec3fb18c7c1c24bd
      https://github.com/llvm/llvm-project/commit/bdb3232dfacba6a61a0ac45bec3fb18c7c1c24bd
  Author: Scott Linder <scott.linder at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/assert-align.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
    M llvm/test/CodeGen/AMDGPU/a-v-flat-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/a-v-global-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
    M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn-call-whole-wave.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
    M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior2.ll
    M llvm/test/CodeGen/AMDGPU/av_spill_cross_bb_usage.mir
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
    M llvm/test/CodeGen/AMDGPU/call-args-inreg-bfloat.ll
    M llvm/test/CodeGen/AMDGPU/call-args-inreg-no-sgpr-for-csrspill.ll
    M llvm/test/CodeGen/AMDGPU/call-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
    M llvm/test/CodeGen/AMDGPU/call-skip.ll
    M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/cc-entry.ll
    M llvm/test/CodeGen/AMDGPU/cc-inreg-sgpr0-3-mismatch.ll
    M llvm/test/CodeGen/AMDGPU/copysign-simplify-demanded-bits.ll
    M llvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
    M llvm/test/CodeGen/AMDGPU/debug-frame.ll
    M llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
    M llvm/test/CodeGen/AMDGPU/dynamic-vgpr-reserve-stack-for-cwsr.ll
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-mov-b32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.ll
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.mir
    M llvm/test/CodeGen/AMDGPU/fix-frame-reg-in-custom-csr-spills.ll
    M llvm/test/CodeGen/AMDGPU/frame-index.mir
    M llvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll
    M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/gfx-call-non-gfx-func.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-preserved-registers.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
    M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
    M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
    M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
    M llvm/test/CodeGen/AMDGPU/issue176578.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
    M llvm/test/CodeGen/AMDGPU/maximumnum.ll
    M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
    M llvm/test/CodeGen/AMDGPU/memset-param-combinations.ll
    M llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
    M llvm/test/CodeGen/AMDGPU/minimumnum.ll
    M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
    M llvm/test/CodeGen/AMDGPU/nested-calls.ll
    M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
    M llvm/test/CodeGen/AMDGPU/nofpclass-call.ll
    M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain-preserve.mir
    M llvm/test/CodeGen/AMDGPU/pei-vgpr-block-spill-csr.mir
    M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
    M llvm/test/CodeGen/AMDGPU/s-getpc-b64-remat.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
    M llvm/test/CodeGen/AMDGPU/si-lower-sgpr-spills-vgpr-lanes-usage.mir
    M llvm/test/CodeGen/AMDGPU/si-lower-sgpr-spills.mir
    M llvm/test/CodeGen/AMDGPU/sibling-call.ll
    M llvm/test/CodeGen/AMDGPU/spill-partial-csr-sgpr-live-ins.mir
    M llvm/test/CodeGen/AMDGPU/spill-sgpr-csr-live-ins.mir
    M llvm/test/CodeGen/AMDGPU/spill-sgpr-to-virtual-vgpr.mir
    M llvm/test/CodeGen/AMDGPU/spill-vgpr-block.ll
    M llvm/test/CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll
    M llvm/test/CodeGen/AMDGPU/stack-realign.ll
    M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
    M llvm/test/CodeGen/AMDGPU/strictfp_f16_abi_promote.ll
    M llvm/test/CodeGen/AMDGPU/swdev504645-global-fold.ll
    M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.waterfall.ll
    M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
    M llvm/test/CodeGen/AMDGPU/unfold-masked-merge-scalar-variablemask.ll
    M llvm/test/CodeGen/AMDGPU/unspill-vgpr-after-rewrite-vgpr-mfma.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-copy.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll

  Log Message:
  -----------
  [AMDGPU] Implement CFI for CSR spills (#183150)

Introduce new SPILL pseudos to allow CFI to be generated for only CSR
spills, and to make ISA-instruction-level accurate information.

Other targets either generate slightly incorrect information or rely on
conventions for how spills are placed within the entry block. The
approach in this change produces larger unwind tables, with the
increased size being spent on additional DW_CFA_advance_location
instructions needed to describe the unwinding accurately.

Change-Id: I9b09646abd2ac4e56eddf5e9aeca1a5bebbd43dd
Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>


  Commit: 99bc986c527a9a98c85d792cfd99e0518cc1615d
      https://github.com/llvm/llvm-project/commit/99bc986c527a9a98c85d792cfd99e0518cc1615d
  Author: Roy Shi <royitaqi at users.noreply.github.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/include/llvm/Support/FileSystem.h
    M llvm/include/llvm/Support/MemoryBuffer.h
    M llvm/lib/Support/MemoryBuffer.cpp
    M llvm/lib/Support/Unix/Path.inc
    M llvm/lib/Support/Windows/Path.inc

  Log Message:
  -----------
  [Support] Add MemoryBuffer::randomAccessIfMmap() (#199265)

For read-only MemoryBuffer_MMap, advise the kernel that access pattern
will be random, disabling readahead. This calls `madvise(MADV_RANDOM)`
on *NIX. This function should not be called on a writable buffer.

The implementation follows existing pattern in
`mapped_file_region::dontNeedImpl()` and
`mapped_file_region::willNeedImpl()`.

See intended usage: https://github.com/llvm/llvm-project/pull/199230


  Commit: b76503229dc39d32505504fee48d0d40c4adc069
      https://github.com/llvm/llvm-project/commit/b76503229dc39d32505504fee48d0d40c4adc069
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp

  Log Message:
  -----------
  [alpha.webkit.UncountedLocalVarsChecker] Detect a raw pointer/reference in a decomposition declaration. (#198582)


  Commit: c00484d99f36f90aa5cb79226a0c444d3fc41bd9
      https://github.com/llvm/llvm-project/commit/c00484d99f36f90aa5cb79226a0c444d3fc41bd9
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp

  Log Message:
  -----------
  [llvm-profgen] Fix -Wunused-variable (#200038)

Inline the variable definition into the assertion given the variable
name does not add much and release builds will end up with an unused
variable otherwise.


  Commit: c315c662cd2d33e0c7f962fed742ee53626d8005
      https://github.com/llvm/llvm-project/commit/c315c662cd2d33e0c7f962fed742ee53626d8005
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/code-size-estimate.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
    M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
    M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
    M llvm/test/CodeGen/AMDGPU/imm16.ll
    M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.f16.ll
    M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.v2f16.ll

  Log Message:
  -----------
  [AMDGPU] Fix codesize estimate after #198005 (#200033)

This fixes failure in libc tests which checks the exact encoding
size. Encoding is now shorter, but it did not recognize fp16
immediates as an inlinable constant and assumes literal encoding.

Shorter encodings were created here:
https://github.com/llvm/llvm-project/pull/198005


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Thread scalar types through VPReplicateRecipe. (NFC) (#199379)

Update VPReplicateRecipe to populate VPSingleDefValue's scalar
type. For most opcodes, the scalar type is determine from the operands,
via computeScalarTypeForInstruction (from
https://github.com/llvm/llvm-project/pull/199378).
For some opcodes, like Loads and casts, the type must be
provided explicitly.

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

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


  Commit: 2f0815059c7b033acf935d49380d8b0166460bb3
      https://github.com/llvm/llvm-project/commit/2f0815059c7b033acf935d49380d8b0166460bb3
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M bolt/test/lit.cfg.py
    M libc/utils/libctest/format.py
    M libsycl/test/lit.cfg.py
    M lldb/test/API/lit.cfg.py
    M lldb/test/API/lldbtest.py
    M lldb/test/Shell/lit.cfg.py
    M llvm/utils/lit/lit/LitConfig.py
    M llvm/utils/lit/lit/TestRunner.py
    M llvm/utils/lit/lit/TestingConfig.py
    M llvm/utils/lit/lit/formats/googletest.py
    M llvm/utils/lit/lit/main.py
    M llvm/utils/lit/tests/Inputs/googletest-timeout/lit.cfg
    M llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg

  Log Message:
  -----------
  Reland: [lit] Move maxIndividualTestTime from global to test suite config (#199996)

Simplify LitConfig initialization and setter to allow None values.
TestingConfig.maxIndividualTestTime is initialized to 0 (or resolved to
0 if None) strictly during initialization.

This fixes an issue where the aggressive BOLT timeout of 60s (previously
set globally on lit_config) was leaking and affecting libc++ tests. By
moving the timeout configuration from the global lit_config to the
individual test suite config, we ensure that timeouts are isolated and
respect suite-local settings without leaking.

PR Stack:
* https://github.com/llvm/llvm-project/pull/198192
* https://github.com/llvm/llvm-project/pull/199886
* ➤ https://github.com/llvm/llvm-project/pull/199996
* https://github.com/llvm/llvm-project/pull/198193

The diff from #198192 is 39b632f741012bfbff9858407765e45435ad95ff

Assisted-by: Gemini


  Commit: bf005a1227a4822c7c2535dd5f5f3626fbe441b2
      https://github.com/llvm/llvm-project/commit/bf005a1227a4822c7c2535dd5f5f3626fbe441b2
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    A clang/test/Analysis/Checkers/WebKit/unretained-call-args-member.mm

  Log Message:
  -----------
  [alpha.webkit.UnretainedCallArgsChecker] Emit a warning for a non-const RetainPtr member (#184243)

This PR fixes a bug in UnretainedCallArgsChecker that it wouldn't emit a
warning when calling a function with the return value of a getter of a
RetainPtr non-const member variable even if such a member variable could
be mutated during such a function call.

The bug caused by tryToFindPtrOrigin treating any call of a getter on a
smart pointer member variable as safe. Fixed the bug by limiting this to
only when the variable is a local variable or a function parameter.

In addition, this PR fixes a bug in WebKit checkers that it would
erroneously emit a warning when calling a getter on a const RetainPtr
member variable beacuse isOwnerPtr was returning false for RetainPtr.
This false negative was previously masked / hidden by the false positive
fixed in this PR.

---------

Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>


  Commit: 9ca1941d8ea2cc9f95def825d2c77cc91e2d2fd5
      https://github.com/llvm/llvm-project/commit/9ca1941d8ea2cc9f95def825d2c77cc91e2d2fd5
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M flang-rt/cmake/modules/AddFlangRTOffload.cmake
    M flang-rt/lib/runtime/CMakeLists.txt

  Log Message:
  -----------
  [flang-rt][cuda] Move thin I/O to ptx only (#200054)


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/split-gep-sub.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Set `inbounds` correctly. (#199304)

swapGEPOperand reorders the GEPs (ptr+off)+const into (ptr+const)+off.
When it does so, it needs to determine if the inner GEP is inbounds.

Previously the way it did this was to call
stripAndAccumulateInBoundsConstantOffsets on (ptr+const), and then check
if this offset was indeed in-bounds.

However, this GEP was not necessarily marked as `inbounds` itself. If it
was not, stripAndAccumulateInBoundsConstantOffsets would return 0 for
the offset (instead of `const`), in which case we'd check if
`0 < [obj width]`, which is trivially true, and then incorrectly mark
the GEP as inbounds.

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


  Commit: 4fe4d9844862451b38bb3bd7329ab1b29916e3be
      https://github.com/llvm/llvm-project/commit/4fe4d9844862451b38bb3bd7329ab1b29916e3be
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/IR/Instructions.cpp
    M llvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-profmd.ll

  Log Message:
  -----------
  [IR] Handle `expected` tag in switch branch weights. (#200025)

Switch branch weight metadata has an optional `expected` tag.
SwitchInstProfUpdateWrapper::getSuccessorWeight() did not handle this
tag; if it was present, it would return nullopt, effectively ignoring
the metadata.

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


  Commit: 4e39ea3d5e7320035384072021582af74d91b1a9
      https://github.com/llvm/llvm-project/commit/4e39ea3d5e7320035384072021582af74d91b1a9
  Author: Scott Linder <scott.linder at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
    A llvm/test/CodeGen/AMDGPU/amdgpu-spill-cfi-saved-regs.ll

  Log Message:
  -----------
  [AMDGPU] Implement -amdgpu-spill-cfi-saved-regs (#183149)

These spills need special CFI anyway, so implementing them directly
where CFI is emitted avoids the need to invent a mechanism to track them
from ISel.

Change-Id: If4f34abb3a8e0e46b859a7c74ade21eff58c4047
Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>


  Commit: 5a7e4a0cf7f53a74b87c53b792b6a1d3ece3df28
      https://github.com/llvm/llvm-project/commit/5a7e4a0cf7f53a74b87c53b792b6a1d3ece3df28
  Author: Scott Linder <scott.linder at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/MC/MCDwarf.h
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/test/CodeGen/AMDGPU/debug-frame.ll
    M llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
    M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
    M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
    M llvm/test/CodeGen/AMDGPU/pei-vgpr-block-spill-csr.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir

  Log Message:
  -----------
  [AMDGPU][MC] Replace shifted registers in CFI instructions (#183147)

Change-Id: I0d99e9fe43ec3b6fecac20531119956dca2e4e5c


  Commit: b6161b9f4c9e306fa07295db67a7ecc8cfadcffb
      https://github.com/llvm/llvm-project/commit/b6161b9f4c9e306fa07295db67a7ecc8cfadcffb
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M libc/include/CMakeLists.txt

  Log Message:
  -----------
  [libc] Add missing struct_mmsghdr dependency to sys_socket (#200051)

Updated libc/include/CMakeLists.txt to add
.llvm-libc-types.struct_mmsghdr to the sys_socket dependency list. This
ensures that the generated sys/socket.h correctly includes the
struct_mmsghdr.h type header.

Assisted-by: Automated tooling, human reviewed.


  Commit: 5ae73b942f44295c0baff138effe7272a94c7a1b
      https://github.com/llvm/llvm-project/commit/5ae73b942f44295c0baff138effe7272a94c7a1b
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [lldb] Keep addr for Memory Modules separate (#199810)

This change is to make DataFileCache symbol table caching work with
memory-read binary modules.

When we read a Module out of memory, we keep the address of the module
in Module's m_object_name field as a string. This is normally the name
of a file in a ranlib/static library/.a archive like the "main.o" in
"foo.a(main.o)". The address is most often seen in the "image list"
output, and is the only easy way to distinguish in that output which
binaries were read out of memory, versus found on local disk. The "name"
of the Module ends up being the combination of the FileSpec plus this
m_object_name.

Reading a binary out of memory is expensive, primarily because of
reading the symbol table. The DataFileCache feature that Greg introduced
five years ago can cache the Symbol Table for a binary locally, and when
we see the same binary loaded again in a future debug session/lldb
session, we can skip parsing the symbol table (or in the case of Memory
Module, reading it from memory).

Unfortunately because the "name" of the Module is the combination of the
FileSpec PLUS the address, if this is a system where binaries can load
at different addresses, we may not be able to use the DataFileCache for
a memory module. The address should not be part of the name for this.

In Module, I created a new optional ivar to track the memory module
address, if this is one, instead of putting the string representation in
m_object_name. In all places (except the DataFileCache name
construction), I append the address to the name just like we do with
m_object_name.

There were a few logging points that were manually constructing the name
when a method would do it for them already; I changed them to call the
method instead.

Probably the least clean part is in CommandObjectTarget (the image list
output), we add the ObjectName to the FileSpec here as well. For now,
instead of trying to leverage one of the methods in Module that combine
them already, I changed it to use the same change.

I used a std::optional for this address instead of the
LLDB_INVALID_ADDRESS convention because it was a lot cleaner to read, I
thought, even if it is different than most often used in the codebase.
Open to using the older coding style if other people think consistency
is more important.


  Commit: 78987e85ae0930b10d2588a9f8333a2fa8c3014d
      https://github.com/llvm/llvm-project/commit/78987e85ae0930b10d2588a9f8333a2fa8c3014d
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M lldb/include/lldb/Core/DataFileCache.h
    M lldb/include/lldb/Core/Module.h
    M lldb/include/lldb/Symbol/ObjectFile.h
    M lldb/include/lldb/Symbol/Symbol.h
    M lldb/include/lldb/Symbol/Symtab.h
    M lldb/include/lldb/Utility/DataEncoder.h
    M lldb/source/Core/DataFileCache.cpp
    M lldb/source/Core/Mangled.cpp
    M lldb/source/Symbol/Symtab.cpp

  Log Message:
  -----------
  [lldb] Edits and clarifications to DataFileCache comments, NFC (#199787)

I was reading through Greg Clayton's DataFileCache PR and fixed a few
small typeos as I went along.

I also had a little trouble understanding the two types of hashes that
are calculated for a file, at first, and I tried to write comments for
the relevant methods (in Module, ObjectFile, and DataFileCache) to be
more explicit about their role and the role of the other hashes that are
calculated. It may be more detail than necessary, but it would have been
helpful for me while reading this through.


  Commit: 055a4ba0b27794d1dd04149f87ebc3cc47bc2bd9
      https://github.com/llvm/llvm-project/commit/055a4ba0b27794d1dd04149f87ebc3cc47bc2bd9
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Update C++ DR status page (#200053)

Updates from 2026-05-19 CWG telecon.


  Commit: 9fa9ab338f753cf4fd7c6f7c3c8424da7d15c588
      https://github.com/llvm/llvm-project/commit/9fa9ab338f753cf4fd7c6f7c3c8424da7d15c588
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [RISCV] Remove unused Predicates for Zicfilp. NFC (#200028)


  Commit: 8fc12f1e3f6aab79aefd70cf68f9c92439e2fc32
      https://github.com/llvm/llvm-project/commit/8fc12f1e3f6aab79aefd70cf68f9c92439e2fc32
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M flang-rt/cmake/modules/AddFlangRTOffload.cmake

  Log Message:
  -----------
  [flang-rt][cuda] Set RT_CUDA_THIN_IO=1 only for PTX object (#200063)


  Commit: e1dd984a809c9c7b8cc3731e3b8eeb8d01fbc8c1
      https://github.com/llvm/llvm-project/commit/e1dd984a809c9c7b8cc3731e3b8eeb8d01fbc8c1
  Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    M flang/test/Transforms/FIRToMemRef/slice-projected.mlir

  Log Message:
  -----------
  [flang][FIRToMemRef] fix stride calculation for complex lowering (#200035)

**Summary**
When `fir.array_coor` targets a projected slice of a complex array (path
0 = real, 1 = imag), FIRToMemRef must not treat the result as a dense
memref.

**Bug:** The pass stopped after fir.convert to `memref<…×complex>` (or
static-shape fast path) and used default/dense strides. Loads/stores
then stepped by sizeof(complex) instead of sizeof(re)/sizeof(im).

**Fix:** For constant `%re/%im` on `complex<T>` storage:

`fir.convert` storage to `memref<…×2×T>` and index the component (0 or
1).
Read layout from `fir.box_dims` on the box (even if the memref shape is
static).
Set each memref stride to `box_dims_byte_stride / sizeof(T)`.

Advised by Cursor


  Commit: e8cc37e60d04ea2e25f03fbeeb8de59f4e640448
      https://github.com/llvm/llvm-project/commit/e8cc37e60d04ea2e25f03fbeeb8de59f4e640448
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/DependencyScanning/DependencyScannerImpl.cpp

  Log Message:
  -----------
  [clang][deps] Disable app extensions during scanning (#200041)

Application extension contributes to the context hash, but only affects
the availability attribute on declarations. Since it cannot affect
dependencies, disable it for the scan to reduce the number of scanning
PCM variants.


  Commit: 00b4695f1dc6b04168be2e1ed8368624d768314f
      https://github.com/llvm/llvm-project/commit/00b4695f1dc6b04168be2e1ed8368624d768314f
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/test/CodeGen/AArch64/fast-isel-branch-cond-split.ll
    A llvm/test/Transforms/CodeGenPrepare/X86/split-branch-cond-weights.ll

  Log Message:
  -----------
  [CodeGenPrepare] Use recomputed split-branch weights. (#199822)

splitBranchCondition computes new branch weights after splitting an
and/or condition into two branches, but then passed the original weights
to createBranchWeights at each metadata update. The recomputed values
were discarded.

Pass the scaled NewTrueWeight/NewFalseWeight values when installing
metadata on both generated branches.

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


  Commit: 7f82efb3966868dfe7d0b37dd6aa104007d264ff
      https://github.com/llvm/llvm-project/commit/7f82efb3966868dfe7d0b37dd6aa104007d264ff
  Author: Guy David <guyda96 at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/include/module.modulemap

  Log Message:
  -----------
  [Object] Add missing BBAddrMap.def to module map (#199961)

Added in 532940bdee66bf5f36a70578698aab66f16919af.


  Commit: f13305bac8ea2237e6fbab29f172e6a5a5058a1c
      https://github.com/llvm/llvm-project/commit/f13305bac8ea2237e6fbab29f172e6a5a5058a1c
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    A llvm/test/Transforms/VectorCombine/RISCV/vector-deinterleave2.ll

  Log Message:
  -----------
  [VectorCombine] Fold deinterleave2 with smaller effective element size (#192121)

Found in real-world code where this sequence:
```
%d = llvm.vector.deinterleave2 <vscale x 16 x i32> %v
%f0 = extractvalue { <vscale x 8 x i32>, <vscale x 8 x i32> } %d, 0
%f1 = extractvalue { <vscale x 8 x i32>, <vscale x 8 x i32> } %d, 1

%low0 = and <vscale x 8 x i32> %f0, splat (i32 65535)
%low1 = shl <vscale x 8 x i32> %f1, splat (i32 16)
%merge0 = or disjoint <vscale x 8 x i32> %low0, %low1

%high0 = and <vscale x 8 x i32> %f1, splat (i32 -65536)
%high1 = lshr <vscale x 8 x i32> %f0, splat (i32 16)
%merge1 = or disjoint <vscale x 8 x i32> %high0, %high1
```
is really just doing `deinterleave2` but on `<vscale x 32 x i16>`. That
is, the same total vector size but with half the element width. So we
can turn it into:
```
%narrow.v = bitcast <vscale x 16 x i32> %v to <vscale x 32 x i16>
%d = llvm.vector.deinterleave2 <vscale x 32 x i16> %narrow.v
%f0 = extractvalue { <vscale x 16 x i16>, <vscale x 16 x i16> } %d, 0
%f1 = extractvalue { <vscale x 16 x i16>, <vscale x 16 x i16> } %d, 1

%merge0 = bitcast <vscale x 16 x i16> %f0 to <vscale x 8 x i32>
%merge1 = bitcast <vscale x 16 x i16> %f1 to <vscale x 8 x i32>
```
I put this in VectorCombine because I'm worried that the newly created
bitcast might be expensive for some targets, hence a profitability check
before committing the transformation.


  Commit: eb0cb0c69526a8bff5b3b1399a2bd7da4cd3a148
      https://github.com/llvm/llvm-project/commit/eb0cb0c69526a8bff5b3b1399a2bd7da4cd3a148
  Author: Zhijie Wang <yesterda9 at gmail.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

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

  Log Message:
  -----------
  [LifetimeSafety] Propagate inner origins through std::move and related casts (#199600)

std::move and related casts (std::forward, std::forward_like,
std::move_if_noexcept, std::as_const) are reference casts: the result
refers to the same object as the argument. Flow all origin levels for
this family.
  
Fixes #191954


  Commit: 9409c07de6378507397ecdb6f05f628f58110112
      https://github.com/llvm/llvm-project/commit/9409c07de6378507397ecdb6f05f628f58110112
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h

  Log Message:
  -----------
  [lldb][Darwin] Read Mach-O binaries out of memory more efficiently (#200072)

When lldb needs to read a Mach-O binary out of memory, it first reads
512 bytes to get the mach header, which includes the size of the load
commands, and then does a second read to get the mach header and load
commands.

I am changing the initial read to get 3192 bytes, which will include the
full load commands for most binaries.

In April I changed debugserver to return the correct size of the mach
header and load commands in a `sizeof_mh_and_loadcmds` key. If this
number is provided, refine the amount we read to this size.

This reduces the number of memory read packets we issue from 2 to 1 for
a memory module, outside of packets that may be needed to get the symbol
table.


  Commit: 9d1644738134c7132058dddf4b97f2a782429862
      https://github.com/llvm/llvm-project/commit/9d1644738134c7132058dddf4b97f2a782429862
  Author: Harald van Dijk <hdijk at accesssoftek.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.h
    M llvm/lib/Target/DirectX/DirectXIRPasses/CMakeLists.txt
    M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
    M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.h
    A llvm/test/tools/dxil-dis/dbg-value.ll
    M llvm/test/tools/dxil-dis/debug-info.ll

  Log Message:
  -----------
  [DirectX] Add an "offset" operand to llvm.dbg.value (#197478)

Offset operand was removed in abe04759a6, so we need to bring it back
for DXIL. If offset is not specified, it should be zero.

---------

Co-authored-by: Andrew Savonichev <andrew.savonichev at gmail.com>


  Commit: e69fb46030a03bcd9556d60844defd2bb9627587
      https://github.com/llvm/llvm-project/commit/e69fb46030a03bcd9556d60844defd2bb9627587
  Author: Roy Shi <royitaqi at users.noreply.github.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
    M llvm/tools/llvm-gsymutil/Opts.td
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp

  Log Message:
  -----------
  [gsymutil] Disable readahead in `GsymReader::openFile()` (#199230)

`GsymReader::lookup()` has random access pattern (i.e. binary search an
address, then spot-load/parse info from rest of the GSYM data).
Readahead strategies in kernels (which was enabled by default) don't
necessarily improve (and may degrade) performance. This patch disables
readahead.

In a production system, similar change has seen 5% improvement on IOPS
and data reads. An offline performance test on a Linux machine shows
similar results - it reduces 14.3% total data read, 3.5% CPU%, and 2.9%
wall time (while adding 9.4% page faults). The reduction of total data
read and CPU % may help the performance of a heavily-loaded production
system.
```
  ┌────────────────┬─────────────┬─────────┬────────┐
  │     Metric     │ MADV_RANDOM │ Default │  Diff  │
  ├────────────────┼─────────────┼─────────┼────────┤
  │ Wall (s)       │ 0.286       │ 0.294   │ -2.9%  │
  ├────────────────┼─────────────┼─────────┼────────┤
  │ Major PF       │ 203.6       │ 186.0   │ +9.4%  │
  ├────────────────┼─────────────┼─────────┼────────┤
  │ Minor PF       │ 4433.1      │ 4450.3  │ -0.4%  │
  ├────────────────┼─────────────┼─────────┼────────┤
  │ FS inputs (MB) │ 118.8       │ 138.7   │ -14.3% │
  ├────────────────┼─────────────┼─────────┼────────┤
  │ CPU %          │ 48.8        │ 50.6    │ -3.5%  │
  └────────────────┴─────────────┴─────────┴────────┘
```
The test is performed by doing 100 cold runs, where each run first
purges kernel page cache, then opens/mmaps a 3.8 GB GSYM file, and then
looks up 3 addresses at the beginning/middle/end of the address list.
See [test
script](https://gist.github.com/royitaqi/c06c733cccfbf747d63750b06db77b4a).

The pre-existing hidden option `llvm-gsymutil --benchmark-reader` is
extended to take optional `=<start>,<stride>` to make performance
testing easier.


  Commit: 5db13643f4b7038db0ca304d9f8900122502935c
      https://github.com/llvm/llvm-project/commit/5db13643f4b7038db0ca304d9f8900122502935c
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCUDANV.cpp
    A clang/test/CodeGenHIP/offload-pgo-sections.hip
    M compiler-rt/lib/profile/CMakeLists.txt
    M compiler-rt/lib/profile/InstrProfilingFile.c
    A compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    A llvm/test/Instrumentation/InstrProfiling/amdgpu-instrumentation.ll
    A llvm/test/Instrumentation/InstrProfiling/amdgpu-profc-arrays.ll
    A llvm/test/Instrumentation/InstrProfiling/gpu-weak.ll
    A llvm/test/Transforms/PGOProfile/amdgpu-disable-value-profiling.ll

  Log Message:
  -----------
  [PGO][AMDGPU] Add basic HIP offload PGO support (#177665)

Provide the minimum HIP/offload path for device profile collection and
merge on HIP before layering profile-format and uniformity-specific
changes separately.

This adds the ROCm collection runtime, hooks device collection into the
host write-file path, lowers AMDGPU instrumentation to
__llvm_profile_instrument_gpu with regular counters, and disables GPU
indirect-call value profiling.


  Commit: 1670d39972a1c6dd4a9e6f54d509a86a72dae1da
      https://github.com/llvm/llvm-project/commit/1670d39972a1c6dd4a9e6f54d509a86a72dae1da
  Author: Harald van Dijk <hdijk at accesssoftek.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    M llvm/lib/Target/DirectX/DirectXIRPasses/PointerTypeAnalysis.cpp
    A llvm/test/tools/dxil-dis/dbg-declare-undef.ll

  Log Message:
  -----------
  [DirectX] Handle undef the same way as null (#197507)


  Commit: 9cc6c9375faa11722435a150c9829df2452b48ca
      https://github.com/llvm/llvm-project/commit/9cc6c9375faa11722435a150c9829df2452b48ca
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M libclc/clc/include/clc/relational/clc_signbit.h
    M libclc/clc/lib/generic/relational/clc_signbit.cl
    A libclc/clc/lib/generic/relational/clc_signbit.inc

  Log Message:
  -----------
  [libclc] Optimize and vectorize signbit (#199497)

Replace element-wise scalarizing implementation with bitcast and shift.
For example,
define hidden range(i32 -1, 1) <2 x i32> @_Z7signbitDv2_f(<2 x float>
noundef %0) #0 {
  %2 = bitcast <2 x float> %0 to <2 x i32>
  %3 = extractelement <2 x i32> %2, i64 0
  %4 = lshr i32 %3, 31
  %5 = insertelement <2 x i32> poison, i32 %4, i64 0
  %6 = extractelement <2 x i32> %2, i64 1
  %7 = lshr i32 %6, 31
  %8 = insertelement <2 x i32> %5, i32 %7, i64 1
  %9 = icmp ne <2 x i32> %8, zeroinitializer
  %10 = sext <2 x i1> %9 to <2 x i32>
  ret <2 x i32> %10
}
is changed to:
define hidden noundef range(i32 -1, 1) <2 x i32> @_Z7signbitDv2_f(<2 x
float> noundef %0) #0 {
  %2 = bitcast <2 x float> %0 to <2 x i32>
  %3 = ashr <2 x i32> %2, splat (i32 31)
  ret <2 x i32> %3
}


  Commit: 1a5822e3c9421fd0a270e7bad3dff92219dd9da3
      https://github.com/llvm/llvm-project/commit/1a5822e3c9421fd0a270e7bad3dff92219dd9da3
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/test/CodeGenCoroutines/coro-gro4.cpp
    M clang/test/CodeGenCoroutines/coro-symmetric-transfer-03.cpp
    M clang/test/CodeGenCoroutines/coro-symmetric-transfer-04.cpp
    M clang/test/CodeGenCoroutines/pr65018.cpp
    M llvm/docs/Coroutines.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/Transforms/Coroutines/CoroShape.h
    M llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
    M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/test/Transforms/Coroutines/coro-alloc-with-param-O0.ll
    M llvm/test/Transforms/Coroutines/coro-alloc-with-param-O2.ll
    M llvm/test/Transforms/Coroutines/coro-alloca-07.ll
    M llvm/test/Transforms/Coroutines/coro-await-suspend-handle-in-ramp.ll
    M llvm/test/Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
    M llvm/test/Transforms/Coroutines/coro-await-suspend-lower.ll
    M llvm/test/Transforms/Coroutines/coro-debug-O2.ll
    M llvm/test/Transforms/Coroutines/coro-debug-coro-frame.ll
    M llvm/test/Transforms/Coroutines/coro-debug-dbg.values-not_used_in_frame.ll
    M llvm/test/Transforms/Coroutines/coro-debug-frame-variable.ll
    M llvm/test/Transforms/Coroutines/coro-debug-spill-dbg.declare.ll
    M llvm/test/Transforms/Coroutines/coro-debug.ll
    M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-00.ll
    M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-01.ll
    M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-02.ll
    M llvm/test/Transforms/Coroutines/coro-frame-arrayalloca.ll
    M llvm/test/Transforms/Coroutines/coro-frame.ll
    M llvm/test/Transforms/Coroutines/coro-noop-pacbti.ll
    M llvm/test/Transforms/Coroutines/coro-noop.ll
    M llvm/test/Transforms/Coroutines/coro-padding.ll
    M llvm/test/Transforms/Coroutines/coro-resume-destroy.ll
    M llvm/test/Transforms/Coroutines/coro-spill-corobegin.ll
    M llvm/test/Transforms/Coroutines/coro-spill-promise-02.ll
    M llvm/test/Transforms/Coroutines/coro-spill-promise.ll
    M llvm/test/Transforms/Coroutines/coro-spill-suspend.ll
    M llvm/test/Transforms/Coroutines/coro-split-dbg-labels-inlined.ll
    M llvm/test/Transforms/Coroutines/coro-split-dbg-labels.ll
    M llvm/test/Transforms/Coroutines/coro-split-eh-00.ll
    M llvm/test/Transforms/Coroutines/coro-split-eh-01.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail-chain-pgo-counter-promo.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail1.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail2.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail3.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail4.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail5.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail6.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail7.ll
    M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-01.ll
    M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-02.ll
    M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-03.ll
    M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-04.ll
    M llvm/test/Transforms/Coroutines/coro-split-tbaa-md.ll
    M llvm/test/Transforms/Coroutines/coro-zero-alloca.ll

  Log Message:
  -----------
  [coro] Use C calling convention for C++20 coroutines (#198943)

Change the calling convention for resume / destroy functions of C++
coroutines from `fastcc` to the C calling convention.

The resume / destroy functions are exposed as part of the coroutine ABI
and must be compatible with other compilers and other versions of LLVM.
fastcc is an LLVM-internal, unstable calling convention, though.

In practice, fastcc and the C calling convention are in sync for `void
func(void*)` function signatures on almost all platforms. Therefore, I
think we can still do this change without widespread ABI breakage.

`fastcc` and `ccc` do differ for i686 (x86-32), MIPS O32, PowerPC64
ELFv1 and Lanai. Afaik, those are all legacy ABIs and a recent feature
like C++20 coroutines is unlikely to be used by projects still targeting
legacy ABIs.

Historical context: I tried to figure out why `fastcc` was used. It is
around since the original commit f93082e71a94 from 2016, predating the
cross-vendor coroutine ABI work. I could not find any discussion of
whether this should use `fastcc` on the review or on the mailing list.

As a side-effect, this also fixes #91123.

Co-authored-by: Cursor <cursoragent at cursor.com>


  Commit: 830c8d625421ed5e86c73acb523f92ee4e39ee84
      https://github.com/llvm/llvm-project/commit/830c8d625421ed5e86c73acb523f92ee4e39ee84
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    A llvm/test/tools/llvm-symbolizer/Inputs/wasm-basic.yaml
    R llvm/test/tools/llvm-symbolizer/lit.local.cfg
    M llvm/test/tools/llvm-symbolizer/wasm-basic.s

  Log Message:
  -----------
  test(llvm-symbolizer): fix Wasm layering violation by using YAML (#200080)

Avoid using wasm-ld in LLVM tests by prebuilding the test binary
as a YAML file and using yaml2obj at test time.

This matches the approach taken in
4bce216e6b550c770f2e536422c3d95333f65ba3.
Because yaml2obj always uses 5-byte LEBs, the CODE section offset
shifted from 0x37 to 0x4b, so the file offsets passed to llvm-symbolizer
were updated accordingly.

Replaces #200046

Assisted-by: Gemini


  Commit: 740e52bc99696661f357d4feb975f0209082cea9
      https://github.com/llvm/llvm-project/commit/740e52bc99696661f357d4feb975f0209082cea9
  Author: Harald van Dijk <hdijk at accesssoftek.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
    A llvm/test/tools/dxil-dis/di-label.ll

  Log Message:
  -----------
  [DirectX] Drop debug labels (#197490)

Debug labels did not exist in LLVM 3.7 and have no equivalent.


  Commit: d65897289e68696fa5f5b2d2f449f7633fff13ab
      https://github.com/llvm/llvm-project/commit/d65897289e68696fa5f5b2d2f449f7633fff13ab
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm

  Log Message:
  -----------
  [alpha.webkit.UncountedLocalVarsChecker] Detect an assignment to a guardian argument (#198695)

A function parameter of type RefPtr<T>& should not be used as a guardian
variable of a raw pointer/reference variable if the function body
contains an assignment to it since such an assignment can shorten the
lifetime of the guarded object.


  Commit: dbe6800baeec47c538f95421348c6c62a38f061c
      https://github.com/llvm/llvm-project/commit/dbe6800baeec47c538f95421348c6c62a38f061c
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float.ll
    M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
    M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/code-size-estimate.ll
    M llvm/test/CodeGen/AMDGPU/commute-compares-scalar-float.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
    M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/imm16.ll
    M llvm/test/CodeGen/AMDGPU/immv216.ll
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
    M llvm/test/CodeGen/AMDGPU/llvm.round.ll
    M llvm/test/CodeGen/AMDGPU/lround.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
    M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.f16.ll
    M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/select.f16.ll
    M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
    M llvm/test/CodeGen/AMDGPU/true16-imm-folded-to-0-regression.ll
    M llvm/test/MC/AMDGPU/gfx1150_asm_salu_float.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sopc.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx13_asm_sopc.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop3-fake16.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1-fake16.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/literals.s
    M llvm/test/MC/AMDGPU/vop3-gfx10.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3c.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx1150_dasm_salu_float.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3c.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx8_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx8_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3c.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx9_vopcx.txt

  Log Message:
  -----------
  [AMDGPU] This reverts patches to use fp16 inline constants for i16 (#200091)

Patches reverted:

commit c315c662cd2d33e0c7f962fed742ee53626d8005
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date:   Wed May 27 12:51:13 2026

    [AMDGPU] Fix codesize estimate after #198005 (#200033)

    This fixes failure in libc tests which checks the exact encoding
    size. Encoding is now shorter, but it did not recognize fp16
    immediates as an inlinable constant and assumes literal encoding.

    Shorter encodings were created here:
    https://github.com/llvm/llvm-project/pull/198005

commit 2b3bc03b5ef00e7eaa245420ca981c700e1c05c4
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date:   Wed May 27 10:55:36 2026

    [AMDGPU] Use shorter form for i16 operands (#198005)

    For 16-bit operands an inline constant is zero extended
    which in particular allows to use FP constants. These
    will have 16 bits of zeroes in the high half and FP16
    value in the low 16 bits.

    The patch changes semantics of the FP literal argument
    used in i16 context in the asm parser to fp16.

Apparently this breaks some libc tests with bf16. I do not know
why, these were not supposed to be affected. Reverting for now.

Failed tests: https://lab.llvm.org/buildbot/#/builders/10/builds/29005


  Commit: 0381a09309c6fc1e8aec031580ef5d2396143c79
      https://github.com/llvm/llvm-project/commit/0381a09309c6fc1e8aec031580ef5d2396143c79
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/runtime-strided-stores.ll

  Log Message:
  -----------
  [SLP] Precommit tests for runtime strided stores (#200019)

Accompanies #200018


  Commit: 5b17cdb0b5827d8423470084e6004c5686d9cb2a
      https://github.com/llvm/llvm-project/commit/5b17cdb0b5827d8423470084e6004c5686d9cb2a
  Author: SiHuaN <liyongtai at iscas.ac.cn>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvp-narrowing-shift-trunc.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll

  Log Message:
  -----------
  [RISCV][P-ext] Split v4i16/v8i8 INSERT/EXTRACT_VECTOR_ELT on RV32. (#199917)

With a constant lane index, split the vector and recurse on the
single-GPR half containing Idx (already Custom-lowered).


  Commit: 6619c82f729487ada200a074c72f7260511bb23e
      https://github.com/llvm/llvm-project/commit/6619c82f729487ada200a074c72f7260511bb23e
  Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
    A llvm/test/CodeGen/RISCV/move-merge-zdinx-mvsa-regression.mir

  Log Message:
  -----------
  [RISCV] Fix incorrect CM.MVSA01/QC_CM_MVSA01 generation with Zdinx (#200000)

The `RISCVMoveMerger` pass was incorrectly forming
`CM_MVSA01/QC_CM_MVSA01` when `Zdinx` was enabled. The pass attempted CM
merge for copy pairs even when the first copy was not an `a0/a1-based`
CM candidate.

Fix by only running `findMatchingInst` when the current copy is a valid
CM candidate.


  Commit: f9185454a9a70fd351cb8a1ba3b2b3e33e064c06
      https://github.com/llvm/llvm-project/commit/f9185454a9a70fd351cb8a1ba3b2b3e33e064c06
  Author: lijinpei-amd <jinpli at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaObjC.h
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    A clang/test/AST/ast-print-amdgcn-predicate.c

  Log Message:
  -----------
  [clang][AMDGPU] Fix -ast-print crash on expanded predicate builtins (#199963)

ExpandAMDGPUPredicateBuiltIn synthesized an IntegerLiteral typed
_Bool/bool — a shape no other producer creates, and one that
StmtPrinter::VisitIntegerLiteral has no case for. -ast-print on the
resulting if-condition hit llvm_unreachable.

Emit the canonical boolean literal instead:

- C++, C23, OpenCL, HIP: CXXBoolLiteralExpr 'bool'
- pre-C23 C: IntegerLiteral 'int'

In the C case this matches what <stdbool.h>'s true/false macros expand
to.

Fixes #199563


  Commit: 2d5dac5b816726621d08ac695ed0b9799dfb7209
      https://github.com/llvm/llvm-project/commit/2d5dac5b816726621d08ac695ed0b9799dfb7209
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 5db1364 (#200104)

The commit added a dep from profile -> interception, so define that
target too

Fixes 5db13643f4b7038db0ca304d9f8900122502935c


  Commit: 635e120fb87304924508a7a204574727e3c37363
      https://github.com/llvm/llvm-project/commit/635e120fb87304924508a7a204574727e3c37363
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M compiler-rt/lib/profile/InstrProfilingFile.c
    M compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp

  Log Message:
  -----------
  [PGO][HIP] Stop pulling ROCm.o into every PGO host link (#200101)

PR #177665 added an unconditional `extern` reference to
`__llvm_profile_hip_collect_device_data` from `InstrProfilingFile.c`,
which forces `InstrProfilingPlatformROCm.o` (and its sanitizer_common /
interception dependencies) out of `libclang_rt.profile.a` in every PGO
binary. That breaks bots without `-lpthread` and races dlsym/PLT state
in non-HIP programs via the interceptor constructor.

Fix:
- Declare the hook `COMPILER_RT_WEAK` and gate the call on its address.
No `COMPILER_RT_VISIBILITY`: a hidden weak-undef function would be
non-preemptible and the address test would fold to true.
- Gate `installHipModuleInterceptors` on `dlsym(hipModuleLoad)` so the
constructor is a no-op if `ROCm.o` is still pulled in.

Fixes:
- https://lab.llvm.org/buildbot/#/builders/66/builds/31311
- https://lab.llvm.org/buildbot/#/builders/174/builds/36180

Verified:
- `check-profile` 134/134 pass.
- `nm` on a non-HIP `clang -fprofile-generate` binary: zero
`installHip`/`ROCm`/`sanitizer`/`hip_collect` symbols.
- HIP offload PGO end-to-end on gfx1101 (compile → run → `llvm-profdata
merge` → `llvm-cov`) still works; interceptor installs, device profile
collected via shared API.


  Commit: d5e97d77289c59d785284e6a0361570a1651acd6
      https://github.com/llvm/llvm-project/commit/d5e97d77289c59d785284e6a0361570a1651acd6
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/split-debug.c

  Log Message:
  -----------
  [Driver] Honor /Fo when deriving the split-dwarf .dwo path (#199613)

SplitDebugName checked -o and /o but not /Fo, so clang-cl /Fo<path> /c
fell through to the cwd-relative fallback and every .dwo landed in cwd
under <source-stem>.dwo regardless of the .obj location.


  Commit: a20e85f74d7a3f1bc29cb80fa6d47cf74e9f2aa0
      https://github.com/llvm/llvm-project/commit/a20e85f74d7a3f1bc29cb80fa6d47cf74e9f2aa0
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    A clang/test/CXX/basic/basic.link/p11.cpp

  Log Message:
  -----------
  [clang] NFC: add test cases from #111561 (#200105)

This adds those test cases while #111561 gathers dust.


  Commit: da4894c874edb5fc9b9b82a8a99ed471a49153bf
      https://github.com/llvm/llvm-project/commit/da4894c874edb5fc9b9b82a8a99ed471a49153bf
  Author: Arda Serdar Pektezol <arda at pektezol.dev>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    M llvm/test/Transforms/LoopFusion/loop_invariant.ll
    A llvm/test/Transforms/LoopFusion/pr191238.ll

  Log Message:
  -----------
  [LoopFusion] reject unsafe scalar flow dependences (#195895)

`loop-fusion` treats any loop-invariant scalar non-anti dependence as
safe to fuse. In the linked issue, it incorrectly allows scalar flow
dependences where the first loop writes a loop-invariant location and
the second loop later reads that same location. Fusion interleaves the
producer and consumer and this changes the value observed by the second
loop.

Example C source would look like:
```C
for (int i = 0; i < N; i++) {
    ptr[0] = i;
}
for (int j = 0; j < N; j++) {
    out[j] = ptr[0];
}
=>
for (int i = 0; i < N; i++) {
    ptr[0] = i;
    out[i] = ptr[0];
}
```

This patch makes the DA scalar-dependence shortcut **_more
conservative_** by rejecting scalar non-anti and allowing input/output
dependences. This preserves the existing safe read and write cases while
preventing the miscompile above.

The patch also updates the `loop-fusion` debug message to reflect the
narrower accepted case, updates the existing regression to check the new
debug message, and adds a new regression from the linked issue.

Fixes #191238


  Commit: 5acb952cb5d9c899692f44f4280af75a780a599c
      https://github.com/llvm/llvm-project/commit/5acb952cb5d9c899692f44f4280af75a780a599c
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/CodeGenHIP/profile-coverage-mapping.hip
    M clang/test/Driver/hip-options.hip

  Log Message:
  -----------
  [HIP][Driver] Forward -fcoverage-mapping flags to device compiler (#198872)

Add `-fcoverage-mapping`, `-fno-coverage-mapping`,
`-fcoverage-compilation-dir=`, `-ffile-compilation-dir=`, and
`-fcoverage-prefix-map=` to the LinkerWrapper `CompilerOptions`
forwarding list. Without this, passing `-fprofile-instr-generate
-fcoverage-mapping` to clang for a HIP program silently omits the
coverage mapping flags from the embedded device recompilation, so
`__llvm_covmap`/`__llvm_covfun` sections are never emitted for device
code.


  Commit: 846bfd77ddc44ef76882fd165fa4d5b68b760456
      https://github.com/llvm/llvm-project/commit/846bfd77ddc44ef76882fd165fa4d5b68b760456
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [LifetimeSafety] Avoid assert on variadic placement new (#199588)

Avoid assuming that a placement allocation function has a second
`ParmVarDecl` before checking whether that parameter is `void*`.
Variadic `operator new(size_t, ...)` can have a placement argument
matched by the ellipsis instead.

As of AI Usage: Codex is used to help rephrase part of the new comments.

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


  Commit: 1da70ad6da64e5737aae1b8aad1bc97a36bbe1cf
      https://github.com/llvm/llvm-project/commit/1da70ad6da64e5737aae1b8aad1bc97a36bbe1cf
  Author: Gaurav Dhingra <gauravdhingra.gxyd at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses.cpp

  Log Message:
  -----------
  [clang-tidy] Fix false positive of parentheses removal for overloaded operator (#192254)

Fixes #189217
    
don't remove necessary parentheses for an overloaded operator, when
the parenthese occurs in the context of a binary operation
    
E.g. (E1 & E2) != E3       // the brackets aren't redundant here
E.g. (E1 & E2)             // brackets are redundant here


  Commit: 48a1ee7bc8e1d740edf635c39e0223b9b02a6ae1
      https://github.com/llvm/llvm-project/commit/48a1ee7bc8e1d740edf635c39e0223b9b02a6ae1
  Author: Dark Steve <Prasoon.Mishra at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/wait-xcnt-drain.mir
    M llvm/test/CodeGen/AMDGPU/wait-xcnt.mir

  Log Message:
  -----------
  [AMDGPU] Remove redundant s_wait_xcnt after implicit XCNT drains (#198823)

On gfx1250 several instructions implicitly drain XCNT in hardware:
`s_barrier_wait`/`signal`/`signal_isfirst`, `s_sendmsg`, PC-changes etc.
This patch will remove redundant `s_wait_xcnt` after implicit XCNT
drains.

Pre-commit tests on #198772
Fix: LCOMPILER-1665


  Commit: 9cd3c0b99e5df66adcc96a2fc03b9b177d6ca487
      https://github.com/llvm/llvm-project/commit/9cd3c0b99e5df66adcc96a2fc03b9b177d6ca487
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2026-05-27 (Wed, 27 May 2026)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    A clang/test/CodeGenHLSL/resources/res-array-global-to-local.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-local2.hlsl
    M clang/test/CodeGenHLSL/resources/resource-bindings.hlsl
    A clang/test/CodeGenHLSL/resources/resources-in-structs-array-to-local.hlsl

  Log Message:
  -----------
  [HLSL] Codegen for handling global resource array initialization (#198891)

When a global resource array is accessed - whether it is declared at a
global scope or as part of a global struct instance - all of its
resource elements should be initialized from binding into a temporary
local resource array. This change intercepts the Clang codegen at the
relevant places to allow `CGHLSLRuntime` handle this special global
resource array initialization.

Fixes #187087
Fixes #198888


  Commit: 690a25fd5b0bf7118370efbc681661a24a40b83a
      https://github.com/llvm/llvm-project/commit/690a25fd5b0bf7118370efbc681661a24a40b83a
  Author: eleviant <eleviant at accesssoftek.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    A clang/test/CodeGen/AArch64/mskernel-interlocked.c
    A clang/test/CodeGen/X86/mskernel-interlocked.c
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    A llvm/test/CodeGen/X86/volatile-atomicrmw.ll

  Log Message:
  -----------
  [clang] Don't optimize out no-op atomics in kernel mode (#193562)

The no-op atomics like InterlockedAnd(addr, (UINT32)-1) don't modify
the underlying value, however kernel code depends on these accesses
to touch the pool page virtual address and intentionally trigger a page
fault during page migration. This patch also fixes an LLVM issue where
idempotent volatile atomics were incorrectly lowered into memory fences.


  Commit: 8059bc5944b72f3f6f3734ef61bf9eb89ca850a4
      https://github.com/llvm/llvm-project/commit/8059bc5944b72f3f6f3734ef61bf9eb89ca850a4
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Fix a diagnostic difference in bitcasts (#197174)

Don't immediately return failure and let it be handled by later checks.


  Commit: 191aa295d9c9fe83411ae5cdfeb8a6bb8decb3d2
      https://github.com/llvm/llvm-project/commit/191aa295d9c9fe83411ae5cdfeb8a6bb8decb3d2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Do not allow free via synchronization in nofree (#195658)

The nofree attribute is currently specified to only forbid direct free
calls inside the function. A nofree function is still allowed to compel
a pointer to be freed by a different thread through synchronization.

This is currently only spelled out for the function-level nofree
attribute, but I assume the same semantics also hold for argument nofree
(and this matches how the Attributor implementation infers it).

The original motivation for this definition was to keep the attributes
orthogonal and independently inferable. However, the problem is that
nosync is a too strong condition: It excludes *any* synchronization, not
just synchronization that results in the free of a pointer.

Some frontends like Rust can guarantee that most pointer arguments
cannot be freed for the duration of a function call, including via
synchronization. However, they cannot guarantee that no synchronization
takes place at all. The current definition of nofree makes this
inexpressible in LLVM IR, which blocks further progress on
dereferenceable-at-point semantics.

This PR makes two changes to the nofree spec:

* Function-level nofree now disallows free via synchronization,
specified in terms of happens-before.
* Argument-level nofree is now specified in terms of provenance: The
argument has derived provenance that makes it UB to free during the
execution of the function (which includes freeing on another thread with
appropriate synchronization). This also clarified that argument-level
nofree only applies to the particular pointer (similar to `captures`
etc). The underlying object may still be freed via a different argument
to which the same pointer is passed.

Note: The necessary inference changes for the new semantics will
be implemented in a separate PR.


  Commit: 486370c33fbd75247ef608a2ebc04ddaefd2ab46
      https://github.com/llvm/llvm-project/commit/486370c33fbd75247ef608a2ebc04ddaefd2ab46
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-cooperative-atomics.cl

  Log Message:
  -----------
  [AMDGPU][Clang] refactor addrspace and scope checks [NFC] (#199175)

Assisted-By: Claude Opus 4.6


  Commit: 942292bf75168377cc06dfa2ba90a552d6d24a69
      https://github.com/llvm/llvm-project/commit/942292bf75168377cc06dfa2ba90a552d6d24a69
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M orc-rt/include/orc-rt/NativeDylibManager.h
    M orc-rt/lib/executor/NativeDylibManager.cpp
    M orc-rt/lib/executor/sps-ci/NativeDylibManagerSPSCI.cpp
    M orc-rt/unittests/NativeDylibManagerSPSCITest.cpp
    M orc-rt/unittests/NativeDylibManagerTest.cpp

  Log Message:
  -----------
  [orc-rt] Remove NativeDylibManager unload operation. (#200119)

NativeDylibManager is intended to act as a backend for
llvm::orc::DylibManager, which does not expose an unload operation. This
commit removes the explicit unload from both the C++ and SPS interfaces,
and unloads dylibs via an on-shutdown callback instead.


  Commit: 6ed05a0b53dc777408305333dcbeec9dac4ea687
      https://github.com/llvm/llvm-project/commit/6ed05a0b53dc777408305333dcbeec9dac4ea687
  Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp

  Log Message:
  -----------
  Revert "[Clang] prevent constexpr crash on invalid overrides" (#199895)

Reverts #184048

---

The original change marks invalid overrides too early, causing follow-up
Sema regressions in special-member handling and MS-compatible override
diagnostics.


  Commit: 91d765f6ab10974f2c7080c90fe26b21bd7d7cb1
      https://github.com/llvm/llvm-project/commit/91d765f6ab10974f2c7080c90fe26b21bd7d7cb1
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/test/CodeGen/sanitize-metadata-nosanitize.c
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/test/Transforms/Attributor/align-atomic.ll
    M llvm/test/Transforms/Attributor/align.ll
    M llvm/test/Transforms/Attributor/liveness.ll
    M llvm/test/Transforms/Attributor/noalias.ll
    M llvm/test/Transforms/Attributor/nocapture-1.ll
    M llvm/test/Transforms/Attributor/nocapture-2.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/Attributor/nonnull.ll
    M llvm/test/Transforms/Attributor/nosync.ll
    M llvm/test/Transforms/Attributor/range.ll
    M llvm/test/Transforms/Attributor/readattrs.ll
    M llvm/test/Transforms/Attributor/undefined_behavior.ll
    M llvm/test/Transforms/Attributor/value-simplify-instances.ll
    M llvm/test/Transforms/Attributor/value-simplify-pointer-info-struct.ll
    M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
    M llvm/test/Transforms/Attributor/value-simplify.ll
    M llvm/test/Transforms/FunctionAttrs/atomic.ll
    M llvm/test/Transforms/FunctionAttrs/nocapture.ll
    M llvm/test/Transforms/FunctionAttrs/nonnull.ll
    M llvm/test/Transforms/FunctionAttrs/nosync.ll
    M llvm/test/Transforms/FunctionAttrs/readattrs.ll
    M llvm/test/Transforms/FunctionAttrs/writeonly.ll
    M llvm/test/Transforms/OpenMP/parallel_deletion.ll

  Log Message:
  -----------
  [FunctionAttrs][Attributor] Update nofree inference (#196266)

This updates nofree inference after the semantics changes in
https://github.com/llvm/llvm-project/pull/195658.

FunctionAttrs currently only supports function-level nofree inference,
so we just need to check for potentially synchronizing instructions.

Attributor also supports argument nofree, in which case we make
additional changes:
* For callsite arguments, in addition to checking nofree, we also need
to check nocapture. If the call itself doesn't free the arg, it may
still capture it and then we may free it via the captured pointer later.
The way this was handled was already incorrect prior to the semantics
changes.
* Reformulate the handling for other instructions in terms of looking
for provenance captures, as that's what the code was essentially doing,
in a crude way. I'm including this to avoid some regressions for cases
where we can no longer infer function nofree, but can still infer
argument nofree.


  Commit: 35bfc00c5c8db8b5895b83045bbd9562691c0af1
      https://github.com/llvm/llvm-project/commit/35bfc00c5c8db8b5895b83045bbd9562691c0af1
  Author: Iris Shi <0.0 at owo.li>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/or-bitmask.ll

  Log Message:
  -----------
  [InstCombine] Fix type mismatch in `foldBitmaskMul` (#199920)

Resolves #199506.

`matchBitmaskMul` matches the form `!(A & N) ? 0 : N * C`.

When the select arms are splat vectors but A is a scalar, this produces
malformed ir like `%57 = and i64 %49, <4 x i64> splat (i64
3689348814741910323)`.

Reproducer: https://godbolt.org/z/EYzKTxcKn


  Commit: 4306b4ab9c12a8b9bf4314cbaa7400eeaa1e7ddc
      https://github.com/llvm/llvm-project/commit/4306b4ab9c12a8b9bf4314cbaa7400eeaa1e7ddc
  Author: William Tran-Viet <wtranviet at proton.me>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__memory/ranges_uninitialized_algorithms.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/uninitialized_copy.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/uninitialized_copy_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/ranges_uninitialized_fill_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/uninitialized_fill_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/ranges_uninitialized_fill.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/uninitialized_fill.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move_n.pass.cpp

  Log Message:
  -----------
  [libc++] Implement P3508R0: Wording for "constexpr for specialized memory algorithms" (#197313)

Resolves #118379

- Add `constexpr` to affected areas
- Add `constexpr` tests
- Update documentation

Tests were created with AI assistance.


  Commit: 5c95f6a859394757b92b0d63ff90b9175056deb6
      https://github.com/llvm/llvm-project/commit/5c95f6a859394757b92b0d63ff90b9175056deb6
  Author: Martin Storsjö <martin at martin.st>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M lld/COFF/Chunks.cpp
    M lld/test/COFF/arm64-relocs-imports.test

  Log Message:
  -----------
  [LLD] [COFF] Fix handling of immediates in ARM64_SECREL_HIGH12A (#200060)

Just like for PAGEBASE_REL21, the immediate in SECREL_HIGH12A is the
byte offset, not a page offset. The byte level offset is added to the
symbol offset, which only then after that gets shifted right by 12. This
makes the handling of this immediate consistent with what MS link.exe
does.

The existing testcase had a zero immediate in the instruction for this
relocation.

This makes it clear that immediate offsets with SECREL_HIGH12A do work
fine, where the byte level offsets end up carrying over to the upper
bits.


  Commit: 5dc8711b4e553ba0ddab673564ac9b6309862e81
      https://github.com/llvm/llvm-project/commit/5dc8711b4e553ba0ddab673564ac9b6309862e81
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M mlir/include/mlir/Interfaces/MemorySlotInterfaces.h
    M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
    M mlir/lib/Interfaces/MemorySlotInterfaces.cpp
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/test/Transforms/mem2reg.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [mlir][mem2reg] Promote memory slots through transparent view operations (#196924)

This patch enables mem2reg to operate on load/store that are made
through cast/views of the memory slot (not directly using the SSA value
produced by the allocation op).

This is done by adding a new `PromotableAliaserInterface` interface that must
be implemented by operations that define view of the slot and through which
mem2reg should still happen.

This interface comes with three APIs. The first one allows the operation to
provide new MemorySlots that are aliasing an input MemorySlot. The slot pointers
of these new MemorySlot are results of the operation.

The other two APIs allows projecting the reaching values between the input and output
MemorySlot (one API for each direction).

Assisted by: Claude

RFC:
https://discourse.llvm.org/t/mlir-mem2reg-rfc-promote-memory-slots-through-transparent-view-operations/90761


  Commit: b51a8025bed107c5f9a8113a6ecf446f86eeb9b6
      https://github.com/llvm/llvm-project/commit/b51a8025bed107c5f9a8113a6ecf446f86eeb9b6
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/CodeGen/TargetBuiltins/X86.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/test/CodeGen/scoped-atomic-ops.c
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    M clang/test/CodeGenCUDA/atomic-options.hip
    M clang/test/CodeGenCUDA/builtins-amdgcn.cu
    M clang/test/CodeGenCUDA/builtins-spirv-amdgcn.cu
    M clang/test/CodeGenCUDA/record-layout.cu
    M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
    M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
    M clang/test/CodeGenHIP/placement-new-addrspace.hip
    M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/CodeGenOpenCL/atomic-ops.cl
    M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
    M clang/test/OpenMP/amdgcn_target_device_vla.cpp
    M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp

  Log Message:
  -----------
  Revert "[clang] remove lots of "innocuous" addrspacecasts" (#199685)

Reverts llvm/llvm-project#197745

Broke AMDGPU HIP Kokkos bot:
https://lab.llvm.org/buildbot/#/builders/230/builds/958

Late reply as the breakage got lost in some trouble with the buildbot
fleet.

Co-authored-by: Kewen Meng <Kewen.Meng at amd.com>


  Commit: af772866888eb2e2053b5f4d784510006d760e62
      https://github.com/llvm/llvm-project/commit/af772866888eb2e2053b5f4d784510006d760e62
  Author: Davide Grohmann <davide.grohmann at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    A mlir/include/mlir/Target/SPIRV/SPIRVExtInstSets.h
    M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaPass.cpp
    M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
    M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
    M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
    M mlir/lib/Target/SPIRV/Serialization/Serializer.h
    M mlir/lib/Target/SPIRV/TranslateRegistration.cpp
    R mlir/test/Target/SPIRV/debug-negative.mlir
    A mlir/test/Target/SPIRV/graph-debug-info-negative.mlir
    A mlir/test/Target/SPIRV/graph-debug-info.mlir
    M mlir/unittests/Dialect/SPIRV/DeserializationTest.cpp

  Log Message:
  -----------
  [mlir][spirv] Add SPIR-V NonSemantic.Graph.DebugInfo (#199519)

Add serialization and deserialization support for the SPIR-V
NonSemantic.Graph.DebugInfo.1 extended instruction set used by ARM graph
modules.
    
When debug info emission is enabled, serialize DebugGraph,
DebugOperation,
and DebugTensor records for graph objects, TOSA operations, graph
tensors,
and tensor constants. Emit the records after the SPIR-V objects they
reference, and make DebugOperation point at the DebugGraph result id.
    
Deserialize these records back into MLIR locations and diagnose
malformed
or undefined debug-info references.
    
Enable SPV_KHR_non_semantic_info in the default TOSA-to-SPIR-V target
environment so debug info can be emitted by default.
    
Specification:

https://github.com/KhronosGroup/SPIRV-Registry/blob/main/nonsemantic/NonSemantic.Graph.DebugInfo.asciidoc

Signed-off-by: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Co-authored-by: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>


  Commit: 538140ff2cb74ab2a9496119686041ea509daa08
      https://github.com/llvm/llvm-project/commit/538140ff2cb74ab2a9496119686041ea509daa08
  Author: Guy David <guyda96 at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/include/module.modulemap

  Log Message:
  -----------
  [clang] Add missing BuiltinAnchorSources.def to module map (#200125)

Started with 5db13643f4b7038db0ca304d9f8900122502935c.


  Commit: 626f4061e7f2d84813f5307bd03f35592e4b70c1
      https://github.com/llvm/llvm-project/commit/626f4061e7f2d84813f5307bd03f35592e4b70c1
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
    M mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir

  Log Message:
  -----------
  [mlir][SPIRVToLLVM] Add conversions for more GL ops (#200115)


  Commit: 597b1376bab39259fb3a03fb320dcd15a8b8f2f2
      https://github.com/llvm/llvm-project/commit/597b1376bab39259fb3a03fb320dcd15a8b8f2f2
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M mlir/lib/Conversion/ComplexToSPIRV/ComplexToSPIRV.cpp
    M mlir/test/Conversion/ComplexToSPIRV/complex-to-spirv.mlir

  Log Message:
  -----------
  [mlir][SPIR-V][complex] Convert complex.add/sub/mul/div to SPIR-V ops (#200123)


  Commit: 3a50239454f81b6f6647021737bbf7797a06e00c
      https://github.com/llvm/llvm-project/commit/3a50239454f81b6f6647021737bbf7797a06e00c
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitter/HwModes.td
    M llvm/test/TableGen/RegClassByHwMode.td
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp

  Log Message:
  -----------
  [GlobalISel] Replace `GIM_CheckFeatures` with `GIM_Try_CheckFeatures` (#198461)

This has two benefits. First, it slightly reduces the size of the match
table.
Secondly, if the target feature is not present, we can directly go to
the fail
case, instead of having to do another loop of the interpreter, speeding
up
rejection of rules that do not have the required target feature.

We could do the same with CheckSimplePredicate but it's less used (only
in the combiners I think)
so it is less of a priority.

```
FILE                                          OLD      NEW    DIFF%    SAME?
----                                      -------  -------    -----    -----
AArch64GenGlobalISel.inc                   192681   185938    -3,5%       no
AArch64GenPostLegalizeGICombiner.inc         4457     4457     0,0%      yes
AArch64GenPreLegalizeGICombiner.inc          9010     9009    -0,0%       no
AMDGPUGenGlobalISel.inc                    596402   568486    -4,7%       no
AMDGPUGenPostLegalizeGICombiner.inc          9240     9238    -0,0%       no
AMDGPUGenPreLegalizeGICombiner.inc           8987     8987     0,0%      yes
AMDGPUGenRegBankGICombiner.inc               1981     1980    -0,1%       no
```


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

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

  Log Message:
  -----------
  [VPlan] Don't use Ingredient to get type in VPWidenMemoryRecipe (NFC) (#200049)

The scalar load/store type is already available on the recipe: load
recipes inherit from VPSingleDefRecipe and expose it via
getScalarType(); store recipes can derive it from the stored value's
type via VPTypeAnalysis.

This migrates a number of lookups to be based on information already
available in VPlan directly.


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

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

  Log Message:
  -----------
  [Bazel] Fixes 5dc8711 (#200129)

This fixes 5dc8711b4e553ba0ddab673564ac9b6309862e81.

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


  Commit: 8a9a82c53e82c8bcbde3f01cf674b8afc5fed753
      https://github.com/llvm/llvm-project/commit/8a9a82c53e82c8bcbde3f01cf674b8afc5fed753
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [VPlan] Remove redundant vp_merge pattern. NFC (#200116)

m_RemoveMask still matches even if there's no other mask combined, we
just need to check if Mask is null.


  Commit: 4503872fe57315e6df7dbc93128dbe6a02011872
      https://github.com/llvm/llvm-project/commit/4503872fe57315e6df7dbc93128dbe6a02011872
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
    M llvm/include/llvm/IR/Instruction.h
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/test/Transforms/FunctionAttrs/atomic.ll
    M llvm/test/Transforms/FunctionAttrs/nocapture.ll
    M llvm/test/Transforms/FunctionAttrs/nosync.ll
    M llvm/test/Transforms/FunctionAttrs/writeonly.ll

  Log Message:
  -----------
  [IR][FunctionAttrs] Clarify memory effects of atomics (#193768)

FunctionAttrs was treating atomic instructions, including with ordering
stronger than monotonic, as only reading/writing their operand.

I don't think doing this is correct, because we model the ordering
constraints of synchronizing atomics via reading/writing "all" memory.
So e.g. if you have a function with a release store on an argument,
marking it as argmem-only is wrong, because that would permit reordering
accesses to other locations around it. (What this PR is doing is not
*sufficient* to model this correctly due to the fence-like effects on
not-yet-escaped memory, but it brings us closer to correctness.)

I initially tried to implement mayReadFromMemory() and
mayWriteToMemory() on top of getMemoryEffects(), but this caused
significant compile-time regressions, so I've kept the logic duplicated.


  Commit: 0e02ccdaf01081dbd947e192fb4769da7bf74d54
      https://github.com/llvm/llvm-project/commit/0e02ccdaf01081dbd947e192fb4769da7bf74d54
  Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/include/llvm-c/Remarks.h
    M llvm/include/llvm-c/lto.h

  Log Message:
  -----------
  llvm: Fix most LLVM_C_ABI annotations (#199914)

This updates most LLVM_C_ABI annotations in the llvm-c headers to match
expected usage:
* All public APIs should be properly annotated.
* Inlined functions should not be annotated.

These changes were done by a script fixing annotations on LLVM public
headers and manually checked.

This effort is tracked in #109483.


  Commit: 1235c442a3c08e9cb4a9d2a6c082f392ec0885f1
      https://github.com/llvm/llvm-project/commit/1235c442a3c08e9cb4a9d2a6c082f392ec0885f1
  Author: Sohaib Iftikhar <sohaibiftikhar at google.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:

  Log Message:
  -----------
  Fix Bazel build for 5dc8711 (#200142)

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


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi2.ll

  Log Message:
  -----------
  [X86] matchBinaryPermuteShuffle - match to X86ISD::SHLD funnel shift patterns (#200136)

Add matchShuffleAsVSHLD helper to recognise shuffle masks that can fold to funnel shifts

Fixes #145276


  Commit: 174eb79572b3433aa338ede31815fa8fa6a13b29
      https://github.com/llvm/llvm-project/commit/174eb79572b3433aa338ede31815fa8fa6a13b29
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/arm/fixdfdi.S
    A compiler-rt/lib/builtins/arm/fixdfsi.S
    A compiler-rt/lib/builtins/arm/fixsfdi.S
    A compiler-rt/lib/builtins/arm/fixsfsi.S
    A compiler-rt/lib/builtins/arm/fixunsdfdi.S
    A compiler-rt/lib/builtins/arm/fixunsdfsi.S
    A compiler-rt/lib/builtins/arm/fixunssfdi.S
    A compiler-rt/lib/builtins/arm/fixunssfsi.S
    A compiler-rt/test/builtins/Unit/fixdfdinew_test.c
    A compiler-rt/test/builtins/Unit/fixdfsinew_test.c
    A compiler-rt/test/builtins/Unit/fixsfdinew_test.c
    A compiler-rt/test/builtins/Unit/fixsfsinew_test.c
    A compiler-rt/test/builtins/Unit/fixunsdfdinew_test.c
    A compiler-rt/test/builtins/Unit/fixunsdfsinew_test.c
    A compiler-rt/test/builtins/Unit/fixunssfdinew_test.c
    A compiler-rt/test/builtins/Unit/fixunssfsinew_test.c

  Log Message:
  -----------
  [compiler-rt][ARM] Optimized FP -> integer conversions (#179927)

This commit adds a total of 8 new functions, all converting a
floating-point number to an integer, varying in 3 independent choices:

* input float format (32-bit or 64-bit)
* output integer size (32-bit or 64-bit)
* output integer type (signed or unsigned)


  Commit: cee1c3ba576fc6259510313b73fde56150268c52
      https://github.com/llvm/llvm-project/commit/cee1c3ba576fc6259510313b73fde56150268c52
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TargetEnv.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Dialect/Tosa/IR/TargetEnv.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    R mlir/test/Dialect/Tosa/fold_concats.mlir

  Log Message:
  -----------
  [mlir][tosa] Limit consecutive concat rewrite to MAX_TENSOR_LIST_SIZE (#199051)

Previously folding could produce an operation that would later be
considered invalid in validation due to the number of operands it has.
This change adds a check to prevent rewriting consecutive concat
operations if the resulting operation has more than MAX_TENSOR_LIST_SIZE
operands, based on the selected target environment level. If no level is
specified, folding will proceed as before.

In addition, this change rewrites the concat folder as a
canonicalization pattern, since it is not a fold of constant operands.
The change also consolidates testing in
canonicalize.mlir.


  Commit: 172ea47e6d5b04c4849991ffd5ab0f87d444ab86
      https://github.com/llvm/llvm-project/commit/172ea47e6d5b04c4849991ffd5ab0f87d444ab86
  Author: Igor Wodiany <igor.wodiany at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/VOPDInstructions.td

  Log Message:
  -----------
  [AMDGPU] Use separate tables for VOPD3X and VOPDY in `getCanBeVOPD` (NFC) (#199072)

With this change tables for valid VOPD3X (VOPDX still uses
`getVOPDComponentHelper`) and VOPDY operations are
generated through TableGen. This simplifies the look-up
leading to a 2-3% compile-time speed-up for tested shaders
where `getCanBeVOPD` is on a hot path.

Assisted-by: Claude Code


  Commit: 66ee43ce9d66f80cc311e5653478ae83372afb89
      https://github.com/llvm/llvm-project/commit/66ee43ce9d66f80cc311e5653478ae83372afb89
  Author: NeKon69 <nobodqwe at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/Sema/warn-lifetime-safety-cfg-bailout.cpp
    M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Improve diagnostics for use-after-scope (#200031)

Reuses the function for getting object information that was added in
#199432

Comes as part of completing #186002

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


  Commit: 51d823197cb40a57f25d00882546374d460c649e
      https://github.com/llvm/llvm-project/commit/51d823197cb40a57f25d00882546374d460c649e
  Author: Matthew Nagy <matthew.nagy at sony.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M compiler-rt/include/sanitizer/tysan_interface.h
    M compiler-rt/lib/tysan/tysan.cpp
    M compiler-rt/lib/tysan/tysan.h
    M compiler-rt/lib/tysan/tysan_interceptors.cpp
    A compiler-rt/test/tysan/set_type_unknown-interface.c

  Log Message:
  -----------
  [TySan] Expose __tysan_set_type_unknown interface (#198800)

This can help work around issues like
[#143587](https://github.com/llvm/llvm-project/issues/143587)
The function is renamed with two trailing underscores to match the
naming scheme of the other sanitizers.


  Commit: b115dd117ac109ac501b8bc044dbdefd6f5f2471
      https://github.com/llvm/llvm-project/commit/b115dd117ac109ac501b8bc044dbdefd6f5f2471
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M lldb/test/API/commands/register/aarch64_dynamic_regset/main.c
    M lldb/test/API/commands/register/aarch64_sve_registers/rw_access_static_config/main.c
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
    M llvm/test/CodeGen/AArch64/aarch64-sme-za-call-lowering.ll
    M llvm/test/CodeGen/AArch64/aarch64-sysreg128.ll
    A llvm/test/CodeGen/AArch64/arm64-invalid-sys-reg.ll
    R llvm/test/CodeGen/AArch64/arm64-named-reg-notareg.ll
    M llvm/test/CodeGen/AArch64/expand-sme-pseudos.mir
    M llvm/test/CodeGen/AArch64/machine-sme-abi-find-insert-pt.mir
    M llvm/test/CodeGen/AArch64/machine-sme-abi-skip-debug-inst.mir
    M llvm/test/CodeGen/AArch64/sme-abi-eh-liveins.mir
    M llvm/test/CodeGen/AArch64/sme-lazy-sve-nzcv-live.mir
    M llvm/test/CodeGen/AArch64/special-reg.ll
    M llvm/test/MC/AArch64/arm64-system-encoding.s
    M llvm/test/MC/AArch64/armv9-mrrs-diagnostics.s
    M llvm/test/MC/AArch64/armv9-mrrs.s
    M llvm/test/MC/AArch64/armv9-msrr-diagnostics.s
    M llvm/test/MC/AArch64/armv9-msrr.s
    M llvm/test/MC/AArch64/basic-a64-instructions.s
    M llvm/test/MC/Disassembler/AArch64/armv8.2a-uao.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.4a-dit.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.5a-dataproc.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.5a-mte.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.5a-sb.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.5a-ssbs.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.7a-wfxt.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.7a-xs.txt
    M llvm/test/MC/Disassembler/AArch64/armv8.8a-nmi.txt
    M llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt

  Log Message:
  -----------
  [AArch64] Fix definition of system register move instructions (#185709)

Current implementation of these instructions makes bit20 in the encoding
part of the system register operand, which is incorrect since
[specification](https://developer.arm.com/documentation/ddi0602/latest)
specifies that bit must be set to 1. This patch changes that and removes
the bit 20 from the encoding of the operand and makes it fixed field for
these instructions. It also fixes the parser and codegen by checking
that Op0 in system register name/encoding is correctly constrained to 2
or 3.

Depends on #185970


  Commit: a554a1989f60ebb292b198bbbe084b5a34f880c5
      https://github.com/llvm/llvm-project/commit/a554a1989f60ebb292b198bbbe084b5a34f880c5
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    A clang/test/Driver/dxc_section_emission.hlsl
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    A llvm/test/CodeGen/DirectX/ContainerData/DebugName-DXIL.ll
    M llvm/test/CodeGen/DirectX/lit.local.cfg

  Log Message:
  -----------
  [DirectX] Generate shader debug file name part in llc (#199555)

This change modifies DXContainerGlobals pass to generate debug name
(ILDN) part in DXContainer. ILDN part allows consumers to find PDB file
containing shader debug info.

As ILDB emission PR is not merged yet, and PDB file creation is not
upstreamed yet, debug name is generated based on MD5-hash of bitcode
module in DXIL part.
This corresponds to DXC behavior when a shader is compiled with `/Zi
/Qembed_debug /Zsb` flags (with `/Qembed_debug`, DXC does not produce an
actual PDB file, but still emits ILDN, `/Zsb` tells DXC to use bitcode
from DXIL to compute hash).
However, here ILDN is emitted for any debug info flag configuration.
assuming that it won't break debug info consumers, and that PDB creation
will be added later.


  Commit: eb1b57c639947ad381d9dff6093c2b8085b99d0f
      https://github.com/llvm/llvm-project/commit/eb1b57c639947ad381d9dff6093c2b8085b99d0f
  Author: ritter-x2a <9519134+ritter-x2a at users.noreply.github.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Specify that syncscopes can affect the monotonic modification order (#189017)

If a target specifies that atomics with mismatching syncscopes appear
non-atomic to each other, there is no point in requiring them to be ordered in
the monotonic modification order. Notably, the [AMDGPU target user
guide](https://llvm.org/docs/AMDGPUUsage.html#memory-scopes) has specified
syncscopes to relax the modification order for years.

So far, I haven't found an example where this less constrained ordering would
be observable (at least with the AMDGPU inclusive scope rules). Whenever a load
would be able to see two monotonic stores with non-inclusive scope, that's
considered a data race (i.e., the load would return `undef`), so it cannot be
used to observe the order of the stores.

Related RFC: https://discourse.llvm.org/t/rfc-clarifying-llvm-irs-concurrent-memory-model/90480


  Commit: dbebcb02d3d8f2e92e1ba235992fb43b5fad50a3
      https://github.com/llvm/llvm-project/commit/dbebcb02d3d8f2e92e1ba235992fb43b5fad50a3
  Author: Davide Grohmann <davide.grohmann at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp

  Log Message:
  -----------
  [mlir][spirv] Remove unnecessary assertion (#200137)

The use of the variable in the assertion was causing a build failure
when compiling with assertion off and hence the variable becomes unused.

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


  Commit: 326a1320dc98be6ce17270a2138b76f2036aaa5e
      https://github.com/llvm/llvm-project/commit/326a1320dc98be6ce17270a2138b76f2036aaa5e
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll

  Log Message:
  -----------
  [LSR][AArch64] Precommit tests showing lack of `mul vl` addressing (NFC) (#200149)

These loops could be using `mul vl` addressing in the loop and use fewer
base registers and have a smaller loop setup.


  Commit: dbdbb8d6afd8d30a0074ee0aadc2dbf81c0e8d02
      https://github.com/llvm/llvm-project/commit/dbdbb8d6afd8d30a0074ee0aadc2dbf81c0e8d02
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M libcxx/include/__type_traits/conditional.h

  Log Message:
  -----------
  [libc++] Simplify the implementation of conditional a bit (#199916)

We can use our internal `_If` instead of specializing `conditional` for
selecting the appropriate type.


  Commit: ff7e6bbb7f1187a839690b2832507038b5ea2fc3
      https://github.com/llvm/llvm-project/commit/ff7e6bbb7f1187a839690b2832507038b5ea2fc3
  Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/Analysis.h
    M llvm/include/llvm/CodeGen/AntiDepBreaker.h
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/CodeGen/AsmPrinterAnalysis.h
    M llvm/include/llvm/CodeGen/AssignmentTrackingAnalysis.h
    M llvm/include/llvm/CodeGen/AtomicExpand.h
    M llvm/include/llvm/CodeGen/BasicBlockMatchingAndInference.h
    M llvm/include/llvm/CodeGen/BasicBlockSectionUtils.h
    M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/BranchFoldingPass.h
    M llvm/include/llvm/CodeGen/BranchRelaxation.h
    M llvm/include/llvm/CodeGen/CFIFixup.h
    M llvm/include/llvm/CodeGen/CalcSpillWeights.h
    M llvm/include/llvm/CodeGen/CodeGenCommonISel.h
    M llvm/include/llvm/CodeGen/CodeGenPrepare.h
    M llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
    M llvm/include/llvm/CodeGen/DFAPacketizer.h
    M llvm/include/llvm/CodeGen/DbgEntityHistoryCalculator.h
    M llvm/include/llvm/CodeGen/DeadMachineInstructionElim.h
    M llvm/include/llvm/CodeGen/DebugHandlerBase.h
    M llvm/include/llvm/CodeGen/DetectDeadLanes.h
    M llvm/include/llvm/CodeGen/DwarfEHPrepare.h
    M llvm/include/llvm/CodeGen/EarlyIfConversion.h
    M llvm/include/llvm/CodeGen/EdgeBundles.h
    M llvm/include/llvm/CodeGen/ExecutionDomainFix.h
    M llvm/include/llvm/CodeGen/ExpandIRInsts.h
    M llvm/include/llvm/CodeGen/ExpandPostRAPseudos.h
    M llvm/include/llvm/CodeGen/ExpandReductions.h
    M llvm/include/llvm/CodeGen/ExpandVectorPredication.h
    M llvm/include/llvm/CodeGen/FEntryInserter.h
    M llvm/include/llvm/CodeGen/FastISel.h
    M llvm/include/llvm/CodeGen/FaultMaps.h
    M llvm/include/llvm/CodeGen/FinalizeISel.h
    M llvm/include/llvm/CodeGen/FixupStatepointCallerSaved.h
    M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
    M llvm/include/llvm/CodeGen/GCEmptyBasicBlocks.h
    M llvm/include/llvm/CodeGen/GCMetadataPrinter.h
    M llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h
    M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
    M llvm/include/llvm/CodeGen/GlobalISel/InlineAsmLowering.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/Localizer.h
    M llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h
    M llvm/include/llvm/CodeGen/GlobalMerge.h
    M llvm/include/llvm/CodeGen/GlobalMergeFunctions.h
    M llvm/include/llvm/CodeGen/HardwareLoops.h
    M llvm/include/llvm/CodeGen/IndirectBrExpand.h
    M llvm/include/llvm/CodeGen/InitUndef.h
    M llvm/include/llvm/CodeGen/InlineAsmPrepare.h
    M llvm/include/llvm/CodeGen/InsertCodePrefetch.h
    M llvm/include/llvm/CodeGen/InterleavedAccess.h
    M llvm/include/llvm/CodeGen/InterleavedLoadCombine.h
    M llvm/include/llvm/CodeGen/IntrinsicLowering.h
    M llvm/include/llvm/CodeGen/JMCInstrumenter.h
    M llvm/include/llvm/CodeGen/KCFI.h
    M llvm/include/llvm/CodeGen/LatencyPriorityQueue.h
    M llvm/include/llvm/CodeGen/LazyMachineBlockFrequencyInfo.h
    M llvm/include/llvm/CodeGen/LexicalScopes.h
    M llvm/include/llvm/CodeGen/LibcallLoweringInfo.h
    M llvm/include/llvm/CodeGen/LiveDebugValuesPass.h
    M llvm/include/llvm/CodeGen/LiveDebugVariables.h
    M llvm/include/llvm/CodeGen/LiveIntervalUnion.h
    M llvm/include/llvm/CodeGen/LivePhysRegs.h
    M llvm/include/llvm/CodeGen/LiveRangeEdit.h
    M llvm/include/llvm/CodeGen/LiveRegMatrix.h
    M llvm/include/llvm/CodeGen/LiveStacks.h
    M llvm/include/llvm/CodeGen/LocalStackSlotAllocation.h
    M llvm/include/llvm/CodeGen/LoopTraversal.h
    M llvm/include/llvm/CodeGen/LowerEmuTLS.h
    M llvm/include/llvm/CodeGen/MBFIWrapper.h
    M llvm/include/llvm/CodeGen/MIR2Vec.h
    M llvm/include/llvm/CodeGen/MIRFSDiscriminator.h
    M llvm/include/llvm/CodeGen/MIRFSDiscriminatorOptions.h
    M llvm/include/llvm/CodeGen/MIRParser/MIParser.h
    M llvm/include/llvm/CodeGen/MIRSampleProfile.h
    M llvm/include/llvm/CodeGen/MIRYamlMapping.h
    M llvm/include/llvm/CodeGen/MachineBlockHashInfo.h
    M llvm/include/llvm/CodeGen/MachineBlockPlacement.h
    M llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h
    M llvm/include/llvm/CodeGen/MachineCSE.h
    M llvm/include/llvm/CodeGen/MachineConstantPool.h
    M llvm/include/llvm/CodeGen/MachineCopyPropagation.h
    M llvm/include/llvm/CodeGen/MachineDominanceFrontier.h
    M llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
    M llvm/include/llvm/CodeGen/MachineIDFSSAUpdater.h
    M llvm/include/llvm/CodeGen/MachineLateInstrsCleanup.h
    M llvm/include/llvm/CodeGen/MachineLoopUtils.h
    M llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h
    M llvm/include/llvm/CodeGen/MachinePipeliner.h
    M llvm/include/llvm/CodeGen/MachineRegionInfo.h
    M llvm/include/llvm/CodeGen/MachineSSAUpdater.h
    M llvm/include/llvm/CodeGen/MachineSink.h
    M llvm/include/llvm/CodeGen/MachineTraceMetrics.h
    M llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
    M llvm/include/llvm/CodeGen/ModuloSchedule.h
    M llvm/include/llvm/CodeGen/MultiHazardRecognizer.h
    M llvm/include/llvm/CodeGen/OptimizePHIs.h
    M llvm/include/llvm/CodeGen/PEI.h
    M llvm/include/llvm/CodeGen/PHIElimination.h
    M llvm/include/llvm/CodeGen/PatchableFunction.h
    M llvm/include/llvm/CodeGen/PeepholeOptimizer.h
    M llvm/include/llvm/CodeGen/PostRAHazardRecognizer.h
    M llvm/include/llvm/CodeGen/PostRAMachineSink.h
    M llvm/include/llvm/CodeGen/PostRASchedulerList.h
    M llvm/include/llvm/CodeGen/PreISelIntrinsicLowering.h
    M llvm/include/llvm/CodeGen/ProcessImplicitDefs.h
    M llvm/include/llvm/CodeGen/RDFGraph.h
    M llvm/include/llvm/CodeGen/RDFLiveness.h
    M llvm/include/llvm/CodeGen/RDFRegisters.h
    M llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
    M llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
    M llvm/include/llvm/CodeGen/RegAllocFast.h
    M llvm/include/llvm/CodeGen/RegAllocGreedyPass.h
    M llvm/include/llvm/CodeGen/RegAllocPBQP.h
    M llvm/include/llvm/CodeGen/RegAllocPriorityAdvisor.h
    M llvm/include/llvm/CodeGen/RegUsageInfoCollector.h
    M llvm/include/llvm/CodeGen/RegUsageInfoPropagate.h
    M llvm/include/llvm/CodeGen/RegisterBankInfo.h
    M llvm/include/llvm/CodeGen/RegisterCoalescerPass.h
    M llvm/include/llvm/CodeGen/RegisterScavenging.h
    M llvm/include/llvm/CodeGen/RegisterUsageInfo.h
    M llvm/include/llvm/CodeGen/Rematerializer.h
    M llvm/include/llvm/CodeGen/RemoveLoadsIntoFakeUses.h
    M llvm/include/llvm/CodeGen/RemoveRedundantDebugValues.h
    M llvm/include/llvm/CodeGen/RenameIndependentSubregs.h
    M llvm/include/llvm/CodeGen/ResourcePriorityQueue.h
    M llvm/include/llvm/CodeGen/SDNodeInfo.h
    M llvm/include/llvm/CodeGen/SafeStack.h
    M llvm/include/llvm/CodeGen/SanitizerBinaryMetadata.h
    M llvm/include/llvm/CodeGen/ScheduleDAG.h
    M llvm/include/llvm/CodeGen/ScheduleDFS.h
    M llvm/include/llvm/CodeGen/ScheduleHazardRecognizer.h
    M llvm/include/llvm/CodeGen/ScoreboardHazardRecognizer.h
    M llvm/include/llvm/CodeGen/SelectOptimize.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
    M llvm/include/llvm/CodeGen/ShadowStackGCLowering.h
    M llvm/include/llvm/CodeGen/ShrinkWrap.h
    M llvm/include/llvm/CodeGen/SjLjEHPrepare.h
    M llvm/include/llvm/CodeGen/SpillPlacement.h
    M llvm/include/llvm/CodeGen/Spiller.h
    M llvm/include/llvm/CodeGen/StackColoring.h
    M llvm/include/llvm/CodeGen/StackFrameLayoutAnalysisPass.h
    M llvm/include/llvm/CodeGen/StackProtector.h
    M llvm/include/llvm/CodeGen/StackSlotColoring.h
    M llvm/include/llvm/CodeGen/SwiftErrorValueTracking.h
    M llvm/include/llvm/CodeGen/SwitchLoweringUtils.h
    M llvm/include/llvm/CodeGen/TailDuplicator.h
    M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
    M llvm/include/llvm/CodeGen/TwoAddressInstructionPass.h
    M llvm/include/llvm/CodeGen/TypePromotion.h
    M llvm/include/llvm/CodeGen/UnreachableBlockElim.h
    M llvm/include/llvm/CodeGen/VLIWMachineScheduler.h
    M llvm/include/llvm/CodeGen/WasmEHPrepare.h
    M llvm/include/llvm/CodeGen/WinEHFuncInfo.h
    M llvm/include/llvm/CodeGen/WinEHPrepare.h
    M llvm/include/llvm/CodeGen/WindowScheduler.h
    M llvm/include/llvm/CodeGen/XRayInstrumentation.h

  Log Message:
  -----------
  llvm: Fix most LLVM_ABI annotations in CodeGen (#199921)

This updates most LLVM_ABI annotations in the CodeGen headers to match
expected usage:
* All public APIs should be properly annotated.
* Inlined functions should not be annotated.

These changes were done by a script fixing annotations on LLVM public
headers and manually checked.

This effort is tracked in #109483.


  Commit: 4683f6ba6152e26c22adeaa4daf46732492228e5
      https://github.com/llvm/llvm-project/commit/4683f6ba6152e26c22adeaa4daf46732492228e5
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M lldb/tools/lldb-dap/DAP.cpp

  Log Message:
  -----------
  [lldb-dap] Fix data race on disconnecting (#200017)

Guard m_disconnecting with the m_queue_mutex because the value can be
changed in multiple threads


  Commit: f6758a5664a61596ea601ea44304aab798c33962
      https://github.com/llvm/llvm-project/commit/f6758a5664a61596ea601ea44304aab798c33962
  Author: ejose02 <ejose at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M flang/lib/Frontend/FrontendAction.cpp
    A flang/test/Preprocessing/show-macros-stdin.f90

  Log Message:
  -----------
  [flang] Fix -E -dM macro dumping for stdin and .f90 inputs (#200144)

Issue:
flang -E -dM does not consistently print predefined macros for stdin and
.f90 inputs, unlike expected behavior.

Root cause:
Flang only initialized predefined macros when preprocessing was implied
by -cpp or suffix-based inference (mustBePreprocessed), but not when -dM
alone requested macro dumping.

Fix:
Treat -dM as an explicit trigger to initialize macro predefinitions in,
and add a stdin regression test for flang -E -dM - < /dev/null.

Fixes #198234


  Commit: 5cac2751fb9cf3112d16717b278e40d07dd6cfdc
      https://github.com/llvm/llvm-project/commit/5cac2751fb9cf3112d16717b278e40d07dd6cfdc
  Author: Rong "Mantle" Bao <rong.bao at csmantle.top>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGen/stack-clash-protection.c
    M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchFrameLowering.h
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchMachineFunctionInfo.h
    M llvm/test/CodeGen/LoongArch/inline-asm-constraint-f.ll
    A llvm/test/CodeGen/LoongArch/stack-clash-prologue-nounwind.ll
    A llvm/test/CodeGen/LoongArch/stack-clash-prologue.ll
    A llvm/test/CodeGen/LoongArch/stack-probing-dynamic-nonentry.ll
    A llvm/test/CodeGen/LoongArch/stack-probing-dynamic.ll
    A llvm/test/CodeGen/LoongArch/stack-probing-frame-setup.mir

  Log Message:
  -----------
  [LoongArch] Add `-fstack-clash-protection` support (#195595)

This PR adds stack probing and `-fstack-clash-protection` support to the
LoongArch backend and Clang driver.

The implementation is largely borrowed from the RISCV backend (cf.
#117612, #139731), with the same allocation-unrolling strategy for
const-sized allocations.


  Commit: 8ecfd9b96df46fc394173e4e6fecdac6381f37b6
      https://github.com/llvm/llvm-project/commit/8ecfd9b96df46fc394173e4e6fecdac6381f37b6
  Author: Sohaib Iftikhar <sohaibiftikhar at google.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M mlir/include/mlir/Target/SPIRV/SPIRVExtInstSets.h
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [BUILD]: Fix for af772866 (#200158)


  Commit: 5b32c6e99e8dba8d1415b2d65f38650e3cff9951
      https://github.com/llvm/llvm-project/commit/5b32c6e99e8dba8d1415b2d65f38650e3cff9951
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/assume.ll

  Log Message:
  -----------
  [InstCombine] Drop the correct assume when working on assume bundles (#198404)

Currently, all assumes of the same kind in an assume bundle are dropped,
even though only a single one is actually checked to be redundant and
should be dropped. This introduces a new `removeOperandFromBundleAt`,
which instead drops a bundle at a specific position. This should also be
faster, since copying the bundles can now be done into an already
correctly allocated vector.


  Commit: 9107dacd6e41c4b65c503c1fa199a1e30a8356a5
      https://github.com/llvm/llvm-project/commit/9107dacd6e41c4b65c503c1fa199a1e30a8356a5
  Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/AssumptionCache.h
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
    M llvm/include/llvm/Analysis/CFGSCCPrinter.h
    M llvm/include/llvm/Analysis/CmpInstAnalysis.h
    M llvm/include/llvm/Analysis/CostModel.h
    M llvm/include/llvm/Analysis/CycleAnalysis.h
    M llvm/include/llvm/Analysis/DDGPrinter.h
    M llvm/include/llvm/Analysis/DXILMetadataAnalysis.h
    M llvm/include/llvm/Analysis/Delinearization.h
    M llvm/include/llvm/Analysis/DomConditionCache.h
    M llvm/include/llvm/Analysis/DominanceFrontier.h
    M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
    M llvm/include/llvm/Analysis/GuardUtils.h
    M llvm/include/llvm/Analysis/HashRecognize.h
    M llvm/include/llvm/Analysis/IR2Vec.h
    M llvm/include/llvm/Analysis/IVUsers.h
    M llvm/include/llvm/Analysis/IndirectCallPromotionAnalysis.h
    M llvm/include/llvm/Analysis/InstCount.h
    M llvm/include/llvm/Analysis/KernelInfo.h
    M llvm/include/llvm/Analysis/LazyBlockFrequencyInfo.h
    M llvm/include/llvm/Analysis/LazyBranchProbabilityInfo.h
    M llvm/include/llvm/Analysis/LazyValueInfo.h
    M llvm/include/llvm/Analysis/Lint.h
    M llvm/include/llvm/Analysis/LoopCacheAnalysis.h
    M llvm/include/llvm/Analysis/LoopIterator.h
    M llvm/include/llvm/Analysis/MLInlineAdvisor.h
    M llvm/include/llvm/Analysis/MemDerefPrinter.h
    M llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
    M llvm/include/llvm/Analysis/ModuleDebugInfoPrinter.h
    M llvm/include/llvm/Analysis/ObjCARCAliasAnalysis.h
    M llvm/include/llvm/Analysis/ObjCARCAnalysisUtils.h
    M llvm/include/llvm/Analysis/ObjCARCInstKind.h
    M llvm/include/llvm/Analysis/OverflowInstAnalysis.h
    M llvm/include/llvm/Analysis/PtrUseVisitor.h
    M llvm/include/llvm/Analysis/RegionInfo.h
    M llvm/include/llvm/Analysis/ReplayInlineAdvisor.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/include/llvm/Analysis/ScalarEvolutionDivision.h
    M llvm/include/llvm/Analysis/StackLifetime.h
    M llvm/include/llvm/Analysis/StackSafetyAnalysis.h
    M llvm/include/llvm/Analysis/StaticDataProfileInfo.h
    M llvm/include/llvm/Analysis/StructuralHash.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/Analysis/Trace.h
    M llvm/include/llvm/Analysis/TypeMetadataUtils.h
    M llvm/include/llvm/Analysis/UniformityAnalysis.h
    M llvm/include/llvm/Analysis/ValueLatticeUtils.h
    M llvm/lib/Analysis/DominanceFrontier.cpp
    M llvm/lib/Analysis/RegionInfo.cpp

  Log Message:
  -----------
  llvm: Fix most LLVM_ABI annotations in Analysis (#199019)

This updates most LLVM_ABI annotations in the Analysis headers to match
expected usage:
* All public APIs should be properly annotated.
* Inlined functions should not be annotated.

These changes were done by a script fixing annotations on LLVM public
headers and manually checked.

This effort is tracked in #109483.


  Commit: 61b5b08623e8457e28bce2984593632a9774be96
      https://github.com/llvm/llvm-project/commit/61b5b08623e8457e28bce2984593632a9774be96
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [libc] Move fixed buffer GPU test to an integration test (#200042)

Move the `fixedbuffer` GPU test to an integration test.

libc tests are intended to be GTest style tests written with the normal
`TEST(Suite, Test)` GTest macros. Example
[here](https://github.com/llvm/llvm-project/blob/main/libc/test/include/SignbitTest.h#L32).

This test has its own `main` which ends up causing a `main multiple
definitions` linker error when compiling for SPIR-V (work in progress).
I'm not sure why this error doesn't occur for AMDGPU, probably the fact
we have to compile with a ton less compile/linker flags for SPIR-V and
one of them hides the issue.

Specifically the fix is that we don't link against
`libc/test/UnitTest/CMakeFiles/LibcTest.hermetic.dir/LibcTestMain.cpp.o`
which has its own main which conflicts with the one defined in the test.

All other tests in this directory are integration tests too.

A quick check of other uses of the `TEST_MAIN` macro also showed them
using `add_integration_test` and not `add_libc_test`.

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


  Commit: 3e8fc3561fb5ccd50441804a56244fac6142e7b4
      https://github.com/llvm/llvm-project/commit/3e8fc3561fb5ccd50441804a56244fac6142e7b4
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
    M clang/lib/CIR/CodeGen/CIRGenException.cpp
    A clang/test/CIR/CodeGen/coro-exceptions.cpp

  Log Message:
  -----------
  [CIR] Implement 'coroutine' exception handling lowering (#200045)

This patch implements the lowering to CIR for exception handling.
Unfortunately the missing components of Flatten-CFG don't work here, so
we only test that we get successfully to CIR, not to LLVM-IR.

This patch runs the 'await-resume' in a try/catch, and only if that
succeeds, does it run the coroutine body (also in a try/catch if there
is an exception handler).

This is nearly identical to the implementation in classic-codegen,
except we invert the resume-eh variable's value, so we can just use a
simple `if` op for the branch.


  Commit: 4471b623631534fb9bf50f55150594be69a305e8
      https://github.com/llvm/llvm-project/commit/4471b623631534fb9bf50f55150594be69a305e8
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [GitHub] Add InstCombine Contributor Guide to new contributor greeting comment (#199730)

I have always manually replied to new contributors, reminding them to
follow the InstCombine contributor guide. Let’s automate this process.

Now it will append the link to the guide when the PR changes the
InstCombine (and highly related components) files.


  Commit: 98c7814ca93baa6976b92a753d8a6364915266f0
      https://github.com/llvm/llvm-project/commit/98c7814ca93baa6976b92a753d8a6364915266f0
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/test/tools/llubi/alloca.ll
    M llvm/test/tools/llubi/assume_misalign_all_ones.ll
    M llvm/test/tools/llubi/assume_null.ll
    M llvm/test/tools/llubi/assume_null_all_ones.ll
    M llvm/test/tools/llubi/attribute_dereferenceable_ub_nullary_provenance.ll
    M llvm/test/tools/llubi/attributes.ll
    M llvm/test/tools/llubi/bitcast_be.ll
    M llvm/test/tools/llubi/bitcast_le.ll
    M llvm/test/tools/llubi/freeze.ll
    M llvm/test/tools/llubi/gep.ll
    M llvm/test/tools/llubi/inttoptr.ll
    M llvm/test/tools/llubi/lib_calloc_large_size.ll
    M llvm/test/tools/llubi/lib_calloc_size_overflow.ll
    M llvm/test/tools/llubi/lib_free_nullary_pointer.ll
    M llvm/test/tools/llubi/lib_malloc_large_size.ll
    M llvm/test/tools/llubi/loadstore_be.ll
    M llvm/test/tools/llubi/loadstore_le.ll
    M llvm/test/tools/llubi/loadstore_uaf.ll
    M llvm/test/tools/llubi/metadata.ll
    M llvm/test/tools/llubi/store_dead.ll
    M llvm/tools/llubi/lib/Context.cpp
    M llvm/tools/llubi/lib/Context.h
    M llvm/tools/llubi/lib/Value.cpp
    M llvm/tools/llubi/lib/Value.h

  Log Message:
  -----------
  [llubi] Add basic support for provenance modeling (#185977)

There are four solutions to model the provenance in the memory:
1. `(allocid, bitindex)` for each bit: It follows the definition of byte
type.
2. `(allocid, bitindex)` for each byte: This assumes the pointer/byte
types are always byte-sized, and requires bitextract/bitinsert to shift
by multiples of 8, as posted in
https://discourse.llvm.org/t/rfc-add-a-new-byte-type-to-llvm-ir/89522/53.
I believe this is true in most real-world cases.
3. Assign a random tag for each memory object: The tag has the same
width as the address. It is stored in the memory like addresses. Thus,
each logical byte only occupies 4 bytes. When loading a pointer, the tag
is loaded and used to recover the provenance. Incorrect bit ordering
will result in nullary provenance (with a negligible rate of false
negatives). I think it is feasible because we can always turn a false
negative into a positive with a different seed. It is also compatible
with captured components
(https://github.com/dtcxzyw/llvm-ub-aware-interpreter/blob/d15dfef5bc0c1b30b05512bbc28fddb2b50cc0b1/ubi.h#L187)
and noalias (https://jhostert.de/blog/2025/noalias/) if we maintain the
tree structure in a hashmap.
4. Maintains a `addr -> provenance` map like
[miri](https://github.com/rust-lang/rust/blob/main/compiler/rustc_middle/src/mir/interpret/allocation/provenance_map.rs).
It also looks expensive to maintain the provenance at the bit level.

This patch implements the third approach. After
https://github.com/llvm/llvm-project/pull/178666 lands, I can add more
tests to play with byte types.


  Commit: 9f82a4e41f9a0101488cd81444adfa646063dbc5
      https://github.com/llvm/llvm-project/commit/9f82a4e41f9a0101488cd81444adfa646063dbc5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/test/CodeGen/AArch64/arm64-ldst-unscaled-pre-post.mir
    M llvm/test/CodeGen/AArch64/ldst-miflags.mir
    M llvm/test/CodeGen/AArch64/ldst-opt.mir
    M llvm/test/CodeGen/AArch64/ldst_update_cfpath.mir
    M llvm/test/CodeGen/AArch64/memtag-merge-writeback.mir
    M llvm/test/CodeGen/AArch64/no-reorder-cfi-merge-back-load.mir
    M llvm/test/CodeGen/AArch64/no-reorder-cfi-merge-fwd-load.mir
    M llvm/test/CodeGen/AArch64/stack-probing-dynamic.ll
    A llvm/test/CodeGen/AArch64/volatile-reg-writeback.ll
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/lsr-memcpy.ll

  Log Message:
  -----------
  [AArch64] Do not generate indexed addressing mode for volatile accesses (#196305)

Instructions performing register writeback do not set a valid
instruction syndrome, making it impossible to handle MMIO in protected
hypervisors. Suppress the use of postinc/preinc addressing modes for
volatile accesses, which may be used to interact with MMIO.

There are three different places that can form indexed addressing modes:

 * GISel via isIndexingLegal()
 * SDAG via getPreIndexedAddressParts() and getPostIndexedAddressParts()
 * AArch64LoadStoreOptimizer

The the latter case, exclude volatile accesses on SP (which are relevant
for stack probing) and MTE tag stores, as both cannot be MMIO.

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


  Commit: 34f294ccbca8c820fffd0538015499108f6600aa
      https://github.com/llvm/llvm-project/commit/34f294ccbca8c820fffd0538015499108f6600aa
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp
    R flang/test/Semantics/OpenMP/detach-symbols.f90

  Log Message:
  -----------
  [flang][OpenMP] Event handles are not predetermined shared (#200055)

An event-handle variable that appears in a DETACH has its data-sharing
attributes determined according to the usual rules in the constructs
enclosing the clause.


  Commit: 7fb99eefbc6eb6850cb392165388fd87b61b526b
      https://github.com/llvm/llvm-project/commit/7fb99eefbc6eb6850cb392165388fd87b61b526b
  Author: Prerona Chaudhuri <pchaudhuri at nvidia.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Analysis/CallGraphSCCPass.cpp
    A llvm/test/Other/legacy-callgraph-scc-pass-printer.ll

  Log Message:
  -----------
  Emit newline after IR-dump banner in PrintCallGraphPass (#199410)

Required for Compiler Explorer's opt-pipeline viewer: the tool parses
pass output by splitting on the IR-dump banner line, so the banner must
end with a newline. Without it, targets that exercise this pass cannot
be inspected through the opt-pipeline feature.

Assisted by Claude.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll

  Log Message:
  -----------
  [AArch64] Lower SUMLA via two udot products on plain dotprod targets. (#199761)

Lower PARTIAL_REDUCE_SUMLA on targets without i8mm using udot via

sum(mul (zext %a, sext %b)) =
    sum(mul zext %a, zext (xor %b, 0x80)) -
    sum(mul 128, zext %a)

using  sext(s) = zext(xor(s, 0x80)) - 128
(https://alive2.llvm.org/ce/z/8G8rer)

Alive2 proofs:
* mul (zext, sext) https://alive2.llvm.org/ce/z/8Av7rG
* mul (sext, zext) https://alive2.llvm.org/ce/z/g-gJGq

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


  Commit: da4e5cc928c8f8000643e48bc2790b51927eeac6
      https://github.com/llvm/llvm-project/commit/da4e5cc928c8f8000643e48bc2790b51927eeac6
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    A llvm/test/Analysis/ScalarEvolution/rounding-demanded-bits.ll
    A llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-known-bits.ll

  Log Message:
  -----------
  [SCEV] Canonicalise round-up idiom when some bits known (#197126)

Since #174380, instcombine can clear some set bits in the added constant
in expressions like this, when A has some known-clear low order bits.
  (A + 15) & ~15

This transformation is valid, but can make it harder for later passes to
recognise this idiom for rounding up to a power of 2. This is causing
the ARM MVE tail predication pass to fail on loops with a trip count
which is a multiple of a small power of 2.

The fix is to reverse the transformation when building SCEV expressions,
canonicalising to always use the largest valid value for the added
constant.

Alive proofs:
https://alive2.llvm.org/ce/z/hhndoW
https://alive2.llvm.org/ce/z/_JYVat


  Commit: ebe8595c0012674eb5ce7427ee938214f711ca66
      https://github.com/llvm/llvm-project/commit/ebe8595c0012674eb5ce7427ee938214f711ca66
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h

  Log Message:
  -----------
  [lldb][NFCI] Cleanup APIs in AppleObjCClassDescriptorV2 (#200122)

This removes unnecessary unique_ptrs and uses better error handling
(expected instead of bools).


  Commit: c8ef5dcfae341d176cd84a182c320d61afc441cf
      https://github.com/llvm/llvm-project/commit/c8ef5dcfae341d176cd84a182c320d61afc441cf
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-05-28 (Thu, 28 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/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Directly pass SrcEltTy when constructing WideGEP (NFC) (#200043)

Avoid getting the source element type from the underlying instruction,
and make the underlying instruction optional.


  Commit: 5d29057a58760454c96411d27a92b8d80e40b048
      https://github.com/llvm/llvm-project/commit/5d29057a58760454c96411d27a92b8d80e40b048
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M .github/actions/push-container/action.yml

  Log Message:
  -----------
  actions/push-container: Remove template expansion (#200062)

https://github.com/llvm/llvm-project/security/code-scanning/1757


  Commit: d5edbe411d8f60d13a5aeb2a4b0764dbb83a6155
      https://github.com/llvm/llvm-project/commit/d5edbe411d8f60d13a5aeb2a4b0764dbb83a6155
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  workflows/upload-release-artifact: Validate input and remove template expansion (#199972)

https://github.com/llvm/llvm-project/security/code-scanning/1757
https://github.com/llvm/llvm-project/security/code-scanning/1758
https://github.com/llvm/llvm-project/security/code-scanning/1759
https://github.com/llvm/llvm-project/security/code-scanning/1760
https://github.com/llvm/llvm-project/security/code-scanning/1761


  Commit: 992ee5934c1142c00dc09589380b8277cc43ef09
      https://github.com/llvm/llvm-project/commit/992ee5934c1142c00dc09589380b8277cc43ef09
  Author: Matt Turner <mattst88 at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/base-config-ix.cmake
    M compiler-rt/lib/asan/asan_allocator.h
    M compiler-rt/lib/asan/asan_mapping.h
    M compiler-rt/lib/sanitizer_common/sanitizer_asm.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    A compiler-rt/lib/sanitizer_common/sanitizer_syscall_linux_alpha.inc

  Log Message:
  -----------
  Add support for Alpha to libsanitizer (#194161)

Add support for [Alpha](https://en.wikipedia.org/wiki/DEC_Alpha) to
libsanitizer.

- [sanitizer] Add SANITIZER_ALPHA platform macro
- [sanitizer] Add Linux/Alpha syscall implementation
- [sanitizer] Skip __old_kernel_stat check on Alpha
- [sanitizer] Use statx for stat syscalls on Linux/Alpha
- [sanitizer] Add GetPcSpBp signal context support for Alpha
- [sanitizer] Add Alpha struct size constants
- [sanitizer] Add Alpha ioctl encoding constants
- [compiler-rt] sanitizer: Alpha struct sigaction has no sa_restorer
- [compiler-rt] sanitizer: Disable interceptor trampoline on Alpha
- [compiler-rt] sanitizer: Add Alpha __sanitizer_dirent layout
- [compiler-rt] sanitizer: Add Alpha ThreadDescriptorSizeFallback()
- [compiler-rt] Enable Alpha Linux target
- [compiler-rt] Use fixed shadow offset 0x10000000000 (1T) for Alpha
- [compiler-rt][ASan] Limit allocator to 512G on Alpha

Tested by porting the changes to gcc's downstream libsanitizer and
building and running the libunwind test suite with UBSan / ASan enabled.


  Commit: 2766733764f4bdf8399d48c0225e9c64bdfa95f7
      https://github.com/llvm/llvm-project/commit/2766733764f4bdf8399d48c0225e9c64bdfa95f7
  Author: Guy David <guyda96 at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M compiler-rt/CMakeLists.txt
    M compiler-rt/lib/profile/CMakeLists.txt
    M compiler-rt/lib/profile/InstrProfilingFile.c

  Log Message:
  -----------
  [compiler-rt][profile] Add COMPILER_RT_BUILD_PROFILE_ROCM option (#200127)


  Commit: 34e7ecaf872f324c11d1e7e631831f2876cd8bd0
      https://github.com/llvm/llvm-project/commit/34e7ecaf872f324c11d1e7e631831f2876cd8bd0
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/IR/Constants.cpp

  Log Message:
  -----------
  [IR] Avoid caching a DenseMap reference across erase in handleOperandChangeImpl. NFC (#200179)

They bind a reference into the map and write through it after erasing
the old entry. This will not hold for backward-shift deletion. Extracted
from #199615


  Commit: b43dcbeffe022d5e03d60c4091c92f651c4f20a4
      https://github.com/llvm/llvm-project/commit/b43dcbeffe022d5e03d60c4091c92f651c4f20a4
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/arithmetic-poison-execmode-metadata.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/arithmetic-poison-execmode-negative.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/arithmetic-poison-execmode.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/freeze.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/poison-composite.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_poison_freeze/poison.ll

  Log Message:
  -----------
  Implement SPV_KHR_poison_freeze extension (#198037)

Specification can be found here:

https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/KHR/SPV_KHR_poison_freeze.asciidoc


  Commit: 3c21a0cbad43398d47fb2a95b242a02f084dd767
      https://github.com/llvm/llvm-project/commit/3c21a0cbad43398d47fb2a95b242a02f084dd767
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    A llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_arbitrary_precision_integers/i128-icmp.ll

  Log Message:
  -----------
  [SPIR-V] Add s128 to allPtrsScalarsAndVectors in legalizer (#199998)

Without this, i128 G_ICMP fails legalization before OpTypeInt emits the
diagnostic

---------

Co-authored-by: Dmitry Sidorov <dsidorov at amd.com>


  Commit: 5536348d060066e875c9bf9e056447ece59c783d
      https://github.com/llvm/llvm-project/commit/5536348d060066e875c9bf9e056447ece59c783d
  Author: Prasoon <prasoonkumar054 at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [lit] Handle config loading safely (#200168)

Currently, the config file is opened outside the `try` block without
explicit encoding and handled with a bare `except`.
We can move to putting a `with open()` context manager inside the `try`
block and catching OSError.

Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>


  Commit: a16511c2d9697e7c5a9a9bc10948762666573c3c
      https://github.com/llvm/llvm-project/commit/a16511c2d9697e7c5a9a9bc10948762666573c3c
  Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/include/clang/Driver/Types.def
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ModulesDriver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/Types.cpp
    M clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
    M clang/test/Driver/modules-driver-dep-graph-stdlib-modules.cpp
    M clang/test/Driver/modules-driver-import-std.cpp

  Log Message:
  -----------
  [clang][modules-driver] Precompile std modules independently of -o and final phase (#199289)

With this, Standard library modules are always precompiled as the
primary output of their `-cc1` invocation, instead of being produced as
a byproduct of compiling the Standard library modules to object files.

This also keeps Standard library module precompilation independent of
the final phase specified on the command line, so importing them keep
working under `-fsyntax-only` (and other command-line options that
specify the final phase).

This also makes the Standard library module precompilation independent
of the `-o` flag, so that a command like `clang -std=c++23
-fmodules-driver main.cpp -o main` no longer redirects the Standard
library module outputs to 'main', breaking the compilation.


  Commit: 8ab00f2c21e5975f5de977ca68607b4acc23c856
      https://github.com/llvm/llvm-project/commit/8ab00f2c21e5975f5de977ca68607b4acc23c856
  Author: Zibi Sarbinowski <zibi at ca.ibm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll
    M llvm/test/CodeGen/Generic/available_externally_alias.ll

  Log Message:
  -----------
  [z/OS][tests] XFAIL using aliases on z/OS (#200176)

This PR XFAIL 2 lit test cases as the following errors are expected:

```
FAIL: LLVM :: CodeGen/Generic/available_externally_alias.ll
# | <unknown>:0: error: Only aliases to functions is supported in GOFF.

FAIL: LLVM :: CodeGen/Generic/2009-03-17-LSR-APInt.ll
# | <unknown>:0: error: Weak alias/reference not supported on z/OS
```


  Commit: f24ee22550de8bfe926df7a6358f307023b8f24b
      https://github.com/llvm/llvm-project/commit/f24ee22550de8bfe926df7a6358f307023b8f24b
  Author: ioana ghiban <ioana.ghiban at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    A mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc-dealloc.mlir
    R mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc.mlir

  Log Message:
  -----------
  [mlir][EmitC] Include DeallocOp in AllocOp memref conversion tests (#198275)

This PR helps keep changes introduced in
https://github.com/llvm/llvm-project/pull/194591 visible, by renaming
files in a separate commit.


  Commit: 3e92883e83f76926467adaee8d81902c407823a9
      https://github.com/llvm/llvm-project/commit/3e92883e83f76926467adaee8d81902c407823a9
  Author: Christian Kandeler <christian.kandeler at qt.io>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/test/type-hierarchy-ext.test
    M clang-tools-extra/clangd/test/type-hierarchy.test
    M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp

  Log Message:
  -----------
  [clangd] Remove redundant symbol name from hierarchy item details (#170112)

Closes clangd/clangd#2346.


  Commit: c20c666e7df2b09fb51704d5e44dce94503baa76
      https://github.com/llvm/llvm-project/commit/c20c666e7df2b09fb51704d5e44dce94503baa76
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h

  Log Message:
  -----------
  [lldb][NFCI] Cleanup AppleObjCClassDescriptorV2::objc_class_t API (#200180)


  Commit: 082ac6e3eaaa33b579f9e4c67a84599e9d49e9d4
      https://github.com/llvm/llvm-project/commit/082ac6e3eaaa33b579f9e4c67a84599e9d49e9d4
  Author: Prasoon <prasoonkumar054 at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [lit] Optimize ShLexer string construction (#199641)

`lex_arg_quoted` and `lex_arg_slow` methods in the `lit`'s `ShLexer`
class used `+=` for string concatenation, which was inefficient. This change
replaces that pattern by collecting string fragments in a list and using
`"".join()` at the end.

**Baseline:**
| Stage | Metric (Runtime / Peak RSS) |
| :--- | :--- |
| **CodeGen-X86** | 99.310s / 51872 kB |
| **llvm-transforms** | 51.457s / 66928 kB |

**Changes made here:**
| Stage | Metric (Runtime / Peak RSS) |
| :--- | :--- |
| **CodeGen-X86** | 94.964s / 51868 kB |
| **llvm-transforms** | 50.890s / 66328 kB |

This PR is part of the "GSoC 2026: Improving lit" project.

Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>


  Commit: 7ac0a3cec9bf6c6199f62be26d1cdb754c97383d
      https://github.com/llvm/llvm-project/commit/7ac0a3cec9bf6c6199f62be26d1cdb754c97383d
  Author: Prasoon <prasoonkumar054 at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [lit] Replace zip(range(len(x)), x) with enumerate(x) in ProgressBar (#199884)

Updated `ProgressBar.py` to replace four instances of
`zip(range(len(x)), x)` with `enumerate(x)`. The former is a legacy
Python 2 pattern, while `enumerate()` is the modern and efficient Python
3 idiom. This is a clean-up refactor that results in no behavioral
changes to the code.

This PR is part of the "GSoC 2026: Improving lit" project.

Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>


  Commit: 3beee85e5244bc70fa32210d89634c0e53d2606d
      https://github.com/llvm/llvm-project/commit/3beee85e5244bc70fa32210d89634c0e53d2606d
  Author: Matt <MattPD at users.noreply.github.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/OpenMP/declare-reduction-accessibility.f90
    A flang/test/Semantics/OpenMP/declare-reduction-default-private.f90
    A flang/test/Semantics/OpenMP/declare-reduction-modfile-private.f90
    A flang/test/Semantics/OpenMP/declare-reduction-public-regression.f90
    A flang/test/Semantics/OpenMP/declare-reduction-use-assoc.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix declare reduction accessibility in module scope (#197078)

Fix four interacting issues with OpenMP declare reduction accessibility
when reductions are declared in Fortran modules:

1. Accessibility propagation (resolve-names.cpp): Reduction symbols like
`op.+` had no linkage to the corresponding `operator(+)` accessibility.
`ApplyDefaultAccess()` now reverse-maps mangled names to their Fortran
   identifiers and inherits operator/procedure accessibility.

2. USE-associated duplicate detection (resolve-names.cpp):
`FindSymbol()`
searched parent scopes and found USE-associated symbols, causing false
   "Duplicate definition" errors. Changed to scope-local `FindInScope()`
   with proper `UseDetails` handling that shadows USE symbols.

3. Module file serialization (mod-file.cpp): `PutUserReduction()` never
emitted accessibility, so PRIVATE was lost on module file round-trips.
Now emits `private::<identifier>` when no GenericDetails symbol already
   carries PRIVATE (avoiding duplicates with PutGeneric output).

4. Reduction clause checking (check-omp-structure.cpp):
   `CheckSymbolSupportsType()` scanned all module scopes ignoring
   accessibility. Now skips PRIVATE reductions in the module scope scan.

Also fixes a pre-existing bug in `MakeNameFromOperator()` where the
CharBlock lengths for OR, EQV, and NEQV included the null terminator
(6/7/8 instead of 5/6/7), causing silent mismatches in StringSwitch
comparisons.

Note: `CheckSymbolSupportsType` still scans all global module scopes
rather than only USE-reachable ones. This pre-existing over-broad lookup
is improved by the PRIVATE filter added here but a proper
scope-restricted resolution is left as future work.

Fixes #187415
Related: #192580

Assisted-by: Claude Opus 4.6.

Co-authored-by: Matt P. Dziubinski <matt-p.dziubinski at hpe.com>


  Commit: 96b6bb78aa04c489fcd95e844a74bbcc64f8a2ef
      https://github.com/llvm/llvm-project/commit/96b6bb78aa04c489fcd95e844a74bbcc64f8a2ef
  Author: lijinpei-amd <jinpli at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/AMDGPU/freeze-other-uses-issue-198094.ll

  Log Message:
  -----------
  [DAGCombiner] Loop unfreeze step in visitFREEZE freezeOtherUses (#200120)

The first ReplaceAllUsesOfValueWith in visitFREEZE's freezeOtherUses
block can leave users of N behind: when the inner RAUW cascade
encounters a freeze user whose hash collides post-mutation, the
recursive merge prepends new freeze users to N's use-list that the outer
iterator deliberately skips (PR3018 invariant). Those leftover users
then collide with the self-cycle the next RAUW step creates, firing
"Node is not in map!" in RemoveNodeFromCSEMaps.

Wrap the unfreeze in a convergence loop so all such prepended users are
drained before the second RAUW. Each iteration strictly shrinks N's
use-set, bounded by the depth of the freeze chain.

Fixes #198094


  Commit: 7948d336a9eb457321dce284bdd1dfbffa33ef33
      https://github.com/llvm/llvm-project/commit/7948d336a9eb457321dce284bdd1dfbffa33ef33
  Author: Prasoon <prasoonkumar054 at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [lit] Refactor super() calls in ResultCode (#199891)

This PR simplifies the `super()` call in `ResultCode.__new__`
by migrating from the Python 2 style explicit arguments to the
standard Python 3 zero-argument syntax.

This PR is part of the "GSoC 2026: Improving lit" project.

Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>


  Commit: ba7d42b096cbef00320abe2b2e12a0125a6dc2f3
      https://github.com/llvm/llvm-project/commit/ba7d42b096cbef00320abe2b2e12a0125a6dc2f3
  Author: Maryam Moghadas <maryammo at ca.ibm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstrVSX.td
    M llvm/test/CodeGen/PowerPC/combine-fneg.ll
    M llvm/test/CodeGen/PowerPC/fma-combine.ll
    M llvm/test/CodeGen/PowerPC/recipest.ll
    M llvm/test/CodeGen/PowerPC/repeated-fp-divisors.ll
    A llvm/test/CodeGen/PowerPC/vec-splats-opt.ll

  Log Message:
  -----------
  [PowerPC] Optimize vec_splats of small FP values on Power8/9 (#199538)

Recognize small constant FP splats representable as integers and lower
them to vspltisw + xvcvsxwdp/xvcvsxwsp on Power8/9, avoiding constant
pool loads.


  Commit: 90aece05fdd4be2f6ccac93508d7ee7852d336b5
      https://github.com/llvm/llvm-project/commit/90aece05fdd4be2f6ccac93508d7ee7852d336b5
  Author: LU-JOHN <John.Lu at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
    M llvm/test/CodeGen/AMDGPU/ashr.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr.mir

  Log Message:
  -----------
  [AMDGPU] Do not combine V_ASHRREV_I16* to make sdwa (#198491)

Do not combine V_ASHRREV_I16* instructions to form sdwa instructions.
These instructions zero-fill the high 16-bits.

---------

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


  Commit: 8fea28089a91bbcee1ffb21d034548019329d775
      https://github.com/llvm/llvm-project/commit/8fea28089a91bbcee1ffb21d034548019329d775
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Object/DXContainer.cpp
    M llvm/unittests/Object/DXContainerTest.cpp

  Log Message:
  -----------
  [DirectX] Check DXContainer's header magic during parsing (#198586)

Check that header magic is 'DXBC' during parsing to avoid random data
being treated like a correct header.


  Commit: c34220a5709dabcd22d07929a82b5e563e955562
      https://github.com/llvm/llvm-project/commit/c34220a5709dabcd22d07929a82b5e563e955562
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [RISCV] Use append TableGen feature in RISCVInstrInfoP.td. NFC (#200110)

I may go back and adjust some formatting in a follow up. I wanted to
keep the diff here focused on the Predicates changes.


  Commit: 67ac1b07a38f44ff9f05b8d7b1e3fe2b3698782c
      https://github.com/llvm/llvm-project/commit/67ac1b07a38f44ff9f05b8d7b1e3fe2b3698782c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll

  Log Message:
  -----------
  [RISCV][P-ext] Support v4i16/v8i8 build_vector on RV32. (#199883)


  Commit: c4d820ce311b74acf70e52ec04856fc89b503ab9
      https://github.com/llvm/llvm-project/commit/c4d820ce311b74acf70e52ec04856fc89b503ab9
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/include/llvm/ADT/DenseMap.h
    M llvm/lib/IR/Value.cpp
    M llvm/unittests/ADT/BitVectorTest.cpp

  Log Message:
  -----------
  [DenseMap] Replace tombstone deletion with TAOCP 6.4 Algorithm R (#199615)

DenseMap uses quadratic probing with lazy deletion: an erased entry
becomes a tombstone, a third bucket state alongside empty and live that
every find/insert must inspect.

Switch to linear probing with backward-shift deletion (Knuth TAOCP 6.4
Algorithm R), similar to the SmallPtrSet change #197637. This removes
the tombstone state entirely.

In exchange, erase now relocates the following live entries to close the
hole, so it invalidates iterators and references other than the erased
one. For callers that cache pointers into the bucket array,
erase(Key, OnMoved) and erase(iterator, OnMoved) fire a callback once
per
shifted bucket, so fix-ups cost O(cluster) rather than O(NumEntries).
ValueHandleBase::RemoveFromUseList uses this to refresh each moved
handle's PrevPtr.

Linear probing is more vulnerable to primary clustering than quadratic
probing, so this relies on the stronger DenseMapInfo<T*>::getHashValue
mixer from #197390.

Operation distribution when compiling CGExpr.cpp/ScalarEvolution.cpp:
62.8% lookups, 34.3% inserts, 2.9% erases. The heaviest DenseMap
specializations have pointer keys and 16-byte key/value pairs.
Alternatives such as Robin Hood hashing, Verstable, and Boost's
unordered_flat_map were evaluated; they are slower and have a larger
code footprint. I believe the current in-band sentinel value approach,
despite the pain (#146595), is the best, or at least very difficult to
beat.

Non-core cleanups aided by Claude Opus 4.7.


  Commit: ea4cd9228f872677395d1ded19f67f20f016c78a
      https://github.com/llvm/llvm-project/commit/ea4cd9228f872677395d1ded19f67f20f016c78a
  Author: michaelselehov <michael.selehov at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    R clang/test/CodeGen/amdgpu-abi-struct-coerce.c
    M clang/test/CodeGen/amdgpu-variadic-call.c
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/Headers/amdgcn-openmp-device-math-complex.c

  Log Message:
  -----------
  Revert "[AMDGPU] Stop coercing structs with FP and int fields to inte… (#199981)

…ger arrays (#185083)"

This reverts commit 50b859cca1ccf7d174ee61a8a130ae14220209e4.

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


  Commit: 2c8ca9679e85e466e8d7105027df322d03c45e3d
      https://github.com/llvm/llvm-project/commit/2c8ca9679e85e466e8d7105027df322d03c45e3d
  Author: Jan André Reuter <j.reuter at fz-juelich.de>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/docs/OpenMPSupport.rst
    M offload/include/OpenMP/OMPT/Interface.h
    M offload/libomptarget/OpenMP/API.cpp
    M offload/libomptarget/OpenMP/OMPT/Callback.cpp
    A offload/test/ompt/target_memset.c
    A offload/test/ompt/target_memset_async.c
    A offload/test/ompt/target_memset_emi.c

  Log Message:
  -----------
  [OMPT] Add callback for `omp_target_memset` calls (#194168)

OpenMP v6.0 added new enum values to `ompt_callback_target_data_op_t`
for communicating `memset` events. Add a corresponding callback
invokation to `omp_target_memset` calls.

Expand the tests to ensure correct behavior.

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


  Commit: 10f84995b430a7964d0873488100756a52652fa0
      https://github.com/llvm/llvm-project/commit/10f84995b430a7964d0873488100756a52652fa0
  Author: Prasoon <prasoonkumar054 at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [lit] Modernize ParserKind implementation using Python3 IntEnum (#199965)

`ParserKind` in `TestRunner.py` uses a detached dictionary
for suffix mapping, which is a Python 2 idiom. We can convert
the class to a Python 3 `IntEnum`. No change in behavior.

This PR is part of the "GSoC 2026: Improving lit" project.

Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>


  Commit: 10497d20fc2f5312df03dc7c48f4f050f92ad6d5
      https://github.com/llvm/llvm-project/commit/10497d20fc2f5312df03dc7c48f4f050f92ad6d5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/IR/Constants.cpp
    M llvm/test/Assembler/aggregate-constant-values.ll

  Log Message:
  -----------
  [IR] Remove options for vector of null representation (#200172)

This had a bit time to bake in tree, I don't think we need these options
anymore.


  Commit: aff129e825b5e21943f89a3994d6e26a14600367
      https://github.com/llvm/llvm-project/commit/aff129e825b5e21943f89a3994d6e26a14600367
  Author: Joshua Rodriguez <josh.rodriguez at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/X86/machine-block-hash.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Add support for pmul intrinsic (#198809)

Previously, pmul couldn't lower as there were neither any GlobalISel
patterns for the intrinsic, nor a GlobalISel node to allow use of the
SelectionDAG patterns.
Create a G_PMUL node linked to the SelectionDAG node 'clmul' (CarryLess
MULtiplication). Now the ISel stage of GlobalISel has suitable patterns
to lower the intrinsic.


  Commit: ac2c011dd3b15e97b6dd6fbd11ca57b6411cab09
      https://github.com/llvm/llvm-project/commit/ac2c011dd3b15e97b6dd6fbd11ca57b6411cab09
  Author: Piotr Balcer <piotr.balcer at intel.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M offload/unittests/OffloadAPI/common/Fixtures.hpp
    M offload/unittests/OffloadAPI/event/olGetEventElapsedTime.cpp
    M offload/unittests/OffloadAPI/kernel/olCalculateOptimalOccupancy.cpp
    M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
    M offload/unittests/OffloadAPI/memory/olMemFill.cpp
    M offload/unittests/OffloadAPI/queue/olDestroyQueue.cpp
    M offload/unittests/OffloadAPI/queue/olLaunchHostFunction.cpp
    M offload/unittests/OffloadAPI/symbol/olGetSymbolInfo.cpp

  Log Message:
  -----------
  [offload] add SKIP_KNOWN_FAILURE unittest macro (#196275)

... and disable failing level-zero tests, to be reenabled once the
plugin is fully functional.

Here is the passrate for the level-zero plugin unit tests:
```
Total Discovered Tests: 645
  Skipped:  74 (11.47%)
  Passed : 571 (88.53%)
```

We are actively working on fixing the issues marked as known failures
here.


  Commit: 35a10827d093d5890948c9ac362ac546464a67bc
      https://github.com/llvm/llvm-project/commit/35a10827d093d5890948c9ac362ac546464a67bc
  Author: Gábor Tóthvári <gabor.tothvari at ericsson.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/docs/analyzer/developer-docs/IPA.rst
    M clang/include/clang/Analysis/AnalysisDeclContext.h
    M clang/include/clang/Analysis/PathDiagnostic.h
    M clang/include/clang/Analysis/ProgramPoint.h
    M clang/include/clang/StaticAnalyzer/Checkers/Taint.h
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
    M clang/include/clang/StaticAnalyzer/Core/Checker.h
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/LoopWidening.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/lib/Analysis/AnalysisDeclContext.cpp
    M clang/lib/Analysis/PathDiagnostic.cpp
    M clang/lib/Analysis/ProgramPoint.cpp
    M clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
    M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
    M clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
    M clang/lib/StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/Iterator.cpp
    M clang/lib/StaticAnalyzer/Checkers/Iterator.h
    M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/NoOwnershipChangeVisitor.cpp
    M clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
    M clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnconditionalVAArgChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VAListChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/Environment.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
    M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
    M clang/lib/StaticAnalyzer/Core/LoopWidening.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    R clang/lib/StaticAnalyzer/Core/PrettyStackTraceLocationContext.h
    A clang/lib/StaticAnalyzer/Core/PrettyStackTraceStackFrame.h
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
    M clang/lib/StaticAnalyzer/Core/WorkList.cpp
    M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
    M clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
    M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
    M clang/unittests/StaticAnalyzer/CallEventTest.cpp
    M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
    M clang/unittests/StaticAnalyzer/ParamRegionTest.cpp
    M clang/unittests/StaticAnalyzer/StoreTest.cpp
    M clang/unittests/StaticAnalyzer/SymbolReaperTest.cpp
    M clang/unittests/StaticAnalyzer/UnsignedStatDemo.cpp
    M clang/www/analyzer/checker_dev_manual.html

  Log Message:
  -----------
  [analyzer][NFC] Merge the class `LocationContext` into `StackFrame` (#198211)

This commit implements the final parts of the roadmap described in issue
#190973 by merging the class `LocationContext` into the class
`StackFrame` and replacing `LocationContext` with `StackFrame`
throughout the analyzer.


  Commit: 020b4dde0f8c26fc880f4410e7a682fff9db5311
      https://github.com/llvm/llvm-project/commit/020b4dde0f8c26fc880f4410e7a682fff9db5311
  Author: Mishal Shah <mishal_shah at apple.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M .ci/green-dragon/lldb-windows.groovy

  Log Message:
  -----------
  [CI] Add 'lld' to LLVM projects in build script for lldb windows bot (#200207)


  Commit: 839091f0f298294459495a562ae29e75c389df95
      https://github.com/llvm/llvm-project/commit/839091f0f298294459495a562ae29e75c389df95
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    A lldb/include/lldb/Host/windows/LazyImport.h
    M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
    A lldb/test/API/windows/thread/Makefile
    A lldb/test/API/windows/thread/TestThreadName.py
    A lldb/test/API/windows/thread/main.c

  Log Message:
  -----------
  [lldb-server][Windows] add support for thread name (#199983)


  Commit: f505ceabdd2339f078cd6886d3f52cc622abd5c9
      https://github.com/llvm/llvm-project/commit/f505ceabdd2339f078cd6886d3f52cc622abd5c9
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
    M clang/test/SemaTemplate/class-template-spec.cpp

  Log Message:
  -----------
  [clang] fix member specializations of class and variable partial specializations (#200092)

A partial specialization may be a member specialization even if there is
no corresponding primary member partial specialization.

For example:
```C++
template<class> struct X {
  template<class> struct Inner;
};
template<> template<class T>
struct X<int>::Inner<T*> {};
```

Make sure this state is represented, so that
[temp.spec.partial.member]p2 can be applied.

Split off from #199528


  Commit: b76d08a8fc46684c43728eb3c097718d0b6c00b7
      https://github.com/llvm/llvm-project/commit/b76d08a8fc46684c43728eb3c097718d0b6c00b7
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    A llvm/lib/Target/RISCV/RISCVSchedSiFive8.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td

  Log Message:
  -----------
  [RISCV] Factor out common scheduling model part between SiFive P400 and P500. NFCI (#199796)

This is the first part a patch series that tries to factor out common
bits from the SiFiveP400, SiFiveP500, and the SiFiveP600 scheduling
models.

This PR contains the related changes on the SiFiveP400 and SiFiveP500
models

NFCI.

---------

Co-authored-by: Craig Topper <craig.topper at sifive.com>


  Commit: 7e539a4497fb6f4c7a8c112514bb1b1ec54fe94f
      https://github.com/llvm/llvm-project/commit/7e539a4497fb6f4c7a8c112514bb1b1ec54fe94f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [VPlan] Thread scalar types through VPWiden(Cast)Recipe. (NFC) (#199572)

Update VPWidenRecipe and VPWidenCastRecipe to populate
VPSingleDefValue's
scalar type. For all VPWidenRecipe opcodes, the scalar type is determine
from the operands, via computeScalarTypeForInstruction (from
https://github.com/llvm/llvm-project/pull/199378).
For cast, the type must be provided explicitly.

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

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


  Commit: 934e5610ebfae936598896dc188cad331992d1af
      https://github.com/llvm/llvm-project/commit/934e5610ebfae936598896dc188cad331992d1af
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M libc/src/inttypes/strtoimax.cpp
    M libc/src/inttypes/strtoumax.cpp
    M libc/src/stdlib/strtol.cpp
    M libc/src/stdlib/strtol_l.cpp
    M libc/src/stdlib/strtoll.cpp
    M libc/src/stdlib/strtoll_l.cpp
    M libc/src/stdlib/strtoul.cpp
    M libc/src/stdlib/strtoul_l.cpp
    M libc/src/stdlib/strtoull.cpp
    M libc/src/stdlib/strtoull_l.cpp
    M libc/src/wchar/wcstol.cpp
    M libc/src/wchar/wcstoll.cpp
    M libc/src/wchar/wcstoul.cpp
    M libc/src/wchar/wcstoull.cpp
    M libc/test/src/stdlib/StrtolTest.h
    M libc/test/src/stdlib/strtoint32_test.cpp
    M libc/test/src/stdlib/strtoint64_test.cpp
    M libc/test/src/wchar/WcstolTest.h

  Log Message:
  -----------
  [libc] Don't touch str_end in strto* and wcsto* functions when base is incorrect (#200073)

Updates the behavior of `stro*` and `wcsto*` endpoints to not touch
`str_end` pointer when the provided value of `base` is incorrect and
errno is set to `EINVAL`.

`strto*` and `wcsto*` functions accept `base` as an input argument,
which can only be 0 or lie in [2,36] range. In case of invalid argument,
the functions should return 0 and set errno accordingly. Should the
"output argument" of `str_end` be updated in this case to point to the
beginning of the input string?
* C standard is unclear about it -
is says that `str` should be stored in `str_end` **if `str` is empty or
does not have the expected form** -- but there is no "expected form" for
invalid base values.
* POSIX standard explicitly mentions that for incorrect base value errno
should be set to `EINVAL` and points out that the value of `str_end`
is **unspecified** in this case.

Known implementations don't have a universal agreement about it:
* musl sets `str_end` unconditionally
* glibc doesn't do that in `EINVAL` case
* newlib doesn't do that either.

LLVM-libc used to unconditionally set `str_end` even in `EINVAL` case,
which is changed in this PR. This would not only help with portability,
but makes sense by itself - if input arguments are clearly invalid,
let's not touch output arguments either.

Assisted by: Gemini, human-reviewed


  Commit: 58e35f93069976d71ee4b1ce6215217890da781c
      https://github.com/llvm/llvm-project/commit/58e35f93069976d71ee4b1ce6215217890da781c
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn

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

Ported commits:

- 174eb79572b3

- e1e52c9ccef3


  Commit: 218a21cee57f5eabcecdcb6d739fa8863c3ae9b9
      https://github.com/llvm/llvm-project/commit/218a21cee57f5eabcecdcb6d739fa8863c3ae9b9
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/utils/gn/build/BUILD.gn
    M llvm/utils/gn/build/toolchain/compiler.gni
    M llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Frontend/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/DataFormatters/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Interpreter/BUILD.gn
    M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/ABI/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-objcopy/BUILD.gn

  Log Message:
  -----------
  [gn build] Format all files (#200226)

$ git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format


  Commit: f1c26bce3f30f29e9130d55a7ffb0a2a171a5652
      https://github.com/llvm/llvm-project/commit/f1c26bce3f30f29e9130d55a7ffb0a2a171a5652
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/wctype.yaml
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/wctype/CMakeLists.txt
    M libc/src/__support/wctype/perfect_hash_map.h
    A libc/src/__support/wctype/wctype_conversion_utils.cpp
    A libc/src/__support/wctype/wctype_conversion_utils.h
    M libc/src/__support/wctype_utils.h
    M libc/src/wctype/CMakeLists.txt
    A libc/src/wctype/towlower.cpp
    A libc/src/wctype/towlower.h
    A libc/src/wctype/towupper.cpp
    A libc/src/wctype/towupper.h
    M libc/test/src/__support/wctype/CMakeLists.txt
    M libc/test/src/__support/wctype_utils_test.cpp
    M libc/test/src/wctype/CMakeLists.txt
    M libc/test/src/wctype/iswprint_test.cpp
    A libc/test/src/wctype/towlower_test.cpp
    A libc/test/src/wctype/towupper_test.cpp

  Log Message:
  -----------
  [libc] Implement towupper and towlower entrypoints (#198659)

Following up on #187670 to add public entrypoints for the wctype
conversion functions.

Assisted-by: Automated tooling, human reviewed.

---------

Co-authored-by: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>


  Commit: 3613e27b4c6f5bd79ed0bf982efd76495bdf3dd7
      https://github.com/llvm/llvm-project/commit/3613e27b4c6f5bd79ed0bf982efd76495bdf3dd7
  Author: David Meng <davidmenggx at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-cross-tu.cpp
    M clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-intra-tu.cpp
    A clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-macro.cpp

  Log Message:
  -----------
  [LifetimeSafety] Add fix-it for misplaced lifetimebound attributes (#199149)

This patch adds a fix-it hint for
`warn_lifetime_safety_intra_tu_misplaced_lifetimebound` and
`warn_lifetime_safety_cross_tu_misplaced_lifetimebound` to the
appropriate declaration.

The fix-it attribute is emitted in the correct location, accounting for
pure virtual functions, overrides, trailing return types, and default
arguments. The message is suppressed for macros.

Resolves #198634


  Commit: 0aa9ec6a361002f54deb2a8036410455ee527950
      https://github.com/llvm/llvm-project/commit/0aa9ec6a361002f54deb2a8036410455ee527950
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/ARM/mve-narrow.ll
    A llvm/test/Transforms/InstCombine/fold-zext-of-deinterleave.ll

  Log Message:
  -----------
  [InstCombine] Fold zext into de-interleaving (factor=2) instructions (#195330)

Given the following de-interleaving shufflevectors and the consuming
zexts:
```
%f0 = shufflevector <8 x i32> %v, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
%f1 = shufflevector <8 x i32> %v, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
%z0 = zext <4 x i32> %f0 to <4 x i64>
%z1 = zext <4 x i32> %f1 to <4 x i64>
```
We can actually bitcast the input value, `%v`, first into a vector type
with double the element size but half the vector length, before
replacing zexts with simple arithmetics on this new bitcast:
```
%bc = bitcast <8 x i32> %v to <4 x i64>
%z0 = and <4 x i64> %bc, splat (i64 4294967295)
%z1 = lshr <4 x i64> %bc, splat (i64 32)
```
This transformation is almost always benefitial as shufflevector is
generally more expensive than normal arithmetics.


  Commit: 9092493752a25c94c7e001695e37ab0073c50f5e
      https://github.com/llvm/llvm-project/commit/9092493752a25c94c7e001695e37ab0073c50f5e
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/lib/Sema/SemaExprCXX.cpp
    A clang/test/CXX/expr/expr.prim/expr.prim.this/p4.cpp

  Log Message:
  -----------
  [Clang][Sema] Use correct DeclContext when checking 'this' (#163243)

As mentioned in #163089, clang crashes for the following inputs:

```cpp
struct S {
    static void f() {
        auto x = []() -> decltype(this) {};
    }
};
```

```cpp
struct S {
    static void f() {
        auto x = []() noexcept(decltype(this)()) {};
    }
};
```

The crash happens because we currently pass `CurContext` to
`isLambdaCallWithExplicitObjectParameter` in `Sema::CheckCXXThisType`
when we should be passing `DC` (returned from
`getFunctionLevelDeclContext`).

Fixes #163089.


  Commit: 72871f6fa1f1edc3df45d01b67f5093ff9d8e8b5
      https://github.com/llvm/llvm-project/commit/72871f6fa1f1edc3df45d01b67f5093ff9d8e8b5
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M libcxx/include/__tree
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/extract_key.pass.cpp
    M libcxx/test/std/containers/associative/multiset/extract_key.pass.cpp

  Log Message:
  -----------
  [libc++] Fix multi{map,set}::extract not returning the first matching element (#199703)

According to [associative.reqmts] `extract(k)` returns the _first_
element in the container with key equivalent to k.


  Commit: ab0178ce058b660d51ab44c38087c9408125f244
      https://github.com/llvm/llvm-project/commit/ab0178ce058b660d51ab44c38087c9408125f244
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
    M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll

  Log Message:
  -----------
  [ExpandVariadics] Fixup handeling of mismatched return types (#198843)

Fix an assert when RAUW tries to replace all uses with a different type.


  Commit: 743cd53e67d267daf9a1d748bfc551f69980fceb
      https://github.com/llvm/llvm-project/commit/743cd53e67d267daf9a1d748bfc551f69980fceb
  Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.ll

  Log Message:
  -----------
  [AMDGPU][GlobalIsel] Add regbank support for amdgcn_cvt_scalef32_sr_f8_f16/32 (#197031)

This patch adds register bank legalization rules for amdgcn_cvt_scalef32_sr_f8_f16/32 intrinsics in the AMDGPU GlobalISel
pipeline.


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

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

  Log Message:
  -----------
  [AMDGPU] Add an early exit in `tryMatchVOPDPairVariant` (#200148)

This allows to skip calls to `hasRAWDependency` when we know that no
VOPD pair can be encoded.


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

  Changed paths:
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Fir/array-coor-canonicalization.fir

  Log Message:
  -----------
  [flang] Canonicalize fir.array_coor for contiguous arrays. (#200106)

This patch adds new canonicalization pattern for `fir.array_coor`
sequences appearing for contiguous array slices like `dx(1:3)`,
`dx(1:3, 2)`, etc. This canonicalization helps exposing the original
rank of the array, which makes MLIR after FIRToMemRef better
optimizable.

Assisted by Cursor


  Commit: 45304733791f94bff5c9141c4c793dba3a03360f
      https://github.com/llvm/llvm-project/commit/45304733791f94bff5c9141c4c793dba3a03360f
  Author: NeKon69 <nobodqwe at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
    M clang/test/Sema/warn-lifetime-safety-dangling-global.cpp
    M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Improve dangling field/global diagnostics (#200147)

Reuses the function for getting object information that was added in
#199432

Comes as part of completing #186002

---------

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


  Commit: 192601e8b3ad8b5f73cf27f2093fef5a8c9f4cb6
      https://github.com/llvm/llvm-project/commit/192601e8b3ad8b5f73cf27f2093fef5a8c9f4cb6
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/arithmetic.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/bitwise.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/comparison.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/conversion.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/fma.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/fp.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/mask.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/minmax.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/mul-div.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/permutation.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/reduction.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vle-vse-vlm.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vlse-vsse.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vlseg-vsseg.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vlxe-vsxe.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvbb.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvbc.test
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvkg.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvkned.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvknhb.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvksed.s
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvksh.s

  Log Message:
  -----------
  [RISCV] Update the ProcResource used by vsetvli in SiFiveP400 model (#199802)

The vsetvli instruction (and friends) should use the first integer pipe
(i.e. SiFiveP400IEXQ0)

Co-authored-by: Craig Topper <craig.topper at sifive.com>


  Commit: 6dec1e526f0300094dad64bcf16123d353117617
      https://github.com/llvm/llvm-project/commit/6dec1e526f0300094dad64bcf16123d353117617
  Author: David Green <david.green at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll

  Log Message:
  -----------
  [AArch64] Add more tests for generating mull from disjoint or. NFC (#200237)


  Commit: e1d2b5b52d80440048789527e22345fef154056e
      https://github.com/llvm/llvm-project/commit/e1d2b5b52d80440048789527e22345fef154056e
  Author: Zibi Sarbinowski <zibi at ca.ibm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/test/CodeGen/Generic/2009-03-17-LSR-APInt.ll
    M llvm/test/CodeGen/Generic/available_externally_alias.ll

  Log Message:
  -----------
  [z/OS][tests] using aliases on z/OS are not supported (#200233)

This PR follows up on #200176 by replacing XFAIL with UNSUPPORTED for
test cases that are not planned for support in the near future.


  Commit: 742b750f5e2b90c79401fa000f91248db6f80b8f
      https://github.com/llvm/llvm-project/commit/742b750f5e2b90c79401fa000f91248db6f80b8f
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp

  Log Message:
  -----------
  [lldb][Darwin] Save "most recent SDK root" in local var (#200095)

In PlatformRemoteDarwinDevice::GetSharedModule we have an array of "sdk
root" directories (aka DeviceSupport directories) for a remote device,
which contain all of the system shared libraries on the local mac. We
may have 6 SDK Root directories for different OS builds. We try to
identify the correct one for the target based on version number, but
when we find a file with a matching UUID in one directory we set that as
the "most recently successful" directory, and start our searches with
that one. Then we fall back to searching all the other directories.

Since adding parallel module loading, because this method doesn't lock
access to the "most recently successful directory"
(m_last_module_sdk_idx), we could check the m_last_module_sdk_idx
directory, and then if that was unsuccessful, check all other entries !=
m_last_module_sdk_idx. But m_last_module_sdk_idx could mutate via
another thread, and we skip one of our SDK Root directories. Resulting
in reading a binary out of memory, when we had a local copy of it.

This PR reads the value of m_last_module_sdk_idx into a local const, and
uses the same local index to check for it -- and if not found, to skip
that directory when iterating over all directories again, instead of
adding locking around access to this.

The array itself is created when the Platform is initialized and not
mutated when parallel-binary-loading, so there are no concerns with
that.

rdar://178096480


  Commit: a0ac7521342567573da5b1e47c94f6199faada39
      https://github.com/llvm/llvm-project/commit/a0ac7521342567573da5b1e47c94f6199faada39
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
    M compiler-rt/lib/scudo/standalone/memtag.h
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
    A compiler-rt/lib/scudo/standalone/tests/error_info_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
    M compiler-rt/lib/scudo/standalone/wrappers_c.cpp

  Log Message:
  -----------
  [scudo] Create a non-static getErrorInfo function. (#199770)

Create a getErrorInfo function that operates on the Allocator and
doesn't require passing in all of the extra information.

Add interface function __scudo_get_fault_error_info that calls this new
function.

Add all needed functions to support the new getErrorInfo.

This is being added to replace the static version from Android that
required linking in a copy of libscudo to use. This new version will be
used directly from libc.


  Commit: 9c640504466ab0c7cd2850fd482092b72a01bc9e
      https://github.com/llvm/llvm-project/commit/9c640504466ab0c7cd2850fd482092b72a01bc9e
  Author: David Green <david.green at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/arith-bf16.ll
    M llvm/test/CodeGen/AArch64/fabs.ll
    M llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfclamp.ll

  Log Message:
  -----------
  [AArch64] Fixup f16->bf16 in intrinsic defs. NFC (#200244)


  Commit: 09ad10052903ad38aa770642ae5c6a7115c92e5e
      https://github.com/llvm/llvm-project/commit/09ad10052903ad38aa770642ae5c6a7115c92e5e
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.h
    M lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.h
    A lldb/test/Shell/SymbolFile/NativePDB/ast-lambdas-msvc.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/ast-lambdas.cpp

  Log Message:
  -----------
  [lldb][NativePDB] Use decl context from a method's class (#199221)

When we look up the parent decl context for a method, we used to look
for that by name. For "regular" types that works well.
Say, we have a `struct ns::Foo` and `ns::Foo::bar`. We'd search for
`ns::Foo` and use its context.

For special types - mainly lambdas - this doesn't work. They can't be
found by looking for the name we get from the function symbol. That name
won't be in the TPI hash table we use.

I'm not fully sure under which name they're in that table. For example,
if we get the name `Foo::fun::<lambda_1>::operator()` from the function
symbol, we'd look for `Foo::fun::<lambda_1>`. This fails. A class with
this name is actually present, but it has a different unique name. Its
unique name demangles to `` `public: void __cdecl
Foo::fun(void)'::`1'::<lambda_1> `` which doesn't match what we searched
for. That might be the issue.

If we can't find a class/struct, we create namespaces. So before, we
created namespaces for each segment and added a regular function inside.
This was wrong for methods.

However, we can tell that a function is a method by looking at its
function type. And we know the parent class from this type. With this PR
that parent class is used if it's available.


  Commit: 184a8f94757c35deecf7a7323ca3ce73c9f228b7
      https://github.com/llvm/llvm-project/commit/184a8f94757c35deecf7a7323ca3ce73c9f228b7
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M libcxx/include/__iterator/static_bounded_iter.h
    M libcxx/include/__iterator/wrap_iter.h
    A libcxx/test/libcxx/containers/sequences/array/nodiscard.iterator.verify.cpp

  Log Message:
  -----------
  [libc++] Applied `[[nodiscard]]` to `array::iterator` (#198492)

Towards #172124


  Commit: 5f49cff125e2adb255f2d61e8589ae761d5b4826
      https://github.com/llvm/llvm-project/commit/5f49cff125e2adb255f2d61e8589ae761d5b4826
  Author: David Green <david.green at arm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    A llvm/test/CodeGen/AArch64/and_xor_shift.ll

  Log Message:
  -----------
  [AArch64] Add tests for and+xor+shift. NFC (#200250)

This adds test coverage for #199813. Hopefully this will prevent gisel
from
getting worse.


  Commit: d69c732e6e71bf80ad7336ae2a5834ee74593c28
      https://github.com/llvm/llvm-project/commit/d69c732e6e71bf80ad7336ae2a5834ee74593c28
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M .github/workflows/hlsl-test-all.yaml

  Log Message:
  -----------
  CI: ignore errors on HLSL Publish step (#200240)

This step seems to fail consistently on the remote endpoint for large
PRs.

Example:
https://github.com/llvm/llvm-project/actions/runs/26589632748/job/78344693871?pr=199528


  Commit: 060ef6a90c39b4573c9eba2757be2cbf6ec22796
      https://github.com/llvm/llvm-project/commit/060ef6a90c39b4573c9eba2757be2cbf6ec22796
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/utils/lit/lit/LitConfig.py
    A llvm/utils/lit/tests/Inputs/lit-config-readonly/lit.cfg
    A llvm/utils/lit/tests/lit-config-readonly.py

  Log Message:
  -----------
  [lit] Enforce read-only behavior on lit_config.maxIndividualTestTime (#198193)

Enforce read-only behavior on lit_config.maxIndividualTestTime after
initialization to prevent test suites from modifying it globally, and
add a core lit test to verify this behavior.

PR Stack:
* https://github.com/llvm/llvm-project/pull/198192
* https://github.com/llvm/llvm-project/pull/199886
* https://github.com/llvm/llvm-project/pull/199996
* ➤ https://github.com/llvm/llvm-project/pull/198193

Assisted-by: Gemini


  Commit: 4df74706ab477798263cade8b742bba48d0b172f
      https://github.com/llvm/llvm-project/commit/4df74706ab477798263cade8b742bba48d0b172f
  Author: xys-syx <xuyuansui at outlook.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
    M flang/test/Lower/CUDA/cuda-device-proc.cuf
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/nvvm.mlir
    M mlir/test/Target/LLVMIR/nvvm/barrier.mlir
    M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
    M mlir/test/python/dialects/nvvm.py

  Log Message:
  -----------
  [MLIR][NVVM] Split nvvm.barrier into nvvm.barrier and nvvm.barrier.reduction (#199404)


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

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-parameters.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp

  Log Message:
  -----------
  [clang-tidy] Fixes false positive with a non-const method on a pointer (#188844)

Fixes

#56777
#58098
#64955

Non-const member functions don't mutate the pointer but the pointee.
Pointee mutations follow different path within the analyzer, so should
not be effected.

Edit to old tests were needed. Adds a dedicated tests besides those.


  Commit: 3769bd61d0b3e555c45a9b5de919f0f166355fe8
      https://github.com/llvm/llvm-project/commit/3769bd61d0b3e555c45a9b5de919f0f166355fe8
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [RISCV] Use std::optional::operator* instead of value(). NFC (#200235)


  Commit: 3df7e3707c2a3673a25e2fa8147d3cb9ba0aad0e
      https://github.com/llvm/llvm-project/commit/3df7e3707c2a3673a25e2fa8147d3cb9ba0aad0e
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp

  Log Message:
  -----------
  [SandboxVec][DAG] Implement missing API for successors (#195301)

This patch implements the missing API for accessing the DAG successors.
This includes the successor iterators and DAG Node member functions like
succs(). These are mirroring the existing predecessor API.


  Commit: e7ea47d98e7e1b38496846d37ca06d1f1562f54b
      https://github.com/llvm/llvm-project/commit/e7ea47d98e7e1b38496846d37ca06d1f1562f54b
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  worflows/premerge: Remove template expansion (#200068)

https://github.com/llvm/llvm-project/security/code-scanning/1686
https://github.com/llvm/llvm-project/security/code-scanning/1687
https://github.com/llvm/llvm-project/security/code-scanning/1688
https://github.com/llvm/llvm-project/security/code-scanning/1689


  Commit: 46c8c1e1320e5524700f09998490a5fd7216917b
      https://github.com/llvm/llvm-project/commit/46c8c1e1320e5524700f09998490a5fd7216917b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/test/Transforms/AggressiveInstCombine/popcount.ll

  Log Message:
  -----------
  [AggressiveInstCombine] Factor common code out of tryToRecognizePopCount and tryToRecognizePopCount2n3. (#199440)

Both of these patterns end with code to compute the popcount of each
byte.

This isn't NFC because tryToRecognizePopCount2n3 handled an alternate
pattern for one of the steps and tryToRecognizePopCount used
MaskedValueIsZero. The shared code applies these differences to both
cases. New tests have been added.

Assisted-by: Claude Sonnet 4.6

---------

Co-authored-by: Min-Yih Hsu <min at myhsu.dev>


  Commit: 63da2695b1a3c8e4f42d2e1d63faa1eb412886ec
      https://github.com/llvm/llvm-project/commit/63da2695b1a3c8e4f42d2e1d63faa1eb412886ec
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [VPlan] Strip IR-PatternMatch include in VPlanAnalysis (NFC) (#200186)

To reduce confusion.


  Commit: 42010078e75053f09e46a8d58033fa768c57961f
      https://github.com/llvm/llvm-project/commit/42010078e75053f09e46a8d58033fa768c57961f
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll

  Log Message:
  -----------
  [MemCpyOpt] Keep volatile memset before memcpy (#200100)


  Commit: 810e67f50d8f149c0c88cbda1707b52b7ae9936f
      https://github.com/llvm/llvm-project/commit/810e67f50d8f149c0c88cbda1707b52b7ae9936f
  Author: Carlos Seo <carlos.seo at linaro.org>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/Clauses.cpp
    A flang/test/Lower/OpenMP/Todo/ordered-depend.f90
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h

  Log Message:
  -----------
  [flang][OpenMP] Fix crash on standalone ordered with depend(source|sink:) (#200193)

A standalone ordered construct using the pre-OpenMP 5.2 depend(source) /
depend(sink:) spelling crashed flang with an assertion failure in
buildConstructQueue ("Construct decomposition failed"), or emitted a
TODO when assertions were disabled.

These dependence types are valid on ordered since OpenMP 4.5, but flang
represents them internally as a doacross clause, which construct
decomposition only accepts from OpenMP 5.2. As a result, decomposition
produced an empty output and tripped the assertion at every OpenMP
version below 5.2 (including the default 3.1).

Lowering of the standalone ordered directive is not implemented yet
(genOrderedOp only emits a "not yet implemented" message and ignores the
construct queue). Build the construct queue only for the
block-associated variant and emit the TODO directly for the standalone
directive, so the decomposition that would otherwise assert is no longer
reached.

Note: at versions below 4.5 the construct is technically invalid, but
flang's semantics accepts it silently. Making semantics emit a "requires
OpenMP 4.5" error/warning is probably a good idea.

Fixes #198972


  Commit: b2edcf9fb336b06f624d7c58a04c6dcf3cf74a54
      https://github.com/llvm/llvm-project/commit/b2edcf9fb336b06f624d7c58a04c6dcf3cf74a54
  Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Instrumentor.h
    M llvm/lib/Transforms/IPO/Instrumentor.cpp
    M llvm/test/Instrumentation/Instrumentor/alloca_and_function.ll
    M llvm/test/Instrumentation/Instrumentor/default_config.json
    M llvm/test/Instrumentation/Instrumentor/module_and_globals.ll

  Log Message:
  -----------
  [Instrumentor] Introduce BasePointerIO to communicate base pointer information (#197607)

Loads, stores, and later probably calls, can request a base pointer info
object from the user runtime. This object is queried right after the
base pointer of the operation is defined, and then passed to the
pre/post runtime calls of the loads and stores. This allows users to
inspect pointers early and once, but provide the analysis results to all
operations that might be executed in loops. A potential use case is to
lookup the size and start of the underlying object and then provide
those to the access runtime calls for in-bounds checking.


  Commit: cdb606c37c8f08783aad6d4cc73adbc7d199b1e2
      https://github.com/llvm/llvm-project/commit/cdb606c37c8f08783aad6d4cc73adbc7d199b1e2
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [VPlan] Predicate SCEVs in getSCEVExprForVPValue (NFC) (#199994)

Although the change could be functional in theory, it is very difficult
to find a test case.


  Commit: b41aef8b809c255814801d658138b98e828012b1
      https://github.com/llvm/llvm-project/commit/b41aef8b809c255814801d658138b98e828012b1
  Author: adams381 <adams at nvidia.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    A clang/test/CIR/CodeGen/vector-binop-overflow.cpp

  Log Message:
  -----------
  [CIR] Omit nsw/nuw on integer vector binops (#199123)

CIRGen was attaching `nsw` to `cir.add` on `!cir.vector` integer types
because the signed-overflow path keys off `compType` (the element type,
still `!s32i`), while the verifier only allows `nsw`/`nuw` on scalar
`!cir.int` results.  That mismatch showed up 144 times in the libcxx
CIR sweep on `std::experimental::simd` — `experimental/__simd/vec_ext.h`
increment/decrement (`__data + 1` / `__data - 1`).

Classic CodeGen never enters the signed-overflow block for vector
computation types; CIR now skips the scalar `nsw`/`nuw` path when the
MLIR operand is an integer vector, and uses `getAs<VectorType>()` for
`compType` so typedef-wrapped GCC vectors resolve the element type
correctly.

Regression test `vector-binop-overflow.cpp` checks scalar add still gets
`nsw` and vector add/sub/mul do not (CIR + LLVM + OGCG).


  Commit: 5c219c86b6ffb8adb284e6c439ad1f78f5c10803
      https://github.com/llvm/llvm-project/commit/5c219c86b6ffb8adb284e6c439ad1f78f5c10803
  Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Instrumentor.h
    M llvm/lib/Transforms/IPO/Instrumentor.cpp
    A llvm/test/Instrumentation/Instrumentor/cast.ll
    A llvm/test/Instrumentation/Instrumentor/cast_config.json
    A llvm/test/Instrumentation/Instrumentor/cast_crash.ll
    A llvm/test/Instrumentation/Instrumentor/cast_filter.ll
    A llvm/test/Instrumentation/Instrumentor/cast_filter_config.json
    M llvm/test/Instrumentation/Instrumentor/default_config.json

  Log Message:
  -----------
  [Instrumentor] Add cast instruction instrumentation support (#198224)

We now allow to have instrumentation opportunities for many instructions
(=opcodes) to bundle common classes together. Users can use filters on
the opcode, type-id, and size to statically select what they are
interested in.

Coded with Claude.


  Commit: 23776bd325ec951781923a638ad632e4126b30ea
      https://github.com/llvm/llvm-project/commit/23776bd325ec951781923a638ad632e4126b30ea
  Author: Vedran Miletić <vedran at miletic.net>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt

  Log Message:
  -----------
  [llvm] Fix LLVMOrcTargetProcess symbol export with MinGW/Cygwin shared libs (#174266)

When any symbol in a DLL carries dllexport, the MinGW/Cygwin linker
switches to exclusive-export mode and omits all other symbols from the
export table. LLVMOrcTargetProcess uses LLVM_ALWAYS_EXPORT (__declspec(
dllexport)) so its symbols can be found via GetProcAddress from a
statically linked executable, which triggers this behaviour.

Add --export-all-symbols to LLVMOrcTargetProcess for MinGW/Cygwin
BUILD_SHARED_LIBS builds to restore full symbol export.


  Commit: 2f98f171c2983c2fe875e0f597128a5c1de2165f
      https://github.com/llvm/llvm-project/commit/2f98f171c2983c2fe875e0f597128a5c1de2165f
  Author: Maryam Moghadas <maryammo at ca.ibm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp

  Log Message:
  -----------
  [PowerPC] Fix MSan failure in LowerBUILD_VECTOR (#200260)

Initialize SplatBitSize to fix use-of-uninitialized-value error detected
by MemorySanitizer in ba7d42b.


  Commit: 0d1e9a6177d9ae85d2822fd98bffe55f86e38875
      https://github.com/llvm/llvm-project/commit/0d1e9a6177d9ae85d2822fd98bffe55f86e38875
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll

  Log Message:
  -----------
  [X86][TTI] Retrieve address space from intrinsic info. (#200265)

Instead of using the passed Ptr argument to get the type, to retrieve
the address space, directly retrieve it from MICA.

This fixes a crash when Ptr is nullptr, as after #200049.

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


  Commit: 642bbbaf57ed1d0ce6b7871a8d3dc1386e95926b
      https://github.com/llvm/llvm-project/commit/642bbbaf57ed1d0ce6b7871a8d3dc1386e95926b
  Author: Dhruva Chakrabarti <Dhruva.Chakrabarti at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/LiveRangeEdit.cpp

  Log Message:
  -----------
  [2/3][RegAlloc][LiveRegMatrix] Fix inconsistency when fold creates a CopyMI (#197776)

When TargetInstrInfo::foldMemoryOperand produces a side-effect CopyMI,
the copy destination vreg's LiveInterval is extended via addSegment. If
that vreg is already assigned in LiveRegMatrix, the matrix becomes
inconsistent because it still holds the old (smaller) interval.

Fix this in two places:

- InlineSpiller::foldMemoryOperand: unassign the vreg from the matrix
before addSegment, reassign after, so the matrix reflects the updated
interval.

- LiveRangeEdit::foldAsLoad: notify the delegate via
LRE_WillShrinkVirtReg before addSegment.

LIT test exercised by this patch (i.e. if I introduce consistency
verification as in https://github.com/llvm/llvm-project/pull/197778 but
not this patch, the following test fails):
CodeGen/X86/apx/pr191368.ll

Assisted-by: Cursor/Claude Opus


  Commit: 01cfbaabef6cb59a1a6eb870bf5f48ac2e747118
      https://github.com/llvm/llvm-project/commit/01cfbaabef6cb59a1a6eb870bf5f48ac2e747118
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M .github/workflows/release-binaries-all.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-sources.yml
    M .github/workflows/release-tasks.yml
    M .github/workflows/upload-release-artifact/action.yml

  Log Message:
  -----------
  workflows/upload-release-artifact: Use require-release-manager action (#195374)

This removes the final use of RELEASE_TASKS_USER_TOKEN secret. It
required plumbing the secrets in thrugh several levels of workflow
calls, which is not ideal, but I don't see a better way to do this.


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

  Changed paths:
    M lldb/test/API/windows/thread/main.c

  Log Message:
  -----------
  [lldb][Windows] Move `processthreadsapi.h` include (#200278)

`processthreadsapi.h` needs to be included after `windows.h`.
clang-format needs to be disabled here to avoid sorting the includes.

Fixes the test failure from
https://github.com/llvm/llvm-project/pull/199983#issuecomment-4567633271.


  Commit: 075e16f74d7b265a22af73c4fcb5a6bd4b186543
      https://github.com/llvm/llvm-project/commit/075e16f74d7b265a22af73c4fcb5a6bd4b186543
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/test/CIR/CodeGen/vla.c

  Log Message:
  -----------
  [CIR] Correctly emit the size expr of a VLA with a 'bool' size. (#200066)

This came up in a test suite, the frontend considers 'bool' to be
integral enough to use as a bounds, so bool makes it through to the VLA
codegen. This patch adds a new cast function that takes a bool or int
type and casts it to an int (as this is a pretty useful task, that I
    believe I've seen before).


  Commit: 927c51d2434e9cb094742e77289b35dad88383c5
      https://github.com/llvm/llvm-project/commit/927c51d2434e9cb094742e77289b35dad88383c5
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py

  Log Message:
  -----------
  [lldb] Improve frame variable handling of recognizer arguments (#200084)

Fixes two bugs. The bug which prompted this change is that `frame
variable name` would
print all regcognizer arguments, even though only "name" was requested.

While making a test for the first bug, I found that `frame variable
recognizer_arg` will
both successfully print the variable, and also report a false positive
error:

```
error: <user expression>:1:1: use of undeclared identifier 'recognizer_arg'
      1 | recognizer_arg
```

This change fixes both bugs, including when using `--regex`.


  Commit: 58dff928280641f764fd08e421ee8a707f586f2d
      https://github.com/llvm/llvm-project/commit/58dff928280641f764fd08e421ee8a707f586f2d
  Author: Zibi Sarbinowski <zibi at ca.ibm.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    A llvm/test/tools/llvm-offload-binary/llvm-offload-binary-malformed.ll
    M llvm/test/tools/llvm-offload-binary/llvm-offload-binary.ll

  Log Message:
  -----------
  [llvm-offload-binary] Fix test failures on z/OS by splitting malformed tests (#200258)

## Summary
This PR fixes test failures in `llvm-offload-binary.ll` on z/OS (and
potentially other EBCDIC platforms) by splitting the malformed file
tests into a separate test file.

## Problem
The test was failing on z/OS because it uses `printf` with octal escape
sequences to create malformed binary test data:
```bash
printf "\020\377\020\255\012" > %t9
```

On z/OS, the shell's I/O redirection performs automatic EBCDIC-to-ASCII
translation on the output from `printf`. This means the binary data
written to the file gets translated, resulting in different bytes than
intended. The malformed test data is therefore not created correctly,
causing `llvm-offload-binary` to fail in unexpected ways or not produce
the expected error messages.

## Benefits of this solution
- Main test file now passes on all platforms including z/OS
- Malformed file error handling tests are preserved for ASCII-based
systems
- Clear separation of concerns between standard tests and
platform-specific tests
- No loss of test coverage on supported platforms


  Commit: ee40c5e35152cbd7ddb9d44aecab455e66df8d5a
      https://github.com/llvm/llvm-project/commit/ee40c5e35152cbd7ddb9d44aecab455e66df8d5a
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M flang/lib/Optimizer/Analysis/ArraySectionAnalyzer.cpp
    A flang/test/HLFIR/order_assignments/where-allocatable-base.f90

  Log Message:
  -----------
  [flang] Fix WHERE self-updates on allocatable array sections (#200281)

Teach ArraySectionAnalyzer to use the scheduler's value-equivalence
callback
when comparing hlfir.designate base memrefs. This lets HLFIR ordered
assignment
lowering recognize allocatable WHERE self-updates as aligned even when
the LHS
and RHS use distinct descriptor loads.

This avoids generating full-sized RHS temporaries for these masked
self-updates, preventing device heap exhaustion while preserving
parallel
kernel generation. Add a regression test for allocatable WHERE section
scheduling.


  Commit: 7e200ebdd08cc5d95016c02636abe6e93bb581d4
      https://github.com/llvm/llvm-project/commit/7e200ebdd08cc5d95016c02636abe6e93bb581d4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/test/Transforms/AggressiveInstCombine/popcount.ll

  Log Message:
  -----------
  [AggressiveInstCombine] Support Len==8 in tryToRecognizePopCount2n3. (#199551)

Len==8 can use matchPopCountBytes to do it's matching.


  Commit: f85729489de0289a24920fa931b0aa00fb095c56
      https://github.com/llvm/llvm-project/commit/f85729489de0289a24920fa931b0aa00fb095c56
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/docs/TestingGuide.rst

  Log Message:
  -----------
  [Docs] Improve Documentation on Writing IR Test Cases (#200259)

This adds documentation for a couple common review comments I've seen:
1. Extraneous target triples/data-layouts
2. Tests not getting put in the right folder (especially when they
require a target and are not put in the target-specific subfolder)
3. Extraneous FileCheck prefixes.


  Commit: 75fb8e47f6170d66c72311b9629b19c02e97841b
      https://github.com/llvm/llvm-project/commit/75fb8e47f6170d66c72311b9629b19c02e97841b
  Author: Alan Zhao <ayzhao at google.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M lld/ELF/Arch/X86_64.cpp

  Log Message:
  -----------
  [lld][nfc] Fix spelling (#200279)


  Commit: 8d8ebb1cb1b552423f6dff74a0887943d36dce08
      https://github.com/llvm/llvm-project/commit/8d8ebb1cb1b552423f6dff74a0887943d36dce08
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/revec-fma-vectorize.ll

  Log Message:
  -----------
  [SLP][REVEC][NFC]Add a test with the missed fma vectorization, NFC



Reviewers: 

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


  Commit: a853917bbf7b88e5b7e6cf61d0e724d68e0e1df1
      https://github.com/llvm/llvm-project/commit/a853917bbf7b88e5b7e6cf61d0e724d68e0e1df1
  Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/InstrumentorUtils.h

  Log Message:
  -----------
  [Instrumentor] Fix nondeterminism in indirect argument alloca usage  (#200289)

Co-authored-by: Kevin Sala Penades <salapenades1 at llnl.gov>


  Commit: 3f140498c2d7ad67226c14d9d2cf5caf1442cceb
      https://github.com/llvm/llvm-project/commit/3f140498c2d7ad67226c14d9d2cf5caf1442cceb
  Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Instrumentor.h
    M llvm/include/llvm/Transforms/IPO/InstrumentorStubPrinter.h
    M llvm/lib/Transforms/IPO/Instrumentor.cpp
    M llvm/lib/Transforms/IPO/InstrumentorStubPrinter.cpp
    R llvm/test/Instrumentation/Instrumentor/default_rt
    A llvm/test/Instrumentation/Instrumentor/default_rt.c
    A llvm/test/Instrumentation/Instrumentor/default_rt.h
    M llvm/test/Instrumentation/Instrumentor/generate_rt.ll
    A llvm/test/Instrumentation/Instrumentor/lit.local.cfg
    M llvm/test/Instrumentation/Instrumentor/rt_config.json

  Log Message:
  -----------
  [Instrumentor] Improve stub printer (for C/C++ and value packs) (#198366)

The stub printer now emits a helper header to deal with value packs (in
C and C++). We also make the files C/C++ compatible and use the proper
format strings for int32_t and int64_t.


  Commit: 843d4a6a27a06527122d3c5fa1a3f85fd8d5fd1b
      https://github.com/llvm/llvm-project/commit/843d4a6a27a06527122d3c5fa1a3f85fd8d5fd1b
  Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Instrumentor.h
    M llvm/lib/Transforms/IPO/Instrumentor.cpp
    M llvm/test/Instrumentation/Instrumentor/default_config.json
    M llvm/test/Instrumentation/Instrumentor/module_and_globals.ll
    A llvm/test/Instrumentation/Instrumentor/operations.json
    A llvm/test/Instrumentation/Instrumentor/operations.ll

  Log Message:
  -----------
  [Instrumentor] Add numeric operation instruction instrumentation support (#199749)

This patch introduces a new instrumentation opportunity for numeric
operations.


  Commit: 4910eda2a04e8532e434acb140c692e1c4da319c
      https://github.com/llvm/llvm-project/commit/4910eda2a04e8532e434acb140c692e1c4da319c
  Author: Florian Mayer <fmayer at google.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
    M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
    M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp

  Log Message:
  -----------
  [FlowSensitive] [StatusOr] Support ABSL_RETURN_IF_ERROR (#200287)

This was recently introduced in absl


  Commit: 7964b66bf55d53f7a528a8153c005bee0614a3d7
      https://github.com/llvm/llvm-project/commit/7964b66bf55d53f7a528a8153c005bee0614a3d7
  Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/include/llvm/CMakeLists.txt
    A llvm/include/llvm/Transforms/IPO/InstrumentorRuntimeHelper.h
    A llvm/include/llvm/Transforms/IPO/InstrumentorVariables.inc.in
    M llvm/lib/Transforms/IPO/InstrumentorStubPrinter.cpp
    M llvm/test/Instrumentation/Instrumentor/default_rt.h

  Log Message:
  -----------
  [Instrumentor] Move instrumentor stub library into its own header file (#199329)

This patch depends on #198366. It moves the instrumentor runtime helper
header into its own file and makes it accessible as a string value to
the instrumentor pass.


  Commit: 5047ae21b426452b3ee753574be45404d15111cb
      https://github.com/llvm/llvm-project/commit/5047ae21b426452b3ee753574be45404d15111cb
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M llvm/docs/DeveloperPolicy.rst

  Log Message:
  -----------
  [Docs] Note change to Maintainers.md in DeveloperPolicy (#200315)

This was brought up in a Discord discussion around adding a new target.
Update the documentation to mention Maintainers.md everywhere and remove
references to Maintainers.rst where the former is exclusive.

The only remaining usage of Maintainers.rst is in clang-tools-extra and
we should probably just rewrite it in Markdown especially given it seems
like there is conesnsus to move away from ReST entirely, but we can do
that later.


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

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

  Log Message:
  -----------
  [Bazel] Fixes 7964b66 (#200316)

This fixes 7964b66bf55d53f7a528a8153c005bee0614a3d7.

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


  Commit: 4c33844b4b560f24b2a3a0cc689d73510cb01ad5
      https://github.com/llvm/llvm-project/commit/4c33844b4b560f24b2a3a0cc689d73510cb01ad5
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M compiler-rt/lib/profile/CMakeLists.txt

  Log Message:
  -----------
  [PGO][HIP] Skip ROCm interceptor in profile-only compiler-rt builds (#200111)

PR #177665 made `libclang_rt.profile.a` merge `RTInterception` and
`sanitizer_common` object libs to support the `hipModuleLoad*` host
interceptor added in `InstrProfilingPlatformROCm.cpp`. Those object-lib
targets are only created when `COMPILER_RT_BUILD_SANITIZERS / _MEMPROF /
_XRAY / _CTX_PROFILE` is enabled (see `compiler-rt/lib/CMakeLists.txt`),
so a profile-only configuration fails at configure time:

```
CMake Error at cmake/Modules/AddCompilerRT.cmake:365 (add_library):
  Error evaluating generator expression:
    $<TARGET_OBJECTS:RTInterception.x86_64>
  Objects of target "RTInterception.x86_64" referenced but no such target
  exists.
Call Stack (most recent call first):
  lib/profile/CMakeLists.txt:233 (add_compiler_rt_runtime)
```

Fix: gate the object-lib merge on the `RTInterception.<arch>` /
`RTSanitizerCommon*.<arch>` targets actually existing, and drop
`InstrProfilingPlatformROCm.cpp` from `PROFILE_SOURCES` in that case so
the static archive stays self-contained. The host-side hook
`__llvm_profile_hip_collect_device_data` is already declared weak in
`InstrProfilingFile.c` (PR #200101), so its absence is fine at link
time.

Verified:
- Profile-only standalone compiler-rt build
(`-DCOMPILER_RT_BUILD_SANITIZERS=OFF -DCOMPILER_RT_BUILD_MEMPROF=OFF
-DCOMPILER_RT_BUILD_XRAY=OFF -DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
-DCOMPILER_RT_BUILD_PROFILE=ON`) now configures and links cleanly.
- Default runtimes build still merges the object libs and produces the
interceptor; `check-profile` 134/134 pass.


  Commit: 3cb8e7215f2d3aa2849813320d3d337859242388
      https://github.com/llvm/llvm-project/commit/3cb8e7215f2d3aa2849813320d3d337859242388
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [AMDGPU] Address follow-up concerns from 189121 (#192322)

Addressing some comments missed in
https://github.com/llvm/llvm-project/pull/185726


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

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll

  Log Message:
  -----------
  [RISCV] Extend vp.reverse vp.load/vp.store combine to non-VP splice + reverse (#180907)

As part of #172961, we can replace vp.reverse with
vector.splice.right(reverse(X), poison, EVL). This extends the existing
vp.reverse(vp.load) -> vp.strided.load stride=-1 and
vp.store(vp.reverse) -> vp.strided.store stride=-1 combines to also
handle the splice form.

It adds a pattern match helper to match both vp.reverse and
vector.splice.right. If vp.reverse is removed in future, then this
pattern match helper can be removed.


  Commit: 01a92098491a9d94f84149b92a5a522b1725668b
      https://github.com/llvm/llvm-project/commit/01a92098491a9d94f84149b92a5a522b1725668b
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

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

  Log Message:
  -----------
  [CIR] Add emitBuiltinWithOneOverloadedType helper (#199518)

Port `emitBuiltinWithOneOverloadedType<N>` from classic
CodeGen(`CGBuiltin.h`) to `CIRGenFunction` so the common pattern "emit N
scalar operands and call an LLVM intrinsic whose return type matches the
first operand" can be written as a one-liner across all targets.

Used it to simplify a few existing AMDGPU builtin lowerings (`div_fmas`,
`ds_swizzle`, `readlane`, `readfirstlane`).


  Commit: b378c7162613afdc982e8a2e6ec478066ea04492
      https://github.com/llvm/llvm-project/commit/b378c7162613afdc982e8a2e6ec478066ea04492
  Author: Jin Huang <jinhuang1102 at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/CodeGen/ExpandIRInsts.cpp
    M llvm/test/CodeGen/AArch64/fcvt-i256.ll
    M llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
    M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
    M llvm/test/CodeGen/RISCV/bitint-fp-conv-200.ll
    M llvm/test/Transforms/ExpandIRInsts/X86/expand-fp-convert-small.ll
    M llvm/test/Transforms/ExpandIRInsts/X86/expand-int-convert-small.ll
    M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptosi129.ll
    M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptoui129.ll
    M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-si129tofp.ll
    M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-ui129tofp.ll
    M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-optnone.ll

  Log Message:
  -----------
  [profcheck] Fix profile metadata propagation for Large FP Operations (#175864)

This PR improves the propagation of profile metadata within the
ExpandIRInsts pass. When lowering non-standard floating-point
operations, the pass now ensures that branch weights are correctly
attached to the generated control flow, preventing the loss of profile
data during IR expansion.

This enhancements cover the conversions between non-standard
floating-point formats and large integers (e.g., `fptosi/fptoui`,
`sitofp/uitofp` involving `i129`).

This PR implements Heuristic-Based Branch Weights labeling using
established heuristics for Floating-point rounding overflow and
saturation checks and adds detailed comments within the expansion logic
to explain the rationale behind specific branch weight choices and the
underlying mathematical invariants.

Please refer to the implementation details in the source code for the
specific branch weight values and the logic governing their application.

---------

Co-authored-by: Jin Huang <jingold at google.com>
Co-authored-by: Aiden Grossman <aidengrossman at google.com>


  Commit: 023e7decf625eb03e93aec568ffdbf13e726fbee
      https://github.com/llvm/llvm-project/commit/023e7decf625eb03e93aec568ffdbf13e726fbee
  Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
    M llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir

  Log Message:
  -----------
  [RISCV] Skip unrelated COPY during Zdinx/P instruction generation in RISCVMoveMerge (#200219)

`findMatchingInstPair` returned early on the first non-matching `COPY`,
which could miss a valid later `COPY` pair.

Update the scan to continue past non-matching `COPY` instructions and
only apply existing dependency checks when a lane match is found.


  Commit: 479818a38ccfb1d82a1e67d13ae11d2151a62c30
      https://github.com/llvm/llvm-project/commit/479818a38ccfb1d82a1e67d13ae11d2151a62c30
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

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

  Log Message:
  -----------
  [Profcheck] Update xfail list after b378c7162613afdc982e8a2e6ec478066ea04492 (#200326)


  Commit: 767f01e0910d9211486d4022c5c5e7d71c85dff2
      https://github.com/llvm/llvm-project/commit/767f01e0910d9211486d4022c5c5e7d71c85dff2
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    A libclc/clc/include/clc/internal/math/clc_runtime_has_hw_fma32.h
    M libclc/clc/include/clc/internal/math/clc_sw_fma.h
    M libclc/clc/include/clc/math/clc_fma.h
    M libclc/clc/lib/generic/math/clc_fma.cl
    M libclc/clc/lib/spirv/CMakeLists.txt
    A libclc/clc/lib/spirv/math/clc_fma.cl
    A libclc/clc/lib/spirv/math/clc_fma.inc
    A libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
    A libclc/clc/lib/spirv/math/clc_sw_fma.cl
    M libclc/clc/lib/spirv/vulkan/CMakeLists.txt
    R libclc/clc/lib/spirv/vulkan/math/clc_sw_fma.cl
    M libclc/opencl/lib/generic/math/fma.cl
    M libclc/opencl/lib/spirv/CMakeLists.txt
    A libclc/opencl/lib/spirv/math/fma.cl

  Log Message:
  -----------
  [libclc] Use float sw_fma for spirv*-mesa-mesa3d targets (#199626)

This partially reverts 39f3d72b72fd, which changes almost all targets to
use __builtin_elementwise_fma.
The same revert was done for clspv in 1d719edd9935.

Restore __clc_runtime_has_hw_fma32 so that Mesa can dynamically change
its behavior to enable native fma for specific hardware.

Fixes #198542


  Commit: 021b93e7e763e81db740972c5f2b761a6f7f47b5
      https://github.com/llvm/llvm-project/commit/021b93e7e763e81db740972c5f2b761a6f7f47b5
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M lldb/test/API/python_api/sbmodule/TestSBModule.py

  Log Message:
  -----------
  [lldb] Make TestSBModule a no-SHARED_BUILD_TESTCASE (#188265)

Building libfoo.a twice (quickly) confuses the cache in
ObjectContainerBSDArchive (which works only with second granularity),
and causes the second test to fail due to accessing wrong parts of the
file.

I'm also making this a NO_DEBUG_INFO_TESTCASE as the debug info
distinction is not particularly relevant for this test. Technically,
this would be enough as the collision is between two debug info variants
of the same test case, but SHARED_BUILD_TESTCASE=False seems like a more
principled fix.


  Commit: bf8dabd88282bb9cf6bd364d29e6d797645074f0
      https://github.com/llvm/llvm-project/commit/bf8dabd88282bb9cf6bd364d29e6d797645074f0
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    A offload/ci/hip-tpl.py

  Log Message:
  -----------
  [HIP][CI] Add HIP Kokkos bot recipe (#200201)


  Commit: 7d7f98b11b9c2dee5ca6b570fba161dbb102ef87
      https://github.com/llvm/llvm-project/commit/7d7f98b11b9c2dee5ca6b570fba161dbb102ef87
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/test/CodeGen/construction-vtable-visibility.cpp
    M clang/test/CodeGen/push-hidden-visibility-subclass.cpp
    M clang/test/CodeGen/split-lto-unit-input.cpp
    M clang/test/CodeGenCUDA/increment-index-for-thunks.cu
    M clang/test/CodeGenCUDA/record-layout.cu
    M clang/test/CodeGenCXX/OmitRTTIComponentABI/simple-vtable-definition.cpp
    M clang/test/CodeGenCXX/PR26569.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/available_externally-vtable.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/child-vtable-in-comdat.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/no-alias-when-dso-local.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/parent-and-child-in-comdats.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/parent-vtable-in-comdat.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/vtable-hidden-when-in-comdat.cpp
    M clang/test/CodeGenCXX/apple-kext-indirect-call-2.cpp
    M clang/test/CodeGenCXX/apple-kext-indirect-call.cpp
    M clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
    M clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllexport.cpp
    M clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllimport.cpp
    M clang/test/CodeGenCXX/cfi-cross-dso.cpp
    M clang/test/CodeGenCXX/ctor-dtor-alias.cpp
    M clang/test/CodeGenCXX/cxx11-vtable-key-function.cpp
    M clang/test/CodeGenCXX/dllexport.cpp
    M clang/test/CodeGenCXX/dllimport-rtti.cpp
    M clang/test/CodeGenCXX/dllimport.cpp
    M clang/test/CodeGenCXX/dso-local-executable.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/internal-linkage.cpp
    M clang/test/CodeGenCXX/key-function-vtable.cpp
    M clang/test/CodeGenCXX/mangle-ms-md5.cpp
    M clang/test/CodeGenCXX/mangle-subst-std.cpp
    M clang/test/CodeGenCXX/mdefault-visibility-export-mapping-rtti.cpp
    M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-interface.cpp
    M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
    M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
    M clang/test/CodeGenCXX/modules-vtable.cppm
    M clang/test/CodeGenCXX/ms-local-vft-alias-comdat.cpp
    M clang/test/CodeGenCXX/ms-thunks-unprototyped.cpp
    M clang/test/CodeGenCXX/pr70585.cppm
    M clang/test/CodeGenCXX/ps-dllstorage-vtable-rtti.cpp
    M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
    M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call.cpp
    M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
    M clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
    M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
    M clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
    M clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
    M clang/test/CodeGenCXX/ptrauth-virtual-function.cpp
    M clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
    M clang/test/CodeGenCXX/template-instantiation.cpp
    M clang/test/CodeGenCXX/type-metadata.cpp
    M clang/test/CodeGenCXX/type_visibility.cpp
    M clang/test/CodeGenCXX/vcall-visibility-metadata.cpp
    M clang/test/CodeGenCXX/virt-template-vtable.cpp
    M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
    M clang/test/CodeGenCXX/visibility.cpp
    M clang/test/CodeGenCXX/vtable-align-address-space.cpp
    M clang/test/CodeGenCXX/vtable-align.cpp
    M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
    M clang/test/CodeGenCXX/vtable-assume-load.cpp
    M clang/test/CodeGenCXX/vtable-available-externally.cpp
    M clang/test/CodeGenCXX/vtable-consteval.cpp
    M clang/test/CodeGenCXX/vtable-constexpr-address-space.cpp
    M clang/test/CodeGenCXX/vtable-constexpr.cpp
    M clang/test/CodeGenCXX/vtable-key-function-address-space.cpp
    M clang/test/CodeGenCXX/vtable-key-function-arm.cpp
    M clang/test/CodeGenCXX/vtable-key-function-ios.cpp
    M clang/test/CodeGenCXX/vtable-key-function-win-comdat.cpp
    M clang/test/CodeGenCXX/vtable-key-function.cpp
    M clang/test/CodeGenCXX/vtable-linkage-address-space.cpp
    M clang/test/CodeGenCXX/vtable-linkage.cpp
    M clang/test/CodeGenCXX/vtt-layout-address-space.cpp
    M clang/test/CodeGenCXX/vtt-layout.cpp
    M clang/test/CodeGenCXX/windows-itanium-type-info.cpp
    M clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
    M clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
    M clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
    M clang/test/DebugInfo/CXX/vtable-inheritance-simple.cpp
    M clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
    M clang/test/DebugInfo/CXX/vtable-template-instantiation.cpp
    M clang/test/Headers/hip-header.hip
    M clang/test/Modules/vtable-windows.cppm
    M clang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
    M clang/test/OpenMP/target_vtable_codegen_explicit.cpp

  Log Message:
  -----------
  [CodeGen] Stop setting vtable as unnamed_addr (#200108)

Successor of https://github.com/llvm/llvm-project/pull/197855

Close https://github.com/llvm/llvm-project/issues/71196

See the above PR for the full context.

AI assisted


  Commit: 891b8f6fa8e796464b34fa9460933fccf69f3cc3
      https://github.com/llvm/llvm-project/commit/891b8f6fa8e796464b34fa9460933fccf69f3cc3
  Author: Claire Fan <fanyungching at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/BPF/BPFSelectionDAGInfo.cpp
    M llvm/lib/Target/BPF/BPFSelectionDAGInfo.h
    A llvm/test/CodeGen/BPF/libcall-memcpy-threshold.ll

  Log Message:
  -----------
  [BPF] crash fix for memcpy with unsupported alignment (#199541)

### Summary
BPF only has scalar load/store opcodes up to 8 bytes and `memcpy` with
16 byte alignment crashes with `llvm_unreachable("unsupported memcpy
alignment");` in `BPFInstrInfo::expandMEMCPY`

### Issue
The crash can be reproduced from Rust code like:

```rust
#[no_mangle]
pub extern "C" fn entry(src: *const u128) -> u64 {
    let mut dst = [0u128; 2];
    unsafe { ptr::copy_nonoverlapping(src, dst.as_mut_ptr(), 2) };
    let _ = black_box(dst);
    0
}
```

This produces a `memcpy` with 16-byte alignment and
`BPFSelectionDAGInfo::EmitTargetCodeForMemcpy` emit the `BPFISD::MEMCPY`
pseudo for 16-byte alignment. That pseudo later reaches `expandMEMCPY`
during the Post-RA pseudo expansion pass and hits:
```
llvm_unreachable("unsupported memcpy alignment");
```

The crash report looks like:
```
= note: PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/
        and include the crash backtrace and instructions to reproduce the bug.
        Stack dump:
        0. Running pass 'Function Pass Manager' on module 'linked_module'.
        1. Running pass 'Post-RA pseudo instruction expansion pass' on function '@entry'
```
### Fix
Return `SDValue()` in `BPFSelectionDAGInfo::EmitTargetCodeForMemcpy`
when the alignment is larger than 8 bytes. LLVM then naturally falls
back to the existing libcall path and emits `call memcpy` instead of
creating a pseudo instruction that cannot be expanded later.

Since `memcpy`, `memset`, and `memmove` are now whitelisted, I think
this fallback behavior is the right fix: unsupported target expansion
should decline and use the existing libcall path instead of crashing.

### Opt-in controls around libcalls
I also want to use this chance to introduce two opt-in controls around
libcalls for VM/runtime use cases built on top of the BPF backend (both
controls are opt-in and disabled by default, so existing kernel projects
and current BPF behavior remain unchanged),

### --bpf-max-stores-per-memfunc
First, an opt-in flag to control over
`BPFSelectionDAGInfo::getCommonMaxStoresPerMemFunc()`.

Today, the target memory expansion path uses:

```c++
if (StoresNumEstimate > getCommonMaxStoresPerMemFunc())
  return SDValue();
```

This threshold controls whether `EmitTargetCodeForMemcpy` continues
emitting the BPF memory pseudo(which is later expanded with load/store
ops) or falls back to the libcall path.

Currently this value is effectively fixed at 128, which means most
constant-size memory operations are expanded into inline load/store
sequences. Exposing the threshold gives VM/runtime users a way to allow
more memory operations to fall through to libcalls, while keeping the
current default behavior unchanged.

### --bpf-allows-libcalls (PR #199542 )
Second, an opt-in flag to allow additional libcalls beyond the currently
whitelisted ones.

Today BPF rejects unsupported libcalls here:

```c++
if (Sym != BPF_TRAP && Sym != "__multi3" && Sym != "__divti3" &&
    Sym != "__modti3" && Sym != "__udivti3" &&
    Sym != "__umodti3" && Sym != "memcpy" &&
    Sym != "memset" && Sym != "memmove")
  fail(
      CLI.DL, DAG,
      Twine("A call to built-in function '" + Sym +
            "' is not supported."));
```

With the new flag enabled, _this error path is skipped_ so VM/runtime
environments can provide their own libcall implementations.

For VM runtimes using the BPF backend, libcalls are useful because they
create an interface between normal compiler-generated code and
runtime-specific optimization. We have already explored this model for
u128 arithmetic, where libcalls allow normal Rust code to stay unchanged
while the runtime can provide optimized behavior:


https://blueshift.gg/research/accelerating-u128-math-with-libcalls-and-jit-intrinsics

The same idea applies to memory operations. Users can continue writing
normal Rust like `ptr::copy_nonoverlapping`, while the runtime can
choose an implementation tailored to its execution environment.

Both controls are opt-in and disabled by default, so existing kernel
projects and current BPF behavior remain unchanged.


  Commit: 6bee6b09e21c579f191daab05a180b3ffeedfebc
      https://github.com/llvm/llvm-project/commit/6bee6b09e21c579f191daab05a180b3ffeedfebc
  Author: Claire Fan <fanyungching at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/lib/Target/BPF/BPFISelLowering.cpp
    A llvm/test/CodeGen/BPF/libcall-non-whitelisted.ll

  Log Message:
  -----------
  [BPF] cli option to allow libcalls (#199542)

This is the follow up PR for PR #199541 

### --bpf-allows-libcalls
Second, an opt-in flag to allow additional libcalls beyond the currently
whitelisted ones.

Today BPF rejects unsupported libcalls here:

```c++
if (Sym != BPF_TRAP && Sym != "__multi3" && Sym != "__divti3" &&
    Sym != "__modti3" && Sym != "__udivti3" &&
    Sym != "__umodti3" && Sym != "memcpy" &&
    Sym != "memset" && Sym != "memmove")
  fail(
      CLI.DL, DAG,
      Twine("A call to built-in function '" + Sym +
            "' is not supported."));
```

With the new flag enabled, this error path is skipped so VM/runtime
environments can provide their own libcall implementations.

For VM runtimes using the BPF backend, libcalls are useful because they
create an interface between normal compiler-generated code and
runtime-specific optimization. We have already explored this model for
u128 arithmetic, where libcalls allow normal Rust code to stay unchanged
while the runtime can provide optimized behavior:


https://blueshift.gg/research/accelerating-u128-math-with-libcalls-and-jit-intrinsics

The same idea applies to memory operations. Users can continue writing
normal Rust like `ptr::copy_nonoverlapping`, while the runtime can
choose an implementation tailored to its execution environment.

This new option is opt-in and disabled by default, so existing kernel
projects and current BPF behavior remain unchanged.


  Commit: 05bcb056f05607025d260945a982dd2fd230b9f6
      https://github.com/llvm/llvm-project/commit/05bcb056f05607025d260945a982dd2fd230b9f6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

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

  Log Message:
  -----------
  [RISCV] Combine isGPRPairCopyCandidateEven/isGPRPairCopyCandidateOdd in MoveMerger. NFC (#200254)

These only differ in the subreg index. Add a bool to control it.


  Commit: 4c1bc59365360f7f24a5c82b8cebd2b52634879a
      https://github.com/llvm/llvm-project/commit/4c1bc59365360f7f24a5c82b8cebd2b52634879a
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Function.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/cxx23.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix variadic operator calls with explicit this (#199978)


  Commit: bbf8a33ad5f51b5641e7665e5f0d2f0079b454f6
      https://github.com/llvm/llvm-project/commit/bbf8a33ad5f51b5641e7665e5f0d2f0079b454f6
  Author: Davide Grohmann <davide.grohmann at arm.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaOps.cpp
    M mlir/test/Conversion/TosaToSPIRVTosa/tosa-to-spirv.mlir

  Log Message:
  -----------
  [mlir][spirv][tosa] Extend TOSA to SPIR-V TOSA op conversion (#200009)

Add conversion patterns for additional TOSA 1.0 operations targeting
the SPIR-V TOSA extended instruction set.

Introduce a common TosaOpConvert pattern with small replacer classes
to share result type conversion while keeping op-specific replacement
logic explicit.

The newly covered operations include:
* elementwise ops such as clamp, arithmetic_right_shift, mul, table,
  negate, and select
* reductions and argmax
* gather, scatter, resize
* reshape, reverse, slice, tile, transpose
* cast and const_shape

Also add conversion tests.

---------

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


  Commit: b835d5a98f48cb9dcae3ec915a0790826eb7d2a2
      https://github.com/llvm/llvm-project/commit/b835d5a98f48cb9dcae3ec915a0790826eb7d2a2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M llvm/lib/IR/Value.cpp
    M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll

  Log Message:
  -----------
  [IR] Only require nofree in canBeFreed() (#200191)

After https://github.com/llvm/llvm-project/pull/195658 we only need the
function to be nofree, as this also precludes freeing via
synchronization now. Being nosync is no longer required.


  Commit: 01c93f511b4b5f734ac420709266036497610014
      https://github.com/llvm/llvm-project/commit/01c93f511b4b5f734ac420709266036497610014
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/test/CodeGenCXX/new_hot_cold.cpp
    M clang/test/CodeGenCXX/operator-new.cpp

  Log Message:
  -----------
  [Clang] Mark new as inaccessiblememonly if sane (#197199)

If `-fassume-sane-operator-new` (the default), assume that `operator
new` does not read or write accessible memory.

Currently, this assumption already exists due to special treatment in
BasicAA. I'd like to remove this special treatment (see
https://github.com/llvm/llvm-project/pull/197180), and instead rely only
on the `memory` attribute.

It's worth noting that this is consistent with GCC's interpretation of
the flag (where it is also enabled by default):

> [...] With -fassume-sane-operators-new-delete option GCC may assume
that calls to the replaceable global operators from new or delete
expressions or from __builtin_operator_new or __builtin_operator_delete
calls don’t read or modify any global variables or variables whose
address could escape to the operators (global state; except for errno
for the new and new[] operators). [...]


  Commit: b159ed6fa212607ecd287fa73f4bee59802b1528
      https://github.com/llvm/llvm-project/commit/b159ed6fa212607ecd287fa73f4bee59802b1528
  Author: hev <wangrui at loongson.cn>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/LoongArch/CMakeLists.txt
    M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
    M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.h
    M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
    A llvm/lib/Target/LoongArch/LoongArchTargetObjectFile.cpp
    A llvm/lib/Target/LoongArch/LoongArchTargetObjectFile.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCAsmInfo.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchTargetStreamer.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchTargetStreamer.h
    A llvm/test/DebugInfo/LoongArch/tls.ll
    A llvm/test/MC/LoongArch/Directives/tls.s
    M llvm/utils/gn/secondary/llvm/lib/Target/LoongArch/BUILD.gn

  Log Message:
  -----------
  [LoongArch] Emit DTPREL relocations for TLS debug info (#199326)

Teach the LoongArch backend to lower thread-local debug references using
target-specific DTPREL relocations.

This adds .dtprelword and .dtpreldword directive parsing and streaming,
introduces 32-bit and 64-bit DTPREL fixups and ELF relocation mappings,
and uses a LoongArch target object file to represent debug TLS symbols
as VK_DTPREL expressions. LoongArchAsmPrinter is updated to emit the new
directives for debug TLS values in assembly output.

Add MC and debug info tests for assembly emission and object
relocations.


  Commit: 8f45cf9822a5840925836457b78ba4d515ef8da5
      https://github.com/llvm/llvm-project/commit/8f45cf9822a5840925836457b78ba4d515ef8da5
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/SystemZ/cmp-ext-01.ll

  Log Message:
  -----------
  [SystemZ] Handle pointer size correctly in getVectorBitmaskConversionCost(). (#200171)

Unfortunately, getScalarSizeInBits() returns 0 for PointerTy, which
means that the loop vectorizer got way too high costs for sext i1 after
a compare(ptr, 0).

There is already a version of getScalarSizeInBits() in
SystemZTargetTransformInfo.cpp that handles this, so this is fixed by
using this in the needed places.

As a result, a few more loops are vectorized, and perl improves ~1%.


  Commit: 64bc1fae11d6591739ed0c14f1f3464ae7bc24ac
      https://github.com/llvm/llvm-project/commit/64bc1fae11d6591739ed0c14f1f3464ae7bc24ac
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/CodeGen/SystemZ/stack-guard-global-option.c
    M clang/test/Driver/stack-protector-guard.c
    M llvm/include/llvm/IR/Module.h
    M llvm/lib/IR/Module.cpp
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
    M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/SystemZ/SystemZOperators.td
    A llvm/test/CodeGen/SystemZ/stack-guard-global-nopic.ll
    A llvm/test/CodeGen/SystemZ/stack-guard-global-pic.ll
    A llvm/test/CodeGen/SystemZ/stack-guard-pseudos.ll
    A llvm/test/CodeGen/SystemZ/stack-guard-tls.ll
    R llvm/test/CodeGen/SystemZ/stack-guard.ll

  Log Message:
  -----------
  [SystemZ] Global Stackprotector and associated location section (#169317)

This commit allows `-mstack-protector-guard=global` for `s390x`.

It also adds a new arch-specific option
`-mstack-protector-guard-record`, analogous to `-mrecord-mcount`, which
will cause `clang` to emit a `__stack_protector_loc` section containing
all the locations in the output binary that load the stack guard
address, for the purposes of later rewriting of those loads by the
kernel. This new option only works together with the `global` stack
protector.

In order to minimize exposure of the stack guard, both the storing of
the stack guard onto the stack, and the later comparison of that value
against the reference value, are handled via direct mem-to-mem
instructions, those being `mvc` and `clc`.

This is achieved by introducing two new pseudo instructions,
`MOVE_STACK_GUARD` and `COMPARE_STACK_GUARD`, which are inserted by the
DAGCombiner after SelectionDAG construction. These pseudos stick around
throughout the entire backend pipeline, and are lowered only in the
AsmPrinter.

This commit also adds tests for both kinds of stack protectors (tls and
global), for the proper insertion of the pseudos, the proper emission of
the, `__stack_protector_loc` section, as well as the option
compatibility checks for the new options.


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

  Changed paths:
    M llvm/lib/IR/LegacyPassManager.cpp

  Log Message:
  -----------
  [IR] Skip remove_if scan for empty maps in removeNotPreservedAnalysis (#200292)

removeNotPreservedAnalysis runs after every legacy-PM pass. #198982
changed it to DenseMap::remove_if, which iterates the raw bucket array
even when the map is empty. The old begin()/end() loop did not:
begin()'s
makeBegin returns end() directly for an empty map (its "avoid advancing
past empty buckets" shortcut), so the loop touched no buckets. These
maps
are usually empty here but keep a grown bucket array after their entries
are erased (a 64-bucket array when compiling sqlite3.i at -O0 -g), so
remove_if walks empty buckets for nothing, regressing instructions:u
(most visible at -O0). #199571 was a small fix for the out-of-lined
remove_if call; this addresses the dominant cost.

Skip empty maps, which fixes the regression:

https://llvm-compile-time-tracker.com/compare.php?from=8ab00f2c21e5975f5de977ca68607b4acc23c856&to=6a33135fad599da0c2c9919ec37f81217e5c8f6b&stat=instructions:u


  Commit: 3648f148c70b1980e858f539f1d49837ad94dbf0
      https://github.com/llvm/llvm-project/commit/3648f148c70b1980e858f539f1d49837ad94dbf0
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Add myself as maintainer for LoopInterchange and related passes (#200335)

I have been consistently contributing to LoopInterchange and the passes
related to it, including Delinearization, DependenceAnalysis, and
ScalarEvolutionDivision. In accordance with [the LLVM Developer
Policy](https://llvm.org/docs/DeveloperPolicy.html#adding-or-enabling-a-new-llvm-pass),
and to help move things forward, particularly toward enabling
LoopInterchange by default, I would like to nominate myself as a
maintainer for these passes.

See also: #124911.


  Commit: 971ad593d6a2df38ab3854dc3bc440eab8416057
      https://github.com/llvm/llvm-project/commit/971ad593d6a2df38ab3854dc3bc440eab8416057
  Author: Joshua Rodriguez <josh.rodriguez at arm.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
    M llvm/test/CodeGen/AArch64/arm64-int-neon.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Add handling for scalar sqneg intrinsic (#200211)

Scalar versions of the intrinsic must be performed on FPR banks. To
ensure this happens, coerce the source and destination registers to be
on FPR.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/load-extractelement-scalarization.ll

  Log Message:
  -----------
  [VectorCombine] Don't scalarize atomic loads (#200263)

scalarizeLoad tries to convert e.g.

      %a = load <2 x i32> %ptr
      %b = extractelement %a, 1

into a scalar load. Before this patch it would do this even when the
load is atomic, but in doing so it accidentally dropped the atomicity of
the load!

Although it is correct to apply this transformation to unordered
atomics, for now we simply don't apply this pass to atomics at all.

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


  Commit: 9d47197593c671a2925b1121b9194d73d2b0195b
      https://github.com/llvm/llvm-project/commit/9d47197593c671a2925b1121b9194d73d2b0195b
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M libcxx/include/__memory/shared_ptr.h

  Log Message:
  -----------
  [libc++] Use variable templates instead of class templates in shared_ptr.h (#199481)

This improves readability and compile times a bit.


  Commit: eaf5ba7478e774e55334b021221db62f331667e5
      https://github.com/llvm/llvm-project/commit/eaf5ba7478e774e55334b021221db62f331667e5
  Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/test/CodeGen/SPIRV/transcoding/ReqdSubgroupSize.ll

  Log Message:
  -----------
  [SPIR-V] Recognize reqd_sub_group_size metadata for SubgroupSize (#199521)

Recognize function metadata without a vendor prefix for the
`SubgroupSize` Execution Mode, alongside the existing vendor-prefixed
metadata. `SubgroupSize` is a core SPIR-V feature, so representing it
using vendor-prefixed metadata was misleading.

Relates to
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/issues/3742


  Commit: e8772d99d89a5ed47a58d1a429bc55e5e055c3f7
      https://github.com/llvm/llvm-project/commit/e8772d99d89a5ed47a58d1a429bc55e5e055c3f7
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [Maintainers] Fix Markdown heading level (#200340)


  Commit: d7703c6aab9fd496cc467d81415d07c01247f188
      https://github.com/llvm/llvm-project/commit/d7703c6aab9fd496cc467d81415d07c01247f188
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/headers.txt

  Log Message:
  -----------
  [libc] Add byteswap.h to Linux public header target lists (#200345)

The headers don't get built/installed without this.


  Commit: a0f7a62bb6a20404221e2823d4b7dd77f67e77ea
      https://github.com/llvm/llvm-project/commit/a0f7a62bb6a20404221e2823d4b7dd77f67e77ea
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang][doc][SYCL] Add a very first SYCL release note (#200200)


  Commit: 2d046bd62066067a1de8cb65752f1dd9404c4121
      https://github.com/llvm/llvm-project/commit/2d046bd62066067a1de8cb65752f1dd9404c4121
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
    A llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-negative-i32-offset.ll

  Log Message:
  -----------
  [LSR] Improve the recognition of vscale immediates (#196998)

Previously, the extraction of vscale immediates was handled the same as
the non-scalable case. That is we'd look for a `vscale * constant`
scMulExpr on the LHS of the SCEV expression.

However, within a SCEV expression operands are ordered by "complexity",
which is defined (mostly) by the order of the SCEVTypes enum:
https://github.com/llvm/llvm-project/blob/bcb84e234980ca42ee47e21e4c97180c788c946a/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h#L38-L59

So, (non-scalable) constants would always occur on the LHS as the
simplest expression type, but a scMulExpr could occur later in the
operand list for a scAddExpr (e.g., after a sext/zext expression). This
meant in some cases we'd fail to find vscale immediates.

This patch updates `ExtractImmediate` to search later operands to find
vscale offsets, and prefer vscale offsets based on the access type and
current BaseOffset. So for scalable accesses, we prefer finding vscale
immediates over fixed immediates when both are present.


  Commit: f7fa98ea57dc665d8fcde895fe44547b9d9189cb
      https://github.com/llvm/llvm-project/commit/f7fa98ea57dc665d8fcde895fe44547b9d9189cb
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [llvm][docs] Correct link to libc maintainers file (#200348)


  Commit: c2e39974c8e27727b15297f82b6bd3be684a4789
      https://github.com/llvm/llvm-project/commit/c2e39974c8e27727b15297f82b6bd3be684a4789
  Author: Weibo He <NewSigma at 163.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Coroutines/SuspendCrossingInfo.h
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.cpp
    A llvm/test/Transforms/Coroutines/coro-frame-inramp.ll

  Log Message:
  -----------
  [CoroSplit] Never cross suspending points when `coro.is_in_ramp` is true (#198226)

When `coro.is_in_ramp` is true, the marked region does not appear in
resumers after splitting and therefore never crosses a suspension point.
This patch leverages that property to avoid wasting space on lazy
conversion:

``` C++
#include <coroutine>

struct coro {
    struct promise_type {
      auto get_return_object() noexcept {
        return std::coroutine_handle<promise_type>::from_promise(*this);
      }
      std::suspend_always initial_suspend() noexcept { return {}; }
      std::suspend_never final_suspend() noexcept { return {}; }
      void return_void() noexcept {}
      void unhandled_exception() {}
    };

    coro(std::coroutine_handle<promise_type> handle) : handle(handle) {}

    std::coroutine_handle<> handle;
    long l[2];
};

coro fn() {
  co_return;
}
```


  Commit: 2e10a9f2e95a17d4d009e9546a6cb5d442049233
      https://github.com/llvm/llvm-project/commit/2e10a9f2e95a17d4d009e9546a6cb5d442049233
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/AST/ByteCode/const-eval.c

  Log Message:
  -----------
  [clang][bytecode] Check Mulc op for numbers (#199657)


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

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M flang-rt/CMakeLists.txt
    M flang-rt/cmake/modules/AddFlangRT.cmake
    A flang-rt/cmake/modules/FlangRTIntrospection.cmake
    M flang-rt/lib/CMakeLists.txt
    M flang-rt/lib/runtime/CMakeLists.txt
    A flang-rt/lib/runtime/__cuda_builtins.f90
    A flang-rt/lib/runtime/__cuda_device.f90
    A flang-rt/lib/runtime/__fortran_builtins.f90
    A flang-rt/lib/runtime/__fortran_ieee_exceptions.f90
    A flang-rt/lib/runtime/__fortran_type_info.f90
    A flang-rt/lib/runtime/__ppc_intrinsics.f90
    A flang-rt/lib/runtime/__ppc_types.f90
    A flang-rt/lib/runtime/cooperative_groups.f90
    A flang-rt/lib/runtime/cuda_runtime_api.f90
    A flang-rt/lib/runtime/cudadevice.f90
    A flang-rt/lib/runtime/flang_debug.f90
    A flang-rt/lib/runtime/ieee_arithmetic.f90
    A flang-rt/lib/runtime/ieee_exceptions.f90
    A flang-rt/lib/runtime/ieee_features.f90
    A flang-rt/lib/runtime/iso_c_binding.f90
    A flang-rt/lib/runtime/iso_fortran_env.f90
    M flang-rt/lib/runtime/iso_fortran_env_impl.cpp
    A flang-rt/lib/runtime/iso_fortran_env_impl.f90
    A flang-rt/lib/runtime/mma.f90
    M flang-rt/test/CMakeLists.txt
    M flang-rt/test/Driver/compare_iso_fortran_env_symbols.f90
    M flang-rt/test/Driver/iso_fortran_env_impl.f90
    M flang-rt/test/lit.cfg.py
    M flang-rt/test/lit.site.cfg.py.in
    M flang/CMakeLists.txt
    M flang/lib/Semantics/semantics.cpp
    R flang/module/.clang-format
    R flang/module/__cuda_builtins.f90
    R flang/module/__cuda_device.f90
    R flang/module/__fortran_builtins.f90
    R flang/module/__fortran_ieee_exceptions.f90
    R flang/module/__fortran_type_info.f90
    R flang/module/__ppc_intrinsics.f90
    R flang/module/__ppc_types.f90
    R flang/module/cooperative_groups.f90
    R flang/module/cuda_runtime_api.f90
    R flang/module/cudadevice.f90
    R flang/module/flang_debug.f90
    R flang/module/ieee_arithmetic.f90
    R flang/module/ieee_exceptions.f90
    R flang/module/ieee_features.f90
    R flang/module/iso_c_binding.f90
    R flang/module/iso_fortran_env.f90
    R flang/module/iso_fortran_env_impl.f90
    R flang/module/mma.f90
    M flang/test/CMakeLists.txt
    R flang/test/Driver/Inputs/resource_dir_with_per_target_subdir/finclude/flang/x86_64-unknown-linux-gnu/.keep
    M flang/test/Driver/intrinsic-module-path_per_target.f90
    M flang/test/Driver/pp-fixed-form.f90
    M flang/test/Lower/OpenMP/simd_aarch64.f90
    M flang/test/Lower/OpenMP/target-enter-data-default-openmp52.f90
    M flang/test/Lower/where-loc.f90
    M flang/test/Parser/bug2280.f90
    M flang/test/Preprocessing/fixed-free.f
    M flang/test/Preprocessing/no-pp-if.f90
    M flang/test/Semantics/bug163242.f90
    M flang/test/Semantics/bug164303.f90
    M flang/test/Semantics/bug2021.f90
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/CMakeLists.txt
    R flang/tools/f18/CMakeLists.txt
    R flang/tools/f18/dump.cpp
    M llvm/runtimes/CMakeLists.txt
    M openmp/CMakeLists.txt
    R openmp/cmake/modules/LibompCheckFortranFlag.cmake
    M openmp/cmake/modules/LibompHandleFlags.cmake
    M openmp/module/CMakeLists.txt
    M openmp/runtime/cmake/LibompExports.cmake
    M openmp/runtime/test/lit.cfg
    M openmp/runtime/test/lit.site.cfg.in
    M runtimes/cmake/config-Fortran.cmake

  Log Message:
  -----------
  [Flang] Move builtin .mod generation into runtimes (Reapply #137828) (#171515)

Reapplication of #137828 and #169638

Move building the .mod files from openmp/flang to openmp/flang-rt using
a shared mechanism. Motivations to do so are:

1. Most modules are target-dependent and need to be re-compiled for each
target separately, which is something the LLVM_ENABLE_RUNTIMES system
already does. Prime example is `iso_c_binding.mod` which encodes the
target's ABI. Constants such as `c_long_double` also have different
values).
Most other modules have `#ifdef`-enclosed code as well. For instance
this caused offload targets nvptx64-nvidia-cuda/amdgpu-amd-amdhsa to use
the modules files compiled for the host which may contrain uses of the
types REAL(10) or REAL(16) not available for nvptx/amdgpu.

2. CMake has support for Fortran that we should use. Among other things,
it automatically determines module dependencies so there is no need to
hardcode them in the CMakeLists.txt.

Currently the dependencies between builtin modules and `omp_lib.mod`
seem to be incorrect:
https://github.com/llvm/llvm-project/pull/174474#issuecomment-3880189581

3. It allows using Fortran itself to implement Flang-RT. Currently, only
`iso_fortran_env_impl.f90` emits object files that are needed by Fortran
applications (#89403). The workaround of #95388 could be reverted (PR
#169525).


If using Flang for cross-compilation or target-offloading, flang-rt must
now be compiled for each target not only for the library, but also to
get the target-specific module files. For instance in a bootstrapping
runtime build, this can be done by adding:
`-DLLVM_RUNTIME_TARGETS=default;nvptx64-nvidia-cuda;amdgpu-amd-amdhsa`.


Some new dependencies come into play:
* openmp depends on flang-rt for building `lib_omp.mod` and
`lib_omp_kinds.mod`. Currently, if flang-rt is not found then the
modules are not built.
* check-flang depends on flang-rt: If not found, the majority of tests
are disabled. If not building in a bootstrpping build, the location of
the module files can be pointed to using
`-DFLANG_INTRINSIC_MODULES_DIR=<path>`, e.g. in a flang-standalone
build. Alternatively, the test needing any of the intrinsic modules
could be marked with `REQUIRES: flangrt-modules`.
* check-flang depends on openmp: Not a change; tests requiring
`lib_omp.mod` and `lib_omp_kinds.mod` those are already marked with
`openmp_runtime`.

As intrinsic are now specific to the target, their location is moved
from `include/flang` to `<resource-dir>/finclude/flang/<triple>`. The
mechnism to compute the location have been moved from flang-rt
(previously used to compute the location of `libflang_rt.*.a`) to common
locations in `cmake/GetToolchainDirs.cmake` and
`runtimes/CMakeLists.txt` so they can be used by both, openmp and
flang-rt. Potentially the mechnism could also be shared by other
libraries such as compiler-rt.

`finclude` was chosen because `gfortran` uses it as well and avoids
misuse such as `#include <flang/iso_c_binding.mod>`. The search location
is now determined by `ToolChain` in the driver, instead of by the
frontend. Another subdirectory `flang` avoids accidental inclusion of
gfortran-modules which due to compression would result in
user-unfriendly errors. Now the driver adds `-fintrinsic-module-path`
for that location to the frontend call (Just like gfortran does).
Since the driver determines the location,
tests invoking `flang -fc1` and `bbc` must also be passed the location
by llvm-lit. This works like llvm-lit does for finding the include dirs
for Clang using `-print-file-name=...`.


  Commit: 0d8316a53da5ef7b46dd54ea5cf69c89129bb46d
      https://github.com/llvm/llvm-project/commit/0d8316a53da5ef7b46dd54ea5cf69c89129bb46d
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M compiler-rt/docs/BuildingCompilerRT.rst
    M compiler-rt/test/CMakeLists.txt

  Log Message:
  -----------
  [Compiler-rt][CMake][BoundsSafety] Add `COMPILER_RT_ENABLE_TEST_SUITES` to control which test suites are enabled (#196385)

This change introduces a new CMake cache variable
`COMPILER_RT_ENABLE_TEST_SUITES` that allows users to have fine-grained
control over which test suites are included and therefore run when
running `ninja check-all`.

For example building with `COMPILER_RT_ENABLE_TEST_SUITES=builtins;asan`
will only enable the builtins and asan tests under `compiler-rt/tests`.

The default value of `COMPILER_RT_INCLUDE_TESTS` is `all` which is a
special value that includes everything and it being the default means
this patch preserves existing behavior. Note this new option only has
affect when `COMPILER_RT_INCLUDE_TESTS` is On.

The primary use case for this change is it allows controlling tests that
don't have a corresponding runtime to be enabled/disabled. An example of
this is the `shadowcallstack` test suite. `-fbounds-safety` also has a
downstream test suite in compiler-rt like this. Previously there was no
way to disable including these tests when `COMPILER_RT_INCLUDE_TESTS`
was on.

The `-fbounds-safety` test suite will be upstreamed once the necessary
clang pieces exist upstream.

A side benefit of this change is it allows building runtimes but not
testing some of them which can be useful in some testing environments
(e.g. smoke-test). It is not the primary motivation though.

While the existing `COMPILER_RT_BUILD_<NAME>` options can be used to
prevent running tests (by not building corresponding runtimes) that
isn't a good solution because it:

* Doesn't work for tests that have no corresponding runtime to be built
  like `shadowcallstack` because there's no CMake option for it.
* Requires specifying multiple CMake options to disable building each
  runtime that we don't want tested. This approach disallows "building
  but not testing certain runtimes" and also is annoying to maintain
  because its effectively a subtractive list (you say what you don't
  want) that has to be updated everytime a new runtime is introduced
  whereas COMPILER_RT_ENABLE_TEST_SUITES is an additive list (you say
  what you want) that doesn't need modifying everytime a new runtime is
  introduced.

To implement this all test directories in `compiler-rt/test` are now
added through the `compiler_rt_test_runtime()` function which has been
adapted to accommodate all use cases.

Assisted-by: Claude Code

rdar://176477660


  Commit: 386dac00fba8c7386fe33174234ca1c22b82258b
      https://github.com/llvm/llvm-project/commit/386dac00fba8c7386fe33174234ca1c22b82258b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/test/CodeGenCXX/new_hot_cold.cpp
    M clang/test/CodeGenCXX/operator-new.cpp

  Log Message:
  -----------
  Revert "[Clang] Mark new as inaccessiblememonly if sane" (#200349)

Reverts llvm/llvm-project#197199.

This had some unexpected optimization impact.


  Commit: eb25f40476e00b4d2bf99ab39290d6a62b103417
      https://github.com/llvm/llvm-project/commit/eb25f40476e00b4d2bf99ab39290d6a62b103417
  Author: Jacques Pienaar <jacques+gh at japienaar.info>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M .ci/all_requirements.txt
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py
    M .ci/generate_test_report_lib.py
    M .ci/generate_test_report_lib_test.py
    M .ci/green-dragon/lldb-ubuntu.groovy
    M .ci/green-dragon/lldb-windows.groovy
    M .ci/metrics/Dockerfile
    M .github/CODEOWNERS
    M .github/actions/push-container/action.yml
    M .github/new-issues-labeler.yml
    M .github/workflows/commit-access-greeter.yml
    M .github/workflows/commit-access-review.yml
    M .github/workflows/containers/github-action-ci-tooling/Dockerfile
    M .github/workflows/containers/github-action-ci-windows/Dockerfile
    M .github/workflows/containers/github-action-ci/Dockerfile
    M .github/workflows/containers/libc/Dockerfile
    M .github/workflows/docs.yml
    M .github/workflows/hlsl-test-all.yaml
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/issue-subscriber.yml
    M .github/workflows/issue-write.yml
    A .github/workflows/libc-freebsd-vm-tests.yml
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libc-overlay-tests.yml
    M .github/workflows/libc-shared-tests.yml
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/libcxx-build-containers.yml
    M .github/workflows/libcxx-run-benchmarks.yml
    M .github/workflows/llvm-abi-tests.yml
    M .github/workflows/merged-prs.yml
    M .github/workflows/new-issues.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-code-lint.yml
    M .github/workflows/pr-subscriber.yml
    M .github/workflows/premerge.yaml
    M .github/workflows/prune-branches.yml
    M .github/workflows/release-asset-audit.yml
    M .github/workflows/release-binaries-all.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-documentation.yml
    M .github/workflows/release-doxygen.yml
    M .github/workflows/release-sources.yml
    M .github/workflows/release-tasks.yml
    A .github/workflows/require-team-membership/action.yml
    M .github/workflows/sycl-tests.yml
    M .github/workflows/unprivileged-download-artifact/action.yml
    M .github/workflows/upload-release-artifact/action.yml
    A .github/workflows/validate-release-version/action.yml
    M .gitignore
    M bolt/docs/BinaryAnalysis.md
    M bolt/docs/profiles.md
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/include/bolt/Profile/DataReader.h
    M bolt/include/bolt/Profile/YAMLProfileReader.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/Relocation.cpp
    M bolt/lib/Passes/AArch64RelaxationPass.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/CMOVConversion.cpp
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Passes/JTFootprintReduction.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Passes/RegReAssign.cpp
    M bolt/lib/Passes/RetpolineInsertion.cpp
    M bolt/lib/Passes/StokeInfo.cpp
    M bolt/lib/Passes/ThreeWayBranch.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/DataReader.cpp
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    A bolt/test/AArch64/crel-relocs.s
    M bolt/test/AArch64/ldr-relaxation.s
    A bolt/test/AArch64/long-jmp-hugify-fixup-out-of-range.s
    A bolt/test/AArch64/plt-mold-func-symbols.s
    A bolt/test/AArch64/tls-desc-le-relaxation-alternative.test
    M bolt/test/AArch64/unsupported-passes.test
    M bolt/test/AArch64/validate-secondary-entry-point.s
    M bolt/test/RISCV/branch-no-secondary-entry.s
    A bolt/test/RISCV/dynamic-link.s
    M bolt/test/RISCV/fake-label-no-entry.c
    M bolt/test/RISCV/function-alignment.s
    M bolt/test/RISCV/internal-func-reloc.s
    M bolt/test/RISCV/lit.local.cfg
    M bolt/test/RISCV/load-store.s
    A bolt/test/RISCV/pie.s
    A bolt/test/RISCV/reloc-32.s
    M bolt/test/RISCV/reloc-abs.s
    A bolt/test/RISCV/reloc-bb-split-rv32.s
    M bolt/test/RISCV/reloc-bb-split.s
    M bolt/test/RISCV/reloc-branch.s
    M bolt/test/RISCV/reloc-call.s
    M bolt/test/RISCV/reloc-got.s
    M bolt/test/RISCV/reloc-jal.s
    M bolt/test/RISCV/reloc-jt.s
    M bolt/test/RISCV/reloc-label-diff.s
    A bolt/test/RISCV/reloc-lohi-rv32.s
    A bolt/test/RISCV/reloc-pcrel-rv32.s
    M bolt/test/RISCV/reloc-pcrel.s
    M bolt/test/RISCV/reloc-rvc-branch.s
    M bolt/test/RISCV/reloc-rvc-jump.s
    M bolt/test/RISCV/reorder-blocks-reverse.s
    A bolt/test/RISCV/static-pie.s
    M bolt/test/RISCV/validate-secondary-entry-point.s
    M bolt/test/X86/Inputs/double_jump.cpp
    M bolt/test/X86/Inputs/inlined.cpp
    M bolt/test/X86/Inputs/linenumber.cpp
    A bolt/test/X86/Inputs/pre-aggregated-bad-hex.txt
    A bolt/test/X86/Inputs/pre-aggregated-bad-type.txt
    M bolt/test/X86/dwarf4-dwp-x86.s
    A bolt/test/X86/dwarf5-form-ref-udata.s
    A bolt/test/X86/dwarf5-locexpr-regval-type.s
    A bolt/test/X86/instrument-funcs-file.s
    M bolt/test/X86/plt-mold.test
    A bolt/test/X86/pre-aggregated-records.s
    M bolt/test/X86/reader-stale-yaml.test
    M bolt/test/assume-abi.test
    M bolt/test/lit.cfg.py
    A bolt/test/merge-fdata-no-lbr-event-multi.test
    A bolt/test/merge-fdata-no-lbr-event.test
    M bolt/test/runtime/bolt-reserved.cpp
    M bolt/test/runtime/relative-vftable.cpp
    M bolt/tools/driver/llvm-bolt.cpp
    M bolt/tools/merge-fdata/merge-fdata.cpp
    M bolt/unittests/Passes/PointerAuthCFIFixup.cpp
    M bolt/unittests/Profile/DataAggregator.cpp
    M clang-tools-extra/clang-change-namespace/tool/ClangChangeNamespace.cpp
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeReader.h
    M clang-tools-extra/clang-doc/BitcodeWriter.cpp
    M clang-tools-extra/clang-doc/BitcodeWriter.h
    M clang-tools-extra/clang-doc/ClangDoc.cpp
    M clang-tools-extra/clang-doc/Generators.cpp
    M clang-tools-extra/clang-doc/Generators.h
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/Serialize.h
    M clang-tools-extra/clang-doc/YAMLGenerator.cpp
    M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
    M clang-tools-extra/clang-doc/support/File.cpp
    M clang-tools-extra/clang-doc/support/File.h
    M clang-tools-extra/clang-doc/support/Utils.cpp
    M clang-tools-extra/clang-doc/support/Utils.h
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/clang-include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp
    M clang-tools-extra/clang-include-fixer/tool/ClangIncludeFixer.cpp
    M clang-tools-extra/clang-move/Move.cpp
    M clang-tools-extra/clang-move/tool/ClangMove.cpp
    M clang-tools-extra/clang-reorder-fields/tool/ClangReorderFields.cpp
    M clang-tools-extra/clang-tidy/CMakeLists.txt
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
    M clang-tools-extra/clang-tidy/ClangTidyForceLinker.h
    M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.h
    M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    M clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/RandomGeneratorSeedCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/RandomGeneratorSeedCheck.h
    M clang-tools-extra/clang-tidy/bugprone/SignedBitwiseCheck.h
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/UnhandledCodePathsCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/UnhandledCodePathsCheck.h
    M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.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/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.h
    M clang-tools-extra/clang-tidy/doc8.ini
    M clang-tools-extra/clang-tidy/google/CMakeLists.txt
    R clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
    R clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.h
    M clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
    R clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt
    R clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp
    R clang-tools-extra/clang-tidy/hicpp/LICENSE.TXT
    R clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
    R clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.h
    M clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
    A clang-tools-extra/clang-tidy/llvm/FormatvStringCheck.cpp
    A clang-tools-extra/clang-tidy/llvm/FormatvStringCheck.h
    M clang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
    M clang-tools-extra/clang-tidy/llvm/RedundantCastingCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
    M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
    A clang-tools-extra/clang-tidy/misc/ExplicitConstructorCheck.cpp
    A clang-tools-extra/clang-tidy/misc/ExplicitConstructorCheck.h
    M clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp
    A clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
    A clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.h
    M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.h
    M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNodiscardCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdBitCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStringViewCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStringViewCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.h
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.h
    M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantTypenameCheck.cpp
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/clang-tidy/tool/check_alphabetical_order_test.py
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.h
    M clang-tools-extra/clang-tidy/utils/DesignatedInitializers.cpp
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
    A clang-tools-extra/clangd/.clang-format-ignore
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/CodeComplete.h
    M clang-tools-extra/clangd/Config.h
    M clang-tools-extra/clangd/Diagnostics.cpp
    M clang-tools-extra/clangd/FindTarget.cpp
    M clang-tools-extra/clangd/FuzzyMatch.cpp
    M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/clangd/ProjectModules.cpp
    M clang-tools-extra/clangd/Protocol.cpp
    M clang-tools-extra/clangd/Protocol.h
    M clang-tools-extra/clangd/Selection.cpp
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/TidyFastChecks.inc
    M clang-tools-extra/clangd/TidyProvider.cpp
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/refactor/InsertionPoint.cpp
    M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
    M clang-tools-extra/clangd/test/ast-no-range.test
    M clang-tools-extra/clangd/test/ast.test
    A clang-tools-extra/clangd/test/completion-auto-trigger-replace.test
    A clang-tools-extra/clangd/test/completion-replace.test
    A clang-tools-extra/clangd/test/completion-snippets-replace.test
    A clang-tools-extra/clangd/test/non-existent.test
    M clang-tools-extra/clangd/test/type-hierarchy-ext.test
    M clang-tools-extra/clangd/test/type-hierarchy.test
    M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
    M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/clangd/unittests/FuzzyMatchTests.cpp
    M clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
    M clang-tools-extra/clangd/unittests/HoverTests.cpp
    M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
    M clang-tools-extra/clangd/unittests/SelectionTests.cpp
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/DefineOutlineTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/Contributing.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-code-paths.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-return-value.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/arr39-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/con36-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/con54-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/ctr56-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl03-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl16-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl37-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl50-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl51-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl54-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl58-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl59-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err09-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err34-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err52-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err58-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err60-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err61-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/exp42-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/exp45-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/fio38-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/flp30-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/flp37-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/int09-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc24-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc30-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc32-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc33-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc50-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc54-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop11-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop54-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop58-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/pos44-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/pos47-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/sig30-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/str34-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-c-arrays.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-goto.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-magic-numbers.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/c-copy-assignment-signature.rst
    A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/explicit-constructor.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/explicit-virtual-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/macro-to-enum.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-destructor.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-move-operations.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-swap.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/non-private-member-variables-in-classes.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-default-member-init.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-enum-class.rst
    M clang-tools-extra/docs/clang-tidy/checks/fuchsia/header-anon-namespaces.rst
    M clang-tools-extra/docs/clang-tidy/checks/fuchsia/multiple-inheritance.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/build-namespaces.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/explicit-constructor.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/readability-braces-around-statements.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/readability-casting.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/readability-function-size.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/readability-namespace-comments.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-c-arrays.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-goto.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/braces-around-statements.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/deprecated-headers.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/exception-baseclass.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/explicit-conversions.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/function-size.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/ignored-remove-result.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/invalid-access-moved.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/member-init.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/move-const-arg.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/multiway-paths-covered.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/named-parameter.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/new-delete-operators.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/no-array-decay.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/no-assembler.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/no-malloc.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/noexcept-move.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/signed-bitwise.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/special-member-functions.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/static-assert.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/undelegated-constructor.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/uppercase-literal-suffix.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/use-auto.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/use-emplace.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-default.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-delete.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/use-noexcept.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/use-nullptr.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/use-override.rst
    R clang-tools-extra/docs/clang-tidy/checks/hicpp/vararg.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/docs/clang-tidy/checks/llvm/else-after-return.rst
    A clang-tools-extra/docs/clang-tidy/checks/llvm/formatv-string.rst
    M clang-tools-extra/docs/clang-tidy/checks/llvm/qualified-auto.rst
    M clang-tools-extra/docs/clang-tidy/checks/llvm/redundant-casting.rst
    M clang-tools-extra/docs/clang-tidy/checks/llvmlibc/implementation-in-namespace.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/explicit-constructor.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/static-initialization-cycle.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/unused-parameters.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-default.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-bit.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-string-view.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-using.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/faster-string-find.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/implicit-cast-in-loop.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-length.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-cast.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/magic-numbers.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-casting.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/uppercase-literal-suffix.rst
    M clang-tools-extra/docs/clang-tidy/index.rst
    M clang-tools-extra/modularize/CoverageChecker.cpp
    M clang-tools-extra/modularize/Modularize.cpp
    M clang-tools-extra/modularize/ModularizeUtilities.cpp
    A clang-tools-extra/test/clang-change-namespace/argument-parsing-error-no-abort.cpp
    A clang-tools-extra/test/clang-doc/compact.cpp
    M clang-tools-extra/test/clang-doc/enum.cpp
    M clang-tools-extra/test/clang-doc/index.cpp
    M clang-tools-extra/test/clang-doc/json/class-requires.cpp
    M clang-tools-extra/test/clang-doc/json/class-specialization.cpp
    M clang-tools-extra/test/clang-doc/json/class-template.cpp
    M clang-tools-extra/test/clang-doc/json/class.cpp
    M clang-tools-extra/test/clang-doc/json/compound-constraints.cpp
    M clang-tools-extra/test/clang-doc/json/concept.cpp
    M clang-tools-extra/test/clang-doc/json/function-requires.cpp
    M clang-tools-extra/test/clang-doc/json/function-specifiers.cpp
    M clang-tools-extra/test/clang-doc/json/inheritance.cpp
    M clang-tools-extra/test/clang-doc/json/method-template.cpp
    M clang-tools-extra/test/clang-doc/json/multiple-namespaces.cpp
    M clang-tools-extra/test/clang-doc/json/namespace.cpp
    M clang-tools-extra/test/clang-doc/json/nested-namespace.cpp
    M clang-tools-extra/test/clang-doc/templates.cpp
    A clang-tools-extra/test/clang-include-fixer/argument-parsing-error-no-abort.cpp
    A clang-tools-extra/test/clang-include-fixer/find-all-symbols/argument-parsing-error-no-abort.cpp
    A clang-tools-extra/test/clang-move/argument-parsing-error-no-abort.cpp
    A clang-tools-extra/test/clang-reorder-fields/argument-parsing-error-no-abort.cpp
    M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-init-list-cxx20.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-init-list.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-treat-functions-without-specification-as-throwing.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/move-forwarding-reference.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/random-generator-seed.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/signed-bitwise.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-code-paths-else.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-code-paths.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-return-value-remove.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
    A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-non-const-global-variables-macros.cpp
    A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/use-enum-class-macros.cpp
    R clang-tools-extra/test/clang-tidy/checkers/google/explicit-constructor-cxx20.cpp
    R clang-tools-extra/test/clang-tidy/checkers/google/explicit-constructor.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/ignored-remove-result.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/multiway-paths-covered-else.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/multiway-paths-covered.cpp
    R clang-tools-extra/test/clang-tidy/checkers/hicpp/no-assembler-msvc.cpp
    A clang-tools-extra/test/clang-tidy/checkers/llvm/formatv-string-additional.cpp
    A clang-tools-extra/test/clang-tidy/checkers/llvm/formatv-string-autodetect.cpp
    A clang-tools-extra/test/clang-tidy/checkers/llvm/formatv-string.cpp
    M clang-tools-extra/test/clang-tidy/checkers/llvm/redundant-casting.cpp
    A clang-tools-extra/test/clang-tidy/checkers/llvm/redundant-isa.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-parameters.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/explicit-constructor-cxx20.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/explicit-constructor.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/static-initialization-cycle.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters-macro.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/deprecated-headers/user/assert.h
    M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/macro-to-enum/modernize-macro-to-enum3.h
    M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/deprecated-headers-user.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/macro-to-enum-headers.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/return-braced-init-list.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nodiscard.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-bit.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view-overloaded.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view.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
    A clang-tools-extra/test/clang-tidy/checkers/portability/no-assembler-msvc.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static-deducing-this.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-length-structured-bindings.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-file/config-file
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-file/config-file-list-bracket
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-file/config-file-list-dash
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-file/config-file-spaces
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/system-headers/mock_cstddef.h
    M clang-tools-extra/test/clang-tidy/infrastructure/allow-no-checks.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/clang-diagnostic-checks-only.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/config-file.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check-not-enable.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/dump-config-filtering.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-LIFO.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-all-end-glob.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-all-end-specific.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-at-eof.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-glob-end-all.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-glob-end-specific.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-multiple-end-single.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-single-end-multiple.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-specific-end-all.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-specific-end-glob.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-without-end.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-end-at-sof.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-end-without-begin.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-mismatched-check-names.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-mismatched-delims.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-typo-in-check-name.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/system-macro-diagnostic.cpp
    M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.h
    M clang-tools-extra/unittests/clang-doc/GeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
    M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
    M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-tidy/GoogleModuleTest.cpp
    M clang/Maintainers.md
    M clang/bindings/python/tests/cindex/test_version.py
    M clang/cmake/caches/Fuchsia.cmake
    M clang/cmake/caches/HLSL.cmake
    M clang/docs/AllocToken.rst
    M clang/docs/CIR/ABILowering.rst
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/HIPSupport.rst
    M clang/docs/InternalsManual.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/LifetimeSafety.rst
    M clang/docs/OpenMPSupport.rst
    A clang/docs/RISCVSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/ScalableStaticAnalysisFramework/developer-docs/ForceLinkerHeaders.rst
    M clang/docs/ScalableStaticAnalysisFramework/developer-docs/HowToExtend.rst
    M clang/docs/ThreadSafetyAnalysis.rst
    M clang/docs/TypeSanitizer.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    M clang/docs/analyzer/developer-docs/IPA.rst
    M clang/docs/analyzer/user-docs/Annotations.rst
    M clang/docs/index.rst
    M clang/examples/LLVMPrintFunctionNames/LLVMPrintFunctionNames.cpp
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTFwd.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/ASTTypeTraits.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/DeclarationName.h
    M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/FormatString.h
    M clang/include/clang/AST/HLSLResource.h
    M clang/include/clang/AST/JSONNodeDumper.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/StmtOpenACC.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/AST/TypeBase.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
    M clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h
    M clang/include/clang/Analysis/AnalysisDeclContext.h
    M clang/include/clang/Analysis/PathDiagnostic.h
    M clang/include/clang/Analysis/ProgramPoint.h
    M clang/include/clang/Basic/AArch64CodeGenUtils.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Builtins.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAArch64.td
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/include/clang/Basic/BuiltinsMips.def
    M clang/include/clang/Basic/BuiltinsNVPTX.td
    M clang/include/clang/Basic/BuiltinsPPC.def
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/Cuda.h
    M clang/include/clang/Basic/DebugOptions.def
    M clang/include/clang/Basic/DeclNodes.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticIDs.h
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Basic/HLSLIntrinsics.td
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/Module.h
    M clang/include/clang/Basic/OffloadArch.h
    M clang/include/clang/Basic/RISCVVTypes.def
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Basic/riscv_vector_common.td
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/Dialect/Passes.h
    M clang/include/clang/CIR/Dialect/Passes.td
    A clang/include/clang/CIR/Dialect/Transforms/CIRTransformUtils.h
    M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
    M clang/include/clang/CIR/LowerToLLVM.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/CodeGen/CodeGenAction.h
    A clang/include/clang/CodeGen/ModuleLinker.h
    A clang/include/clang/DependencyScanning/DependencyActionController.h
    A clang/include/clang/DependencyScanning/DependencyConsumer.h
    A clang/include/clang/DependencyScanning/DependencyGraph.h
    M clang/include/clang/DependencyScanning/DependencyScannerImpl.h
    M clang/include/clang/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/DependencyScanning/DependencyScanningUtils.h
    M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
    M clang/include/clang/DependencyScanning/InProcessModuleCache.h
    M clang/include/clang/DependencyScanning/ModuleDepCollector.h
    M clang/include/clang/Driver/Action.h
    M clang/include/clang/Driver/Compilation.h
    M clang/include/clang/Driver/Distro.h
    M clang/include/clang/Driver/Job.h
    M clang/include/clang/Driver/ModulesDriver.h
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Driver/Types.def
    M clang/include/clang/ExtractAPI/API.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/include/clang/Lex/Lexer.h
    A clang/include/clang/Lex/MacroBase.h
    M clang/include/clang/Lex/MacroInfo.h
    M clang/include/clang/Lex/ModuleMap.h
    M clang/include/clang/Lex/PPCallbacks.h
    M clang/include/clang/Lex/Preprocessor.h
    A clang/include/clang/Options/FlangOptions.td
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevelFormat.h
    A clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.h
    A clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.h
    A clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowFormat.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    A clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.h
    R clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.h
    A clang/include/clang/ScalableStaticAnalysisFramework/BuiltinAnchorSources.def
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/EntityLinker/LUSummary.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/DerivedAnalysis.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/SummaryAnalysis.h
    M clang/include/clang/ScalableStaticAnalysisFramework/SSAFBuiltinForceLinker.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/Initialization.h
    M clang/include/clang/Sema/Scope.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaCUDA.h
    M clang/include/clang/Sema/SemaCodeCompletion.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/include/clang/Sema/SemaObjC.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/Serialization/ModuleManager.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Checkers/Taint.h
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
    M clang/include/clang/StaticAnalyzer/Core/Checker.h
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/LoopWidening.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/include/clang/Tooling/CommonOptionsParser.h
    M clang/include/clang/Tooling/DependencyScanningTool.h
    M clang/include/module.modulemap
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTTypeTraits.cpp
    M clang/lib/AST/Availability.cpp
    M clang/lib/AST/ByteCode/ByteCodeEmitter.h
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Context.h
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.h
    M clang/lib/AST/ByteCode/Function.cpp
    M clang/lib/AST/ByteCode/Function.h
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/IntegralAP.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/InterpFrame.h
    M clang/lib/AST/ByteCode/MemberPointer.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/Primitives.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/Program.h
    M clang/lib/AST/Comment.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclObjC.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/FormatString.cpp
    M clang/lib/AST/FormatStringParsing.h
    M clang/lib/AST/HLSLResource.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/PrintfFormatString.cpp
    M clang/lib/AST/ScanfFormatString.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Analysis/AnalysisDeclContext.cpp
    M clang/lib/Analysis/BodyFarm.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
    M clang/lib/Analysis/LifetimeSafety/Loans.cpp
    M clang/lib/Analysis/LiveVariables.cpp
    M clang/lib/Analysis/PathDiagnostic.cpp
    M clang/lib/Analysis/ProgramPoint.cpp
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/IdentifierTable.cpp
    M clang/lib/Basic/Module.cpp
    M clang/lib/Basic/OffloadArch.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/TargetID.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/OSTargets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/SPIR.cpp
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CIR/CodeGen/Address.h
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    A clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
    M clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
    M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenDeclCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenException.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
    M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    A clang/lib/CIR/CodeGen/CIRGenOpenMPRuntime.cpp
    A clang/lib/CIR/CodeGen/CIRGenOpenMPRuntime.h
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    M clang/lib/CIR/CodeGen/CIRGenValue.h
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/CodeGen/TargetInfo.cpp
    M clang/lib/CIR/CodeGen/TargetInfo.h
    M clang/lib/CIR/CodeGen/Targets/AMDGPU.cpp
    A clang/lib/CIR/CodeGen/Targets/SPIRV.cpp
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    A clang/lib/CIR/Dialect/Transforms/CIRTransformUtils.cpp
    M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
    M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
    A clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.h
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/SPIRV.cpp
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
    M clang/lib/CIR/FrontendAction/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenSYCL.cpp
    M clang/lib/CodeGen/CodeGenTypeCache.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/EHScopeStack.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/LinkInModulesPass.h
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/ModuleBuilder.cpp
    A clang/lib/CodeGen/ModuleLinker.cpp
    M clang/lib/CodeGen/QualTypeMapper.h
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
    M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/lib/DependencyScanning/CMakeLists.txt
    A clang/lib/DependencyScanning/DependencyGraph.cpp
    M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/DependencyScanning/InProcessModuleCache.cpp
    M clang/lib/DependencyScanning/ModuleDepCollector.cpp
    M clang/lib/Driver/Distro.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ModulesDriver.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Driver/ToolChains/Arch/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Arch/PPC.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CrossWindows.cpp
    M clang/lib/Driver/ToolChains/CrossWindows.h
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Cuda.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.h
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Fuchsia.h
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.h
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.h
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/Haiku.h
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/Hexagon.h
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/Linux.h
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MSVC.h
    M clang/lib/Driver/ToolChains/Managarm.cpp
    M clang/lib/Driver/ToolChains/Managarm.h
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/MinGW.h
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/NetBSD.h
    M clang/lib/Driver/ToolChains/OHOS.cpp
    M clang/lib/Driver/ToolChains/OHOS.h
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.h
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.h
    M clang/lib/Driver/ToolChains/SPIRV.cpp
    M clang/lib/Driver/ToolChains/SYCL.cpp
    M clang/lib/Driver/ToolChains/Serenity.cpp
    M clang/lib/Driver/ToolChains/Serenity.h
    M clang/lib/Driver/ToolChains/Solaris.cpp
    M clang/lib/Driver/ToolChains/Solaris.h
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.h
    M clang/lib/Driver/Types.cpp
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/ContinuationIndenter.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/ChainedIncludesSource.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/PrintPreprocessedOutput.cpp
    M clang/lib/Frontend/Rewrite/FrontendActions.cpp
    M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
    M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
    M clang/lib/Headers/amdgpuintrin.h
    M clang/lib/Headers/andes_vector.h
    A clang/lib/Headers/arm64_neon.h
    M clang/lib/Headers/gpuintrin.h
    M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/intrin.h
    M clang/lib/Headers/module.modulemap
    M clang/lib/Headers/nvptxintrin.h
    M clang/lib/Headers/opencl-c.h
    M clang/lib/Headers/riscv_bitmanip.h
    M clang/lib/Headers/riscv_corev_alu.h
    M clang/lib/Headers/riscv_crypto.h
    M clang/lib/Headers/riscv_mips.h
    M clang/lib/Headers/riscv_nds.h
    M clang/lib/Headers/riscv_ntlh.h
    M clang/lib/Headers/sifive_vector.h
    M clang/lib/Headers/spirvintrin.h
    M clang/lib/Headers/wasm_simd128.h
    M clang/lib/Interpreter/IncrementalExecutor.cpp
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Interpreter/IncrementalParser.h
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/Wasm.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Lex/Pragma.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Lex/UnicodeCharSets.h
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseStmtAsm.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeLists.txt
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphJSONFormat.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevelFormat.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowFormat.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilderRegistry.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.cpp
    A clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Tool/Utils.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/OpenCLBuiltins.td
    M clang/lib/Sema/Scope.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaBase.cpp
    M clang/lib/Sema/SemaBoundsSafety.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Sema/SemaObjC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/SemaTypeTraits.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/ModuleCache.cpp
    M clang/lib/Serialization/ModuleManager.cpp
    M clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CXXDeleteChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
    M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
    M clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
    M clang/lib/StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/Iterator.cpp
    M clang/lib/StaticAnalyzer/Checkers/Iterator.h
    M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/NoOwnershipChangeVisitor.cpp
    M clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
    M clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnconditionalVAArgChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VAListChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BlockCounter.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/Environment.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
    M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
    M clang/lib/StaticAnalyzer/Core/LoopWidening.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    R clang/lib/StaticAnalyzer/Core/PrettyStackTraceLocationContext.h
    A clang/lib/StaticAnalyzer/Core/PrettyStackTraceStackFrame.h
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/Store.cpp
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
    M clang/lib/StaticAnalyzer/Core/WorkList.cpp
    M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
    M clang/lib/Tooling/Syntax/BuildTree.cpp
    M clang/lib/Tooling/Syntax/Tokens.cpp
    M clang/lib/Tooling/Transformer/SourceCode.cpp
    M clang/test/APINotes/unsafe-buffer-usage.cpp
    M clang/test/AST/ByteCode/addr-label-diff.cpp
    M clang/test/AST/ByteCode/arrays.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/builtin-object-size-codegen.c
    M clang/test/AST/ByteCode/builtins.c
    M clang/test/AST/ByteCode/c.c
    M clang/test/AST/ByteCode/codegen.cpp
    M clang/test/AST/ByteCode/const-eval.c
    M clang/test/AST/ByteCode/const-fpfeatures.cpp
    M clang/test/AST/ByteCode/cxx11.cpp
    M clang/test/AST/ByteCode/cxx14.cpp
    M clang/test/AST/ByteCode/cxx17.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/cxx23.cpp
    M clang/test/AST/ByteCode/fixed-point.cpp
    M clang/test/AST/ByteCode/functions.cpp
    M clang/test/AST/ByteCode/intap.cpp
    A clang/test/AST/ByteCode/libcxx/apvalue-initializer.cpp
    A clang/test/AST/ByteCode/libcxx/constexpr-unknown-getbase.cpp
    A clang/test/AST/ByteCode/libcxx/lvalue-constantexpr.cpp
    A clang/test/AST/ByteCode/libcxx/static-reference-load.cpp
    M clang/test/AST/ByteCode/lifetimes.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/AST/ByteCode/new-delete.cpp
    M clang/test/AST/ByteCode/openmp.cpp
    M clang/test/AST/ByteCode/records.cpp
    M clang/test/AST/ByteCode/references.cpp
    M clang/test/AST/ByteCode/sycl.cpp
    M clang/test/AST/ByteCode/unions.cpp
    M clang/test/AST/ByteCode/vectors.cpp
    M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
    A clang/test/AST/HLSL/ConstantBuffers-AST-error.hlsl
    A clang/test/AST/HLSL/ConstantBuffers-AST.hlsl
    M clang/test/AST/HLSL/OutArgExpr.hlsl
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/AST/HLSL/matrix-constructors.hlsl
    A clang/test/AST/HLSL/matrix_layout_attr.hlsl
    A clang/test/AST/anon-ns-determ-hash.cpp
    A clang/test/AST/ast-dump-aarch64-mte.c
    M clang/test/AST/ast-dump-color.cpp
    M clang/test/AST/ast-dump-constant-expr.cpp
    M clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/AST/ast-dump-decl.c
    M clang/test/AST/ast-dump-decl.cpp
    R clang/test/AST/ast-dump-default-arg-json.cpp
    R clang/test/AST/ast-dump-default-init-json.cpp
    M clang/test/AST/ast-dump-default-init.cpp
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/test/AST/ast-dump-for-range-lifetime.cpp
    M clang/test/AST/ast-dump-invalid.cpp
    R clang/test/AST/ast-dump-lambda-json.cpp
    M clang/test/AST/ast-dump-lambda.cpp
    A clang/test/AST/ast-dump-linkage-internal.cpp
    A clang/test/AST/ast-dump-linkage.cpp
    M clang/test/AST/ast-dump-openmp-atomic.c
    M clang/test/AST/ast-dump-openmp-barrier.c
    M clang/test/AST/ast-dump-openmp-cancel.c
    M clang/test/AST/ast-dump-openmp-cancellation-point.c
    M clang/test/AST/ast-dump-openmp-critical.c
    M clang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c
    M clang/test/AST/ast-dump-openmp-distribute-parallel-for.c
    M clang/test/AST/ast-dump-openmp-distribute-simd.c
    M clang/test/AST/ast-dump-openmp-distribute.c
    M clang/test/AST/ast-dump-openmp-flush.c
    M clang/test/AST/ast-dump-openmp-for-simd.c
    M clang/test/AST/ast-dump-openmp-for.c
    M clang/test/AST/ast-dump-openmp-master.c
    M clang/test/AST/ast-dump-openmp-ordered.c
    M clang/test/AST/ast-dump-openmp-parallel-for-simd.c
    M clang/test/AST/ast-dump-openmp-parallel-for.c
    M clang/test/AST/ast-dump-openmp-parallel-sections.c
    M clang/test/AST/ast-dump-openmp-parallel.c
    M clang/test/AST/ast-dump-openmp-section.c
    M clang/test/AST/ast-dump-openmp-sections.c
    M clang/test/AST/ast-dump-openmp-simd.c
    M clang/test/AST/ast-dump-openmp-single.c
    M clang/test/AST/ast-dump-openmp-target-data.c
    M clang/test/AST/ast-dump-openmp-target-enter-data.c
    M clang/test/AST/ast-dump-openmp-target-exit-data.c
    M clang/test/AST/ast-dump-openmp-target-parallel-for-simd.c
    M clang/test/AST/ast-dump-openmp-target-parallel-for.c
    M clang/test/AST/ast-dump-openmp-target-parallel.c
    M clang/test/AST/ast-dump-openmp-target-simd.c
    M clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c
    M clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for.c
    M clang/test/AST/ast-dump-openmp-target-teams-distribute-simd.c
    M clang/test/AST/ast-dump-openmp-target-teams-distribute.c
    M clang/test/AST/ast-dump-openmp-target-teams.c
    M clang/test/AST/ast-dump-openmp-target-update.c
    M clang/test/AST/ast-dump-openmp-target.c
    M clang/test/AST/ast-dump-openmp-task.c
    M clang/test/AST/ast-dump-openmp-taskgroup.c
    M clang/test/AST/ast-dump-openmp-taskloop-simd.c
    M clang/test/AST/ast-dump-openmp-taskloop.c
    M clang/test/AST/ast-dump-openmp-taskwait.c
    M clang/test/AST/ast-dump-openmp-taskyield.c
    M clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c
    M clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c
    M clang/test/AST/ast-dump-openmp-teams-distribute-simd.c
    M clang/test/AST/ast-dump-openmp-teams-distribute.c
    M clang/test/AST/ast-dump-openmp-teams.c
    M clang/test/AST/ast-dump-stmt.cpp
    M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
    M clang/test/AST/ast-dump-template-name.cpp
    M clang/test/AST/ast-dump-templates-pattern.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/AST/ast-dump-type-callingconv.cpp
    A clang/test/AST/ast-print-amdgcn-predicate.c
    A clang/test/AST/ast-print-explicit-instantiation.cpp
    M clang/test/AST/attr-lifetime-capture-by.cpp
    M clang/test/AST/const-fpfeatures.c
    M clang/test/AST/const-fpfeatures.cpp
    A clang/test/AST/explicit-instantiation-source-info.cpp
    M clang/test/AST/multistep-explicit-cast.c
    M clang/test/AST/multistep-explicit-cast.cpp
    A clang/test/ASTMerge/class-template-spec/Inputs/class-template-spec.cpp
    A clang/test/ASTMerge/class-template-spec/test.cpp
    M clang/test/ASTSYCL/ast-dump-sycl-kernel-call-stmt.cpp
    M clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp
    M clang/test/Analysis/Checkers/WebKit/binding-to-refptr.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-co_await-assertion-failure.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    A clang/test/Analysis/Checkers/WebKit/unretained-call-args-member.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
    A clang/test/Analysis/Inputs/system-header-simulator-for-valist-c23.h
    M clang/test/Analysis/OSAtomic_mac.cpp
    A clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-array.json
    A clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-bad-summary.json
    A clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary-no-key.json
    A clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
    A clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-bad-edges.json
    A clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-bad-id.json
    A clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-empty.json
    A clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-no-key.json
    A clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result-odd-count.json
    A clang/test/Analysis/Scalable/PointerFlow/Inputs/wpa-result.json
    A clang/test/Analysis/Scalable/PointerFlow/tu-summary-serialization.test
    A clang/test/Analysis/Scalable/PointerFlow/wpa-result-serialization.test
    A clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-bad-epls.json
    A clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-bad-id.json
    A clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-empty.json
    A clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-no-key.json
    A clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result-odd-count.json
    A clang/test/Analysis/Scalable/UnsafeBufferUsage/Inputs/wpa-result.json
    M clang/test/Analysis/Scalable/UnsafeBufferUsage/tu-summary-serialization.test
    A clang/test/Analysis/Scalable/UnsafeBufferUsage/wpa-result-serialization.test
    A clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-badext.txt
    A clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-corrupt.json
    A clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-noext
    A clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-tags-only.json
    A clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu-wrong-type.json
    A clang/test/Analysis/Scalable/ssaf-analyzer/Inputs/lu.json
    A clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/all.json
    A clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/both.json
    A clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/pairs.json
    A clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/tags.json
    A clang/test/Analysis/Scalable/ssaf-analyzer/analyzer.test
    A clang/test/Analysis/Scalable/ssaf-analyzer/cli-errors.test
    A clang/test/Analysis/Scalable/ssaf-analyzer/help.test
    A clang/test/Analysis/Scalable/ssaf-analyzer/lit.local.cfg
    A clang/test/Analysis/Scalable/ssaf-analyzer/validation-errors-permissions.test
    A clang/test/Analysis/Scalable/ssaf-analyzer/validation-errors.test
    A clang/test/Analysis/Scalable/ssaf-analyzer/version.test
    M clang/test/Analysis/Scalable/ssaf-format/list.test
    M clang/test/Analysis/analyzeOneFunction.cpp
    M clang/test/Analysis/anonymous-decls.cpp
    M clang/test/Analysis/bstring_UninitRead.c
    A clang/test/Analysis/ctu/constraintsatisfaction.cpp
    M clang/test/Analysis/ctu/on-demand-parsing.c
    M clang/test/Analysis/ctu/on-demand-parsing.cpp
    A clang/test/Analysis/ctu/reusable-pch.c
    M clang/test/Analysis/cxx-uninitialized-object-inheritance.cpp
    M clang/test/Analysis/cxx-uninitialized-object-no-dereference.cpp
    M clang/test/Analysis/cxx-uninitialized-object-notes-as-warnings.cpp
    M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
    M clang/test/Analysis/cxx-uninitialized-object-unguarded-access.cpp
    M clang/test/Analysis/cxx-uninitialized-object-unionlike-constructs.cpp
    M clang/test/Analysis/cxx-uninitialized-object.cpp
    M clang/test/Analysis/dead-stores.c
    M clang/test/Analysis/live-bindings-test.cpp
    M clang/test/Analysis/more-dtors-cfg-output.cpp
    M clang/test/Analysis/objcpp-uninitialized-object.mm
    M clang/test/Analysis/stack-frame-context-revision.cpp
    M clang/test/Analysis/valist-uninitialized.c
    M clang/test/Analysis/valist-unterminated.c
    M clang/test/C/C11/n1396.c
    M clang/test/C/C2y/n3364.c
    M clang/test/C/C2y/n3460_1.c
    M clang/test/C/drs/dr335.c
    M clang/test/CIR/CodeGen/abi-lower-after-unreachable.cpp
    A clang/test/CIR/CodeGen/aligned-allocation.cpp
    M clang/test/CIR/CodeGen/amdgpu-array-addrspace.cpp
    M clang/test/CIR/CodeGen/amdgpu-call-addrspace-cast.cpp
    A clang/test/CIR/CodeGen/amdgpu-stack-alloca-array-decay.cpp
    A clang/test/CIR/CodeGen/annotate-attribute.c
    A clang/test/CIR/CodeGen/annotate-attribute.cpp
    M clang/test/CIR/CodeGen/array-init-loop-exprs.cpp
    M clang/test/CIR/CodeGen/array.cpp
    A clang/test/CIR/CodeGen/asm-label-redirect-inline.c
    A clang/test/CIR/CodeGen/asm-label-redirect.c
    M clang/test/CIR/CodeGen/atomic.c
    A clang/test/CIR/CodeGen/attr-alias.c
    A clang/test/CIR/CodeGen/attr-target-aarch64.c
    A clang/test/CIR/CodeGen/attr-target-x86.c
    A clang/test/CIR/CodeGen/attr-weakref.c
    M clang/test/CIR/CodeGen/binassign.c
    M clang/test/CIR/CodeGen/binop.cpp
    A clang/test/CIR/CodeGen/bool-bitfield.cpp
    A clang/test/CIR/CodeGen/builtin-call.cpp
    A clang/test/CIR/CodeGen/builtin-invoke-varargs-member.cpp
    M clang/test/CIR/CodeGen/builtins-x86.c
    M clang/test/CIR/CodeGen/call.c
    M clang/test/CIR/CodeGen/call.cpp
    A clang/test/CIR/CodeGen/cast-lvalue-conv.cpp
    A clang/test/CIR/CodeGen/catch-in-loop.cpp
    A clang/test/CIR/CodeGen/character-literal.c
    A clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
    A clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional.cpp
    A clang/test/CIR/CodeGen/cleanup-scope-goto-out.cpp
    A clang/test/CIR/CodeGen/cleanup-scope-goto-within.cpp
    A clang/test/CIR/CodeGen/cleanup-throw-from-cleanup.cpp
    M clang/test/CIR/CodeGen/cmp.cpp
    M clang/test/CIR/CodeGen/comma.c
    A clang/test/CIR/CodeGen/complex-atomic-cast.c
    M clang/test/CIR/CodeGen/complex.cpp
    A clang/test/CIR/CodeGen/consteval-aggregate.cpp
    A clang/test/CIR/CodeGen/coro-exceptions.cpp
    M clang/test/CIR/CodeGen/coro-task.cpp
    M clang/test/CIR/CodeGen/ctor-try-body.cpp
    A clang/test/CIR/CodeGen/cxx-abi-lowering-string-array.cpp
    A clang/test/CIR/CodeGen/cxx23-explicit-object-member.cpp
    A clang/test/CIR/CodeGen/cxx2b-static-call-operator.cpp
    A clang/test/CIR/CodeGen/delete-aligned.cpp
    A clang/test/CIR/CodeGen/delete-array-throwing-dtor.cpp
    A clang/test/CIR/CodeGen/delete-array-unsized-dtor.cpp
    M clang/test/CIR/CodeGen/delete-array.cpp
    A clang/test/CIR/CodeGen/delete-destroying.cpp
    A clang/test/CIR/CodeGen/devirtualize.cpp
    M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
    M clang/test/CIR/CodeGen/dynamic-cast.cpp
    M clang/test/CIR/CodeGen/empty-union.cpp
    A clang/test/CIR/CodeGen/fixed-point-literal.c
    M clang/test/CIR/CodeGen/forrange.cpp
    A clang/test/CIR/CodeGen/function-target-features.c
    A clang/test/CIR/CodeGen/global-dtor-union-narrowed.cpp
    A clang/test/CIR/CodeGen/global-ptr-init-negative-offset.c
    A clang/test/CIR/CodeGen/global-tls-dyn-init.cpp
    A clang/test/CIR/CodeGen/global-tls-simple-init.cpp
    A clang/test/CIR/CodeGen/global-tls-templates.cpp
    A clang/test/CIR/CodeGen/global-var-template-ctor.cpp
    M clang/test/CIR/CodeGen/if.cpp
    A clang/test/CIR/CodeGen/implicit-return-zero.c
    M clang/test/CIR/CodeGen/implicit-value-init-expr.cpp
    M clang/test/CIR/CodeGen/inherited-ctors.cpp
    A clang/test/CIR/CodeGen/initializer-list-size-cleanup.cpp
    A clang/test/CIR/CodeGen/inline-extern-force-codegen.c
    A clang/test/CIR/CodeGen/lambda-decomp-decl-captures.cpp
    A clang/test/CIR/CodeGen/lambda-static-invoker-agg-return.cpp
    M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
    M clang/test/CIR/CodeGen/lambda.cpp
    A clang/test/CIR/CodeGen/launder.cpp
    A clang/test/CIR/CodeGen/link-bitcode-file.c
    A clang/test/CIR/CodeGen/local-const-aggregate-name-clash.cpp
    M clang/test/CIR/CodeGen/long-double-inc-dec.cpp
    M clang/test/CIR/CodeGen/misc-attrs.cpp
    A clang/test/CIR/CodeGen/new-array-cookie.cpp
    A clang/test/CIR/CodeGen/new-array-in-ternary.cpp
    M clang/test/CIR/CodeGen/new-delete-deactivation.cpp
    M clang/test/CIR/CodeGen/new-delete.cpp
    A clang/test/CIR/CodeGen/new-null.cpp
    M clang/test/CIR/CodeGen/new.cpp
    M clang/test/CIR/CodeGen/no-odr-use.cpp
    A clang/test/CIR/CodeGen/no-proto-then-def.c
    M clang/test/CIR/CodeGen/no-prototype.c
    M clang/test/CIR/CodeGen/no-unique-address.cpp
    A clang/test/CIR/CodeGen/non-odr-use-const-bool.cpp
    A clang/test/CIR/CodeGen/nonnull.c
    M clang/test/CIR/CodeGen/noreturn.cpp
    M clang/test/CIR/CodeGen/optsize-func-attr.cpp
    M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
    A clang/test/CIR/CodeGen/pass-object-size.c
    M clang/test/CIR/CodeGen/pointer-to-data-member-cmp.cpp
    M clang/test/CIR/CodeGen/pointer-to-data-member.cpp
    M clang/test/CIR/CodeGen/pointer-to-member-func-cast.cpp
    M clang/test/CIR/CodeGen/pointer-to-member-func-cmp.cpp
    M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
    M clang/test/CIR/CodeGen/pointers.cpp
    A clang/test/CIR/CodeGen/record-with-padded-union.cpp
    A clang/test/CIR/CodeGen/replace-global-deferred-strings.c
    A clang/test/CIR/CodeGen/restrict-noalias.c
    M clang/test/CIR/CodeGen/ret-attrs.cpp
    A clang/test/CIR/CodeGen/self-assign.c
    A clang/test/CIR/CodeGen/self-ref-temporaries.cpp
    M clang/test/CIR/CodeGen/side-effect.cpp
    M clang/test/CIR/CodeGen/source-loc.cpp
    A clang/test/CIR/CodeGen/static-local-arm-guard.cpp
    A clang/test/CIR/CodeGen/static-local-in-ctor.cpp
    M clang/test/CIR/CodeGen/static-local.cpp
    M clang/test/CIR/CodeGen/string-literals.cpp
    A clang/test/CIR/CodeGen/switch-pre-case-stmts.cpp
    A clang/test/CIR/CodeGen/temp-param-obj-decl.cpp
    A clang/test/CIR/CodeGen/temporary-materialization-adjust.cpp
    M clang/test/CIR/CodeGen/ternary-throw.cpp
    M clang/test/CIR/CodeGen/ternary.cpp
    A clang/test/CIR/CodeGen/thread-local-in-func.cpp
    A clang/test/CIR/CodeGen/three-way-compare-cleanup.cpp
    M clang/test/CIR/CodeGen/throws.cpp
    M clang/test/CIR/CodeGen/thunks.cpp
    M clang/test/CIR/CodeGen/try-catch-all-with-cleanup.cpp
    A clang/test/CIR/CodeGen/try-catch-non-trivial-copy.cpp
    M clang/test/CIR/CodeGen/try-catch.cpp
    A clang/test/CIR/CodeGen/try-no-throwing-calls.cpp
    A clang/test/CIR/CodeGen/tune-cpu.c
    M clang/test/CIR/CodeGen/unary.cpp
    M clang/test/CIR/CodeGen/union-agg-init.c
    M clang/test/CIR/CodeGen/union.c
    M clang/test/CIR/CodeGen/union.cpp
    A clang/test/CIR/CodeGen/unreachable-cycle.c
    M clang/test/CIR/CodeGen/vbase.cpp
    A clang/test/CIR/CodeGen/vector-binop-overflow.cpp
    M clang/test/CIR/CodeGen/vector-ext-element.cpp
    M clang/test/CIR/CodeGen/vector-ext.cpp
    M clang/test/CIR/CodeGen/vector.cpp
    M clang/test/CIR/CodeGen/virtual-fn-calls-eh.cpp
    M clang/test/CIR/CodeGen/virtual-function-calls.cpp
    A clang/test/CIR/CodeGen/vla-pointer-arith.c
    M clang/test/CIR/CodeGen/vla.c
    A clang/test/CIR/CodeGen/vtable-linkage-explicit-instantiation.cpp
    M clang/test/CIR/CodeGen/wide-string.cpp
    A clang/test/CIR/CodeGenBuiltins/NVPTX/builtins-nvptx-sync.cu
    A clang/test/CIR/CodeGenBuiltins/NVPTX/builtins-sm90.cu
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv-zbb.c
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv-zbc.c
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv-zbkb.c
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv-zbkx.c
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv-zknh.c
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv-zksed.c
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv-zksh.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vlfp16-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/ssse3-builtins.c
    M clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-call.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-constant-p.c
    A clang/test/CIR/CodeGenBuiltins/builtin-float.c
    M clang/test/CIR/CodeGenBuiltins/builtin-isinf-sign.c
    M clang/test/CIR/CodeGenBuiltins/builtin-memchr.c
    M clang/test/CIR/CodeGenBuiltins/builtin-new-delete.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-object-size.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-signbit.c
    A clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp
    M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
    M clang/test/CIR/CodeGenBuiltins/builtins-overflow.cpp
    M clang/test/CIR/CodeGenBuiltins/builtins-pred-info.c
    M clang/test/CIR/CodeGenBuiltins/builtins.cpp
    M clang/test/CIR/CodeGenCUDA/address-spaces.cu
    A clang/test/CIR/CodeGenCUDA/attribute-visibility.cu
    A clang/test/CIR/CodeGenCUDA/builtins-nvvm-math.cu
    A clang/test/CIR/CodeGenCUDA/cuda-builtin-vars.cu
    A clang/test/CIR/CodeGenCUDA/device-printf.cu
    M clang/test/CIR/CodeGenCUDA/device-stub.cu
    M clang/test/CIR/CodeGenCUDA/kernel-call.cu
    M clang/test/CIR/CodeGenCUDA/kernel-stub-name.cu
    A clang/test/CIR/CodeGenCUDA/ptx-kernels.cu
    A clang/test/CIR/CodeGenCXX/new-array-init-list-non-trivial-dtor.cpp
    M clang/test/CIR/CodeGenCXX/new-array-init.cpp
    A clang/test/CIR/CodeGenCXX/virtual-base-cast.cpp
    M clang/test/CIR/CodeGenHIP/amdgpu-attrs.hip
    A clang/test/CIR/CodeGenHIP/attr-target-amdgpu.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-image.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-logb-scalbn.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
    M clang/test/CIR/CodeGenHIP/simple.cpp
    A clang/test/CIR/CodeGenHIP/target-features.hip
    M clang/test/CIR/CodeGenOpenACC/combined-copy.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
    M clang/test/CIR/CodeGenOpenCL/as_type.cl
    A clang/test/CIR/CodeGenOpenCL/spirv-kernel.cl
    A clang/test/CIR/CodeGenOpenCL/vector.cl
    A clang/test/CIR/CodeGenOpenMP/emit-device-functions.cpp
    A clang/test/CIR/IR/annotation.cir
    A clang/test/CIR/IR/assume.cir
    M clang/test/CIR/IR/await.cir
    A clang/test/CIR/IR/calling-conv.cir
    A clang/test/CIR/IR/co-return.cir
    A clang/test/CIR/IR/constptrattr.cir
    A clang/test/CIR/IR/construct-catch-param.cir
    A clang/test/CIR/IR/coro-body.cir
    A clang/test/CIR/IR/float.cir
    M clang/test/CIR/IR/func.cir
    A clang/test/CIR/IR/int.cir
    A clang/test/CIR/IR/invalid-annotation.cir
    A clang/test/CIR/IR/invalid-assume.cir
    M clang/test/CIR/IR/invalid-await.cir
    A clang/test/CIR/IR/invalid-co-return.cir
    A clang/test/CIR/IR/invalid-construct-catch-param.cir
    M clang/test/CIR/IR/invalid-copy.cir
    A clang/test/CIR/IR/invalid-coro-body.cir
    A clang/test/CIR/IR/invalid-delete-array.cir
    A clang/test/CIR/IR/invalid-global.cir
    M clang/test/CIR/IR/invalid-static-local.cir
    M clang/test/CIR/IR/invalid-tls.cir
    M clang/test/CIR/IR/static-local.cir
    A clang/test/CIR/IR/var-registration.cir
    A clang/test/CIR/Lowering/calling-conv.cir
    M clang/test/CIR/Lowering/global-var-simple.cpp
    A clang/test/CIR/Transforms/abi-lowering/Inputs/test-datalayout.cir
    A clang/test/CIR/Transforms/abi-lowering/datalayout-missing-error.cir
    A clang/test/CIR/Transforms/abi-lowering/declaration-rewrite.cir
    A clang/test/CIR/Transforms/abi-lowering/direct-passthrough-injection.cir
    A clang/test/CIR/Transforms/abi-lowering/direct-passthrough-test-target.cir
    A clang/test/CIR/Transforms/abi-lowering/ignore-arg.cir
    A clang/test/CIR/Transforms/abi-lowering/ignore-return.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-call-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/try-call-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/variadic-call-nyi.cir
    A clang/test/CIR/Transforms/eh-abi-lowering-construct-catch-invalid.cir
    A clang/test/CIR/Transforms/eh-abi-lowering-construct-catch.cir
    M clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
    R clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
    M clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
    A clang/test/CIR/Transforms/flatten-try-catch-cleanup.cir
    M clang/test/CIR/Transforms/idiom-recognizer.cpp
    A clang/test/CIR/Transforms/mem2reg.cir
    M clang/test/CIR/Transforms/ternary.cir
    M clang/test/CIR/mlprint.c
    M clang/test/CMakeLists.txt
    A clang/test/CXX/basic/basic.link/p11.cpp
    M clang/test/CXX/basic/basic.link/p19.cppm
    M clang/test/CXX/class/class.friend/p7-cxx20.cpp
    M clang/test/CXX/class/class.local/p3.cpp
    M clang/test/CXX/class/class.mfct/p1-cxx20.cpp
    M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p12.cpp
    M clang/test/CXX/dcl.decl/dcl.decomp/p3.cpp
    M clang/test/CXX/drs/cwg13xx.cpp
    M clang/test/CXX/drs/cwg16xx.cpp
    M clang/test/CXX/drs/cwg17xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg2149.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/CXX/drs/cwg25xx.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg29xx.cpp
    M clang/test/CXX/drs/cwg2xx.cpp
    M clang/test/CXX/drs/cwg30xx.cpp
    M clang/test/CXX/drs/cwg31xx.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/test/CXX/drs/cwg9xx.cpp
    M clang/test/CXX/expr/expr.const/p3-0x.cpp
    A clang/test/CXX/expr/expr.prim/expr.prim.this/p4.cpp
    A clang/test/CXX/temp/temp.constr/temp.constr.decl/p4.cpp
    M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
    M clang/test/CXX/temp/temp.param/p8-cxx20.cpp
    M clang/test/CXX/temp/temp.res/p4.cpp
    M clang/test/CXX/temp/temp.res/temp.local/p1.cpp
    A clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
    M clang/test/ClangScanDeps/build-session-validation-relocated-modules.c
    A clang/test/ClangScanDeps/modules-by-name-detailed-preprocessing-record.c
    M clang/test/ClangScanDeps/modules-cc1.cpp
    M clang/test/ClangScanDeps/modules-has-include-umbrella-header.c
    A clang/test/ClangScanDeps/p1689-mf-nested-dir.c
    M clang/test/CodeCompletion/desig-init.cpp
    A clang/test/CodeCompletion/offsetof.cpp
    M clang/test/CodeGen/2008-07-31-asm-labels.c
    M clang/test/CodeGen/AArch64/atomic-ops-float-check-minmax.c
    M clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
    M clang/test/CodeGen/AArch64/cpu-supports-target.c
    A clang/test/CodeGen/AArch64/fp8-extract.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_untyped.c
    A clang/test/CodeGen/AArch64/lit.local.cfg
    A clang/test/CodeGen/AArch64/mskernel-interlocked.c
    M clang/test/CodeGen/AArch64/neon-across.c
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    R clang/test/CodeGen/AArch64/neon-perm.c
    R clang/test/CodeGen/AArch64/neon-scalar-copy.c
    M clang/test/CodeGen/AArch64/neon-vget.c
    M clang/test/CodeGen/AArch64/neon/bf16-getset.c
    M clang/test/CodeGen/AArch64/neon/fullfp16.c
    A clang/test/CodeGen/AArch64/neon/fused-multiple-fullfp16.c
    A clang/test/CodeGen/AArch64/neon/fused-multiply.c
    A clang/test/CodeGen/AArch64/neon/getset.c
    M clang/test/CodeGen/AArch64/neon/intrinsics.c
    A clang/test/CodeGen/AArch64/neon/perm.c
    M clang/test/CodeGen/AArch64/poly64.c
    M clang/test/CodeGen/AArch64/pure-scalable-args.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_bfmmla.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mmla-bf16.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mmla-f16.c
    M clang/test/CodeGen/AArch64/sve-vector-compare-ops.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_addqp.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_addsubp.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_dot.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_qrshr.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_qshr.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_subp.c
    A clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_svabal.c
    M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics-constrained.c
    M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
    M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
    A clang/test/CodeGen/AArch64/v9.7a-neon-mmla-intrinsics.c
    M clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
    M clang/test/CodeGen/Inputs/stdbit.h
    A clang/test/CodeGen/Mips/msa-const-ld.c
    A clang/test/CodeGen/PowerPC/aix-ptr-glue.c
    A clang/test/CodeGen/PowerPC/builtins-aes-acceleration.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-dmf.c
    M clang/test/CodeGen/PowerPC/ppc-dmf-mma-builtin-err.c
    M clang/test/CodeGen/PowerPC/ppc64-complex-parms.c
    M clang/test/CodeGen/RISCV/riscv64-vararg.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdot4a_vv.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdot4a_vx.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdot4asu_vv.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdot4asu_vx.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdot4au_vv.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdot4au_vx.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdot4aus_vx.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4_vv.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4_vx.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4su_vv.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4su_vx.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4u_vv.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4u_vx.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/non-overloaded/vdota4us_vx.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdot4a_vv.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdot4a_vx.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdot4asu_vv.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdot4asu_vx.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdot4au_vv.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdot4au_vx.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdot4aus_vx.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4_vv.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4_vx.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4su_vv.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4su_vx.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4u_vv.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4u_vx.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/non-policy/overloaded/vdota4us_vx.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdot4a_vv.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdot4a_vx.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdot4asu_vv.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdot4asu_vx.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdot4au_vv.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdot4au_vx.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdot4aus_vx.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4_vv.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4_vx.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4su_vv.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4su_vx.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4u_vv.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4u_vx.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/non-overloaded/vdota4us_vx.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdot4a_vv.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdot4a_vx.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdot4asu_vv.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdot4asu_vx.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdot4au_vv.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdot4au_vx.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdot4aus_vx.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4_vv.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4_vx.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4su_vv.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4su_vx.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4u_vv.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4u_vx.c
    R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvdot4a8i/policy/overloaded/vdota4us_vx.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/non-policy/non-overloaded/vfncvt.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/non-policy/non-overloaded/vfncvtbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/non-policy/non-overloaded/vfwcvtbf16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/non-policy/non-overloaded/vreinterpret.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/non-policy/overloaded/vfncvt.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/non-policy/overloaded/vfncvtbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/non-policy/overloaded/vfwcvtbf16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/non-policy/overloaded/vreinterpret.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/non-overloaded/vfncvt.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/non-overloaded/vfncvtbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/non-overloaded/vfwcvtbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/overloaded/vfncvt.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/overloaded/vfncvtbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/overloaded/vfwcvtbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-intrinsic-datatypes.cpp
    M clang/test/CodeGen/SystemZ/atomic_is_lock_free.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
    A clang/test/CodeGen/SystemZ/stack-guard-global-option.c
    M clang/test/CodeGen/X86/Float16-arithmetic.c
    M clang/test/CodeGen/X86/Float16-complex.c
    M clang/test/CodeGen/X86/avx512fp16-builtins.c
    M clang/test/CodeGen/X86/avx512vlfp16-builtins.c
    M clang/test/CodeGen/X86/long-double-config-size.c
    A clang/test/CodeGen/X86/mskernel-interlocked.c
    M clang/test/CodeGen/X86/x86-atomic-long_double.c
    M clang/test/CodeGen/X86/x86_64-longdouble.c
    M clang/test/CodeGen/alias.c
    M clang/test/CodeGen/align-x68_64.c
    A clang/test/CodeGen/alloc-token-inline.c
    R clang/test/CodeGen/amdgpu-abi-struct-coerce.c
    M clang/test/CodeGen/amdgpu-builtin-is-invocable.c
    M clang/test/CodeGen/amdgpu-builtin-processor-is.c
    M clang/test/CodeGen/amdgpu-variadic-call.c
    M clang/test/CodeGen/arm-mfp8.c
    R clang/test/CodeGen/arm64-microsoft-struct-align.cpp
    M clang/test/CodeGen/arm64-mte.c
    A clang/test/CodeGen/arm64-neon-header.c
    M clang/test/CodeGen/asan-strings.c
    M clang/test/CodeGen/atomic-ops.c
    M clang/test/CodeGen/atomic-test-and-set.c
    M clang/test/CodeGen/atomic.c
    M clang/test/CodeGen/atomic_ops.c
    M clang/test/CodeGen/attr-target-mv.c
    A clang/test/CodeGen/avr/issue-176830.c
    M clang/test/CodeGen/bpf-abiinfo.c
    M clang/test/CodeGen/bpf-struct-argument.c
    M clang/test/CodeGen/bpf-union-argument.c
    A clang/test/CodeGen/builtin-clear-padding-codegen.c
    M clang/test/CodeGen/builtin-complex.c
    M clang/test/CodeGen/builtin-masked.c
    M clang/test/CodeGen/builtin-nan-exception.c
    M clang/test/CodeGen/builtin-nan-legacy.c
    M clang/test/CodeGen/builtin-nanf.c
    M clang/test/CodeGen/builtin-rotate.c
    M clang/test/CodeGen/builtin_Float16.c
    M clang/test/CodeGen/builtins-bitint.c
    M clang/test/CodeGen/builtins-elementwise-math.c
    M clang/test/CodeGen/builtins-nvptx-mma.cu
    M clang/test/CodeGen/builtins-nvptx-mma.py
    M clang/test/CodeGen/builtins-nvptx-ptx60.cu
    M clang/test/CodeGen/builtins-nvptx-sm_70.cu
    M clang/test/CodeGen/builtins-nvptx.c
    M clang/test/CodeGen/builtins-reduction-math.c
    M clang/test/CodeGen/builtins.c
    M clang/test/CodeGen/c-strings.c
    M clang/test/CodeGen/c11atomics-ios.c
    M clang/test/CodeGen/captured-statements.c
    M clang/test/CodeGen/catch-undef-behavior.c
    M clang/test/CodeGen/cfi-icall-trap-recover-runtime.c
    M clang/test/CodeGen/complex-init-list.c
    M clang/test/CodeGen/complex_Float16.c
    M clang/test/CodeGen/conditional.c
    M clang/test/CodeGen/const-init.c
    M clang/test/CodeGen/constexpr-c23-internal-linkage.c
    M clang/test/CodeGen/construction-vtable-visibility.cpp
    M clang/test/CodeGen/cx-complex-range-real.c
    M clang/test/CodeGen/defer-ts.c
    M clang/test/CodeGen/exceptions-seh-finally.c
    M clang/test/CodeGen/exceptions-seh-nested-finally.c
    M clang/test/CodeGen/exceptions-seh.c
    M clang/test/CodeGen/ext-vector.c
    M clang/test/CodeGen/fp-floatcontrol-pragma.cpp
    M clang/test/CodeGen/fp16-ops-strictfp.c
    M clang/test/CodeGen/fp16-ops.c
    M clang/test/CodeGen/isfpclass.c
    M clang/test/CodeGen/link-builtin-bitcode.c
    M clang/test/CodeGen/linux-kernel-struct-union-initializer.c
    M clang/test/CodeGen/linux-kernel-struct-union-initializer2.c
    M clang/test/CodeGen/logb_scalbn.c
    M clang/test/CodeGen/lto-newpm-pipeline.c
    M clang/test/CodeGen/math-builtins-long.c
    A clang/test/CodeGen/microsoft-64bit-struct-align.cpp
    M clang/test/CodeGen/mingw-long-double.c
    M clang/test/CodeGen/mips-unsupported-nan.c
    M clang/test/CodeGen/ms-annotation.c
    M clang/test/CodeGen/overflow-behavior-types.c
    M clang/test/CodeGen/ppc-vec_ct-truncate.c
    M clang/test/CodeGen/push-hidden-visibility-subclass.cpp
    M clang/test/CodeGen/rounding-math.c
    M clang/test/CodeGen/rounding-math.cpp
    M clang/test/CodeGen/sanitize-metadata-nosanitize.c
    M clang/test/CodeGen/scoped-atomic-ops.c
    M clang/test/CodeGen/scoped-fence-ops.c
    M clang/test/CodeGen/spir-half-type.cpp
    M clang/test/CodeGen/split-lto-unit-input.cpp
    M clang/test/CodeGen/stack-clash-protection.c
    M clang/test/CodeGen/stack-protector-guard.c
    M clang/test/CodeGen/strict-bool.c
    M clang/test/CodeGen/strictfp_builtins.c
    M clang/test/CodeGen/target-data.c
    M clang/test/CodeGen/ubsan-aggregate-null-align.c
    M clang/test/CodeGen/ubsan-conditional.c
    M clang/test/CodeGen/unique-internal-linkage-names.cpp
    M clang/test/CodeGen/windows-seh-EHa-TryInFinally.cpp
    M clang/test/CodeGenCUDA/atomic-options.hip
    A clang/test/CodeGenCUDA/device-stub-macho.cu
    M clang/test/CodeGenCUDA/device-stub.cu
    M clang/test/CodeGenCUDA/device-vtable.cu
    A clang/test/CodeGenCUDA/implicit-hd-dtor-trap-stub-hip.hip
    A clang/test/CodeGenCUDA/implicit-hd-explicit-inst-hip.hip
    A clang/test/CodeGenCUDA/implicit-hd-overload-ambig-hip.hip
    M clang/test/CodeGenCUDA/increment-index-for-thunks.cu
    M clang/test/CodeGenCUDA/long-double.cu
    M clang/test/CodeGenCUDA/offloading-entries.cu
    M clang/test/CodeGenCUDA/printf.cu
    M clang/test/CodeGenCUDA/record-layout.cu
    M clang/test/CodeGenCUDA/types.cu
    M clang/test/CodeGenCXX/OmitRTTIComponentABI/simple-vtable-definition.cpp
    M clang/test/CodeGenCXX/PR26569.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/available_externally-vtable.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/child-vtable-in-comdat.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/no-alias-when-dso-local.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/parent-and-child-in-comdats.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/parent-vtable-in-comdat.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/vtable-hidden-when-in-comdat.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp
    M clang/test/CodeGenCXX/aarch64-sve-vector-conditional-op.cpp
    M clang/test/CodeGenCXX/apple-kext-indirect-call-2.cpp
    M clang/test/CodeGenCXX/apple-kext-indirect-call.cpp
    M clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
    M clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllexport.cpp
    M clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllimport.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp
    M clang/test/CodeGenCXX/bad-codegen-for-constexpr-structured-bindings.cpp
    M clang/test/CodeGenCXX/blocks-cxx11.cpp
    M clang/test/CodeGenCXX/blocks.cpp
    M clang/test/CodeGenCXX/builtin-amdgcn-fence.cpp
    M clang/test/CodeGenCXX/builtin-atomic-compare_exchange.cpp
    A clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp
    M clang/test/CodeGenCXX/cast-to-ref-bool.cpp
    M clang/test/CodeGenCXX/cfi-cross-dso.cpp
    M clang/test/CodeGenCXX/cfi-vcall-trap-recover-runtime.cpp
    M clang/test/CodeGenCXX/const-init.cpp
    M clang/test/CodeGenCXX/ctor-dtor-alias.cpp
    M clang/test/CodeGenCXX/cxx11-user-defined-literal.cpp
    M clang/test/CodeGenCXX/cxx11-vtable-key-function.cpp
    M clang/test/CodeGenCXX/cxx1z-decomposition.cpp
    M clang/test/CodeGenCXX/dllexport.cpp
    M clang/test/CodeGenCXX/dllimport-rtti.cpp
    M clang/test/CodeGenCXX/dllimport.cpp
    M clang/test/CodeGenCXX/dso-local-executable.cpp
    M clang/test/CodeGenCXX/dtor-local-lambda-mangle.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/exceptions-seh.cpp
    M clang/test/CodeGenCXX/exceptions.cpp
    M clang/test/CodeGenCXX/float128-declarations.cpp
    M clang/test/CodeGenCXX/float16-declarations.cpp
    M clang/test/CodeGenCXX/ibm128-declarations.cpp
    M clang/test/CodeGenCXX/ignored-bitfield-conditional.cpp
    M clang/test/CodeGenCXX/internal-linkage.cpp
    M clang/test/CodeGenCXX/key-function-vtable.cpp
    M clang/test/CodeGenCXX/lambda-deterministic-captures.cpp
    M clang/test/CodeGenCXX/lambda-expressions-nested-linkage.cpp
    M clang/test/CodeGenCXX/lambda-expressions.cpp
    A clang/test/CodeGenCXX/mangle-cxx2c.cpp
    M clang/test/CodeGenCXX/mangle-ms-md5.cpp
    M clang/test/CodeGenCXX/mangle-requires.cpp
    M clang/test/CodeGenCXX/mangle-subst-std.cpp
    M clang/test/CodeGenCXX/mdefault-visibility-export-mapping-rtti.cpp
    M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-interface.cpp
    M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
    M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
    M clang/test/CodeGenCXX/modules-vtable.cppm
    M clang/test/CodeGenCXX/ms-constexpr-static-data-member.cpp
    M clang/test/CodeGenCXX/ms-local-vft-alias-comdat.cpp
    M clang/test/CodeGenCXX/ms-thunks-unprototyped.cpp
    M clang/test/CodeGenCXX/no-elide-constructors.cpp
    M clang/test/CodeGenCXX/noescape.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    M clang/test/CodeGenCXX/pr70585.cppm
    M clang/test/CodeGenCXX/ps-dllstorage-vtable-rtti.cpp
    M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
    M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call.cpp
    M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
    M clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
    M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
    M clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
    M clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
    M clang/test/CodeGenCXX/ptrauth-virtual-function.cpp
    M clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
    A clang/test/CodeGenCXX/riscv-mangle-rvv-vectors.cpp
    M clang/test/CodeGenCXX/template-arguments.cpp
    M clang/test/CodeGenCXX/template-instantiation.cpp
    M clang/test/CodeGenCXX/type-metadata.cpp
    M clang/test/CodeGenCXX/type_visibility.cpp
    A clang/test/CodeGenCXX/typeid-most-derived.cpp
    M clang/test/CodeGenCXX/ubsan-coroutines.cpp
    M clang/test/CodeGenCXX/ubsan-new-checks.cpp
    M clang/test/CodeGenCXX/vcall-visibility-metadata.cpp
    M clang/test/CodeGenCXX/virt-template-vtable.cpp
    M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
    M clang/test/CodeGenCXX/visibility.cpp
    M clang/test/CodeGenCXX/vtable-align-address-space.cpp
    M clang/test/CodeGenCXX/vtable-align.cpp
    M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
    M clang/test/CodeGenCXX/vtable-assume-load.cpp
    M clang/test/CodeGenCXX/vtable-available-externally.cpp
    M clang/test/CodeGenCXX/vtable-consteval.cpp
    M clang/test/CodeGenCXX/vtable-constexpr-address-space.cpp
    M clang/test/CodeGenCXX/vtable-constexpr.cpp
    M clang/test/CodeGenCXX/vtable-key-function-address-space.cpp
    M clang/test/CodeGenCXX/vtable-key-function-arm.cpp
    M clang/test/CodeGenCXX/vtable-key-function-ios.cpp
    M clang/test/CodeGenCXX/vtable-key-function-win-comdat.cpp
    M clang/test/CodeGenCXX/vtable-key-function.cpp
    M clang/test/CodeGenCXX/vtable-linkage-address-space.cpp
    M clang/test/CodeGenCXX/vtable-linkage.cpp
    M clang/test/CodeGenCXX/vtt-layout-address-space.cpp
    M clang/test/CodeGenCXX/vtt-layout.cpp
    M clang/test/CodeGenCXX/windows-itanium-type-info.cpp
    M clang/test/CodeGenCoroutines/coro-await-resume-eh.cpp
    M clang/test/CodeGenCoroutines/coro-dest-slot.cpp
    M clang/test/CodeGenCoroutines/coro-gro.cpp
    A clang/test/CodeGenCoroutines/coro-gro4.cpp
    A clang/test/CodeGenCoroutines/coro-param-fake-use.cpp
    M clang/test/CodeGenCoroutines/coro-params.cpp
    M clang/test/CodeGenCoroutines/coro-promise-dtor.cpp
    M clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
    M clang/test/CodeGenCoroutines/coro-symmetric-transfer-03.cpp
    M clang/test/CodeGenCoroutines/coro-symmetric-transfer-04.cpp
    M clang/test/CodeGenCoroutines/pr59181.cpp
    M clang/test/CodeGenCoroutines/pr65018.cpp
    M clang/test/CodeGenDirectX/Builtins/dot2add.c
    M clang/test/CodeGenHIP/amdgpu-flat-atomic-fadd.hip
    M clang/test/CodeGenHIP/amdgpu-global-atomic-fadd.hip
    A clang/test/CodeGenHIP/offload-pgo-sections.hip
    A clang/test/CodeGenHIP/profile-coverage-mapping.hip
    A clang/test/CodeGenHIP/sret-lifetime-markers.cpp
    M clang/test/CodeGenHIP/sret-nontrivial-copyable.hip
    M clang/test/CodeGenHIP/store-addr-space.hip
    M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
    A clang/test/CodeGenHLSL/ArrayAssignable.logicalptr.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/ArrayReturn.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixConstructor.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptGetter.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptSetter.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixToAndFromVectorConstructors.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/frem_modulo.hlsl
    M clang/test/CodeGenHLSL/Bool.hlsl
    M clang/test/CodeGenHLSL/BoolMatrix.hlsl
    M clang/test/CodeGenHLSL/BoolVector.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
    M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
    R clang/test/CodeGenHLSL/GlobalDestructors.hlsl
    M clang/test/CodeGenHLSL/Operators/logical-not.hlsl
    M clang/test/CodeGenHLSL/RootSignature.hlsl
    M clang/test/CodeGenHLSL/builtins/AddUint64.hlsl
    A clang/test/CodeGenHLSL/builtins/AllMemoryBarrier.hlsl
    A clang/test/CodeGenHLSL/builtins/AllMemoryBarrierWithGroupSync.hlsl
    M clang/test/CodeGenHLSL/builtins/BoolSwizzles.hlsl
    A clang/test/CodeGenHLSL/builtins/ConstantBuffer-layout.hlsl
    A clang/test/CodeGenHLSL/builtins/ConstantBuffer.hlsl
    M clang/test/CodeGenHLSL/builtins/D3DCOLORtoUBYTE4.hlsl
    A clang/test/CodeGenHLSL/builtins/DeviceMemoryBarrier.hlsl
    A clang/test/CodeGenHLSL/builtins/DeviceMemoryBarrierWithGroupSync.hlsl
    M clang/test/CodeGenHLSL/builtins/GroupMemoryBarrier.hlsl
    M clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl
    M clang/test/CodeGenHLSL/builtins/QuadReadAcrossX.hlsl
    M clang/test/CodeGenHLSL/builtins/QuadReadAcrossY.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/VectorElementStore.hlsl
    M clang/test/CodeGenHLSL/builtins/VectorSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveActiveAllEqual.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveActiveAllTrue.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveActiveAnyTrue.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveActiveBallot.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveActiveBitAnd.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveActiveBitOr.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveActiveBitXor.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveActiveMax.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveActiveMin.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveActiveProduct.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveActiveSum.hlsl
    M clang/test/CodeGenHLSL/builtins/WavePrefixCountBits.hlsl
    M clang/test/CodeGenHLSL/builtins/WavePrefixProduct.hlsl
    M clang/test/CodeGenHLSL/builtins/WavePrefixSum.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
    M clang/test/CodeGenHLSL/builtins/abs.hlsl
    A clang/test/CodeGenHLSL/builtins/asfloat_mat.hlsl
    A clang/test/CodeGenHLSL/builtins/asint_mat.hlsl
    A clang/test/CodeGenHLSL/builtins/asuint_mat.hlsl
    A clang/test/CodeGenHLSL/builtins/atan2-overloads_mat.hlsl
    A clang/test/CodeGenHLSL/builtins/atan2_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    M clang/test/CodeGenHLSL/builtins/dot2add.hlsl
    M clang/test/CodeGenHLSL/builtins/dst.hlsl
    M clang/test/CodeGenHLSL/builtins/f16tof32-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/f16tof32.hlsl
    M clang/test/CodeGenHLSL/builtins/f32tof16-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/f32tof16.hlsl
    M clang/test/CodeGenHLSL/builtins/faceforward.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/CodeGenHLSL/builtins/fma.hlsl
    M clang/test/CodeGenHLSL/builtins/lit.hlsl
    M clang/test/CodeGenHLSL/builtins/mad.hlsl
    M clang/test/CodeGenHLSL/builtins/rcp-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/rcp.hlsl
    M clang/test/CodeGenHLSL/builtins/reflect.hlsl
    M clang/test/CodeGenHLSL/builtins/refract.hlsl
    M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
    M clang/test/CodeGenHLSL/builtins/wave_get_lane_count.hlsl
    M clang/test/CodeGenHLSL/builtins/wave_is_first_lane.hlsl
    A clang/test/CodeGenHLSL/cbuffer_copy_layout.hlsl
    M clang/test/CodeGenHLSL/convergence/cf.for.plain.hlsl
    M clang/test/CodeGenHLSL/convergence/do.while.hlsl
    M clang/test/CodeGenHLSL/convergence/entry.point.hlsl
    M clang/test/CodeGenHLSL/convergence/for.hlsl
    M clang/test/CodeGenHLSL/convergence/global_array.hlsl
    M clang/test/CodeGenHLSL/convergence/while.hlsl
    R clang/test/CodeGenHLSL/inline-constructors.hlsl
    M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl
    M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-store.hlsl
    M clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-load.hlsl
    M clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-store.hlsl
    M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl
    M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-store.hlsl
    M clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-load.hlsl
    M clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-store.hlsl
    M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
    M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-methods.hlsl
    M clang/test/CodeGenHLSL/resources/CBufferMatrixSingleSubscriptSwizzle.hlsl
    M clang/test/CodeGenHLSL/resources/MatrixElement_cbuffer.hlsl
    M clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-lib.hlsl
    M clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-ps.hlsl
    M clang/test/CodeGenHLSL/resources/Texture2D-Mips.hlsl
    M clang/test/CodeGenHLSL/resources/TypedBuffers-constructor.hlsl
    M clang/test/CodeGenHLSL/resources/TypedBuffers-methods.hlsl
    M clang/test/CodeGenHLSL/resources/cbuffer.hlsl
    A clang/test/CodeGenHLSL/resources/cbuffer_struct_passing.hlsl
    A clang/test/CodeGenHLSL/resources/cbuffer_struct_passing.logical.hlsl
    M clang/test/CodeGenHLSL/resources/cbuffer_with_packoffset.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-global-subarray-many.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-global-subarray-one.hlsl
    A clang/test/CodeGenHLSL/resources/res-array-global-to-local.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-global-unbounded.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-local-multi-dim.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-local1.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-local2.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-local3.hlsl
    M clang/test/CodeGenHLSL/resources/resource-bindings.hlsl
    A clang/test/CodeGenHLSL/resources/resources-in-structs-array-to-local.hlsl
    A clang/test/CodeGenHLSL/resources/resources-in-structs-array.hlsl
    A clang/test/CodeGenHLSL/resources/resources-in-structs-inheritance.hlsl
    A clang/test/CodeGenHLSL/resources/resources-in-structs.hlsl
    M clang/test/CodeGenHLSL/static-local-ctor.hlsl
    M clang/test/CodeGenHLSL/strict-bool.hlsl
    M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
    M clang/test/CodeGenHLSL/this-assignment.hlsl
    M clang/test/CodeGenHLSL/this-reference.hlsl
    M clang/test/CodeGenHLSL/vk-features/vk.spec-constant.hlsl
    M clang/test/CodeGenObjC/encode-test-6.m
    M clang/test/CodeGenObjC/exceptions.m
    M clang/test/CodeGenObjC/noescape.m
    M clang/test/CodeGenObjC/objc-literal-tests.m
    M clang/test/CodeGenObjC/objc2-constant-number-literal.m
    M clang/test/CodeGenObjC/property-atomic-bool.m
    M clang/test/CodeGenObjC/strict-bool.m
    M clang/test/CodeGenObjC/strong-in-c-struct.m
    M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    M clang/test/CodeGenOpenCL/amdgcn-automatic-variable.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/CodeGenOpenCL/amdgpu-alignment.cl
    M clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
    M clang/test/CodeGenOpenCL/atomic-ops.cl
    M clang/test/CodeGenOpenCL/bool_cast.cl
    M clang/test/CodeGenOpenCL/builtins-alloca.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-5-generic-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-lds.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-load-to-lds.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-smfmac-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
    M clang/test/CodeGenOpenCL/check-atomic-alignment.cl
    M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
    M clang/test/CodeGenOpenCL/convergent.cl
    M clang/test/CodeGenOpenCL/half.cl
    M clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
    M clang/test/CodeGenSYCL/address-space-mangling.cpp
    M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
    A clang/test/CodeGenSYCL/sycl-module-id.cpp
    M clang/test/CoverageMapping/break.c
    A clang/test/CoverageMapping/consteval.cpp
    A clang/test/CoverageMapping/system_macro_switch.cpp
    A clang/test/DebugInfo/CXX/GH193932.cpp
    M clang/test/DebugInfo/CXX/structured-binding.cpp
    M clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
    M clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
    M clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
    M clang/test/DebugInfo/CXX/vtable-inheritance-simple.cpp
    M clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
    M clang/test/DebugInfo/CXX/vtable-template-instantiation.cpp
    M clang/test/DebugInfo/Generic/codeview-buildinfo.c
    M clang/test/DebugInfo/Generic/debug-prefix-map.c
    M clang/test/DebugInfo/Generic/sysroot-sdk.c
    M clang/test/DebugInfo/KeyInstructions/atomic.c
    A clang/test/Driver/Inputs/empty_tree/.keep
    A clang/test/Driver/Inputs/hexagon_tree/Tools/target/picolibc/hexagon-unknown-h2-elf/include/c++/v1/.keep
    A clang/test/Driver/Inputs/multilib_linux_tree/usr/bin/.keep
    A clang/test/Driver/Inputs/multilib_linux_tree/usr/include/x86_64-unknown-linux-gnu/.keep
    A clang/test/Driver/Inputs/multilib_linux_tree/usr/include/x86_64-unknown-linux-gnu/debug/.keep
    A clang/test/Driver/Inputs/multilib_linux_tree/usr/include/x86_64-unknown-linux-gnu/noexcept/.keep
    A clang/test/Driver/Inputs/multilib_linux_tree/usr/include/x86_64-unknown-linux-gnu/release/.keep
    A clang/test/Driver/Inputs/multilib_mingw_tree/bin/.keep
    A clang/test/Driver/Inputs/multilib_mingw_tree/include/x86_64-w64-windows-gnu/.keep
    A clang/test/Driver/Inputs/multilib_mingw_tree/include/x86_64-w64-windows-gnu/debug/.keep
    A clang/test/Driver/Inputs/multilib_mingw_tree/include/x86_64-w64-windows-gnu/noexcept/.keep
    A clang/test/Driver/Inputs/multilib_mingw_tree/include/x86_64-w64-windows-gnu/release/.keep
    A clang/test/Driver/Inputs/serenity_tree/usr/lib/crtbeginS.o
    A clang/test/Driver/Inputs/serenity_tree/usr/lib/crtendS.o
    M clang/test/Driver/Xarch.c
    M clang/test/Driver/aarch64-march.c
    M clang/test/Driver/aarch64-v97a.c
    M clang/test/Driver/aix-object-mode.c
    M clang/test/Driver/amdgpu-invalid-target-id.s
    M clang/test/Driver/amdgpu-openmp-sanitize-options.c
    A clang/test/Driver/amdgpu-unwind.cl
    A clang/test/Driver/amdgpu-validate-sanitize.cl
    M clang/test/Driver/baremetal.cpp
    M clang/test/Driver/basic-block-address-map.c
    M clang/test/Driver/bindings.c
    M clang/test/Driver/cl-options.c
    R clang/test/Driver/clang-offload-bundler-asserts-on.c
    A clang/test/Driver/clang-offload-bundler-multi-compress.c
    R clang/test/Driver/clang-offload-bundler-standardize.c
    R clang/test/Driver/clang-offload-bundler-zlib.c
    R clang/test/Driver/clang-offload-bundler-zstd.c
    R clang/test/Driver/clang-offload-bundler.c
    R clang/test/Driver/clang-sycl-linker-test.cpp
    M clang/test/Driver/crash-ir-repro.cpp
    A clang/test/Driver/crash-report-multi-arch.c
    M clang/test/Driver/cspgo-lto.c
    M clang/test/Driver/cuda-bad-arch.cu
    M clang/test/Driver/cuda-device-triple.cu
    M clang/test/Driver/darwin-dsymutil.c
    M clang/test/Driver/darwin-embedded.c
    A clang/test/Driver/darwin-ld-samplepgo.c
    M clang/test/Driver/darwin-verify-debug.c
    A clang/test/Driver/dxc_section_emission.hlsl
    R clang/test/Driver/fat-archive-unbundle-ext.c
    M clang/test/Driver/fprofile-update.c
    M clang/test/Driver/frame-pointer-elim.c
    M clang/test/Driver/freebsd.c
    M clang/test/Driver/fuchsia.c
    M clang/test/Driver/hexagon-toolchain-elf.c
    M clang/test/Driver/hexagon-toolchain-picolibc.c
    M clang/test/Driver/hip-launch-api.hip
    M clang/test/Driver/hip-options.hip
    M clang/test/Driver/hip-sanitize-options.hip
    A clang/test/Driver/hip-spirv-linker-crash.c
    M clang/test/Driver/hip-std.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip
    R clang/test/Driver/linker-wrapper-canonical-prefixes.c
    R clang/test/Driver/linker-wrapper-hip-amdgcnspirv.c
    R clang/test/Driver/linker-wrapper-hip-no-rdc.c
    R clang/test/Driver/linker-wrapper-image.c
    R clang/test/Driver/linker-wrapper-llvm-help.c
    R clang/test/Driver/linker-wrapper.c
    M clang/test/Driver/linux-multilib.yaml
    M clang/test/Driver/mingw-multilib.yaml
    A clang/test/Driver/modules-driver-both-modules-types.cpp
    A clang/test/Driver/modules-driver-cxx-modules-only.cpp
    M clang/test/Driver/modules-driver-dep-graph-stdlib-modules.cpp
    M clang/test/Driver/modules-driver-dep-graph.cpp
    M clang/test/Driver/modules-driver-duplicate-named-module.cpp
    A clang/test/Driver/modules-driver-filetype-mismatch.cpp
    A clang/test/Driver/modules-driver-import-std.cpp
    A clang/test/Driver/modules-driver-incompatible-options.cpp
    M clang/test/Driver/msvc-link.c
    R clang/test/Driver/nvlink-wrapper.c
    A clang/test/Driver/objc-constant-literals.m
    M clang/test/Driver/ohos.c
    M clang/test/Driver/openmp-offload.c
    A clang/test/Driver/ppc-use-ptr-glue.c
    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/print-supported-extensions-aarch64.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/ps4-ps5-linker-win.c
    M clang/test/Driver/riscv-cpus.c
    M clang/test/Driver/serenity.cpp
    M clang/test/Driver/spirv-amd-toolchain.c
    M clang/test/Driver/spirv-toolchain.cl
    M clang/test/Driver/split-debug.c
    M clang/test/Driver/stack-protector-guard.c
    M clang/test/Driver/sycl-link-spirv-target.cpp
    M clang/test/Driver/sycl-offload-jit-xarch.cpp
    A clang/test/Driver/sycl-std-default.cpp
    A clang/test/Driver/sycl-windows.cpp
    A clang/test/ExtractAPI/availability-anyappleos.c
    A clang/test/ExtractAPI/macro_doc_comments.c
    A clang/test/FixIt/fixit-recompile-warning-options.cpp
    M clang/test/Format/clang-format-ignore.cpp
    M clang/test/Format/list-ignored.cpp
    M clang/test/Frontend/absolute-paths-windows.test
    A clang/test/Frontend/check-sycl-device-target.cpp
    M clang/test/Frontend/darwin-eabi.c
    M clang/test/Frontend/dependency-gen-windows-duplicates.c
    M clang/test/Frontend/fixed_point_add.c
    M clang/test/Frontend/fixed_point_comparisons.c
    M clang/test/Frontend/fixed_point_compound.c
    M clang/test/Frontend/fixed_point_conversions.c
    M clang/test/Frontend/fixed_point_conversions_const.c
    M clang/test/Frontend/fixed_point_conversions_half.c
    M clang/test/Frontend/fixed_point_div.c
    M clang/test/Frontend/fixed_point_mul.c
    M clang/test/Frontend/fixed_point_sub.c
    M clang/test/Frontend/rewrite-includes-bom.c
    M clang/test/Frontend/spirv-target-validation.c
    M clang/test/Frontend/standalone-nvptx-macros.c
    M clang/test/Headers/__clang_hip_libdevice_declares.cpp
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/Headers/amdgcn-openmp-device-math-complex.c
    M clang/test/Headers/cuda_wrapper_algorithm.cu
    M clang/test/Headers/gpuintrin.c
    M clang/test/Headers/hip-header.hip
    M clang/test/Headers/ms-intrin.cpp
    M clang/test/Headers/openmp-device-functions-bool.c
    M clang/test/Import/destructor/test.cpp
    A clang/test/Index/annotate-comments-macros.c
    M clang/test/Index/annotate-comments.cpp
    M clang/test/Index/pipe-size.cl
    A clang/test/Interpreter/virtualdef-outside.cpp
    M clang/test/Lexer/11-27-2007-FloatLiterals.c
    A clang/test/Lexer/Inputs/__counter__-system-header.h
    A clang/test/Lexer/__counter__-system-include.c
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/Lexer/unicode.c
    M clang/test/Misc/languageOptsOpenCL.cl
    M clang/test/Misc/target-invalid-cpu-note/nvptx.c
    M clang/test/Misc/target-invalid-cpu-note/riscv.c
    M clang/test/Modules/build-session-validation-relocated-modules.c
    R clang/test/Modules/callable-require-clause-merge.cppm
    M clang/test/Modules/coro-await-elidable.cppm
    M clang/test/Modules/cxx-templates.cpp
    A clang/test/Modules/cxx20-fatal-module-loader-error.cpp
    M clang/test/Modules/debug-info-moduleimport.m
    M clang/test/Modules/decl-attr-merge.mm
    A clang/test/Modules/declare-use-private-textual.cpp
    A clang/test/Modules/embed-directive.cppm
    A clang/test/Modules/explicit-instantiation-in-module.cppm
    A clang/test/Modules/explicit-instantiation-merge.cppm
    M clang/test/Modules/merge-target-features.cpp
    R clang/test/Modules/polluted-operator.cppm
    M clang/test/Modules/safe_buffers_optout.cpp
    A clang/test/Modules/template-default-args-2.cpp
    A clang/test/Modules/template-default-args-3.cpp
    M clang/test/Modules/vtable-windows.cppm
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-canonical-prefixes.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-amdgcnspirv.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-llvm-help.c
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper.c
    A clang/test/OffloadTools/clang-linker-wrapper/lit.local.cfg
    A clang/test/OffloadTools/clang-linker-wrapper/openmp-spirv.cpp
    A clang/test/OffloadTools/clang-nvlink-wrapper/nvlink-wrapper.c
    A clang/test/OffloadTools/clang-offload-bundler/asserts-on.c
    A clang/test/OffloadTools/clang-offload-bundler/basic.c
    A clang/test/OffloadTools/clang-offload-bundler/fat-archive-unbundle-ext.c
    A clang/test/OffloadTools/clang-offload-bundler/standardize.c
    A clang/test/OffloadTools/clang-offload-bundler/zlib.c
    A clang/test/OffloadTools/clang-offload-bundler/zstd.c
    A clang/test/OffloadTools/clang-sycl-linker/basic.ll
    A clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
    A clang/test/OffloadTools/clang-sycl-linker/triple.ll
    M clang/test/OpenMP/amdgcn_sret_ctor.cpp
    M clang/test/OpenMP/atomic_capture_codegen.cpp
    M clang/test/OpenMP/atomic_update_codegen.cpp
    M clang/test/OpenMP/declare_reduction_codegen.c
    M clang/test/OpenMP/declare_target_ast_print.cpp
    M clang/test/OpenMP/declare_target_constexpr_codegen.cpp
    A clang/test/OpenMP/declare_target_local_codegen.cpp
    A clang/test/OpenMP/declare_target_local_usm_codegen.cpp
    M clang/test/OpenMP/declare_target_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/for_codegen.cpp
    M clang/test/OpenMP/for_reduction_codegen.cpp
    M clang/test/OpenMP/loop_collapse_codegen.cpp
    M clang/test/OpenMP/master_taskloop_simd_codegen.cpp
    M clang/test/OpenMP/nvptx_SPMD_codegen.cpp
    M clang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_generic_mode_codegen.cpp
    M clang/test/OpenMP/parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/parallel_master_taskloop_codegen.cpp
    M clang/test/OpenMP/parallel_master_taskloop_simd_codegen.cpp
    M clang/test/OpenMP/parallel_reduction_codegen.cpp
    M clang/test/OpenMP/sections_reduction_codegen.cpp
    A clang/test/OpenMP/spirv_target_teams_reduction_addrspace.c
    M clang/test/OpenMP/target_data_device_messages.cpp
    M clang/test/OpenMP/target_data_if_logical_codegen.cpp
    M clang/test/OpenMP/target_device_messages.cpp
    A clang/test/OpenMP/target_device_omp_initial_invalid.c
    M clang/test/OpenMP/target_enter_data_depend_codegen.cpp
    M clang/test/OpenMP/target_enter_data_device_messages.cpp
    M clang/test/OpenMP/target_exit_data_depend_codegen.cpp
    M clang/test/OpenMP/target_exit_data_device_messages.cpp
    M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
    M clang/test/OpenMP/target_parallel_debug_codegen.cpp
    M clang/test/OpenMP/target_parallel_device_messages.cpp
    M clang/test/OpenMP/target_parallel_for_debug_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_device_messages.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_device_messages.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-3.cpp
    M clang/test/OpenMP/target_parallel_if_codegen.cpp
    M clang/test/OpenMP/target_simd_codegen.cpp
    M clang/test/OpenMP/target_simd_device_messages.cpp
    M clang/test/OpenMP/target_teams_device_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_device_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_device_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_device_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_device_messages.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_update_depend_codegen.cpp
    M clang/test/OpenMP/target_update_device_messages.cpp
    M clang/test/OpenMP/target_vtable_codegen_explicit.cpp
    M clang/test/OpenMP/taskloop_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/thread_limit_gpu.c
    M clang/test/OpenMP/thread_limit_nvptx.c
    A clang/test/OpenMP/unimplemented_clause_messages.cpp
    M clang/test/PCH/coroutines.cpp
    A clang/test/PCH/ftime-trace-specialization-lookup.cpp
    M clang/test/PCH/pragma-redefine-extname.c
    M clang/test/PCH/pragma-redefine-extname.h
    M clang/test/PCH/unsafe-buffer-usage-pragma-pch-complex.cpp
    M clang/test/PCH/unsafe-buffer-usage-pragma-pch-cross-files-2.cpp
    M clang/test/PCH/unsafe-buffer-usage-pragma-pch-cross-files.cpp
    A clang/test/Parser/cxx-attributes-missing-closing-in-switch.cpp
    A clang/test/Parser/cxx-attributes-missing-closing.cpp
    A clang/test/Parser/cxx-attributes-missing-second-closing-in-switch.cpp
    A clang/test/Parser/cxx-attributes-missing-with-semi-before-closing.cpp
    M clang/test/Parser/cxx-attributes.cpp
    M clang/test/Parser/cxx-default-args.cpp
    M clang/test/Parser/cxx0x-attributes.cpp
    M clang/test/Parser/cxx20-coroutines.cpp
    A clang/test/Parser/gh186582.cpp
    M clang/test/Parser/macro-braces-recovery.cpp
    M clang/test/Parser/pragma-attribute.cpp
    M clang/test/Parser/pragma-fenv_access.c
    M clang/test/Parser/static_assert.cpp
    M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
    M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
    A clang/test/ParserOpenACC/gh197858.cpp
    M clang/test/Preprocessor/bpf-predefined-macros.c
    M clang/test/Preprocessor/file_test_windows.c
    M clang/test/Preprocessor/hexagon-predefines.c
    A clang/test/Preprocessor/init-fuchsia.c
    A clang/test/Preprocessor/nonportable-trailing-whitespace-win.c
    A clang/test/Preprocessor/nonportable-trailing-whitespace.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/predefined-macros.c
    A clang/test/Preprocessor/riscv-intrinsic-exts.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Preprocessor/wasm-target-features.c
    A clang/test/Refactor/argument-parsing-error-no-abort.cpp
    A clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2p3_OR_sme2p3_RP___sme_AND_LP_sve2p3_OR_sme2p3_RP.c
    A clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_sve-aes2___sme_AND_sve-aes2_AND_ssve-aes.c
    A clang/test/Sema/AArch64/arm_sve_non_streaming_only_sve_AND_sve-b16mm.c
    A clang/test/Sema/AArch64/arm_sve_non_streaming_only_sve_AND_sve2p2_AND_f16mm.c
    M clang/test/Sema/Inputs/lifetime-analysis.h
    M clang/test/Sema/Inputs/stdbit.h
    A clang/test/Sema/PowerPC/builtins-aes-acceleration-error.c
    M clang/test/Sema/PowerPC/ppc-dmf-mma-builtin-err.c
    M clang/test/Sema/aarch64-neon-target.c
    M clang/test/Sema/aarch64-neon-without-target-feature.cpp
    A clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3.cpp
    A clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_imm.cpp
    A clang/test/Sema/aarch64-sve2p3-intrinsics/acle_sve2p3_qshrn.cpp
    M clang/test/Sema/attr-alias-elf.c
    M clang/test/Sema/attr-capabilities.c
    A clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs-anon.c
    M clang/test/Sema/attr-ownership.c
    M clang/test/Sema/block-misc.c
    A clang/test/Sema/break-continue-cond.c
    A clang/test/Sema/builtin-clear-padding.c
    M clang/test/Sema/builtin-stdc-rotate.c
    M clang/test/Sema/builtins-arm64-mte.c
    M clang/test/Sema/builtins-elementwise-math.c
    M clang/test/Sema/builtins-ppc-crypto.c
    M clang/test/Sema/constexpr.c
    A clang/test/Sema/gh183974.c
    A clang/test/Sema/hlsl_matrix_layout_non_hlsl.cpp
    A clang/test/Sema/inline-asm-constraint-embedded-null.c
    M clang/test/Sema/loop-control.c
    M clang/test/Sema/ms-annotation.c
    M clang/test/Sema/redefine_extname.cpp
    M clang/test/Sema/riscv-types.c
    M clang/test/Sema/statements.c
    M clang/test/Sema/static-init.c
    A clang/test/Sema/unqualified-lookup-local-class.cpp
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/Sema/warn-lifetime-safety-cfg-bailout.cpp
    M clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
    M clang/test/Sema/warn-lifetime-safety-dangling-global.cpp
    M clang/test/Sema/warn-lifetime-safety-fixits.cpp
    M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
    A clang/test/Sema/warn-lifetime-safety-lifetimebound.cpp
    A clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-cross-tu.cpp
    A clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-intra-tu.cpp
    A clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-macro.cpp
    M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
    M clang/test/Sema/warn-lifetime-safety.cpp
    M clang/test/Sema/warn-thread-safety-analysis.c
    M clang/test/SemaCUDA/call-device-fn-from-host.cu
    M clang/test/SemaCUDA/call-host-fn-from-device.cu
    M clang/test/SemaCUDA/device-kernel-call.cu
    M clang/test/SemaCUDA/dtor.cu
    A clang/test/SemaCUDA/implicit-hd-dtor-explicit-instantiation.cu
    A clang/test/SemaCUDA/implicit-hd-explicit-inst-organic-caller.cu
    A clang/test/SemaCUDA/implicit-hd-overload-ambig-organic-caller.cu
    A clang/test/SemaCXX/GH190333.cpp
    A clang/test/SemaCXX/GH195416.cpp
    A clang/test/SemaCXX/GH37979.cpp
    M clang/test/SemaCXX/addr-label-in-coroutines.cpp
    A clang/test/SemaCXX/attr-alias.cpp
    M clang/test/SemaCXX/attr-lifetime-capture-by.cpp
    A clang/test/SemaCXX/attr-modular-format.cpp
    M clang/test/SemaCXX/blocks.cpp
    M clang/test/SemaCXX/builtin-align-cxx.cpp
    A clang/test/SemaCXX/builtin-clear-padding.cpp
    M clang/test/SemaCXX/builtins-overflow.cpp
    M clang/test/SemaCXX/calling-conv-compat.cpp
    M clang/test/SemaCXX/co_await-ast.cpp
    M clang/test/SemaCXX/compound-literal.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    M clang/test/SemaCXX/constant-expression-p2280r4.cpp
    M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
    M clang/test/SemaCXX/constexpr-function-recovery-crash.cpp
    M clang/test/SemaCXX/coroutine-alloc-2.cpp
    M clang/test/SemaCXX/coroutine-alloc-3.cpp
    M clang/test/SemaCXX/coroutine-alloc-4.cpp
    M clang/test/SemaCXX/coroutine-allocs.cpp
    M clang/test/SemaCXX/coroutine-builtins.cpp
    M clang/test/SemaCXX/coroutine-dealloc.cpp
    M clang/test/SemaCXX/coroutine-final-suspend-noexcept.cpp
    M clang/test/SemaCXX/coroutine-no-valid-dealloc.cpp
    M clang/test/SemaCXX/coroutine-noreturn.cpp
    M clang/test/SemaCXX/coroutine-promise-ctor.cpp
    M clang/test/SemaCXX/coroutine-rvo.cpp
    M clang/test/SemaCXX/coroutine-traits-undefined-template.cpp
    M clang/test/SemaCXX/coroutine-unevaluate.cpp
    M clang/test/SemaCXX/coroutine-vla.cpp
    A clang/test/SemaCXX/coroutine-win32x86.cpp
    M clang/test/SemaCXX/coroutine_handle-address-return-type.cpp
    M clang/test/SemaCXX/coroutines.cpp
    M clang/test/SemaCXX/ctad.cpp
    M clang/test/SemaCXX/cxx17-compat.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx20-delayed-typo-correction-crashes.cpp
    M clang/test/SemaCXX/cxx2a-consteval.cpp
    M clang/test/SemaCXX/cxx2a-template-lambdas.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this-coro.cpp
    M clang/test/SemaCXX/cxx2c-constexpr-placement-new.cpp
    M clang/test/SemaCXX/cxx2c-decomposition.cpp
    M clang/test/SemaCXX/ext-int.cpp
    M clang/test/SemaCXX/friend.cpp
    A clang/test/SemaCXX/gh192026.cpp
    M clang/test/SemaCXX/lambda-expressions.cpp
    M clang/test/SemaCXX/lambda-unevaluated.cpp
    M clang/test/SemaCXX/member-pointer.cpp
    M clang/test/SemaCXX/scope-check.cpp
    M clang/test/SemaCXX/thread-safety-coro.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/test/SemaCXX/typo-correction.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
    M clang/test/SemaCXX/warn-thread-safety-parsing.cpp
    M clang/test/SemaCXX/warn-throw-out-noexcept-coro.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-pragma-issue-79379.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-pragma-pch.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-template-instantiation-notes.cpp
    M clang/test/SemaCXX/warn-unused-parameters-coroutine.cpp
    M clang/test/SemaCXX/warn-weak-vtables.cpp
    M clang/test/SemaHIP/incorrect-atomic-scope.hip
    A clang/test/SemaHLSL/BuiltIns/AllMemoryBarrier-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/AllMemoryBarrierWithGroupSync-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/Buffers-Load-const.hlsl
    A clang/test/SemaHLSL/BuiltIns/ConstantBuffer-member-funcs.hlsl
    A clang/test/SemaHLSL/BuiltIns/DeviceMemoryBarrier-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/DeviceMemoryBarrierWithGroupSync-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/asfloat-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/asfloat_mat-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/asint-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/asint_mat-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/asuint_mat-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/atan2-errors_mat.hlsl
    M clang/test/SemaHLSL/BuiltIns/binary-compat-overload-warnings.hlsl
    M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/f16tof32-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/f32tof16-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/fma-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/resource_getpointer-errors.hlsl
    A clang/test/SemaHLSL/Constructors.hlsl
    M clang/test/SemaHLSL/GlobalConstructors.hlsl
    M clang/test/SemaHLSL/Language/InitListAST.hlsl
    A clang/test/SemaHLSL/Language/Volatile.hlsl
    A clang/test/SemaHLSL/Resources/ConstantBuffers.hlsl
    M clang/test/SemaHLSL/Resources/static_resources.hlsl
    A clang/test/SemaHLSL/matrix_layout_attr.hlsl
    A clang/test/SemaObjC/attr-alias.m
    M clang/test/SemaObjC/attr-cleanup.m
    A clang/test/SemaObjC/block-on-ivar.m
    M clang/test/SemaObjC/block-on-method-param.m
    A clang/test/SemaOpenACC/compute-construct-reduction-vla.c
    A clang/test/SemaOpenACC/compute-construct-reduction-vla.cpp
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-cooperative-atomics.cl
    M clang/test/SemaOpenCL/fdeclare-opencl-builtins.cl
    A clang/test/SemaOpenCL/intel-bfloat16-conversions-builtins.cl
    A clang/test/SemaOpenCL/intel-split-work-group-barrier-builtins.cl
    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
    A clang/test/SemaOpenCL/longlong.cl
    M clang/test/SemaOpenCL/multistep-explicit-cast.cl
    A clang/test/SemaOpenCL/zero-length-array.cl
    M clang/test/SemaSPIRV/BuiltIns/subgroup-errors.c
    A clang/test/SemaSYCL/aux-triple.cpp
    M clang/test/SemaSYCL/float128.cpp
    A clang/test/SemaSYCL/sycl-cconv.cpp
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-device-odr-use.cpp
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name.cpp
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-sfinae.cpp
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-this.cpp
    M clang/test/SemaSYCL/sycl-kernel-launch-ms-compat.cpp
    M clang/test/SemaSYCL/sycl-kernel-launch.cpp
    M clang/test/SemaSYCL/unique-stable-name-multiple-target-crash.cpp
    M clang/test/SemaSYCL/unique_stable_name.cpp
    A clang/test/SemaSYCL/variadic-func-call.cpp
    R clang/test/SemaTemplate/GH176152.cpp
    M clang/test/SemaTemplate/alias-templates.cpp
    M clang/test/SemaTemplate/class-template-spec.cpp
    M clang/test/SemaTemplate/concepts-lambda.cpp
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
    M clang/test/SemaTemplate/concepts-using-decl.cpp
    M clang/test/SemaTemplate/concepts.cpp
    M clang/test/SemaTemplate/constexpr-instantiate.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    A clang/test/SemaTemplate/explicit-instantiation-diag-location.cpp
    M clang/test/SemaTemplate/friend.cpp
    M clang/test/SemaTemplate/generic-lambda.cpp
    A clang/test/SemaTemplate/gh176152.cpp
    M clang/test/SemaTemplate/instantiate-requires-expr.cpp
    M clang/test/SemaTemplate/instantiation-dependence.cpp
    M clang/test/SemaTemplate/overload-candidates.cpp
    M clang/test/SemaTemplate/partial-spec-instantiate.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx11.cpp
    A clang/test/Tooling/argument-parsing-error-no-abort.cpp
    M clang/test/Tooling/clang-extdef-mapping.cpp
    M clang/test/Tooling/lit.local.cfg
    M clang/test/lit.cfg.py
    M clang/tools/CMakeLists.txt
    M clang/tools/cir-opt/cir-opt.cpp
    M clang/tools/clang-check/ClangCheck.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-refactor/ClangRefactor.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/clang-scan-deps/Opts.td
    A clang/tools/clang-ssaf-analyzer/CMakeLists.txt
    A clang/tools/clang-ssaf-analyzer/SSAFAnalyzer.cpp
    M clang/tools/clang-sycl-linker/CMakeLists.txt
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
    M clang/tools/driver/cc1_main.cpp
    M clang/tools/driver/cc1as_main.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CIndexDiagnostic.cpp
    M clang/tools/libclang/CIndexDiagnostic.h
    M clang/tools/offload-arch/AMDGPUArchByHIP.cpp
    M clang/unittests/AST/ASTExprTest.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/AST/EvaluateAsRValueTest.cpp
    M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
    M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
    M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
    M clang/unittests/Analysis/LifetimeSafetyTest.cpp
    M clang/unittests/Basic/FileManagerTest.cpp
    M clang/unittests/CIR/CMakeLists.txt
    A clang/unittests/CIR/ControlFlowTest.cpp
    M clang/unittests/CMakeLists.txt
    M clang/unittests/DependencyScanning/CMakeLists.txt
    A clang/unittests/DependencyScanning/InProcessModuleCacheTest.cpp
    M clang/unittests/Driver/ToolChainTest.cpp
    M clang/unittests/Format/AlignBracketsTest.cpp
    M clang/unittests/Format/AlignmentTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestComments.cpp
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Frontend/ReparseWorkingDirTest.cpp
    M clang/unittests/Lex/CMakeLists.txt
    M clang/unittests/Lex/LexerTest.cpp
    A clang/unittests/Lex/ModuleMapTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/ASTEntityMappingTest.cpp
    A clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
    A clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowWPATest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    A clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/CMakeLists.txt
    A clang/unittests/ScalableStaticAnalysisFramework/FindDecl.h
    M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
    A clang/unittests/ScalableStaticAnalysisFramework/LUSummaryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/FancyAnalysisData.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.h
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor1.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor2.cpp
    R clang/unittests/ScalableStaticAnalysisFramework/SSAFBuiltinTestForceLinker.h
    R clang/unittests/ScalableStaticAnalysisFramework/SSAFTestForceLinker.h
    M clang/unittests/ScalableStaticAnalysisFramework/Serialization/JSONFormatTest/JSONFormatTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/TestFixture.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
    A clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp
    M clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
    M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
    M clang/unittests/StaticAnalyzer/CallEventTest.cpp
    M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
    M clang/unittests/StaticAnalyzer/ParamRegionTest.cpp
    M clang/unittests/StaticAnalyzer/StoreTest.cpp
    M clang/unittests/StaticAnalyzer/SymbolReaperTest.cpp
    M clang/unittests/StaticAnalyzer/UnsignedStatDemo.cpp
    M clang/unittests/Support/TimeProfilerTest.cpp
    M clang/unittests/Tooling/CMakeLists.txt
    M clang/unittests/Tooling/DependencyScannerTest.cpp
    A clang/unittests/Tooling/RecursiveASTVisitorTests/OffsetOfExpr.cpp
    M clang/unittests/Tooling/Syntax/BuildTreeTest.cpp
    M clang/unittests/Tooling/Syntax/TokensTest.cpp
    M clang/unittests/libclang/CrashTests/LibclangCrashTest.cpp
    A clang/unittests/offload-arch/CMakeLists.txt
    A clang/unittests/offload-arch/OffloadArchTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/ClangOptionDocEmitter.cpp
    M clang/utils/TableGen/HLSLEmitter.cpp
    M clang/utils/TableGen/NeonEmitter.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp
    M clang/www/analyzer/checker_dev_manual.html
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
    M compiler-rt/cmake/base-config-ix.cmake
    M compiler-rt/cmake/builtin-config-ix.cmake
    A compiler-rt/cmake/caches/SPIRV64.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/docs/BuildingCompilerRT.rst
    M compiler-rt/include/profile/InstrProfData.inc
    M compiler-rt/include/sanitizer/asan_interface.h
    M compiler-rt/include/sanitizer/common_interface_defs.h
    M compiler-rt/include/sanitizer/tysan_interface.h
    M compiler-rt/include/sanitizer/ubsan_interface.h
    M compiler-rt/lib/asan/AIX/asan.link_with_main_exec.txt
    M compiler-rt/lib/asan/asan_allocator.cpp
    M compiler-rt/lib/asan/asan_allocator.h
    M compiler-rt/lib/asan/asan_errors.cpp
    M compiler-rt/lib/asan/asan_errors.h
    M compiler-rt/lib/asan/asan_interceptors_memintrinsics.h
    M compiler-rt/lib/asan/asan_interface.inc
    M compiler-rt/lib/asan/asan_interface_internal.h
    M compiler-rt/lib/asan/asan_linux.cpp
    M compiler-rt/lib/asan/asan_malloc_linux.cpp
    M compiler-rt/lib/asan/asan_mapping.h
    M compiler-rt/lib/asan/asan_poisoning.cpp
    M compiler-rt/lib/asan/asan_poisoning.h
    M compiler-rt/lib/asan/asan_report.cpp
    M compiler-rt/lib/asan/asan_report.h
    M compiler-rt/lib/asan/asan_rtl.cpp
    M compiler-rt/lib/asan/asan_thread.cpp
    M compiler-rt/lib/asan/asan_thread.h
    M compiler-rt/lib/asan/asan_win_static_runtime_thunk.cpp
    M compiler-rt/lib/asan_abi/asan_abi_tbd.txt
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/arm/aeabi_cdcmp.S
    M compiler-rt/lib/builtins/arm/aeabi_cfcmp.S
    A compiler-rt/lib/builtins/arm/cmpdf2.S
    A compiler-rt/lib/builtins/arm/cmpsf2.S
    A compiler-rt/lib/builtins/arm/dcmp.h
    A compiler-rt/lib/builtins/arm/divdf3.S
    A compiler-rt/lib/builtins/arm/extendsfdf2.S
    A compiler-rt/lib/builtins/arm/fcmp.h
    A compiler-rt/lib/builtins/arm/fixdfdi.S
    A compiler-rt/lib/builtins/arm/fixdfsi.S
    A compiler-rt/lib/builtins/arm/fixsfdi.S
    A compiler-rt/lib/builtins/arm/fixsfsi.S
    A compiler-rt/lib/builtins/arm/fixunsdfdi.S
    A compiler-rt/lib/builtins/arm/fixunsdfsi.S
    A compiler-rt/lib/builtins/arm/fixunssfdi.S
    A compiler-rt/lib/builtins/arm/fixunssfsi.S
    A compiler-rt/lib/builtins/arm/gedf2.S
    A compiler-rt/lib/builtins/arm/gesf2.S
    A compiler-rt/lib/builtins/arm/muldf3.S
    A compiler-rt/lib/builtins/arm/thumb1/cmpdf2.S
    A compiler-rt/lib/builtins/arm/thumb1/cmpsf2.S
    A compiler-rt/lib/builtins/arm/thumb1/dcmp.h
    A compiler-rt/lib/builtins/arm/thumb1/fcmp.h
    A compiler-rt/lib/builtins/arm/thumb1/gedf2.S
    A compiler-rt/lib/builtins/arm/thumb1/gesf2.S
    A compiler-rt/lib/builtins/arm/thumb1/unorddf2.S
    A compiler-rt/lib/builtins/arm/thumb1/unordsf2.S
    A compiler-rt/lib/builtins/arm/truncdfsf2.S
    A compiler-rt/lib/builtins/arm/unorddf2.S
    A compiler-rt/lib/builtins/arm/unordsf2.S
    M compiler-rt/lib/builtins/atomic.c
    M compiler-rt/lib/builtins/clear_cache.c
    M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
    M compiler-rt/lib/builtins/cpu_model/cpu_model.h
    M compiler-rt/lib/builtins/fp_compare_impl.inc
    M compiler-rt/lib/builtins/int_lib.h
    M compiler-rt/lib/builtins/int_types.h
    M compiler-rt/lib/dfsan/dfsan_custom.cpp
    M compiler-rt/lib/profile/CMakeLists.txt
    M compiler-rt/lib/profile/InstrProfiling.h
    M compiler-rt/lib/profile/InstrProfilingFile.c
    M compiler-rt/lib/profile/InstrProfilingPlatformGPU.c
    A compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/safestack/safestack.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_dlsym.h
    M compiler-rt/lib/sanitizer_common/sanitizer_asm.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_errno.h
    M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_interface_internal.h
    M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
    A compiler-rt/lib/sanitizer_common/sanitizer_syscall_linux_alpha.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_stackdepot_test.cpp
    M compiler-rt/lib/scudo/standalone/allocator_config_wrapper.h
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/fuzz/CMakeLists.txt
    A compiler-rt/lib/scudo/standalone/fuzz/allocator_fuzzer.cpp
    M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
    M compiler-rt/lib/scudo/standalone/memtag.h
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/string_utils.cpp
    M compiler-rt/lib/scudo/standalone/string_utils.h
    M compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
    M compiler-rt/lib/scudo/standalone/tests/allocator_config_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/common_test.cpp
    A compiler-rt/lib/scudo/standalone/tests/error_info_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/flags_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/map_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/strings_test.cpp
    M compiler-rt/lib/scudo/standalone/wrappers_c.cpp
    M compiler-rt/lib/tsan/rtl/tsan_report.cpp
    M compiler-rt/lib/tysan/tysan.cpp
    M compiler-rt/lib/tysan/tysan.h
    M compiler-rt/lib/tysan/tysan_interceptors.cpp
    M compiler-rt/lib/tysan/tysan_platform.h
    M compiler-rt/lib/ubsan/ubsan_diag.cpp
    M compiler-rt/lib/ubsan/ubsan_flags.h
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp
    M compiler-rt/lib/ubsan/ubsan_interface.inc
    M compiler-rt/lib/ubsan/weak_symbols.txt
    M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
    M compiler-rt/lib/xray/xray_hexagon.cpp
    M compiler-rt/lib/xray/xray_trampoline_hexagon.S
    M compiler-rt/test/CMakeLists.txt
    M compiler-rt/test/asan/TestCases/Darwin/haswell-symbolication.cpp
    M compiler-rt/test/asan/TestCases/Linux/activation-options.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr-violation.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr-vtable.cpp
    M compiler-rt/test/asan/TestCases/Posix/coverage-module-unloaded.cpp
    M compiler-rt/test/asan/TestCases/Posix/high-address-dereference.c
    A compiler-rt/test/asan/TestCases/Posix/multiple_sigaltstack.cpp
    M compiler-rt/test/asan/TestCases/Posix/start-deactivated.cpp
    M compiler-rt/test/asan/TestCases/Windows/report_after_syminitialize.cpp
    M compiler-rt/test/asan/TestCases/asan_and_llvm_coverage_test.cpp
    R compiler-rt/test/asan/TestCases/assume_dereferenceable.cpp
    R compiler-rt/test/asan/TestCases/assume_dereferenceable_fully_poisoned.cpp
    R libcxx/docs/Status/Cxx2cIssues.csvgb

  Log Message:
  -----------
  Merge branch 'main' into users/jpienaar/bcaffinemapadd


Compare: https://github.com/llvm/llvm-project/compare/326b39d8d4ff...eb25f40476e0

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