[all-commits] [llvm/llvm-project] 4661c0: [AMDGPU] Waterfall loop codegen improvement in SII...

Krzysztof Parzyszek via All-commits all-commits at lists.llvm.org
Wed Jun 24 03:48:29 PDT 2026


  Branch: refs/heads/users/kparzysz/m02-locator-frontend
  Home:   https://github.com/llvm/llvm-project
  Commit: 4661c0248ca5621b05808e25605b7adeb6c078a8
      https://github.com/llvm/llvm-project/commit/4661c0248ca5621b05808e25605b7adeb6c078a8
  Author: gretay-amd <Greta.Yorsh at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULaneMaskUtils.h
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/issue92561-restore-undef-scc-verifier-error.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bvh8_intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dual_intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.v3f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.format.v3f16.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-vimage-vsample.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands-non-ptr-intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-descriptor-waterfall-loop-idom-update.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange.ll

  Log Message:
  -----------
  [AMDGPU] Waterfall loop codegen improvement in SIInstrInfo (#192415)

When generating waterfall loops, use the instructions `v_cmpx_eq_*` and
`s_andn2_wrexec_*` as recommended for recent architectures, instead of
`v_cmp_eq_*` and `s_and saveexec`.

This PR only updates waterfall loop code generation in
`SIInstrInfo.cpp`. Other places that generated waterfall loops can be
handled separately.

- Add new lane mask constant for `s_andn2_wrexec`
- Set `isTerminator` for `v_cmpx_eq_{u32,u64}_e32`
- Fix test `mubuf-legalize-operands.mir` to track liveness needed for
verifying phi nodes
- Update .ll and .mir tests to accept the new instruction sequences

Assisted-by: Claude


  Commit: bcae37f4a8e8d163e34080186b789a6cb0ae91d1
      https://github.com/llvm/llvm-project/commit/bcae37f4a8e8d163e34080186b789a6cb0ae91d1
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    A llvm/test/tools/llubi/reset_return_value_slot.ll
    M llvm/tools/llubi/lib/Interpreter.cpp

  Log Message:
  -----------
  [llubi] Reset retval when return type is void (#205107)

In `returnFromCallee`, the return value is moved out from
`CurrentFrame->RetVal`. So `visitReturnInst` is always responsible for
setting a valid value.

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


  Commit: fe5ad843d83aef5846862064551fb8e5fc8e9048
      https://github.com/llvm/llvm-project/commit/fe5ad843d83aef5846862064551fb8e5fc8e9048
  Author: lijinpei-amd <jinpli at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    A llvm/test/Transforms/Attributor/callbr.ll

  Log Message:
  -----------
  [Attributor] Do not delete side-effect-free terminator (#205052)

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


  Commit: 4e6976b70b52f2f84b2b4f28c7badbfb401d302e
      https://github.com/llvm/llvm-project/commit/4e6976b70b52f2f84b2b4f28c7badbfb401d302e
  Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/test/AST/ByteCode/command-line-options.cpp

  Log Message:
  -----------
  Fix test on read-only file systems (#205108)

Fixes 25e4057d49055a645dc6a51ae1f40ac647aaed5b.

Use the -fsyntax-only flag instead of -c. This performs the necessary
parsing and diagnostics verification (the actual intent of this test)
without attempting to emit an object file.


  Commit: 6b59e09d1443b5c3905daa457d241487eb9bfc3f
      https://github.com/llvm/llvm-project/commit/6b59e09d1443b5c3905daa457d241487eb9bfc3f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/hip-binding.hip
    M clang/test/Driver/hip-device-compile.hip
    M clang/test/Driver/hip-phases.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip

  Log Message:
  -----------
  [HIP] Fix `--no-offload-new-driver` behavior after #201457 (#205094)

Summary:
https://github.com/llvm/llvm-project/pull/201457 changed the default for
all targets. Even though the old offload driver is getting removed soon
we shouldn't break it for the LLVM23 release. This simply reverts to the
original behavior, the old driver builds its jobs manually so we can
just turn off this one specific case unless the user forced it.


  Commit: 5b687a501bd26cc46d6b52582aa926acc0d3564e
      https://github.com/llvm/llvm-project/commit/5b687a501bd26cc46d6b52582aa926acc0d3564e
  Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang-tools-extra/clangd/test/did-change-configuration-params.test

  Log Message:
  -----------
  Be more permissive on spaces in command line argument parsing (#205111)

Fixes c888371ff0a3e10f8472676dc992f4347fca58d9.

This change properly accommodates both presence and absence of extra
trailing arguments like -resource-dir.


  Commit: c79333e16d4c567c4ebeccb878ac2fc40fed687d
      https://github.com/llvm/llvm-project/commit/c79333e16d4c567c4ebeccb878ac2fc40fed687d
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-atomic.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/check-omp-variant.cpp

  Log Message:
  -----------
  [flang][OpenMP] Centralize pushing/popping directive context (#204924)

Put calls to PushContextAndClauseSets to the Enter function for
OpenMPConstruct and OpenMPDeclarativeConstruct, and popping the context
to the corresponding Leave functions. This moves most of the context
handling to the top-level AST entries. This will allow more centralized
verification of common clause properties in the future.


  Commit: 6e4e181c83d076bb8e4c208ae28817f3900b23fa
      https://github.com/llvm/llvm-project/commit/6e4e181c83d076bb8e4c208ae28817f3900b23fa
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/cmake/modules/ClangConfig.cmake.in
    A cmake/Modules/GetTripleCMakeSystemName.cmake
    A cmake/Modules/NormalizeTriple.cmake
    M llvm/cmake/modules/LLVMConfig.cmake.in
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
    M llvm/runtimes/CMakeLists.txt
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  runtimes: Pass CMAKE_SYSTEM_NAME based on target triple (#203504)

Compute the cmake system name from the target triple, rather
than passing through the host's. This is primarily to stop
forwarding OSX specific cmake variables.

This fixes build failures when trying to build gpu libc on mac
hosts. Previously it would fail on several issues, starting with
an unused argument -mmacos-version-min error, followed by other
errors caused by passing -isysroot.

Secondarily, restrict the cmake imported targets when cross compiling.
Without this, the amdgpu build prints many cmake warnings about the
target not supporting shared libraries.

Claude did most of the actual work, though it required quite a few
rounds of prodding to get it into the right place. In particular it
took care of handling all of the cmake platform recognized names from
the triple.

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


  Commit: 1ba7c9677649ed5072205c63532c1c2d5da38e13
      https://github.com/llvm/llvm-project/commit/1ba7c9677649ed5072205c63532c1c2d5da38e13
  Author: Koakuma <koachan at protonmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.h
    M llvm/lib/Target/Sparc/SparcInstr64Bit.td
    M llvm/lib/Target/Sparc/SparcInstrInfo.td
    M llvm/test/CodeGen/SPARC/bswap.ll

  Log Message:
  -----------
  [SPARC] Use hardware byteswapper when we have V9 (#191720)

On V9 processors we have endianness-adjusted memory operations, that can
be used to implement BSWAPs.
Use those instructions whenever possible to reduce code size.


  Commit: e07c1e710ccf0be64140bd5774ba8dccce505bfd
      https://github.com/llvm/llvm-project/commit/e07c1e710ccf0be64140bd5774ba8dccce505bfd
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [flang][OpenMP] Move unique clauses to allowedOnceClauses in OMP.td (#204995)

Many unique clauses were listed in "allowedClauses", which turned off
the single-occurrence check in flang. Move these clauses to the right
category to enable this check.
One exception to this is the IF clause: the IF clause is unique for all
non-compound directives, but is repeatable on compound ones with the
restriction that at most one IF clause can apply to any of the
constituents. This restriction is currently not enforced correctly in
flang, and so the IF clause was left unchanged.

Although this change is applied to a file shared between flang and
clang, clang does not use these categories for its checks, and hence is
not affected by this patch.


  Commit: 237fbfd7cfbd2a2a4f0b171e493aa85b8506065a
      https://github.com/llvm/llvm-project/commit/237fbfd7cfbd2a2a4f0b171e493aa85b8506065a
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/LiveInterval.h
    M llvm/lib/CodeGen/LiveInterval.cpp
    M llvm/lib/CodeGen/LiveIntervals.cpp
    A llvm/test/CodeGen/AMDGPU/sched-handleMoveUp-dead-def-join.mir

  Log Message:
  -----------
  [CodeGen] Join live range segments after dead def move (#204648)

Moving a dead def upward can retag a following live-range segment to the
same value as the previous segment. That leaves adjacent same-value
segments, which live range verification rejects.

Add a shared LiveRange helper for merging adjacent same-value segments.
Use it in the existing value-number merge code and after retagging later
segments for a moved dead def. Add an AMDGPU scheduler regression test.


  Commit: 448b725bb78bc288c5f6e3ad27856c92902f6537
      https://github.com/llvm/llvm-project/commit/448b725bb78bc288c5f6e3ad27856c92902f6537
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/OffloadArch.h
    M clang/include/clang/Driver/Action.h
    M clang/include/clang/Driver/Compilation.h
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Job.h
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/lib/Driver/Action.cpp
    M clang/lib/Driver/Compilation.cpp
    M clang/lib/Driver/Driver.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/AIX.h
    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/AVR.cpp
    M clang/lib/Driver/ToolChains/AVR.h
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    M clang/lib/Driver/ToolChains/CSKYToolChain.cpp
    M clang/lib/Driver/ToolChains/CSKYToolChain.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/Flang.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/Gnu.cpp
    M clang/lib/Driver/ToolChains/Gnu.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/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/HLSL.h
    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/MSP430.cpp
    M clang/lib/Driver/ToolChains/MSP430.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/SPIRVOpenMP.cpp
    M clang/lib/Driver/ToolChains/SPIRVOpenMP.h
    M clang/lib/Driver/ToolChains/SYCL.cpp
    M clang/lib/Driver/ToolChains/SYCL.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/VEToolchain.cpp
    M clang/lib/Driver/ToolChains/VEToolchain.h
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.h
    M clang/lib/Driver/ToolChains/XCore.cpp
    M clang/lib/Driver/ToolChains/XCore.h
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/Driver/ToolChains/ZOS.h
    M clang/test/Driver/hip-link-bundle-archive.hip
    M clang/test/Driver/hip-phases.hip
    M clang/test/Driver/hip-target-id.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip
    M clang/unittests/Driver/DXCModeTest.cpp

  Log Message:
  -----------
  clang/Driver: Use struct type for BoundArch instead of StringRef (#204748)

Change BoundArch arguments in the clang driver from StringRef (or
sometimes const char*) to a dedicated struct type that contains both
the architecture string and a parsed OffloadArch enum field. In the
future it may be useful to contain other feature bits here.

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


  Commit: e57068a5bd9fd9be5a265b83552689ff49f8fcb4
      https://github.com/llvm/llvm-project/commit/e57068a5bd9fd9be5a265b83552689ff49f8fcb4
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/BundleAttributes.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/IR/BundleAttributes.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/assume.ll

  Log Message:
  -----------
  [InstCombine] Try folding align assumes with unkown offset (#204962)

There are a few folds which don't depend on the offset of the alignment,
but are nevertheless guarded on whether the offset is known. Run these
folds unconditionally instead.


  Commit: d9d2f3221b9e499f183acb1d3bece3c1d8f1462a
      https://github.com/llvm/llvm-project/commit/d9d2f3221b9e499f183acb1d3bece3c1d8f1462a
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/single03.f90
    M flang/test/Semantics/OpenMP/single04.f90

  Log Message:
  -----------
  [flang][OpenMP] Refactor semantic check of SINGLE construct (#204339)

Extract it into a separate function and simplify the code. Avoid making
the distinction between a clause appearing on the "begin" and the "end"
directives for the purposes of emitting diagnostic messages.

One change in behavior is that using the same list item multiple times
in COPYPRIVATE clause(s) is an error regardless of the placement of the
clauses. Previously in some cases it was treated as a warning.

Part of the motivation is the goal of eliminating explicit definitions
of end-directives for directives that are not delimited, e.g. "end
single", but not "end declare_variant".


  Commit: 421ae3759e92132f066c77764d6da31e8a74e47c
      https://github.com/llvm/llvm-project/commit/421ae3759e92132f066c77764d6da31e8a74e47c
  Author: earnol <earnol at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-widening-cast-bitfield.cpp

  Log Message:
  -----------
  [clang-tidy] Fix bugprone-misplaced-widening-cast false positive on bitfield assignments (#197554)

When CheckImplicitCasts=true, the checker used the declared type of a
bitfield insread of the actual bitfield width to determine if widening
occurs. This caused false positives when assigning to a bitfield whose
declared type is wider than the source, but whose bitfield width
actually matches the source type. This behavior is fixed.
This PR fixes https://github.com/llvm/llvm-project/issues/197261 issue.

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


  Commit: 132e019c1f8f485c764b22670b5ea7ff2d8556a8
      https://github.com/llvm/llvm-project/commit/132e019c1f8f485c764b22670b5ea7ff2d8556a8
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/OpenMP/bug60602.cpp
    M clang/test/OpenMP/declare_target_local_codegen.cpp
    M clang/test/OpenMP/distribute_codegen.cpp
    M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_codegen.cpp
    M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/map_struct_ordering.cpp
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp
    R clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/spirv_target_teams_reduction_addrspace.c
    M clang/test/OpenMP/target_codegen_global_capture.cpp
    M clang/test/OpenMP/target_default_codegen.cpp
    M clang/test/OpenMP/target_defaultmap_codegen_03.cpp
    M clang/test/OpenMP/target_dyn_groupprivate_codegen.cpp
    M clang/test/OpenMP/target_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
    M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
    M clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_array_section_no_length_codegen.cpp
    M clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_03.cpp
    M clang/test/OpenMP/target_map_codegen_hold.cpp
    M clang/test/OpenMP/target_map_deref_array_codegen.cpp
    M clang/test/OpenMP/target_map_member_expr_codegen.cpp
    M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_parallel_if_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_strict_codegen.cpp
    M clang/test/OpenMP/target_task_affinity_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_private_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_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_teams_map_codegen.cpp
    M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
    A clang/test/OpenMP/target_teams_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
    M clang/test/OpenMP/teams_codegen.cpp
    M clang/test/OpenMP/teams_distribute_codegen.cpp
    M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/teams_private_codegen.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/add_attributes.ll
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/allocatable_gpu_reduction_teams.mlir
    M mlir/test/Target/LLVMIR/omptarget-multi-reduction.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-teams-distribute-reduction-array-descriptor.mlir
    M mlir/test/Target/LLVMIR/omptarget-teams-distribute-reduction.mlir
    M mlir/test/Target/LLVMIR/omptarget-teams-reduction.mlir
    M mlir/test/Target/LLVMIR/openmp-target-launch-device.mlir
    M offload/include/Shared/Environment.h
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/device/include/Interface.h
    M openmp/device/src/Reduction.cpp

  Log Message:
  -----------
  Reapply "[OpenMP][offload] Cross-team reductions with variable number of teams" (#204914) (#205071)

Together with the fix for
https://github.com/llvm/llvm-project/pull/195102#issuecomment-4756584289


  Commit: b9940aa6cf3c30ae8eb3c2059c0869ed95bb42aa
      https://github.com/llvm/llvm-project/commit/b9940aa6cf3c30ae8eb3c2059c0869ed95bb42aa
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/assume-loop-align.ll
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll

  Log Message:
  -----------
  [InstCombine] Merge consecutive assumes (#204983)

This should make assumes a bit more efficient, since it removes a few
instructions. This should also help with optimizations that are limited
in how many instructions they step through.


  Commit: 1a4e2d2f0a7b60083f19e68abff80dc14702a579
      https://github.com/llvm/llvm-project/commit/1a4e2d2f0a7b60083f19e68abff80dc14702a579
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/packed-u64.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for pk_u64 add and sub (#205079)


  Commit: 97fe69eaec8920e84308f80ade9e641aa424267b
      https://github.com/llvm/llvm-project/commit/97fe69eaec8920e84308f80ade9e641aa424267b
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/sign_extend.ll

  Log Message:
  -----------
  [AMDGPU] Add a test for sext i1 feeding into icmp (#205121)

This is a precommit of a test case that causes problems for #204238.


  Commit: 63862a2d80759a88e0b7408e555bb8f2292c5d40
      https://github.com/llvm/llvm-project/commit/63862a2d80759a88e0b7408e555bb8f2292c5d40
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/freebsd/x86_64/entrypoints.txt

  Log Message:
  -----------
  [libc][math] Add missing freebsd entrypoint for cbrtf16 (#205011)

Adds missing freebsd entrypoint in
[5429667](https://github.com/llvm/llvm-project/pull/205011/commits/5429667e053398d39e180f084e0dd5c4c416aa27)
and fixes the wrong entry point for `crbtf1` in
[cdc394f](https://github.com/llvm/llvm-project/pull/205011/commits/cdc394f8ba7dffb9f49563d601def7cf31561d6f),
which was `cbrtf` in `baremetal/riscv`


  Commit: a92039c3e44e102f90751c8e8b2ab70a077016b7
      https://github.com/llvm/llvm-project/commit/a92039c3e44e102f90751c8e8b2ab70a077016b7
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang-rt/lib/runtime/CMakeLists.txt
    M openmp/module/CMakeLists.txt

  Log Message:
  -----------
  [flang-rt][openmp] Add file-level dependencies for builtin mod files (#204260)

CMake currently intentionally ignores intrinsic dependencies. flang-rt
already had a workaround using target-level dependencies, but it does
not know about dependencies between .mod files created within the same
add_library that CMake ignores. As a result, as reported in #203549,
updating a .mod did not trigger rebuilding the .mod files that depend on
it. Specifically, .mod files store the checksum of used .mod files which
need to be updated and therefore require transitive rebuidling.

As mentioned, CMake already adds this file-level dependency itself for
non-intrinsic modules dependencies. In this PR we are injecting the
additional dependencies that CMake does not add via OBJECT_DEPENDS.

Three caveats:

1. Using OBJECT_DEPENDS for dependencies between modules of the same
OBJECT library makes Ninja complain about circular dependencies. To
avoid, split __fortran_builtins.f90 and __cuda_builtins.f90 into their
own OBJECT libraries each.

2. The dependency cannot be on the .mod files. Because of how CMake's
dependency mechanism works, the dependency scanning runs only after
ensuring that the OBJECT_DEPENDS files exist. So if they don't exist
yet, we get a missing dependency error. To avoid, we depend on the .o
file instead.

3. Generator expressions do not work in OBJECT_DEPENDS. That is, we
cannot use `$<TARGET_FILES:flang_rt.mod.fortran.builtins>`, but
fortunately we can use OBJECT_OUTPUTS to make the location predictable.

At some point in the future,
https://gitlab.kitware.com/cmake/cmake/-/issues/26803 should be resolved
and become the minimum required version to build LLVM, in which case
these workarounds can be removed.


  Commit: f63cb33699f4ab593328c15ee99650514bc0ab2c
      https://github.com/llvm/llvm-project/commit/f63cb33699f4ab593328c15ee99650514bc0ab2c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M .gitignore

  Log Message:
  -----------
  gitignore: Add emacs lock files (#205055)


  Commit: bd89ac741dff1a6edec15821b719a34ab5646f3f
      https://github.com/llvm/llvm-project/commit/bd89ac741dff1a6edec15821b719a34ab5646f3f
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h

  Log Message:
  -----------
  [lldb][Windows] Remember server's primary stop thread on gdb-remote stops (#203525)

The client kept the previously-selected thread across stops, ignoring
the primary tid from the server in `T<sig>thread:<tid>`.
On Windows, lldb-server halts the inferior by injecting a thread called
`DbgUiRemoteBreakin` whose only job is to execute an int 3. After an
interrupt, the process has `N+1` threads and the new one is what caused
the stop. The server reports that thread as primary, but the client
ignored it and stayed on whichever thread was selected before. In
`TestExpressionInSyscall` that thread is main, paused just past
`NtDelayExecution`'s syscall with a garbage value in the RSI register.
Evaluating an expression there crashes the JIT trampoline.

This patch makes `ProcessGDBRemote::RefreshStateAfterStop` record the
primary tid from the most recent T-packet's `thread:<tid>` and select it
after applying per thread stop infos.

Fixes `TestBreakpointSetRestart` and `TestExpressionInSyscall` with
LLDB_USE_LLDB_SERVER=1.

rdar://180307914


  Commit: d4ae086789debfaa1065b97dfd2cf78b44544eba
      https://github.com/llvm/llvm-project/commit/d4ae086789debfaa1065b97dfd2cf78b44544eba
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    A llvm/test/CodeGen/AMDGPU/fold-imm-pk64.mir

  Log Message:
  -----------
  [AMDGPU] Prevent folding of immediates larger than 64 bit (#204434)


  Commit: f4927c95fa74247304af703d4dae4396dcbc5a2f
      https://github.com/llvm/llvm-project/commit/f4927c95fa74247304af703d4dae4396dcbc5a2f
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
    M llvm/test/CodeGen/AMDGPU/packed-u64.ll
    M llvm/test/CodeGen/AMDGPU/pk-lshl-add-u64.ll
    M llvm/test/CodeGen/AMDGPU/shl.v2i64.ll

  Log Message:
  -----------
  [AMDGPU] Make v2x64 BUILD_VECTOR legal on gfx1251 (#204470)


  Commit: 08c728e8528c9584bc1fe0f46bbdd657e368be91
      https://github.com/llvm/llvm-project/commit/08c728e8528c9584bc1fe0f46bbdd657e368be91
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/cmake/modules/ClangConfig.cmake.in
    R cmake/Modules/GetTripleCMakeSystemName.cmake
    R cmake/Modules/NormalizeTriple.cmake
    M llvm/cmake/modules/LLVMConfig.cmake.in
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
    M llvm/runtimes/CMakeLists.txt
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  Revert "runtimes: Pass CMAKE_SYSTEM_NAME based on target triple" (#205133)

Reverts llvm/llvm-project#203504

Breaks build pending #205130


  Commit: 91e344bd26bf18badeaf5bd8e5cf41f1f7e1cca4
      https://github.com/llvm/llvm-project/commit/91e344bd26bf18badeaf5bd8e5cf41f1f7e1cca4
  Author: youngd007 <davidayoung at meta.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

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

  Log Message:
  -----------
  [lldb][bazel] Add the Windows process plugin to the bazel build (#203146)

Add a cc_library for the native Windows process plugin
(ProcessWindowsCommon),
  gated to @platforms//os:windows, and register it via the dedicated
@LLDB_PROCESS_WINDOWS_PLUGIN@ slot in the generated Plugins.def. This
mirrors the
CMake build, which special-cases ProcessWindowsCommon into that slot so
it is
initialized after all other process plugins but before ProcessGDBRemote.

With the help of claude.

Tested internally at Meta by converting Bazel -> BUCK and confirming
matches working BUCK contents for windows lldb build.


  Commit: 6e562169fd026e26124fe4e2e435d3a4c522ffe2
      https://github.com/llvm/llvm-project/commit/6e562169fd026e26124fe4e2e435d3a4c522ffe2
  Author: Sungbin Jo <goranmoomin at daum.net>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/ObjectYAML/MachOEmitter.cpp
    A llvm/test/ObjectYAML/MachO/endianness.yaml

  Log Message:
  -----------
  [yaml2obj][MachO] Fix byte order of the indirect symbol table (#205044)

This is a follow-up of PR #203680 that added the test case
`linkedit-alignment.test`, which currently fails on big-endian buildbots
(see: https://lab.llvm.org/buildbot/#/builders/98/builds/3084 and
https://lab.llvm.org/buildbot/#/builders/114/builds/906).

The failure seems to be on `yaml2obj`, where `writeDynamicSymbolTable`
emits an indirect symbol table in host byte order rather than the
specified object's byte order (i.e. the `IsLittleEndian` field value).

This PR adds the missing swap and a regression test that round-trips all
endian-sensitive fields with both endianness values.


  Commit: 1a63fca933a0e8a3cb807d462ef50901a90f83d2
      https://github.com/llvm/llvm-project/commit/1a63fca933a0e8a3cb807d462ef50901a90f83d2
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

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

  Log Message:
  -----------
  [bazel] Disable buildkite for PluginProcessWindowsCommon (#205141)


  Commit: 08d766ba6d1ffdeb894c0c935465f7134aef6dfc
      https://github.com/llvm/llvm-project/commit/08d766ba6d1ffdeb894c0c935465f7134aef6dfc
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M libcxx/utils/ci/lnt/README.md
    M libcxx/utils/ci/lnt/run-benchbot
    M libcxx/utils/ci/lnt/run-benchmarks

  Log Message:
  -----------
  [libc++][lnt] Allow retaining build artifacts in run-benchbot (#205146)

Also, as a drive-by, introduce `--results-dir` to specify where to put
the JSON results instead of using `--build-dir` for that.

Assisted by Claude


  Commit: a88b88bdd346282a71b2f01b1513936280c20a93
      https://github.com/llvm/llvm-project/commit/a88b88bdd346282a71b2f01b1513936280c20a93
  Author: Yihan Wang <yronglin777 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx29Papers.csv
    M libcxx/include/__utility/constant_wrapper.h
    M libcxx/include/utility
    M libcxx/include/version
    M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/utilities/const.wrap.class/convert.pass.cpp
    R libcxx/test/std/utilities/const.wrap.class/ctad.compile.pass.cpp
    M libcxx/test/std/utilities/const.wrap.class/cw.pass.cpp
    R libcxx/test/std/utilities/const.wrap.class/cw_fixed.array.ctor.pass.cpp
    R libcxx/test/std/utilities/const.wrap.class/cw_fixed.ctor.pass.cpp
    M libcxx/test/std/utilities/const.wrap.class/subscript.pass.cpp
    A libcxx/test/std/utilities/const.wrap.class/template.verify.cpp
    M libcxx/test/std/utilities/const.wrap.class/types.compile.pass.cpp
    M libcxx/test/std/utilities/const.wrap.class/unary_ops.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Implement P4206R0 Revert string support in std::constant_wrapper (#203338)

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

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>
Co-authored-by: A. Jiang <de34 at live.cn>


  Commit: 20cf19f0c34579273382e20947ea8e6373949796
      https://github.com/llvm/llvm-project/commit/20cf19f0c34579273382e20947ea8e6373949796
  Author: Xavier Roche <roche at httrack.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libcxx/include/__math/abs.h
    M libcxx/test/std/numerics/c.math/abs.pass.cpp

  Log Message:
  -----------
  [libc++] std::abs support for _BitInt(N) and __int128 (#196532)

`std::abs` does not accept `__int128` or signed `_BitInt(N)`: the call
is ambiguous and fails to compile (#204212).

This adds an explicit `abs(__int128_t)` overload and an
`abs(_BitInt(N))` overload that deduces the width, so every signed
`_BitInt` gets a same-type result. `_BitInt` does not integer-promote,
so without this overload a narrow signed `_BitInt` would be an ambiguous
call against `abs(int/long/long long)` instead of promoting the way
`signed char` and `short` do. Standard narrow types are unchanged: they
still go through `abs(int)`.

Part of the [_BitInt(N) libc++
effort](https://discourse.llvm.org/t/bitint-n-support-in-libc-investigations-possible-improvements-looking-for-guidance/90063).

Fixes #204212

Assisted-by: Claude (Anthropic)

---------

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


  Commit: 86f2e71cb8d165b59ad31a442b2391e23826133e
      https://github.com/llvm/llvm-project/commit/86f2e71cb8d165b59ad31a442b2391e23826133e
  Author: John Paul Jepko <john.jepko at ericsson.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/Analysis/bstring.c
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/pr22954.c
    M clang/test/Sema/builtin-memcpy.c
    M clang/test/Sema/builtin-object-size.c
    M clang/test/Sema/warn-fortify-source.c
    A clang/test/Sema/warn-stringop-overread.c
    M compiler-rt/test/asan/TestCases/Windows/issue64990.cpp

  Log Message:
  -----------
  [Clang][Sema] Add -Wstringop-overread warning for source buffer overreads (#183004)

This PR adds a new `-Wstringop-overread` warning that diagnoses calls to
memory functions where the specified size exceeds the size of the source
buffer, increasing parity with GCC's `-Wstringop-overread`.

The warning is emitted when the read size is a compile-time constant
that is greater than the size of the source buffer (when known
statically).

This check applies to the following functions:
- `memcpy`, `memmove`, `mempcpy` (and `__builtin_` / `__builtin___*_chk`
variants)
- `memchr`
- `memcmp`, `bcmp`

Some of the existing code for `-Wfortify-source` was refactored into a
helper class to make its lambdas accessible to other functions.

Fixes #83728

Assisted-by: claude-opus-4.6

---------

Co-authored-by: Erich Keane <ekeane at nvidia.com>


  Commit: 1f20833fa42ddec64e170b2738e5cdbc007bb5de
      https://github.com/llvm/llvm-project/commit/1f20833fa42ddec64e170b2738e5cdbc007bb5de
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstSimplify/ConstProp/active-lane-mask.ll

  Log Message:
  -----------
  [ValueTracking] Mark frexp, ALM propagates poison (#205139)


  Commit: 582a20269e2cc190ce73151f51e99c9e14ffc202
      https://github.com/llvm/llvm-project/commit/582a20269e2cc190ce73151f51e99c9e14ffc202
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/CMakeLists.txt
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrPredicates.td
    A llvm/lib/Target/RISCV/RISCVQCRelaxMarking.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    A llvm/test/CodeGen/RISCV/qc-access-marking.ll

  Log Message:
  -----------
  [RISCV] Add a Pass for adding %qc.access specifiers (#201938)

Qualcomm's ABI has Access Relocation Markers, which are used to enable
more linker relaxations. This change implements a pass which will
annotate loads and stores (accesses) which are the single user of a
`qc.e.li`-materialized address with these markers so they can be relaxed
in the linker.

This is a follow-up to #188671.


  Commit: 93b1f81e03ef4c717a9d222b46f78c38bcff0a3f
      https://github.com/llvm/llvm-project/commit/93b1f81e03ef4c717a9d222b46f78c38bcff0a3f
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M libcxx/include/__random/bernoulli_distribution.h
    M libcxx/include/__random/binomial_distribution.h
    M libcxx/include/__random/cauchy_distribution.h
    M libcxx/include/__random/chi_squared_distribution.h
    M libcxx/include/__random/discard_block_engine.h
    M libcxx/include/__random/discrete_distribution.h
    M libcxx/include/__random/exponential_distribution.h
    M libcxx/include/__random/extreme_value_distribution.h
    M libcxx/include/__random/fisher_f_distribution.h
    M libcxx/include/__random/gamma_distribution.h
    M libcxx/include/__random/generate_canonical.h
    M libcxx/include/__random/geometric_distribution.h
    M libcxx/include/__random/independent_bits_engine.h
    M libcxx/include/__random/linear_congruential_engine.h
    M libcxx/include/__random/lognormal_distribution.h
    M libcxx/include/__random/mersenne_twister_engine.h
    M libcxx/include/__random/negative_binomial_distribution.h
    M libcxx/include/__random/normal_distribution.h
    M libcxx/include/__random/piecewise_constant_distribution.h
    M libcxx/include/__random/piecewise_linear_distribution.h
    M libcxx/include/__random/poisson_distribution.h
    M libcxx/include/__random/random_device.h
    M libcxx/include/__random/seed_seq.h
    M libcxx/include/__random/shuffle_order_engine.h
    M libcxx/include/__random/student_t_distribution.h
    M libcxx/include/__random/subtract_with_carry_engine.h
    M libcxx/include/__random/uniform_int_distribution.h
    M libcxx/include/__random/uniform_real_distribution.h
    M libcxx/include/__random/weibull_distribution.h
    A libcxx/test/libcxx/numerics/rand/nodiscard.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/bad_engine.verify.cpp

  Log Message:
  -----------
  [libc++][random] Applied `[[nodiscard]]` to `<random>` (#204970)

Towards: #172124

-
https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
- https://wg21.link/rand

Co-authored-by: Hristo Hristov <zingam at outlook.com>


  Commit: ef22d07c2c4fc3209cc14de2734fbb336ddf42b4
      https://github.com/llvm/llvm-project/commit/ef22d07c2c4fc3209cc14de2734fbb336ddf42b4
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp

  Log Message:
  -----------
  [flang][OpenMP] Use early exit to unindent some code, NFC (#205150)


  Commit: 2bb8a56e7dfc6e0a90c0464d9b65640f0252883d
      https://github.com/llvm/llvm-project/commit/2bb8a56e7dfc6e0a90c0464d9b65640f0252883d
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M bolt/lib/Core/BinaryEmitter.cpp
    M llvm/include/llvm/MC/MCObjectStreamer.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MC/MCWinCOFFStreamer.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMMCInstLower.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.cpp
    M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
    M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
    M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
    M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFStreamer.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/X86MCInstLower.cpp

  Log Message:
  -----------
  [MC] emitCodeAlignment: take MCSubtargetInfo by reference. NFC (#205140)

The fragment member cannot be null, and the sibling streamer hooks
(emitInstruction, initSections, emitPrefAlign) already take it by
reference.


  Commit: 1d8a54f7cf233be64ffce08a3c5697ea8f1cccb5
      https://github.com/llvm/llvm-project/commit/1d8a54f7cf233be64ffce08a3c5697ea8f1cccb5
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/include/clang/CIR/LoweringHelpers.h
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/LoweringHelpers.cpp
    M clang/test/CIR/Lowering/const-array-bulk-lowering-fallbacks.cir
    M clang/test/CIR/Lowering/const-array-of-pointers.cir

  Log Message:
  -----------
  [CIR] Lower const arrays as a single llvm.mlir.constant (#203590)

When compiling the blender benchmark for SPEC CPU2017, we hit a case
where a very large array (more than 400k elements) is initialized with
constant values. However, because it contains trailing zeros, CIR
generates a constant record initializer (an array of elements, plus a
zero-initialized trailing array). We were lowering this to the LLVM
dialect using a global initializer function with a huge number of calls
to insertelement. The subsequent lowering to LLVM IR constant folded
back to a constant initializer, but it took about 40 minutes to compile.

The recent fix to avoid calling insertelement for the array
initialization didn't fix this case because it handled only arrays, not
records.

This change updates the lowering to the LLVM dialect to lower constant
array attributes to a single llvm.mlir.const value rather than
attempting to build a chain of insertvalue ops whenever possible.


  Commit: 8140495ed285468512e8b0c0fc576234750bd15f
      https://github.com/llvm/llvm-project/commit/8140495ed285468512e8b0c0fc576234750bd15f
  Author: Bidhan <bidhan619 at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/BPF/BPFFrameLowering.cpp
    M llvm/lib/Target/BPF/BPFFrameLowering.h
    A llvm/test/DebugInfo/BPF/dbg-location-fbreg.ll

  Log Message:
  -----------
  [BPF] override getFrameIndexReference for frame object offsets (#204722)

### Summary

The BPF backend currently does not override `getFrameIndexReference()`.
Since BPF uses a fixed frame pointer (R10), frame object offsets are
already expressed relative to the frame pointer. The generic
`TargetFrameLowering::getFrameIndexReference()` implementation adjusts
offsets using the stack size, which is not appropriate for BPF.

This PR overrides `getFrameIndexReference()` to return the correct frame
object offsets for the BPF frame model, resulting in accurate debug
locations for stack variables. For example, the stack variable `local`
in the reproducer below previously received:

```
DW_AT_location (DW_OP_fbreg +0)
```

and now correctly receives:

```
DW_AT_location (DW_OP_fbreg -32)
```

which matches the actual location of the stack object relative to the
frame pointer.

-----

**Rust code snippet**

```
#[repr(C)]
#[derive(Copy, Clone)]
pub struct S {
    pub a: u64,
    pub b: u64,
    pub c: u64,
}

#[unsafe(no_mangle)]
pub extern "C" fn entry(x: u64) -> u64 {
    let mut local = S { a: x, b: x + 1, c: x + 2 };

    let ptr_to_b = &mut local.a as *mut u64;
    let ptr_to_b = core::hint::black_box(ptr_to_b);

    unsafe {
        core::ptr::write_volatile(ptr_to_b, x + 42);
    }

    unsafe { core::ptr::read_volatile(ptr_to_b) }
}
```

**Build commands**

```
> rustc +nightly repro.rs --emit=llvm-ir -g -O --crate-type=lib -o repro.l
> ./build/bin/lc repro.l -march=bpfel -O2 -filetype=obj -o repro.o
> ./build/bin/lvm-dwarfdump --debug-info --debug-loc --debug-loclists repro.o > repro.debug
```

**DW_TAG_variable info for variable "local"**

Before patch:  
```
0x00000114:         DW_TAG_variable
                      DW_AT_location	(DW_OP_fbreg +0)
                      DW_AT_name	("local")
                      DW_AT_alignment	(8)
                      DW_AT_decl_file	("/home/LLVM/llvm-project/repro.rs")
                      DW_AT_decl_line	(11)
                      DW_AT_type	(0x000001b8 "repro::S")
```

After patch:   
```
0x00000114:           DW_TAG_variable
                        DW_AT_location	(DW_OP_fbreg -32)
                        DW_AT_name	("local")
                        DW_AT_alignment	(8)
                        DW_AT_decl_file	("/home/LLVM/llvm-project/repro.rs")
                        DW_AT_decl_line	(11)
                        DW_AT_type	(0x000001bc "repro::S")
```


  Commit: 46995fb32b999c6332fbd1bdfb84d79cad47195f
      https://github.com/llvm/llvm-project/commit/46995fb32b999c6332fbd1bdfb84d79cad47195f
  Author: Akhil Goel <akhil.goel at intel.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Conversion/MathToXeVM/MathToXeVM.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
    M mlir/lib/Conversion/MathToXeVM/CMakeLists.txt
    M mlir/lib/Conversion/MathToXeVM/MathToXeVM.cpp
    A mlir/test/Conversion/MathToXeVM/math-to-ocl.mlir

  Log Message:
  -----------
  [mlir][Math][XeVM] Add Math to OCL conversion patterns (#198370)

This PR adds conversion patterns to convert supported math ops to SPIR-V
OpenCL builtin calls. These lowerings correspond to `OpExtInst` calls
into the OpenCL SPIR-V extended instruction set via mangled
`__spirv_ocl_` entry points for f32/f64 variants.


  Commit: 49a0e107e9f0d244d41eb766c67d02900eff8ee3
      https://github.com/llvm/llvm-project/commit/49a0e107e9f0d244d41eb766c67d02900eff8ee3
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/IR/CMakeLists.txt
    M llvm/lib/IR/Verifier.cpp
    A llvm/lib/IR/VerifierAMDGPU.cpp
    A llvm/lib/IR/VerifierInternal.h
    M llvm/test/Verifier/callbr-intrinsic.ll
    M llvm/utils/gn/secondary/llvm/lib/IR/BUILD.gn

  Log Message:
  -----------
  [RFC][NFCI][IR] Extract AMDGPU-specific verification logic into `VerifierAMDGPU.cpp` (#204284)

`Verifier.cpp` is large and already mixes generic IR verification with
target-specific checks. We also have a growing amount of AMDGPU verifier
logic downstream, which would all end up in the same file if we don't
address this, and that is not ideal.

This patch extracts AMDGPU-specific verification logic into a separate
`VerifierAMDGPU.cpp` file, with shared infrastructure
(`VerifierSupport`) moved into `VerifierInternal.h`.

This is purely a code organization change, not a target-dependent IR
verifier. All checks remain compiled and linked into `LLVMCore`
regardless of the target triple. The extracted functions are called
unconditionally at well-defined extension points in `Verifier.cpp`, and
each function internally gates on target-specific conditions (for
example, triple checks or intrinsic IDs) as needed. The file is strictly
limited to AMDGPU-specific IR constructs (amdgcn intrinsics, AMDGPU
module flags, etc.), and does not contain generic IR rules that vary by
target.

This PR deliberately avoided introducing polymorphism, since this is not
a target-dependent verification framework. Instead, this follows a
pattern similar to TargetParser (for example `AMDGPUTargetParser.cpp`):
flat file layout, free functions, no registration, and unconditional
compilation.

Other targets that want similar separation can follow the same pattern.

Open to suggestions on whether there is a better long-term way to
structure this.


  Commit: 39f5357397ef97aa2143360f3613decef981d02b
      https://github.com/llvm/llvm-project/commit/39f5357397ef97aa2143360f3613decef981d02b
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Lower/CUDA/cuda-gpu-managed.cuf

  Log Message:
  -----------
  [flang][cuda] Apply implicit managed attribute to pointer variables under -gpu=mem:managed (#204634)

When -gpu=mem:managed is active with CUDA Fortran enabled, only
allocatable variables were implicitly given the managed CUDA data
attribute. Pointer variables were left without it, causing their
allocations to use host memory instead of cudaMallocManaged.

This patch extends the implicit managed attribute in
FinishSpecificationPart to also cover pointer symbols. A
LanguageFeature::CUDA guard is added so the attribute is only applied
when CUDA Fortran semantics are active. The implicit pinned attribute
(-gpu=mem:pinned) remains allocatable-only.


  Commit: 04baf7ed88bc833a599d20bafb07fbceccade4a7
      https://github.com/llvm/llvm-project/commit/04baf7ed88bc833a599d20bafb07fbceccade4a7
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll

  Log Message:
  -----------
  [SDAG][LegalizeType] Implement result vector widening for VECTOR_DEINTERLEAVE (#203105)

I accidentally found that we haven't implemented result vector widening
for `ISD::VECTOR_DEINTERLEAVE`. This patch implements such type
legalization.

---------

Co-authored-by: Simon Pilgrim <git at redking.me.uk>
Co-authored-by: Craig Topper <craig.topper at sifive.com>


  Commit: 738fecbc68e2e3ca04efd26db648eff57f2456ff
      https://github.com/llvm/llvm-project/commit/738fecbc68e2e3ca04efd26db648eff57f2456ff
  Author: Kunal Pathak <kunalspathak.github at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    A llvm/test/tools/llvm-profgen/aarch64-disassemble-all-features.test
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp

  Log Message:
  -----------
  [llvm-profgen] Enable all AArch64 instructions for disassembly (#204619)

llvm-profgen builds its MCSubtargetInfo from
`ObjectFile::getFeatures()`. For AArch64 ELF objects this often produces
an empty feature set, so the disassembler falls back to the baseline
Armv8.0-A ISA and rejects valid feature-gated instructions such as LSE
atomics and RCPC loads.

`llvm-objdump` already handles this by [adding +all for AArch64
disassembly](https://github.com/llvm/llvm-project/blob/1e2d1bbc12f6a5f5931c77d39894ee1b8679f5f8/llvm/tools/llvm-objdump/llvm-objdump.cpp#L2823-L2824)
when neither -mattr nor -mcpu is specified. Match that behavior in
`llvm-profgen` so valid AArch64 instructions are not reported as invalid
and their addresses are preserved in profgen's code and branch maps.

Add a regression test covering an AArch64 binary containing `ldaddal`
and `ldapr` without object-level feature metadata.

---------

Co-authored-by: Kunal Pathak <kupathak at fb.com>


  Commit: 56434aaf66507e567317655a05dd7da918f90d81
      https://github.com/llvm/llvm-project/commit/56434aaf66507e567317655a05dd7da918f90d81
  Author: Scott Linder <scott.linder at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  Bump minimum required sphinx Python to 3.8 (#203963)

There seems to be de-facto use of at least 3.6 in docs, namely:

* Use of pathlib (3.4) in various places
* Format f-strings (3.6) and used in clang/docs/ghlinks.py

I don't see a strong reason to maintain the divide in minimum version
between test/docs, especially considering the "FIXME" indicating
the 3.0 lower bound was just a guess to begin with.

Change-Id: I11e00295ae0a13ec0f1c5cefbb2fdd2db272b152


  Commit: bf3652b1e7eb0633c13afcc23bbc238f5e7f9ec8
      https://github.com/llvm/llvm-project/commit/bf3652b1e7eb0633c13afcc23bbc238f5e7f9ec8
  Author: Iñaki Amatria Barral <140811900+inaki-amatria at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    A llvm/test/tools/llvm-cov/show-colors-uninit.test
    M llvm/tools/llvm-cov/CodeCoverage.cpp

  Log Message:
  -----------
  [llvm-cov] Init `ViewOpts.Colors` before `error()` (#205001)

The `commandLineParser` lambda calls `error()` at several points before
`ViewOpts.Colors` is set. `error()` uses `ViewOpts.colored_ostream()`
which reads `Colors`, triggering undefined behavior (load of
uninitialized `bool`).

Fix by moving the `Colors` initialization block to just after
`ParseCommandLineOptions`, before any `error()` call in the lambda. This
ensures error messages are always rendered with properly initialized
color settings.


  Commit: a60ad3e35514a733f19e6f2ac6bb7fe558c04441
      https://github.com/llvm/llvm-project/commit/a60ad3e35514a733f19e6f2ac6bb7fe558c04441
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 46995fb (#205155)

This fixes 46995fb32b999c6332fbd1bdfb84d79cad47195f.

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


  Commit: 55d7f777d958a64ed5ef31be269c3005ddd6c7a6
      https://github.com/llvm/llvm-project/commit/55d7f777d958a64ed5ef31be269c3005ddd6c7a6
  Author: Larry Meadows <Lawrence.Meadows at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M compiler-rt/lib/profile/CMakeLists.txt
    M compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
    A compiler-rt/lib/profile/InstrProfilingPlatformROCmHSA.cpp
    A compiler-rt/lib/profile/InstrProfilingPlatformROCmHSADefs.h
    A compiler-rt/lib/profile/InstrProfilingPlatformROCmInternal.h
    A compiler-rt/test/profile/AMDGPU/device-basic.hip
    A compiler-rt/test/profile/AMDGPU/device-early-collect.hip
    A compiler-rt/test/profile/AMDGPU/device-no-kernel.hip
    A compiler-rt/test/profile/AMDGPU/device-symbols.hip
    A compiler-rt/test/profile/AMDGPU/lit.local.cfg.py
    A compiler-rt/test/profile/GPU/instrprof-hip-basic.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-collect-after.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-counter-correctness.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-coverage.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-device-branching.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-fork-safety.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-multi-gpu.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-multi-process-merge.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-multiple-kernels.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-nondefault-device.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-pgo-use.hip
    A compiler-rt/test/profile/GPU/lit.local.cfg.py
    A compiler-rt/test/profile/instrprof-rocm-bounds-dedup.cpp
    A compiler-rt/test/profile/instrprof-rocm-grow-array.cpp
    M compiler-rt/test/profile/lit.cfg.py
    M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel

  Log Message:
  -----------
  [PGO][HIP] HSA-introspection device profile drain + GPU PGO tests (#203056)

## Summary

Follow-up to #202095 (now landed). #202095's host-shadow device-profile
drain can
only collect device counters for kernels that registered a host-side
shadow via
`__hipRegisterVar`. Device-linked programs (e.g. RCCL), whose
instrumented code
objects are linked directly into the device image with no host shadow,
are never
drained.

This adds a **supplemental, Linux-only HSA-introspection drain** that
runs after
the host-shadow drain: it walks each GPU agent, enumerates only the code
objects
actually resident there, reads each one's `__llvm_profile_sections`
table on the
device, and routes them through the existing `processDeviceOffloadPrf()`
path so
the emitted `.profraw` layout is identical. A content-dedup set keyed on
the
`(data, counters, names)` device-pointer triple ensures a section
already drained
by the host-shadow pass is not drained twice, so the two passes compose
without
double-counting.

It is purely additive — it does not modify #202095's host-shadow drain
or its
launch-tracking. Highlights:

- `compiler-rt/lib/profile/InstrProfilingPlatformROCmHSA.cpp`: HSA
agent/segment/
symbol walk + dedup; record drained bounds after each host-shadow drain;
lazy
  HSA init (no library constructor, for fork-safety).
- Because the HSA walk only touches resident code objects, it lets us
avoid the
host-shadow drain's collect-all fallback on Linux. When **no** kernel
launch was
tracked (program never launches, collects before its first launch, or
launches
only via an untracked API), the host-shadow pass is skipped and the HSA
drain
covers it safely — instead of faulting/hanging reading a non-resident
device on
a multi-GPU host. This also closes the silent-data-loss gap for
untracked launch
  APIs (`hipExtLaunchKernel`, cooperative/graph launches).
- `clang/lib/Driver/ToolChains/Clang.cpp` / `HIPAMD.cpp`: link the
device profile
runtime on both the new-offload-driver (`LinkerWrapper::ConstructJob`)
and
traditional (`lld`) link paths, guarded by `needsProfileRT` + VFS
existence.
- New GPU/AMDGPU HIP device-PGO lit tests, gated by `hip`/`amdgpu`
features
(auto-detected from the toolchain + a visible GPU) so they report
UNSUPPORTED
rather than fail when no GPU is present. Plus GPU-free host unit tests
for the
device-profile host helpers that run everywhere, including upstream CI.

## Test plan

- 4x gfx90a (`gfx90a:sramecc+:xnack-`), ROCm 7.1.
- GPU device tests run through standard lit:
`llvm-lit -sv <build>/.../compiler-rt/test/profile/Profile-x86_64` over
the
`GPU/` and `AMDGPU/` subdirectories. The profile `lit.cfg.py`
auto-detects a
visible GPU (`amdgpu-arch`) and the HIP runtime (`libamdhip64`) and
exposes the
`hip`/`amdgpu`/`multi-device` features and the `%amdgpu_arch` /
`%hip_lib_path`
substitutions; both are overridable via `--param amdgpu_arch=… /
hip_lib_path=…`.
- **15 device tests passed, 0 failed.** Covers: basic/coverage/pgo-use,
multiple-kernels, device-branching, multi-gpu and non-default-device
drain,
early-collect / no-kernel edges, RDC vs non-RDC
`__llvm_profile_sections`,
dedup (host-shadow drains the used device, HSA finds it and dedups), and
  fork-safety (the RCCL parent-no-HIP / kernel-in-forked-child pattern).
- On a host without a GPU + ROCm/HIP (e.g. upstream CI) those device
tests report
UNSUPPORTED instead of failing, and the GPU subdirectories serialize via
a
  size-1 `gpu` lit parallelism group when they do run.
- GPU-free host unit tests run anywhere the profile suite runs
(including upstream
  CI): `instrprof-rocm-grow-array.cpp` (the dynamic-array helper) and
`instrprof-rocm-bounds-dedup.cpp` (the `(data, counters, names)` dedup
table
  that backs the "drain each counter set once" guarantee).
- Build is warning-clean and `clang-format` clean.

---------

Co-authored-by: Cursor <cursoragent at cursor.com>


  Commit: 42d6d5b44d6170cceeacd2ae1b83335f72f0fcba
      https://github.com/llvm/llvm-project/commit/42d6d5b44d6170cceeacd2ae1b83335f72f0fcba
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
    M llvm/test/CodeGen/AMDGPU/elf-notes.ll
    M llvm/test/CodeGen/AMDGPU/gfx902-without-xnack.ll
    M llvm/test/CodeGen/AMDGPU/hsa-default-device.ll
    M llvm/test/CodeGen/AMDGPU/hsa-func.ll
    M llvm/test/CodeGen/AMDGPU/hsa-note-no-func.ll
    M llvm/test/CodeGen/AMDGPU/hsa.ll
    M llvm/test/CodeGen/AMDGPU/target-id-xnack-always-on.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-any.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-not-supported.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-off.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-on.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-1.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-2.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-1.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-2.ll
    M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-any.ll
    M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-not-supported.ll
    M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-off.ll
    M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-on.ll
    A llvm/test/MC/AMDGPU/amd-amdgpu-isa-malformed-target-id.s
    A llvm/test/MC/AMDGPU/amdgcn-target-directive-triple-env.s
    A llvm/test/MC/AMDGPU/amdgcn-target-malformed-target-id.s
    M llvm/test/MC/AMDGPU/buffer-op-swz-operand.s
    M llvm/test/MC/AMDGPU/hsa-diag-v4.s
    M llvm/test/MC/AMDGPU/hsa-exp.s
    M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
    M llvm/test/MC/AMDGPU/hsa-gfx1250-v4.s
    M llvm/test/MC/AMDGPU/hsa-gfx1251-v4.s
    M llvm/test/MC/AMDGPU/hsa-gfx13-v4.s
    M llvm/test/MC/AMDGPU/hsa-tg-split.s
    M llvm/test/MC/AMDGPU/hsa-v4.s
    M llvm/test/MC/AMDGPU/hsa-v5-uses-dynamic-stack.s
    M llvm/test/MC/AMDGPU/isa-version-hsa.s
    M llvm/test/MC/AMDGPU/isa-version-pal.s
    M llvm/test/MC/AMDGPU/isa-version-unk.s
    M llvm/test/MC/AMDGPU/user-sgpr-count.s

  Log Message:
  -----------
  AMDGPU: Refactor AMDGPUTargetID to not store MCSubtargetInfo (#204315)

Store the triple string and GPUKind instead. The dependence
on checking AMDHSA seems like an anti-feature, but maintain the
behavior of not printing the modifiers for other OSes. Start
parsing the target ID instead of performing a direct string
comparison. Also improve test coverage for the treatment of the
environment component of the triple. The main behavioral change
is this will now produce normalized triples in the output and
diagnostics. Practially, this means all of the places that
currently emit "--" will be expanded into "-unknown-".

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


  Commit: 9b1b03ef26a936efc51b11c1955ff270e80d87e9
      https://github.com/llvm/llvm-project/commit/9b1b03ef26a936efc51b11c1955ff270e80d87e9
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AMDGPU/maximumnum.ll
    M llvm/test/Analysis/CostModel/AMDGPU/minimumnum.ll

  Log Message:
  -----------
  [AMDGPU] Update packed FP32 intrinsic cost model (#205145)

Intrinsics will not have packed vector benefit if they don't have 
the corresponding packed instructions.


  Commit: 81638b092dd0c0a0c299081a6accd2f59e3f6a7c
      https://github.com/llvm/llvm-project/commit/81638b092dd0c0a0c299081a6accd2f59e3f6a7c
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_err.s
    M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
    M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt

  Log Message:
  -----------
  [AMDGPU] Add MC omod support for bf16 trans instructions (#205144)

Based on recent gfx1250 sp3 update. Refer to DEGFXSP3-664


  Commit: cd89a8675cfef4e1efca258a89fae9ae903e3e3c
      https://github.com/llvm/llvm-project/commit/cd89a8675cfef4e1efca258a89fae9ae903e3e3c
  Author: Henry Jiang <henry_jiang2 at apple.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    A llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest-pseudoprobe.ll
    A llvm/test/Transforms/SimplifyCFG/hoist-common-skip-pseudoprobe.ll

  Log Message:
  -----------
  [SimplifyCFG] Allow hoisting in the presence of pseudoprobes (#199753)

Fix regressions in the presence of pseudoprobes that prevents
SimplifyCFG from hoisting instructions into the predecessor. Teach
`hoistCommonCodeFromSuccessors` and `foldBranchToCommonDest` to ignore
pseudo probes and drop them when the BB is eliminated.

The minor loss of profile quality for these cases are justified, as not
performing these hoists degrades performance more and blocks downstream
passes like loop-vectorize (can be upto 30% in 526.blender_r and
525.x264_r).


  Commit: dc520fcd90527d196a676795d20539440de9442b
      https://github.com/llvm/llvm-project/commit/dc520fcd90527d196a676795d20539440de9442b
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M lldb/test/API/functionalities/rerun_and_expr_dylib/TestRerunAndExprDylib.py

  Log Message:
  -----------
  [lldb][tests] Fix FS timing issue in `TestRerunAndExprDylib`. (#205116)

This PR fixes a timing issue that made `TestRerunAndExprDylib` fail with
a small probability. The test rebuilds a library; however, the build and
the re-build may fall into the same timestamp if the underlying
filesystem only has second granularity such that LLDB doesn't reload the
rebuilt library for the second execution.

The fix consists in artifically aging the library file from the first
build, i.e., setting its timestamp 10 seconds into the past. This not
only guarantees that LLDB reloads the file but also also that it is
rebuilt, so the explicit removing is now unnecessary and removed.

This issue exists for at least six months, possible since the tests
exists; I was not able to test older versions. However, we have recently
seen frequent failures, probably due to some change in our underlying
testing infrastructure.

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


  Commit: e6199d8f36263f018b47ba8fd1fd2f77e477b0ac
      https://github.com/llvm/llvm-project/commit/e6199d8f36263f018b47ba8fd1fd2f77e477b0ac
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt

  Log Message:
  -----------
  AMDGPU: Temporarily restore disassembler's dependency on TargetParser (#205175)

Reverts part of #204315


  Commit: c046d4b47cd5c8c75efa8b93d0c1fbfff54c2559
      https://github.com/llvm/llvm-project/commit/c046d4b47cd5c8c75efa8b93d0c1fbfff54c2559
  Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [GitHub] Add googlewalt to Bazel codeowners (#205174)


  Commit: 63692a910c10abb0a6ae67f99da7ffc8a1f3f964
      https://github.com/llvm/llvm-project/commit/63692a910c10abb0a6ae67f99da7ffc8a1f3f964
  Author: newgre <jannewger at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/MemProfReader.cpp

  Log Message:
  -----------
  [ProfileData] Avoid unnecessary copies. (#204875)

Make `Frame` moveable and avoid some unnecessary copies in `RawMemProfReader`. Unnecessary copies fixed in this PR were found by the CSan prototype described in the RFC [1] CopySanitizer (CSan): Detecting unneccessary object copies at runtime.

[1] https://discourse.llvm.org/t/rfc-copysanitizer-csan-detecting-unneccessary-object-copies-at-runtime/91038

Co-authored-by: Jan Newger <jannewger at google.com>


  Commit: 223bdef73f761f22353744eeea46663ed0941926
      https://github.com/llvm/llvm-project/commit/223bdef73f761f22353744eeea46663ed0941926
  Author: Mohammed Ashraf <125150223+Holo-xy at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp

  Log Message:
  -----------
  [BoundsSafety] unify ParseLexedAttribute (#186033)

Resolves #93263


  Commit: a1cfa786c96fee1ce63d034674d7aeb4cc9cc5d9
      https://github.com/llvm/llvm-project/commit/a1cfa786c96fee1ce63d034674d7aeb4cc9cc5d9
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M lldb/include/lldb/Core/Section.h
    M lldb/source/Core/Section.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
    M lldb/source/Plugins/SymbolVendor/PECOFF/SymbolVendorPECOFF.cpp
    M lldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.cpp
    A lldb/test/Shell/ObjectFile/ELF/build-id-case-debug-only.yaml

  Log Message:
  -----------
  Fix SectionList::ReplaceSection to not replace incorrect section. (#204677)

We use SectionList::ReplaceSection to check for some sections in the
main object file and in separate debug info files. It was relying on
section IDs being consistent between different individual section lists
in different object files which does not work. I fixed this by not using
a section ID when replacing a section, but using the section shared
pointer so there can be no errors.


  Commit: 982646f33d1ac7872832c2f3969dc83a762eab5d
      https://github.com/llvm/llvm-project/commit/982646f33d1ac7872832c2f3969dc83a762eab5d
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    A llvm/test/Transforms/LoopStrengthReduce/X86/lcssa-preservation-regression.ll

  Log Message:
  -----------
  [LSR] Preserve LCSSA in SCEVRewriter

This is necessery to fix some regressions when switching to the NewPM
and seems to improve optimization quality in some cases due to LSR
currently not understanding loop nests (usage of getSCEV vs
getSCEVScoped). This patch just enables LCSSA
preservation for SCEVRewriter and updates all the relevant tests. There
are some further fixes that are needed to get this fully working that
will be included in follow up patches. This patch also only changes
behavior in the NewPM path to get that unblocked while more work is done
on ensuring LCSSA preservation/requirements do not regress LSR.

Similar to #185373 (although without follow up fixes and a regression
test).

Regression test added for the specific NewPM case noticed is in
Transforms/LoopStrengthReduce/X86/lcssa-preservation-regression.ll
(does not reproduce without the target triple).

Reviewers: arsenm, Meinersbur, fhahn, nikic, vikramRH

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


  Commit: 5b0cb22661a9a256fee7af77a79960d435ce8582
      https://github.com/llvm/llvm-project/commit/5b0cb22661a9a256fee7af77a79960d435ce8582
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/Transforms/LoopStrengthReduce/X86/lcssa-preservation-regression.ll
    M llvm/test/Transforms/LoopStrengthReduce/preserve-lcssa.ll

  Log Message:
  -----------
  [LSR] Preserve LCSSA in critical edge splitting

This was another case where LSR failed to preserve LCSSA, which will
trigger an assertion under the NewPM. This is currently only enabled
under the NewPM to avoid pessimizing any optimizations while unblocking
work on the NewPM.

Reviewers: fhahn, vikramRH, nikic, arsenm

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


  Commit: 871990a01ea72cb2090e73e52b0e66605a770f34
      https://github.com/llvm/llvm-project/commit/871990a01ea72cb2090e73e52b0e66605a770f34
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll

  Log Message:
  -----------
  [LAA] Collect no-wrap predicates separately in getPtrStride/isNoWrap. (#203787)

Add an overload of getPtrStride and update isNoWrap to collect no-wrap
SCEV predicates in a vector, and have the caller add them to PSE if
needed.

This also requires to explicitly build the wrap predicate via
ScalarEvolution::getWrapPredicate (clearing statically implied flags)
rather than going through PredicatedScalarEvolution::setNoOverflow,
which can now be removed together with the flags map.

This also requires generalizing SCEVUnionPredicate::implies so a wrap
predicate can be recognized as implied by an existing wrap predicate
after applying equal predicates, avoiding redundant predicates when the
collected predicates are committed.

The only functional changes is re-ordering of runtime check groups in a
single test case; no functional IR changes across a large IR corpus (32k
modules)

To be used to avoid adding unnecessary wrap predicates during interleave
group analysis: https://github.com/llvm/llvm-project/pull/200807

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


  Commit: 3f0ef1efb26206c3f5d5621d86d740c7f466c67b
      https://github.com/llvm/llvm-project/commit/3f0ef1efb26206c3f5d5621d86d740c7f466c67b
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/assume-loop-align.ll
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll

  Log Message:
  -----------
  Revert "[InstCombine] Merge consecutive assumes" (#205177)

Reverts llvm/llvm-project#204983 due to buildbot breakage (see
discussion in
https://github.com/llvm/llvm-project/pull/204983#issuecomment-4771424564)


  Commit: fe4ea7b81cad9c76d304370b3b4395df43cba9ec
      https://github.com/llvm/llvm-project/commit/fe4ea7b81cad9c76d304370b3b4395df43cba9ec
  Author: adams381 <adams at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/test/CIR/CodeGen/no-unique-address.cpp

  Log Message:
  -----------
  [CIR] Compute union base subobject for tail-padding reuse (#201428)

A [[no_unique_address]] field whose type is a union with reusable tail
padding made CIRGen trip the insertPadding "offset >= size" assertion in
CIRGenRecordLayoutBuilder. CIR sized the union member at its full size, so a
following field that the ABI places in the union's tail padding overlapped the
union and insertPadding asserted.

CIR already computed a distinct, smaller base subobject type for structs and
classes whose tail padding can be reused, but not for unions. A union has
reusable tail padding when one of its members is itself a [[no_unique_address]]
field with tail padding, which makes the union's data size smaller than its
size.

computeRecordLayout now builds that base type for unions too, sized from
getDataSize(), and lowerUnion emits the storage type plus trailing padding as
ordinary struct fields so the reusable padding is exposed, mirroring classic
CodeGen. The base-type gate also no longer skips records marked final, which
classic CodeGen never skipped and which otherwise hit the same assertion for a
final union with reusable tail padding.

This unblocks libcxx's std::expected tests, which lean on [[no_unique_address]]
over unions.


  Commit: 7ce49b34caa760403784fe2d541bf9feca4743a2
      https://github.com/llvm/llvm-project/commit/7ce49b34caa760403784fe2d541bf9feca4743a2
  Author: David Zbarsky <dzbarsky at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

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

  Log Message:
  -----------
  [BOLT][Bazel] Configure Rewrite target backends (#205179)

`RewriteInstance.cpp` only creates target-specific `MCPlusBuilder`
instances when `X86_AVAILABLE` or `AARCH64_AVAILABLE` is defined. The
Bazel `Rewrite` target defines neither macro and hard-codes `TargetX86`,
so `createMCPlusBuilder()` returns null for both target backends defined
by the Bazel overlay. Derive the definitions and dependencies from the
generated `bolt_targets` list, restricted to the `TargetAArch64` and
`TargetX86` rules defined in this BUILD file, and use the same target
dependencies for `llvm-bolt`.

Validation: `buildifier -mode=check -lint=warn
utils/bazel/llvm-project-overlay/bolt/BUILD.bazel`; an equivalent
overlay change built and executed BOLT for Linux x86_64 and Linux
AArch64 in [hermetic-llvm's remote `//prebuilt/llvm:all`
build](https://app.buildbuddy.io/invocation/7943a005-c159-4cb9-af0e-00ffbaa40bb5).

AI tool disclosure: Co-authored with OpenAI Codex.


  Commit: faaec33ab9eadf3433ffe720d19028464f2c265d
      https://github.com/llvm/llvm-project/commit/faaec33ab9eadf3433ffe720d19028464f2c265d
  Author: Harald van Dijk <hdijk at accesssoftek.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/include/clang/AST/RecursiveASTVisitor.h
    A clang/test/AST/pr198903.cpp
    A clang/test/Analysis/pr169302.cpp

  Log Message:
  -----------
  [Clang][RAV] Simplify TraverseTemplateArgumentLocsHelper (#199131)

We were checking the result of getTemplateArgsAsWritten() to skip over
implicit instantiations, with an assert to ensure that it has the
desired effect, before checking getTemplateSpecializationKind() ==
TSK_ExplicitSpecialization which would skip over implicit instantiations
anyway. As the included tests show, the invariant that we were relying
on did not hold, but we no longer have any need to rely on that, we can
now just check the result of getTemplateSpecializationKind() directly.

Fixes: #198903
Fixes: #169302


  Commit: 162d84f0955b8e10fd6d84ba7443c2eb596582ef
      https://github.com/llvm/llvm-project/commit/162d84f0955b8e10fd6d84ba7443c2eb596582ef
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    A llvm/test/Transforms/LoopVectorize/X86/predicated-replicate-feeding-cast.ll

  Log Message:
  -----------
  [VPlan] Handle single-scalar casts in replicateByVF. (#205181)

Fixes a crash after https://github.com/llvm/llvm-project/pull/203057.


  Commit: e67b31a00e72ebb1b3a782c6bfcad9b51f173521
      https://github.com/llvm/llvm-project/commit/e67b31a00e72ebb1b3a782c6bfcad9b51f173521
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M libunwind/src/UnwindRegistersSave.S

  Log Message:
  -----------
  [libunwind] Fix an uninitialized read of __ra_sign_state (#205152)

The Arm DWARF spec defines UNW_AARCH64_RA_SIGN_STATE as being zeroed
until the first .cfi_negate_ra_state / .cfi_set_ra_state [1]. The GPRs
struct containing __ra_sign_state is memcpy'd directly from the
unw_context_t, which in turn is initialized by __unw_getcontext. Since
it is a pseudo register, there is no corresponding state to restore in
__unw_resume.


https://github.com/ARM-software/abi-aa/blob/main/aadwarf64/aadwarf64.rst#44call-frame-instructions


  Commit: 8f249a7bd3bca35a5114aab85b5ce58ba4ca6461
      https://github.com/llvm/llvm-project/commit/8f249a7bd3bca35a5114aab85b5ce58ba4ca6461
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M lldb/include/lldb/Utility/FileSpec.h
    M lldb/source/Core/ModuleList.cpp
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Target/Platform.cpp
    M lldb/source/Utility/FileSpec.cpp

  Log Message:
  -----------
  [lldb][NFC] FileSpec::GetFileNameStrippingExtension should return a StringRef (#205178)

No need to create a ConstString of a filename without its file
extension.


  Commit: 60b48545638f63669fde6c832e0689f78310f6ec
      https://github.com/llvm/llvm-project/commit/60b48545638f63669fde6c832e0689f78310f6ec
  Author: Ziqing Luo <ziqing_luo at apple.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/FindDecl.h

  Log Message:
  -----------
  [SSAF] Let UnsafeBufferUsageExtractor & PointerFlowExtractor ignore templates (#198927)

Templates are ignored for two reasons:

- Template instantiations are still handled. Template facts can be
inferred from their instantiations.
- Templates are inherently difficult to reason about. Their ASTs can
contain dependent expression types (such as ParenListExpr) that
complicate analysis.


  Commit: 1f3d8cba700c2340bb223770932ebc054ce0b767
      https://github.com/llvm/llvm-project/commit/1f3d8cba700c2340bb223770932ebc054ce0b767
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/Aligner.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp

  Log Message:
  -----------
  [BOLT] Route alignment options through BinaryContext (NFC) (#204902)

Consolidate all alignment-related `cl::opt` definitions into
`CommandLineOpts.cpp`, expose matching public members on `BinaryContext`,
and populate them from `RewriteInstance::adjustCommandLineOptions` (and
mirrored in `MachORewriteInstance`). Switch all readers in Aligner,
BinaryEmitter, LongJmp, BinaryFunction and the use-old-text logs to
`BC.*` instead of `opts::*`.


  Commit: bb8f468d260f3c063b9cf23f387ec4b27bc1b146
      https://github.com/llvm/llvm-project/commit/bb8f468d260f3c063b9cf23f387ec4b27bc1b146
  Author: David Green <david.green at arm.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-and.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-or.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xor.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Update some scalar types to integer in tests. NFC (#205190)


  Commit: 33e8502336c76591172fbae37209d31c1e90c7c6
      https://github.com/llvm/llvm-project/commit/33e8502336c76591172fbae37209d31c1e90c7c6
  Author: Bhavesh M <85327930+beamandala at users.noreply.github.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
    M mlir/include/mlir/Dialect/EmitC/Transforms/Transforms.h
    M mlir/lib/Dialect/EmitC/Transforms/WrapFuncInClass.cpp
    M mlir/test/Dialect/EmitC/wrap-func-in-class.mlir

  Log Message:
  -----------
  [mlir][EmitC] Make `GlobalOps` `FieldOps` in wrap-emitc-func-in-class pass (#203641)

Update the `WrapFuncInClassPass` pass so that `GlobalOp`s are moved into
the `ClassOp` as `FieldOps`. This respects MLIR's behavior of resolving
references to the closest parent operation that defines a symbol table
which is the `ClassOp` that we are creating in this pass.

Without this change, references to a `GlobalOp` in `GetGlobalOp` are
failing to resolve.

Details:
- Identify `GlobalOp`s
- Create a `FieldOp` within the `ClassOp` for each `GlobalOp`
- Delete the `GlobalOp`s after all functions have been wrapped in a
class. Doing this after every function can cause an error when multiple
functions refer to the same `GlobalOp`(s) which would be deleted after
the first function is wrapped in a class.

Also renamed `fName` parameter in `populateWrapFuncInClass` to
`funcName` to match naming in `WrapFuncInClass`.

Based on PR #153452. Key differences:
- No size is set for the `globalsToMove` `SmallVector` type because I'm
not sure if the number of global variables is consistent across
different models.
- `GlobalOp`s are deleted after all functions have been processed.
- Instead of directly cloning the `GlobalOp`, an equivalent `FieldOp` is
created
- `GetGlobalOp`s are translated to `GetFieldOp`s

Co-authored-by: [Jaddyen](https://github.com/Jaddyen)


  Commit: ef752a0780be31ac94be5f459ff60629136f4087
      https://github.com/llvm/llvm-project/commit/ef752a0780be31ac94be5f459ff60629136f4087
  Author: Daniel Hill <daniel.hill at mongodb.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/eh-frame-hdr.test

  Log Message:
  -----------
  [BOLT] Emit .eh_frame_hdr before .eh_frame to prevent table scans from libdw (#201917)

resolves https://github.com/llvm/llvm-project/issues/201701 by moving
the `.eh_frame_hdr` section-header entry before `.eh_frame` before
assigning final section indices.

This lets BOLT binaries work with existing [libdw library logic
expecting the index before the
table](https://github.com/sourceware-org/elfutils/blob/67199e1c974db37f2bd200dcca7d7103f42ed06e/libdw/dwarf_getcfi_elf.c#L301),
preventing linear `.eh_frame` scanning.


  Commit: 7781a0c196acda252a1db67936b76e96e9971f4c
      https://github.com/llvm/llvm-project/commit/7781a0c196acda252a1db67936b76e96e9971f4c
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/tools.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Do not emit data transfer for constant read on the rhs (#205185)


  Commit: c97eb542a7c3202957da66758568230289b70697
      https://github.com/llvm/llvm-project/commit/c97eb542a7c3202957da66758568230289b70697
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-call.h
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/call47.f90

  Log Message:
  -----------
  [flang][Semantics] Do not require explicit interface checks for statement functions (#205023)

https://github.com/llvm/llvm-project/pull/198610 caused a regression,
where the
code path for explicit interface checks was also used for the statement
functions arg check. Refactor the code to avoid explicit interface
checks.

Fixes #203500

Assisted-by: AI


  Commit: 211ca98dd0a58600461f4d33ca5bf2a626558487
      https://github.com/llvm/llvm-project/commit/211ca98dd0a58600461f4d33ca5bf2a626558487
  Author: adams381 <adams at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
    M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
    M clang/test/CIR/CodeGen/pointer-to-data-member.cpp
    M clang/test/CIR/IR/invalid-data-member.cir

  Log Message:
  -----------
  [CIR] DataMemberAttr: replace flat index with GEP-style path (#200854)

`DataMemberAttr` stored a single field index relative to the immediately containing class, which broke when the member is inherited: `int Derived::*p = &Derived::x` with `x` in Base produced a spurious `errorNYI` because Derived's CIR record doesn't directly hold `x`.

The attribute now stores a GEP-style `member_path` — a sequence of CIR field indices stepping from the pointer's class type down to the member, one level per inheritance hop. `lowerDataMemberConstant` walks the path accumulating element offsets to produce the Itanium ABI byte value.

`buildMemberPath` searches the `destClass` record tree for the target field (`findFieldMemberPath`). `CK_BaseToDerivedMemberPointer` and `CK_DerivedToBaseMemberPointer` return `{}` in ConstExprEmitter, delegating to the APValue path which builds the correct path via `buildMemberPath`. Virtual bases are not yet handled.

`CK_ReinterpretMemberPointer` remains `errorNYI` on this branch; a follow-up PR will add that separately.


  Commit: 201cf31b84acbc80bf4a6d09197bc7e9df9bb4a5
      https://github.com/llvm/llvm-project/commit/201cf31b84acbc80bf4a6d09197bc7e9df9bb4a5
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/test/Analysis/AliasAnalysis/alias-analysis-host-assoc.fir
    M flang/test/Analysis/AliasAnalysis/alias-analysis-scoped-origins.fir

  Log Message:
  -----------
  [flang] Reduce FIR AA overhead for functions with one scope. (#204009)

Avoid overheads of collectScopedOrigins and
getDeclarationScope/DominanceInfo
when the values passed to FIR AA belong to a function with a single
dummy scope.


  Commit: fa016f67531e2274f7a7e38d11461ef5efcc5827
      https://github.com/llvm/llvm-project/commit/fa016f67531e2274f7a7e38d11461ef5efcc5827
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/test/tools/llvm-cas/validation.test

  Log Message:
  -----------
  [llvm-cas] Fix validation test on Ubuntu / uutils v0.2.2, NFC (#205199)

Work around uutils/coreutils#9128 by implementing the 40 byte truncation
in Python. Otherwise, this test fails out of the box on Ubuntu 25.10.
GNU coreutils supports -s=arg, but Mac truncate does not. Resorting to
Python seemed like the cleanest solution. The next best idea was to use
subshells or other techniques to calculate the file size and subtract
40, but that seemed excessive.


  Commit: 5ad66bdcaff8bbcce63bb9aef317600ae253cfbf
      https://github.com/llvm/llvm-project/commit/5ad66bdcaff8bbcce63bb9aef317600ae253cfbf
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/docs/ProjectGovernance.rst

  Log Message:
  -----------
  [docs] Minor edits to project governace docs (#203149)

s/non-private/public/

Pencil in the 2027 calendar year election dates, so they are posted well
in advance and we have a link anchor we can share.


  Commit: cd3bfc1f992612aff5df2c5d6c73d1c08a185880
      https://github.com/llvm/llvm-project/commit/cd3bfc1f992612aff5df2c5d6c73d1c08a185880
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/test/Transforms/LoopStrengthReduce/X86/lcssa-preservation-regression.ll

  Log Message:
  -----------
  [SCEV] Preserve LCSSA when reusing dominating variable

This seems to just be a missing case in SCEV. This came up when looking
at making LSR preserve LCSSA for the NewPM. Regression test of that
nature has been added.

Reviewers: fhahn, nikic, arsenm

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


  Commit: 64d386e642e5ee3f31a4d0ef45454bef10b4ea90
      https://github.com/llvm/llvm-project/commit/64d386e642e5ee3f31a4d0ef45454bef10b4ea90
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/README.txt
    A llvm/docs/CMake.md
    R llvm/docs/CMake.rst
    A llvm/docs/CodeGenerator.md
    R llvm/docs/CodeGenerator.rst
    A llvm/docs/CodingStandards.md
    R llvm/docs/CodingStandards.rst
    A llvm/docs/CommandGuide/index.md
    R llvm/docs/CommandGuide/index.rst
    A llvm/docs/Contributing.md
    R llvm/docs/Contributing.rst
    A llvm/docs/DeveloperPolicy.md
    R llvm/docs/DeveloperPolicy.rst
    A llvm/docs/GettingInvolved.md
    R llvm/docs/GettingInvolved.rst
    A llvm/docs/GettingStarted.md
    R llvm/docs/GettingStarted.rst
    A llvm/docs/GettingStartedTutorials.md
    R llvm/docs/GettingStartedTutorials.rst
    A llvm/docs/GitHub.md
    R llvm/docs/GitHub.rst
    M llvm/docs/GitRepositoryPolicy.md
    M llvm/docs/InstrRefDebugInfo.md
    A llvm/docs/Passes.md
    R llvm/docs/Passes.rst
    A llvm/docs/ProgrammersManual.md
    R llvm/docs/ProgrammersManual.rst
    A llvm/docs/RFCProcess.md
    R llvm/docs/RFCProcess.rst
    A llvm/docs/Reference.md
    R llvm/docs/Reference.rst
    M llvm/docs/RemoveDIsDebugInfo.md
    A llvm/docs/SourceLevelDebugging.md
    R llvm/docs/SourceLevelDebugging.rst
    M llvm/docs/SphinxQuickstartTemplate.md
    A llvm/docs/TableGen/index.md
    R llvm/docs/TableGen/index.rst
    A llvm/docs/TestingGuide.md
    R llvm/docs/TestingGuide.rst
    A llvm/docs/UserGuides.md
    R llvm/docs/UserGuides.rst
    A llvm/docs/WritingAnLLVMBackend.md
    R llvm/docs/WritingAnLLVMBackend.rst
    A llvm/docs/WritingAnLLVMNewPMPass.md
    R llvm/docs/WritingAnLLVMNewPMPass.rst
    A llvm/docs/WritingAnLLVMPass.md
    R llvm/docs/WritingAnLLVMPass.rst
    M llvm/docs/conf.py
    A llvm/docs/index.md
    R llvm/docs/index.rst
    M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/tools/reduce-chunk-list/reduce-chunk-list.cpp
    M llvm/utils/lit/tests/Inputs/shtest-define/examples/param-subst.txt

  Log Message:
  -----------
  [docs] Rename 22 popular LLVM docs .rst -> .md (#201243)

Tracking issue: #201242
RFC: https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840
Migration guide: https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

Update filename references, but leave the docs with reST syntax to
ensure rename detection works.

This intentionally breaks the documentation build, but I will immediately follow up by merging the PR that fixes it.


  Commit: 3e414a36cd82651e9d904e21ab444d3ca265d254
      https://github.com/llvm/llvm-project/commit/3e414a36cd82651e9d904e21ab444d3ca265d254
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/docs/CMake.md
    M llvm/docs/CodeGenerator.md
    M llvm/docs/CodingStandards.md
    M llvm/docs/CommandGuide/index.md
    M llvm/docs/Contributing.md
    M llvm/docs/DeveloperPolicy.md
    M llvm/docs/GettingInvolved.md
    M llvm/docs/GettingStarted.md
    M llvm/docs/GettingStartedTutorials.md
    M llvm/docs/GitHub.md
    M llvm/docs/Passes.md
    M llvm/docs/ProgrammersManual.md
    M llvm/docs/RFCProcess.md
    M llvm/docs/Reference.md
    M llvm/docs/SourceLevelDebugging.md
    M llvm/docs/TableGen/index.md
    M llvm/docs/TestingGuide.md
    M llvm/docs/UserGuides.md
    M llvm/docs/WritingAnLLVMBackend.md
    M llvm/docs/WritingAnLLVMNewPMPass.md
    M llvm/docs/WritingAnLLVMPass.md
    M llvm/docs/conf.py
    M llvm/docs/index.md

  Log Message:
  -----------
  [docs] Migrate 22 popular LLVM docs to MyST (#201244)

This was done with LLM assistance.

I rebuilt the LLVM docs, opened all 22 docs in a browser and scrolled
through them, and caught and fixed a few errors.

Tracking issue: #201242 
Migration guide docs:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
RFC:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840


  Commit: d9a1ed0c32ac6729c45ea6998281a1cd53c44fb6
      https://github.com/llvm/llvm-project/commit/d9a1ed0c32ac6729c45ea6998281a1cd53c44fb6
  Author: Kevin Sala Penades <salapenades1 at llnl.gov>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M offload/test/CMakeLists.txt

  Log Message:
  -----------
  [offload] Add kernel replay tool to tests' dependencies (#205209)


  Commit: 9e80b89e9481a88333c83d1f48a4492cdb8a84aa
      https://github.com/llvm/llvm-project/commit/9e80b89e9481a88333c83d1f48a4492cdb8a84aa
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M lldb/tools/debugserver/source/RNBRemote.cpp

  Log Message:
  -----------
  [lldb] Use heuristics to extend rather than replace error message (#205196)

When an attach fails, HandlePacket_A tries to explain why. The last two
checks are heuristics that discard any error debugserver already
produced for this specific failure.

The guess can be wrong, for example the PT_DENY_ATTACH test case from
#204688 is incorrectly reported as failing due to it running in a
non-interactive debug session on the bots.

Include debugserver's real error into the heuristic message, instead of
replacing it, so the real reason is never lost.


  Commit: e522c116b1e5180ac7a98f992895a296d3b75ef9
      https://github.com/llvm/llvm-project/commit/e522c116b1e5180ac7a98f992895a296d3b75ef9
  Author: Akshay K <iit.akshay at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    A clang/test/CIR/CodeGen/unary-expr-or-type-trait-32bit.cpp

  Log Message:
  -----------
  [CIR] Use the AST result type for sizeof/alignof constants (#203942)

On targets where `size_t` is narrower than 64 bits (e.g. `i686`), CIR
codegen for `sizeof`/`alignof`/`__builtin_vectorelements` crashes with a
type/value bitwidth mismatch.

The result of these expressions is `size_t`, but the emitted integer
constant was built with a hardcoded 64-bit type. `EvaluateKnownConstInt`
returns an `APSInt` with the width of the AST result type (32 bits on
this target), so it no longer matches the `IntAttr`'s type and trips the
`IntAttr` verifier.

  ### How to Reproduce
  ```c++
  using size_t = decltype(sizeof(int));
  size_t size_of_int() { return sizeof(int); }

  clang -cc1 -std=c++20 -triple i686-unknown-linux-gnu -fclangir \
    -emit-cir test.cpp -o test.cir

  error: type and value bitwidth mismatch: 64 != 32
  clang: mlir/include/mlir/IR/StorageUniquerSupport.h:180:
    ... Assertion `succeeded(ConcreteT::verifyInvariants(...))' failed.
   #11 cir::IntAttr::get(mlir::Type, llvm::APInt const&)
   #12 ScalarExprEmitter::VisitUnaryExprOrTypeTraitExpr(...)
   #13 CIRGenFunction::emitScalarExpr(...)
```
### Fix
Form the IntAttr using the converted AST result type (convertType(e->getType())) instead of a hardcoded 64-bit type, matching classic codegen. The same path covers the fixed-vector __builtin_vectorelements case.


  Commit: a7263bea29efd710a1207afe5641fad54692284d
      https://github.com/llvm/llvm-project/commit/a7263bea29efd710a1207afe5641fad54692284d
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M lldb/include/lldb/Breakpoint/Breakpoint.h
    M lldb/source/Breakpoint/Breakpoint.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp

  Log Message:
  -----------
  [lldb] Remove ConstString from Breakpoint::GetMatchingFileLine (#205210)


  Commit: 2d0b2fb0e0d8fa198be51096923675de9a564f83
      https://github.com/llvm/llvm-project/commit/2d0b2fb0e0d8fa198be51096923675de9a564f83
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h

  Log Message:
  -----------
  Revert "[lldb][Windows] Remember server's primary stop thread on gdb-remote stops" (#205220)

Reverts llvm/llvm-project#203525 because it breaks TestRealDefinition.py


  Commit: a6986f0b929d575728d564cd41bb0f9a6b6fdea4
      https://github.com/llvm/llvm-project/commit/a6986f0b929d575728d564cd41bb0f9a6b6fdea4
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/mod-file.cpp
    A flang/test/Semantics/modfile84.f90

  Log Message:
  -----------
  [flang][cuda][openacc] Emit an error when CUDA symbols are imported with CUDA disabled (#205207)


  Commit: bc4aadb7bfc2d00487c5965bc4f12a510db181a9
      https://github.com/llvm/llvm-project/commit/bc4aadb7bfc2d00487c5965bc4f12a510db181a9
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Lua/LuaState.cpp

  Log Message:
  -----------
  [lldb] Fix LuaState after #205210 (#205219)


  Commit: ff4bc6e5d96f1dabe2f82c289fa97889830fd08e
      https://github.com/llvm/llvm-project/commit/ff4bc6e5d96f1dabe2f82c289fa97889830fd08e
  Author: superdusty <superdusty at foxmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/ext-int.cpp

  Log Message:
  -----------
  [Clang] Fix crash when comparing fixed point type with BitInt (#199912)

Fixes #196948

Added checks in `handleFixedPointConversion`: reject fixed point/BitInt
comparisons

Now clang properly emits an error instead of crashing.

---------

Co-authored-by: cry <2091136672 at foxmail.com>


  Commit: 38df8cbd328efd43326ef18fc26a9a881f76cec1
      https://github.com/llvm/llvm-project/commit/38df8cbd328efd43326ef18fc26a9a881f76cec1
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    A lldb/test/API/macosx/deny-attach/Makefile
    A lldb/test/API/macosx/deny-attach/TestDenyAttach.py
    A lldb/test/API/macosx/deny-attach/main.c
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm

  Log Message:
  -----------
  [lldb] Survive ptrace(PT_DENY_ATTACH) when attaching (#204688) (#205198)

A process can opt out of being debugged with ptrace(PT_DENY_ATTACH). The
XNU kernel enforces this by delivering SIGSEGV to the *attaching*
process while it is still inside the ptrace(PT_ATTACHEXC) syscall. This
means debugserver gets killed before it can inspect the result. LLDB
only sees the dropped connection ("error: attach failed: lost
connection").

The condition can't be detected up front: the target's P_LNOATTACH flag
is not exposed to userspace. To work around this, install a temporary
SIGSEGV handler around the ptrace(PT_ATTACHEXC) call in AttachForDebug
and siglongjmp back out if it fires, turning the fatal signal into an
EPERM that propagates to lldb as a clear message:

```
error: attach failed: cannot attach to process N because it has
disabled debugging via ptrace(PT_DENY_ATTACH)
```

The handler only acts on a SIGSEGV that arrives on the attaching thread
while the guard is armed. Any other SIGSEGV restores the default handler
and re-raises. Genuine, unrelated, crashes still report normally.

rdar://44542907

Assisted-by: Claude


  Commit: c7e815b189ea5c0f8261ba13eb677465c992c625
      https://github.com/llvm/llvm-project/commit/c7e815b189ea5c0f8261ba13eb677465c992c625
  Author: Alexandre Isoard <isoard at amd.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    A clang/test/CodeGenHLSL/BasicFeatures/OutArgLifetime.hlsl

  Log Message:
  -----------
  [HLSL] Emit lifetime.start before copy-in for inout parameters (#191917)

For inout parameters, Clang was emitting lifetime.start after the
copy-in store that initializes the temporary. Per LLVM's lifetime
semantics, any access to memory outside its lifetime is undefined
behavior, so the copy-in store was technically UB and the value was
undefined after lifetime.start.

Move EmitLifetimeStart into EmitHLSLOutArgLValues so that it is emitted
before EmitInitializationToLValue, putting the copy-in store within the
lifetime of the temporary.

---------

Co-authored-by: Alexandre Isoard <alexandre.isoard at amd.com>
Co-authored-by: Deric C. <cheung.deric at gmail.com>


  Commit: 52e00058960e90b1ccadd07b95ca05d13e1f1318
      https://github.com/llvm/llvm-project/commit/52e00058960e90b1ccadd07b95ca05d13e1f1318
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaOpenCL.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaOpenCL.cpp
    A clang/test/SemaOpenCL/read-image-integer-linear-filter.cl

  Log Message:
  -----------
  [OpenCL] Warn if filter_mode is linear in read_image{i|ui} (#204086)

Per OpenCL spec:
The read_image{i|ui} calls support a nearest filter only. The
filter_mode specified in sampler must be set to CLK_FILTER_NEAREST;
otherwise the values returned are undefined.

Warn users when they apply a linear filter accidentally.
Address https://github.com/intel/compute-runtime/issues/379#issuecomment-4592083032

Assisted-by: Claude Sonnet 4.6


  Commit: dfe8b229d3ec40e49250cc587009d5752b58b087
      https://github.com/llvm/llvm-project/commit/dfe8b229d3ec40e49250cc587009d5752b58b087
  Author: yonghong-song <yhs at fb.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Target/BPF/BPFSelectionDAGInfo.cpp

  Log Message:
  -----------
  [BPF] Increase BPFMaxStoresPerMemFunc from 128 to 192 (#205222)

With commits [1] and [2], memory operations like memcpy/memmove lower to
a sequence of loads/stores whose width is the minimum of the source and
destination alignment, and the store count is bounded by
BPFMaxStoresPerMemFunc. For 1-byte alignment, the maximum copy length
that can be inlined is therefore 128 bytes.

This may regress cases that previously inlined. Consider a memcpy with
src alignment 8, dst alignment 1 and size 136. After [1]/[2], the store
width is the minimum alignment (1 byte), so the store count is 136,
which exceeds the 128 limit and the copy falls back. Before [1]/[2], the
store count was computed with a fixed 8-byte unit regardless of the
actual alignment (each unit expands to 8 one-byte stores when the
minimum alignment is 1), so the total count was only 17 (136/8 < 128)
and the copy was inlined.

Raise the limit from 128 to 192 to mitigate. Alternatively, users can
increase alignment to avoid the regression.

  [1] https://github.com/llvm/llvm-project/pull/201119
  [2] https://github.com/llvm/llvm-project/pull/204042


  Commit: 899548615f41018113e08260817ddcfc23060937
      https://github.com/llvm/llvm-project/commit/899548615f41018113e08260817ddcfc23060937
  Author: SiHuaN <liyongtai at iscas.ac.cn>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    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] packed exchanged add/sub codegen (#203473)

Wire up the already-defined exchanged add/sub instructions
pas/psa/psas/pssa/paas/pasa with llvm.riscv.* intrinsics and isel
patterns.


  Commit: f519bd91d300238660914d9094b5e70090da1d85
      https://github.com/llvm/llvm-project/commit/f519bd91d300238660914d9094b5e70090da1d85
  Author: lijinpei-amd <jinpli at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Verifier/memprof-metadata-bad.ll

  Log Message:
  -----------
  [Verifier] Require !callsite with !memprof metadata (#205053)

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


  Commit: d853c056e5db0f9e1779e351b02c98a141a95c8d
      https://github.com/llvm/llvm-project/commit/d853c056e5db0f9e1779e351b02c98a141a95c8d
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenValue.h
    M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
    M clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGenBuiltins/builtin-nontemporal.cpp

  Log Message:
  -----------
  [CIR] Add support for __builtin_nontemporal_store and __builtin_nontemporal_load (#197872)

Add nontemporal attribute to cir.load and cir.store ops.


  Commit: e2765f3e202cd0ed126fb72cd77a1f59ecaf739b
      https://github.com/llvm/llvm-project/commit/e2765f3e202cd0ed126fb72cd77a1f59ecaf739b
  Author: ZT Qin <xiaoyaoyou95 at hotmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/Attributor/reduced/openmp_opt_constant_type_crash.ll
    M llvm/test/Transforms/OpenMP/single_threaded_execution.ll

  Log Message:
  -----------
  [OpenMPOpt][Attributor] Selectively seed deglobalization AAs (#198710)

This addresses a compile-time issue observed on a large generated C++
translation unit compiled with `-fopenmp`.

The source code is not OpenMP-heavy. It mainly consists of generated
function-registration wrappers, template instantiations, lambdas, and
small helper functions. However, because the TU is compiled with OpenMP
enabled, `OpenMPOptCGSCCPass` runs and drives Attributor on a module
with many functions.

`OpenMPOpt::registerAAsForFunction` currently eagerly creates the
deglobalization AAs for every function in OpenMP device modules:

* `AAHeapToShared`
* `AAHeapToStack`

Most generated wrapper/helper functions in the motivating workload do
not contain `__kmpc_alloc_shared`, removable allocations, or free-like
calls. In those cases, the deglobalization AAs have no useful candidates
but still contribute to Attributor initialization and fixed-point work.

This patch makes the deglobalization AA seeding more selective:

* only create `AAHeapToShared` for functions with non-empty
`__kmpc_alloc_shared` uses;
* only create `AAHeapToStack` for functions containing removable
allocation or free-like call candidates;
* make `AAHeapToShared` use the per-function runtime use vector instead
of scanning all users of the runtime declaration.

I also measured the previously attempted pieces independently. The
compile-time improvement comes from the selective seeding change. The
Attributor use-caching change and the `registerAAsForFunction`
registration cache did not show meaningful benefit on the motivating
workload, so they have been removed from this PR.

On the motivating TU, selective seeding reduced total compile time from
about 3473s to 271s, and `OpenMPOptCGSCCPass` time from about 3232s to
111s.

---------

Co-authored-by: jnudhf <jnudhf at users.noreply.github.com>
Co-authored-by: Shilei Tian <i at tianshilei.me>


  Commit: c91c9fced2ff7266e566fad2963ab241bf6360b3
      https://github.com/llvm/llvm-project/commit/c91c9fced2ff7266e566fad2963ab241bf6360b3
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Support/Allocator.h
    M llvm/unittests/Support/AllocatorTest.cpp

  Log Message:
  -----------
  Reland [Allocator] Keep bump pointer at a minimum alignment (#205240)

Reland #203718 (reverted in #205091) by making computation in integer
domain to avoid UB (nullptr + non-zero offset).

Add a `MinAlign` template parameter (default 8, sizeof(size_t) on 64-bit
platforms) so that the common case `Alignment <= MinAlign` can skip
realigning `CurPtr`.

This is achieved by rounding each allocation's size up to MinAlign, so
the bump pointer stays MinAlign-aligned between allocations.

SpecificBumpPtrAllocator::DestroyAll() walks objects at a fixed
sizeof(T) stride and needs tight packing, so it uses MinAlign=1.
(alignof(T) would
pack just as tightly and reuse the default instantiation, but T may be
incomplete here, e.g. `SpecificBumpPtrAllocator<MCSectionELF>`.)

Its `Allocate` still skips the realign: the slab is max_align_t-aligned
and every size is a multiple of alignof(T), so the bump pointer stays
alignof(T)-aligned and we can just request alignment 1. Over-aligned
types (alignof(T) > alignof(max_align_t)) keep requesting alignof(T).

Also use `bit_ceil` instead of `NextPowerOf2` in the placement operator
new alignment heuristic. NextPowerOf2 is strictly greater, so an 8-byte
pointer-sized object asked for alignment 16 and missed the fast path;
bit_ceil(8) == 8 keeps it on the fast path.

Aided by Claude Opus 4.8


  Commit: de1effc8639273ea79f95e198133dec777ff8908
      https://github.com/llvm/llvm-project/commit/de1effc8639273ea79f95e198133dec777ff8908
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    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
    M llvm/test/MC/RISCV/rv64p-aliases-valid.s

  Log Message:
  -----------
  [RISCV][P-ext] Rename pwcvt/pncvt pseudoinstructions for RV64. (#205227)

We need to add a 'w' to the suffix to indicate it operates on a word and
not a register pair like on RV32. See https://github.com/riscv/riscv-p-spec/pull/303


  Commit: 53fec04cc23de825ed6ae1c84dea5d45b746fba9
      https://github.com/llvm/llvm-project/commit/53fec04cc23de825ed6ae1c84dea5d45b746fba9
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
    M mlir/test/Dialect/Arith/int-range-opts-crash.mlir

  Log Message:
  -----------
  [mlir][arith] Fix APInt bitwidth mismatch crash in int-range-optimizations (#205110)

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

When an op's `areTypesCompatible()` hook accepts integers of different
widths across a region boundary, the range analysis can propagate a
constant range whose APInt bitwidth does not match the IR type of the
destination value.
This caused `IntegerAttr::get` to `assert` in
`maybeReplaceWithConstant`.

Fix by bailing out in `maybeReplaceWithConstant` when the bitwidths
mismatch, and adding the same check to the needsReplacing lambda in
matchAndRewrite.

The second guard is necessary to mirror the existing isIntOrIndex()
guard — without it the pattern claims success without changing the IR,
causing the greedy rewrite driver to loop.

We should now see
```
 anutosh491 at Anutoshs-MacBook-Air mlir-build % ./bin/mlir-opt -int-range-optimizations bin/a.mlir
module {
  func.func @m0() -> i32 {
    %c1_i64 = arith.constant 1 : i64
    %c0_i32 = arith.constant 0 : i32
    %0 = "test.region_types_compat"(%c0_i32) ({
    ^bb0(%arg0: i64):
      test.types_compat_yield %c1_i64 : i64
    }) : (i32) -> i32
    return %0 : i32
  }
}
```


  Commit: cdfd1e081529447ecb56ae7a43a32d8b237b9c28
      https://github.com/llvm/llvm-project/commit/cdfd1e081529447ecb56ae7a43a32d8b237b9c28
  Author: Yonah Goldberg <ygoldberg at nvidia.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/test/Transforms/SROA/struct-to-vector-subpartition.ll

  Log Message:
  -----------
  Patch tryCanonicalizeStructToVector to handle split slice tails (#201434)

We choose a vector alloca over a struct alloca when all users of the
alloca are memory or lifetime intrinsics. But we only accounted for
slices that start in the corresponding partition. We have to also check
that all split slice tails overlapping the partition are memory or
lifetime intrinsics

I also updated the `PassRegistry.def` to include the new pass option
because we forgot to add that.


  Commit: d147ad969aa97fa500e250c33fe8d0770117708b
      https://github.com/llvm/llvm-project/commit/d147ad969aa97fa500e250c33fe8d0770117708b
  Author: Sam Elliott <aelliott at qti.qualcomm.com>
  Date:   2026-06-22 (Mon, 22 Jun 2026)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/test/MC/RISCV/xqcilo-pseudos-invalid.s
    M llvm/test/MC/RISCV/xqcilo-pseudos-valid.s

  Log Message:
  -----------
  [RISCV] Update Xqcilo Pseudos (#196422)

This changes the Xqcilo pseudos to instead emit a sequence of
`qc.e.li` followed by a standard load/store annotated with %qc.access.
The new sequence is easier for our linker to relax.

This Change was written with the assistance of AI.


  Commit: f7ec732d50620ed5833c283558bf74fd446962e9
      https://github.com/llvm/llvm-project/commit/f7ec732d50620ed5833c283558bf74fd446962e9
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/mod-file.cpp
    R flang/test/Semantics/modfile84.f90

  Log Message:
  -----------
  Revert "[flang][cuda][openacc] Emit an error when CUDA symbols are imported with CUDA disabled" (#205254)

Reverts llvm/llvm-project#205207


  Commit: 3d8ca7e0544c4cca5367c83b1ccd4246bc3dea77
      https://github.com/llvm/llvm-project/commit/3d8ca7e0544c4cca5367c83b1ccd4246bc3dea77
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M orc-rt/include/orc-rt/AllocAction.h

  Log Message:
  -----------
  [orc-rt] Replace AAHandlerTraits with CallableArgInfo. NFCI. (#205257)

CallableArgInfo provides a superset of AAHandlerTraits functionality, so
we don't need the latter.


  Commit: c492c7d5c2e49e576fce149706139f37f6aae934
      https://github.com/llvm/llvm-project/commit/c492c7d5c2e49e576fce149706139f37f6aae934
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [RISCV] Avoid implicit conversions from MCRegister to MCPhysReg. NFC (#205260)


  Commit: 194da0f3e774426dfa646e9879a1ad109db06c6c
      https://github.com/llvm/llvm-project/commit/194da0f3e774426dfa646e9879a1ad109db06c6c
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendOptions.h
    A clang/include/clang/Frontend/SSAFOptions.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp

  Log Message:
  -----------
  Reland "[clang][ssaf][NFC] Move SSAF flags from FrontendOptions to a dedicated SSAFOptions" (#204798)

Second attempt of #204686

This class will help keeping SSAF options apart from generic
FrontendOptions. It is inspired by AnalyzerOptions.

This way all of these SSAF (and future) options will be at a
centralized place.

In preparation of rdar://179151023


  Commit: 576584794d9124c7228f4599e757dc909a534f1c
      https://github.com/llvm/llvm-project/commit/576584794d9124c7228f4599e757dc909a534f1c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M orc-rt/include/orc-rt/AllocAction.h
    M orc-rt/include/orc-rt/SPSAllocAction.h
    M orc-rt/unittests/AllocActionTest.cpp

  Log Message:
  -----------
  [orc-rt] Add return serialization to AllocActionFunction::handle. (#205271)

Add a Serializer template parameter to AllocActionFunction::handle and
apply it to the handler's return value before forwarding as the action
result. This lets handler authors return types other than
WrapperFunctionBuffer.

For SPS, AllocActionSPSSerializer is the default Serializer used by
SPSAllocActionFunction::handle. It accepts either:
- WrapperFunctionBuffer (identity pass-through, the existing behavior),
or
- Error (success → empty WFB; failure → out-of-band-error WFB carrying
toString(Err)).

Adds AllocActionTest coverage for both Error-return paths.


  Commit: 639c5a014fad13c683b01c66a1474b7aa47ce7ee
      https://github.com/llvm/llvm-project/commit/639c5a014fad13c683b01c66a1474b7aa47ce7ee
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/ioctl.h
    M libc/src/sys/ioctl/linux/CMakeLists.txt
    M libc/src/sys/ioctl/linux/ioctl.cpp
    M libc/src/termios/linux/CMakeLists.txt
    M libc/src/termios/linux/tcdrain.cpp
    M libc/src/termios/linux/tcflow.cpp
    M libc/src/termios/linux/tcflush.cpp
    M libc/src/termios/linux/tcgetattr.cpp
    M libc/src/termios/linux/tcgetsid.cpp
    M libc/src/termios/linux/tcsendbreak.cpp
    M libc/src/termios/linux/tcsetattr.cpp
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/isatty.cpp

  Log Message:
  -----------
  [libc] Introduce the ioctl syscall wrapper and port all callers (#204640)

This patch adds an ioctl syscall wrapper in linux_syscalls namespace and
migrates all direct SYS_ioctl calls to use it.

To handle the polymorphic nature of ioctl arguments (where some commands
expect pointers, some expect scalar integers like queue_selector, and
some expect no argument at all), I use a helper struct IoctlArg with
implicit constructors. This avoids template bloat and overload
ambiguities (particularly around literal 0) while keeping call sites
clean.

Assisted by Gemini.


  Commit: c1bc84866a5ada0ec12c810ca42b381b776d198a
      https://github.com/llvm/llvm-project/commit/c1bc84866a5ada0ec12c810ca42b381b776d198a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp

  Log Message:
  -----------
  [Clang][ABI] Validate consistency between ABI lowering implementation (#203281)

If the LLVM ABI library is used, and assertions are enabled, compute the
ABI both using Clang's implementation the the LLVM ABI library, and
verify that the results are the same.


  Commit: ffeb9c1d2612cb5729889b6e82ade060192722dd
      https://github.com/llvm/llvm-project/commit/ffeb9c1d2612cb5729889b6e82ade060192722dd
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp

  Log Message:
  -----------
  [clang][ssaf][NFC] Make SSAFOptions available in Builders and Extractors (#204684)

Now that we have SSAFOptions, it would make it a lot more ergonomic if
it was accessible from builders and extractors.
This PR does exactly that.

Part of rdar://179151023

Co-authored-by: Jan Korous <jkorous at apple.com>
Co-authored-by: Claude Opus 4.7 <noreply at anthropic.com>


  Commit: 50838f484bbf4d514386d0717a789600790f1a1f
      https://github.com/llvm/llvm-project/commit/50838f484bbf4d514386d0717a789600790f1a1f
  Author: Yuxuan Shui <yshuiv7 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-symbolizer.rst
    M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
    M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
    M llvm/test/tools/llvm-symbolizer/pdb/pdb.test
    M llvm/tools/llvm-symbolizer/Opts.td
    M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp

  Log Message:
  -----------
  [symbolizer] Add a --pdb option. (#171053)

Closes #142490


  Commit: ebaee77528bb1e5b241c4466117772dd3954340e
      https://github.com/llvm/llvm-project/commit/ebaee77528bb1e5b241c4466117772dd3954340e
  Author: adalal-2441 <adalal at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/test/CodeGen/X86/avx512-load-store.ll

  Log Message:
  -----------
  [X86] Prevent folding of volatile scalar loads into masked loads in selects (#205103)

X86 select patterns were folding scalar FP loads into AVX-512 masked
loads. Since masked loads suppress memory access when the mask is 0,
this can incorrectly eliminate the observable access of volatile loads,
leading to miscompilation. Non-volatile loads are unaffected.

Multi-use loads already avoid folding, since folding consumes the load
into the instruction's memory operand and leaves no value for the other
users, forcing it to be materialized into a register. Single-use
volatile loads did not, and this must also be prevented, as volatile
loads are required to always perform their memory access.

Fix this by using the isSimple()-guarded simple_load pattern instead of
loadf32/loadf64, ensuring volatile loads are not folded.

Found via @jlebar's X86 LLVM bug hunt / FuzzX effort:
https://github.com/SemiAnalysisAI/FuzzX/blob/master/x86/bugs/093-avx512-vmovs-x86selects-load-fold-mask-suppress


  Commit: 635cbc0ebb2851d4cb9d72dcd62f2ef2dd1c25c5
      https://github.com/llvm/llvm-project/commit/635cbc0ebb2851d4cb9d72dcd62f2ef2dd1c25c5
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    R libc/src/__support/OSUtil/linux/syscall_wrappers/ioctl.h
    M libc/src/sys/ioctl/linux/CMakeLists.txt
    M libc/src/sys/ioctl/linux/ioctl.cpp
    M libc/src/termios/linux/CMakeLists.txt
    M libc/src/termios/linux/tcdrain.cpp
    M libc/src/termios/linux/tcflow.cpp
    M libc/src/termios/linux/tcflush.cpp
    M libc/src/termios/linux/tcgetattr.cpp
    M libc/src/termios/linux/tcgetsid.cpp
    M libc/src/termios/linux/tcsendbreak.cpp
    M libc/src/termios/linux/tcsetattr.cpp
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/isatty.cpp

  Log Message:
  -----------
  Revert "[libc] Introduce the ioctl syscall wrapper and port all callers" (#205277)

Reverts llvm/llvm-project#204640

Breaks libc-x86_64-debian-fullbuild. Reverting while I investigate.


  Commit: 9e3fc52b6e15d9ca4c07d014e7ac41ddd462f353
      https://github.com/llvm/llvm-project/commit/9e3fc52b6e15d9ca4c07d014e7ac41ddd462f353
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/test/CodeGen/AMDGPU/fold-imm-pk64.mir
    M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
    M llvm/test/CodeGen/AMDGPU/packed-u64.ll
    M llvm/test/CodeGen/AMDGPU/pk-lshl-add-u64.ll

  Log Message:
  -----------
  [AMDGPU] Fold v2{i|f}64 immediates (#205195)


  Commit: 3e69ed4e8aeb3f3773e4551308141af1c91d78cb
      https://github.com/llvm/llvm-project/commit/3e69ed4e8aeb3f3773e4551308141af1c91d78cb
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendOptions.h
    R clang/include/clang/Frontend/SSAFOptions.h
    M clang/include/clang/Options/Options.td
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp

  Log Message:
  -----------
  Revert some SSAF patches (#205279)

I've started seeing some failures on Windows permissive bots.
I'll revert my patches for now until further investigation.

errors:
https://lab.llvm.org/buildbot/#/builders/107/builds/20548
```
C:\b\slave\sanitizer-windows\llvm-project\clang\lib\Frontend\CompilerInvocation.cpp
C:\b\slave\sanitizer-windows\build\tools\clang\include\clang/Options/Options.inc(9981): error C2065: 'SSAFOpts': undeclared identifier
C:\b\slave\sanitizer-windows\build\tools\clang\include\clang/Options/Options.inc(9982): note: see reference to function template instantiation 'auto GenerateSSAFArgs::<lambda_5f504a9e8792b8b03f1d39701f31dbec>::operator ()<T>(const T &) const' being compiled
        with
        [
            T=std::vector<std::string,std::allocator<std::string>>
        ]
```

Revert "Reland "[clang][ssaf][NFC] Move SSAF flags from FrontendOptions
to a dedicated SSAFOptions" (#204798)"
This reverts commit 194da0f3e774426dfa646e9879a1ad109db06c6c.

Revert "[clang][ssaf][NFC] Make SSAFOptions available in Builders and
Extractors (#204684)"
This reverts commit ffeb9c1d2612cb5729889b6e82ade060192722dd.


  Commit: 115c749cbdada7c2663d4a64c166bafccab5fcfa
      https://github.com/llvm/llvm-project/commit/115c749cbdada7c2663d4a64c166bafccab5fcfa
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/test/CodeGen/AMDGPU/packed-fp64.ll

  Log Message:
  -----------
  [AMDGPU] Select fneg modifier for v2f64 instructions (#205194)


  Commit: 9550cd76cadea9f25a5c0bf3ee06e9f7ce5631ed
      https://github.com/llvm/llvm-project/commit/9550cd76cadea9f25a5c0bf3ee06e9f7ce5631ed
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp

  Log Message:
  -----------
  [IR] Remove IRBuilder AddMetadataToInst (#202280)

This avoids an extra check for metadata on every instruction insertion,
makes constructing an IRBuilder cheaper, and therefore slightly improves
performance.

As the C API doesn't expose CollectMetadataToCopy or any other way to
add additional metadata to the IRBuilder, make LLVMAddMetadataToInst an
alias for LLVMSetInstDebugLocation and undeprecate the latter.


  Commit: 876439fa00d7e04201f08418297bcdbd85400bb8
      https://github.com/llvm/llvm-project/commit/876439fa00d7e04201f08418297bcdbd85400bb8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Transforms/Inline/X86/call-abi-compatibility.ll
    M llvm/test/Transforms/PhaseOrdering/X86/loop-vectorizer-noalias.ll

  Log Message:
  -----------
  [X86][Inline] Make ABI compatibility check more precise (#205106)

When inlining a function that contains calls with vector arguments, we
have to be careful that inlining does not change the ABI of the call.
E.g. we generally can't inline a function without `+avx` into a
function with `+avx` if there are calls using vectors of size 256 or
larger, because they'd switch from passing in two xmm registers to
passing in a ymm register.

However, the current check is very crude and only allows inlining with
interior calls if the target features match *exactly* (via the base
areTypesABICompatible implementation). This is unnecessarily
conservative, as many target features do not affect the call ABI at all.

Make this check more precise by checking the result of
getRegisterTypeForCallingConv for the type between the TLI instances for
the caller and callee.


  Commit: d39923c4df01fdeb10dae4da256c09fdf616157c
      https://github.com/llvm/llvm-project/commit/d39923c4df01fdeb10dae4da256c09fdf616157c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/AVR.cpp
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/CSKY.cpp
    M clang/lib/Basic/Targets/CSKY.h
    M clang/lib/Basic/Targets/Hexagon.h
    M clang/lib/Basic/Targets/Lanai.cpp
    M clang/lib/Basic/Targets/Lanai.h
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/lib/Basic/Targets/M68k.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Basic/Targets/Xtensa.h

  Log Message:
  -----------
  clang: Change TargetInfo::setCPU to take StringRef (#205278)

The related APIs all use StringRef, so use StringRef for
consistency.

Co-Authored-By: Claude (Opus 4.8) <noreply at anthropic.com>


  Commit: 4057dfd091241ab4784d1355422892b48810edf6
      https://github.com/llvm/llvm-project/commit/4057dfd091241ab4784d1355422892b48810edf6
  Author: PushkarSingh <149073046+iitianpushkar at users.noreply.github.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
    M clang/test/Sema/LifetimeSafety/invalidations.cpp
    M clang/test/Sema/LifetimeSafety/safety-c.c
    M clang/test/Sema/LifetimeSafety/safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Improve destroyed and invalidated diagnostic notes (#204900)

## Summary

Improve Lifetime Safety diagnostic notes by identifying the affected
storage in destruction and invalidation notes.

Examples:
```
{
  int value;
  ptr = &value;
}
```
Before:
```
note: destroyed here
```
After:
```
note: local variable 'value' is destroyed here
```
For temporaries:
```
note: temporary object is destroyed here
```
For invalidations:
```
note: local variable 'container' is invalidated here
```
For parameters:
```
note: parameter 'container' is invalidated here
```
For explicitly deallocated storage:
```
note: allocated object is freed here
```
## Implementation

The lifetime analysis already knows which object is responsible for a
warning. This change reuses that information when producing the
accompanying destruction, invalidation or deallocation note.
All affected regression tests have been updated to check the complete
diagnostic messages.

Addresses #200234


  Commit: 8289d982fb4267d9a5e545276292170a9b0f6700
      https://github.com/llvm/llvm-project/commit/8289d982fb4267d9a5e545276292170a9b0f6700
  Author: Avhi <oss at avhi.in>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/FixIrreducible.cpp
    A llvm/test/Transforms/FixIrreducible/unsupported-terminator.ll

  Log Message:
  -----------
  [FixIrreducible] Use reportFatalUsageError for unsupported terminators (#205244)

`opt -passes=fix-irreducible` crashed via `llvm_unreachable` on a
`switch` terminator incident to an irreducible cycle header. Such
terminators must be lowered first (`lower-switch`); replace the
`llvm_unreachable` at both sites with `reportFatalUsageError` so the
pass fails gracefully instead of crashing.

Fixes #191978

Signed-off-by: AvhiMaz <avhimazumder5 at outlook.com>


  Commit: bad300bda1b936f160f49111b6e67731605c95fb
      https://github.com/llvm/llvm-project/commit/bad300bda1b936f160f49111b6e67731605c95fb
  Author: Ches Burks <chesburks at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/ADT/STLExtras.h
    M mlir/include/mlir/Query/Matcher/MatchersInternal.h

  Log Message:
  -----------
  [MLIR][ADT] Improve matcher compatability with C++20 STL (#205255)

When building MLIR on C++20 in Visual Studio with clang-cl, there are
several related compiler errors, grouped by project:

MLIRQueryMatcher
```C
type '_Mybase' (aka 'typename conditional<conjunction_v<is_trivially_destructible<DynMatcher>, is_trivially_move_constructible<DynMatcher>, is_trivially_move_assignable<DynMatcher>>, typename conditional<conjunction_v<is_trivially_destructible<DynMatcher>, is_trivially_copy_constructible<DynMatcher>, is_trivially_copy_assignable<DynMatcher>>, _Non_trivial_move<_Optional_construct_base<DynMatcher>, DynMatcher>, _Non_trivial_copy_assign<_Optional_construct_base<DynMatcher>, DynMatcher>>::type, _Non_trivial_move_assign<_Optional_construct_base<DynMatcher>, DynMatcher>>::type') is not a direct or virtual base of 'std::optional<mlir::query::matcher::DynMatcher>'
no member named '_Value' in 'std::optional<mlir::query::matcher::DynMatcher>'
no member named '_Has_value' in 'std::optional<mlir::query::matcher::DynMatcher>'
no matching function for call to '_Destroy_range'
invalid application of 'sizeof' to an incomplete type 'mlir::query::matcher::DynMatcher'
invalid application of 'alignof' to an incomplete type 'mlir::query::matcher::DynMatcher'
```

MLIRQueryMatcher, MLIRQuery, MLIRQueryLib, and mlir-query
```C
no viable conversion from 'std::vector<DynMatcher>' to 'ArrayRef<DynMatcher>'
incomplete type 'mlir::query::matcher::DynMatcher' used in type trait expression
```

MLIRIR
```C
no matching constructor for initialization of 'llvm::detail::indexed_accessor_range_base<mlir::SuccessorRange, mlir::BlockOperand *, mlir::Block *, mlir::Block *, mlir::Block *>::iterator'
invalid operands to binary expression ('const std::reverse_iterator<llvm::detail::indexed_accessor_range_base<mlir::SuccessorRange, mlir::BlockOperand *, mlir::Block *, mlir::Block *, mlir::Block *>::iterator>' and 'const std::reverse_iterator<llvm::detail::indexed_accessor_range_base<mlir::SuccessorRange, mlir::BlockOperand *, mlir::Block *, mlir::Block *, mlir::Block *>::iterator>')
```

std::vector<T> operations require complete type T for pointer
arithmetic, std::optional<T> has a similar problem.
std::reverse_iterator requires a default constructor for iterator.

Adding a default constructor for iterator, and defining VariadicMatcher
functions after DynMatcher is defined, resolves the errors.


  Commit: 70c54ff1d5662f5a9ad22b3f6eeb287cef10236f
      https://github.com/llvm/llvm-project/commit/70c54ff1d5662f5a9ad22b3f6eeb287cef10236f
  Author: SiHuaN <liyongtai at iscas.ac.cn>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    M clang/lib/Headers/riscv_packed_simd.h
    M clang/test/CodeGen/RISCV/rvp-intrinsics.c
    M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c

  Log Message:
  -----------
  [Clang][RISCV] packed exchanged add/sub intrinsics (#205251)

Add the `__riscv_{pas,psa,psas,pssa,paas,pasa}_x_*` header wrappers over
new `__builtin_riscv_*` builtins.


  Commit: 3f7eb27ad40516fc66139e2043b8fc08bfe66d76
      https://github.com/llvm/llvm-project/commit/3f7eb27ad40516fc66139e2043b8fc08bfe66d76
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [X86] madd.ll - add SSE42 test coverage (#205299)


  Commit: e85f1c1cf0f3b938803c1ce4763b096499a7f701
      https://github.com/llvm/llvm-project/commit/e85f1c1cf0f3b938803c1ce4763b096499a7f701
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyBreakpoints.py

  Log Message:
  -----------
  [lldb][test] Skip TestConcurrentManyBreakpoints (#205298)


  Commit: fbdb644a8b066d9c615077da31f10330e8a2f3d6
      https://github.com/llvm/llvm-project/commit/fbdb644a8b066d9c615077da31f10330e8a2f3d6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp

  Log Message:
  -----------
  AMDGPU: Move AMDGPUTargetID to AMDGPUTargetParser (#205268)


  Commit: 11a928ec5cb21d4830fa8029160f33dc621ace5d
      https://github.com/llvm/llvm-project/commit/11a928ec5cb21d4830fa8029160f33dc621ace5d
  Author: John Brawn <john.brawn at arm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/use-outside-loop.ll

  Log Message:
  -----------
  [LSR] Don't merge ICmpZero uses outside loop (#205131)

In NarrowSearchSpaceByMergingUsesOutsideLoop don't merge ICmpZero uses
outside the loop with uses inside the loop, as the resulting use will
have a kind that's not ICmpZero, which will mean the compare won't be
expanded correctly later.


  Commit: 40dc2b25d8bf421d0194ccb248561d372d168c96
      https://github.com/llvm/llvm-project/commit/40dc2b25d8bf421d0194ccb248561d372d168c96
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp

  Log Message:
  -----------
  [CIR] Fix LoadOp creation (#205294)


  Commit: 649e3e0e23222418bfbd8a4247875823be71143b
      https://github.com/llvm/llvm-project/commit/649e3e0e23222418bfbd8a4247875823be71143b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    A llvm/test/Transforms/ArgumentPromotion/X86/struct-load.ll

  Log Message:
  -----------
  [X86][TTI] Handle structs in areTypesABICompatible() (#205308)

Fixes a regression from #205106. getValueType() asserts on aggregate
types. Use CompuateValueVTs() to compute the de-aggregated VTs.

Performing argument promotion for struct types seems pretty
dubious to me, but it was previously allowed, so I'm retaining
that behavior. We may want to disable promotion of aggregates
in ArgPromotion entirely though.


  Commit: 3bfec5dd4309a53c0df9f9a59dcfa8232746240d
      https://github.com/llvm/llvm-project/commit/3bfec5dd4309a53c0df9f9a59dcfa8232746240d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt

  Log Message:
  -----------
  AMDGPU: Temporarily restore disassembler's dependency on TargetParser, again (#205309)

Reverts part of #205268


  Commit: 1e3018523042d1b610b6676cf8d056315f6e3bd7
      https://github.com/llvm/llvm-project/commit/1e3018523042d1b610b6676cf8d056315f6e3bd7
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    A llvm/test/CodeGen/SystemZ/target-flags.ll

  Log Message:
  -----------
  [SystemZ] Add serialization strings for some MO target flags. (#203053)

These strings are needed for MIR textual representation: If one is
missing it doesn't work to do "-stop-before=XXX and then
-start-before=XXX".


  Commit: 0d49a95036d2d4579d3da4cf7b72f6be0fe33bd5
      https://github.com/llvm/llvm-project/commit/0d49a95036d2d4579d3da4cf7b72f6be0fe33bd5
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendOptions.h
    A clang/include/clang/Frontend/SSAFOptions.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp

  Log Message:
  -----------
  Reland "[clang][ssaf][NFC] Move SSAF flags from FrontendOptions to a dedicated SSAFOptions" (#205312)

Third attempt of #204686
Previous attempt was: #204798
This was last reverted in #205279

This class will help keeping SSAF options apart from generic
FrontendOptions. It is inspired by AnalyzerOptions.

This way all of these SSAF (and future) options will be at a
centralized place.

In preparation of rdar://179151023

---

The previous attempt had issues on Windows with `/permissive` configs.
The issue was that `GENERATE_OPTION_WITH_MARSHALLING` had a generic
lambda capture and that does not constitute as an ODR-use of the
captured name - because that name was only used in an unevaluated context.
This meant that MSVC refused to find the function parameter.

My speculative solution is to follow the established pattern of passing
a pointer to the Opts structure instead of passing it directly as a
reference - similar to how `AnalyzerOptions` are passed around that macro.


  Commit: 8b7e7fa49b6296eefe422da168a5595102c39870
      https://github.com/llvm/llvm-project/commit/8b7e7fa49b6296eefe422da168a5595102c39870
  Author: Julian Nagele <j.nagele at apple.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/utils/UnicodeData/UnicodeNameMappingGenerator.cpp

  Log Message:
  -----------
  [NFC] UnicodeNameMappingGenerator: restore #include <unordered_map> (#205316)

#204303 removed this include while converting `unordered_map` uses to
`DenseMap`, but `loadDataFiles` still uses `unordered_multimap`.

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

```
[2026-06-23T05:46:26.519Z] /Users/ec2-user/jenkins/workspace/m.org_clang-stage2-Rthinlto_main/llvm-project/llvm/utils/UnicodeData/UnicodeNameMappingGenerator.cpp:34:13: error: missing '#include <unordered_map>'; 'unordered_multimap' must be declared before it is used
[2026-06-23T05:46:26.519Z]    34 | static std::unordered_multimap<char32_t, std::string>
[2026-06-23T05:46:26.519Z]       |             ^
```


  Commit: 18ce6f449e0bc913ffa0ffde48f4305187d86bc4
      https://github.com/llvm/llvm-project/commit/18ce6f449e0bc913ffa0ffde48f4305187d86bc4
  Author: DmitriiMartynov <31047826+DmitriiMartynov at users.noreply.github.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M bolt/include/bolt/Core/BinaryFunction.h
    A bolt/test/AArch64/constant-island-reproducible.s

  Log Message:
  -----------
  [BOLT][AArch64] reproducible output with constant islands (#204546)

Optimized binaries from subsequent llvm-bolt runs may sometimes differ
due to the unordered set (SmallPtrSet), even if the input binary and
parameters are the same. Usage of SetVector guarantees a deterministic
sequence of binary functions while keeping each function as a single
instance.

Below you can see two different main functions before the fix after two
llvm-bolt runs (same input binaries, same arguments).

```
0000000000210400 <main>:
  210400: 10000140      adr     x0, 0x210428 <main+0x28>
  210404: f9400000      ldr     x0, [x0]
  210408: 10000140      adr     x0, 0x210430 <main+0x30>
  21040c: f9400000      ldr     x0, [x0]
  210410: 10000180      adr     x0, 0x210440 <main+0x40>
  210414: f9400000      ldr     x0, [x0]
  210418: 10000180      adr     x0, 0x210448 <main+0x48>
  21041c: f9400000      ldr     x0, [x0]
  210420: d65f03c0      ret
  210424: d503201f      nop
  210428: 00000010      udf     #0x10
  21042c: 00000000      udf     #0x0
  210430: 00000020      udf     #0x20
  210434: 00000000      udf     #0x0
  210438: d503201f      nop
  21043c: d503201f      nop
  210440: 00000030      udf     #0x30
  210444: 00000000      udf     #0x0
  210448: 00000040      udf     #0x40
  21044c: 00000000      udf     #0x0
  210450: d503201f      nop
  210454: d503201f      nop

0000000000210400 <main>:
  210400: 100001c0      adr     x0, 0x210438 <main+0x38>
  210404: f9400000      ldr     x0, [x0]
  210408: 100001c0      adr     x0, 0x210440 <main+0x40>
  21040c: f9400000      ldr     x0, [x0]
  210410: 100000c0      adr     x0, 0x210428 <main+0x28>
  210414: f9400000      ldr     x0, [x0]
  210418: 100000c0      adr     x0, 0x210430 <main+0x30>
  21041c: f9400000      ldr     x0, [x0]
  210420: d65f03c0      ret
  210424: d503201f      nop
  210428: 00000030      udf     #0x30
  21042c: 00000000      udf     #0x0
  210430: 00000040      udf     #0x40
  210434: 00000000      udf     #0x0
  210438: 00000010      udf     #0x10
  21043c: 00000000      udf     #0x0
  210440: 00000020      udf     #0x20
  210444: 00000000      udf     #0x0
  210448: d503201f      nop
  21044c: d503201f      nop
```


  Commit: 572cf32ce413f606162759da6c83b5409aa471da
      https://github.com/llvm/llvm-project/commit/572cf32ce413f606162759da6c83b5409aa471da
  Author: Lucas <lucasribeirolima974 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/assignment-in-selection-statement.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/bad-signal-to-kill-thread.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-mutates-argument.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/default-operator-new-on-overaligned-type.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-copy-constructor-throws.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-parentheses.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/pointer-arithmetic-on-polymorphic-object.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/random-generator-seed.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/raw-memory-call-on-non-trivial-type.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/reserved-identifier.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/shared-ptr-array-mismatch.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/signal-handler.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/spuriously-wake-up-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-memory-comparison.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unique-ptr-array-mismatch.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err60-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.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/msc50-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/concurrency/thread-canceltype-asynchronous.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/anonymous-namespace-in-header.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/no-recursion.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/predictable-rand.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/static-initialization-cycle.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/throw-by-value-catch-by-reference.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst

  Log Message:
  -----------
  [clang-tidy][NFC] Update CERT wiki link across all clang-tidy docs (#205086)

This patch updates the outdated CMU wiki link in the clang-tidy
documentation.

The old link currently returns a `301 Moved Permanently` redirecting to
the new GitHub Pages location. This patch updates the source file to
point directly to the new destination to prevent future link rot.

Closes #200277


  Commit: 3abbf06dd15df2288de06749f0bb8dddc4189294
      https://github.com/llvm/llvm-project/commit/3abbf06dd15df2288de06749f0bb8dddc4189294
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang-tidy] Avoid token merging in redundant-parentheses fix-its (#202365)

The readability-redundant-parentheses check emitted fix-its that simply
removed both parentheses. Tools that apply those fix-its directly could
join adjacent tokens and produce invalid code, e.g. `return(0)` becoming
`return0`.

Replace the opening parenthesis with a space when removing it would
merge identifier characters across the removed token.

AI Usage: Test assisted by Codex.
Closes https://github.com/llvm/llvm-project/issues/185108


  Commit: 7f567069a4009c651fcfa59d336f6f265ab31c8d
      https://github.com/llvm/llvm-project/commit/7f567069a4009c651fcfa59d336f6f265ab31c8d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [X86] phaddsub.ll - update PR39921/PR39936 test case to a vector.reduce.v8i32 call (#205310)

Matches middle-end IR produced from the tests' C++ source since #199872


  Commit: 516ab1ad34e2da9e03e3098ae2d731c597629853
      https://github.com/llvm/llvm-project/commit/516ab1ad34e2da9e03e3098ae2d731c597629853
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp
    M llvm/lib/Target/SystemZ/SystemZMachineScheduler.h
    M llvm/test/CodeGen/SystemZ/args-22.ll
    M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll
    M llvm/test/CodeGen/SystemZ/bswap-09.ll
    M llvm/test/CodeGen/SystemZ/bswap-10.ll
    M llvm/test/CodeGen/SystemZ/call-zos-vec.ll
    M llvm/test/CodeGen/SystemZ/canonicalize-vars.ll
    M llvm/test/CodeGen/SystemZ/codegenprepare-sink-and-for-tm.ll
    M llvm/test/CodeGen/SystemZ/dag-combine-05.ll
    M llvm/test/CodeGen/SystemZ/dag-combine-07.ll
    M llvm/test/CodeGen/SystemZ/fold-masked-merge.ll
    M llvm/test/CodeGen/SystemZ/fp-copysign-03.ll
    M llvm/test/CodeGen/SystemZ/fp-half-vector-binops.ll
    M llvm/test/CodeGen/SystemZ/fp-half-vector-fcmp-select.ll
    M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting-explicit-regs-zEC12.ll
    M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting-zEC12.ll
    M llvm/test/CodeGen/SystemZ/int-cmp-65.ll
    M llvm/test/CodeGen/SystemZ/int-conv-14.ll
    M llvm/test/CodeGen/SystemZ/int-conv-15.ll
    M llvm/test/CodeGen/SystemZ/int-mul-12.ll
    M llvm/test/CodeGen/SystemZ/int-mul-13.ll
    M llvm/test/CodeGen/SystemZ/int-uadd-14.ll
    M llvm/test/CodeGen/SystemZ/int-usub-13.ll
    M llvm/test/CodeGen/SystemZ/machine-combiner-reassoc-fp.ll
    M llvm/test/CodeGen/SystemZ/misched-prera-cmp-elim.mir
    M llvm/test/CodeGen/SystemZ/misched-prera-latencies.mir
    A llvm/test/CodeGen/SystemZ/misched-prera-loads.mir
    A llvm/test/CodeGen/SystemZ/misched-prera-pdiffs.mir
    M llvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
    M llvm/test/CodeGen/SystemZ/regcoal_remat_empty_subrange.ll
    M llvm/test/CodeGen/SystemZ/risbg-04.ll
    M llvm/test/CodeGen/SystemZ/rot-03.ll
    M llvm/test/CodeGen/SystemZ/shift-12.ll
    M llvm/test/CodeGen/SystemZ/shift-13.ll
    M llvm/test/CodeGen/SystemZ/shift-14.ll
    M llvm/test/CodeGen/SystemZ/shift-15.ll
    M llvm/test/CodeGen/SystemZ/shift-16.ll
    M llvm/test/CodeGen/SystemZ/shift-17.ll
    M llvm/test/CodeGen/SystemZ/soft-float-args.ll
    M llvm/test/CodeGen/SystemZ/store_nonbytesized_vecs.ll
    M llvm/test/CodeGen/SystemZ/vec-cmp-cmp-logic-select.ll
    M llvm/test/CodeGen/SystemZ/vec-cmpsel-01.ll
    M llvm/test/CodeGen/SystemZ/vec-eval.ll
    M llvm/test/CodeGen/SystemZ/vec-move-23.ll
    M llvm/test/CodeGen/SystemZ/vec-mul-07.ll
    M llvm/test/CodeGen/SystemZ/vec-perm-12.ll
    M llvm/test/CodeGen/SystemZ/vec-trunc-to-i16.ll
    M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll

  Log Message:
  -----------
  [SystemZ] Enable liveness reduction in pre-RA sched strategy. (#188823)

Add some handling of register pressure by scheduling an SU "low" if it closes a
live range (under certain conditions).

As this is checked before latency reduction, the "data-sequnces" check that was
used to selectively enable latency reduction can now be removed.

This gives good improvements on several benchmarks and is also a simplification
of the SystemZPreRASchedStrategy.


  Commit: e9d162fabb3eec8af9aa8583e7385e64d9c2a914
      https://github.com/llvm/llvm-project/commit/e9d162fabb3eec8af9aa8583e7385e64d9c2a914
  Author: adream307 <adream307 at 163.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/CodeGen/X86/avx2-builtins.c
    M clang/test/CodeGen/X86/sse41-builtins.c

  Log Message:
  -----------
  [clang][X86] Add constexpr support for mpsadbw128/256 intrinsics (#202257)

Enable constexpr evaluation for `_mm_mpsadbw_epu8` and
`_mm256_mpsadbw_epu8` (`__builtin_ia32_mpsadbw128`/`mpsadbw256`).

Fixes #157522.


  Commit: ebd969f5ffb8f0abb31e8074c84aeea2766d75f5
      https://github.com/llvm/llvm-project/commit/ebd969f5ffb8f0abb31e8074c84aeea2766d75f5
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp

  Log Message:
  -----------
  AMDGPU: Rename AMDGPUTargetID to TargetID (#205269)

The AMDGPU prefix is redundant with the namespace.

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


  Commit: 9750a8d66da31ab5d5039a2b8acc90168417c244
      https://github.com/llvm/llvm-project/commit/9750a8d66da31ab5d5039a2b8acc90168417c244
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Floating.h
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/IR/Constants.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
    M llvm/unittests/ADT/APFloatTest.cpp
    M llvm/unittests/IR/MDBuilderTest.cpp

  Log Message:
  -----------
  [LLVM][ConstantFP] Replace uses of isExactlyValue(+/-1.0) with isOne/isMinusOne. (#204333)


  Commit: 7db130470447e9617fe1c169d90933c72254c3da
      https://github.com/llvm/llvm-project/commit/7db130470447e9617fe1c169d90933c72254c3da
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/aarch64-bf16-ldst-intrinsics.ll
    M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
    M llvm/test/CodeGen/AArch64/bf16-select.ll
    M llvm/test/CodeGen/AArch64/bf16-shuffle.ll
    M llvm/test/CodeGen/AArch64/bf16-vector-bitcast.ll
    M llvm/test/CodeGen/AArch64/bf16-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/bf16.ll
    M llvm/test/CodeGen/AArch64/load-insert-undef.ll
    M llvm/test/CodeGen/AArch64/load-insert-zero.ll
    M llvm/test/CodeGen/AArch64/luti-with-sme2.ll
    M llvm/test/CodeGen/AArch64/neon-luti.ll
    M llvm/test/CodeGen/AArch64/spillfill-sve.ll
    M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
    M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
    M llvm/test/CodeGen/AArch64/sve-insert-element.ll
    M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-loads.ll
    M llvm/test/CodeGen/AArch64/sve-ld1-addressing-mode-reg-reg.ll
    M llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-reg.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-gather-loads-128bit-index.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-gather-loads-128bit-unscaled-offset.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-scatter-stores-128bit-index.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-scatter-stores-128bit-unscaled-offset.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-tblq.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-tbxq.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uzpq1.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uzpq2.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-zipq1.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-zipq2.ll
    M llvm/test/CodeGen/AArch64/sve2p1-vector-shuffles.ll
    M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
    M llvm/test/CodeGen/AArch64/zeroing-forms-counts-not.ll
    M llvm/test/CodeGen/ARM/bf16-create-get-set-dup.ll
    M llvm/test/CodeGen/ARM/bf16-getlane-with-fp16.ll
    M llvm/test/CodeGen/ARM/bf16-imm.ll
    M llvm/test/CodeGen/ARM/bf16-intrinsics-ld-st.ll
    M llvm/test/CodeGen/ARM/bf16-shuffle.ll
    M llvm/test/CodeGen/ARM/bfloat.ll

  Log Message:
  -----------
  [LLVM][CodeGen] Remove +bf16 for ARM/AArch64 tests that don't strictly need the feature flag. (#204199)

Tests that use bfloat purely as an opaque datatype should not use
instructions that require the bf16 feature.


  Commit: d09868bc749f6bcbaa09bbbed7a140aa051aabf7
      https://github.com/llvm/llvm-project/commit/d09868bc749f6bcbaa09bbbed7a140aa051aabf7
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M .ci/green-dragon/lldb-windows.groovy

  Log Message:
  -----------
  [CI] switch to BuildTools variant of Visual Studio (#201335)

Follow up to:
- https://github.com/swiftlang/swift-docker/pull/566
- https://github.com/swiftlang/swift-docker/pull/565

It's no longer necessary to install packaging at runtime and the new
image will use `BuildTools`.


  Commit: e3f6a42532749c55008e38e3e19186ef6b0c0d17
      https://github.com/llvm/llvm-project/commit/e3f6a42532749c55008e38e3e19186ef6b0c0d17
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M orc-rt/unittests/AllocActionTest.cpp
    M orc-rt/unittests/SPSAllocActionTest.cpp

  Log Message:
  -----------
  [orc-rt] Split AllocAction tests by SPS dependency. (#205322)

Rewrites AllocActionTest.cpp's integration tests (RunBasicAction,
RunFinalize*) to drive AllocActionFunction::handle with a small local
IntPtrDeserializer / IdentitySerializer pair instead of going through
SPS, and moves the existing SPS-using AllocAction tests into
SPSAllocActionTest.cpp.

Also adds two new SPS tests covering previously-uncovered paths:
- RunActionWithSPSArgsAndWFBReturn — SPS argument deserialization plus
AllocActionSPSSerializer's identity (WrapperFunctionBuffer) overload.
- RunActionWithUndecodableArgs — the deserialization-failure path in
AllocActionFunction::handle.

After the split, an AllocActionTest failure indicates problems with the
AllocAction machinery, and an SPSAllocActionTest failure without a
corresponding AllocActionTest failure indicates an SPS encoding /
decoding issue for AllocAction.


  Commit: 844136348ef4c03e84bed0a51d8557d53f466b0d
      https://github.com/llvm/llvm-project/commit/844136348ef4c03e84bed0a51d8557d53f466b0d
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/test/AST/undocumented-attrs.cpp

  Log Message:
  -----------
  Document the [[clang::annotate]] attribute (#203303)

The new documentation mirrors the existing docs for annotate_type.


  Commit: 25f0443ddccf6a03d9b432c246ce97eb535cab52
      https://github.com/llvm/llvm-project/commit/25f0443ddccf6a03d9b432c246ce97eb535cab52
  Author: Aditya Medhane <sherlockedaditya at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPContext.cpp

  Log Message:
  -----------
  [OpenMP] Remove unused isStrictSubset template (NFC) (#202987)

The `isStrictSubset` `ArrayRef<T>` template has no callers, so it never
instantiates and trips `-Wunused-template`. The `VariantMatchInfo`
overload does the work that's actually used, and `isSubset` stays
untouched. Removing the dead template.

NFC.

Part of #202945.


  Commit: 59c5c39a76e04fc8cd3af39748e256ca1e6fcda8
      https://github.com/llvm/llvm-project/commit/59c5c39a76e04fc8cd3af39748e256ca1e6fcda8
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/test/AST/undocumented-attrs.cpp

  Log Message:
  -----------
  Fix test after 844136348ef4c03e84bed0a51d8557d53f466b0d (#205328)


  Commit: 99c80fefdfac69a47773b66f35ae638d63ce5758
      https://github.com/llvm/llvm-project/commit/99c80fefdfac69a47773b66f35ae638d63ce5758
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M lldb/test/API/macosx/thread_suspend/main.c

  Log Message:
  -----------
  [lldb] Fix race/timeout in TestInternalThreadSuspension (#203202)

This test launches a thread and then waits for a signal from the
launched thread. Below is one possible interleaving, where the
`pthread_cond_signal` (2) wins the race and becomes a no-op while (3) is
locking until the test times out.

```
void *
suspend_func (void *unused) {
  [...]
  // 2. Created thread reaches this and signals.
  pthread_cond_signal(&signal_cond);
  [...]
}

int main() {

  pthread_mutex_lock(&signal_mutex);
  // 1. Thread is created
  pthread_create(&suspend_thread, NULL, suspend_func, NULL);

  // Enable this to make race reliable:
  // sleep(1);

  // 3. We start waiting on signal_cond, but 2. already executed.
  pthread_cond_wait(&signal_cond, &signal_mutex);
```

This patch guards (2) with signal_mutex so it can only be executed after
pthread_cond_wait unlocks signal_mutex.


  Commit: e9aec194f1e034f7b548240bd76b623d80bac034
      https://github.com/llvm/llvm-project/commit/e9aec194f1e034f7b548240bd76b623d80bac034
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/assume-loop-align.ll
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll

  Log Message:
  -----------
  Reapply "[InstCombine] Merge consecutive assumes" (#205177) (#205324)

The crash was caused by using `getOperandBundle` for an assume, which
requires that the operand bundles are unique. This isn't guaranteed by
assume bundles. This patch adds `hasOperandBundle` instead, which
doesn't have the same constraint.

Original message:

This should make assumes a bit more efficient, since it removes a few
instructions. This should also help with optimizations that are
limited in how many instructions they step through.

This reverts commit 3f0ef1efb26206c3f5d5621d86d740c7f466c67b.


  Commit: b713aaedb6eedd7d20f666038d945e50eafd4c27
      https://github.com/llvm/llvm-project/commit/b713aaedb6eedd7d20f666038d945e50eafd4c27
  Author: David Green <david.green at arm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/ARM/vcombine.ll

  Log Message:
  -----------
  [ARM] Regenerate vcombine.ll. NFC (#205335)


  Commit: 0a991b71e78646322876c8db487084ec1840184a
      https://github.com/llvm/llvm-project/commit/0a991b71e78646322876c8db487084ec1840184a
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [LLVM][Runtimes] Forward 'LLVM_LIBDIR_SUFFIX' to runtimes by default (#205182)

Summary:
This option controls the logical path of the installed libraries. The
runtimes obften reach into libraries, or want to install to the same
location as the main build. Previously you had to set this per-runtime,
but we should likely forward it by default.

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


  Commit: d2850baf0ad99c662e224bb522aebdeb09ff8e1b
      https://github.com/llvm/llvm-project/commit/d2850baf0ad99c662e224bb522aebdeb09ff8e1b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/test/CodeGen/convergent-functions.cpp

  Log Message:
  -----------
  [Clang] Accept 'noconvergent' attributes outside of CUDA (#205247)

Summary:
There is no reason that `convergent` should be a generic attributes but
not `noconvergent`.


  Commit: 9a5e3fdc79cb374550bbf0cac8ad02d8a4ce10ab
      https://github.com/llvm/llvm-project/commit/9a5e3fdc79cb374550bbf0cac8ad02d8a4ce10ab
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-offload-binary.rst
    A llvm/test/tools/llvm-offload-binary/member-extract.test
    M llvm/tools/llvm-offload-binary/llvm-offload-binary.cpp

  Log Message:
  -----------
  [llvm-offload-binary] Add `member` key to single out archive members (#205170)

Summary:
Currently, archives offer three approaches.
1. `--archive` which takes an archive and puts all the output in a new
   archive
2. No filename, which outputs based on the member names
3. Filename, which just matches everything.
This has a gap for when people wnat a single file without relying on
implicit naming that dumps all the contents to the CWD.

This PR adds `member` which lets you specify the member names as you
would get from `ar t libfoo.a` for this.


  Commit: a06ac5d5d555bf01b9ef4ad233a9d3d962b25c43
      https://github.com/llvm/llvm-project/commit/a06ac5d5d555bf01b9ef4ad233a9d3d962b25c43
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-fpenv.ll

  Log Message:
  -----------
  [AArch64] Add flag to conditionally write FPMR (#203911)

Add a AArch64 codegen flag to make llvm.aarch64.set.fpmr avoid writing
FPMR when it already contains the requested value.

By default, llvm.aarch64.set.fpmr continues to lower directly to an MSR
FPMR instruction. With -aarch64-conditional-fpmr-write, the backend
lowers the intrinsic to an MRS/MSR conditional branch sequence.

This is based on the initial implementation from:
https://github.com/llvm/llvm-project/pull/114248

However this PR keeps the conditional FPMR write sequence behind a
codegen flag. One reason to change the codegen lowering is because GCC
emits the conditional branch sequence unconditionally. LLVM preserves
the existing direct MSR lowering by default.


  Commit: 592e9d3e6a82b13aeccfc755aa5025b41cbfc260
      https://github.com/llvm/llvm-project/commit/592e9d3e6a82b13aeccfc755aa5025b41cbfc260
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp

  Log Message:
  -----------
  Reland "[clang][ssaf][NFC] Make SSAFOptions available in Builders and Extractors" (#205334)

The original version of this was reverted part of #205279 because I
didn't know if this or the other patch caused the Windows build
failures. It turns out this patch is fine. I'm relating this now.

---

Now that we have SSAFOptions, it would make it a lot more ergonomic if
it was accessible from builders and extractors.
This PR does exactly that.

Part of rdar://179151023

Co-authored-by: Jan Korous <jkorous at apple.com>
Co-authored-by: Claude Opus 4.7 <noreply at anthropic.com>


  Commit: 81f06366f805c4d60da39c1c9b2eaa4443ef27fc
      https://github.com/llvm/llvm-project/commit/81f06366f805c4d60da39c1c9b2eaa4443ef27fc
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M orc-rt/include/CMakeLists.txt
    A orc-rt/include/orc-rt/MacroUtils.h
    M orc-rt/unittests/CMakeLists.txt
    A orc-rt/unittests/MacroUtilsTest.cpp

  Log Message:
  -----------
  [orc-rt] Add MacroUtils.h header for general purpose macros. (#205337)

For now just contains ORC_RT_DEPAREN, a macro for stripping parentheses
from its argument. This will be used in an upcoming commit.


  Commit: 7a0829e41228513299c5108685b0bc127463c6a1
      https://github.com/llvm/llvm-project/commit/7a0829e41228513299c5108685b0bc127463c6a1
  Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/OffloadArch.h
    M clang/lib/Basic/OffloadArch.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
    M clang/test/Misc/target-invalid-cpu-note/nvptx.c
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.def
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNProcessors.td
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
    M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
    M llvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
    M llvm/test/tools/llvm-readobj/ELF/AMDGPU/elf-headers.test

  Log Message:
  -----------
  [AMDGPU] Define new target gfx1154 (#204816)


  Commit: f17453ef75fc4acb0bb8c149bfcc07409881676e
      https://github.com/llvm/llvm-project/commit/f17453ef75fc4acb0bb8c149bfcc07409881676e
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/test/Dialect/MemRef/runtime-verification.mlir

  Log Message:
  -----------
  [mlir][memref] Add SCFDialect dependency to RuntimeOpVerification (#205241)

Explicitly load SCFDialect as a dependent dialect in
RuntimeOpVerification to avoid unregistered dialect errors when
generating `scf.if`/`scf.yield` ops. Fixes #204295.


  Commit: 1416b5f6de966f29e6b9c4f868c330e693ce8952
      https://github.com/llvm/llvm-project/commit/1416b5f6de966f29e6b9c4f868c330e693ce8952
  Author: Wooseok Lee <wolee at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/test/CodeGen/AMDGPU/uaddo.ll
    M llvm/test/CodeGen/AMDGPU/usubo.ll

  Log Message:
  -----------
  [AMDGPU][DAGCombiner] Fix UADDO/USUBO_CARRY carry-out miscompile and remove redundant AMDGPU combine (#204362)

performAddCarrySubCarryCombine in SIISelLowering folded:
    
  uaddo_carry((x+y), 0, cc) -> uaddo_carry(x, y, cc)
  usubo_carry((x-y), 0, cc) -> usubo_carry(x, y, cc)
    
Both produce the same value but differ in carry-out when x+y (or x-y)
wraps. The fold was missing a !N->hasAnyUseOfValue(1) guard, giving
wrong carry values to consumers. E.g. x=0xFFFFFFFF, y=1, cc=0:
  original: ((x+y) mod 2^32 + cc) >= 2^32 = 0  (correct)
  folded:   (x+y+cc) >= 2^32 = 1  (wrong)
    
The generic visitUADDO_CARRY (DAGCombiner.cpp) already handles
the UADDO_CARRY/ADD fold with the correct guard. Since target combines
fire before generic ones, the AMDGPU ADD arm was a buggy duplicate.
    
The USUBO_CARRY/SUB arm is produced by AMDGPU's performAddCombine
which converts add(sub(v,a), sext(cmp)) -> usubo_carry(sub(v,a), 0,
cmp).
There was no generic equivalent for this pattern.
    
Fix by adding the symmetric fold to visitUSUBO_CARRY:
    
  (usubo_carry (sub X, Y), 0, Carry) -> (usubo_carry X, Y, Carry)
    
with the same guard, then removing performAddCarrySubCarryCombine
from SIISelLowering entirely as it is now fully subsumed.
    
Tests: Add AMDGPU tests in uaddo.ll and usubo.ll covering the
carry-out-used (fold suppressed) and carry-out-unused (fold applied)
cases, autogenerated with update_llc_test_checks.py.


  Commit: 45a65bb48b5925707f43d08e30df2263a5e4e268
      https://github.com/llvm/llvm-project/commit/45a65bb48b5925707f43d08e30df2263a5e4e268
  Author: Alex Kremer <godexsoft at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx29Papers.csv
    M libcxx/include/__expected/expected.h
    M libcxx/include/version
    M libcxx/test/libcxx/utilities/expected/nodiscard.verify.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    A libcxx/test/std/utilities/expected/expected.expected/observers/has_error.pass.cpp
    A libcxx/test/std/utilities/expected/expected.void/observers/has_error.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++]  P3798R1: The unexpected in std::expected (#204826)

Closes #204394

Implements P3798 and related tests.

Applies the paper as a Defect Report per https://wg21.link/P3798/github.


  Commit: ab1ef459069d1dbf4ee9e5a802537ababe294b25
      https://github.com/llvm/llvm-project/commit/ab1ef459069d1dbf4ee9e5a802537ababe294b25
  Author: John Paul Jepko <john.jepko at ericsson.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/test/SemaCXX/warn-memset-bad-sizeof.cpp

  Log Message:
  -----------
  [Clang][Test] Fix warn-memset-bad-sizeof.cpp after #183004 (#205201)

The new `-Wstringop-overread` warning (added in #183004) fires on the
SemaCXX test warn-memset-bad-sizeof.cpp. This happens on targets where
unsigned matches size_t, such as 32-bit ARM, because clang will match
the declaration with the builtin prototype (specifically, argument
`unsigned n`).

Suppress the warning since this test is exercising
`-Wsizeof-pointer-memaccess`, not source buffer overreads.

Fixes:
- https://lab.llvm.org/buildbot/#/builders/154/builds/32985
- https://lab.llvm.org/buildbot/#/builders/135/builds/3888
- https://lab.llvm.org/buildbot/#/builders/38/builds/9363


  Commit: 60b3b30897b3c9549d2083accbba26e1ca8bf44e
      https://github.com/llvm/llvm-project/commit/60b3b30897b3c9549d2083accbba26e1ca8bf44e
  Author: Jiahao Guo <eoonguo at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/utils/TableGen/CIRLoweringEmitter.cpp

  Log Message:
  -----------
  [CIR][NFC] Rename zero result flag variable (#205242)

###summary

This is a follow up of https://github.com/llvm/llvm-project/pull/202273

Just a light patch for renaming the zero result flag variable.


  Commit: d957d2f2d8e718bd1101e7afad6be62901304cd1
      https://github.com/llvm/llvm-project/commit/d957d2f2d8e718bd1101e7afad6be62901304cd1
  Author: Balázs Benics <benicsbalazs at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h

  Log Message:
  -----------
  [analyzer] Allow SVals as llvm::Immutable{Map,Set} keys (#205319)

This will allow maps and sets being declared:
```
REGISTER_MAP_WITH_PROGRAMSTATE(MyMap, SVal, SVal)
REGISTER_SET_WITH_PROGRAMSTATE(MySet, SVal)
```


  Commit: 86d380e54fdb637be039f750651421c5b812eae4
      https://github.com/llvm/llvm-project/commit/86d380e54fdb637be039f750651421c5b812eae4
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-06-23 (Tue, 23 Jun 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/llvm-libc-macros/linux/sched-macros.h
    M libc/include/sched.yaml
    M libc/src/sched/CMakeLists.txt
    M libc/src/sched/linux/CMakeLists.txt
    A libc/src/sched/linux/sched_clrcpuset.cpp
    A libc/src/sched/sched_clrcpuset.h
    M libc/test/src/sched/CMakeLists.txt
    M libc/test/src/sched/cpu_count_test.cpp

  Log Message:
  -----------
  [libc] Add CPU_CLR(_S) macros (#204590)

This patch implements CPU_CLR and CPU_CLR_S macros following the
existing CPU_SET pattern. The macro just forwards to an internal entry
point.

Assisted by Gemini.


  Commit: 8ea065becdeb47687ce9717adc2c50e68b939b87
      https://github.com/llvm/llvm-project/commit/8ea065becdeb47687ce9717adc2c50e68b939b87
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M orc-rt/include/orc-rt/SPSAllocAction.h
    M orc-rt/unittests/SPSAllocActionTest.cpp

  Log Message:
  -----------
  [orc-rt] Add ORC_RT_SPS_ALLOC_ACTION helper macro. (#205339)

ORC_RT_SPS_ALLOC_ACTION(Name, SPSArgs, Handle) is shorthand for defining
an allocation-action wrapper function whose arguments are SPS-encoded.
It expands to:

    static orc_rt_WrapperFunctionBuffer Name(const char *ArgData,
                                             size_t ArgSize);

with a body that deserializes ArgData via
SPSAllocActionFunction<SPSArgs...> and forwards the decoded arguments to
Handle.

SPSArgs is given as a parenthesized comma-separated list of SPS argument
types — e.g. (int32_t, int32_t) — stripped at expansion time via
ORC_RT_DEPAREN.


  Commit: 3f526756827fecd80111d1f065b879d292518480
      https://github.com/llvm/llvm-project/commit/3f526756827fecd80111d1f065b879d292518480
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Update C++ DR status page (#205342)

The post-Brno draft will not be out for three more weeks, but Brno
updates for Core issues statuses are already trickling in.

Notably, [CWG507](https://cplusplus.github.io/CWG/issues/507.html)
"Ambiguity with built-in binary operator candidates for class object
convertible to built-in type", which used to be marked as a duplicate of
[CWG260](https://cplusplus.github.io/CWG/issues/260.html) "User-defined
conversions and built-in `operator=`", is open again, presumably because
it contains an example that goes beyond the scope of CWG260. Relatively
recent CWG thread that might be related (WG21 access required):
[link](https://lists.isocpp.org/core/2025/08/18478.php).


  Commit: a4a59deb8dc50540c2e2f8b4c0b4addf30761a46
      https://github.com/llvm/llvm-project/commit/a4a59deb8dc50540c2e2f8b4c0b4addf30761a46
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/interleave-with-gaps.ll

  Log Message:
  -----------
  [LV][NFC] Add SVE tests for masked interleaved accesses with gaps (#205330)


  Commit: 7337fe1b09309fedbbdff2eb34043a0821523109
      https://github.com/llvm/llvm-project/commit/7337fe1b09309fedbbdff2eb34043a0821523109
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/Basic/Builtins.cpp
    A clang/test/AST/builtin-name-registration.c

  Log Message:
  -----------
  [clang] Avoid per-builtin std::string allocation in initializeBuiltins (#205162)

`initializeBuiltins()` previously registered every builtin through an
allocated std::string every time a `CompilerInstance` initialized. This
was hot for module-heavy builds, where each built module re-registered
the full set.

Add `getBuiltinNameInto()`, which writes the name into a caller-provided
buffer and returns a `StringRef`, with no allocation when the shard has
no prefix (the common case). `Info::getName` now delegates to it so the
two cannot diverge. This change is output behavior-preserving.

Resolves: rdar://178672190


  Commit: f8aa5f66209d69c2c1f033317a4b4be961f4a78c
      https://github.com/llvm/llvm-project/commit/f8aa5f66209d69c2c1f033317a4b4be961f4a78c
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
    M llvm/lib/Target/Hexagon/HexagonAsmPrinter.h
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.h
    M llvm/lib/Target/Hexagon/HexagonMCInstLower.cpp
    M llvm/lib/Target/Hexagon/HexagonPseudo.td
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    A llvm/test/CodeGen/Hexagon/kcfi.ll

  Log Message:
  -----------
  [Hexagon] Add KCFI support for forward-edge control flow integrity (#191746)

Add KCFI support for Hexagon. KCFI provides lightweight forward-edge CFI
for indirect calls by embedding a type hash before each function and
checking it before indirect calls, without requiring LTO.


  Commit: 34b6e1c3b07d2d18b3112841992378b1057d87cc
      https://github.com/llvm/llvm-project/commit/34b6e1c3b07d2d18b3112841992378b1057d87cc
  Author: Chirag Wattamwar <119049661+ChiragSW at users.noreply.github.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/test/Dialect/Arith/invalid.mlir
    M mlir/test/Dialect/Tosa/tosa-arith-const-to-tosa-const.mlir
    M mlir/test/Dialect/common_folders.mlir
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [mlir][arith] Reject signful integer element types in `arith.constant` (#204937)

Update arith.constant verification to reject integer constants with
signed and unsigned element types including shaped constants like
tensors and vectors, as the arith dialect does not support
signed/unsigned types.

This incidentally address cases where further lowering would crash (e.g.
SPIR-V constant lowering used IntegerAttr::getInt() on an unsigned
integer attribute from tensor<2xui8>)

Fixes #204911


  Commit: dc658f1f11d3bf1da4243be9671dcdab597288b5
      https://github.com/llvm/llvm-project/commit/dc658f1f11d3bf1da4243be9671dcdab597288b5
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    M libc/include/CMakeLists.txt
    A libc/include/libgen.yaml
    M libc/src/CMakeLists.txt
    M libc/src/__support/CPP/string_view.h
    A libc/src/libgen/CMakeLists.txt
    A libc/src/libgen/basename.cpp
    A libc/src/libgen/basename.h
    A libc/src/libgen/dirname.cpp
    A libc/src/libgen/dirname.h
    M libc/test/src/CMakeLists.txt
    A libc/test/src/libgen/CMakeLists.txt
    A libc/test/src/libgen/basename_death_test.cpp
    A libc/test/src/libgen/basename_test.cpp
    A libc/test/src/libgen/dirname_death_test.cpp
    A libc/test/src/libgen/dirname_test.cpp
    A libc/utils/docgen/libgen.yaml

  Log Message:
  -----------
  Reland "[libc] Implement basename and dirname in libgen.h #204554" (#205352)

Added the POSIX standard functions basename and dirname under a new libgen.h header. The implementations modify the input path in-place using cpp::string_view to determine boundaries safely.

Added find_last_not_of to cpp::string_view to support trailing slash removal.

Implemented:

libc/include/libgen.yaml, libgen.h.def: Public API definitions.
libc/src/libgen/basename.cpp, dirname.cpp: Generic implementations.
libc/test/src/libgen/: Unit and hermetic tests.
Registered the new entrypoints for all active Linux targets (x86_64, aarch64, arm, riscv) and added docgen configuration.

The tests are skipped when using ASan because death tests do not currently work with them.

Assisted-by: Automated tooling, human reviewed.


  Commit: 7befba8a76f3ba54b584cbb4b673d749f34054af
      https://github.com/llvm/llvm-project/commit/7befba8a76f3ba54b584cbb4b673d749f34054af
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp

  Log Message:
  -----------
  Silence conversion warning; NFC (#205357)

This was triggering a conversion warning in MSVC.


  Commit: 820314fae19408e906ef8144573fca292b411613
      https://github.com/llvm/llvm-project/commit/820314fae19408e906ef8144573fca292b411613
  Author: Qiongsi Wu <qiongsiwu at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c

  Log Message:
  -----------
  [clang][Dependency Scanning] Fix the Input File for By-Name Lookup's Input CC1 Command Line (#205214)

When the command line is a CC1 command, the scanner does not append the
fake input file to the command line when initializing the compiler
instance. This PR fixes that by passing the compiler instance
initialization the correct modified command line. Without specifying the
fake input file, clang picks up `-` as its input.

An observable behavior is that the diagnostics are pointing to incorrect
files for cc1 commands, hence a test is added to check the diagnostics
messages contain the correct file name.


  Commit: 0ce76c77c9e0ee15905d76500bfa0235c2ac3741
      https://github.com/llvm/llvm-project/commit/0ce76c77c9e0ee15905d76500bfa0235c2ac3741
  Author: owenca <owenpiano at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/Format/CMakeLists.txt

  Log Message:
  -----------
  [clang-format] Don't check the format if diff is unavailable (#205036)


  Commit: fdb70dfca31d80ed3a5231819aaab8c54b12b658
      https://github.com/llvm/llvm-project/commit/fdb70dfca31d80ed3a5231819aaab8c54b12b658
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
    M llvm/test/CodeGen/RISCV/calling-conv-p-ext-vector.ll
    M llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir
    M llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir
    M llvm/test/CodeGen/RISCV/rv32-move-merge-crash.ll
    M llvm/test/CodeGen/RISCV/rv32-move-merge.ll
    M llvm/test/CodeGen/RISCV/rv32p.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
    M llvm/test/MC/RISCV/rv32p-aliases-valid.s

  Log Message:
  -----------
  [RISCV][P-ext] Add mvd alias for padd.dw rd, zero, rs. Use for copy idiom. (#205223)

See https://github.com/riscv/riscv-p-spec/pull/304

I've refactored the MoveMerge code to use copyPhysReg to avoid duplication.


  Commit: 62c9839e109fa53c0cd52cddb4f28d415a5e7f74
      https://github.com/llvm/llvm-project/commit/62c9839e109fa53c0cd52cddb4f28d415a5e7f74
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll

  Log Message:
  -----------
  [LegalizeTypes] Fix incorrect EVL1 clip in SplitVecRes_VP_SPLICE. (#205021)

We were incorrectly clipping EVL1 to be a valid index for the VT, in the
range [0, VT.getNumVectorElements() - 1]. It is legal for EVL1 to be
equal to VT.getNumVectorElements() here so that was incorrect.

In case it isn't clear, the clip is necessary to prevent turning poison
into UB by accessing outside the temporary stack object.


  Commit: 83528bad5c9b9722280d284a7c35b06d560003bc
      https://github.com/llvm/llvm-project/commit/83528bad5c9b9722280d284a7c35b06d560003bc
  Author: Yihan Wang <yronglin777 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Lex/Preprocessor.h
    M clang/lib/Lex/PPCaching.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/Preprocessor.cpp

  Log Message:
  -----------
  [clangd] fix preprocessor caching-lexer state tracking (#203716)

Fix `recomputeCurLexerKind` to avoid default fallback to
`CurLexerCallback = CLK_CachingLexer;`.

This prevents code-completion EOF handling from accidentally restoring
CLK_CachingLexer while a tentative parse is still active, which could
trigger a caching lexer re-entry assertion in clangd signature help.

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

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: db31a66571857ac2991e0ade1165a0fa81c4fbd1
      https://github.com/llvm/llvm-project/commit/db31a66571857ac2991e0ade1165a0fa81c4fbd1
  Author: Felipe Novais <felipenovais at users.noreply.github.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/docs/Docker.rst

  Log Message:
  -----------
  [docs] Fix typo in Docker.rst (#205346)

Small typo fix in the Docker documentation: Debian8 -> Debian12.

Signed-off-by: Felipe Novais <contact at felipenovais.com>


  Commit: b31886a2af71590b00d13a082b80e7a4a347c1c4
      https://github.com/llvm/llvm-project/commit/b31886a2af71590b00d13a082b80e7a4a347c1c4
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/include/__config
    M libcxx/include/__ranges/drop_view.h
    M libcxx/include/__ranges/drop_while_view.h
    M libcxx/include/__ranges/filter_view.h
    M libcxx/include/__ranges/iota_view.h
    M libcxx/include/__ranges/lazy_split_view.h
    M libcxx/include/__ranges/split_view.h
    M libcxx/include/__ranges/take_view.h
    M libcxx/include/__ranges/take_while_view.h
    M libcxx/include/__ranges/transform_view.h
    M libcxx/test/std/ranges/range.adaptors/range.drop.while/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/ctor.view_pred.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/ctor.range.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.split/ctor.range.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.split/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.take.while/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.take/ctor.view_count.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/ctor.view_function.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.iota.view/ctor.first.last.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.iota.view/ctor.value.bound.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] Backport P2711R1: Making multi-param constructors of views explicit (#190513)

As discussed in https://gcc.gnu.org/PR114298 - GCC and MSVC STL
implemented P2711R1 as a DR. This PR does the same for libc++.

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


  Commit: a91e271481cc99ee0ab01aa0affc7ac352963844
      https://github.com/llvm/llvm-project/commit/a91e271481cc99ee0ab01aa0affc7ac352963844
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [X86] madd.ll - add additional tests for matchPMADDWD folds that fail with larger source types (#205362)

matchPMADDWD handles sext/shl cases as well which don't fold either on SSE/AVX512 targets


  Commit: 9acc93f96af24fd3b3598f3cc51520aaff6e688c
      https://github.com/llvm/llvm-project/commit/9acc93f96af24fd3b3598f3cc51520aaff6e688c
  Author: adams381 <adams at nvidia.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    A clang/test/CIR/CodeGenBuiltins/builtins-elementwise-bool-nyi.c
    M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c

  Log Message:
  -----------
  [CIR] Lower elementwise saturating add/sub builtins (#203112)

`__builtin_elementwise_add_sat` and `__builtin_elementwise_sub_sat` were
still in the `errorBuiltinNYI` batch in `emitBuiltinExpr`, so any use
hit "unimplemented builtin call". That blocks C++26
`std::add_sat`/`std::sub_sat` (libc++
`<__numeric/saturation_arithmetic.h>`), which lower directly onto these
builtins.

This lowers them the way classic CodeGen does in `CGBuiltin.cpp`: select
the signed or unsigned saturating intrinsic from the operand's element
type (`sadd.sat`/`uadd.sat` for add, `ssub.sat`/`usub.sat` for sub).

Test coverage in `builtins-elementwise.c` exercises signed and unsigned,
scalar and vector, at i32 and i16 widths, checking the CIR
`cir.call_llvm_intrinsic` and the lowered `@llvm.{s,u}{add,sub}.sat`
calls on both the CIR and classic `-emit-llvm` paths.


  Commit: 7054171f229e2a9d55ed742dcf89782727579926
      https://github.com/llvm/llvm-project/commit/7054171f229e2a9d55ed742dcf89782727579926
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/test/C/C23/n3037.c

  Log Message:
  -----------
  Additional test coverage for WG14 N3037 (#202674)

There was a request for additional test coverage in:
https://github.com/llvm/llvm-project/pull/201650#discussion_r3376475306


  Commit: 650a05947d5bd0393914b8dfe15a5c50b193dfc9
      https://github.com/llvm/llvm-project/commit/650a05947d5bd0393914b8dfe15a5c50b193dfc9
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenOpenACCRecipe.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGenOpenACC/cache.c
    M clang/test/CIR/CodeGenOpenACC/combined-copy.c
    M clang/test/CIR/CodeGenOpenACC/combined-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-firstprivate-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-copy.c
    M clang/test/CIR/CodeGenOpenACC/compute-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.c
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-private-clause.c
    M clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-unsigned-int.c
    M clang/test/CIR/CodeGenOpenACC/data.c
    M clang/test/CIR/CodeGenOpenACC/declare-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-copyin.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-copyout.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-create.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-deviceresident.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-link.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-present.cpp
    M clang/test/CIR/CodeGenOpenACC/enter-data.c
    M clang/test/CIR/CodeGenOpenACC/exit-data.c
    M clang/test/CIR/CodeGenOpenACC/firstprivate-clause-recipes.cpp
    M clang/test/CIR/CodeGenOpenACC/host_data.c
    M clang/test/CIR/CodeGenOpenACC/init.c
    M clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop.cpp
    M clang/test/CIR/CodeGenOpenACC/parallel.c
    M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-CtorDtor.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-NoOps.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-CtorDtor.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-NoOps.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-int.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-CtorDtor.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-NoOps.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-int.cpp
    M clang/test/CIR/CodeGenOpenACC/reduction-clause-recipes.cpp
    M clang/test/CIR/CodeGenOpenACC/serial.c
    M clang/test/CIR/CodeGenOpenACC/set.c
    M clang/test/CIR/CodeGenOpenACC/shutdown.c
    M clang/test/CIR/CodeGenOpenACC/update.c
    M clang/test/CIR/CodeGenOpenACC/wait.c
    A clang/test/CIR/IR/builtin-int-cast.cir
    A clang/test/CIR/IR/invalid-builtin-int-cast.cir
    A clang/test/CIR/Lowering/builtin-int-cast.cir
    A clang/test/CIR/Transforms/builtin-int-cast-fold.cir

  Log Message:
  -----------
  [CIR] Add cir.builtin_int_cast operation to replace uses of builtin.unrealized_conversion_cast (#201592)

This patch adds a new operation builtin_int_cast to handle casting
between CIR integer types and builtin integer types. This will replace
the current use of the builtin.unrealized_conversion_cast since this
operation is only intended to be used temporarily when doing
transformations.

Assisted-by: Cursor/Claude Opus 4.8 High


  Commit: a05357175d053b86e6d00df13e39416fb9a18cd7
      https://github.com/llvm/llvm-project/commit/a05357175d053b86e6d00df13e39416fb9a18cd7
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [SLP]Fix dominance crash for scheduled copyable PHI-operand bundles

Extend the copyable/non-copyable PHI conflict bail-out in
tryScheduleBundle to the scheduled path, not just the non-schedulable
one.

Fixes #205327

Reviewers: 

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


  Commit: 759191045115d966dffc99901e9086289767ff5c
      https://github.com/llvm/llvm-project/commit/759191045115d966dffc99901e9086289767ff5c
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/ioctl.h
    M libc/src/sys/ioctl/linux/CMakeLists.txt
    M libc/src/sys/ioctl/linux/ioctl.cpp
    M libc/src/termios/linux/CMakeLists.txt
    M libc/src/termios/linux/tcdrain.cpp
    M libc/src/termios/linux/tcflow.cpp
    M libc/src/termios/linux/tcflush.cpp
    M libc/src/termios/linux/tcgetattr.cpp
    M libc/src/termios/linux/tcgetsid.cpp
    M libc/src/termios/linux/tcsendbreak.cpp
    M libc/src/termios/linux/tcsetattr.cpp
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/isatty.cpp

  Log Message:
  -----------
  Recommit "[libc] Introduce the ioctl syscall wrapper and port all callers (#204640)" (#205317)

This patch reapplies #204640 (reverted in #205277), due to (-Werror)
build failure with gcc. Gcc warned about passing an uninitialized
structure through a `const void *` argument. This isn't a problem
because the ioctls in question write to that argument. The
fix/workaround is to provide a `void *` overload.

The original commit message was:

This patch adds an ioctl syscall wrapper in linux_syscalls namespace and
migrates all direct SYS_ioctl calls to use it.

To handle the polymorphic nature of ioctl arguments (where some commands
expect pointers, some expect scalar integers like queue_selector, and
some expect no argument at all), I use a helper struct IoctlArg with
implicit constructors. This avoids template bloat and overload
ambiguities (particularly around literal 0) while keeping call sites
clean.

Assisted by Gemini.


  Commit: 5274b7ffac47a891a932dcc630e6130cc72359ef
      https://github.com/llvm/llvm-project/commit/5274b7ffac47a891a932dcc630e6130cc72359ef
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/test/Sema/LifetimeSafety/safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Model pointer-to-data-member access in the fact generator (#204612)

VisitBinaryOperator had no case for `obj.*pm` (BO_PtrMemD) /
`objptr->*pm` (BO_PtrMemI), so a borrow of the accessed member
(`&(obj.*pm)`) dropped the object's loan to an empty origin and a
use-after-scope was missed. Flow the object operand's origin into the
result, mirroring a member access: for `.*` the object is the LHS, for
`->*` it is the LHS pointer's pointee.

Assisted-by: Claude Opus 4.8

Co-authored-by: Gabor Horvath <gaborh at apple.com>


  Commit: 0914d20f2f8fc3c85e956d93b643a54f683638c3
      https://github.com/llvm/llvm-project/commit/0914d20f2f8fc3c85e956d93b643a54f683638c3
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/linux/CMakeLists.txt
    A libc/include/llvm-libc-types/linux/loff_t.h
    A libc/include/llvm-libc-types/loff_t.h
    M libc/include/sys/types.yaml

  Log Message:
  -----------
  [libc] Add loff_t type (#204641)

Added loff_t type definition. This is a Linux extension required for
large file offsets.

* llvm-libc-types/loff_t.h: Include linux/loff_t.h on Linux.
* llvm-libc-types/linux/loff_t.h: Added Linux definition using
__kernel_loff_t.
* llvm-libc-types/CMakeLists.txt: Include linux subdirectory and add
dependency for loff_t.
* llvm-libc-types/linux/CMakeLists.txt: Registered loff_t.
* sys/types.yaml: Added loff_t to sys/types.
* libc/include/CMakeLists.txt: Added dependency to sys_types target.

Assisted-by: Automated tooling, human reviewed.


  Commit: 9928eab6b57b9791e648abc6cac2ac28870f6dbe
      https://github.com/llvm/llvm-project/commit/9928eab6b57b9791e648abc6cac2ac28870f6dbe
  Author: Sirui Mu <msrlancern at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    A clang/test/CIR/CodeGen/atomic-libcall.c

  Log Message:
  -----------
  [CIR] Atomic load and store via library call (#202671)

This patch adds support for atomic load/store operations that go through
calls to the `__atomic_load` and `__atomic_store` library functions.
This could happen when the size of the atomic type is too large or is
not a power of 2.

Assisted-by: Codex / gpt-5.5 xhigh


  Commit: 8d2a578b2130742c8790f3dba5fb414962eafcd5
      https://github.com/llvm/llvm-project/commit/8d2a578b2130742c8790f3dba5fb414962eafcd5
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
    M clang/test/Sema/LifetimeSafety/invalidations.cpp

  Log Message:
  -----------
  [LifetimeSafety] Fix liveness propagation for all origin flows (#205323)

Previously, the `transfer` function for `OriginFlowFact` only handled
killing the destination origin. It did not propagate liveness backwards
from destination to source, meaning that if an origin flowed into
another, the source was not marked live even when the destination was.

The `transfer` function now propagates liveness from destination to
source: if the destination origin is live, the source origin is also
marked live with the same `LivenessInfo`, before optionally killing the
destination.

Additionally, `handleMovedArgsInCall` now skips rvalue reference
parameters annotated with `[[clang::lifetimebound]]`, since such
parameters should not be treated as moved-from.

This introduces some false positives for invalidations as container
modifications are not considered self-invalidating. The updated test
expectations reflect this, along with `FIXME` comments explaining that
they are false positives stemming from the lack of distinction between
owner-borrows and content-borrows, which will require more precise
`AccessPath` reasoning to resolve.


  Commit: 14670fd9a949958eb4f157a58c34d6179b4bab77
      https://github.com/llvm/llvm-project/commit/14670fd9a949958eb4f157a58c34d6179b4bab77
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/CodeGen/ModuleBuilder.h
    M clang/lib/CodeGen/ModuleBuilder.cpp
    M clang/unittests/CodeGen/CodeGenExternalTest.cpp

  Log Message:
  -----------
  Add limited vtable address querying to `clang::CodeGenerator` (#202807)

This is being used in Carbon (
https://github.com/carbon-language/carbon-lang/pull/7323 ) to implement
cross-language overriding.

I realize this isn't the fully general feature needed for virtual bases,
etc - but this limited functionality is already wrapped up for, if I
understand it correctly, constexpr use cases and some others. So
hopefully it's still something folks feel is general enough to be
worthwhile exporting. For now Carbon doesn't support deriving from a
type with virtual bases, so the extra complexity isn't needed.


  Commit: 053d75c1d580e0c394f4cfb0688bafd05c187b0f
      https://github.com/llvm/llvm-project/commit/053d75c1d580e0c394f4cfb0688bafd05c187b0f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/assume-loop-align.ll
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll

  Log Message:
  -----------
  Revert "Reapply "[InstCombine] Merge consecutive assumes" (#205177)" (#205380)

This surfaces a bug likely fixed by
https://github.com/llvm/llvm-project/pull/205275. Once that lands this
patch can be landed again.

Reverts llvm/llvm-project#205324


  Commit: e8b663ba31d4eed75a6cbc758dbc9f56589c9239
      https://github.com/llvm/llvm-project/commit/e8b663ba31d4eed75a6cbc758dbc9f56589c9239
  Author: Ehsan Amiri <ehsan.amiri at huawei.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
    M llvm/test/Transforms/PhaseOrdering/unswitch-cold-func.ll
    A llvm/test/Transforms/PhaseOrdering/unswitch-nontrivial-cold-func.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/AMDGPU/uniform-unswitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch2.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch3.ll
    A llvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-loop-guard.ll
    A llvm/test/Transforms/SimpleLoopUnswitch/update-dt.ll
    M polly/test/Support/pipelineposition.ll

  Log Message:
  -----------
  [SimpleLoopUnswitch] Reland "Generalize the notion of trivial unswitching" (#204934)

In the original PR for this feature, the third parameter of
`MemorySSAUpdater::applyUpdates` was not set to `true`. This
caused `DT` to be invalid, resulting in the failures. This PR fixes the
issue and provides an additional testcase.

Also in the original commit had three asserts to confirm
`!ModifiedBranch ` when we bail out. One of these is redundant because
it is enclosed in an `if` statement checking the same condition. This PR removes
the redundant `assert` too.


  Commit: 2a362bf5a546d9ac6da47412b6f594de58cce722
      https://github.com/llvm/llvm-project/commit/2a362bf5a546d9ac6da47412b6f594de58cce722
  Author: Nicholas Bishop <nbishop at nbishop.net>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp

  Log Message:
  -----------
  Add no-arg constructor and EraseIf method to MultiplexExternalSemaSource (#204458)

The no-arg constructor makes MultiplexExternalSemaSource usable in
situations where two child sources are not immediately available, or
where conditional logic makes it easier to call AddSource rather than
immediately pass child sources to the constructor.

The EraseIf method allows sources to be removed later if they are no
longer needed.

Co-authored-by: Nicholas Bishop <nicholsabishop at google.com>


  Commit: c0214621a7492d950d0863501fe178c4e74a70f5
      https://github.com/llvm/llvm-project/commit/c0214621a7492d950d0863501fe178c4e74a70f5
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll

  Log Message:
  -----------
  [InstCombine] Fold (bw-1) - ctlz(x&-x) to cttz (#205383)

Works for non-powers of 2.

Alive2: https://alive2.llvm.org/ce/z/-cbxFz


  Commit: 87789e236d9de4b8d688a0d7291c7390fc2c58b4
      https://github.com/llvm/llvm-project/commit/87789e236d9de4b8d688a0d7291c7390fc2c58b4
  Author: adams381 <adams at nvidia.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    A clang/test/CIR/CodeGen/member-pointer-null-init.cpp

  Log Message:
  -----------
  [CIR] Handle non-zero-initializable types in emitNullInitialization (#201654)

Value-initializing an aggregate containing a pointer-to-data-member
(e.g. `new Inner()` where `Inner` has an `int Inner::*` field) crashed
with "type is not zero initializable" because `emitNullInitialization`
unconditionally called `errorNYI` for types where `isZeroInitializable`
returns false.

Member pointers use -1 as the null sentinel, so a plain zero store is
incorrect. Replace the `errorNYI` with `emitNullConstant`, which already
builds the correct per-field pattern (-1 for member-pointer fields, zero
elsewhere), and store the result. Types with virtual bases are still
guarded with `errorNYI` since `emitNullConstant` does not yet handle
them.


  Commit: db078760b01d8b533c5d8d2e1017516823ae9a3d
      https://github.com/llvm/llvm-project/commit/db078760b01d8b533c5d8d2e1017516823ae9a3d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [RISCV] Remove isCodeGenOnly=0 from PseudoLA_TLSDESC. (#205366)

The default for a Pseudo is isCodeGenOnly=1. With isCodeGenOnly=0 the
'la.tlsdesc' is a valid mnemonic for the assembly parser, but crashes in
the encoder.

I don't think this was meant to be a valid assembly mnemonic so remove
it.


  Commit: 05f4625e7282294d556653ca11fc4ccb8f2aedca
      https://github.com/llvm/llvm-project/commit/05f4625e7282294d556653ca11fc4ccb8f2aedca
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M lldb/test/API/lang/objc/hidden-ivars/Makefile

  Log Message:
  -----------
  [lldb][test] Fix TestHiddenIvars rebuild failures in hidden-ivars Makefile (#205114)

Two rebuild-state bugs surfaced when running `./bin/lldb-dotest -p
TestHiddenIvars.py`:

```
FAILED (errors=6, skipped=7, expected failures=2)
```

1. `mkdir: stripped: File exists`, mkdir failed on the second build
   because the directory already existed.  Switch to `mkdir -p`.

2. `cp -r a.out.dSYM stripped/a.out.dSYM` recurses *into* the existing
   destination on rebuild, producing a nested `stripped/a.out.dSYM/
   a.out.dSYM/`.  The outer dSYM keeps its stale UUID, so lldb cannot
   match it to the freshly relinked stripped binary (which gets a new
   UUID per link via -Wl,-random_uuid), causing source breakpoints to
   fail to resolve.  Remove the destination before copying.


  Commit: e09eee295e86bd3e01de5a9ef3eb3d6b9446578b
      https://github.com/llvm/llvm-project/commit/e09eee295e86bd3e01de5a9ef3eb3d6b9446578b
  Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Instrumentor.h
    M llvm/include/llvm/Transforms/IPO/InstrumentorRuntimeHelper.h
    M llvm/lib/Transforms/IPO/Instrumentor.cpp
    A llvm/test/Instrumentation/Instrumentor/compare.ll
    A llvm/test/Instrumentation/Instrumentor/compare_config.json
    M llvm/test/Instrumentation/Instrumentor/default_config.json
    M llvm/test/Instrumentation/Instrumentor/default_rt.h

  Log Message:
  -----------
  [Instrumentor] Add comparison instrumentation opportunity (#204069)

This patch adds an instrumentation opportunity for comparison
instructions (`icmp` and `fcmp`).


  Commit: 044f0a53e3a011739572037d9880cb71eb988dcd
      https://github.com/llvm/llvm-project/commit/044f0a53e3a011739572037d9880cb71eb988dcd
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp

  Log Message:
  -----------
  [TableGen] Use llvm_unreachable in switch guard for all except gcc 8- (#205385)

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

For gccs older than v9 use abort. That seems to make everybody happy.


  Commit: 5d4296c10053158c8193748994f7a49ae88c626b
      https://github.com/llvm/llvm-project/commit/5d4296c10053158c8193748994f7a49ae88c626b
  Author: adams381 <adams at nvidia.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/test/CIR/CodeGenBuiltins/builtin-reduce-bitwise.c
    M clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp

  Log Message:
  -----------
  [CIR] Lower bitwise vector reduce builtins

`__builtin_reduce_or`, `__builtin_reduce_and`, and `__builtin_reduce_xor` were caught by the batch `errorBuiltinNYI` switch in CIRGen and rejected with an NYI diagnostic.  They now lower to the matching `llvm.vector.reduce.{or,and,xor}` intrinsics on the vector element type, mirroring classic CodeGen in `CGBuiltin.cpp`.

The emission routes through `emitBuiltinWithOneOverloadedType`, extended with an optional result type: a vector reduction returns the element type, and CIR has no intrinsic registry to derive it the way classic's `getIntrinsic(ID, argTy)` does, so the element type is supplied explicitly (the default keeps the existing callers unchanged).  The intrinsic name is passed without the `llvm.` prefix, which `LowerToLLVM` prepends, producing LLVM output byte-identical to OGCG.

The `builtin-undef-rvalue` regression test previously pinned `reduce_or` as NYI; it is retargeted to `reduce_add`, which is still NYI, so the undef-rvalue path stays covered.


  Commit: 88eaad84c9832a2eaa335d90505b33870cc4b2e8
      https://github.com/llvm/llvm-project/commit/88eaad84c9832a2eaa335d90505b33870cc4b2e8
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/docs/InternalsManual.rst
    M clang/lib/Frontend/CompilerInvocation.cpp
    M llvm/include/llvm/Option/OptParser.td
    M llvm/unittests/Option/OptionMarshallingTest.cpp
    M llvm/utils/TableGen/OptionParserEmitter.cpp

  Log Message:
  -----------
  [llvm][option] Remove bitfield marshalling (#203051)

Marshaling of bitfield options is adding some extra complexity in the
form of extractors and mergers, but is now unused. This PR removes that
feature.


  Commit: 289e243d2b481ceb604c798f239350108bcd9585
      https://github.com/llvm/llvm-project/commit/289e243d2b481ceb604c798f239350108bcd9585
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/tools.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  Revert "[flang][cuda] Do not emit data transfer for constant read on the rhs" (#205394)

Reverts llvm/llvm-project#205185

this is making couple of downstream tests failing. Another approach is
needed


  Commit: c70d01a0a6b76e8b34a470cf9ef57a68cfa7cc0d
      https://github.com/llvm/llvm-project/commit/c70d01a0a6b76e8b34a470cf9ef57a68cfa7cc0d
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [lldb] Fix data race in Module::GetSectionList (#205226)

Module::GetSectionList built the section list (m_sections_up) without a
lock, so parallel module loading (e.g. crashlog.py's thread pool) could
race two builders on the unique_ptr and the SectionList vector, crashing
in AppleObjCRuntime::GetObjCVersion.

Build through ObjectFile::GetSectionList instead of locking the module
mutex and calling CreateSections directly: that path locks the object
file's section mutex before the module mutex, and the build can re-enter
it, so holding the module mutex across the build would invert the order
and risk a deadlock. The Module-level counterpart to a0176fd9dfc5.

rdar://180308581


  Commit: e0359327d544d593f4bbf6af9479eb55ddf342d0
      https://github.com/llvm/llvm-project/commit/e0359327d544d593f4bbf6af9479eb55ddf342d0
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 7591910 (#205377)

This fixes 759191045115d966dffc99901e9086289767ff5c.

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


  Commit: dd1685d5a9f4f0af759ec29dc7f39951e262467c
      https://github.com/llvm/llvm-project/commit/dd1685d5a9f4f0af759ec29dc7f39951e262467c
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [SLP] Don't recognize rotated widened strided stores in analyzeRtStrideCandidate() (#204013)

These cases which are nearly strided stores are being incorrectly
recognized as strided stores. Fixes #204011


  Commit: 361f3b24f2a8703eb7a32c1ae081f490888238f3
      https://github.com/llvm/llvm-project/commit/361f3b24f2a8703eb7a32c1ae081f490888238f3
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [LifetimeSafety] Model GNU statement expressions (#204841)


  Commit: 3f48c6728c06f270f3126394ef8e6e65ef9d7174
      https://github.com/llvm/llvm-project/commit/3f48c6728c06f270f3126394ef8e6e65ef9d7174
  Author: Kelvin Li <kli at ca.ibm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/test/tools/dsymutil/X86/bundle-mtime.test

  Log Message:
  -----------
  [dsymutil] Use more portable way to compare timestamp (NFC) (#204680)

`find` on AIX does not support `-maxpath` option. This patch is
to use python to compare the `mtime` of the file/directory.


  Commit: 95decf7ce8bdcee2ab3f2b6932d951bd70babf91
      https://github.com/llvm/llvm-project/commit/95decf7ce8bdcee2ab3f2b6932d951bd70babf91
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/test/Analysis/BasicAA/phi-aa.ll
    M llvm/test/Analysis/BasicAA/phi-and-select.ll
    M llvm/test/Analysis/BasicAA/recphi.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-derived-ivs.ll
    M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
    M llvm/test/Transforms/LoopVersioning/exit-block-dominates-rt-check-block.ll

  Log Message:
  -----------
  [BasicAA] Allow some more recursion across GEPs/phis. (#205010)

Allow recursive base-object analysis for some GEPs. The new version
still retains some bail-outs to avoid some redundant work.

This has a notable impact across a large IR corpus (32k modules from
large set of C/C++ workloads).

Some of the highlights include:

   aa.NumNoAlias                  +1.52%
   aa.NumMayAlias                 −0.10%
   licm.NumMovedLoads             +20.47%
   licm.NumHoisted                +2.03%
   early-cse.NumCSELoad           +1.59%
   SLP.NumVectorInstructions      +0.86%
   loop-vectorize.LoopsVectorized +0.21%
   instcount.TotalInsts           −0.05%
   instcount.NumLoadInst          −0.10%
   basicaa.SearchTimes            +0.98%
   basicaa.SearchLimitReached     +14.39%
   LV runtime alias check         −1.3%

Compile-time has 2 notable changes

    stage1-ReleaseThinLTO: +0.04%
    stage1-ReleaseLTO-g: +0.18%


https://llvm-compile-time-tracker.com/compare.php?from=26ed0c17c0de84add0513a0e9699479f8c88b8fe&to=476e7466c5f543ac74c86bad728d79892f668f73&stat=instructions:u

The stage1-ReleaseLTO-g regression in particular is almost exclusively
due to tramp3d-v4, for which we also generate +1.18% more code, so the
majority of the increase is coming from additional transforms/codegen,
not the analysis itself.

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


  Commit: dcec4dda91608ddeee72cf2f503b3cb56e427fcb
      https://github.com/llvm/llvm-project/commit/dcec4dda91608ddeee72cf2f503b3cb56e427fcb
  Author: yueshe <yueshe at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/SystemZ/misched-prera-loads.mir
    M llvm/test/CodeGen/SystemZ/misched-prera-pdiffs.mir

  Log Message:
  -----------
  [SystemZ] Add missing asserts requirement for pre-RA sched mir tests (#205403)

This is based off https://github.com/llvm/llvm-project/pull/188823 and
is needed because tests are failing in release (non-asserts) builds


  Commit: 7a4dfab07d1f76e5609be940213495060cecb078
      https://github.com/llvm/llvm-project/commit/7a4dfab07d1f76e5609be940213495060cecb078
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/Basic/SourceManager.h
    M clang/lib/Basic/SourceManager.cpp
    M clang/test/DebugInfo/Generic/macro.c
    A clang/test/Preprocessor/hardlink-include-names.c
    M clang/unittests/Basic/SourceManagerTest.cpp

  Log Message:
  -----------
  [clang] Fix incorrect filenames for hardlinks (#189475)

Previously hardlinked files would be discovered based on their inode,
leading to incorrect filepaths printed in some cases.

Fixes https://github.com/llvm/llvm-project/issues/26953
Fixes https://github.com/llvm/llvm-project/issues/58726

Related https://reviews.llvm.org/D137304

Assisted-by: codex


  Commit: 0628d3586aee3f880a75934e4f7c314bf5c221f2
      https://github.com/llvm/llvm-project/commit/0628d3586aee3f880a75934e4f7c314bf5c221f2
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/GotoSolver.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    A clang/test/CIR/CodeGen/const-label-addr.c

  Log Message:
  -----------
  [CIR] Implement support for emitting label address constants (#203644)

The evalloop.c test in the llvm-test-suite single source tests contains
a static array that is initialized with the address of labels within the
enclosing function. This wasn't implemented in CIR.

This change adds an implementation. The constant emitter change was
trivial. We just needed to create a #cir.block_addr_info attribute.
However, using that attribute as an initializer for a global requires
some additional handling and special lowering for the initializer.

The goto solver also needed to be updated to consider uses of labels in
global initializers.

The test case here was copied over directly from classic codegen. The
original test has an additional test case for the difference between two
label addresses. Support for that case will be added in a future change.

Assisted-by: Cursor / claude-opus-4.8


  Commit: 5ab7ad96b05277467b2bab27f510affd337fa3be
      https://github.com/llvm/llvm-project/commit/5ab7ad96b05277467b2bab27f510affd337fa3be
  Author: vitbur <vittorioburani at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [RISCV][XCV] Add missing IsRV32 predicate to the XCVmac block (#205095)

The XCVmac instruction block was missing the `IsRV32` predicate that
every other XCV block already carries. `HasVendorXCVmac` on its own does
not require RV32, so `-mtriple=riscv64 -mattr=+xcvmac` could select
these RV32-only vendor instructions on RV64. Add `IsRV32` to the XCVmac
block to match the other XCV extensions and prevent selecting invalid
instructions on RV64.

Split out of #204879 at review request (one fix per PR).

Part of a CORE-V (XCV) series; see RFC:
https://discourse.llvm.org/t/rfc-core-v-xcv-support-for-cv32e40p-clang-builtins-xcvsimd-intrinsics-and-generic-auto-selection/91111


  Commit: 6709bcde07752b38038bafda35eac3f16c38c4ba
      https://github.com/llvm/llvm-project/commit/6709bcde07752b38038bafda35eac3f16c38c4ba
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/unittests/Support/GlobPatternTest.cpp

  Log Message:
  -----------
  Revert "[NFC][Support] Add test for inverted slash-agnostic matching" (#205397)

Reverts llvm/llvm-project#203290 as part of the process of reverting
https://github.com/llvm/llvm-project/pull/202854 due to downstream
breakage (see discussion in
https://github.com/llvm/llvm-project/pull/202854#issuecomment-4746579478)


  Commit: 0b5c006208cf7b0fee3709f468152e7de81607ef
      https://github.com/llvm/llvm-project/commit/0b5c006208cf7b0fee3709f468152e7de81607ef
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/SanitizerSpecialCaseList.rst
    M clang/unittests/Basic/DiagnosticTest.cpp
    M llvm/lib/Support/SpecialCaseList.cpp
    M llvm/unittests/Support/SpecialCaseListTest.cpp

  Log Message:
  -----------
  Revert "Make sanitizer special case list slash-agnostic" (#205399)

Reverts llvm/llvm-project#149886 as part of the process of reverting
https://github.com/llvm/llvm-project/pull/202854 due to downstream
breakage (see discussion in
https://github.com/llvm/llvm-project/pull/202854#issuecomment-4746579478)


  Commit: 92f058a8b351def1c10cb3f37d05adf813fb9638
      https://github.com/llvm/llvm-project/commit/92f058a8b351def1c10cb3f37d05adf813fb9638
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/DebugInfo/PDB/Native/TpiStream.cpp
    A llvm/test/tools/llvm-pdbutil/forward-cxx-to-c-odr.test
    A llvm/test/tools/llvm-pdbutil/forward-cxx-to-c.test

  Log Message:
  -----------
  [DebugInfo][CodeView] Resolve forward references to types without unique name (#203781)

In the following code:
```cpp
// header.h
typedef struct lua_State lua_State;
lua_State *getState();

// source.c
#include "header.h"
struct lua_State { int field; };

lua_State *getState() {
    static lua_State state = {.field=42}; // make sure the type is emitted
    return &state;
}

// main.cpp
extern "C" {
    #include "header.h"
}
int main() { return getState() != 0; }
```

We'll get two forward references for `lua_State` when compiling with
clang-cl. One with a unique name (from C++) and one without (from C).
There's one complete definition for the type (from `source.c`). Since
this is from C, it doesn't have a unique name. Before, we could only
resolve the forward reference from C, not from C++.

With this PR, we can resolve both references. I also tested that the VS
debugger resolves the reference correctly.

I'm not sure if this is a clang bug, because when compiling with MSVC,
the C type also has a unique name. Clang omits the unique name, because
C doesn't have ODR like C++.


  Commit: f9db256c63b5ecc802183f6e58fda039e36816c4
      https://github.com/llvm/llvm-project/commit/f9db256c63b5ecc802183f6e58fda039e36816c4
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h

  Log Message:
  -----------
  [X86] Hoist getMOVriOpcode to X86InstrInfo.h and share it, NFC (#205187)

The x86 backend often needs to materialize potentially 64-bit immediates
into registers, and the logic to pick between the available opcodes
exists in 3 places at least. Move this to X86InstrInfo.h so we can share
it over the x86 backend without copying it.

An LLM did the refactoring.


  Commit: 4c02baa7db33dcebd6b9eb51837b176869c8d327
      https://github.com/llvm/llvm-project/commit/4c02baa7db33dcebd6b9eb51837b176869c8d327
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M lldb/source/Plugins/Process/elf-core/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Add missing dependency on lldbPluginObjectFilePlaceholder (#204831)

Fixes shared library build after 882d0251.


  Commit: 094c10f9c6a7ff039c682fd2c5d90f92e2579f1e
      https://github.com/llvm/llvm-project/commit/094c10f9c6a7ff039c682fd2c5d90f92e2579f1e
  Author: adams381 <adams at nvidia.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    A clang/test/CIR/Transforms/abi-lowering/indirect-byval.cir

  Log Message:
  -----------
  [CIR] Lower byval/byref args in CallConvLowering (#201717)

[CIR] Lower byval/byref args in CallConvLowering

ArgKind::Indirect arguments were hitting an errorNYI in
CIRABIRewriteContext.  Add the lowering: in the callee the block argument
type changes to !cir.ptr<T>, a load is inserted at entry so the body sees
the original value type, and llvm.byval or llvm.byref is attached based on
ownership.  At call sites, both byval and byref are lowered by allocating a
stack slot, copying the value in, and passing the pointer.

For byval, llvm.noalias and llvm.noundef are also added -- llvm.noalias
because the call-site rewrite always produces a fresh alloca+store
(equivalent to -fpass-by-value-is-noalias), and llvm.noundef because the
copy is always fully defined.  byref carries only llvm.byref and llvm.align
since it does not assert exclusive ownership.


  Commit: 594cce3cbcdbe46d6f9ac3c6a53f86ae63c5bc42
      https://github.com/llvm/llvm-project/commit/594cce3cbcdbe46d6f9ac3c6a53f86ae63c5bc42
  Author: Domenic Nutile <domenic.nutile at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    A llvm/test/CodeGen/AMDGPU/uniform-intrin-combine-wqm-demote.ll

  Log Message:
  -----------
  [AMDGPU] Change static NOP last terminator SI_DEMOTE_I1 to be replaced by S_BRANCH instead of assert (#204649)

This issue was first discovered in some testing downstream. A specific
chain of transformations on a ballot instruction with a constant
argument followed by an llvm.amgcn.wqm.demote call leads to an
instruction of `SI_DEMOTE_I1 -1, 0` being the last terminator of a block
with a single successor. This instruction is a NOP and can safely be
replaced with an S_BRANCH to the block's successor instead of asserting
failure.

The test added in this change is a very simplified recreation of the
pattern seen in the shader compilation in the downstream that lead to
assertion failure


  Commit: 9757708126ff8defac247ed5a8a04b5daa8cd7c1
      https://github.com/llvm/llvm-project/commit/9757708126ff8defac247ed5a8a04b5daa8cd7c1
  Author: seantalts <me at seantalts.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/pred-inst-discount-vector-library-call.ll

  Log Message:
  -----------
  [LoopVectorize] Don't assert in getVectorCallCost for vector library variants (#202085)

During loop vectorization, `computePredInstDiscount` queries the cost of
instructions at vector VF using `getInstructionCost`. A `CallInst` with
a vector library variant delegates to `getVectorCallCost`, which
asserted that such variants should not reach it.

A predicated call can however reach `getVectorCallCost` via
`computePredInstDiscount` — before its widening decision is made — when
a predicated user (e.g. a scatter store) is being considered for
scalarization. Remove the assert and fall through to the existing
scalarization cost, which is the cost relevant to that analysis.

Adds a regression test exercising that path.


  Commit: ebf518b37a85a418ef887d77ff688d17d2bd8fa5
      https://github.com/llvm/llvm-project/commit/ebf518b37a85a418ef887d77ff688d17d2bd8fa5
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
    M mlir/include/mlir/Dialect/XeGPU/uArch/IntelGpuXe2.h
    M mlir/include/mlir/Dialect/XeGPU/uArch/uArchBase.h
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
    M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout.mlir
    M mlir/test/Dialect/XeGPU/resolve-layout-conflicts.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Refactor XeGPU layout propagation: passing lane_layout/lane_data with inst_data (#203156)

**Motivation**

Enhance setup* rules in layout propagation to pass lane_layout, and
lane_data information during inst_data propagation, so that the
propagation can have lane level information when choosing an optimal
inst_data. This branch makes that relationship explicit and uniform
across all setup rules.

**Invariant**

All setup rules now produce layouts that satisfy:

Nd ops + dpas/dpas_mx: inst_data = k * (lane_layout * lane_data), k ≥ 1
Scatter/matrix ops + non-anchor ops: inst_data = lane_layout * lane_data

**Key changes in XeGPULayoutImpl**
- New per-op anchor setup rules: setupStoreNdAnchorLayout,
setupPrefetchNdAnchorLayout,
setupLoadNdAnchorLayout (replacing a generic block-IO path) — Nd ops
have rigid lane info
  and fit inst_data to the lane factorization.
- New complete*LayoutFromInstData helpers: fill in lane info on
user-provided anchors that
specify only inst_data, by re-running the op's Lane-kind setup with
inst_data as the
destination shape. Covers scatter load/store, block store/load, DPAS,
and DPAS_MX.
- BlockIOInstructionInterface (new in uArchBase.h): shared abstraction
over the
load/store/prefetch 2D-block instructions; the three Xe2 instructions
now implement it.
- setupMultiReductionResultLayout reorganized so the InstData and Lane
branches share the
  same lane-layout logic (computeReductionLaneLayoutAndData).
- createScaleLayout (dpas_mx): caps the scale lane_layout by inst_data
so the scale
  operand's load_nd satisfies the multiple-of invariant.
- getValidLayouts → getSgLayoutCandidates: renamed and generalized from
2D to N-D
  factorization.
- inferShapeCastSourceLayout preserves lane info through 1D↔ND
collapse-style casts.
- chunkSize → contiguousChunkSize parameter rename for the scatter
inst_data decision.
- ResolveLayoutConflicts: retargets an existing convert_layout instead
of chaining a second
  one; UnrollConvertLayoutOp short-circuits when input == target.
- Sub-byte (4-bit) element support added to the block-load uArch table.
- Tests updated: propagate-layout-inst-data.mlir, propagate-layout.mlir,
  resolve-layout-conflicts.mlir.

Assisted-by-claude

---------

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


  Commit: cf78c5484ae7d39464d7b46f9fb3769dd6f9a2b7
      https://github.com/llvm/llvm-project/commit/cf78c5484ae7d39464d7b46f9fb3769dd6f9a2b7
  Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryBuiltins.h
    M llvm/lib/Analysis/MemoryBuiltins.cpp

  Log Message:
  -----------
  [MemoryBuiltins][NFC] Clang format and fixed coding style (#205205)


  Commit: 0fdfa2b597aa0dbe76bc89fa313e2aa00da04430
      https://github.com/llvm/llvm-project/commit/0fdfa2b597aa0dbe76bc89fa313e2aa00da04430
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [RISCV] Remove assembly string from PseudoLA_TLSDESC. NFC (#205406)


  Commit: 7e510f6adca203c3e347a85dc0e5a9016cd645a5
      https://github.com/llvm/llvm-project/commit/7e510f6adca203c3e347a85dc0e5a9016cd645a5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp

  Log Message:
  -----------
  [LV] Remove unused getInt/Fp/PointerInductionDescriptor accessors (NFC) (#205414)

getIntOrFpInductionDescriptor and getPointerInductionDescriptor are
unused, remove them.


  Commit: 5794f4e183d2612bb3aa4cd529d0c5c8c0f267dd
      https://github.com/llvm/llvm-project/commit/5794f4e183d2612bb3aa4cd529d0c5c8c0f267dd
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
    M llvm/lib/Analysis/ProfileSummaryInfo.cpp

  Log Message:
  -----------
  [PSI] Drop AllowSynthetic parameter to getProfileCount

This was not set anywhere and synthetic profile counts are not
emitted/used anywhere, so remove it.

Reviewers: david-xl, mtrofin, teresajohnson

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


  Commit: ee682b8b050a16dc7c2f6bcb6e3409b3241d4022
      https://github.com/llvm/llvm-project/commit/ee682b8b050a16dc7c2f6bcb6e3409b3241d4022
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
    M llvm/lib/Analysis/BlockFrequencyInfo.cpp
    M llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp

  Log Message:
  -----------
  [BFI] Drop AllowSynthetic Parameter

This was never set anywhere to something other than the default outside
of the implementation and synthetic profile counts are slated for
removal.

Reviewers: teresajohnson, mtrofin, david-xl

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


  Commit: e584691adce2c8c0949e28f56427db72ac765570
      https://github.com/llvm/llvm-project/commit/e584691adce2c8c0949e28f56427db72ac765570
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/Function.h
    M llvm/lib/IR/Function.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/Utils/ProfileVerify.cpp
    M llvm/unittests/IR/MetadataTest.cpp

  Log Message:
  -----------
  [IR] Remove Synthetic Profile Support from Function

Synthetic profiles are not generated anywhere and support is very
sporadic across the code base. They are slated to be removed, so remove
support for them from Function member functions.

A future PR will clean up the ProfileCount abstraction that is now no
longer necessary.

Reviewers: teresajohnson, david-xl, mtrofin

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


  Commit: b74154ccda5f417de6be26fcc69cd41aed8eec57
      https://github.com/llvm/llvm-project/commit/b74154ccda5f417de6be26fcc69cd41aed8eec57
  Author: Sy Brand <sy.brand at fastly.com>
  Date:   2026-06-23 (Tue, 23 Jun 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/Driver/wasm-toolchain.c
    A lld/test/wasm/cooperative-threading.s
    M lld/test/wasm/stack-pointer-abi.s
    M lld/test/wasm/thread-context-abi-mismatch.s
    M lld/test/wasm/tls-libcall.s
    M lld/wasm/Config.h
    M lld/wasm/Driver.cpp
    M lld/wasm/Options.td
    M lld/wasm/Relocations.cpp
    M lld/wasm/SyntheticSections.cpp
    M lld/wasm/Writer.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    A llvm/test/CodeGen/WebAssembly/cooperative-strip-tls.ll

  Log Message:
  -----------
  [WebAssembly] Cooperative threading for WASIP3 (#200855)

This PR builds on the changes to allow libcall thread context from
https://github.com/llvm/llvm-project/pull/175800/changes and adds the
necessary changes to support cooperative multithreading in the WASIP3
target:

- Not marking memory as shared 
- Allowing thread local accesses without atomics
- Only using passive segments for TLS segments

The linker changes are supported by a new flag called
`--cooperative-multithreading`. We talked about having two flags, one
for the `--libcall-thread-context` part and one for the cooperative
multithreading part. For now, I've simply replaced the
`--libcall-thread-context` flag with the `--cooperative-multithreading`
one and kept the internal configuration intact for simplicity.


  Commit: 7e6d7003d805935036076b6d76ee698164e5b8aa
      https://github.com/llvm/llvm-project/commit/7e6d7003d805935036076b6d76ee698164e5b8aa
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
    M llvm/lib/CodeGen/MachineFunction.cpp

  Log Message:
  -----------
  [PSI] Return raw entry count values

Now that synthetic entry counts are being removed, stop using the
ProfileCount wrapper around entrycounts given it only exists to
distinguish between synthetic and real profile counts.

Reviewers: teresajohnson, david-xl, mtrofin

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


  Commit: d6c03937349e8d3856b4e21f1737e860bf1c8e3f
      https://github.com/llvm/llvm-project/commit/d6c03937349e8d3856b4e21f1737e860bf1c8e3f
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M lldb/cmake/modules/LLDBConfig.cmake

  Log Message:
  -----------
  [lldb] Disable dynamic script interpreters by default under Xcode (#205423)

When LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS is set, liblldb's export
list is built by merging the undefined LLDB symbols extracted from each
script interpreter plugin's objects (119e57630281). Because the plugins
link liblldb, the generated file is wired into liblldb's link via
LINK_DEPENDS, a file-level dependency with no target-level edge.

The Xcode generator only has coarse target-level dependencies, so that
generated liblldb-script-interpreter.exports ends up attached to two
targets with no common dependency, which its "new build system" rejects
at generation time:

```
  CMake Error in source/API/CMakeLists.txt:
    .../source/API/liblldb-script-interpreter.exports
    is attached to multiple targets ... but none of these is a common
    dependency of the other(s). This is not allowed by the Xcode "new
    build system".
```

Default the option to OFF under the Xcode generator. The script
interpreter plugins are then linked statically into liblldb and the
per-plugin export path is never taken.

rdar://180422686


  Commit: 65a7ccf65602e5e77c13f7e88fe152f4f7cfaa17
      https://github.com/llvm/llvm-project/commit/65a7ccf65602e5e77c13f7e88fe152f4f7cfaa17
  Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
    A mlir/lib/Dialect/OpenACC/Transforms/ACCEmitRemarksLoop.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
    A mlir/test/Dialect/OpenACC/acc-emit-remarks-loop-pipeline.mlir
    A mlir/test/Dialect/OpenACC/acc-emit-remarks-loop.mlir

  Log Message:
  -----------
  [MLIR][OpenACC] Add acc-emit-remarks-loop pass (#205203)

Add a function-level pass that emits optimization remarks for loops in
`acc.compute_region`, describing their mapping to OpenACC parallel
levels (gang, worker, vector, sequential) and GPU dimensions (blockIdx,
threadIdx).


  Commit: 37a71b650a9f4c4431fece85485023a048b0bb1d
      https://github.com/llvm/llvm-project/commit/37a71b650a9f4c4431fece85485023a048b0bb1d
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
    M llvm/include/llvm/IR/Function.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
    M llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/Analysis/ProfileSummaryInfo.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/MIRSampleProfile.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/ProfDataUtils.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
    M llvm/lib/Transforms/IPO/PartialInlining.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
    M llvm/lib/Transforms/Utils/ProfileVerify.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/unittests/IR/MetadataTest.cpp

  Log Message:
  -----------
  [IR] Remove ProfileCount Abstraction

This only exists to differentiate between real and synthetic profiles.
Remove the abstraction now that we plan to fully remove synthetic
profiles.

Reviewers: mtrofin, david-xl

Reviewed By: mtrofin

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


  Commit: 1a997e2a2c370231b6add5884f6fdc7f195d5fe6
      https://github.com/llvm/llvm-project/commit/1a997e2a2c370231b6add5884f6fdc7f195d5fe6
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/DWARFLinker/Classic/DWARFLinker.h
    M llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
    M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
    M llvm/tools/dsymutil/DwarfLinkerForBinary.h
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp

  Log Message:
  -----------
  [dsymutil] Reuse a single thread pool across architectures (#204691)

dsymutil links the architectures of a universal binary on a thread pool,
and the parallel linker's DWARFLinkerImpl::link() then created a second
pool to link each architecture's object files. With one such inner pool
per architecture, dsymutil spun up more worker threads than the machine
has cores.

Add DWARFLinkerBase::setThreadPool() so the caller provides the pool.
The parallel linker schedules the object files on it as a
ThreadPoolTaskGroup. dsymutil hands over the pool it already uses to
schedule the architectures, llvm-dwarfutil passes one sized by
--num-threads, and the classic linker ignores it and manages its own
threads (always 2 for the lockstep algorithm).

The per-compile-unit cloning still runs on the global llvm::parallel
executor, whose per-thread allocators are indexed by getThreadIndex(),
so it can't move onto this pool.


  Commit: cf6527a49669c796bc4b5bacb7a7738fee13944b
      https://github.com/llvm/llvm-project/commit/cf6527a49669c796bc4b5bacb7a7738fee13944b
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/profile/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn

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

55d7f777d958
582a20269e2c


  Commit: 0c6a0c4ccf234c5d9969294b454cb615277ede14
      https://github.com/llvm/llvm-project/commit/0c6a0c4ccf234c5d9969294b454cb615277ede14
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaDowngrade1p1To1p0.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/test/Dialect/Tosa/dynamic_extension.mlir
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
    M mlir/test/Dialect/Tosa/tosa-downgrade-1-1-to-1-0.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
    M mlir/test/Dialect/Tosa/verifier.mlir

  Log Message:
  -----------
  [mlir][tosa] Add support for matmul_t (#203894)

Adds support for matmul_t added to the specification in
https://github.com/arm/tosa-specification/pull/50.

This includes:
- Operator definition
- Verification logic for the operator
- Output shape inference for the operator
- Validation checks to ensure compliance with the TOSA specification
including profile compliance and level checks.
- Support for matmul_t to matmul in the downgrade pass.

Note that MXFP support will be added in a follow-up commit.


  Commit: 3b1927989a0831d731eb5e0b9eada6a5367c6bf5
      https://github.com/llvm/llvm-project/commit/3b1927989a0831d731eb5e0b9eada6a5367c6bf5
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    A flang/test/Semantics/cuf29.cuf

  Log Message:
  -----------
  [flang][cuda] Prefer valid intrinsics over host-only generics in device code (#205376)

In CUDA device code, a host-only generic can shadow an intrinsic with
the same name and cause a valid call such as maxloc(a, 1) to be rejected
as non-device-callable. Retry intrinsic resolution for host-only generic
function calls in device context, preserving normal diagnostics when no
valid intrinsic matches.


  Commit: 6c25981989b0b21e5fa95ae75badd94a1c5453f6
      https://github.com/llvm/llvm-project/commit/6c25981989b0b21e5fa95ae75badd94a1c5453f6
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Support/GlobPattern.h
    M llvm/lib/Support/GlobPattern.cpp
    M llvm/unittests/Support/GlobPatternTest.cpp

  Log Message:
  -----------
  Revert "[NFC][Support] Implement slash-agnostic path matching in GlobPattern" (#205409)

Reverts llvm/llvm-project#202854 due to downstream breakage (see
discussion in
https://github.com/llvm/llvm-project/pull/202854#issuecomment-4746579478)


  Commit: 510ef079ffdd60a912ebf23911621944af757ac6
      https://github.com/llvm/llvm-project/commit/510ef079ffdd60a912ebf23911621944af757ac6
  Author: Maosu Zhao <maosu.zhao at intel.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
    M llvm/test/Instrumentation/NumericalStabilitySanitizer/non_float_store.ll

  Log Message:
  -----------
  [NSan] Fix null-pointer crash on unsupported vector element sizes (#202270)

In propagateNonFTStore, BitcastTy is left null when a ConstantDataVector
has an element width other than 32/64/80 bits (e.g., f16, bf16, fp128).
Passing a null element type into VectorType::get crashes. Guard the
VectorType::get call so the unsupported case falls through to the "reset
shadow to unknown" path.

---------

Co-authored-by: Alexander Shaposhnikov <ashaposhnikov at google.com>


  Commit: c179b4e55aaf7b13813fd662b0acc6cf0908a949
      https://github.com/llvm/llvm-project/commit/c179b4e55aaf7b13813fd662b0acc6cf0908a949
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [flang][cuda] Materialize trivial computation to avoid data transfer error (#205422)

Avoid this error: `error: 'cuf.data_transfer' op expect src and dst to
be references or descriptors or src to be a constant: 'f32' -
'!fir.ref<f32>'`


  Commit: 43b63b61c392920460e32339f2703d5f75a20218
      https://github.com/llvm/llvm-project/commit/43b63b61c392920460e32339f2703d5f75a20218
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp

  Log Message:
  -----------
  [SandboxVec][Scheduler] Implement direction (#205193)

DGNode::UnscheduledPreds was added in a previous patch, so this patch
makes use of it in the scheduler. Depending on Dir we can now schedule
BottomUp or TopDown.


  Commit: bab165ecb0d64686849dfa14d1798589eee7b66e
      https://github.com/llvm/llvm-project/commit/bab165ecb0d64686849dfa14d1798589eee7b66e
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/tools/dsymutil/Options.td

  Log Message:
  -----------
  [dsymutil] Fix help message after #200971 (#203337)

The default DWARF linker is parallel after #200971. Fix help message
which still suggests classic DWARF linker.


  Commit: 614b0b4fe8cb418b7c409f504846fe7e4f158b6f
      https://github.com/llvm/llvm-project/commit/614b0b4fe8cb418b7c409f504846fe7e4f158b6f
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

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

  Log Message:
  -----------
  [lldb] Resolve dyld introspection SPIs with dlsym (NFC) (#205434)

HostInfoMacOSX's SharedCacheInfo used the dyld process-snapshot
introspection SPIs only when <mach-o/dyld_introspection.h> was present,
gating the calling code behind a compile-time macro.

To avoid bifurcating the behavior based on the SDK, rather than the
presence of the symbols, use dlsym to resolve them at runtime.

While here, fold the duplicate dlsym of dyld_image_segment_data_ into
the new, once-initialized, shared table.

Assisted-by: Claude


  Commit: c997a13812c1250499d016867bf6f2f9197e384e
      https://github.com/llvm/llvm-project/commit/c997a13812c1250499d016867bf6f2f9197e384e
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    M llvm/lib/Target/Hexagon/Hexagon.h
    A llvm/lib/Target/Hexagon/HexagonHVXSaveRemark.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    A llvm/test/CodeGen/Hexagon/hvx-save-remarks.ll

  Log Message:
  -----------
  [Hexagon] Add HVX caller-save remark pass for call-site diagnostics (#189188)

Add a new MachineFunctionPass (HexagonHVXSaveRemark) that emits
optimization analysis remarks when HVX vector registers must be saved
and restored around function calls. All HVX registers are caller-saved
(Section 5.3 of the Hexagon ABI), so any HVX value live across a call
requires a save/restore pair on the stack. Each HVX vector is 64 or 128
bytes, making this overhead expensive.

The pass exits when remarks are not requested
(-Rpass-analysis=hexagon-hvx-save) or when HVX is not enabled. A byte
threshold (default 1024, tunable via -hexagon-hvx-save-threshold)
filters out functions with only a small number of saves. The remarks
help programmers identify call sites where inlining, hoisting, or
sinking could reduce the save/restore cost.


  Commit: bdc00c2a051169caf0f3cff624f00e3d38d02a3c
      https://github.com/llvm/llvm-project/commit/bdc00c2a051169caf0f3cff624f00e3d38d02a3c
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M .github/workflows/prune-unused-branches.py

  Log Message:
  -----------
  [Github] Make prune-unused-branches only delete branches after 7 days

To hopefully prevent the last failure mode that led to the job being
disabled where the GitHub API failed to return results for >24 hours.

Reviewers: cmtice

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


  Commit: c48e258f617c231c6be1bbf15d239dfdcdd8c30c
      https://github.com/llvm/llvm-project/commit/c48e258f617c231c6be1bbf15d239dfdcdd8c30c
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M .github/workflows/prune-branches.yml

  Log Message:
  -----------
  [Github] Reenable prune-unused-branches workflow

The Github API has recovered and the previous failure mode has been
rectified by ensuring that branches are ready for deletion for seven
days rather than 24 hours.

Reviewers: cmtice

Reviewed By: cmtice

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


  Commit: f12b16713185fe244b7f21f9c0fa42f96fc066e8
      https://github.com/llvm/llvm-project/commit/f12b16713185fe244b7f21f9c0fa42f96fc066e8
  Author: Matt <MattPD at users.noreply.github.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M flang/include/flang/Lower/Support/ReductionProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/Support/ReductionProcessor.cpp
    A flang/test/Lower/OpenMP/Todo/declare-reduction-operator-multiple-types.f90
    A flang/test/Lower/OpenMP/Todo/declare-reduction-operator-use-assoc.f90
    A flang/test/Lower/OpenMP/declare-reduction-operator-derived.f90
    A flang/test/Lower/OpenMP/declare-reduction-operator.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix ICE lowering user-defined operator declare reduction

A REDUCTION clause naming a user-defined operator (e.g.,
reduction(.myop.:x)) crashed in lowering: ReductionProcessor assumed the
DefinedOperator clause variant always held an intrinsic operator and called
std::get<IntrinsicOperator> unconditionally, which aborts for the
DefinedOpName alternative.

Handle DefinedOpName in the reduction clause processor, adding the
clause-side counterpart to the directive handling from #190288. For a
locally declared user-defined operator reduction, resolve the operator to
its reduction symbol and reference the omp.declare_reduction op materialized
for the declare reduction directive. The op name is now module-scoped via
AbstractConverter::mangleName, on the directive and clause sides in
lockstep, so reductions with the same operator spelling in different modules
no longer collide.

Cases that are not yet supported (reductions imported by USE association,
renamed or merged operators, and declarations with multiple types) now emit
a clean "not yet implemented" diagnostic instead of crashing or silently
binding the wrong combiner. Support for the USE-associated and cross-module
cases is a follow-up that builds on the semantic fix in #200329.

Tests cover the issue's integer case and a derived-type case (both lower,
with a module-scoped op name), plus the USE-associated and multiple-type
cases (clean TODO).

Fixes #204299

Assisted-by: Claude Opus 4.8, GPT-5.5.


  Commit: 4bb31d7c30933e42bc924536728178ba0051ab31
      https://github.com/llvm/llvm-project/commit/4bb31d7c30933e42bc924536728178ba0051ab31
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/test/Dialect/GPU/canonicalize.mlir

  Log Message:
  -----------
  [mlir][gpu] Fix memref.dim folding with negative index (#205338)

Fixes #205073.


  Commit: 719144a271dbefb8719ed9ecd4c142ff514b4f22
      https://github.com/llvm/llvm-project/commit/719144a271dbefb8719ed9ecd4c142ff514b4f22
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp

  Log Message:
  -----------
  [mlir] Simplify DimOp::fold by using `getConstantIndex`(NFC) (#205343)

Refactor `DimOp::fold` in both memref and tensor dialects to use the
existing `getConstantIndex()` helper instead of manually extracting the
index via `IntegerAttr`.


  Commit: 87c73ade608c60c7e5e9f3868556b1b572be94c7
      https://github.com/llvm/llvm-project/commit/87c73ade608c60c7e5e9f3868556b1b572be94c7
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    A llvm/test/tools/llubi/icmp_ptr.ll
    M llvm/tools/llubi/lib/Interpreter.cpp

  Log Message:
  -----------
  [llubi] Add basic support for pointer comparisons (#205410)

This patch was a part of
https://github.com/llvm/llvm-project/pull/201170. I split the `icmp ptr`
support from the original PR since I am worried it might not catch up
for the LLVM 23 release (#201170 is blocked by #200672 for curating
mixed provenance tests). I hope we can pick most of the low-hanging
fruit exposed by fuzzers before the release. The released version should
be able to run csmith-generated tests without obvious false positives or
crashes.

BTW, this patch doesn't respect the exact semantics of `icmp ptr` (i.e.,
truncating the address to the address width. The naming is a bit
confusing...). Currently, we don't model external state in non-address
bits of a pointer in llubi. So I think it is fine.


  Commit: ca368598052824548c753faf227bcf1dfc443cfd
      https://github.com/llvm/llvm-project/commit/ca368598052824548c753faf227bcf1dfc443cfd
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/test/CodeGen/X86/avx-cxx-record.cpp

  Log Message:
  -----------
  [clang] Exclude EmptyRecord when calculating larger CXX records (#205040)

To match with GCC: https://godbolt.org/z/KPKGhhenK

Fixes: #203760

Assisted-by: Claude Sonnet 4.6


  Commit: f41a6b7cd2b9e4d8c7c1c7f4c60ac3b8edebba28
      https://github.com/llvm/llvm-project/commit/f41a6b7cd2b9e4d8c7c1c7f4c60ac3b8edebba28
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M .github/workflows/release-binaries.yml

  Log Message:
  -----------
  [Github] Bump release-binaries python version (#179287)

This makes it more consistent with the rest of the repository.


  Commit: be3ee6fe6beda79e653d81733ede396aa40c0d6e
      https://github.com/llvm/llvm-project/commit/be3ee6fe6beda79e653d81733ede396aa40c0d6e
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    A llvm/test/CodeGen/AArch64/peephole-substitute-cmp-adcs.mir

  Log Message:
  -----------
  [AArch64] Add final missing instructions to sForm (#167518)

Fix missing opcodes in table of flag-setting instructions.


  Commit: 2cbaca8fe5f33069d764c6cada16ea4305a6efc5
      https://github.com/llvm/llvm-project/commit/2cbaca8fe5f33069d764c6cada16ea4305a6efc5
  Author: Jin Huang <jinhuang1102 at gmail.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Analysis/AliasAnalysis.cpp
    R llvm/test/Transforms/DeadStoreElimination/atomic-todo.ll
    M llvm/test/Transforms/DeadStoreElimination/atomic.ll

  Log Message:
  -----------
  Reapply [AA] Improve precision for monotonic atomic load/stor… (#195015)

Reverts https://github.com/llvm/llvm-project/pull/173135 and and add two
new IR tests to demonstrate the impact of different atomic orderings on
Dead Store Elimination(DSE).

This reverts commit c8941df6a1e4ed5e1ba3287985a60e1d7512c250.

Co-authored-by: Aiden Grossman <aidengrossman at google.com>


  Commit: 9ee7bdaaca232e18e4a47ca25ed088d144a5b7e6
      https://github.com/llvm/llvm-project/commit/9ee7bdaaca232e18e4a47ca25ed088d144a5b7e6
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
    M clang/include/clang/AST/Decl.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [clang][AST] Refactor `EvaluatedStmt` accessors in `VarDecl` (#205033)

1) Return the evaluated APValue as a const pointer since it
    may not be modified by callers.
 2) Only return a non-nullptr from `getEvaluatedValue()` if
    the APValue not absent.


  Commit: d17d249e92bfe63f6ccc8a927caa4eb0316474a8
      https://github.com/llvm/llvm-project/commit/d17d249e92bfe63f6ccc8a927caa4eb0316474a8
  Author: jinge90 <ge.jin at intel.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libc/utils/MPFRWrapper/MPCommon.cpp

  Log Message:
  -----------
  [libc][NFC] Remove a compiler warning for MPCommon (#205264)

Local build on Linux platform reports a compiler warning:
llvm-project/libc/utils/MPFRWrapper/MPCommon.cpp:546:15: warning:
implicit conversion loses integer precision: 'long' to 'int'
[-Wshorten-64-to-32]
  546 |     int mod = mpfr_get_si(value_ret_exact.value, MPFR_RNDN);
      |         ~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.

Signed-off-by: jinge90 <ge.jin at intel.com>


  Commit: 7570d2daec569c691694daa0ce967b1119533dc2
      https://github.com/llvm/llvm-project/commit/7570d2daec569c691694daa0ce967b1119533dc2
  Author: Frederick Vu <100011202+FrederickVu at users.noreply.github.com>
  Date:   2026-06-23 (Tue, 23 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir
    A llvm/test/MachineVerifier/AMDGPU/dpp-imm-src1.mir

  Log Message:
  -----------
  [AMDGPU] Reject src1 immediates with dpp when unsupported (#201494)

This fixes an oversight in #164241.


  Commit: 51b0fc4f611adc420afefa40130185cca6a59553
      https://github.com/llvm/llvm-project/commit/51b0fc4f611adc420afefa40130185cca6a59553
  Author: flovent <flbven at protonmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Remove a wrong comment in ProTypeMemberInitCheck (#205477)

`getAsCXXRecordDecl` will return nullptr for any dependent types.

It's introduced by #192786, see
https://github.com/llvm/llvm-project/pull/192786#issuecomment-4785223372
in original PR.


  Commit: 81a8c66fdc96a7bf6927bf3f88d4b2e24a5c71e7
      https://github.com/llvm/llvm-project/commit/81a8c66fdc96a7bf6927bf3f88d4b2e24a5c71e7
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

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

  Log Message:
  -----------
  [LV] Accept swapped operands in early-exit condition compare (#199989)

Use m_c_ICmp so the load can be on either side of the icmp.


  Commit: c656cb11639b5e6bd43fc691b3dab91a5d42ce37
      https://github.com/llvm/llvm-project/commit/c656cb11639b5e6bd43fc691b3dab91a5d42ce37
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp

  Log Message:
  -----------
  [Hexagon] Fix unused variable in non-assert builds (KCFI) (#205491)

Without asserts, we see failures like so:

/repo/llvm/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp:982:43: error:
unused variable 'NextI' [-Werror,-Wunused-variable]
982 | MachineBasicBlock::const_instr_iterator NextI =
std::next(MI.getIterator());
          |                                           ^~~~~
    1 error generated.

Mark NextI `maybe_unused` to address the issue.

Fixes a regression introduced by f8aa5f66209d.


  Commit: a12ce96dad720892ecf8e77a6f8184b44bdde9e2
      https://github.com/llvm/llvm-project/commit/a12ce96dad720892ecf8e77a6f8184b44bdde9e2
  Author: Zhige Chen <zhige_chen at outlook.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    A llvm/test/tools/llubi/intr_memory.ll
    A llvm/test/tools/llubi/intr_memory_align_ub.ll
    A llvm/test/tools/llubi/intr_memory_constant_ub.ll
    A llvm/test/tools/llubi/intr_memory_len_ub.ll
    A llvm/test/tools/llubi/intr_memory_ub.ll
    M llvm/tools/llubi/lib/ExecutorBase.cpp
    M llvm/tools/llubi/lib/Interpreter.cpp

  Log Message:
  -----------
  [llubi] Implement memory manipulation intrinsics (#204932)

Implement `memset`, `memcpy`, `memmove` intrinsics and their
corresponding inline version. Note that the `isvolatile` argument is
ignored and left for future PRs.


  Commit: 474b21aa99899756ede1e767abed2be63783c8ec
      https://github.com/llvm/llvm-project/commit/474b21aa99899756ede1e767abed2be63783c8ec
  Author: firmiana402 <firmiana402 at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/unittests/Expression/DWARFExpressionTest.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h
    M llvm/test/DebugInfo/X86/constant-loclist.ll

  Log Message:
  -----------
  [DebugInfo][LLDB] Fix generic DW_OP_const handling (#204353)

This PR fixes two related DWARF constant-handling bugs that were
blocking each other.

First, LLDB's DWARF expression evaluator in
[`DWARFExpression.cpp`](https://github.com/llvm/llvm-project/blob/main/lldb/source/Expression/DWARFExpression.cpp)
handled `DW_OP_constu` and `DW_OP_consts` without going through
`to_generic`. Under DWARF, these operators push a generic value: an
address-sized integral value with unspecified signedness. That means the
result should be truncated to the target address size (via
`to_generic`).

Second, LLVM already had a producer-side issue tracked as
[#47431](https://github.com/llvm/llvm-project/issues/47431): on 32-bit
targets, LLVM could emit `DW_OP_consts` / `DW_OP_constu` for source
integer constants wider than the target generic type. If LLDB were fixed
alone, those producer-emitted constants would become truncated as DWARF
requires, exposing incorrect debug info for wide source values.

This patch fixes both sides together.

## What Changed

On the LLDB consumer side:

- `DW_OP_constu` now uses `to_generic`.
- `DW_OP_consts` now uses `to_generic`.
- The corresponding LLDB DWARF expression tests were updated to expect
address-sized generic values.

On the LLVM producer side:

- Wide integer debug-location constants that cannot be represented by
the target generic type are emitted as `DW_OP_implicit_value` instead of
`DW_OP_const*`.
- This preserves the source value bytes instead of relying on an
address-sized DWARF generic constant.
- The producer-side change is limited to complete constant values, where
there are no remaining `DIExpression` operations.

## Validation

Locally verified with:

```text
build/tools/lldb/unittests/Expression/ExpressionTests --gtest_filter='DWARFExpression.*'
74 tests passed

build/bin/llvm-lit -sv llvm/test/DebugInfo/X86/constant-loclist.ll
1 test passed

ninja -C build check-lldb -j12
No unexpected failures

ninja -C build check-all -j12
Completed with one unrelated local failure in Clang Tools :: clang-doc/DR-141990.cpp, caused by host warning-option output. No DebugInfo, DWARF, LLDB expression, or AsmPrinter-related failures were observed.

```


  Commit: d7414ff58979052ee6f9979c96e54b565870ca18
      https://github.com/llvm/llvm-project/commit/d7414ff58979052ee6f9979c96e54b565870ca18
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp

  Log Message:
  -----------
  [LoopFusion][NFC] Share fusion tail between guarded and unguarded paths (#205492)

`performFusion()` and `fuseGuardedLoops()` carried two
character-for-character identical tails: header-PHI migration plus latch
rewiring, and the SCEV-forget / block-merge / latch-merge finalization.
Extract them into `rewireFusedHeaderPHIsAndLatches()` and
`finalizeFusedLoop()` and call both from each path.


  Commit: 82c5bce5233f964da4f8086b2341067314d841d7
      https://github.com/llvm/llvm-project/commit/82c5bce5233f964da4f8086b2341067314d841d7
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll

  Log Message:
  -----------
  [RISCV] Convert opaque pointers in vp-combine-reverse-load.ll. NFC (#205498)


  Commit: 448c3d54df7bcd5e5be2b5d051832ad00b4cc89c
      https://github.com/llvm/llvm-project/commit/448c3d54df7bcd5e5be2b5d051832ad00b4cc89c
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
    M llvm/test/CodeGen/AArch64/fabs-fp128.ll

  Log Message:
  -----------
  [AArch64] Run cleanup one final time after peephole (#199711)

It's a lightweight pass. Should always be the last SSA pass since
peephole can end up making some instructions dead.


  Commit: da9252a9453603af579a9f56c3212cce04e831d2
      https://github.com/llvm/llvm-project/commit/da9252a9453603af579a9f56c3212cce04e831d2
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/ObjectYAML/ELFEmitter.cpp

  Log Message:
  -----------
  [ObjectYAML][NFC] Derive BBAddrMap section size from the CBA offset (#204056)

Add the CBA offset delta to sh_size once at the end instead of after
each write.


  Commit: 25ae6ce4801f6f6addae5079323870d4191e7531
      https://github.com/llvm/llvm-project/commit/25ae6ce4801f6f6addae5079323870d4191e7531
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libc/src/stdlib/qsort.cpp
    M libc/src/stdlib/qsort_r.cpp
    M libc/src/stdlib/qsort_util.h
    M libc/test/src/stdlib/CMakeLists.txt
    A libc/test/src/stdlib/QsortReentrantTest.h
    M libc/test/src/stdlib/qsort_r_test.cpp

  Log Message:
  -----------
  [libc] Refactor qsort code (#198781)

This patch makes the following changes:
 - Refactor the internal sorting functions to reduce code duplication.
- Move the testing machinery done for the testing of `qsort_r` to a
shared place.

These changes are done in anticipation to the introduction of Annex K's
`qsort_s`. This function shares most of its semantics with `qsort_r`,
therefore most of the testing logic can be shared between the two.
Besides, `qsort`, `qsort_r` and `qsort_s` are all very similar, hence we
can attempt to reduce duplication a bit more.


  Commit: 099b1f6aeec8058460598106ff0b68fab66b12dc
      https://github.com/llvm/llvm-project/commit/099b1f6aeec8058460598106ff0b68fab66b12dc
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M compiler-rt/lib/builtins/arm/divdf3.S
    M compiler-rt/test/builtins/Unit/divdf3new_test.c

  Log Message:
  -----------
  [compiler-rt][ARM] Fix underflow handling in new divdf3.S (#204784)

The code which calculates the 'errsign' parameter to pass to
`__compiler_rt_dunder` was wrong in two ways. It calculated the value
with the wrong sign, and also in the wrong register, r12 rather than r2!
In this code's original context, both of those things made sense (the
'dunder' function had a nonstandard ABI). Somehow none of the existing
test cases detected the problem.

We found this bug in a test case downstream that only failed big-endian
(because that changes which half of the denominator mantissa is left in
r2 to be accidentally used as errsign). However, the new test cases here
are designed to detect the failure in both endiannesses.


  Commit: a71292356656e0c516019aa6b571baeb572a7624
      https://github.com/llvm/llvm-project/commit/a71292356656e0c516019aa6b571baeb572a7624
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_ip_mreq.h
    A libc/hdr/types/struct_ip_mreq_source.h
    A libc/hdr/types/struct_ip_mreqn.h
    A libc/hdr/types/struct_ip_msfilter.h
    A libc/hdr/types/struct_ip_opts.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct_ip_mreq.h
    A libc/include/llvm-libc-types/struct_ip_mreq_source.h
    A libc/include/llvm-libc-types/struct_ip_mreqn.h
    A libc/include/llvm-libc-types/struct_ip_msfilter.h
    A libc/include/llvm-libc-types/struct_ip_opts.h
    M libc/include/netinet/in.yaml
    M libc/test/src/netinet/CMakeLists.txt
    M libc/test/src/netinet/in_test.cpp

  Log Message:
  -----------
  [libc] Add IPv4 socket options and related structs (#204787)

This patch adds struct ip_mreq, ip_mreq_source, ip_mreqn, ip_opts, and
ip_msfilter to <netinet/in.h>, along with IP level socket option macros
(IP_TOS, IP_TTL, IP_ADD_MEMBERSHIP, etc.).

I add basic unit tests verifying the size and member offsets of the new
structures against standard layout expectations, mainly to make sure
that the files are used /somewhere/.

Assisted by Gemini.


  Commit: a562f6a4833eb15d8d2fdbd54c27c595935ff275
      https://github.com/llvm/llvm-project/commit/a562f6a4833eb15d8d2fdbd54c27c595935ff275
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    A flang/test/Fir/present-absent-if-fold.fir

  Log Message:
  -----------
  [flang][FIR] add canonicalization pattern for fir.if returning OPTIONAL (#205353)

Lowering is generating patterns when forwarding OPTIONAL in calls that
looks like:

```
   %present = fir.is_present %var : (T) -> i1
    %if_result = fir.if %present -> (T) {
      fir.result %var : T
    } else {
      %absent = fir.absent T
      fir.result %absent : T
    }
```

This specific pattern is a no-op and `%var` can be used directly. The
lowering logic that generates such patterns is inside non trivial
compiler code that has to deal with more complex scenarios where the
code inside the fir.if is more complex. Add a FIR pattern to
canonicalize such code to help with later analysis (like aliasing).


  Commit: 35cfa14e389e72b1b852d15c7cfc87172a5d4e4b
      https://github.com/llvm/llvm-project/commit/35cfa14e389e72b1b852d15c7cfc87172a5d4e4b
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M libcxx/include/__ranges/reverse_view.h
    R libcxx/test/libcxx/ranges/range.adaptors/range.reverse/adaptor.nodiscard.verify.cpp
    A libcxx/test/libcxx/ranges/range.adaptors/range.reverse/nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++][ranges] Applied `[[nodiscard]]` to `reverse_view` (#205186)

Towards #172124

#References:
- https://wg21.link/range.reverse
-
https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant


  Commit: 34bdee76b8577302e2e04fe553ab03579e764069
      https://github.com/llvm/llvm-project/commit/34bdee76b8577302e2e04fe553ab03579e764069
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang-tools-extra/clangd/IncludeFixer.cpp
    M clang-tools-extra/modularize/PreprocessorTracker.cpp
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/unittests/AST/ASTImporterFixtures.cpp
    M clang/unittests/Interpreter/CodeCompletionTest.cpp
    M clang/unittests/Tooling/HeaderIncludesTest.cpp
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Commands/CommandObjectHelp.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
    M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/tools/yaml2macho-core/yaml2macho.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleRemoteEPCServer.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/DWARFCFIChecker/DWARFCFIState.cpp
    M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
    M llvm/tools/llvm-rc/ResourceScriptParser.cpp
    M llvm/tools/llvm-rc/ResourceScriptParser.h
    M llvm/tools/sancov/sancov.cpp
    M llvm/unittests/ADT/STLExtrasTest.cpp
    M llvm/unittests/CodeGen/PassManagerTest.cpp
    M llvm/unittests/TextAPI/TextStubV3Tests.cpp
    M llvm/unittests/TextAPI/TextStubV4Tests.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp

  Log Message:
  -----------
  Remove unused variables in the monorepo (#204994)

https://github.com/llvm/llvm-project/pull/203084 adds diagnostics about
unused variables to the libc++ containers. This patch is the fallout
from the projects I tried to build with it.


  Commit: 86e2f0f502066a2624981d6272b0dd727edc78b7
      https://github.com/llvm/llvm-project/commit/86e2f0f502066a2624981d6272b0dd727edc78b7
  Author: Akimasa Watanuki <mencotton0410 at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp

  Log Message:
  -----------
  [CIR] Handle const evaluated variable values (#205512)

Match the `VarDecl::evaluateValue()` contract updated by #205033 in CIR
constant emission.


  Commit: 20988f874dc241b8b7c21f5c0b1f4c032835c2d2
      https://github.com/llvm/llvm-project/commit/20988f874dc241b8b7c21f5c0b1f4c032835c2d2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

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

  Log Message:
  -----------
  [X86] madd.ll - add additional tests for matchPMADDWD folds that fail with irregular source types (#205514)

Ensure #205391 doesn't crash with non-pow2/illegal types


  Commit: 08e389cc4a029fb6d659f3f1e277ab3bce461a38
      https://github.com/llvm/llvm-project/commit/08e389cc4a029fb6d659f3f1e277ab3bce461a38
  Author: Anonmiraj <ezzibrahimx at gmail.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/include/clang/APINotes/APINotesManager.h
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/Sema/SemaAPINotes.cpp

  Log Message:
  -----------
  [APINotes] Skip per-decl ProcessAPINotes work when no API notes are active (#203710)

Cache "any API notes active" and skip per-decl lookups.

| function | before #202727 | trunk (parent) | this PR |
| ------------------------ | ----------------- | ----------------- |
------------------- |
| `Sema::ProcessAPINotes` | 2,385,852 (0.21%) | 1,028,280 (0.09%) |
**365,310 (0.03%)** |
| `UnwindNamespaceContext` | 349,244 | gone | gone |
| `findAPINotes` | 448,140 | 473,550 | **gone** |


cc @egorzhdan @Xazax-hun @compnerd


  Commit: d8b6b295ac3064c2ef0a2a44e6d25663802ce866
      https://github.com/llvm/llvm-project/commit/d8b6b295ac3064c2ef0a2a44e6d25663802ce866
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsAArch64.td

  Log Message:
  -----------
  [AArch64][TableGen] Define ZA, ZT0 and FPMR memory defvars (#154144)

Introduce TableGen defvars for the inaccessible memory effects used to
model accesses to ZA, ZT0 and FPMR in IntrinsicsAArch64.td.

This is a preparatory cleanup for a follow-up patch that will replace
these uses of InaccessibleMem with target-specific memory locations.
Other uses of inaccessible memory in the file are left unchanged because
they are unrelated to ZA, ZT0 or FPMR.

This preserves the existing memory effects. In particular, intrinsics
that currently access both argument memory and inaccessible memory keep
the same ArgMem/InaccessibleMem read/write modelling.

---------

Co-authored-by: Paul Walker <paul.walker at arm.com>


  Commit: 910425f1a4ea52f5b6a04e7f55a5df812cd77424
      https://github.com/llvm/llvm-project/commit/910425f1a4ea52f5b6a04e7f55a5df812cd77424
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
    M clang/test/CodeGen/AArch64/neon/bf16-getset.c
    M clang/test/CodeGen/AArch64/sme2p3-intrinsics/acle_sme2p3_luti6.c
    M clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6.c
    M clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6_lane_x2.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-types.c
    M clang/test/CodeGen/svboolx2_t.cpp
    M clang/test/CodeGen/svboolx4_t.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sve-fixed-vectors.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
    M clang/test/CodeGenCXX/aarch64-sve-fixedtypeinfo.cpp
    M clang/test/CodeGenCXX/mangle-neon-vectors.cpp
    M clang/test/Index/index-builtin-sve.cpp
    M clang/test/Sema/aarch64-bf16-ldst-intrinsics.c
    M clang/test/Sema/aarch64-incompat-sm-builtin-calls.cpp
    M clang/test/Sema/aarch64-sme-func-attrs.c
    M clang/test/Sema/aarch64-sme-streaming-nonstreaming-vl-checks.c
    M clang/test/Sema/aarch64-sme2p1-diagnostics.c
    M clang/test/Sema/aarch64-sme2p1-intrinsics/acle_sme2p1_imm.cpp
    M clang/test/Sema/aarch64-sme2p3-intrinsics/acle_sme2p3_imm.c
    M clang/test/Sema/attr-arm-sve-vector-bits.c
    M clang/test/SemaCXX/attr-arm-sve-vector-bits.cpp

  Log Message:
  -----------
  [NFC][Clang][Tests] Remove +bf16 from AArch64 tests that don't strictly need the feature flag. (#205336)


  Commit: 14840af5d694f40dbc8b1733330da2db4000335c
      https://github.com/llvm/llvm-project/commit/14840af5d694f40dbc8b1733330da2db4000335c
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/test/Semantics/OpenMP/device-constructs.f90
    A flang/test/Semantics/OpenMP/if-clause-45-suggestion.f90
    M flang/test/Semantics/OpenMP/if-clause-45.f90
    A flang/test/Semantics/OpenMP/if-clause-50-suggestion.f90
    M flang/test/Semantics/OpenMP/if-clause-50.f90
    A flang/test/Semantics/OpenMP/if-clause-60.f90
    M flang/test/Semantics/OpenMP/if-clause.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [flang][OpenMP] Check that IF clause applies to at most one leaf (#205164)

This also allows placing the IF clause in the "allowedClauses" set for
all directives, instead of having it in "allowedOnceClauses" for some
directives and in "allowedClauses" for others.

The emitted diagnostic will show which constituent has multiple IF
clauses applying to it:
```
if.f90:4:35: error: At most one IF clause can apply to each directive constituent
    !$omp & if(target teams: x > 0) if(teams distribute: y > 0)
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
if.f90:4:11: Previous IF clause applying to the TEAMS constituent
    !$omp & if(target teams: x > 0) if(teams distribute: y > 0)
            ^^^^^^^^^^^^^^^^^^^^^^^
```


  Commit: 34ed491f6375a39248f71a98eaab5810dfc1324e
      https://github.com/llvm/llvm-project/commit/34ed491f6375a39248f71a98eaab5810dfc1324e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/Delinearization/global_array_bounds.ll
    M llvm/test/Analysis/DependenceAnalysis/Banerjee.ll
    M llvm/test/Analysis/DependenceAnalysis/BasePtrBug.ll
    M llvm/test/Analysis/DependenceAnalysis/Constraints.ll
    M llvm/test/Analysis/DependenceAnalysis/DifferentOffsets.ll
    M llvm/test/Analysis/DependenceAnalysis/NonCanonicalizedSubscript.ll
    M llvm/test/Analysis/DependenceAnalysis/Propagating.ll
    M llvm/test/Analysis/LoopAccessAnalysis/clamped-access-pattern.ll
    M llvm/test/Analysis/LoopAccessAnalysis/inbounds-gep-in-predicated-blocks.ll
    M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
    M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
    M llvm/test/Analysis/ScalarEvolution/addrec-computed-during-addrec-calculation.ll
    M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll
    M llvm/test/Analysis/ScalarEvolution/becount-invalidation.ll
    M llvm/test/Analysis/ScalarEvolution/different-loops-recs.ll
    M llvm/test/Analysis/ScalarEvolution/exit-count-non-strict.ll
    M llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
    M llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll
    M llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll
    M llvm/test/Analysis/ScalarEvolution/limit-depth.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-operand-order.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
    M llvm/test/Analysis/ScalarEvolution/mul-udiv-folds.ll
    M llvm/test/Analysis/ScalarEvolution/pr123550.ll
    M llvm/test/Analysis/ScalarEvolution/pr22641.ll
    M llvm/test/Analysis/ScalarEvolution/ptrtoint.ll
    M llvm/test/Analysis/ScalarEvolution/sext-iv-2.ll
    M llvm/test/Analysis/ScalarEvolution/sext-mul.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count-negative-stride.ll
    M llvm/test/Analysis/ScalarEvolution/umin-umax-folds.ll
    M llvm/test/CodeGen/PowerPC/mma-intrinsics.ll
    M llvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
    M llvm/test/Transforms/LoopInterchange/fixed-size-no-signed-wrap.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/X86/cast-costs.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-no-wrap.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
    M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll

  Log Message:
  -----------
  [SCEV] Infer addrec nowrap flags during range analysis (#202964)

When we're computing the range of the addrec, we already have to reason
about whether it wraps, so we may as well determine the nowrap flags at
the same time.

This is more precise than the previous logic that took the addrec range
and checked whether adding a step to it does not wrap. For example, an
`{0,+,1}` addrec with a full range can still be non-wrapping.

Note that I removed some assertions in the SCEV printed that predicated
exit counts actually have predicates. Due to SCEV's query order
dependence, this can happen, also prior to this change, see for example
https://llvm.godbolt.org/z/cWK1MMEqv. While this indicates suboptimal
results, it's not a bug, and we should not assert.

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


  Commit: 2b91b5b61a218c102e75806f5d1381a9861977d1
      https://github.com/llvm/llvm-project/commit/2b91b5b61a218c102e75806f5d1381a9861977d1
  Author: Tomas Matheson <Tomas.Matheson at arm.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-undef.ll
    A llvm/test/CodeGen/AArch64/sve-mul-imm-add-adr.ll
    M llvm/test/CodeGen/AArch64/sve2-histcnt.ll

  Log Message:
  -----------
  [AArch64][SVE] Use ADD/ADR instead of MUL/MLA for x*N (#198566)

Avoid `MUL`/`MLA` for all-active multiplies by small constants when
cheaper `ADD`/`ADR` sequences are available.

Vector multiplication (int32_t/uint32_t base types) by 2, 3, 5, 9 can be
done with ADD (for 2) ADR (for 3,5,9).
Similarly, operations of the form a + x * {1,2,4,8} can use ADR.


  Commit: 36f12f975f395cab406f161086b6a808ea0440af
      https://github.com/llvm/llvm-project/commit/36f12f975f395cab406f161086b6a808ea0440af
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    M flang/test/Transforms/FIRToMemRef/slice-projected.mlir

  Log Message:
  -----------
  [FIR] Route embox + projected complex slice through shapeVec (#205042)

When the array_coor base is a fir.embox with a projected complex %re/%im
slice, take the shapeVec path instead of the descriptor (fir.box_dims)
path. The descriptor path iterates source-rank dims while querying the
rank-reduced embox result box, which miscompiles slices that collapse
dims (e.g. complex(:,k)%re). For embox-derived boxes the underlying
storage is contiguous, so the shape-derived layout is both correct and
the natural place to encode that static shape is available. Non-embox
boxes (rebox, assumed-shape) still go through fir.box_dims.

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

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


  Commit: 5672b0d27af93e63c528e4ff9f9da793ccd3aa75
      https://github.com/llvm/llvm-project/commit/5672b0d27af93e63c528e4ff9f9da793ccd3aa75
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-06-24 (Wed, 24 Jun 2026)

  Changed paths:
    M .ci/green-dragon/lldb-windows.groovy
    M .github/CODEOWNERS
    M .github/workflows/prune-branches.yml
    M .github/workflows/prune-unused-branches.py
    M .github/workflows/release-binaries.yml
    M .gitignore
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/Aligner.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    A bolt/test/AArch64/constant-island-reproducible.s
    M bolt/test/eh-frame-hdr.test
    M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
    M clang-tools-extra/clangd/IncludeFixer.cpp
    M clang-tools-extra/clangd/test/did-change-configuration-params.test
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/assignment-in-selection-statement.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/bad-signal-to-kill-thread.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-mutates-argument.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/default-operator-new-on-overaligned-type.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-copy-constructor-throws.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-parentheses.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/pointer-arithmetic-on-polymorphic-object.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/random-generator-seed.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/raw-memory-call-on-non-trivial-type.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/reserved-identifier.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/shared-ptr-array-mismatch.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/signal-handler.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/spuriously-wake-up-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-memory-comparison.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unique-ptr-array-mismatch.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/err60-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.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/msc50-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/oop57-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/concurrency/thread-canceltype-asynchronous.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/anonymous-namespace-in-header.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/no-recursion.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/predictable-rand.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/static-initialization-cycle.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/throw-by-value-catch-by-reference.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
    M clang-tools-extra/modularize/PreprocessorTracker.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-widening-cast-bitfield.cpp
    M clang/docs/InternalsManual.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/SanitizerSpecialCaseList.rst
    M clang/include/clang/APINotes/APINotesManager.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/OffloadArch.h
    M clang/include/clang/Basic/SourceManager.h
    M clang/include/clang/Basic/TargetInfo.h
    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/CIROps.td
    M clang/include/clang/CIR/LoweringHelpers.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/CodeGen/ModuleBuilder.h
    M clang/include/clang/Driver/Action.h
    M clang/include/clang/Driver/Compilation.h
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Job.h
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendOptions.h
    A clang/include/clang/Frontend/SSAFOptions.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryBuilder.h
    M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/SemaOpenCL.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/AST/ByteCode/Floating.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/OffloadArch.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/AVR.cpp
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/CSKY.cpp
    M clang/lib/Basic/Targets/CSKY.h
    M clang/lib/Basic/Targets/Hexagon.h
    M clang/lib/Basic/Targets/Lanai.cpp
    M clang/lib/Basic/Targets/Lanai.h
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/lib/Basic/Targets/M68k.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Basic/Targets/Xtensa.h
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.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/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenOpenACCRecipe.cpp
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CIRGenValue.h
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
    M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
    M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/lib/CIR/Dialect/Transforms/GotoSolver.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    M clang/lib/CIR/Lowering/LoweringHelpers.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/ModuleBuilder.cpp
    M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/Driver/Action.cpp
    M clang/lib/Driver/Compilation.cpp
    M clang/lib/Driver/Driver.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/AIX.h
    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/AVR.cpp
    M clang/lib/Driver/ToolChains/AVR.h
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    M clang/lib/Driver/ToolChains/CSKYToolChain.cpp
    M clang/lib/Driver/ToolChains/CSKYToolChain.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/Flang.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/Gnu.cpp
    M clang/lib/Driver/ToolChains/Gnu.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/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/HLSL.h
    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/MSP430.cpp
    M clang/lib/Driver/ToolChains/MSP430.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/SPIRVOpenMP.cpp
    M clang/lib/Driver/ToolChains/SPIRVOpenMP.h
    M clang/lib/Driver/ToolChains/SYCL.cpp
    M clang/lib/Driver/ToolChains/SYCL.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/VEToolchain.cpp
    M clang/lib/Driver/ToolChains/VEToolchain.h
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.h
    M clang/lib/Driver/ToolChains/XCore.cpp
    M clang/lib/Driver/ToolChains/XCore.h
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/Driver/ToolChains/ZOS.h
    M clang/lib/Format/CMakeLists.txt
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/Headers/riscv_packed_simd.h
    M clang/lib/Lex/PPCaching.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Core/TUSummary/TUSummaryExtractor.cpp
    M clang/lib/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/lib/Sema/SemaOpenCL.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/command-line-options.cpp
    A clang/test/AST/builtin-name-registration.c
    A clang/test/AST/pr198903.cpp
    M clang/test/AST/undocumented-attrs.cpp
    M clang/test/Analysis/bstring.c
    M clang/test/Analysis/malloc.c
    A clang/test/Analysis/pr169302.cpp
    M clang/test/Analysis/pr22954.c
    M clang/test/C/C23/n3037.c
    A clang/test/CIR/CodeGen/atomic-libcall.c
    A clang/test/CIR/CodeGen/const-label-addr.c
    A clang/test/CIR/CodeGen/member-pointer-null-init.cpp
    M clang/test/CIR/CodeGen/no-unique-address.cpp
    M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
    M clang/test/CIR/CodeGen/pointer-to-data-member.cpp
    A clang/test/CIR/CodeGen/unary-expr-or-type-trait-32bit.cpp
    A clang/test/CIR/CodeGenBuiltins/builtin-nontemporal.cpp
    A clang/test/CIR/CodeGenBuiltins/builtin-reduce-bitwise.c
    M clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp
    A clang/test/CIR/CodeGenBuiltins/builtins-elementwise-bool-nyi.c
    M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
    M clang/test/CIR/CodeGenOpenACC/cache.c
    M clang/test/CIR/CodeGenOpenACC/combined-copy.c
    M clang/test/CIR/CodeGenOpenACC/combined-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-firstprivate-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-copy.c
    M clang/test/CIR/CodeGenOpenACC/compute-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.c
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-private-clause.c
    M clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-unsigned-int.c
    M clang/test/CIR/CodeGenOpenACC/data.c
    M clang/test/CIR/CodeGenOpenACC/declare-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-copyin.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-copyout.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-create.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-deviceresident.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-link.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-present.cpp
    M clang/test/CIR/CodeGenOpenACC/enter-data.c
    M clang/test/CIR/CodeGenOpenACC/exit-data.c
    M clang/test/CIR/CodeGenOpenACC/firstprivate-clause-recipes.cpp
    M clang/test/CIR/CodeGenOpenACC/host_data.c
    M clang/test/CIR/CodeGenOpenACC/init.c
    M clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop.cpp
    M clang/test/CIR/CodeGenOpenACC/parallel.c
    M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-CtorDtor.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-array-recipes-NoOps.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-CtorDtor.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-NoOps.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-array-recipes-int.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-CtorDtor.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-NoOps.cpp
    M clang/test/CIR/CodeGenOpenACC/private-clause-pointer-recipes-int.cpp
    M clang/test/CIR/CodeGenOpenACC/reduction-clause-recipes.cpp
    M clang/test/CIR/CodeGenOpenACC/serial.c
    M clang/test/CIR/CodeGenOpenACC/set.c
    M clang/test/CIR/CodeGenOpenACC/shutdown.c
    M clang/test/CIR/CodeGenOpenACC/update.c
    M clang/test/CIR/CodeGenOpenACC/wait.c
    A clang/test/CIR/IR/builtin-int-cast.cir
    A clang/test/CIR/IR/invalid-builtin-int-cast.cir
    M clang/test/CIR/IR/invalid-data-member.cir
    A clang/test/CIR/Lowering/builtin-int-cast.cir
    M clang/test/CIR/Lowering/const-array-bulk-lowering-fallbacks.cir
    M clang/test/CIR/Lowering/const-array-of-pointers.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-byval.cir
    A clang/test/CIR/Transforms/builtin-int-cast-fold.cir
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
    M clang/test/CodeGen/AArch64/neon/bf16-getset.c
    M clang/test/CodeGen/AArch64/sme2p3-intrinsics/acle_sme2p3_luti6.c
    M clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6.c
    M clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6_lane_x2.c
    M clang/test/CodeGen/RISCV/rvp-intrinsics.c
    M clang/test/CodeGen/X86/avx-cxx-record.cpp
    M clang/test/CodeGen/X86/avx2-builtins.c
    M clang/test/CodeGen/X86/sse41-builtins.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-types.c
    M clang/test/CodeGen/convergent-functions.cpp
    M clang/test/CodeGen/svboolx2_t.cpp
    M clang/test/CodeGen/svboolx4_t.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sve-fixed-vectors.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
    M clang/test/CodeGenCXX/aarch64-sve-fixedtypeinfo.cpp
    M clang/test/CodeGenCXX/mangle-neon-vectors.cpp
    A clang/test/CodeGenHLSL/BasicFeatures/OutArgLifetime.hlsl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
    M clang/test/DebugInfo/Generic/macro.c
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Driver/hip-binding.hip
    M clang/test/Driver/hip-device-compile.hip
    M clang/test/Driver/hip-link-bundle-archive.hip
    M clang/test/Driver/hip-phases.hip
    M clang/test/Driver/hip-target-id.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/Driver/wasm-toolchain.c
    M clang/test/Index/index-builtin-sve.cpp
    M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
    M clang/test/Misc/target-invalid-cpu-note/nvptx.c
    M clang/test/OpenMP/bug60602.cpp
    M clang/test/OpenMP/declare_target_local_codegen.cpp
    M clang/test/OpenMP/distribute_codegen.cpp
    M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_codegen.cpp
    M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/map_struct_ordering.cpp
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp
    R clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/spirv_target_teams_reduction_addrspace.c
    M clang/test/OpenMP/target_codegen_global_capture.cpp
    M clang/test/OpenMP/target_default_codegen.cpp
    M clang/test/OpenMP/target_defaultmap_codegen_03.cpp
    M clang/test/OpenMP/target_dyn_groupprivate_codegen.cpp
    M clang/test/OpenMP/target_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
    M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
    M clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_array_section_no_length_codegen.cpp
    M clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_03.cpp
    M clang/test/OpenMP/target_map_codegen_hold.cpp
    M clang/test/OpenMP/target_map_deref_array_codegen.cpp
    M clang/test/OpenMP/target_map_member_expr_codegen.cpp
    M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_parallel_if_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_strict_codegen.cpp
    M clang/test/OpenMP/target_task_affinity_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_private_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_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_teams_map_codegen.cpp
    M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
    A clang/test/OpenMP/target_teams_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
    M clang/test/OpenMP/teams_codegen.cpp
    M clang/test/OpenMP/teams_distribute_codegen.cpp
    M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/teams_private_codegen.cpp
    A clang/test/Preprocessor/hardlink-include-names.c
    M clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
    M clang/test/Sema/LifetimeSafety/invalidations.cpp
    M clang/test/Sema/LifetimeSafety/safety-c.c
    M clang/test/Sema/LifetimeSafety/safety.cpp
    M clang/test/Sema/aarch64-bf16-ldst-intrinsics.c
    M clang/test/Sema/aarch64-incompat-sm-builtin-calls.cpp
    M clang/test/Sema/aarch64-sme-func-attrs.c
    M clang/test/Sema/aarch64-sme-streaming-nonstreaming-vl-checks.c
    M clang/test/Sema/aarch64-sme2p1-diagnostics.c
    M clang/test/Sema/aarch64-sme2p1-intrinsics/acle_sme2p1_imm.cpp
    M clang/test/Sema/aarch64-sme2p3-intrinsics/acle_sme2p3_imm.c
    M clang/test/Sema/attr-arm-sve-vector-bits.c
    M clang/test/Sema/builtin-memcpy.c
    M clang/test/Sema/builtin-object-size.c
    M clang/test/Sema/warn-fortify-source.c
    A clang/test/Sema/warn-stringop-overread.c
    M clang/test/SemaCXX/attr-arm-sve-vector-bits.cpp
    M clang/test/SemaCXX/ext-int.cpp
    M clang/test/SemaCXX/warn-memset-bad-sizeof.cpp
    A clang/test/SemaOpenCL/read-image-integer-linear-filter.cl
    M clang/unittests/AST/ASTImporterFixtures.cpp
    M clang/unittests/Basic/DiagnosticTest.cpp
    M clang/unittests/Basic/SourceManagerTest.cpp
    M clang/unittests/CodeGen/CodeGenExternalTest.cpp
    M clang/unittests/Driver/DXCModeTest.cpp
    M clang/unittests/Interpreter/CodeCompletionTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/FindDecl.h
    M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
    M clang/unittests/ScalableStaticAnalysisFramework/TUSummaryBuilderTest.cpp
    M clang/unittests/Tooling/HeaderIncludesTest.cpp
    M clang/utils/TableGen/CIRLoweringEmitter.cpp
    M clang/www/cxx_dr_status.html
    M compiler-rt/lib/builtins/arm/divdf3.S
    M compiler-rt/lib/profile/CMakeLists.txt
    M compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
    A compiler-rt/lib/profile/InstrProfilingPlatformROCmHSA.cpp
    A compiler-rt/lib/profile/InstrProfilingPlatformROCmHSADefs.h
    A compiler-rt/lib/profile/InstrProfilingPlatformROCmInternal.h
    M compiler-rt/test/asan/TestCases/Windows/issue64990.cpp
    M compiler-rt/test/builtins/Unit/divdf3new_test.c
    A compiler-rt/test/profile/AMDGPU/device-basic.hip
    A compiler-rt/test/profile/AMDGPU/device-early-collect.hip
    A compiler-rt/test/profile/AMDGPU/device-no-kernel.hip
    A compiler-rt/test/profile/AMDGPU/device-symbols.hip
    A compiler-rt/test/profile/AMDGPU/lit.local.cfg.py
    A compiler-rt/test/profile/GPU/instrprof-hip-basic.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-collect-after.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-counter-correctness.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-coverage.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-device-branching.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-fork-safety.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-multi-gpu.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-multi-process-merge.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-multiple-kernels.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-nondefault-device.hip
    A compiler-rt/test/profile/GPU/instrprof-hip-pgo-use.hip
    A compiler-rt/test/profile/GPU/lit.local.cfg.py
    A compiler-rt/test/profile/instrprof-rocm-bounds-dedup.cpp
    A compiler-rt/test/profile/instrprof-rocm-grow-array.cpp
    M compiler-rt/test/profile/lit.cfg.py
    M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
    M flang-rt/lib/runtime/CMakeLists.txt
    M flang/include/flang/Lower/Support/ReductionProcessor.h
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/Support/ReductionProcessor.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-call.h
    M flang/lib/Semantics/check-omp-atomic.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/check-omp-variant.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Analysis/AliasAnalysis/alias-analysis-host-assoc.fir
    M flang/test/Analysis/AliasAnalysis/alias-analysis-scoped-origins.fir
    A flang/test/Fir/present-absent-if-fold.fir
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    M flang/test/Lower/CUDA/cuda-gpu-managed.cuf
    A flang/test/Lower/OpenMP/Todo/declare-reduction-operator-multiple-types.f90
    A flang/test/Lower/OpenMP/Todo/declare-reduction-operator-use-assoc.f90
    A flang/test/Lower/OpenMP/declare-reduction-operator-derived.f90
    A flang/test/Lower/OpenMP/declare-reduction-operator.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/device-constructs.f90
    A flang/test/Semantics/OpenMP/if-clause-45-suggestion.f90
    M flang/test/Semantics/OpenMP/if-clause-45.f90
    A flang/test/Semantics/OpenMP/if-clause-50-suggestion.f90
    M flang/test/Semantics/OpenMP/if-clause-50.f90
    A flang/test/Semantics/OpenMP/if-clause-60.f90
    M flang/test/Semantics/OpenMP/if-clause.f90
    M flang/test/Semantics/OpenMP/single03.f90
    M flang/test/Semantics/OpenMP/single04.f90
    M flang/test/Semantics/call47.f90
    A flang/test/Semantics/cuf29.cuf
    M flang/test/Transforms/FIRToMemRef/slice-projected.mlir
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/freebsd/x86_64/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_ip_mreq.h
    A libc/hdr/types/struct_ip_mreq_source.h
    A libc/hdr/types/struct_ip_mreqn.h
    A libc/hdr/types/struct_ip_msfilter.h
    A libc/hdr/types/struct_ip_opts.h
    M libc/include/CMakeLists.txt
    A libc/include/libgen.yaml
    M libc/include/llvm-libc-macros/linux/sched-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/linux/CMakeLists.txt
    A libc/include/llvm-libc-types/linux/loff_t.h
    A libc/include/llvm-libc-types/loff_t.h
    A libc/include/llvm-libc-types/struct_ip_mreq.h
    A libc/include/llvm-libc-types/struct_ip_mreq_source.h
    A libc/include/llvm-libc-types/struct_ip_mreqn.h
    A libc/include/llvm-libc-types/struct_ip_msfilter.h
    A libc/include/llvm-libc-types/struct_ip_opts.h
    M libc/include/netinet/in.yaml
    M libc/include/sched.yaml
    M libc/include/sys/types.yaml
    M libc/src/CMakeLists.txt
    M libc/src/__support/CPP/string_view.h
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/ioctl.h
    A libc/src/libgen/CMakeLists.txt
    A libc/src/libgen/basename.cpp
    A libc/src/libgen/basename.h
    A libc/src/libgen/dirname.cpp
    A libc/src/libgen/dirname.h
    M libc/src/sched/CMakeLists.txt
    M libc/src/sched/linux/CMakeLists.txt
    A libc/src/sched/linux/sched_clrcpuset.cpp
    A libc/src/sched/sched_clrcpuset.h
    M libc/src/stdlib/qsort.cpp
    M libc/src/stdlib/qsort_r.cpp
    M libc/src/stdlib/qsort_util.h
    M libc/src/sys/ioctl/linux/CMakeLists.txt
    M libc/src/sys/ioctl/linux/ioctl.cpp
    M libc/src/termios/linux/CMakeLists.txt
    M libc/src/termios/linux/tcdrain.cpp
    M libc/src/termios/linux/tcflow.cpp
    M libc/src/termios/linux/tcflush.cpp
    M libc/src/termios/linux/tcgetattr.cpp
    M libc/src/termios/linux/tcgetsid.cpp
    M libc/src/termios/linux/tcsendbreak.cpp
    M libc/src/termios/linux/tcsetattr.cpp
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/isatty.cpp
    M libc/test/src/CMakeLists.txt
    A libc/test/src/libgen/CMakeLists.txt
    A libc/test/src/libgen/basename_death_test.cpp
    A libc/test/src/libgen/basename_test.cpp
    A libc/test/src/libgen/dirname_death_test.cpp
    A libc/test/src/libgen/dirname_test.cpp
    M libc/test/src/netinet/CMakeLists.txt
    M libc/test/src/netinet/in_test.cpp
    M libc/test/src/sched/CMakeLists.txt
    M libc/test/src/sched/cpu_count_test.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    A libc/test/src/stdlib/QsortReentrantTest.h
    M libc/test/src/stdlib/qsort_r_test.cpp
    M libc/utils/MPFRWrapper/MPCommon.cpp
    A libc/utils/docgen/libgen.yaml
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/23.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx29Papers.csv
    M libcxx/include/__config
    M libcxx/include/__expected/expected.h
    M libcxx/include/__math/abs.h
    M libcxx/include/__random/bernoulli_distribution.h
    M libcxx/include/__random/binomial_distribution.h
    M libcxx/include/__random/cauchy_distribution.h
    M libcxx/include/__random/chi_squared_distribution.h
    M libcxx/include/__random/discard_block_engine.h
    M libcxx/include/__random/discrete_distribution.h
    M libcxx/include/__random/exponential_distribution.h
    M libcxx/include/__random/extreme_value_distribution.h
    M libcxx/include/__random/fisher_f_distribution.h
    M libcxx/include/__random/gamma_distribution.h
    M libcxx/include/__random/generate_canonical.h
    M libcxx/include/__random/geometric_distribution.h
    M libcxx/include/__random/independent_bits_engine.h
    M libcxx/include/__random/linear_congruential_engine.h
    M libcxx/include/__random/lognormal_distribution.h
    M libcxx/include/__random/mersenne_twister_engine.h
    M libcxx/include/__random/negative_binomial_distribution.h
    M libcxx/include/__random/normal_distribution.h
    M libcxx/include/__random/piecewise_constant_distribution.h
    M libcxx/include/__random/piecewise_linear_distribution.h
    M libcxx/include/__random/poisson_distribution.h
    M libcxx/include/__random/random_device.h
    M libcxx/include/__random/seed_seq.h
    M libcxx/include/__random/shuffle_order_engine.h
    M libcxx/include/__random/student_t_distribution.h
    M libcxx/include/__random/subtract_with_carry_engine.h
    M libcxx/include/__random/uniform_int_distribution.h
    M libcxx/include/__random/uniform_real_distribution.h
    M libcxx/include/__random/weibull_distribution.h
    M libcxx/include/__ranges/drop_view.h
    M libcxx/include/__ranges/drop_while_view.h
    M libcxx/include/__ranges/filter_view.h
    M libcxx/include/__ranges/iota_view.h
    M libcxx/include/__ranges/lazy_split_view.h
    M libcxx/include/__ranges/reverse_view.h
    M libcxx/include/__ranges/split_view.h
    M libcxx/include/__ranges/take_view.h
    M libcxx/include/__ranges/take_while_view.h
    M libcxx/include/__ranges/transform_view.h
    M libcxx/include/__utility/constant_wrapper.h
    M libcxx/include/utility
    M libcxx/include/version
    A libcxx/test/libcxx/numerics/rand/nodiscard.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/bad_engine.verify.cpp
    M libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/bad_engine.verify.cpp
    R libcxx/test/libcxx/ranges/range.adaptors/range.reverse/adaptor.nodiscard.verify.cpp
    A libcxx/test/libcxx/ranges/range.adaptors/range.reverse/nodiscard.verify.cpp
    M libcxx/test/libcxx/utilities/expected/nodiscard.verify.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/numerics/c.math/abs.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop.while/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.filter/ctor.view_pred.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/ctor.range.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.split/ctor.range.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.split/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.take.while/ctor.view.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.take/ctor.view_count.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.transform/ctor.view_function.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.iota.view/ctor.first.last.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.iota.view/ctor.value.bound.pass.cpp
    M libcxx/test/std/utilities/const.wrap.class/convert.pass.cpp
    R libcxx/test/std/utilities/const.wrap.class/ctad.compile.pass.cpp
    M libcxx/test/std/utilities/const.wrap.class/cw.pass.cpp
    R libcxx/test/std/utilities/const.wrap.class/cw_fixed.array.ctor.pass.cpp
    R libcxx/test/std/utilities/const.wrap.class/cw_fixed.ctor.pass.cpp
    M libcxx/test/std/utilities/const.wrap.class/subscript.pass.cpp
    A libcxx/test/std/utilities/const.wrap.class/template.verify.cpp
    M libcxx/test/std/utilities/const.wrap.class/types.compile.pass.cpp
    M libcxx/test/std/utilities/const.wrap.class/unary_ops.pass.cpp
    A libcxx/test/std/utilities/expected/expected.expected/observers/has_error.pass.cpp
    A libcxx/test/std/utilities/expected/expected.void/observers/has_error.pass.cpp
    M libcxx/utils/ci/lnt/README.md
    M libcxx/utils/ci/lnt/run-benchbot
    M libcxx/utils/ci/lnt/run-benchmarks
    M libcxx/utils/generate_feature_test_macro_components.py
    M libunwind/src/UnwindRegistersSave.S
    A lld/test/wasm/cooperative-threading.s
    M lld/test/wasm/stack-pointer-abi.s
    M lld/test/wasm/thread-context-abi-mismatch.s
    M lld/test/wasm/tls-libcall.s
    M lld/wasm/Config.h
    M lld/wasm/Driver.cpp
    M lld/wasm/Options.td
    M lld/wasm/Relocations.cpp
    M lld/wasm/SyntheticSections.cpp
    M lld/wasm/Writer.cpp
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/include/lldb/Breakpoint/Breakpoint.h
    M lldb/include/lldb/Core/Module.h
    M lldb/include/lldb/Core/Section.h
    M lldb/include/lldb/Utility/FileSpec.h
    M lldb/source/Breakpoint/Breakpoint.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Commands/CommandObjectHelp.cpp
    M lldb/source/Core/Module.cpp
    M lldb/source/Core/ModuleList.cpp
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Core/Section.cpp
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
    M lldb/source/Plugins/Process/elf-core/CMakeLists.txt
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
    M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
    M lldb/source/Plugins/ScriptInterpreter/Lua/LuaState.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
    M lldb/source/Plugins/SymbolVendor/PECOFF/SymbolVendorPECOFF.cpp
    M lldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.cpp
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Utility/FileSpec.cpp
    M lldb/test/API/functionalities/rerun_and_expr_dylib/TestRerunAndExprDylib.py
    M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyBreakpoints.py
    M lldb/test/API/lang/objc/hidden-ivars/Makefile
    A lldb/test/API/macosx/deny-attach/Makefile
    A lldb/test/API/macosx/deny-attach/TestDenyAttach.py
    A lldb/test/API/macosx/deny-attach/main.c
    M lldb/test/API/macosx/thread_suspend/main.c
    A lldb/test/Shell/ObjectFile/ELF/build-id-case-debug-only.yaml
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
    M lldb/tools/debugserver/source/RNBRemote.cpp
    M lldb/tools/yaml2macho-core/yaml2macho.cpp
    M lldb/unittests/Core/ModuleTest.cpp
    M lldb/unittests/Expression/DWARFExpressionTest.cpp
    M llvm/CMakeLists.txt
    M llvm/README.txt
    M llvm/docs/AMDGPUUsage.rst
    A llvm/docs/CMake.md
    R llvm/docs/CMake.rst
    A llvm/docs/CodeGenerator.md
    R llvm/docs/CodeGenerator.rst
    A llvm/docs/CodingStandards.md
    R llvm/docs/CodingStandards.rst
    A llvm/docs/CommandGuide/index.md
    R llvm/docs/CommandGuide/index.rst
    M llvm/docs/CommandGuide/llvm-offload-binary.rst
    M llvm/docs/CommandGuide/llvm-symbolizer.rst
    A llvm/docs/Contributing.md
    R llvm/docs/Contributing.rst
    A llvm/docs/DeveloperPolicy.md
    R llvm/docs/DeveloperPolicy.rst
    M llvm/docs/Docker.rst
    A llvm/docs/GettingInvolved.md
    R llvm/docs/GettingInvolved.rst
    A llvm/docs/GettingStarted.md
    R llvm/docs/GettingStarted.rst
    A llvm/docs/GettingStartedTutorials.md
    R llvm/docs/GettingStartedTutorials.rst
    A llvm/docs/GitHub.md
    R llvm/docs/GitHub.rst
    M llvm/docs/GitRepositoryPolicy.md
    M llvm/docs/InstrRefDebugInfo.md
    A llvm/docs/Passes.md
    R llvm/docs/Passes.rst
    A llvm/docs/ProgrammersManual.md
    R llvm/docs/ProgrammersManual.rst
    M llvm/docs/ProjectGovernance.rst
    A llvm/docs/RFCProcess.md
    R llvm/docs/RFCProcess.rst
    A llvm/docs/Reference.md
    R llvm/docs/Reference.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/RemoveDIsDebugInfo.md
    A llvm/docs/SourceLevelDebugging.md
    R llvm/docs/SourceLevelDebugging.rst
    M llvm/docs/SphinxQuickstartTemplate.md
    A llvm/docs/TableGen/index.md
    R llvm/docs/TableGen/index.rst
    A llvm/docs/TestingGuide.md
    R llvm/docs/TestingGuide.rst
    A llvm/docs/UserGuides.md
    R llvm/docs/UserGuides.rst
    A llvm/docs/WritingAnLLVMBackend.md
    R llvm/docs/WritingAnLLVMBackend.rst
    A llvm/docs/WritingAnLLVMNewPMPass.md
    R llvm/docs/WritingAnLLVMNewPMPass.rst
    A llvm/docs/WritingAnLLVMPass.md
    R llvm/docs/WritingAnLLVMPass.rst
    M llvm/docs/conf.py
    A llvm/docs/index.md
    R llvm/docs/index.rst
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/include/llvm/Analysis/MemoryBuiltins.h
    M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/CodeGen/LiveInterval.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/DWARFLinker/Classic/DWARFLinker.h
    M llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
    M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
    M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleRemoteEPCServer.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/include/llvm/IR/BundleAttributes.h
    M llvm/include/llvm/IR/Constants.h
    M llvm/include/llvm/IR/Function.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/include/llvm/MC/MCObjectStreamer.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/Option/OptParser.td
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/Support/Allocator.h
    M llvm/include/llvm/Support/GlobPattern.h
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.def
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/include/llvm/Transforms/IPO/Instrumentor.h
    M llvm/include/llvm/Transforms/IPO/InstrumentorRuntimeHelper.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Analysis/AliasAnalysis.cpp
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/BlockFrequencyInfo.cpp
    M llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    M llvm/lib/Analysis/ProfileSummaryInfo.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/LiveInterval.cpp
    M llvm/lib/CodeGen/LiveIntervals.cpp
    M llvm/lib/CodeGen/MIRSampleProfile.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/DWARFCFIChecker/DWARFCFIState.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
    M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
    M llvm/lib/DebugInfo/PDB/Native/TpiStream.cpp
    M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
    M llvm/lib/Frontend/OpenMP/OMPContext.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/BundleAttributes.cpp
    M llvm/lib/IR/CMakeLists.txt
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/ProfDataUtils.cpp
    M llvm/lib/IR/Verifier.cpp
    A llvm/lib/IR/VerifierAMDGPU.cpp
    A llvm/lib/IR/VerifierInternal.h
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MC/MCWinCOFFStreamer.cpp
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/lib/ObjectYAML/MachOEmitter.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/ProfileData/MemProfReader.cpp
    M llvm/lib/Support/GlobPattern.cpp
    M llvm/lib/Support/SpecialCaseList.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPULaneMaskUtils.h
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/GCNProcessors.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMMCInstLower.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/BPF/BPFFrameLowering.cpp
    M llvm/lib/Target/BPF/BPFFrameLowering.h
    M llvm/lib/Target/BPF/BPFSelectionDAGInfo.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.cpp
    M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    M llvm/lib/Target/Hexagon/Hexagon.h
    M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
    M llvm/lib/Target/Hexagon/HexagonAsmPrinter.h
    A llvm/lib/Target/Hexagon/HexagonHVXSaveRemark.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.h
    M llvm/lib/Target/Hexagon/HexagonMCInstLower.cpp
    M llvm/lib/Target/Hexagon/HexagonPseudo.td
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
    M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFStreamer.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/CMakeLists.txt
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/Target/RISCV/RISCVInstrPredicates.td
    M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
    A llvm/lib/Target/RISCV/RISCVQCRelaxMarking.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
    M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
    M llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.h
    M llvm/lib/Target/Sparc/SparcInstr64Bit.td
    M llvm/lib/Target/Sparc/SparcInstrInfo.td
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp
    M llvm/lib/Target/SystemZ/SystemZMachineScheduler.h
    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/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
    M llvm/lib/Transforms/IPO/Instrumentor.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/IPO/PartialInlining.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
    M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/FixIrreducible.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
    M llvm/lib/Transforms/Utils/ProfileVerify.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/runtimes/CMakeLists.txt
    M llvm/test/Analysis/BasicAA/phi-aa.ll
    M llvm/test/Analysis/BasicAA/phi-and-select.ll
    M llvm/test/Analysis/BasicAA/recphi.ll
    M llvm/test/Analysis/CostModel/AMDGPU/maximumnum.ll
    M llvm/test/Analysis/CostModel/AMDGPU/minimumnum.ll
    M llvm/test/Analysis/Delinearization/global_array_bounds.ll
    M llvm/test/Analysis/DependenceAnalysis/Banerjee.ll
    M llvm/test/Analysis/DependenceAnalysis/BasePtrBug.ll
    M llvm/test/Analysis/DependenceAnalysis/Constraints.ll
    M llvm/test/Analysis/DependenceAnalysis/DifferentOffsets.ll
    M llvm/test/Analysis/DependenceAnalysis/NonCanonicalizedSubscript.ll
    M llvm/test/Analysis/DependenceAnalysis/Propagating.ll
    M llvm/test/Analysis/LoopAccessAnalysis/clamped-access-pattern.ll
    M llvm/test/Analysis/LoopAccessAnalysis/inbounds-gep-in-predicated-blocks.ll
    M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
    M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll
    M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
    M llvm/test/Analysis/ScalarEvolution/addrec-computed-during-addrec-calculation.ll
    M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll
    M llvm/test/Analysis/ScalarEvolution/becount-invalidation.ll
    M llvm/test/Analysis/ScalarEvolution/different-loops-recs.ll
    M llvm/test/Analysis/ScalarEvolution/exit-count-non-strict.ll
    M llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
    M llvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll
    M llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll
    M llvm/test/Analysis/ScalarEvolution/limit-depth.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-operand-order.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
    M llvm/test/Analysis/ScalarEvolution/mul-udiv-folds.ll
    M llvm/test/Analysis/ScalarEvolution/pr123550.ll
    M llvm/test/Analysis/ScalarEvolution/pr22641.ll
    M llvm/test/Analysis/ScalarEvolution/ptrtoint.ll
    M llvm/test/Analysis/ScalarEvolution/sext-iv-2.ll
    M llvm/test/Analysis/ScalarEvolution/sext-mul.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count-negative-stride.ll
    M llvm/test/Analysis/ScalarEvolution/umin-umax-folds.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-and.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-or.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xor.mir
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/aarch64-bf16-ldst-intrinsics.ll
    M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
    M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
    M llvm/test/CodeGen/AArch64/arm64-fpenv.ll
    M llvm/test/CodeGen/AArch64/bf16-select.ll
    M llvm/test/CodeGen/AArch64/bf16-shuffle.ll
    M llvm/test/CodeGen/AArch64/bf16-vector-bitcast.ll
    M llvm/test/CodeGen/AArch64/bf16-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/bf16.ll
    M llvm/test/CodeGen/AArch64/fabs-fp128.ll
    M llvm/test/CodeGen/AArch64/load-insert-undef.ll
    M llvm/test/CodeGen/AArch64/load-insert-zero.ll
    M llvm/test/CodeGen/AArch64/luti-with-sme2.ll
    M llvm/test/CodeGen/AArch64/neon-luti.ll
    A llvm/test/CodeGen/AArch64/peephole-substitute-cmp-adcs.mir
    M llvm/test/CodeGen/AArch64/spillfill-sve.ll
    M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
    M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
    M llvm/test/CodeGen/AArch64/sve-insert-element.ll
    M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-undef.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-loads.ll
    M llvm/test/CodeGen/AArch64/sve-ld1-addressing-mode-reg-reg.ll
    A llvm/test/CodeGen/AArch64/sve-mul-imm-add-adr.ll
    M llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-reg.ll
    M llvm/test/CodeGen/AArch64/sve2-histcnt.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-gather-loads-128bit-index.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-gather-loads-128bit-unscaled-offset.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-scatter-stores-128bit-index.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-scatter-stores-128bit-unscaled-offset.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-tblq.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-tbxq.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uzpq1.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uzpq2.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-zipq1.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-zipq2.ll
    M llvm/test/CodeGen/AArch64/sve2p1-vector-shuffles.ll
    M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
    M llvm/test/CodeGen/AArch64/zeroing-forms-counts-not.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
    M llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir
    M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
    M llvm/test/CodeGen/AMDGPU/elf-notes.ll
    A llvm/test/CodeGen/AMDGPU/fold-imm-pk64.mir
    M llvm/test/CodeGen/AMDGPU/gfx902-without-xnack.ll
    M llvm/test/CodeGen/AMDGPU/hsa-default-device.ll
    M llvm/test/CodeGen/AMDGPU/hsa-func.ll
    M llvm/test/CodeGen/AMDGPU/hsa-note-no-func.ll
    M llvm/test/CodeGen/AMDGPU/hsa.ll
    M llvm/test/CodeGen/AMDGPU/issue92561-restore-undef-scc-verifier-error.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bvh8_intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dual_intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.v3f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.format.v3f16.ll
    M llvm/test/CodeGen/AMDGPU/move-to-valu-vimage-vsample.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands-non-ptr-intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.mir
    M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
    M llvm/test/CodeGen/AMDGPU/packed-u64.ll
    M llvm/test/CodeGen/AMDGPU/pk-lshl-add-u64.ll
    A llvm/test/CodeGen/AMDGPU/sched-handleMoveUp-dead-def-join.mir
    M llvm/test/CodeGen/AMDGPU/shl.v2i64.ll
    M llvm/test/CodeGen/AMDGPU/sign_extend.ll
    M llvm/test/CodeGen/AMDGPU/target-id-xnack-always-on.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-any.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-not-supported.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-off.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-on.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-1.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-2.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-1.ll
    M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-2.ll
    M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-any.ll
    M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-not-supported.ll
    M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-off.ll
    M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-on.ll
    M llvm/test/CodeGen/AMDGPU/uaddo.ll
    A llvm/test/CodeGen/AMDGPU/uniform-intrin-combine-wqm-demote.ll
    M llvm/test/CodeGen/AMDGPU/usubo.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-descriptor-waterfall-loop-idom-update.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange.ll
    M llvm/test/CodeGen/ARM/bf16-create-get-set-dup.ll
    M llvm/test/CodeGen/ARM/bf16-getlane-with-fp16.ll
    M llvm/test/CodeGen/ARM/bf16-imm.ll
    M llvm/test/CodeGen/ARM/bf16-intrinsics-ld-st.ll
    M llvm/test/CodeGen/ARM/bf16-shuffle.ll
    M llvm/test/CodeGen/ARM/bfloat.ll
    M llvm/test/CodeGen/ARM/vcombine.ll
    A llvm/test/CodeGen/Hexagon/hvx-save-remarks.ll
    A llvm/test/CodeGen/Hexagon/kcfi.ll
    M llvm/test/CodeGen/PowerPC/mma-intrinsics.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/calling-conv-p-ext-vector.ll
    M llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir
    A llvm/test/CodeGen/RISCV/qc-access-marking.ll
    M llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir
    M llvm/test/CodeGen/RISCV/rv32-move-merge-crash.ll
    M llvm/test/CodeGen/RISCV/rv32-move-merge.ll
    M llvm/test/CodeGen/RISCV/rv32p.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
    M llvm/test/CodeGen/SPARC/bswap.ll
    M llvm/test/CodeGen/SystemZ/args-22.ll
    M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll
    M llvm/test/CodeGen/SystemZ/bswap-09.ll
    M llvm/test/CodeGen/SystemZ/bswap-10.ll
    M llvm/test/CodeGen/SystemZ/call-zos-vec.ll
    M llvm/test/CodeGen/SystemZ/canonicalize-vars.ll
    M llvm/test/CodeGen/SystemZ/codegenprepare-sink-and-for-tm.ll
    M llvm/test/CodeGen/SystemZ/dag-combine-05.ll
    M llvm/test/CodeGen/SystemZ/dag-combine-07.ll
    M llvm/test/CodeGen/SystemZ/fold-masked-merge.ll
    M llvm/test/CodeGen/SystemZ/fp-copysign-03.ll
    M llvm/test/CodeGen/SystemZ/fp-half-vector-binops.ll
    M llvm/test/CodeGen/SystemZ/fp-half-vector-fcmp-select.ll
    M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting-explicit-regs-zEC12.ll
    M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting-zEC12.ll
    M llvm/test/CodeGen/SystemZ/int-cmp-65.ll
    M llvm/test/CodeGen/SystemZ/int-conv-14.ll
    M llvm/test/CodeGen/SystemZ/int-conv-15.ll
    M llvm/test/CodeGen/SystemZ/int-mul-12.ll
    M llvm/test/CodeGen/SystemZ/int-mul-13.ll
    M llvm/test/CodeGen/SystemZ/int-uadd-14.ll
    M llvm/test/CodeGen/SystemZ/int-usub-13.ll
    M llvm/test/CodeGen/SystemZ/machine-combiner-reassoc-fp.ll
    M llvm/test/CodeGen/SystemZ/misched-prera-cmp-elim.mir
    M llvm/test/CodeGen/SystemZ/misched-prera-latencies.mir
    A llvm/test/CodeGen/SystemZ/misched-prera-loads.mir
    A llvm/test/CodeGen/SystemZ/misched-prera-pdiffs.mir
    M llvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
    M llvm/test/CodeGen/SystemZ/regcoal_remat_empty_subrange.ll
    M llvm/test/CodeGen/SystemZ/risbg-04.ll
    M llvm/test/CodeGen/SystemZ/rot-03.ll
    M llvm/test/CodeGen/SystemZ/shift-12.ll
    M llvm/test/CodeGen/SystemZ/shift-13.ll
    M llvm/test/CodeGen/SystemZ/shift-14.ll
    M llvm/test/CodeGen/SystemZ/shift-15.ll
    M llvm/test/CodeGen/SystemZ/shift-16.ll
    M llvm/test/CodeGen/SystemZ/shift-17.ll
    M llvm/test/CodeGen/SystemZ/soft-float-args.ll
    M llvm/test/CodeGen/SystemZ/store_nonbytesized_vecs.ll
    A llvm/test/CodeGen/SystemZ/target-flags.ll
    M llvm/test/CodeGen/SystemZ/vec-cmp-cmp-logic-select.ll
    M llvm/test/CodeGen/SystemZ/vec-cmpsel-01.ll
    M llvm/test/CodeGen/SystemZ/vec-eval.ll
    M llvm/test/CodeGen/SystemZ/vec-move-23.ll
    M llvm/test/CodeGen/SystemZ/vec-mul-07.ll
    M llvm/test/CodeGen/SystemZ/vec-perm-12.ll
    M llvm/test/CodeGen/SystemZ/vec-trunc-to-i16.ll
    M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
    A llvm/test/CodeGen/WebAssembly/cooperative-strip-tls.ll
    M llvm/test/CodeGen/X86/avx512-load-store.ll
    M llvm/test/CodeGen/X86/madd.ll
    M llvm/test/CodeGen/X86/phaddsub.ll
    A llvm/test/DebugInfo/BPF/dbg-location-fbreg.ll
    M llvm/test/DebugInfo/X86/constant-loclist.ll
    A llvm/test/Instrumentation/Instrumentor/compare.ll
    A llvm/test/Instrumentation/Instrumentor/compare_config.json
    M llvm/test/Instrumentation/Instrumentor/default_config.json
    M llvm/test/Instrumentation/Instrumentor/default_rt.h
    M llvm/test/Instrumentation/NumericalStabilitySanitizer/non_float_store.ll
    A llvm/test/MC/AMDGPU/amd-amdgpu-isa-malformed-target-id.s
    A llvm/test/MC/AMDGPU/amdgcn-target-directive-triple-env.s
    A llvm/test/MC/AMDGPU/amdgcn-target-malformed-target-id.s
    M llvm/test/MC/AMDGPU/buffer-op-swz-operand.s
    M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_err.s
    M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
    M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/hsa-diag-v4.s
    M llvm/test/MC/AMDGPU/hsa-exp.s
    M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
    M llvm/test/MC/AMDGPU/hsa-gfx1250-v4.s
    M llvm/test/MC/AMDGPU/hsa-gfx1251-v4.s
    M llvm/test/MC/AMDGPU/hsa-gfx13-v4.s
    M llvm/test/MC/AMDGPU/hsa-tg-split.s
    M llvm/test/MC/AMDGPU/hsa-v4.s
    M llvm/test/MC/AMDGPU/hsa-v5-uses-dynamic-stack.s
    M llvm/test/MC/AMDGPU/isa-version-hsa.s
    M llvm/test/MC/AMDGPU/isa-version-pal.s
    M llvm/test/MC/AMDGPU/isa-version-unk.s
    M llvm/test/MC/AMDGPU/user-sgpr-count.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
    M llvm/test/MC/RISCV/rv32p-aliases-valid.s
    M llvm/test/MC/RISCV/rv64p-aliases-valid.s
    M llvm/test/MC/RISCV/xqcilo-pseudos-invalid.s
    M llvm/test/MC/RISCV/xqcilo-pseudos-valid.s
    A llvm/test/MachineVerifier/AMDGPU/dpp-imm-src1.mir
    M llvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
    A llvm/test/ObjectYAML/MachO/endianness.yaml
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    A llvm/test/Transforms/ArgumentPromotion/X86/struct-load.ll
    A llvm/test/Transforms/Attributor/callbr.ll
    M llvm/test/Transforms/Attributor/reduced/openmp_opt_constant_type_crash.ll
    R llvm/test/Transforms/DeadStoreElimination/atomic-todo.ll
    M llvm/test/Transforms/DeadStoreElimination/atomic.ll
    A llvm/test/Transforms/FixIrreducible/unsupported-terminator.ll
    M llvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
    M llvm/test/Transforms/Inline/X86/call-abi-compatibility.ll
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/active-lane-mask.ll
    M llvm/test/Transforms/LoopInterchange/fixed-size-no-signed-wrap.ll
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/use-outside-loop.ll
    A llvm/test/Transforms/LoopStrengthReduce/X86/lcssa-preservation-regression.ll
    M llvm/test/Transforms/LoopStrengthReduce/preserve-lcssa.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleave-with-gaps.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-derived-ivs.ll
    M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.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/X86/cast-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
    A llvm/test/Transforms/LoopVectorize/X86/predicated-replicate-feeding-cast.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_store_legality.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_with_stores.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-no-wrap.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
    A llvm/test/Transforms/LoopVectorize/pred-inst-discount-vector-library-call.ll
    M llvm/test/Transforms/LoopVersioning/exit-block-dominates-rt-check-block.ll
    M llvm/test/Transforms/OpenMP/add_attributes.ll
    M llvm/test/Transforms/OpenMP/single_threaded_execution.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
    M llvm/test/Transforms/PhaseOrdering/X86/loop-vectorizer-noalias.ll
    M llvm/test/Transforms/PhaseOrdering/unswitch-cold-func.ll
    A llvm/test/Transforms/PhaseOrdering/unswitch-nontrivial-cold-func.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/rotated-strided-loads.ll
    A llvm/test/Transforms/SLPVectorizer/X86/copyable-phi-scheduled-non-copyable.ll
    M llvm/test/Transforms/SROA/struct-to-vector-subpartition.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/AMDGPU/uniform-unswitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch2.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch3.ll
    A llvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-loop-guard.ll
    A llvm/test/Transforms/SimpleLoopUnswitch/update-dt.ll
    A llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest-pseudoprobe.ll
    A llvm/test/Transforms/SimplifyCFG/hoist-common-skip-pseudoprobe.ll
    M llvm/test/Verifier/callbr-intrinsic.ll
    M llvm/test/Verifier/memprof-metadata-bad.ll
    M llvm/test/tools/dsymutil/X86/bundle-mtime.test
    A llvm/test/tools/llubi/icmp_ptr.ll
    A llvm/test/tools/llubi/intr_memory.ll
    A llvm/test/tools/llubi/intr_memory_align_ub.ll
    A llvm/test/tools/llubi/intr_memory_constant_ub.ll
    A llvm/test/tools/llubi/intr_memory_len_ub.ll
    A llvm/test/tools/llubi/intr_memory_ub.ll
    A llvm/test/tools/llubi/reset_return_value_slot.ll
    M llvm/test/tools/llvm-cas/validation.test
    A llvm/test/tools/llvm-cov/show-colors-uninit.test
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
    A llvm/test/tools/llvm-offload-binary/member-extract.test
    A llvm/test/tools/llvm-pdbutil/forward-cxx-to-c-odr.test
    A llvm/test/tools/llvm-pdbutil/forward-cxx-to-c.test
    A llvm/test/tools/llvm-profgen/aarch64-disassemble-all-features.test
    M llvm/test/tools/llvm-readobj/ELF/AMDGPU/elf-headers.test
    M llvm/test/tools/llvm-symbolizer/pdb/pdb.test
    M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
    M llvm/tools/dsymutil/DwarfLinkerForBinary.h
    M llvm/tools/dsymutil/Options.td
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llubi/lib/ExecutorBase.cpp
    M llvm/tools/llubi/lib/Interpreter.cpp
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp
    M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
    M llvm/tools/llvm-offload-binary/llvm-offload-binary.cpp
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp
    M llvm/tools/llvm-rc/ResourceScriptParser.cpp
    M llvm/tools/llvm-rc/ResourceScriptParser.h
    M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
    M llvm/tools/llvm-symbolizer/Opts.td
    M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
    M llvm/tools/reduce-chunk-list/reduce-chunk-list.cpp
    M llvm/tools/sancov/sancov.cpp
    M llvm/unittests/ADT/APFloatTest.cpp
    M llvm/unittests/ADT/STLExtrasTest.cpp
    M llvm/unittests/CodeGen/PassManagerTest.cpp
    M llvm/unittests/IR/MDBuilderTest.cpp
    M llvm/unittests/IR/MetadataTest.cpp
    M llvm/unittests/Option/OptionMarshallingTest.cpp
    M llvm/unittests/Support/AllocatorTest.cpp
    M llvm/unittests/Support/GlobPatternTest.cpp
    M llvm/unittests/Support/SpecialCaseListTest.cpp
    M llvm/unittests/TextAPI/TextStubV3Tests.cpp
    M llvm/unittests/TextAPI/TextStubV4Tests.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
    M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
    M llvm/utils/TableGen/OptionParserEmitter.cpp
    M llvm/utils/UnicodeData/UnicodeNameMappingGenerator.cpp
    M llvm/utils/gn/secondary/compiler-rt/lib/profile/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/IR/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
    M llvm/utils/lit/tests/Inputs/shtest-define/examples/param-subst.txt
    M mlir/include/mlir/Conversion/MathToXeVM/MathToXeVM.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
    M mlir/include/mlir/Dialect/EmitC/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
    M mlir/include/mlir/Dialect/XeGPU/uArch/IntelGpuXe2.h
    M mlir/include/mlir/Dialect/XeGPU/uArch/uArchBase.h
    M mlir/include/mlir/Query/Matcher/MatchersInternal.h
    M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
    M mlir/lib/Conversion/MathToXeVM/CMakeLists.txt
    M mlir/lib/Conversion/MathToXeVM/MathToXeVM.cpp
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
    M mlir/lib/Dialect/EmitC/Transforms/WrapFuncInClass.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    A mlir/lib/Dialect/OpenACC/Transforms/ACCEmitRemarksLoop.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaDowngrade1p1To1p0.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Conversion/MathToXeVM/math-to-ocl.mlir
    M mlir/test/Dialect/Arith/int-range-opts-crash.mlir
    M mlir/test/Dialect/Arith/invalid.mlir
    M mlir/test/Dialect/EmitC/wrap-func-in-class.mlir
    M mlir/test/Dialect/GPU/canonicalize.mlir
    M mlir/test/Dialect/MemRef/runtime-verification.mlir
    A mlir/test/Dialect/OpenACC/acc-emit-remarks-loop-pipeline.mlir
    A mlir/test/Dialect/OpenACC/acc-emit-remarks-loop.mlir
    M mlir/test/Dialect/Tosa/dynamic_extension.mlir
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
    M mlir/test/Dialect/Tosa/tosa-arith-const-to-tosa-const.mlir
    M mlir/test/Dialect/Tosa/tosa-downgrade-1-1-to-1-0.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
    M mlir/test/Dialect/Tosa/verifier.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout.mlir
    M mlir/test/Dialect/XeGPU/resolve-layout-conflicts.mlir
    M mlir/test/Dialect/common_folders.mlir
    M mlir/test/Target/LLVMIR/allocatable_gpu_reduction_teams.mlir
    M mlir/test/Target/LLVMIR/omptarget-multi-reduction.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-teams-distribute-reduction-array-descriptor.mlir
    M mlir/test/Target/LLVMIR/omptarget-teams-distribute-reduction.mlir
    M mlir/test/Target/LLVMIR/omptarget-teams-reduction.mlir
    M mlir/test/Target/LLVMIR/openmp-target-launch-device.mlir
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M offload/include/Shared/Environment.h
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/test/CMakeLists.txt
    M openmp/device/include/Interface.h
    M openmp/device/src/Reduction.cpp
    M openmp/module/CMakeLists.txt
    M orc-rt/include/CMakeLists.txt
    M orc-rt/include/orc-rt/AllocAction.h
    A orc-rt/include/orc-rt/MacroUtils.h
    M orc-rt/include/orc-rt/SPSAllocAction.h
    M orc-rt/unittests/AllocActionTest.cpp
    M orc-rt/unittests/CMakeLists.txt
    A orc-rt/unittests/MacroUtilsTest.cpp
    M orc-rt/unittests/SPSAllocActionTest.cpp
    M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll
    M polly/test/Support/pipelineposition.ll
    M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
    M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Merge branch 'main' into users/kparzysz/m02-locator-frontend


Compare: https://github.com/llvm/llvm-project/compare/fd1c4828f509...5672b0d27af9

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