[all-commits] [llvm/llvm-project] c6bad7: [AMDGPU] Scale the frame register in place when lo...

Julian Brown via All-commits all-commits at lists.llvm.org
Wed Sep 23 04:14:10 PDT 2026


  Branch: refs/heads/users/jtb20/spr/main.clangopenmp-parsing-serialisation-and-deserialisation-for-the-saved-firstprivate-modifier
  Home:   https://github.com/llvm/llvm-project
  Commit: c6bad7c79642fdef2cc997b44f6e5c7db8508530
      https://github.com/llvm/llvm-project/commit/c6bad7c79642fdef2cc997b44f6e5c7db8508530
  Author: Pankaj Dwivedi <pankajkumar.divedi at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/test/CodeGen/AMDGPU/sgpr-scavenge-fi-stack-id.ll
    A llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-reserved-exec-copy.mir

  Log Message:
  -----------
  [AMDGPU] Scale the frame register in place when lowering scalar frame indices (#221972)

Lowering a scalar frame index needs a scalar temporary, and under full
SGPR pressure the scavenger emergency-spills instead, which flips EXEC
with `s_not_b64` and clobbers SCC, With SCC live the spill builder gives
up with `error: unhandled SGPR spill to memory`.

Use `FrameReg` itself as the temporary and restore it after the
instruction with `S_MUL_I32`, which unlike `S_LSHL_B32` does not write
SCC, folding a non-zero offset back through an
`S_ADDC_U32`/`S_BITCMP1_B32`/`S_BITSET0_B32` sequence when SCC is still
live.
This is restricted to SALU instructions with a single frame index that
do not otherwise touch `FrameReg`; everything else keeps the existing
path, including the emergency spill.

Assisted-by: Claude Opus 5


  Commit: 88107b203b9e02a2d6ce87bf8ba0d98cb6ff53ec
      https://github.com/llvm/llvm-project/commit/88107b203b9e02a2d6ce87bf8ba0d98cb6ff53ec
  Author: Mattéo Rizza Murgier <matteo.rizza-murgier at sipearl.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  [ProfCheck] Add expand-multi-result.ll to profcheck-xfail.txt (#223614)

>From #218634 
Added for the same reason as other
`PreISelIntrinsicLowering/AArch64/expand-*` tests. Fixes `profcheck`
failure.


  Commit: f8ae252564bd052d4bb235a65b4c5a6db48f234b
      https://github.com/llvm/llvm-project/commit/f8ae252564bd052d4bb235a65b4c5a6db48f234b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/zero-call-used-regs-simd.ll

  Log Message:
  -----------
  [X86] zero-call-used-regs-simd.ll - add baseline no-vlx test coverage from #212147 (#223634)


  Commit: 11576edbc8ab574ceacd9a624c08f730a5a7676b
      https://github.com/llvm/llvm-project/commit/11576edbc8ab574ceacd9a624c08f730a5a7676b
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M flang/lib/Lower/PFTBuilder.cpp
    A flang/test/Lower/OpenMP/trailing-cycle.f90
    A flang/test/Lower/trailing-cycle.f90

  Log Message:
  -----------
  [flang] Delete a trailing CYCLE that is the last statement of its DO (#223399)

A CycleStmt at the end of the body of its own DoConstruct is a no-op:
branching to the EndDoStmt and falling through to it are the same thing.
Branch analysis nonetheless marks the DoConstruct unstructured, which
costs the structured form of the loop and the induction variable
semantics that later passes rely on.

Delete such a CycleStmt in the PFT. The statement must be unlabeled, so
that it is not itself a branch target, and it must name either no
construct or this one.


  Commit: e733cebdf7c9c87bec77547f3c377f514a22c9b3
      https://github.com/llvm/llvm-project/commit/e733cebdf7c9c87bec77547f3c377f514a22c9b3
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/CommandFlags.h
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/Target/ARM/ARMTargetMachine.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/test/CodeGen/ARM/atomic-op.ll
    A llvm/test/Transforms/AtomicExpand/ARM/thread-model-single.ll

  Log Message:
  -----------
  CodeGen: Replace TargetOptions::ThreadModel with module flag (#223157)

Migrate the threading-model consumers off TargetOptions::ThreadModel and
onto the "thread-model" module flag. The main user was ARM's pass config,
which is moved into AtomicExpand, which now performs the single-thread 
expansion directly.

Few tests use the -thread-model flag, so delete it and migrate those
cases to use the module flag.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: f1450b2d298826abdff1660d0e1747935529357f
      https://github.com/llvm/llvm-project/commit/f1450b2d298826abdff1660d0e1747935529357f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Allocate records fields and bases via Program allocator (#223433)

They have the same lifetime as other things in `Program`. And we know
the number of things to allocate in advance, apart from some small
overallocations with explicitly specified virtual bases.


  Commit: a125e6ed795798ee87376a82f90cb3fd897b25ca
      https://github.com/llvm/llvm-project/commit/a125e6ed795798ee87376a82f90cb3fd897b25ca
  Author: Kristina Bessonova <kbessonova at accesssoftek.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/localizer-arm64-tti.ll
    A llvm/test/CodeGen/AArch64/GlobalISel/localizer-tls.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/arm64-tls-dynamics.ll
    M llvm/test/CodeGen/AArch64/arm64-tls-initial-exec.ll
    M llvm/test/CodeGen/AArch64/arm64-tls-local-exec.ll
    M llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll

  Log Message:
  -----------
  Reland "[AArch64][GlobalISel] Add support for TLS for ELF" (#223443)

This relands #220236.

The original patch missed a case where TLS-related computations could be
localized into the middle of a call-frame adjustment sequence.

The fix prevents TLS variable localization on ELF, in the same way as on
Mach-O (see the second patch in this PR).


  Commit: f6f250a3b58eb3a0862b57210a5bd0b7a092b132
      https://github.com/llvm/llvm-project/commit/f6f250a3b58eb3a0862b57210a5bd0b7a092b132
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/DeclOrExpr.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBlock.cpp
    M clang/lib/AST/ByteCode/InterpBlock.h
    M clang/lib/AST/ByteCode/InterpBuiltinObjectSize.cpp
    M clang/lib/AST/ByteCode/InterpHelpers.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/Program.h

  Log Message:
  -----------
  [clang][bytecode] Use opaque pointers for expr-based dummy pointers (#221218)

Similar to https://github.com/llvm/llvm-project/pull/220917, but for
expressions.


  Commit: 263bbd476c9fce30acb9c70d5dae556dd994b08b
      https://github.com/llvm/llvm-project/commit/263bbd476c9fce30acb9c70d5dae556dd994b08b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/test/Frontend/gnu-mcount.c

  Log Message:
  -----------
  clang/ARM: Derive -pg mcount name from the triple environment (#220822)

For a glibc/gnueabi ARM and AArch64 targets, GCC's -pg instrumentation
always calls __gnu_mcount_nc (with the caller pushing LR, per the "nc"
no-LR-clobber ABI). clang only produced this when -meabi=gnu was passed
explicitly; a separate gnueabi triple wrongly called plain "mcount".

On ARM, glibc's EABI profiling entry point is __gnu_mcount_nc
(sysdeps/arm/arm-mcount.S, exported since GLIBC_2.8). It does provide
plain mcount/_mcount, but only as a legacy APCS compat alias
(__mcount_arm_compat, gated on GCC_COMPAT(4,3)/SHLIB_COMPAT) 
that reads an APCS frame-pointer record rather than following the EABI push-LR 
convention. Calling it from EABI -pg code is thus an ABI mismatch, not the intended 
entry point.

Derive the GNU-vs-plain mcount name from the triple environment in
addition to the explicit -meabi=gnu, so a gnueabi target gets the correct
__gnu_mcount_nc call by default, matching GCC:

    push    {lr}
    bl      __gnu_mcount_nc

clang vs. gcc mismatch: https://godbolt.org/z/erEqfxs3s

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 9b5b5ff2251c19c5e05dfd8447d295966baf2a8b
      https://github.com/llvm/llvm-project/commit/9b5b5ff2251c19c5e05dfd8447d295966baf2a8b
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M compiler-rt/resources/windows_version_resource.rc

  Log Message:
  -----------
  [compiler-rt] Set FILEOS and FILETYPE in windows_version_resource.rc (#223387)

This is a follow-up to #216408 which added version info to runtime DLLs.

We have a test (in Crashpad) that expects the FILEOS and FILETYPE to be
set. I suppose it was getting default values from somewhere before, but
after #216408 it fails unless we set them explicitly.


  Commit: 57c40b76a884df783f807588fa0b9bd92bca2a6b
      https://github.com/llvm/llvm-project/commit/57c40b76a884df783f807588fa0b9bd92bca2a6b
  Author: Paweł Bylica <pawel at hepcolgum.band>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    A llvm/test/CodeGen/Mips/msa/f16vec-insertelement.ll
    A llvm/test/CodeGen/RISCV/rvv/insertelt-fp-soft-promote.ll

  Log Message:
  -----------
  [SelectionDAG] Soft promote the element operand of INSERT_VECTOR_ELT (#223612)

When f16/bf16 is soft promoted but a vector of that type is legal,
INSERT_VECTOR_ELT is left with a soft promoted i16 element operand.
SoftPromoteHalfOperand had no case for it and failed with "Do not know
how to soft promote this operator's operand!".

Legalize it like BUILD_VECTOR and the inverse EXTRACT_VECTOR_ELT:
bitcast
the vector to its integer counterpart, insert the promoted element there
and bitcast the result back. This also covers scalable vectors.

This is reachable on MIPS MSA and on RISC-V with Zvfhmin/Zvfbfmin but
without Zfhmin/Zfbfmin. X86, Hexagon and WebAssembly avoid it by custom
lowering INSERT_VECTOR_ELT on the scalar type; that still takes
precedence and can be removed separately.

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

Assisted-by: Claude Code


  Commit: 821dc0a3b170d79597a95e17fa10c2a6959c42b2
      https://github.com/llvm/llvm-project/commit/821dc0a3b170d79597a95e17fa10c2a6959c42b2
  Author: Vito Kortbeek <vito.kortbeek at globalfoundries.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/test/Transforms/TypePromotion/ARM/casts.ll

  Log Message:
  -----------
  [TypePromotion] Drop invalid nsw from promoted trunc-to-i1 conditions (#223637)

Fix a miscompile introduced in #216311. TypePromotion zero-extends the
operand of a trunc to i1. When doing so, drop nsw unless nuw is also
set, as the original operand might be all ones.

Preserve nuw because it remains valid when zero-extending. Preserve nuw
nsw as well, since it implies an all-zero operand when truncating to i1.

Alive2 proofs: https://alive2.llvm.org/ce/z/GHTZXg


  Commit: 1232d0e8539a2c50bc3f40335ade86b34408b476
      https://github.com/llvm/llvm-project/commit/1232d0e8539a2c50bc3f40335ade86b34408b476
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve-fp-constrained-intrinsics.ll

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] Add isel for constrained cast operations. (#221976)

Implements lowering for constrained variants of fpext, fptosi, fptoui,
fptrunc, rint, sitofp and uitofp. Support covers scalable vectors of
half, float and double element type, with bfloat support due in a
follow-up PR.


  Commit: f215866b883b0394c4093d163834366e4635180c
      https://github.com/llvm/llvm-project/commit/f215866b883b0394c4093d163834366e4635180c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    A llvm/test/Transforms/LICM/Inputs/thread-model-single.ll
    M llvm/test/Transforms/LICM/promote-single-thread.ll

  Log Message:
  -----------
  LICM: Drop -licm-force-thread-model-single in favor of the module flag (#223158)

Now that the threading model is carried by the "thread-model" IR module
flag, the hidden -licm-force-thread-model-single override is redundant: a test
can select the single-threaded model by setting the module flag directly.
isThreadLocalObject reads only Module::getThreadModel.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: fe479338a7abbe93d9c4bc32d44a53a17a7e2f6e
      https://github.com/llvm/llvm-project/commit/fe479338a7abbe93d9c4bc32d44a53a17a7e2f6e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/docs/LangRef.md
    M llvm/include/llvm/IR/Module.h
    M llvm/include/llvm/Support/CodeGen.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/IR/RuntimeLibcalls.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Passes/CodeGenPassBuilder.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    A llvm/test/Assembler/module-flags-exception-model.ll
    A llvm/test/Linker/module-flags-exception-model.ll
    A llvm/test/Verifier/module-flags-exception-model.ll

  Log Message:
  -----------
  IR: Introduce "exception-model" module flag (#220052)

Add an "exception-model" IR module flag intended to replace
TargetOptions::ExceptionModel, such that the ABI is fully
computable from the IR alone. Add the basic documentation and
verifier/linker tests, but doesn't wire up the consumers.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 3d2514f8e7f322bb520f904857268a27c086ca2e
      https://github.com/llvm/llvm-project/commit/3d2514f8e7f322bb520f904857268a27c086ca2e
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [NFC][LLVM][AArch64TTI] Remove redundant type checking of convert_to_svbool operand. (#222945)


  Commit: c6ec955ea331a089169fd2ffb8b08af88c0cb350
      https://github.com/llvm/llvm-project/commit/c6ec955ea331a089169fd2ffb8b08af88c0cb350
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    A llvm/test/CodeGen/AArch64/wineh-async-eh-pad-instr-size.ll

  Log Message:
  -----------
  [TargetInstrInfo] Disable size verification for EH_LABEL (#223641)

EH_LABEL may produce a nop if using async exceptions and followed
by a trapping instruction.

Suppress the verification error until the incorrect size reporting
is fixed.


  Commit: 492410de73b0b99b1778bfcd746bc8735bdaba58
      https://github.com/llvm/llvm-project/commit/492410de73b0b99b1778bfcd746bc8735bdaba58
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/TargetID.h
    M clang/lib/Basic/TargetID.cpp
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/test/OffloadTools/clang-offload-bundler/basic.c
    M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  Reapply "clang: Use TargetID parsing from AMDGPUTargetParser" (#213824) (#213847)

This reverts commit 8f82ba2c79f4e6a69a884cc9e19bd0b8c0bbe932.

Clang subarch patches have landed, so the prematurely build bots should be OK now.


  Commit: 1e6a620b20b34ac9e254207a604259e150e92205
      https://github.com/llvm/llvm-project/commit/1e6a620b20b34ac9e254207a604259e150e92205
  Author: tfzee <tim.ziegler at intel.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx512-shuffles/shuffle-chained-bf16.ll

  Log Message:
  -----------
  Make extract vector for bf16 types legal (#222913)

Fixes #222585

Makes EXTRACT_SUBVECTOR legal for bf16 types leading to this new codegen
```asm
# $ ./build/bin/clang test.c -O3 -march=novalake -mprefer-vector-width=512 -ffast-math -S -o -
foo:
        vmovups (%rsi), %zmm0
        vmulph  (%rdi), %zmm0, %zmm0
        vextractf64x4   $1, %zmm0, %ymm1
        vaddph  %zmm1, %zmm0, %zmm0
        vextractf128    $1, %ymm0, %xmm1
        vaddph  %xmm1, %xmm0, %xmm0
        vshufpd $1, %xmm0, %xmm0, %xmm1         # xmm1 = xmm0[1,0]
        vaddph  %xmm1, %xmm0, %xmm0
        vmovshdup       %xmm0, %xmm1            # xmm1 = xmm0[1,1,3,3]
        vaddph  %xmm1, %xmm0, %xmm0
        vpsrld  $16, %xmm0, %xmm1
        vaddsh  %xmm1, %xmm0, %xmm0
        vzeroupper
        retq

bar:
        vmovups (%rsi), %zmm0
        vmulbf16        (%rdi), %zmm0, %zmm0
        vextractf64x4   $1, %zmm0, %ymm1
        vaddbf16        %zmm1, %zmm0, %zmm0
        vextractf32x4   $1, %zmm0, %xmm1
        vaddbf16        %xmm1, %xmm0, %xmm0
        vshufpd $1, %xmm0, %xmm0, %xmm1         # xmm1 = xmm0[1,0]
        vaddbf16        %xmm1, %xmm0, %xmm0
        vmovshdup       %xmm0, %xmm1            # xmm1 = xmm0[1,1,3,3]
        vaddbf16        %xmm1, %xmm0, %xmm0
        vpsrld  $16, %xmm0, %xmm1
        vaddbf16        %xmm1, %xmm0, %xmm0
        vzeroupper
        retq
```


  Commit: e78970f80f1041de8948cb0b665a9aaae682f6c6
      https://github.com/llvm/llvm-project/commit/e78970f80f1041de8948cb0b665a9aaae682f6c6
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx13_asm_vop3-fake16.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop3.s
    A llvm/test/MC/AMDGPU/gfx13_asm_vop3_err-fake16.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop3_err.s

  Log Message:
  -----------
  [AMDGPU] MC support for v_wave_match_b32 on gfx13 (#223360)


  Commit: 2eb384fccbf866b34a84f86c0e1355a6caed0f0e
      https://github.com/llvm/llvm-project/commit/2eb384fccbf866b34a84f86c0e1355a6caed0f0e
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/Linalg.h
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
    M mlir/include/mlir/Dialect/Linalg/Passes.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
    M mlir/lib/Dialect/Linalg/Transforms/MorphOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    A mlir/test/Dialect/Linalg/categorize-named-ops.mlir
    M mlir/test/Dialect/Linalg/decompose-generic-by-unfolding-projected-permutation.mlir
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Improve morphism semantics (#222959)

As exposed on the issues linked, the linalg morphism semantics could be
improved.

This PR changes the following semantics:
* Completes support for `-linalg-morph-ops` to include contractions and
ternary elementwise.
* Adds a `-linalg-categorize-ops`, which moves both named and generic
ops to category.
* Adds the possibility of "stopping at category" for both specialization
and generalization (not accessible from command line options but used by
the new categorize / old morph-ops pass).
* Removes the morphism options structure, since it's just a Boolean
flag.
* Improve test coverage, and make sure that `-linalg-morph-ops` does the
same thing as the other options.

It does NOT:
* Change the semantics of generalization, which continues to generalize
everything.
* Change the semantics of specialization, which continues to convert to
named or category whenever possible.

There's also come cleanups for the matching of elementwise that was
simpler as a `TypeSwitch`.

Fixes #221266 and #221191 

Assisted by: Claude Opus


  Commit: 66ec80c99d36c2b53d3c5e2b895e2f1eba8bfbe7
      https://github.com/llvm/llvm-project/commit/66ec80c99d36c2b53d3c5e2b895e2f1eba8bfbe7
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M libcxx/include/deque
    M libcxx/test/libcxx/containers/sequences/deque/nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++][deque] Apply `[[nodiscard]]` to `deque::get_allocator` (#223599)

Added the missing `[[nodiscard]]`.


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


  Commit: fe69e138ee0ed61b69ea2de846d550798fe69e2e
      https://github.com/llvm/llvm-project/commit/fe69e138ee0ed61b69ea2de846d550798fe69e2e
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp

  Log Message:
  -----------
  [SCEV] Simplify getElementSz using getLoadStore-helpers (NFC) (#222908)


  Commit: 4510d555b04130df9fee7af75c34955d1b0d156a
      https://github.com/llvm/llvm-project/commit/4510d555b04130df9fee7af75c34955d1b0d156a
  Author: Ricardo Jesus <rjj at nvidia.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/docs/LangRef.md
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
    A llvm/test/CodeGen/AArch64/smulh.ll
    A llvm/test/CodeGen/AArch64/sve-smulh.ll
    A llvm/test/CodeGen/AArch64/sve-umulh.ll
    A llvm/test/CodeGen/AArch64/umulh.ll
    A llvm/test/CodeGen/RISCV/smulh.ll
    A llvm/test/CodeGen/RISCV/umulh.ll
    A llvm/test/CodeGen/X86/smulh.ll
    A llvm/test/CodeGen/X86/umulh.ll

  Log Message:
  -----------
  [LLVM] Add llvm.[su]mulh intrinsics. (#220293)

These intrinsics correspond to (un)signed multiply-high operations. The
motivation for introducing them is to allow more accurate costing
(particularly for vectorisation) and to simplify code generation for
chained multiply-high operations.

Together with subsequent patches to combine and cost the intrinsics,
this gives an 8% speedup on 750.sealcrypto_r on Neoverse V2.


  Commit: aef91d6bcd7a7524ddc0f20b892381b5a3f3ebaf
      https://github.com/llvm/llvm-project/commit/aef91d6bcd7a7524ddc0f20b892381b5a3f3ebaf
  Author: Igor Kirillov <igor.kirillov at arm.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/conditional-subtract.ll

  Log Message:
  -----------
  [AArch64] Reuse SUBS results for conditional subtraction (#223391)

For C++ code such as:

  uint64_t conditional_subtract(uint64_t x, uint64_t q) {
    return x - (x >= q ? q : 0);
  }

AArch64 currently uses three instructions for the conditional
subtraction (omitting the return):

  cmp  x0, x1
  csel x8, x1, xzr, hs
  sub  x0, x0, x8

The comparison already computes x - q to set the condition flags, but
its arithmetic result is discarded. Preserve that result with SUBS and
select between it and x, reducing the sequence to two instructions:

  subs x8, x0, x1
  csel x0, x8, x0, hs

Apply this combine to i32 and i64 single-use selects with zero in either
arm. Keep the original flags and condition code, allowing signed,
unsigned, equality, and overflow conditions while preserving other users
of the comparison.

This gives an approximately 3% performance improvement in the
750.sealcrypto_r benchmark from SPEC CPU 2026.


  Commit: 8397594236fb24502944a02c9662f4120f347843
      https://github.com/llvm/llvm-project/commit/8397594236fb24502944a02c9662f4120f347843
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [X86] Move ISD::FP_TO_*INT_SAT actions to be with a Subtarget's other ops. (#223657)

Don't treat them differently to the general pattern we try to keep to
based on grouping each Subtarget abilities - they shouldn't allow
soft-float either.

Cleanup to reduce diff in #199416


  Commit: d8e5c98e4e1e581d61c3c791b3d337c7f2d720ec
      https://github.com/llvm/llvm-project/commit/d8e5c98e4e1e581d61c3c791b3d337c7f2d720ec
  Author: David Green <david.green at arm.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/ARM/shuffle.ll

  Log Message:
  -----------
  [ARM] Add Neon costs for vrev shuffles (#223310)

This, like for AArch64 and MVE, allows some of the legal vrev shuffle
masks to be costed as if they are a single instruction, which can help
prevent the mid end from deoptimizing the code.


  Commit: 3a42f8a335269c4d01274f8b04057fa66c87d969
      https://github.com/llvm/llvm-project/commit/3a42f8a335269c4d01274f8b04057fa66c87d969
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/test/CodeGen/builtins-arm.c
    M clang/test/CodeGen/builtins-arm64.c

  Log Message:
  -----------
  [ARM] Emit llvm.clear_cache for __clear_cache() (#223398)

It looks like the ARM-specific __clear_cache() builtin emits different
IR than the generic __builtin___clear_cache() builtin (added later),
which uses the llvm.clear_cache intrinsic (which will typically lower to
a __clear_cache libcall, of course).

Use llvm.clear_cache for __clear_cache() as well, for consistency and to
slightly simplify the code.


  Commit: 184ef35f1d4fd0433b50c953f0495f4199d22223
      https://github.com/llvm/llvm-project/commit/184ef35f1d4fd0433b50c953f0495f4199d22223
  Author: Naveen <navehs at qti.qualcomm.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [AggressiveInstCombine] Guard memset with length in [0, 1] (#213240)

Use computeKnownBits to identify nonconstant memset lengths whose
possible values are limited to zero and one. The check is integrated
into the existing instruction loop in foldUnusualPatterns via the
dedicated helper foldMemSetZeroOrOneLength.

Insert a conditional branch around the memset and specialize the
executed path to a constant length of one. A following InstCombine
pass can then replace it with a byte store, including for a
nonconstant fill value.

Do not transform wider ranges such as [0, 2].

Fixes #213027.

Assisted by GPT-5


  Commit: 92d4f66a26fc434b186df29df9a6695420b60ebb
      https://github.com/llvm/llvm-project/commit/92d4f66a26fc434b186df29df9a6695420b60ebb
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [X86] LowerFP_TO_INT_SAT - use original SDValue directly. NFC. (#223651)

No need to access everything via the SDNode

Cleanup to reduce diff in #199416


  Commit: 5bf2127dac5c77a4368cc23fd445fae248f65b9a
      https://github.com/llvm/llvm-project/commit/5bf2127dac5c77a4368cc23fd445fae248f65b9a
  Author: Tomer Shafir <tomer.shafir8 at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
    M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-02.mir
    A llvm/test/CodeGen/AArch64/misched-prera-only1.mir

  Log Message:
  -----------
  [MISched] Fix pre-RA pickOnlyChoice tracing (#223182)

Add missing tracePick calls. Now GenericScheduler and
PostGenericScheduler tracing coverage is complete. Add a stable only1
test for pre-RA scheduling.


  Commit: d940cd62a7851220d60d50c6e140b52e3462b242
      https://github.com/llvm/llvm-project/commit/d940cd62a7851220d60d50c6e140b52e3462b242
  Author: Fred Tingaud <95592999+frederic-tingaud-sonarsource at users.noreply.github.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Demangle/Demangle.h
    M llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
    M llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
    M llvm/unittests/Demangle/MicrosoftDemangleTest.cpp

  Log Message:
  -----------
  [MSVC][Demangling] Respect MSDF_NoCallingConvention for function pointers (#209113)

The goal is to update MSVC demangling so that we control whether we
display a function pointer as `void (__cdecl *funcPtr)(void)` or `void
(*funcPtr)(void)`, by abiding by the `MSDF_NoCallingConvention` flag.

It is not a one-liner because function pointers used to use a trick
where it would unconditionally drop all the flags and pass
`OF_NoCallingConvention` to output the calling convention inside the
parentheses. In order to respect `MSDF_NoCallingConvention`, we need to
get rid of this trick.

A side effect of the trick was that OF_NoReturnType was also lost, which
is actually good because dropping the return type of a named function is
unambiguous, but dropping the return type of a function pointer loses
important information. The fix enforces that behavior explicitly.

This change can have impact for end-users who always passed
MSDF_NoCallingConvention, but I believe that this new behavior is the
one they were expecting.

Assisted-by: Claude


  Commit: 9362acaf8cc97977d51ef09aaf6a2c6fe46a5361
      https://github.com/llvm/llvm-project/commit/9362acaf8cc97977d51ef09aaf6a2c6fe46a5361
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/test/Analysis/CostModel/AMDGPU/cast.ll
    A llvm/test/Analysis/CostModel/AMDGPU/expanded-int-fp-casts.ll
    M llvm/test/Analysis/CostModel/AMDGPU/fptosi.ll
    M llvm/test/Analysis/CostModel/AMDGPU/fptoui.ll

  Log Message:
  -----------
  [NFC][AMDGPU] Add cost tests for integer to/from floating point casts (#223571)

Cover i48, i64, i128, bf16, fp128 and narrow vector lanes across FP64
rates, 16 bit instructions, sdwa and both cost kinds.

Assisted-by: Claude Code Opus 5


  Commit: be1ca5fcce2b2c91342b691b79fb5c30ba28688e
      https://github.com/llvm/llvm-project/commit/be1ca5fcce2b2c91342b691b79fb5c30ba28688e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrThumb.td
    M llvm/test/CodeGen/ARM/setjmp_longjmp.ll
    M llvm/unittests/Target/ARM/InstSizes.cpp

  Log Message:
  -----------
  [ARM] Fix Int_eh_sjlj_longjmp instruction size (#223639)

These pseudos expand to one more instruction on non-darwin/windows
platforms.

See: https://github.com/llvm/llvm-project/blob/88107b203b9e02a2d6ce87bf8ba0d98cb6ff53ec/llvm/lib/Target/ARM/ARMAsmPrinter.cpp#L2738-L2764


  Commit: 637ead9bec3593e96141b22e6f49a59abb45be91
      https://github.com/llvm/llvm-project/commit/637ead9bec3593e96141b22e6f49a59abb45be91
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp

  Log Message:
  -----------
  [MLIR][Linalg] Fix ASAN bug from #222959 (#223683)


  Commit: eccf6a14a802f941acc3fde5950c20992874f542
      https://github.com/llvm/llvm-project/commit/eccf6a14a802f941acc3fde5950c20992874f542
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/unittests/Analysis/ScalarEvolutionTest.cpp

  Log Message:
  -----------
  [SCEV] Return a SCEVUse from getAddRecExpr and propagate use flags. (#221606)

Same as https://github.com/llvm/llvm-project/pull/220007 but for
getAddRecExpr:

Pass both expression and use specific flags to getAddRecExpr and 
propagate the use flags, if valid conservatively. That is, the final expression
forms an AddRec with the same operands. For example, it is not valid to
propagate the use flags if other (sub-)expressions have been inlined.

It also includes a few mechanical changes, to update users that still
expected const SCEV *.

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


  Commit: b249b47fad295131dc005435c895459e25719806
      https://github.com/llvm/llvm-project/commit/b249b47fad295131dc005435c895459e25719806
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  [Profcheck] Exclude two new tests (#223690)

Exclude these tests for now. We haven't gotten to AtomicExpand/ARM yet,
and the AggressiveInstCombine change is overlapping.


  Commit: b15f58cd8bcbd29156ff2cc8c6c89effba12c293
      https://github.com/llvm/llvm-project/commit/b15f58cd8bcbd29156ff2cc8c6c89effba12c293
  Author: ahmed mohamed kamel <109012086+AhmedKamel10 at users.noreply.github.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/SemaCXX/warn-shadow.cpp

  Log Message:
  -----------
  [clang][Sema] Fix false-positive -Wshadow for friend functions (#221249)

A friend function defined inline in a class body has no implicit `this`,
so a parameter with the same name as a field cannot actually shadow it.
`CheckShadow` only exempted static members and members with an explicit
object parameter, it never handled the case where the enclosing function
isn't a member function at all, which fell through to the generic
diagnostic. In this PR I extend the exemption to cover that case and
added the regression test.

In this PR, I used Claude to help navigate the codebase and explain key
functions.
Fixes #221190


  Commit: ad1a3f3a488f1d0ff89e5c5f4cdf59d71a8218b5
      https://github.com/llvm/llvm-project/commit/ad1a3f3a488f1d0ff89e5c5f4cdf59d71a8218b5
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/test/CodeGen/builtins-arm64.c

  Log Message:
  -----------
  clang: Fix a test assuming single digit metadata numbers (#223688)


  Commit: 677a4c33ba942fe7aec6a1be15ba388f1b74d855
      https://github.com/llvm/llvm-project/commit/677a4c33ba942fe7aec6a1be15ba388f1b74d855
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp

  Log Message:
  -----------
  [Clang] Handle unsatisfied NestedRequirement correctly (#223001)

Sema::BuildNestedRequirement(Expr *Constraint) built an incorrect
NestedRequirement even when unsatisfied. It was never triggered because
they were never diagnosed (we didn't diagnose concept details for
static_assert until ab896c6c6f2) and the other error handlings were done
properly in instantiator.

No release note because of regression-on-trunk.


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


  Commit: 3eb8d17174638ccc5d0d6711b433c042fbddf66d
      https://github.com/llvm/llvm-project/commit/3eb8d17174638ccc5d0d6711b433c042fbddf66d
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
    M clang/test/SemaTemplate/concepts.cpp

  Log Message:
  -----------
  [Clang] Partially reapply "Refactor instantiation of declarations within concepts" (#223311)

This partially reverts db65ace07

It turns out that we cannot simply reuse the instantiated declarations
on stack, and our LIS is lack of ability of distinguishing different
template arguments.

This PR relands the refactoring part of the previous attempt, still
making it possible to have instantiated parameters before checking C++26
fold expression constraints, plus a regression test.

Fixes #198052
Closes #223220


  Commit: bcf12a5af6b24122ce93d93080bcbaa4f3c9140d
      https://github.com/llvm/llvm-project/commit/bcf12a5af6b24122ce93d93080bcbaa4f3c9140d
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/omptarget-declare-target-declaration.mlir

  Log Message:
  -----------
  [Flang][OpenMP] Prevent internal linkage on declarations for declare target variables (#222487)

It's illegal to have a global variable declaration with any linkage
other than external or weak, in certain cross module situations we were
applying internal linkage to declarations which breaks the verification
step.


  Commit: f9627febe7ec6a558370e5a0374cb90459479a42
      https://github.com/llvm/llvm-project/commit/f9627febe7ec6a558370e5a0374cb90459479a42
  Author: Frederik Harwath <frederik.harwath at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [AMDGPU] Optimize PreRARematStage candidate initialization (#220924)

The computation of the LiveIn/LiveOut sets in
PreRARematStage::ScoredRemat::init showed up as a significant compile
time bottleneck in code using kernels from composable_kernel.

Compute the LiveIn/LiveOut sets for all candidates in a single iteration
of the all regions and DAG LiveIns/LiveOuts without iterating the
candidates.


  Commit: 01d59ab35faf33cc50c66290206a9bcbc6aed936
      https://github.com/llvm/llvm-project/commit/01d59ab35faf33cc50c66290206a9bcbc6aed936
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-iterator.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-task-charbox.mlir
    M mlir/test/Target/LLVMIR/openmp-task-privatization.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop-cancel.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop-cancellation-point.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop-charbox.mlir
    M mlir/test/Target/LLVMIR/openmp-taskloop.mlir
    M mlir/test/Target/LLVMIR/openmp-taskwait-depend.mlir

  Log Message:
  -----------
  [OpenMPToLLVMIRTranslation] Avoid use of ConstantExpr::getSizeOf() (#223363)

This will no longer be supported in ptradd representation. Directly
produce constants with the correct size instead.


  Commit: 1a8797bc8a24663747c17d9308a82d7fb987a922
      https://github.com/llvm/llvm-project/commit/1a8797bc8a24663747c17d9308a82d7fb987a922
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/test/SemaCXX/ctad.cpp

  Log Message:
  -----------
  [Clang] Fix synthesis of alias CTAD constraints (#223340)

buildAssociatedConstraints reconstructs a template parameter list
relative to its primary template. However it didn't match the
construction of the CTAD guide very precisely.

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


  Commit: e2c2e9705d86455920173185bc40863940f8b0f3
      https://github.com/llvm/llvm-project/commit/e2c2e9705d86455920173185bc40863940f8b0f3
  Author: Alex Duran <alejandro.duran at intel.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp

  Log Message:
  -----------
  [offload][amd] Fix inconsistent DynBlock MemSize usage (#223452)

The AMD plugin is using two (potentially) different Dynamic Block memory
sizes:
* `LaunchArgs.DynCGroupMem` (this the original value passed to launch)
as an implicit argument
* `DynBlockMemSize` (this is the adjusted value in PluginInterface and
pass to the RTLs) as the `TotalBlockMemSize`.

Changing the first usage as this seems a leftover from #152831 where
usages in the plugins where changed to `DynBlockMemSize`.


  Commit: 449bc5ac6348c72c48fdccd3fad9d2dc2968af2b
      https://github.com/llvm/llvm-project/commit/449bc5ac6348c72c48fdccd3fad9d2dc2968af2b
  Author: Sachin 🗲 <s4chinjha at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [libc][bazel] Adds missing bf16 MPFR test targets for bazel (#223342)

This pr addresses #221026 and adds the missing bazel targets for the
bf16 MPFR tests.

Co-authored-by: Zorojuro <sawantsukumar at gmail.com>


  Commit: 36ce6fd0da77365f4e36baacc79f744f6eb589fb
      https://github.com/llvm/llvm-project/commit/36ce6fd0da77365f4e36baacc79f744f6eb589fb
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [NFC][AMDGPU] Fix two code quality issues in AMDGPUSwLowerLDS (#223685)

- NumStaticLDS is always a positive number, so it was always true
- Potential `Changed = true` was dropped in the loop


  Commit: b4c81d59773bd4f13b26b861d3ba5e173a2d11ee
      https://github.com/llvm/llvm-project/commit/b4c81d59773bd4f13b26b861d3ba5e173a2d11ee
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [X86] LowerFP_TO_INT_SAT - use MVT src/dst types directly. NFC. (#223689)

Only the saturation type needs to be EVT during lowering

Cleanup to reduce diff in #199416


  Commit: bde5e74309f6d66253a8a1360df575daa19e5b55
      https://github.com/llvm/llvm-project/commit/bde5e74309f6d66253a8a1360df575daa19e5b55
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/RegisterPressure.cpp
    A llvm/test/CodeGen/X86/dead-register-pr76416.mir
    A llvm/test/CodeGen/X86/inline-asm-pr149144.ll
    A llvm/test/CodeGen/X86/inline-asm-pr155807.ll
    A llvm/test/CodeGen/X86/inline-asm-pr76416.ll
    M llvm/test/CodeGen/X86/masked-udiv.ll
    M llvm/test/CodeGen/X86/min-legal-vector-width.ll
    A llvm/test/CodeGen/X86/pr205272.ll
    M llvm/test/CodeGen/X86/ssub_sat_plus.ll
    M llvm/test/CodeGen/X86/udiv_fix.ll
    M llvm/test/CodeGen/X86/udiv_fix_sat.ll
    M llvm/test/CodeGen/X86/usub_sat_plus.ll
    M llvm/test/CodeGen/X86/vector-idiv-strictfp.ll
    M llvm/test/CodeGen/X86/vector-idiv-udiv-512.ll
    M llvm/test/CodeGen/X86/xmulo.ll

  Log Message:
  -----------
  RegisterPressure: Remove dead defs correctly (#222627)

When an instruction has overlapping register defs where only some carry
the dead flag (for example a dead super-register def alongside a live
sub-register def), the collector left the shared register units in both the live and
dead def sets. That produced a PressureDiff decrement with no matching increment
and tripped the "PSet overflow/underflow" assertion in getUpwardPressureDelta.

A register unit is dead if any def covering it is dead, regardless of
operand order. Reconcile by subtracting the dead defs from the live defs instead
of the reverse: removeRegLanes only clears the overlapping units, so a def
keeps any units a dead def does not cover.

Fixes #155807.
Fixes #149144.
Fixes #76416.
Fixes #205272.

Co-authored-by: XChy <xxs_chy at outlook.com>
Co-authored-by: Claude claude-opus-4.8 <noreply at anthropic.com>


  Commit: 4456696e795c86549682f1908c5b1adeb7b0295c
      https://github.com/llvm/llvm-project/commit/4456696e795c86549682f1908c5b1adeb7b0295c
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CodeGen/AArch64/sve/dup.c

  Log Message:
  -----------
  [clang][CIR] Add code-gen for DUP intrinsics for bool types (#223459)

As per SVE ABI, the storage type for svbool_t is `vector<vscale x 16 x i1>` (i.e. full predicate register) and that's what the change in `emitToMemory` reflects (see LowerToLLVM.cpp).


  Commit: 058ca1274446c7fa27b193237a90c21dddf7833c
      https://github.com/llvm/llvm-project/commit/058ca1274446c7fa27b193237a90c21dddf7833c
  Author: Jan Schultke <me at eisenwave.net>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/24.rst
    M libcxx/docs/Status/Cxx29Papers.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__bit/shift.h
    M libcxx/include/bit
    M libcxx/include/module.modulemap.in
    M libcxx/include/version
    M libcxx/modules/std/bit.inc
    M libcxx/test/libcxx/utilities/bit/nodiscard.verify.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    A libcxx/test/std/numerics/bit/bitops.shift/shl.pass.cpp
    A libcxx/test/std/numerics/bit/bitops.shift/shr.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Implement `<bit>` parts of P3793R2 Better shifting (#219389)

Partially implements #204401

That is, the scalar `<bit>` parts are implemented, but the `<simd>`
overloads are missing. Notice that only `__cpp_lib_bitops` is set to
`202606L`. `__cpp_lib_simd_bitops` is missing.

The implementations of `shl` and `shr` are based on the reference
implementation in the paper. The test code is partially AI-generated and
inspired by the test code for `rotl` or `rotr`, but comes with
significant modernizations.


  Commit: c5c7a6b1381b24b6a6ceb7c2297f8a99569c8b0e
      https://github.com/llvm/llvm-project/commit/c5c7a6b1381b24b6a6ceb7c2297f8a99569c8b0e
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/sve-fp-constrained-intrinsics.ll

  Log Message:
  -----------
  [NFC][LLVM] Add fmul coverage to sve-fp-constrained-intrinsics.ll (#223658)


  Commit: 6f304f56c86382c2ad296d440c87f24abb05b4c3
      https://github.com/llvm/llvm-project/commit/6f304f56c86382c2ad296d440c87f24abb05b4c3
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Fix castBackMemberPointer with null member pointers (#223680)

Do the same thing the current interpreter does: nothing.


  Commit: 4600d3ed9189fa45e586daad813a043f3de8b85c
      https://github.com/llvm/llvm-project/commit/4600d3ed9189fa45e586daad813a043f3de8b85c
  Author: Sachin 🗲 <s4chinjha at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel

  Log Message:
  -----------
  [libc][bazel] Adds missing targets for bf16 smoke tests (#223343)

This pr addresses #221026 and adds the missing bazel targets for the
bf16 smoke tests.


  Commit: 73e97a620892c9d5df8bafbc3af9a084be35ac98
      https://github.com/llvm/llvm-project/commit/73e97a620892c9d5df8bafbc3af9a084be35ac98
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
    M flang/test/Fir/OpenACC/recipe-populate-firstprivate.mlir
    M flang/test/Lower/OpenACC/acc-private.f90

  Log Message:
  -----------
  [flang][acc] Ensure private recipe optional yields expected type (#223542)

Updates private recipe lowering so that locally allocated variables are
converted to the recipe result type.


  Commit: 83290d61f6ead40a5c38297a0442b63291ce7a48
      https://github.com/llvm/llvm-project/commit/83290d61f6ead40a5c38297a0442b63291ce7a48
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M libcxx/include/__algorithm/find_if.h
    A libcxx/test/libcxx/algorithms/unaligned_empty_range.pass.cpp

  Log Message:
  -----------
  [libc++] Don't assume a valid range in find_if for empty inputs (#213752)

Iterators for empty ranges are sometimes implemented using a
non-aligned sentinel value. Requiring proper alignment in that
case (which is part of the valid range assumption) causes a
hardening failure. Instead, don't make the assumption of a
valid range when the input range is empty in find_if.


  Commit: 78cff11b235dac5dfd0e98f457a338d6d0fbd8b8
      https://github.com/llvm/llvm-project/commit/78cff11b235dac5dfd0e98f457a338d6d0fbd8b8
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M mlir/test/lib/Analysis/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Fix linking `MLIRTestAliasAnalysis` to libMLIR (#223711)

Fixes regression introduced in 36fe08a5f92230655dd9662f121c092ced307ddd.

Signed-off-by: Michał Górny <mgorny at gentoo.org>


  Commit: 0e91ec7b66a14838361f5746273626320317d159
      https://github.com/llvm/llvm-project/commit/0e91ec7b66a14838361f5746273626320317d159
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/test/Analysis/BasicAA/vscale.ll
    M llvm/test/Transforms/GVN/vscale.ll
    M llvm/test/Transforms/NewGVN/vscale.ll

  Log Message:
  -----------
  [BasicAA] Remove obsolete TODOs (NFC) (#223715)

We intentionally do not support non-canonical vscale GEPs in
BasicAA.


  Commit: 1eff7f0039ee4d0b47cd60fa9f60fb3b75e55c41
      https://github.com/llvm/llvm-project/commit/1eff7f0039ee4d0b47cd60fa9f60fb3b75e55c41
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/test/CodeGen/link-builtin-bitcode.c
    M flang/test/Lower/OpenMP/target_cpu_features.f90
    M llvm/lib/Target/AMDGPU/AMDGPU.td

  Log Message:
  -----------
  [AMDGPU] Expose more subtarget features for MLIR (#223561)

- `FeatureAtomitFaddNoRtnInsts` is needed to control when atomic
emulation
for buffer operations happens
- `FeatureBackOffBarrier` controls an inline-assembly workaround for
LDS-only barriers on old gfx9
- `FeatureLfsBarrierArriveAtomic` is a precise flag compared to arch
versions
- `FeatureORPFP8ConversionInsts` controls which MLIR FP8 types can be
lowered to LLVM
- `FeaturePermlane16Insts`is another feature check

Clang and flang tests are updated since they look at the feature set

AI disclosure: Claude made these changes, I wrote this message


  Commit: 5c2e0a03ee47754f4a13dfd1a50dcb0459010aea
      https://github.com/llvm/llvm-project/commit/5c2e0a03ee47754f4a13dfd1a50dcb0459010aea
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPDescriptors.inc

  Log Message:
  -----------
  [OpenMP] Add descriptors for REDUCTION_KIND and SHIFT (#223702)


  Commit: 270c5d9a5ac69fdb97ca3fe6d7a82167b3459194
      https://github.com/llvm/llvm-project/commit/270c5d9a5ac69fdb97ca3fe6d7a82167b3459194
  Author: Igor Wodiany <igor.wodiany at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    A llvm/test/CodeGen/AMDGPU/fold-fmac-to-fmaak.mir

  Log Message:
  -----------
  [AMDGPU] Prevent folding of FMAC into FMAAK with two literals (#217438)

Currently the `foldImmediate` function can fold FMAC into FMAAK with two
literals causing a verifier failure:

```
*** Bad machine code: VOP2/VOP3 instruction uses more than one literal ***
- function:    fold_fmac_to_fmaak
- basic block: %bb.0  (0x627ad4dd40d0)
- instruction: %3:vgpr_16_lo128 = contract nofpexcept V_FMAAK_F16_t16 10526, killed %4:vgpr_16_lo128, 8478, implicit $mode, implicit $exec
```

This change checks if a newly formed FMAAK is valid, and in a case two
literals are used it introduces a MOV to legalize the instruction.


  Commit: 9805babd4ca82557d5e258180c27d201e06ae12c
      https://github.com/llvm/llvm-project/commit/9805babd4ca82557d5e258180c27d201e06ae12c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [GlobalISel] Remove dead declarations and functions in CombinerHelper (NFC) (#223624)

CombinerHelper::getDataLayout: Added on July 25, 2024 in commit
db8c84fc7a75dd60bcfff7160b51e1a55e7e0f73 without any callers.

CombinerHelper::tryCombineCopy: The last caller was removed on
September 24, 2023 in commit bc6e7f057340ab0b995cc17a170e34545a295f03.

CombinerHelper::matchCombineMergeUnmerge: The last use was removed on
January 30, 2026 in commit 369e78774aef11f8e1215bb41fdf8db138ce315e.

CombinerHelper::matchCombineAddP2IToPtrAdd,
CombinerHelper::applyCombineAddP2IToPtrAdd: The last use was removed on
September 8, 2026 in commit 3741dacd195aa08b082570077ca89547cb062bc5.

CombinerHelper::matchCombineConstPtrAddToI2P,
CombinerHelper::applyCombineConstPtrAddToI2P: The last use was removed
on
September 8, 2026 in commit 3741dacd195aa08b082570077ca89547cb062bc5.

CombinerHelper::matchUndefSelectCmp: The last use was removed on
August 11, 2023 in commit 2d87319f06efa15949a0e6983796fc784e1b4028.

CombinerHelper::matchConstantOp: The last use was removed on
January 29, 2026 in commit d8d4096c0be07b993322d4f20bf82aaee498e578.

CombinerHelper::matchBinOpSameVal: The last use was removed on
September 2, 2026 in commit a7dc3296e484a0d92237e899cbce24dbbc7d0e45.

CombinerHelper::matchSimplifyAddToSub,
CombinerHelper::applySimplifyAddToSub: The last use was removed on
September 8, 2026 in commit 3741dacd195aa08b082570077ca89547cb062bc5.

CombinerHelper::matchAddSubSameReg: The last use was removed on
August 11, 2023 in commit 2d87319f06efa15949a0e6983796fc784e1b4028.


  Commit: 9f660520e7db162f18c4ad515c0b0efce37df3e9
      https://github.com/llvm/llvm-project/commit/9f660520e7db162f18c4ad515c0b0efce37df3e9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/lib/Basic/IdentifierTable.cpp

  Log Message:
  -----------
  [clang] Unique MultiKeywordSelector with a UniquingSet (NFC) (#223626)

This patch migrates MultiKeywordSelector in SelectorTable from
llvm::FoldingSet to llvm::UniquingSet.

MultiKeywordSelector keys on an ArrayRef<const IdentifierInfo *>.
Switching to UniquingSet allows us to look up multi-keyword selectors
with a typed key, eliminating FoldingSetNodeID serialization at lookup
sites and removing MultiKeywordSelector::Profile.

Assisted-by: Antigravity


  Commit: b016343155d61e9bcfcb64799987503b06b55381
      https://github.com/llvm/llvm-project/commit/b016343155d61e9bcfcb64799987503b06b55381
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M libcxxabi/src/private_typeinfo.cpp

  Log Message:
  -----------
  [libc++abi][NFC] Format private_typeinfo.cpp (#223734)

I'm planning to work on `private_typeinfo.cpp` a bit, so this formats
the file to reduce the diff in later patches.


  Commit: 3396648b577809c197a3da335affde1c772924d5
      https://github.com/llvm/llvm-project/commit/3396648b577809c197a3da335affde1c772924d5
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp

  Log Message:
  -----------
  [alpha.webkit.UncountedLocalVarsChecker] Ignore lambda captures (#223617)

Ignore a variable declaration for a lambda capture as that is explicitly
checked by webkit.UncountedLambdaCapturesChecker instead.


  Commit: f0d41abb33b6c4681dfd56c5804d8bab8dc5c77d
      https://github.com/llvm/llvm-project/commit/f0d41abb33b6c4681dfd56c5804d8bab8dc5c77d
  Author: Akash Manna <akash.manna.mymail at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/switch-select-remap.ll

  Log Message:
  -----------
  [SimplifyCFG] Fix use-after-free in switch-on-select remap when the compared value is a PHI (#223632)

Fixes #223138

`simplifySwitchOnSelectRemap` turns `switch (select (X == C), K, X)`
into `switch X` and retargets case `C` to wherever `K` goes. It dropped
the old edge for `C` with `removePredecessor` before it installed `X` as
the switch condition. When `X` is a PHI in that old destination, which
is what happens when case `C` branches back to the switch's own block,
dropping the edge leaves the PHI with a single input, so it gets folded
and erased. The switch was then made to use the erased PHI. Everything
after that was reading freed memory, which is why the reported assertion
moves around between SimplifyCFG's dominator tree update,
ScalarEvolution's `isSCEVable` check and instcombine depending on the
run.

The fix is to set the switch condition to `X` before touching the CFG.
If the PHI fold happens, its RAUW now rewrites the switch operand along
with the compare and select, and the stale pointer is never used again.


  Commit: f0dc664fe9c80ba64f315f81d5de0d72c88b81dd
      https://github.com/llvm/llvm-project/commit/f0dc664fe9c80ba64f315f81d5de0d72c88b81dd
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/declare-target-entry-iface.f90
    M flang/test/Lower/OpenMP/declare-target-interface.f90
    R flang/test/Lower/OpenMP/declare-target-multiple-entry.f90

  Log Message:
  -----------
  [Flang][OpenMP] Support declare target on interfaces local to procedures (#218877)

Declarative directives implicitly affecting the surrounding procedures
are handled differently for interface procedures in Flang due to the
fact that the corresponding evaluation during lowering is attached to
the parent program unit, rather than the interface.

However, the current implementation to handle this edge case for
`declare_target` is based on the incorrect assumption that this can be
detected by comparing the owning procedure's symbol to the symbol of the
program unit lexically containing the directive. This fails whenever an
interface is located anywhere except for the main program.

Instead, this patch queries the details of the program unit containing
the directive to check directly whether it's an interface. Anything
else, including alternative entries to a procedure, is handled in the
regular way.


  Commit: 44864513ceeb6a24f2050da3e929446a8a20f9d1
      https://github.com/llvm/llvm-project/commit/44864513ceeb6a24f2050da3e929446a8a20f9d1
  Author: tfzee <tim.ziegler at intel.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/avx10_2bf16-rounding.ll

  Log Message:
  -----------
  [X86] Lower bf16 round-to-integer on AVX10.2 via vrndscalebf16 (#213276)

Follow-up to #212245.  

floor/ceil/trunc/rint/nearbyint/roundeven on bf16 are currently treated
as illegal causing them to be
promoted and causing scalarization of the vector cases.

AVX10.2 has packed vrndscalebf16, so mark these operations Legal for
v8bf16/v16bf16/v32bf16. The existing patterns already turns them into
X86ISD::VRNDSCALE with the matching immediate, so no new patterns are
needed.

Scalar bf16 reuses the path previously added in #212245.

llvm.round is left out since it is round-half-away-from-zero, which
vrndscale cannot encode.
For the strict version I kept the the old legalization for now since the
avx10.2 Instructions have hardcoded rounding and exception behavior.

(Further todo from my testing some of the strict versions need also some
extra handling since they currently will fail to select and crash the
compiler)

Used AI to code review and reword text.


  Commit: eee3badbda422abdb6809353f95c7a3e22868561
      https://github.com/llvm/llvm-project/commit/eee3badbda422abdb6809353f95c7a3e22868561
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/CIR/Lowering/CIRPasses.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-win64-skipped.c

  Log Message:
  -----------
  [CIR] Skip call-conv lowering on Windows x86_64 (#223583)

The x86-64 classifier implements SysV.  We do not support Windows yet.

Assisted-by: Cursor / claude-opus-5


  Commit: 30a496b8d0c9b2c9dc1d22df9550d04c8ead589f
      https://github.com/llvm/llvm-project/commit/30a496b8d0c9b2c9dc1d22df9550d04c8ead589f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    A clang/test/CodeGen/exception-model-flag.c

  Log Message:
  -----------
  clang: Emit "exception-model" module flag (#220053)

Record the exception-handling model as an "exception-model" IR module
flag when it differs from the target triple's default, mirroring how
other target ABI properties are recorded.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 9dffc7a230c3623284cc2a4184abe5beeca99681
      https://github.com/llvm/llvm-project/commit/9dffc7a230c3623284cc2a4184abe5beeca99681
  Author: Domenic Nutile <domenic.nutile at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/test/CodeGen/AMDGPU/mad-mix.ll

  Log Message:
  -----------
  [AMDGPU][GlobalISel] Strip bitcasts in unmerge half-extraction matching (#223534)

isExtractHiElt/isExtractLoElt run their result through stripBitCast on
every path except the G_UNMERGE_VALUES ones, which returned the unmerge
source register raw. This change makes the handling uniform in all cases


  Commit: 81353cba9f68d1beb5fe220b693f9dc3646d990c
      https://github.com/llvm/llvm-project/commit/81353cba9f68d1beb5fe220b693f9dc3646d990c
  Author: nudt_yixiao <1272950933 at qq.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/resolve46.f90

  Log Message:
  -----------
  [Flang] Avoid crash resolving restricted specific intrinsics (#217852)

Name resolution assumed that every specific intrinsic function handled
in a procedure context was unrestricted and had a numeric result. An
undeclared LLT used as a procedure pointer target therefore triggered a
CHECK because LLT is restricted and returns LOGICAL.

Rename the handler to reflect that it resolves both restricted and
unrestricted specific intrinsic functions. Preserve result types only
for unrestricted intrinsics; restricted intrinsics retain an untyped
symbol so later semantic checks can issue the appropriate diagnostic.

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

Co-authored-by: yixiao <yixiao at hygon.cn>


  Commit: 1f83538aa13d9a622c36226e7c8a60ba58bb68f0
      https://github.com/llvm/llvm-project/commit/1f83538aa13d9a622c36226e7c8a60ba58bb68f0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/AST/ByteCode/builtin-object-size-codegen.c
    M clang/test/AST/ByteCode/c.c

  Log Message:
  -----------
  [clang][bytecode] Apply pointer casts to opaque pointers (#223607)

For `((char *)&sqlite3Prepare_sParse) + 4`, the final byte offset should
be `4`, not `4 * sizeof(sqlite3Prepare_sParse)`. To handle that, we need
to actually pass the cast along to the opaque pointer.


  Commit: 408a094bece64f8c8e98194f8359ced5ae31e4b9
      https://github.com/llvm/llvm-project/commit/408a094bece64f8c8e98194f8359ced5ae31e4b9
  Author: Ryotaro Kasuga <ryotaro.kasuga at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/test/CodeGen/PowerPC/sms-regpress.mir

  Log Message:
  -----------
  [MachinePipeliner] Use VirtRegOrUnit instead of Register appropriately (#177535)

Resolve the FIXMEs in MachinePipeliner added in #167730, primarily by
replacing `Register` with `VirtRegOrUnit` where necessary to remove
invalid `static_cast`s. Based on my local testing, there was no
noticeable performance impact.

---------

Co-authored-by: Harsha Jagasia <harsha.jagasia at amd.com>


  Commit: ad413891c0985b7e19bbd55c6ba193203e16281e
      https://github.com/llvm/llvm-project/commit/ad413891c0985b7e19bbd55c6ba193203e16281e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/RuntimeLibcalls.h
    M llvm/include/llvm/IR/RuntimeLibcallsImpl.td
    A llvm/test/TableGen/RuntimeLibcallEmitter-library-ref.td
    M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp

  Log Message:
  -----------
  RuntimeLibcalls: Add LibraryRef for dispatch-with-exclusion (#218869)

Let a SystemRuntimeLibrary dispatch a shared provider library while
dropping the impls the target replaces, since a library reference cannot nest 
inside (sub ...). This is a compromise from the ideal of explicitly listing all calls, 
but getting to that point is prooving to be difficult.

The opt-out is emitted inside setAvailableLibFuncs_<lib>, so the single library's
logic is self contained.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>


  Commit: 277099f74c789dee10524ab57112444d8df38187
      https://github.com/llvm/llvm-project/commit/277099f74c789dee10524ab57112444d8df38187
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/LowerAtomic.cpp
    M llvm/test/Transforms/AtomicExpand/ARM/thread-model-single.ll
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  [LowerAtomic] Mark cmpxchg select with unknown branch weights (#223736)

LowerAtomic in cmpxchg lowering creates a select to figure out what to
store. This is conditioned on whether or not the compare value is equal
to the value in memory, which we currently have no way of knowing the
probability of. So mark the branch weights explicitly unknown.

It seems like we were lacking coverage of this case before #223157,
which made this test pop up on the profcheck bot.


  Commit: 7d003d11953c0fee6bccf3e75bd9dedf45bbaf54
      https://github.com/llvm/llvm-project/commit/7d003d11953c0fee6bccf3e75bd9dedf45bbaf54
  Author: Mian Miftah <miftah.gungnir at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    A llvm/test/CodeGen/AMDGPU/atomic-optimizer-uniform-vector.ll

  Log Message:
  -----------
  [AMDGPU] Skip vector atomicrmw operands in AtomicOptimizer (#223309)

A uniform `<2 x i32>` `atomicrmw add` reaches a scalar-to-vector
lane-count cast and asserts in AMDGPUAtomicOptimizer. 
The divergent-value path rejects types in `isLegalCrossLaneType`, 
but the uniform-value path does not.

Returned vectors also enter scalar result construction.

Reject vector types in `visitAtomicRMWInst` and `visitIntrinsicInst`
before either value path. The regression covers unused 
global `add`, returned LDS `and`,
and a uniform scalar `i16` control that must still optimize, using DPP 
and iterative strategies on wave64 and wave32 subtargets.


  Commit: 1dd934d123066d6d996bde5943b2136e621ba215
      https://github.com/llvm/llvm-project/commit/1dd934d123066d6d996bde5943b2136e621ba215
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/test/TableGen/RuntimeLibcallEmitter.td
    M llvm/utils/TableGen/Basic/RuntimeLibcalls.cpp
    M llvm/utils/TableGen/Basic/RuntimeLibcalls.h

  Log Message:
  -----------
  RuntimeLibcalls: Remove the dead IsDefault emitter machinery (#219947)

The IsDefault bit on RuntimeLibcallImpl fed a LibCallToDefaultImpl map
in the TableGen backend that was populated but never read.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 8e39842f45ad190d87d098b92aad940941d98151
      https://github.com/llvm/llvm-project/commit/8e39842f45ad190d87d098b92aad940941d98151
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/test/Transforms/AggressiveInstCombine/memset.ll
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  [AggressiveInstCombine] Preserve Profile Info for [0,1] Memset Guard (#223728)

This showed up as a profcheck failure from #213240. If the memset has
profile information, we can use that to synthesize appropriate branch
weights.


  Commit: 0f4f7affa58186bd8e5721e773b34f8bfee55d4f
      https://github.com/llvm/llvm-project/commit/0f4f7affa58186bd8e5721e773b34f8bfee55d4f
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/matrix-type.cpp

  Log Message:
  -----------
  [Clang][Sema] Add Diagnostic for using matrix logical on non HLSL targets (#223252)

Make Clang emit an error message instead of crashing when using matrix
logical operations on non-HLSL targets.

Issue #222381


  Commit: cdd52918379532618fe25368cfbe12b2334c5f9c
      https://github.com/llvm/llvm-project/commit/cdd52918379532618fe25368cfbe12b2334c5f9c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/abs.ll
    M llvm/test/Transforms/ConstraintElimination/add-nsw.ll
    A llvm/test/Transforms/ConstraintElimination/decompose-signed-preconditions.ll
    A llvm/test/Transforms/ConstraintElimination/decompose-unsigned-preconditions.ll
    M llvm/test/Transforms/ConstraintElimination/gep-arithmetic-different-types.ll
    M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit-postinc.ll
    M llvm/test/Transforms/ConstraintElimination/induction-exit-condition-or-and.ll
    M llvm/test/Transforms/ConstraintElimination/induction-nowrap-from-scev-not-ir.ll
    M llvm/test/Transforms/ConstraintElimination/induction-relational-predicate-latch.ll
    M llvm/test/Transforms/ConstraintElimination/induction-symbolic-start-postinc.ll
    M llvm/test/Transforms/ConstraintElimination/loops-header-tested-base.ll
    M llvm/test/Transforms/ConstraintElimination/minmax.ll
    M llvm/test/Transforms/ConstraintElimination/ne-tightening.ll
    M llvm/test/Transforms/ConstraintElimination/or-non-negative.ll
    M llvm/test/Transforms/ConstraintElimination/partial-decomposition.ll
    M llvm/test/Transforms/ConstraintElimination/sext-signed-predicates.ll
    M llvm/test/Transforms/ConstraintElimination/trunc.ll
    M llvm/test/Transforms/ConstraintElimination/wrapping-math.ll

  Log Message:
  -----------
  [ConstraintElim] Unify no-wrap queries. (#223537)

Unify no-wrap queries in new isKnownNoWrap helper, which checks both
wrap flags on instructions and query-based reasoning in a single place.
Checks signed/unsigned wrap depending on a flag.

Update both decompose and tryToStrengthenFlags to use shared helper.

This improves results in a number of cases, because some rules were only
implemented for tryToStrengthenFlags and others in decompose:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1313

Note that there are 2-3 small regressions due added flags/removed
branches pessimizing other parts of the pipeline.

Compile-time impact in the noise for geomean. Notable individual changes
is mafft -0.05% in stage1-ReleaseThinLTO, and lencod +0.05% for
stage2-O3.

https://llvm-compile-time-tracker.com/compare.php?from=54005dacf264d79e403808a704b18bcf1cbe956f&to=507624eb897062648a907245c46885d8af15359d&stat=instructions:u

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


  Commit: f1dac288ccc5304dad0cfaf9b198239c2af5a6b0
      https://github.com/llvm/llvm-project/commit/f1dac288ccc5304dad0cfaf9b198239c2af5a6b0
  Author: ayaan <138162656+def3r at users.noreply.github.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/test/CodeGen/ARM/divmod-eabi.ll
    M llvm/test/CodeGen/Mips/divrem.ll
    M llvm/test/CodeGen/NVPTX/divrem-combine.ll
    M llvm/test/CodeGen/PowerPC/p10-vector-modulo.ll
    M llvm/test/CodeGen/PowerPC/ppc64-P9-mod.ll
    M llvm/test/CodeGen/PowerPC/srem-vector-lkk.ll
    M llvm/test/CodeGen/PowerPC/urem-vector-lkk.ll
    M llvm/test/CodeGen/RISCV/srem-lkk.ll
    M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
    M llvm/test/CodeGen/RISCV/urem-lkk.ll
    M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
    M llvm/test/CodeGen/X86/divide-by-constant.ll
    M llvm/test/CodeGen/X86/divrem.ll

  Log Message:
  -----------
  [DAGCombiner] Port custom DAG combine for `rem` from NVPTX (#210344)

Part of #116695
Supersedes #167147

Port NVPTX combine for `rem` to DAGCombine. Folds `Num % Den -> Num -
(Num / Den) * Den` if `DIVREM` is not supported by the backend.


  Commit: 8aa00e2756885f888f1ec36c249f37b171b5bc57
      https://github.com/llvm/llvm-project/commit/8aa00e2756885f888f1ec36c249f37b171b5bc57
  Author: David Green <david.green at arm.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/shift-mod.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Add GISel test coverage for shift-mod.ll. NFC (#223753)


  Commit: be5f7cb792e55be1540d50bb19ab0eaee621f349
      https://github.com/llvm/llvm-project/commit/be5f7cb792e55be1540d50bb19ab0eaee621f349
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    A lldb/source/Plugins/Process/Windows/Common/LoadedModuleList.h
    M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
    M lldb/unittests/Process/CMakeLists.txt
    A lldb/unittests/Process/Windows/CMakeLists.txt
    A lldb/unittests/Process/Windows/LoadedModuleListTest.cpp

  Log Message:
  -----------
  [lldb][Windows] Key lldb-server's loaded-module list by base address (#223445)

`NativeProcessWindows` keys `m_loaded_modules` by `FileSpec`, so a
second mapping of an already-loaded DLL overwrites the first one's base
address, and `OnUnloadDll` then erases by address. The wrong mapping
gets dropped.

This reproduces reliably in swiftlang where `swiftCore.dll` is loaded
twice.

This patch maps by base address instead (the identity `UNLOAD_DLL`
carries), so an unload resolves to the right file and only retires the
reported entry when it is that file's last mapping.
It introduces the `LoadedModuleList` class to key the modules correctly
and 9 regression unit tests.

---------

Co-authored-by: Nerixyz <nero.9 at hotmail.de>


  Commit: a949919bcf5bf634b50de503cdc85ef423d799c6
      https://github.com/llvm/llvm-project/commit/a949919bcf5bf634b50de503cdc85ef423d799c6
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/CMakeLists.txt

  Log Message:
  -----------
  [AggressiveInstCombine] Fix shared libraries build (#223756)

Broken by #223728 by depending upon a function in ProfileData. Add that
as a dependency to fix the build.


  Commit: 3cbae1632e6ca6f8436fcbc49d059cc924f883b0
      https://github.com/llvm/llvm-project/commit/3cbae1632e6ca6f8436fcbc49d059cc924f883b0
  Author: Kohei Yamaguchi <fix7211 at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
    A mlir/test/Dialect/SparseTensor/sparsifier_lower_affine.mlir

  Log Message:
  -----------
  [mlir][sparse] Lower affine before SCF to CF in sparsifier (#219860)

Fix the lowering order in the sparsifier pipeline by running
`convert-scf-to-cf` after `lower-affine`.

Previously, `convert-scf-to-cf` ran while Affine control-flow operations
could still be present. For example, lowering an `scf.if` nested inside
an `affine.for` introduces multiple blocks into the loop body, violating
`affine.for`'s single-block region requirement and causing verification
to fail.

Running `lower-affine` first converts Affine control flow to SCF. The
subsequent `convert-scf-to-cf` pass can then lower both the existing SCF
operations and those introduced by Affine lowering to CFG-based control
flow.

Fixes #217895


  Commit: 95bcf5d16a63e534e8ce0f039d8572734f87b5cd
      https://github.com/llvm/llvm-project/commit/95bcf5d16a63e534e8ce0f039d8572734f87b5cd
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M lldb/include/lldb/ValueObject/ValueObjectRegister.h
    M lldb/source/ValueObject/ValueObjectRegister.cpp

  Log Message:
  -----------
  [lldb] Compare registers by LLDB register number (#223704)

Fix `GetIndexOfChildWithName`/`GetChildMemberWithName` on `Windows
x86_64` (Release builds), where comparing registers by RegisterInfo
pointer identity could spuriously fail to find sp/rsp in the GPR set.

Compare by `eRegisterKindLLDB` number instead.

Failing bot: https://ci-external.swift.org/job/lldb-windows/job/main


  Commit: b2175ea5306fe59d8e82f8259d4d285ccd8644a3
      https://github.com/llvm/llvm-project/commit/b2175ea5306fe59d8e82f8259d4d285ccd8644a3
  Author: Aman Maurya <amanmaurya9209 at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/test/CIR/CodeGen/non-type-template-param.cpp

  Log Message:
  -----------
  [CIR] Support SubstNonTypeTemplateParmExpr for aggregates (#223603)

Lower `SubstNonTypeTemplateParmExpr` in `AggExprEmitter` by visiting its
replacement expression, matching classic Clang codegen (`CGExprAgg.cpp`)
and existing scalar (#146751), complex (#146755), and lvalue (#182920)
implementations.

The missing aggregate NTTP gap was analyzed with LLM assistance.

Fixes #223533


  Commit: b623a0c6d49f2c8e1031216ead5641c3bf57f1d1
      https://github.com/llvm/llvm-project/commit/b623a0c6d49f2c8e1031216ead5641c3bf57f1d1
  Author: Kunal Dubey <xakep8 at protonmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGen/compound_literal.c
    A clang/test/CIR/CodeGen/global-address-to-int.c

  Log Message:
  -----------
  [CIR] Support pointer-to-int global initializers (#220643)

This allows CIR to emit global initializers where a constant address is
cast to an integer.

This fixes compound literals like `unsigned long addr = (unsigned
long)(int[]){1, 2, 3}` and also handles global variable, array element
and function addresses cast to integers.

Fixes #216618


  Commit: 0c8394de73dc4111713674dc5608b43ab4e72b53
      https://github.com/llvm/llvm-project/commit/0c8394de73dc4111713674dc5608b43ab4e72b53
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M utils/bazel/MODULE.bazel
    M utils/bazel/MODULE.bazel.lock
    M utils/bazel/llvm-project-overlay/llvm/config.bzl

  Log Message:
  -----------
  [bazel] Use new rules_cc API to determine musl targeting (#223549)

This avoids requiring hermetic-llvm in the public BUILD file API.
Downstream users need to update to this version of rules_cc


  Commit: 73b9d5341de05b0b433c1c133104ab1b74ab6e13
      https://github.com/llvm/llvm-project/commit/73b9d5341de05b0b433c1c133104ab1b74ab6e13
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    A openmp/docs/CommandLineArgumentReference.md
    R openmp/docs/CommandLineArgumentReference.rst
    A openmp/docs/ReleaseNotes.md
    R openmp/docs/ReleaseNotes.rst
    A openmp/docs/SupportAndFAQ.md
    R openmp/docs/SupportAndFAQ.rst
    A openmp/docs/design/GPUGenericMode.md
    R openmp/docs/design/GPUGenericMode.rst
    A openmp/docs/design/GPUSPMDMode.md
    R openmp/docs/design/GPUSPMDMode.rst
    A openmp/docs/design/Offloading.md
    R openmp/docs/design/Offloading.rst
    A openmp/docs/design/Overview.md
    R openmp/docs/design/Overview.rst
    A openmp/docs/design/Runtimes.md
    R openmp/docs/design/Runtimes.rst
    A openmp/docs/index.md
    R openmp/docs/index.rst
    A openmp/docs/openacc/OpenMPExtensions.md
    R openmp/docs/openacc/OpenMPExtensions.rst
    A openmp/docs/openacc/Overview.md
    R openmp/docs/openacc/Overview.rst
    A openmp/docs/optimizations/OpenMPOpt.md
    R openmp/docs/optimizations/OpenMPOpt.rst
    A openmp/docs/optimizations/OpenMPUnawareOptimizations.md
    R openmp/docs/optimizations/OpenMPUnawareOptimizations.rst
    A openmp/docs/optimizations/Overview.md
    R openmp/docs/optimizations/Overview.rst
    A openmp/docs/remarks/OMP100.md
    R openmp/docs/remarks/OMP100.rst
    A openmp/docs/remarks/OMP101.md
    R openmp/docs/remarks/OMP101.rst
    A openmp/docs/remarks/OMP102.md
    R openmp/docs/remarks/OMP102.rst
    A openmp/docs/remarks/OMP110.md
    R openmp/docs/remarks/OMP110.rst
    A openmp/docs/remarks/OMP111.md
    R openmp/docs/remarks/OMP111.rst
    A openmp/docs/remarks/OMP112.md
    R openmp/docs/remarks/OMP112.rst
    A openmp/docs/remarks/OMP113.md
    R openmp/docs/remarks/OMP113.rst
    A openmp/docs/remarks/OMP120.md
    R openmp/docs/remarks/OMP120.rst
    A openmp/docs/remarks/OMP121.md
    R openmp/docs/remarks/OMP121.rst
    A openmp/docs/remarks/OMP130.md
    R openmp/docs/remarks/OMP130.rst
    A openmp/docs/remarks/OMP131.md
    R openmp/docs/remarks/OMP131.rst
    A openmp/docs/remarks/OMP132.md
    R openmp/docs/remarks/OMP132.rst
    A openmp/docs/remarks/OMP133.md
    R openmp/docs/remarks/OMP133.rst
    A openmp/docs/remarks/OMP140.md
    R openmp/docs/remarks/OMP140.rst
    A openmp/docs/remarks/OMP150.md
    R openmp/docs/remarks/OMP150.rst
    A openmp/docs/remarks/OMP160.md
    R openmp/docs/remarks/OMP160.rst
    A openmp/docs/remarks/OMP170.md
    R openmp/docs/remarks/OMP170.rst
    A openmp/docs/remarks/OMP180.md
    R openmp/docs/remarks/OMP180.rst
    A openmp/docs/remarks/OMP190.md
    R openmp/docs/remarks/OMP190.rst
    A openmp/docs/remarks/OptimizationRemarks.md
    R openmp/docs/remarks/OptimizationRemarks.rst

  Log Message:
  -----------
  [OpenMP][docs] Rename reStructuredText files to Markdown (#222191)

Tracking issue: #201242
See the [migration guide] for more information. 

[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This is the initial straight rename commit. It will probably break the
docs build, but it has to be a separate PR for blame preservation
purposes.

Validation:

- Confirmed this commit contains exactly 34 `.rst` to `.md` renames and
no content changes.
- The complete stacked migration is validated in the follow-up PR.


  Commit: d0e55509a1cdfec0802d8b9e254ca2456a04175c
      https://github.com/llvm/llvm-project/commit/d0e55509a1cdfec0802d8b9e254ca2456a04175c
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M openmp/docs/CommandLineArgumentReference.md
    M openmp/docs/README.txt
    M openmp/docs/ReleaseNotes.md
    M openmp/docs/SupportAndFAQ.md
    M openmp/docs/design/GPUGenericMode.md
    M openmp/docs/design/GPUSPMDMode.md
    M openmp/docs/design/Offloading.md
    M openmp/docs/design/Overview.md
    M openmp/docs/design/Runtimes.md
    M openmp/docs/index.md
    M openmp/docs/openacc/OpenMPExtensions.md
    M openmp/docs/openacc/Overview.md
    M openmp/docs/optimizations/OpenMPOpt.md
    M openmp/docs/optimizations/OpenMPUnawareOptimizations.md
    M openmp/docs/optimizations/Overview.md
    M openmp/docs/remarks/OMP100.md
    M openmp/docs/remarks/OMP101.md
    M openmp/docs/remarks/OMP102.md
    M openmp/docs/remarks/OMP110.md
    M openmp/docs/remarks/OMP111.md
    M openmp/docs/remarks/OMP112.md
    M openmp/docs/remarks/OMP113.md
    M openmp/docs/remarks/OMP120.md
    M openmp/docs/remarks/OMP121.md
    M openmp/docs/remarks/OMP130.md
    M openmp/docs/remarks/OMP131.md
    M openmp/docs/remarks/OMP132.md
    M openmp/docs/remarks/OMP133.md
    M openmp/docs/remarks/OMP140.md
    M openmp/docs/remarks/OMP150.md
    M openmp/docs/remarks/OMP160.md
    M openmp/docs/remarks/OMP170.md
    M openmp/docs/remarks/OMP180.md
    M openmp/docs/remarks/OMP190.md
    M openmp/docs/remarks/OptimizationRemarks.md

  Log Message:
  -----------
  [OpenMP][docs] Finish MyST migration for OpenMP docs (#222194)

This was prepared with rst2myst plus LLM-assisted cleanup. The main
manual intervention was porting CommandLineArgumentReference.(rst|md) to
the semantic [`option`
directive](https://www.sphinx-doc.org/en/master/usage/domains/standard.html#directive-option),
which causes some rendering differences.

Tracking issue: #201242
See the [migration guide] for more information. 

[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is a stacked PR based on #222191, which is a standalone commit that
renames *.rst -> *.md before this PR lands for history preservation
purposes.

Please spot check my work and approve if it looks good. You can use the
HTML links below to confirm it renders properly.

-----

Before/after validation links:
| Source file | Before HTML | After HTML |
| --- | --- | --- |
| `openmp/docs/CommandLineArgumentReference.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/CommandLineArgumentReference.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/CommandLineArgumentReference.html)
|
| `openmp/docs/ReleaseNotes.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/ReleaseNotes.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/ReleaseNotes.html)
|
| `openmp/docs/SupportAndFAQ.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/SupportAndFAQ.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/SupportAndFAQ.html)
|
| `openmp/docs/design/GPUGenericMode.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/design/GPUGenericMode.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/design/GPUGenericMode.html)
|
| `openmp/docs/design/GPUSPMDMode.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/design/GPUSPMDMode.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/design/GPUSPMDMode.html)
|
| `openmp/docs/design/Offloading.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/design/Offloading.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/design/Offloading.html)
|
| `openmp/docs/design/Overview.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/design/Overview.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/design/Overview.html)
|
| `openmp/docs/design/Runtimes.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/design/Runtimes.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/design/Runtimes.html)
|
| `openmp/docs/index.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/index.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/index.html)
|
| `openmp/docs/openacc/OpenMPExtensions.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/openacc/OpenMPExtensions.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/openacc/OpenMPExtensions.html)
|
| `openmp/docs/openacc/Overview.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/openacc/Overview.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/openacc/Overview.html)
|
| `openmp/docs/optimizations/OpenMPOpt.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/optimizations/OpenMPOpt.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/optimizations/OpenMPOpt.html)
|
| `openmp/docs/optimizations/OpenMPUnawareOptimizations.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/optimizations/OpenMPUnawareOptimizations.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/optimizations/OpenMPUnawareOptimizations.html)
|
| `openmp/docs/optimizations/Overview.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/optimizations/Overview.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/optimizations/Overview.html)
|
| `openmp/docs/remarks/OMP100.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP100.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP100.html)
|
| `openmp/docs/remarks/OMP101.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP101.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP101.html)
|
| `openmp/docs/remarks/OMP102.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP102.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP102.html)
|
| `openmp/docs/remarks/OMP110.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP110.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP110.html)
|
| `openmp/docs/remarks/OMP111.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP111.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP111.html)
|
| `openmp/docs/remarks/OMP112.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP112.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP112.html)
|
| `openmp/docs/remarks/OMP113.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP113.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP113.html)
|
| `openmp/docs/remarks/OMP120.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP120.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP120.html)
|
| `openmp/docs/remarks/OMP121.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP121.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP121.html)
|
| `openmp/docs/remarks/OMP130.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP130.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP130.html)
|
| `openmp/docs/remarks/OMP131.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP131.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP131.html)
|
| `openmp/docs/remarks/OMP132.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP132.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP132.html)
|
| `openmp/docs/remarks/OMP133.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP133.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP133.html)
|
| `openmp/docs/remarks/OMP140.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP140.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP140.html)
|
| `openmp/docs/remarks/OMP150.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP150.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP150.html)
|
| `openmp/docs/remarks/OMP160.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP160.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP160.html)
|
| `openmp/docs/remarks/OMP170.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP170.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP170.html)
|
| `openmp/docs/remarks/OMP180.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP180.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP180.html)
|
| `openmp/docs/remarks/OMP190.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OMP190.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OMP190.html)
|
| `openmp/docs/remarks/OptimizationRemarks.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/before/openmp/docs/remarks/OptimizationRemarks.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/after/openmp/docs/remarks/OptimizationRemarks.html)
|

---------

Co-authored-by: Michael Kruse <llvm-project at meinersbur.de>


  Commit: 3714d5062c1ab2cbb4469c30eaef89989e9bc8df
      https://github.com/llvm/llvm-project/commit/3714d5062c1ab2cbb4469c30eaef89989e9bc8df
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/struct-return-splat-gathered-scalars.ll

  Log Message:
  -----------
  [SLP]Fix insert point for struct-call extractvalue entries with multi-block scalars

Emit the vector extractvalue right after the vectorized call it depends
on, so it dominates all uses.

Fixes #223726

Reviewers: 

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


  Commit: 36de8b20fc6cb5edf4f0fe6e686c984e40bed35f
      https://github.com/llvm/llvm-project/commit/36de8b20fc6cb5edf4f0fe6e686c984e40bed35f
  Author: Matt <MattPD at users.noreply.github.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/recip-sqrt-estimate-illegal-scalar-types.ll
    A llvm/test/CodeGen/X86/recip-sqrt-estimate-illegal-types.ll

  Log Message:
  -----------
  [X86] Require legal result types for f32 estimates

The single-precision paths in `getRecipEstimate` and `getSqrtEstimate`
match a fixed set of scalar and vector f32 types, then check the
corresponding subtarget features. Those checks do not imply that the
result type is legal. Soft-float makes these result types illegal. Scalar
f32 is also illegal on a 32-bit SSE1 target without SSE2 or x87. The hooks
can then build an X86-specific estimate node with an illegal result type
before type legalization. Type legalization has no rule for that node, so
compilation fails.

Require a legal result type before entering the single-precision estimate
paths. The f16 paths in these hooks already require a legal type. After
this patch, the f32 paths match that behavior. The hooks return no estimate
for an illegal result type, so the original division or square root stays
in the DAG and follows its normal lowering. Estimate code generation for
legal result types is unchanged.

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

Assisted-by: Claude Opus 5, GPT-5.6 Sol.


  Commit: 8ef69555af1ca20dd5c933bcf88d6185e6558b35
      https://github.com/llvm/llvm-project/commit/8ef69555af1ca20dd5c933bcf88d6185e6558b35
  Author: Justin Stitt <justinstitt at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/docs/OverflowBehaviorTypes.md
    M clang/include/clang/AST/TypeBase.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/test/Sema/attr-overflow-behavior.cpp
    A clang/test/Sema/overflow-behavior-qualifiers.c
    M clang/test/SemaCXX/sugar-common-types.cpp

  Log Message:
  -----------
  [Clang] Keep qualifiers outside of OverflowBehaviorType nodes (#222190)

`__typeof_unqual__` wasn't stripping `const` off of an overflow behavior
type:

```c
  __typeof_unqual__(const __ob_trap int) x; // '__ob_trap const int'
```

The canonical type was always right, so `x` really is writable -- we
just printed it as const, which is the opposite of the truth.

`getOverflowBehaviorType()` hoisted qualifiers out for the canonical
type but stored the underlying type verbatim in the sugar node, so
`const __ob_trap int` became `OBT{const int}` with nothing qualified at
the `QualType` level. `getUnqualifiedType()` checks the canonical type
to decide there's something to strip, then strips it by desugaring one
step at a time. `OverflowBehaviorType` isn't sugar, so that walk
dead-ends on it and the qualifiers never come off.

So the rule is: a type node you can't desugar through shouldn't have a
canonical type with local qualifiers on it. Split the qualifiers off at
construction and put them back outside the node, which is where the
canonical already puts them.

Local qualifiers alone aren't enough here. `__ob_trap cint`, where
`cint` is a `typedef const int`, has the const in its canonical type but
not in its local qualifier set, and it's broken the same way.
`getSplitUnqualifiedType()` gets both. We lose the `cint` spelling in
that case but I think that's fine... that typedef is what was hiding the
qualifier in the first place.

While here, let `canPrefixQualifiers()` prefix an OBT so we print `const
__ob_trap int` instead of `__ob_trap int const`. That list is for types
that wrap the declarator, and an OBT just puts a keyword in front of an
integer like `_BitInt` and `_Atomic` do. We were already printing the
same type two different ways in attr-overflow-behavior.cpp, which is a
pretty good hint it was in the wrong list.

Note the new test checks the *printed* types. Since the canonical type
was never wrong, anything that only looks at canonical types passes
either way and doesn't actually test this.

Also spell out in the docs that an OBT is a type specifier and not a
qualifier.


Assisted-by: claude
Signed-off-by: Justin Stitt <justinstitt at google.com>


  Commit: 00323c9d8fc6101091dda1cf8c53c2a774b27fa3
      https://github.com/llvm/llvm-project/commit/00323c9d8fc6101091dda1cf8c53c2a774b27fa3
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/test/CIR/IR/invalid-try-catch.cir
    M clang/test/CIR/IR/try-catch.cir
    A clang/test/CIR/Transforms/eh-abi-lowering-eh-spec-nyi.cir
    A clang/test/CIR/Transforms/flatten-eh-spec-nyi.cir

  Log Message:
  -----------
  [CIR][EH] Add dialect elements for dynamic exception specification (#223503)

This change introduces the CIR dialect elements that will be needed to
implement dynamic exception specification handling. At this point
nothing generates any of these elements, and they are not handled in CFG
flattening or EH ABI lowering. Those will be implemented in follow-up
changes.

See clang/docs/CIR/CleanupAndEHDesign.md for the design of this feature.

Assisted-by: Cursor / various models


  Commit: bb08625cb147f07de93ff6ae933336d8c4b3b8e3
      https://github.com/llvm/llvm-project/commit/bb08625cb147f07de93ff6ae933336d8c4b3b8e3
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGen/arm-eabi.c
    M clang/test/Driver/eabi.c
    M flang/lib/Frontend/FrontendActions.cpp
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/Analysis/RuntimeLibcallInfo.h
    M llvm/include/llvm/CodeGen/CommandFlags.h
    M llvm/include/llvm/IR/RuntimeLibcalls.h
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/Analysis/RuntimeLibcallInfo.cpp
    M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/IR/RuntimeLibcalls.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Passes/RunCodeGen.cpp
    M llvm/lib/Target/ARM/ARMTargetMachine.cpp
    M llvm/test/CodeGen/ARM/arm-eabi.ll
    M llvm/test/CodeGen/ARM/float-helpers.ll
    M llvm/test/TableGen/RuntimeLibcallEmitter-calling-conv.td
    M llvm/test/TableGen/RuntimeLibcallEmitter-library-dispatch.td
    M llvm/test/TableGen/RuntimeLibcallEmitter-library-grouping.td
    M llvm/test/TableGen/RuntimeLibcallEmitter-library-name-merge.td
    M llvm/test/TableGen/RuntimeLibcallEmitter-library-ref.td
    M llvm/test/TableGen/RuntimeLibcallEmitter.td
    M llvm/test/Transforms/Util/DeclareRuntimeLibcalls/codegen-opt-flags.ll
    M llvm/tools/llc/lib/NewPMDriver.cpp
    M llvm/tools/llc/lib/llcdriver.cpp
    M llvm/tools/opt/NewPMDriver.cpp
    M llvm/tools/opt/optdriver.cpp
    M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp

  Log Message:
  -----------
  CodeGen: Remove TargetOptions::EABIVersion (#222672)

The field's only effect was gating the __aeabi_mem*[4|8] libcalls via
the IsEABI4/IsEABI5 predicates. That distinction is derivable from the
triple's environment, so replace the two predicates with a single
triple-derived IsEABIVersion and delete the field.

The clang -meabi option and clang::TargetOptions::EABIVersion are
retained (now codegen-inert); the llc/opt -meabi flag is removed. -meabi
now only takes effect on triples with a bare-EABI/GNU environment pair
(arm-none-eabi <-> gnueabi), which is the only case with a triple
representation.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 88cab6bfc4e0a3829fdedeabcb21e977a1cf3e98
      https://github.com/llvm/llvm-project/commit/88cab6bfc4e0a3829fdedeabcb21e977a1cf3e98
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    A llvm/test/TableGen/RuntimeLibcallEmitter-variant-beats-exclusion.td
    M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp

  Log Message:
  -----------
  RuntimeLibcallsEmitter: Let a consumer's own library variant beat its exclusion (#221953)

A target can pull a shared library via LibraryRef<Lib, [impls]> to drop
some impls, then re-add its own versions through a same-name library variant
guarded on that target. Previously the exclusion's setUnavailable calls were
emitted at the end of setAvailableLibFuncs_<name>, after every variant, so they
clobbered the target's own re-adds.

Defer emitting a variant until after the exclusions when it re-adds an
impl its own consumer excludes (same predicates), so the target's re-add wins
while the exclusion still suppresses every other variant's contribution.

This is yet unused infrastructure for future changes.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>


  Commit: 5fbcd6e37671e5c6d950494a6bb434e27d28f840
      https://github.com/llvm/llvm-project/commit/5fbcd6e37671e5c6d950494a6bb434e27d28f840
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/cmake/config-ix.cmake
    M llvm/include/llvm/Config/config.h.cmake
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Support/PrettyStackTrace.cpp
    M llvm/lib/Support/Unix/Path.inc
    M llvm/lib/Support/Valgrind.cpp
    M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
    M utils/bazel/llvm-project-overlay/llvm/config.bzl
    M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
    M utils/bazel/llvm_configs/config.h.cmake

  Log Message:
  -----------
  [CMake] Prune dead and unnecessary try_compiles from config.h (#223765)

This relands the change directly on `main` after #223600 was
accidentally
merged into its stacked base branch. This reuses the approvals from
@aengelke and @MaskRay on #223600.

Several config-ix checks either have no consumer or can be performed
directly by the source that needs the feature. Remove six compiler
invocations from a typical Linux configure:

* HAVE_PTHREAD_MUTEX_LOCK has been unused since LLVM switched its mutex
implementation to std::recursive_mutex in 2019.
* The Linux magic-header results have never been propagated to config.h,
so CMake builds already use Path.inc's fallback constants.
* FE_ALL_EXCEPT and FE_INEXACT can be tested directly after including
cfenv.
* The Valgrind and CrashReporter headers can be detected with
__has_include in their only consuming translation units.

Also remove the obsolete definitions from the GN and Bazel
configurations.

In a fresh minimal LLVM configure, CMake profiling attributed 2067.1 ms
to 45 config-ix probes before this change and 1846.9 ms to 39 probes
after it.

Assisted-by: Codex


  Commit: 2323ab283b13decfdb9edb24745edcf8951913fb
      https://github.com/llvm/llvm-project/commit/2323ab283b13decfdb9edb24745edcf8951913fb
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/utils/update_test_checks.py

  Log Message:
  -----------
  [UTC] Strip only standalone positional %s in update_test_checks.py (#221153)

Previously, update_test_checks.py used tool_cmd_args.replace("%s", "")
to strip the input file when passing the IR via stdin. However, this
blindly removed "%s" from any option argument, leaving an empty value
(e.g., -lowertypetests-read-summary=).

Update the argument stripping to only remove standalone positional
"< %s" or "%s", preserving option arguments with "%s" values so they can
be expanded via common substitutions.

This enables update_test_checks.py to work for tests such as
llvm/test/Transforms/LowerTypeTests/cfi-jumptable-hotness-summary.ll,
which passes -lowertypetests-read-summary=%s on the RUN line.

Assisted-by: Gemini


  Commit: a3d2f4b4a0aee08f26aa218e4e4d9dae1afa1d7a
      https://github.com/llvm/llvm-project/commit/a3d2f4b4a0aee08f26aa218e4e4d9dae1afa1d7a
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/PadTilingInterface.cpp
    A mlir/test/Dialect/Linalg/pad-neutral.mlir

  Log Message:
  -----------
  [[mlir][linalg] Infer reduction-neutral padding values in rewriteAsPaddedOp (#216517)

**Problem**: 
with no explicit options.paddingValues, rewriteAsPaddedOp padded every
operand with zero — silently corrupting reductions (a padded
maximumf/mulf element gets combined).

**Change**: 
Added a new public linalg::inferPaddingValues(builder, toPad) to pick a
semantics-preserving value per operand:
  - no reduction dim → zero;
  - contraction → zero (0 annihilates through the multiply);
- other reductions → the combiner's neutral (-inf for maximumf, 1 for
mulf, …), found via matchReduction so the real accumulator combiner is
used.

rewriteAsPaddedOp calls it when options.paddingValues is empty. If no
value can be inferred, it returns failure() with the error "could not
infer a padding value"; the caller is then expected to determine the
value and supply it explicitly through options.paddingValues.
  
  assited-by-claude

---------

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


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

  Changed paths:
    M flang-rt/lib/cuda/allocatable.cpp
    M flang-rt/lib/cuda/allocator.cpp
    M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
    M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang/include/flang/Optimizer/Builder/Runtime/CUDA/Descriptor.h
    M flang/include/flang/Optimizer/Builder/Runtime/CUDA/Support.h
    M flang/include/flang/Runtime/CUDA/allocatable.h
    M flang/include/flang/Runtime/CUDA/descriptor.h
    M flang/lib/Optimizer/Builder/Runtime/CUDA/Descriptor.cpp
    M flang/lib/Optimizer/Builder/Runtime/CUDA/Support.cpp

  Log Message:
  -----------
  [flang][cuda][NFC] Move CUFDeviceIsActive function to the right place (#223453)

The definition and declaration were done in different files (descriptor
and allocator). Move all to allocatable as this check is used for the
automatic deallocation.


  Commit: b6912258891caefffbf15edb1bceff3724b75af5
      https://github.com/llvm/llvm-project/commit/b6912258891caefffbf15edb1bceff3724b75af5
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    A clang/test/CodeGen/WebAssembly/exception-model-flag.c
    M clang/test/CodeGen/exception-model-flag.c

  Log Message:
  -----------
  clang: Fix exception model flag tests if webassembly isn't build (#223770)

The wasm and emscripten RUN lines require the WebAssembly backend due to
the use of -mllvm -wasm-enable-eh, until that flag is fully replaced with
the new exception model flag.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: a2239cbf89c9c8187a6deb83423eafad44e4a6d1
      https://github.com/llvm/llvm-project/commit/a2239cbf89c9c8187a6deb83423eafad44e4a6d1
  Author: Owen Anderson <resistor at mac.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    A llvm/test/CodeGen/RISCV/cheri-global-cap-init.ll

  Log Message:
  -----------
  [CHERI][RISCV][AsmPrinter] Use pointer index size rather than pointer size in AsmPrinter constant lowering. (#220100)

This prevents a crash due to APInt width mismatches during
accumulateConstantOffset for CHERI targets.


  Commit: 57186afd172250f0c1695b809505947382f227cd
      https://github.com/llvm/llvm-project/commit/57186afd172250f0c1695b809505947382f227cd
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/PassManager.h
    M llvm/lib/IR/PassManager.cpp

  Log Message:
  -----------
  [NewPM] Add helper function to skip for opt-bisect

With the introduction of CodeGen passes to the NewPM infrastructure, we
get the concept of required passes that perform optimizations and want
to skip them when running under opt bisect. This occurs for passes like
SelectionDAG and StackColoring. Add a helper function to make it easy to
query, although make it specific to opt bisect unlike the LegacyPM
skipFunction. A helper function is slightly more convenient (i.e., no
need to forward the pass name explicitly).

Reviewers: nikic, arsenm, aeubanks

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


  Commit: 5bfcaeb68eb16e72128a69cdf0c671187a6afaa5
      https://github.com/llvm/llvm-project/commit/5bfcaeb68eb16e72128a69cdf0c671187a6afaa5
  Author: Hongyu Chen <xxs_chy at outlook.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/lib/Headers/riscv_packed_simd.h
    M clang/test/CodeGen/RISCV/rvp-intrinsics.c
    A clang/test/Sema/riscv-pst-pointer-types.c
    M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c

  Log Message:
  -----------
  [RISCV][P-ext] Support Packed Store (#223619)

See also
https://github.com/riscv/riscv-p-spec/blob/master/P-ext-intrinsics.adoc#packed-store.


  Commit: bb189b9bea4469d7f950745fd8b8c65c5acf21c9
      https://github.com/llvm/llvm-project/commit/bb189b9bea4469d7f950745fd8b8c65c5acf21c9
  Author: Martin Storsjö <martin at martin.st>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M lldb/source/API/SBFile.cpp

  Log Message:
  -----------
  [lldb] [Windows] Add a missing include. NFC. (#223727)

_open_osfhandle is defined in io.h, which wasn't explicitly included
before.

This built fine in practice with both WinSDK and recent mingw-w64
headers, but failed with older versions of mingw-w64 (older than August
2026).

Also change an accidental #if into #ifdef.

This fixes regressions from 1ca6698be7708121f987d0acf896c7dc4cf63a51 and
ba1687b72476eb368641b9a9f565a38cf41b7393.


  Commit: 68fab9c6089f2e64343e8408147eb01c32ba6d3f
      https://github.com/llvm/llvm-project/commit/68fab9c6089f2e64343e8408147eb01c32ba6d3f
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md

  Log Message:
  -----------
  [clang][ReleaseNotes] document -fstack-clash-protection for Android (#223786)

Link: #209279


  Commit: 03b0c4320aafa7e930f1f7aed392af7648682ea6
      https://github.com/llvm/llvm-project/commit/03b0c4320aafa7e930f1f7aed392af7648682ea6
  Author: Christian Sigg <csigg at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
    M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
    M clang/test/CodeGenCUDA/atomic-options.hip
    M clang/test/CodeGenHIP/amdgpu-flat-atomic-fadd.hip
    M clang/test/CodeGenHIP/amdgpu-global-atomic-fadd.hip
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx942.cl
    M clang/test/OpenMP/amdgpu-unsafe-fp-atomics.cpp
    M flang/test/Driver/atomic-control-options.f90
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/LangRef.md
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/IR/FixedMetadataKinds.def
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/test/Bitcode/amdgcn-atomic.ll
    M llvm/test/Bitcode/amdgpu-unsafe-fp-atomics-upgrade.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/a-v-flat-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/a-v-global-atomicrmw.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd-wrong-subtarget.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomics-fp-wrong-subtarget.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.gfx908.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
    M llvm/test/CodeGen/AMDGPU/shl_add_ptr_global.ll
    M llvm/test/CodeGen/SPIRV/amdgcnspirv-atomic-metadata-decoration.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-mmra.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization-preserve-name.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-flat-noalias-addrspace.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/global-atomicrmw-fadd.ll
    M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-atomic-update-control-options.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [IR] Generalize !amdgpu.ignore.denormal.mode into !atomic.ignore.denormal.mode (#217585)

The !amdgpu.ignore.denormal.mode metadata tells the backend that an
atomicrmw fadd need not honor the function's denormal mode, so a native
atomic instruction whose denormal behavior is fixed in hardware may be
used instead of a CAS loop. Nothing about that is AMDGPU specific: NVPTX
has exactly the same problem with atom.add, whose FTZ behavior depends
on
the address space and cannot be controlled.

Promote it to a target independent fixed metadata kind,
!atomic.ignore.denormal.mode, and switch the AMDGPU, SPIR-V and OpenMP
producers and consumers over to it. Document it in LangRef, and point
AMDGPUUsage at that description rather than duplicating it.

Existing IR keeps working: AutoUpgrade renames the metadata on atomicrmw
instructions when parsing textual IR and when materializing bitcode. The
upgrade is deliberately scoped to atomicrmw rather than being applied to
every attachment of that name, since that is the only place the metadata
was ever meaningful. Because bitcode can be materialized one function at
a time, the bitcode side hooks into BitcodeReader::materialize() rather
than a module-wide pass, which is the path clang's bitcode linking
takes.

This is not intended to change behavior for any existing target.

Co-authored-by: Artem Belevich <tra at google.com>


  Commit: 8301c241d7fa0c0d737fe3a01a1213da8687f90b
      https://github.com/llvm/llvm-project/commit/8301c241d7fa0c0d737fe3a01a1213da8687f90b
  Author: Zaara Syeda <syzaara at ca.ibm.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/test/Driver/flang-f-opts.f90

  Log Message:
  -----------
  [Flang] Keep -fkeep-inline-functions as an ignored option (#223733)

55221f7 removed the warning check for -fkeep-inline-functions and
-fno-keep-inline-functions from flang-f-opts.f90 after the test started
failing when the option was implemented for Clang in 28efe19.

The options are currently only supported by Clang, so keep
-fkeep-inline-functions and -fno-keep-inline-functions as unsupported
options for Flang and emit the appropriate warnings.


  Commit: c9f6b2e48b9c021d44cdfd70b49ce6abb2fcbd26
      https://github.com/llvm/llvm-project/commit/c9f6b2e48b9c021d44cdfd70b49ce6abb2fcbd26
  Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    A flang/test/Lower/OpenMP/mismatched-bound-types.f90

  Log Message:
  -----------
  [flang][test][NFC] Add OpenMP test for mismatched loop bound types (#221097)

Adds a regression test that lowering succeeds when an OpenMP loop mixes
bound types: the loop trip count comes from an integer(kind=INT64)
module
variable while the lower bound and step are i32 literals, so both are
converted to i64 before being passed through host_eval.


  Commit: 748bb124441967238cc4b0190d617cd2c8ec9af3
      https://github.com/llvm/llvm-project/commit/748bb124441967238cc4b0190d617cd2c8ec9af3
  Author: Eric Ross <zerico2005 at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Support/KnownFPClass.cpp
    M llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-trig-preop.ll
    M llvm/test/Transforms/Attributor/nofpclass-fadd-fsub.ll
    M llvm/test/Transforms/Attributor/nofpclass-fdiv.ll
    M llvm/test/Transforms/Attributor/nofpclass-fma.ll
    M llvm/test/Transforms/Attributor/nofpclass-fmul.ll
    M llvm/test/Transforms/Attributor/nofpclass-nan-fmul.ll
    M llvm/unittests/Analysis/ValueTrackingTest.cpp

  Log Message:
  -----------
  [KnownFPClass] Propagate non-`sNaN` for `fadd`/`fsub`, `fmul`, `fdiv`, and `fma` (#221876)

`fadd`, `fsub`, `fmul`, `fdiv`, and `fma` can only return `sNaN` if at
least one of their inputs are `sNaN`. This means that we can rule out
`sNaN` from the result if all of the arguments are known to never be
`sNaN`.

`sNaN` propagation for `frem` is handled in this PR:
https://github.com/llvm/llvm-project/pull/219303


  Commit: 1cc3b19d5500070b42ba5f0f1d51f00f64d0be15
      https://github.com/llvm/llvm-project/commit/1cc3b19d5500070b42ba5f0f1d51f00f64d0be15
  Author: Eric Ross <zerico2005 at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    M llvm/lib/Support/KnownFPClass.cpp
    M llvm/test/Transforms/Attributor/nofpclass-atan2.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-atan2.ll
    M llvm/unittests/CodeGen/GlobalISel/KnownFPClassTest.cpp

  Log Message:
  -----------
  [KnownFPClass] Add sign preserving deductions to `atan2(y, x)` (#223176)

`atan2(y, x)` should return the same sign as `y` (up to the denormal
mode):
- If `y >= +0.0`, then `atan2(y, x) >= +0.0`
- If `y <= -0.0`, then `atan2(y, x) <= -0.0`

AI Disclosure:
I used ChatGPT Codex (5.6 sol) to help write the tests.


  Commit: 4cbd7f8300cab44d8847ab2b7db7ef2caa5b2942
      https://github.com/llvm/llvm-project/commit/4cbd7f8300cab44d8847ab2b7db7ef2caa5b2942
  Author: Alexander Viand <alexander.viand at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Conversion/MathToEmitC/MathToEmitC.h
    M mlir/lib/Conversion/ConvertToEmitC/CMakeLists.txt
    M mlir/lib/Conversion/MathToEmitC/CMakeLists.txt
    M mlir/lib/Conversion/MathToEmitC/MathToEmitC.cpp
    M mlir/lib/Dialect/Math/IR/MathDialect.cpp
    M mlir/lib/RegisterAllExtensions.cpp
    M mlir/test/Conversion/MathToEmitC/math-to-emitc.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][emitc] Add a ConvertToEmitCPatternInterface for the math dialect (#223666)

MathToEmitC wasn't registered for `--convert-to-emitc`. This registers
an interface matching the other *ToEmitC interfaces.


  Commit: fcc6118dc91ba05a1ad30b0f406e42a8eb62f859
      https://github.com/llvm/llvm-project/commit/fcc6118dc91ba05a1ad30b0f406e42a8eb62f859
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/include/clang/CodeGenUtils/CodeGenUtils.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGenUtils/CodeGenUtils.cpp
    A clang/test/CIR/CodeGen/avx512-error.c
    A clang/test/CIR/CodeGen/target-builtin-error-2.c
    A clang/test/CIR/CodeGen/target-builtin-error-3.c
    A clang/test/CIR/CodeGen/target-builtin-error.c
    A clang/test/CIR/CodeGen/target-builtin-noerror.c
    A clang/test/CIR/CodeGen/target-features-error-2.c
    A clang/test/CIR/CodeGen/target-features-error-3.c
    A clang/test/CIR/CodeGen/target-features-error-4.c
    A clang/test/CIR/CodeGen/target-features-error-5.c
    A clang/test/CIR/CodeGen/target-features-error.c
    A clang/test/CIR/CodeGen/target-features-no-error-2.c
    A clang/test/CIR/CodeGen/target-features-no-error.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vlvbmi2-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/sqrt-builtins.c
    M clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp

  Log Message:
  -----------
  [CIR][CodeGen] Implement target-features checking(CodeGenUtils!) (#223056)

This DOES move checking functions out of CodeGen and into CodeGenUtils
so both can use it.

This is a diagnostic for builtins/etc that is built in to classic
codegen. We have to implement it, because otherwise autoconfig thinks
that we support AVX without a flag, and thus causes us to fail builds
later on that now expect __AVX__/etc to be defined without enabling
them.


  Commit: 37248da89922524e04ed72bd8389179d9b99cbfb
      https://github.com/llvm/llvm-project/commit/37248da89922524e04ed72bd8389179d9b99cbfb
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/CodeGen/ABIInfo.cpp
    A clang/test/CodeGen/AArch64/matrix-hfa.c
    A clang/test/CodeGen/ARM/matrix-hfa.c
    A clang/test/CodeGen/PowerPC/matrix-hfa.c
    A clang/test/CodeGen/X86/matrix-vectorcall.c

  Log Message:
  -----------
  [Clang][ABI] Classify floating-point matrix types as homogeneous aggregates (#222429)

The `ABIInfo::isHomogeneousAggregate()` function did not have explicit
handling for `ConstantMatrixType` and so, by default, these types were
rejected as potential homogeneous aggregates.

This change adds handling for `ConstantMatrixType` and classifies such
matrix types depending on whether they otherwise meet the criteria.

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

Assisted-by: Cursor / Grok 4.6


  Commit: 247db2420326c288690592088596db9435098261
      https://github.com/llvm/llvm-project/commit/247db2420326c288690592088596db9435098261
  Author: Justin Stitt <justinstitt at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/docs/OverflowBehaviorTypes.md
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaType.cpp
    A clang/test/Sema/overflow-behavior-atomic.c

  Log Message:
  -----------
  [Clang] Reject overflow behavior types on _Atomic (#222179)

atomic read-modify-write operations aren't instrumented for overflow. `counter++` on an `_Atomic` object lowers to a single `atomicrmw`, and this is true for plain atomic types under `-fsanitize=signed-integer-overflow` too.

That's a problem for `__ob_trap`, which is supposed to be checked no matter what the global flags say:

```c
  typedef int __ob_trap trapping_int;
  _Atomic trapping_int counter;
  int x = counter + 1; // checked
  counter++;           // not checked
```

A guarantee that only holds for some expressions is worse than none, so reject the combination outriht. Let's also reject `__ob_wrap` too so the rule doesn't depend on the behavior kind... wrap has minimal use here anyways.

Applying an OBT specifier over an atomic type was already an error, though it unhelpfully reported `_Atomic(int)` as a non-integer type even though it is. Applying `_Atomic` over an existing OBT was accepted, which is where the unchecked read-modify-write came from... this was a bug that is now fixed because we are no longer trying to apply OBT on top of `_Atomic`. This is all made more clear by better diagnostics too :)

We can relax this later if someone needs it. I think instrumenting checked atomic rmws would mean lowering to a cmpxchg/CAS loop.

Assisted-by: claude
Signed-off-by: Justin Stitt <justinstitt at google.com>


  Commit: e847bd0f770f36a457c8ccd38aa171980ad25dd7
      https://github.com/llvm/llvm-project/commit/e847bd0f770f36a457c8ccd38aa171980ad25dd7
  Author: lntue <lntue at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/off64_t.h
    M libc/include/CMakeLists.txt
    M libc/include/fcntl.yaml
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    M libc/src/__support/OSUtil/linux/syscall_wrappers/posix_fadvise.h
    M libc/src/fcntl/CMakeLists.txt
    M libc/src/fcntl/linux/CMakeLists.txt
    A libc/src/fcntl/linux/posix_fadvise64.cpp
    A libc/src/fcntl/posix_fadvise64.h
    M libc/test/src/fcntl/CMakeLists.txt
    A libc/test/src/fcntl/posix_fadvise64_test.cpp
    M libc/test/src/fcntl/posix_fadvise_test.cpp

  Log Message:
  -----------
  [libc] Implement posix_fadvise64. (#223294)


  Commit: 61222a694c948b667ca8be4acd79e8594f51bb82
      https://github.com/llvm/llvm-project/commit/61222a694c948b667ca8be4acd79e8594f51bb82
  Author: PiJoules <leonardchan at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp

  Log Message:
  -----------
  [RelLookupTableConverter][NFC] Fix typo GlovalVarOp -> GlobalVarOp (#223555)

Fixes the misspelling of GlovalVarOp with a 'v' in
shouldConvertToRelLookupTable.


  Commit: a84250b63d2a731da76a25e091bb9c5374651625
      https://github.com/llvm/llvm-project/commit/a84250b63d2a731da76a25e091bb9c5374651625
  Author: Akshay K <iit.akshay at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M llvm/include/llvm/ABI/FunctionInfo.h
    M llvm/unittests/ABI/CMakeLists.txt
    A llvm/unittests/ABI/FunctionInfoTest.cpp
    M llvm/utils/gn/secondary/llvm/unittests/ABI/BUILD.gn

  Log Message:
  -----------
  [LLVMABI] Add CanBeFlattened to abi::ArgInfo (#220558)

Mirror `clang::CodeGen::ABIArgInfo::CanBeFlattened` on `abi::ArgInfo` so
a classifier can keep a Direct record coercion in one piece, as
AAPCS-VFP homogeneous aggregates, AMDGPU direct aggregates and x86
vectorcall HVAs require. The bit defaults to true, so existing
classifiers are unchanged. It is exposed through `getCanBeFlattened()`
and a chainable `setCanBeFlattened()`, both Direct-only like the classic
accessor.

The MLIR `ArgClassification::canFlatten` and the CIR rewriter already
honour the flag; the CIR bridge will read the new bit with the first
classifier that clears it.


  Commit: e270ee55cce78c61bda92d78b69869a53d1f36f7
      https://github.com/llvm/llvm-project/commit/e270ee55cce78c61bda92d78b69869a53d1f36f7
  Author: cui fliter <imcusg at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M lldb/tools/lldb-dap/RunInTerminal.cpp
    M lldb/unittests/DAP/CMakeLists.txt
    A lldb/unittests/DAP/RunInTerminalTest.cpp

  Log Message:
  -----------
  [lldb-dap] Fix runInTerminal error message serialization (#221504)

`RunInTerminalMessageError::ToJSON()` serializes the error message using
the `"value"` field, while `ParseJSONMessage()` expects the `"error"`
field.

When the runInTerminal launcher fails, the debug adapter cannot
deserialize the launcher error and reports an `Incorrect JSON message`
error instead of preserving the original diagnostic.

This patch makes the serialized field name match the parser and adds a
round-trip test covering launcher error propagation.

Signed-off-by: cuishuang <imcusg at gmail.com>


  Commit: 919f058fe8d4edfe9806b1f2a2cf553f93f60182
      https://github.com/llvm/llvm-project/commit/919f058fe8d4edfe9806b1f2a2cf553f93f60182
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/bindings/python/.git_archival.txt

  Log Message:
  -----------
  [clang][python] Make .git_archival.txt deterministic. (#223362)

Without an explicit `abbrev` option, `$Format:%(describe:...)` uses
Git's dynamic object abbreviation length (`find_unique_abbrev`). In a
large, rapidly growing repository like `llvm-project`, new commits can
potentially collide with existing short-SHA prefixes, causing GitHub's
`git archive` servers to emit longer short-SHAs over time for historical
commits. This mutates `clang/bindings/python/.git_archival.txt` inside
GitHub's dynamically generated `.tar.gz`/`.zip` source archives,
breaking downstream builds (such as OpenXLA/Bazel) that verify archive
SHA-256 checksums.
Specify `abbrev=40` so `describe-name` always uses the full 40-character
commit hash. `hatch-vcs` slices the parsed node ID to 10 characters when
formatting versions, so the resulting Python package version is
unchanged.


  Commit: 1d84c1b18df8c49484e5bbfa267a63e350e573de
      https://github.com/llvm/llvm-project/commit/1d84c1b18df8c49484e5bbfa267a63e350e573de
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-keep-drop.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-satd.ll

  Log Message:
  -----------
  [SLP][NFC]Add extra tests with missed vectorization, NFC



Reviewers: 

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


  Commit: 7800bec8a155c3f88518b25fa4241320721911b0
      https://github.com/llvm/llvm-project/commit/7800bec8a155c3f88518b25fa4241320721911b0
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp

  Log Message:
  -----------
  [SandboxVec][SchedulerTest][NFC] Fix unused variable warning (#223751)


  Commit: 404d35af4d588e03941c8fe524f881749059edcb
      https://github.com/llvm/llvm-project/commit/404d35af4d588e03941c8fe524f881749059edcb
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [Github] Bump CI containers to LLVM 23.1.1 (#223775)

This means we no longer have -Wunused-template enabled by default, for
which the LLVM tree is still not clean.


  Commit: 60dd6268bcbcb36256526273dfea4145d68cbedd
      https://github.com/llvm/llvm-project/commit/60dd6268bcbcb36256526273dfea4145d68cbedd
  Author: Andre Sun <andsun9999 at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/FormatTestMacroExpansion.cpp

  Log Message:
  -----------
  [clang-format] Fix crash on adjacent configured macro calls (#221352)

`parseMacroCall()` used `nextToken()` to consume the end of a configured
macro call, which also processed the following token. For adjacent macro
calls, this could expand the second call first and leave macro
reconstruction state out of order, causing a crash when the second
expansion starts with a comment.

This commit changes `parseMacroCall()` to consume the last token without
processing the following token, preserving source-order expansion. It
also prevents trailing comments from becoming part of the reconstructed
macro call.

Fixes #190721

Assisted-by: DeepSeek Flash v4


  Commit: 712196951e77eea330269d3c2267c571e07f4577
      https://github.com/llvm/llvm-project/commit/712196951e77eea330269d3c2267c571e07f4577
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    R flang/test/Lower/OpenMP/mismatched-bound-types.f90

  Log Message:
  -----------
  Revert "[flang][test][NFC] Add OpenMP test for mismatched loop bound types" (#223813)

Reverts llvm/llvm-project#221097

This fails buildbots
https://lab.llvm.org/buildbot/#/builders/80/builds/24748 and precommit
CI.

@doru1004 please look at it and remand when fixed.


  Commit: 4f4110d0be5601eb6c62e18110009cddb0573051
      https://github.com/llvm/llvm-project/commit/4f4110d0be5601eb6c62e18110009cddb0573051
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
    M mlir/test/Conversion/XeVMToLLVM/legalize_large_vector.mlir
    A mlir/test/Conversion/XeVMToLLVM/mxfp_scale_binary_hoist.mlir

  Log Message:
  -----------
  [MLIR][XeVM] Hoist contiguous-slice shuffles through n-ary elementwise ops (#222452)

XeGPU expresses vector operands in their logical element type, so
per-lane compute chains can end up wider than the SPIR-V backend can
legalize as a single operand. HandleVectorExtractPattern already narrows
such chains by hoisting a contiguous-slice shufflevector upward through
unary element-wise ops (fpext/fptrunc/bitcast), merging shuffle chains,
and folding into smaller loads. But it stops at n-ary ops, so a chain
like

%0 = llvm.fdiv %a, %b : vector<32xf32> // wide, binary
%1 = llvm.shufflevector %0, %0 [0..15] : vector<32xf32> // legal 16-wide
slice

keeps a wide vector<32xf32> compute that the backend rejects.

This extends the pattern to hoist a contiguous slice through n-ary
element-wise ops as well: slice each same-length vector operand with the
same mask and re-create the op at the narrow width. The freshly created
operand slices keep hoisting upward (merging, or folding into loads)
until they reach operands that are already legal width, so the whole
compute chain collapses to the slice width - with no target-specific
width limit, since the width is inherited from the slice.
Length-changing and packed-payload ops (e.g. bitcast, truncf) are left
untouched.


  Commit: 7a75731966966c175d01204fb88ffd4c236a4f35
      https://github.com/llvm/llvm-project/commit/7a75731966966c175d01204fb88ffd4c236a4f35
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    A utils/bazel/tools/check_bazel_inputs.py

  Log Message:
  -----------
  [bazel] Add script for finding files not in the graph (#220343)

This is useful to make sure that globs cover all files in a given
subdirectory. Right now this doesn't cover many directories because we
don't have tons of tests in bazel but if we eventually add those we can
more easily spot ones we miss with this script.

Assisted by: codex


  Commit: cf09a7688ec47cc30c36381834e1c99fe34d2e20
      https://github.com/llvm/llvm-project/commit/cf09a7688ec47cc30c36381834e1c99fe34d2e20
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 4f4110d (#223824)

This fixes 4f4110d0be5601eb6c62e18110009cddb0573051 (#222452).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=4f4110d0be5601eb6c62e18110009cddb0573051

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


  Commit: 2f852016addf27fd9eb83ff9faba66633b0fafe8
      https://github.com/llvm/llvm-project/commit/2f852016addf27fd9eb83ff9faba66633b0fafe8
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/SPIRV/hlsl-resources/unbounded-struct-arr.ll

  Log Message:
  -----------
  [SPIRV] Emit RuntimeDescriptorArrayEXT capability for all unbounded array types (#222819)

Previously, the `RuntimeDescriptorArrayEXT` capability was emitted only
for image descriptor arrays. This change emits the capability for the
shader whenever resource array has `ArraySize == 0`.

This covers all supported runtime descriptor array types, including
images, structured buffers, samplers, and counter descriptor arrays.
Emitting the capability for these arrays is necessary to support dynamic
resources in SPIR-V.

Assisted by GPT-5.6 Sol.


  Commit: 320bc620c46b0fd49a9976e499cd4252d78297b8
      https://github.com/llvm/llvm-project/commit/320bc620c46b0fd49a9976e499cd4252d78297b8
  Author: hidekisaito <hidekido at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.a16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.a16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.powi.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
    M llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float-fp8-hw.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps.ll
    M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps_nnan.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
    M llvm/test/CodeGen/AMDGPU/dual-source-blend-export.ll
    M llvm/test/CodeGen/AMDGPU/fabs.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/fmax3-maximumnum.ll
    M llvm/test/CodeGen/AMDGPU/fmax_legacy.f16.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.ll
    M llvm/test/CodeGen/AMDGPU/fmin3-minimumnum.ll
    M llvm/test/CodeGen/AMDGPU/fmin_legacy.f16.ll
    M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
    M llvm/test/CodeGen/AMDGPU/fneg.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
    M llvm/test/CodeGen/AMDGPU/fpow.ll
    M llvm/test/CodeGen/AMDGPU/freeze-binary.ll
    M llvm/test/CodeGen/AMDGPU/frem.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/i1-to-bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
    M llvm/test/CodeGen/AMDGPU/llvm.powi.ll
    M llvm/test/CodeGen/AMDGPU/llvm.round.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
    M llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
    M llvm/test/CodeGen/AMDGPU/repeated-divisor.ll
    M llvm/test/CodeGen/AMDGPU/scratch-simple.ll
    M llvm/test/CodeGen/AMDGPU/select.f16.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-fmax.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-fmaximum.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-fmin.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-fminimum.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
    M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
    M llvm/test/CodeGen/AMDGPU/vopd-combine.mir

  Log Message:
  -----------
  [AMDGPU] Fix for GFX11 VOPD interlock hazard (#220348)

On GFX11, a VOPD consumer whose X/Y sources share a gather class (srcA
or srcB) and the same VGPR parity can lose the destination-buffer interlock
for one of those sources. Thus, use parity as bank mask instead.


  Commit: 89ec1e3f5388e22c0a372798b7dbe48ba408d60b
      https://github.com/llvm/llvm-project/commit/89ec1e3f5388e22c0a372798b7dbe48ba408d60b
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/test/CodeGen/attr-counted-by-or-null-for-pointers.c
    M clang/test/CodeGen/attr-sized-by-for-pointers.c
    M clang/test/CodeGen/attr-sized-by-or-null-for-pointers.c

  Log Message:
  -----------
  [CodeGen] Fix -fsanitize=array-bounds for __sized_by / _or_null pointers (#213795)

`EmitCountedByBoundsChecking()` assumed a CountAttributedType is always
a __counted_by pointer. That isn't true; there are four versions of the
attribute:

* `__counted_by`: Already handled correctly.
* `__counted_by_or_null`: Incorrectly handled.
* `__sized_by`: Incorrectly handled.
* `__sized_by_or_null`: Incorrectly handled.

In particular:

* __sized_by / __sized_by_or_null: the loaded bound is a byte count, but
the
  element index was compared against it directly, so an access was only
flagged once the index exceeded the byte count -- missing out-of-bounds
accesses for a pointee larger than one byte. Convert the loaded byte
count
  into an element count by dividing it by the element size (`bound /
sizeof(element)`) so the check can compare the (element) index directly.
`counted_by` already counts elements and is unchanged; a void (or
otherwise
zero-/unknown-sized) pointee uses the GNU convention of element size 1,
i.e.
no conversion. Signed division is used for a signed count field so a
negative
byte count stays non-positive and is still rejected by the
negative-bounds
guard in EmitBoundsCheckImpl (unsigned division would turn it into a
large
  positive count).

* __counted_by_or_null / __sized_by_or_null: a null pointer describes no
accessible memory, but the null case was ignored, so an access through a
null pointer with a non-zero count was not trapped. Treat the bound as 0
  when the pointer is null.

Both adjustments are applied to the loaded bound in
EmitCountedByBoundsChecking before it is handed to EmitBoundsCheckImpl;
the bounds-checking machinery and the runtime handler are left unchanged
and continue to work in terms of the element index. Plain `__counted_by`
and the general array-bounds path are unaffected.

I did try an alternative implementation where the comparison was done in
terms of bytes (rather than elements which this patch does), but this
had several disadvantages:

* It was less correct. Because the element-count implementation uses
truncating division, a `__sized_by()` whose size is not a multiple of
the
pointee size rounds the bound down, so an access to a partially
in-bounds
object is caught. A byte-level check would instead only verify that the
  first byte of the object is in bounds, which would allow accessing a
  partially in-bounds object.

* When benchmarking (small microbenchmarks targetting arm64e), it
  appeared that the division implementation was faster. Note that an
  unsigned count field and an element size that is a power 2 produces
  the best LLVM IR because unsigned division by a power of 2 can be
  turned by the optimizer into a `lshr` instruction.

* It required changes in `CodeGenFunction::EmitBoundsCheckImpl` as well,
  which made the change more invasive.

Note while working on this I did discover an existing bug where if the
base (e.g. `side_effect()->ptr[0]`) has a side-effect it is incorrectly
evaluated multiple times. Fixing that is out-of-scope for this patch and
will be handled later.

Assisted-by: Claude Code

rdar://184139694


  Commit: bd695f75fc1f46bdc032a982f9c849f6365a5af2
      https://github.com/llvm/llvm-project/commit/bd695f75fc1f46bdc032a982f9c849f6365a5af2
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-keep-drop.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-satd.ll

  Log Message:
  -----------
  [SLP]Fix splat gather subtree keep/drop to restore lost vectorization

The splat gather subtrees were kept on cost ties and resurrected by the
trimming revert without a profitability re-check, and dropping them left
the gathered loads built for them orphaned and forcing extracts. This
rejected otherwise profitable VF=2 trees. Keep subtrees only when
strictly profitable, re-evaluate them against the restored tree on a
revert, and delete the gathered loads left dead by a drop.

Fixes the remaining regressions from #220250 reported in #221717.

Reviewers: 

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


  Commit: 1e522aa33cc216e65d7b4ea7c687059554b2ff4d
      https://github.com/llvm/llvm-project/commit/1e522aa33cc216e65d7b4ea7c687059554b2ff4d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/Util/DeclareRuntimeLibcalls/basic.ll

  Log Message:
  -----------
  Require X86 for DeclareRuntimeLibcalls test (#223832)


  Commit: f0b5bfb908f22fc8d7199f868a822e6d40c1369a
      https://github.com/llvm/llvm-project/commit/f0b5bfb908f22fc8d7199f868a822e6d40c1369a
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    R clang/test/CIR/Transforms/flatten-eh-spec-nyi.cir
    A clang/test/CIR/Transforms/flatten-eh-spec.cir

  Log Message:
  -----------
  [CIR][EH] Implement flattening for dynamic exception specification (#223780)

This change implements the CFG flattening for try operations with filter
and unexpected exception handlers. The flattening dispatches unexpected
exceptions to an operation that will later be lowered to target-specific
IR to call std::unexpected, while exceptions that match the dynamic
exception specification are routed to normal unwind handling.

Target-specific EH ABI lowering will be added in a follow-up change.

Assisted-by: Cursor / various models


  Commit: 6c334efd9df6cacb2c5b5ca7fc3533db95e5fff7
      https://github.com/llvm/llvm-project/commit/6c334efd9df6cacb2c5b5ca7fc3533db95e5fff7
  Author: PiJoules <leonardchan at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp

  Log Message:
  -----------
  [RelLookupTableConverter][NFC] Hoist loop invariants in createRelLookupTable (#223557)

IntPtrTy, Int32Ty, and Base (ptrtoint of the relative lookup table) are
invariant across all elements of the lookup table. Hoist them out of the
element iteration loop to avoid redundant recomputations.


  Commit: 576e56a6ac966699ce857bf34309bdf1c6d636d1
      https://github.com/llvm/llvm-project/commit/576e56a6ac966699ce857bf34309bdf1c6d636d1
  Author: PiJoules <leonardchan at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp

  Log Message:
  -----------
  [RelLookupTableConverter][NFC] Remove unused Func parameter from createRelLookupTable (#223556)

The Function &Func parameter was only used to access the parent Module
via Func.getParent(). However, createRelLookupTable already takes
GlobalVariable &LookupTable, which has the same parent Module.

Remove the redundant parameter and the now-unused Func reference at the
callsite in convertToRelLookupTable.


  Commit: 3018c32171d439dec1b76ef961cc60c0d8db2c6c
      https://github.com/llvm/llvm-project/commit/3018c32171d439dec1b76ef961cc60c0d8db2c6c
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    A flang/test/Lower/OpenMP/close-map-derived-members.f90
    M flang/test/Semantics/OpenMP/map-modifiers.f90
    A offload/test/offloading/fortran/usm_map_close_derived_type_members.f90

  Log Message:
  -----------
  [Flang][OpenMP] Remove close map type member removal code from MapInfoFinalization (#219438)

This should no longer be required as we removed the application of close
automatically in USM mode in a prior PR. So they bug this was originally
put in place for is now addressed without the need for this PR. And
whilst it was fine to put in place for a bug the user had no control of
(automatic application of close to descriptor members), it's not our
place to intervene in scenarios where a user is making explicit errors
in their mapping, e.g.

map(to: dtype) map(close, to: dtype%x, dtype%y)

A user should be left to shoot themselves in the foot if that's there
goal (or perhaps there's some really wild or single memory system
architectures that would allow this), we'd ideally prevent this as a
compiler warning or error as opposed to fixing the problem
under-the-hood for them. Otherwise we help create unportable code for
the user, alongside forcing ourselves to maintain the underlying fix.


  Commit: 299a09b38b4bd9d6b78e4c7a0c73b0cd671ce081
      https://github.com/llvm/llvm-project/commit/299a09b38b4bd9d6b78e4c7a0c73b0cd671ce081
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/AArch64/vararg-intrinsic.ll

  Log Message:
  -----------
  [TTI] Keep ParamTys and Arguments  matching for variadic intrinsics. (#223693)

For variadic functions, the function's argument types do not include any
variadic arguments.

Always push types of arguments in to ParamTys, so sizes of ParamTys and
Arguments match.

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


  Commit: 728d1c058b3ee1407eb4e8bf26ddc1aff03e48f8
      https://github.com/llvm/llvm-project/commit/728d1c058b3ee1407eb4e8bf26ddc1aff03e48f8
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    A mlir/include/mlir/Conversion/OpenACCToLLVM/ACCDataRuntime.h
    M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVM.h
    M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVMUtils.h
    A mlir/include/mlir/Dialect/OpenACC/OpenACCRuntimeDescriptors.def
    M mlir/include/mlir/Dialect/OpenACC/OpenACCRuntimeFunctions.def
    M mlir/include/mlir/Dialect/OpenACC/OpenACCRuntimeUtils.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsCG.h
    A mlir/lib/Conversion/OpenACCToLLVM/ACCDataDirectivePatterns.cpp
    A mlir/lib/Conversion/OpenACCToLLVM/ACCDataRuntime.cpp
    M mlir/lib/Conversion/OpenACCToLLVM/ACCExecutableDirectivePatterns.cpp
    M mlir/lib/Conversion/OpenACCToLLVM/ACCToLLVM.cpp
    M mlir/lib/Conversion/OpenACCToLLVM/ACCToLLVMUtils.cpp
    M mlir/lib/Conversion/OpenACCToLLVM/CMakeLists.txt
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCRuntimeUtils.cpp
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
    A mlir/test/Conversion/OpenACCToLLVM/data-diagnostics.mlir
    A mlir/test/Conversion/OpenACCToLLVM/data-runtime.mlir
    A mlir/test/Conversion/OpenACCToLLVM/data.mlir
    M mlir/test/Conversion/OpenACCToLLVM/init-shutdown-set.mlir
    M mlir/test/Conversion/OpenACCToLLVM/runtime-declaration-mismatch.mlir
    M mlir/test/Conversion/OpenACCToLLVM/wait.mlir
    M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
    A mlir/unittests/Dialect/OpenACC/OpenACCRuntimeUtilsTest.cpp

  Log Message:
  -----------
  [mlir][acc] Add data directive codegen to ACCToLLVM (#223043)

Extends the acc to LLVM conversion with codegen for the OpenACC data
constructs - data, enter data, exit data and update. Each construct
becomes calls to the libacctarget data entry points that establish the
mappings its clauses ask for and tear them down again, on the queue its
async clause selects and after the wait its wait clause asks for. As
with the executable directives, these runtime APIs are not yet
finalized; the draft proposal can be found at
https://github.com/llvm/llvm-project/pull/197894.

A mapping is handed to the runtime as parallel argument arrays holding
one entry per mapped object, together with a descriptor for the objects
whose extent or layout cannot be stated as a size. The descriptor
layouts are declared next to the entry points they are passed to, as
they are equally part of the runtime interface.

Clause handling the data constructs share with the executable
directives, such as async, wait and if, now lives in the common
conversion utilities.

Co-authored-by: Matsu <kmatsumura at nvidia.com>


  Commit: 620168eaa2718bde5e8e09470758f881f6e25a66
      https://github.com/llvm/llvm-project/commit/620168eaa2718bde5e8e09470758f881f6e25a66
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [flang][cuda] Save function result descriptor before function exit (#223484)

The cuf.free was called before the AbstractResult pass spies the result
over the passed argument. Make sure the result is saved before the
descriptor is freed.


  Commit: 7576379fdd2a6652dabda1cc8f21fdf11356f5a7
      https://github.com/llvm/llvm-project/commit/7576379fdd2a6652dabda1cc8f21fdf11356f5a7
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/PassManager.h

  Log Message:
  -----------
  [IR] Remove isRequired from PassInfoMixin (#223818)

This is no longer needed after 80a1e2125c7ec7db402925d153c0dbd6041d3004
and will not have any downstream difference given no one should be
inheriting directly from PassInfoMixin given it is in the detail
namespace.


  Commit: 08390c01e301987e0ae7ba903fdc5c477a687728
      https://github.com/llvm/llvm-project/commit/08390c01e301987e0ae7ba903fdc5c477a687728
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    R clang/test/CIR/CodeGen/call-conv-lowering-win64-skipped.c

  Log Message:
  -----------
  [CIR][NFC] Remove bad test (#223840)

This removes a test that was checking to see whether calling convention
lowering was applied for a Windows target. This test was causing CI
failures. We don't have enough Windows support implemented in CIR for
this to reliably even get to the point of making this negative check.
The test will end up being unstable, so I am just removing it.


  Commit: b0c4d416e5189e45eb09b79c681ecaa65080f73e
      https://github.com/llvm/llvm-project/commit/b0c4d416e5189e45eb09b79c681ecaa65080f73e
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 728d1c0 (#223855)

This fixes 728d1c058b3ee1407eb4e8bf26ddc1aff03e48f8 (#223043).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=728d1c058b3ee1407eb4e8bf26ddc1aff03e48f8

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


  Commit: 218b71e3d4de375ea487ab45faecb8fea9cec1fe
      https://github.com/llvm/llvm-project/commit/218b71e3d4de375ea487ab45faecb8fea9cec1fe
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/dead_instructions.ll

  Log Message:
  -----------
  [VPlan] Remove dead cycles until none are left. (#223845)

Follow-up to https://github.com/llvm/llvm-project/pull/213632. Removing
a dead cycle may expose another dead cycle, which also needs removing.

Stop after cycle is remover to avoid crashing on invalid iterator, and
repeat until no cycles are left.


  Commit: 05a60d8a36893ae4f64604576a8493cd2ba74eb5
      https://github.com/llvm/llvm-project/commit/05a60d8a36893ae4f64604576a8493cd2ba74eb5
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecInfo.h
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp

  Log Message:
  -----------
  [AMDGPU][NFC] Centralize co-execution stall calculation (#220335)


  Commit: c2fa65d33f124526bfe61d5125e203547076f4ce
      https://github.com/llvm/llvm-project/commit/c2fa65d33f124526bfe61d5125e203547076f4ce
  Author: junfengd-nv <junfengd at nvidia.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/include/clang/Options/FlangOptions.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Optimizer/Dialect/FIRAttr.h
    M flang/include/flang/Support/LangOptions.def
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    A flang/test/Driver/check-integer-mod-zero-divisor.f90
    M flang/test/Lower/Intrinsics/mod.f90
    M flang/test/Lower/Intrinsics/modulo.f90
    M flang/test/Lower/dummy-procedure.f90

  Log Message:
  -----------
  [flang] Diagnose integer MOD/MODULO when the divisor is zero (#222790)

Flang currently prints a garbage integer when the divisor of integer
MOD/MODULO is zero. For example:
```
program mod0_var
  integer :: a, p, r
  a = 5
  p = 0
  r = mod(a, p)
  print *, r
end program
```
Integer MOD/MODULO lower to arith.remsi. A zero divisor is undefined
behavior in LLVM, so the remainder can become poison and the program
neither crashes nor reports an error.

This change checks the second argument P when lowering integer
MOD/MODULO. If P is not a compile-time nonzero constant, a P == 0 test
is inserted. On that path, _FortranAReportFatalUserError is called with
the same messages as IntMod in flang-rt (MOD with P==0 / MODULO with
P==0). The fast path remains arith.remsi.

Before:
```
func.func private @fir.mod.i32.ref_i32.ref_i32(%arg0, %arg1) {
  %a = fir.load %arg0
  %p = fir.load %arg1
  %r = arith.remsi %a, %p : i32
  return %r
}
```

After:
```
func.func private @fir.mod.i32.ref_i32.ref_i32(%arg0, %arg1) {
  %a = fir.load %arg0
  %p = fir.load %arg1
  %zero = arith.constant 0 : i32
  %bad = arith.cmpi eq, %p, %zero : i32
  fir.if %bad {
    // fatal: same text as IntMod in
    // llvm-project/flang-rt/lib/runtime/numeric.cpp
  }
  %r = arith.remsi %a, %p : i32
  return %r
}
```


  Commit: 71cb3f47f9a296eacf4e0391b0e645d894ec7e2c
      https://github.com/llvm/llvm-project/commit/71cb3f47f9a296eacf4e0391b0e645d894ec7e2c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions-stress-test-tower.cpp
    M compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions.cpp
    M compiler-rt/test/orc/TestCases/Darwin/Generic/llvm-jitlink-force-link-objc.m
    M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-category.S
    M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-cross-file-method-call.S
    M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-nonlazy-class.S
    M compiler-rt/test/orc/TestCases/Darwin/arm64/trivial-objc-methods.S
    M compiler-rt/test/orc/TestCases/Darwin/lit.local.cfg.py
    M compiler-rt/test/orc/lit.cfg.py

  Log Message:
  -----------
  [orc-rt] Disable old ORC runtime testcases on arm64e (#223670)

These regression tests are unsupported on arm64e. Disable them.

rdar://186687669


  Commit: 35c6acb89abf0ca576b63e544885cdb0cb010443
      https://github.com/llvm/llvm-project/commit/35c6acb89abf0ca576b63e544885cdb0cb010443
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-09-15 (Tue, 15 Sep 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/CIRGenBuiltin.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGenBuiltins/builtin-maxnum-minnum.c
    M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c

  Log Message:
  -----------
  [CIR] Implement elementwise min/max/minimum/maximum/minnum/maxnum/etc (#222481)

These ended up being simple translations to llvm intrinsics, so other
than a single small 'magic decoder ring', this is a very trivial
implementation. The tests are taken from classic-codegen with some mild
modifications (as vector types don't work in arguments yet, and we are
testing more appropriately, as those were generated check lines).

This was found in an application we're trying to build.


  Commit: e35d15fe53ff0450e79de13f649f196b98547916
      https://github.com/llvm/llvm-project/commit/e35d15fe53ff0450e79de13f649f196b98547916
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp

  Log Message:
  -----------
  WebAssembly: Avoid using createDataLayout (#223836)

Find the datalayout from the IR context instead of copying one
from the TargetMachine


  Commit: 6a8b946a43c5ded4a1055cdd36f23fef11812fa0
      https://github.com/llvm/llvm-project/commit/6a8b946a43c5ded4a1055cdd36f23fef11812fa0
  Author: Andrei Safronov <andrei.safronov at espressif.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/include/llvm/TargetParser/XtensaTargetParser.def
    M llvm/include/llvm/TargetParser/XtensaTargetParser.h
    M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
    M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
    M llvm/lib/Target/Xtensa/Xtensa.td
    M llvm/lib/Target/Xtensa/XtensaFeatures.td
    M llvm/lib/Target/Xtensa/XtensaInstrFormats.td
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaOperands.td
    M llvm/lib/Target/Xtensa/XtensaProcessors.td
    M llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
    M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
    A llvm/lib/Target/Xtensa/XtensaS3DSPInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaSubtarget.h
    A llvm/test/MC/Xtensa/xtensa-esp32s3-invalid.s
    A llvm/test/MC/Xtensa/xtensa-esp32s3-valid.s

  Log Message:
  -----------
  [Xtensa] Implement esp32s3 target. (#220393)

- Add esp32s3 CPU support
- Implement esp32s3 DSP operations with test
- Improve asm register parsing


  Commit: d027db3ca9e9fa7a494d56491e57365c859bffa9
      https://github.com/llvm/llvm-project/commit/d027db3ca9e9fa7a494d56491e57365c859bffa9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/test/MC/RISCV/rvzimop-valid.s
    M llvm/test/MC/RISCV/zicfiss-valid.s

  Log Message:
  -----------
  [RISCV] Add more tests for Zimop. NFC (#223797)

Exposes bug in disassembly of mop.r.28 and mop.rr.7 which partially
overlap with Zicfiss.

Assisted-by: Claude


  Commit: 73a4eae01c881603a880c3eb46ca34e11f534db8
      https://github.com/llvm/llvm-project/commit/73a4eae01c881603a880c3eb46ca34e11f534db8
  Author: cmtice <cmtice at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M lldb/source/API/SystemInitializerFull.cpp

  Log Message:
  -----------
  [LLDB] Initialize language categories as part of general initialization. (#223474)

This prevents needless slowdown later when looking up variable values.


  Commit: c7d4921b39bf5710968872213935198efbb310fd
      https://github.com/llvm/llvm-project/commit/c7d4921b39bf5710968872213935198efbb310fd
  Author: Stan Ulbrych <stan at python.org>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerLoop.cpp
    M compiler-rt/test/fuzzer/minimize_crash_custom_mutator.test

  Log Message:
  -----------
  [libFuzzer] Pass the current size to Mutate in MinimizeCrashLoop (#223470)

Fixes #149942. MinimizeCrashLoop passed U.size() to every MD.Mutate call
in the mutate_depth loop, so following mutations operated on a stale
size. Track the size across mutations, like MutateAndTestOne already
does.


  Commit: 99f7a3ee4b76e0b77552f57a7cc9a4262ceddbd9
      https://github.com/llvm/llvm-project/commit/99f7a3ee4b76e0b77552f57a7cc9a4262ceddbd9
  Author: Konstantinos Parasyris <koparasy at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    A clang/test/CIR/CodeGenSYCL/kernel-caller-address-space.cpp

  Log Message:
  -----------
  [CIR][SYCL] Emit generic address space for default pointers in device code (#223464)


  Commit: dcd33090385467717fc3aaba6a72b36c759f2d18
      https://github.com/llvm/llvm-project/commit/dcd33090385467717fc3aaba6a72b36c759f2d18
  Author: Akimasa Watanuki <mencotton0410 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/Lowering/unlowered-address-spaces.cir

  Log Message:
  -----------
  [CIR] Reject unlowered language address spaces on CIR globals (#223660)

Diagnose a `LangAddressSpaceAttr` on `cir.global` before selecting the
LLVM global address space. This keeps standalone global attributes from
bypassing pointer conversion and silently falling back to address space
zero.

Assisted-by: Codex / GPT-5.6 Sol


  Commit: 057f3ee1b4f32ccc348f1c64142dcf0e4c5e9b69
      https://github.com/llvm/llvm-project/commit/057f3ee1b4f32ccc348f1c64142dcf0e4c5e9b69
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [RISCV] Use bits<5> for rs1 in c.sspopchk and c.sspush. NFC (#223856)

These instructions are encoded so that bits 11-7 match the register they
operate on. We can put 1 or 5 in rs1 and then assign rs1 to bits 11-7.
This match c.addi16sp which only allows SP.


  Commit: acd72302ca682b7f7b514fdb8a1417c12eb15a2c
      https://github.com/llvm/llvm-project/commit/acd72302ca682b7f7b514fdb8a1417c12eb15a2c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp

  Log Message:
  -----------
  [ORC] Skip ReOptimize unit tests on arm64e. (#223605)

The ReOptimize layer doesn't support arm64e yet.

rdar://186687659


  Commit: 98684c0871860447a51d9bc35e73f5bd53050ec0
      https://github.com/llvm/llvm-project/commit/98684c0871860447a51d9bc35e73f5bd53050ec0
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  [Github] Bump AArch64 Premerge Runners to LLVM 23.1.1 (#223869)

This should work now given 23.1.1 disabled -Wunused-template.

Landed in llvm-zorg for x86 Linux/Windows in

https://github.com/llvm/llvm-zorg/commit/2236c4c3a51207f1cf002b9092a54dd676e8ed19.


  Commit: 124e476295e62296a012f35b192644d1a2c3244c
      https://github.com/llvm/llvm-project/commit/124e476295e62296a012f35b192644d1a2c3244c
  Author: HighW4y2H3ll <zhenghaohuu at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/test/tools/llvm-profgen/X86/Inputs/coroutine.perfbin
    M llvm/test/tools/llvm-profgen/X86/Inputs/coroutine.perfscript
    M llvm/test/tools/llvm-profgen/X86/coroutine.test
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp

  Log Message:
  -----------
  [llvm-profgen] Strip coroutine suffixes from DWARF info (#217980)

https://github.com/llvm/llvm-project/pull/141889 preserves coroutine
suffixes into the DWARF linkage name, which may unexpectedly pass down
those suffixes into the profile in llvm-profgen. The logging also shows
extremely high percentages of samples being recovered from symbol table
because of the unstripped suffixes introduced from DWARF linkage name.
```
warning: 45.38%(754559/1662830) of samples are from ranges that belong to functions recovered from symbol table.
```
This fix strips the coroutine in: 1) the inital
`loadSymbolsFromDWARFUnit` for profiled functions and 2) the stack
`symbolize` that constructs the context trie

Also updates the coroutine unittest to move coroutine header from
experimental to standard.


  Commit: 7d29a9258695cc958bd63dc70176a38cb87fe4d6
      https://github.com/llvm/llvm-project/commit/7d29a9258695cc958bd63dc70176a38cb87fe4d6
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty.cpp
    M clang/test/CIR/Transforms/abi-lowering/x86_64-aggregate-nyi.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-union.cir

  Log Message:
  -----------
  [CIR] Accept a union whose empty member is [[no_unique_address]] (#223538)

The record-wide reject for a member CIRGen marks empty is there for the
struct arm of mapCIRType, which reads such a member as an unnamed
bit-field standing for the bytes it occupies. This does not apply to a
union, so the reject moves into the struct branch.

Which variants the classifier sees then falls to the union arm, and it
now reads that from each variant's own storage rather than from its
mark. A zero-sized variant and one that is empty for the ABI are
skipped. One whose mark says empty over storage that holds data is not.

Assisted-by: Cursor / claude-opus-5


  Commit: 8a3e7cdcd2fba1ea2ba91f8e3c7755afc2f481e5
      https://github.com/llvm/llvm-project/commit/8a3e7cdcd2fba1ea2ba91f8e3c7755afc2f481e5
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
    M mlir/test/Conversion/XeVMToLLVM/legalize_large_vector.mlir

  Log Message:
  -----------
  [MLIR][XeVM] Fix mask lifetime in HandleVectorExtractPattern (#223879)

When a contiguous-slice shuffle is hoisted through a bitcast that
changes
the element count, the slice is rewritten against the bitcast source by
    rescaling the mask into a local SmallVector and rebinding the `mask`
    ArrayRef to it. That SmallVector was declared inside the
`if (maskScale != 1)` block, so it was destroyed before the two uses of
    `mask` that follow the block - a stack-use-after-scope.
    
It is benign on uninstrumented builds, which is why precommit did not
    catch it, but the sanitizer bots trap it on
Conversion/XeVMToLLVM/mxfp_scale_binary_hoist.mlir, the first test whose
    chain drives the length-changing bitcast path:
    
      ERROR: AddressSanitizer: stack-use-after-scope
      READ of size 4
        #23 mlir::detail::DenseArrayAttrImpl<int>::get(MLIRContext*,
                                                      ArrayRef<int>)
        #24 mlir::LLVM::ShuffleVectorOp::build(..., ArrayRef<int>)
        #26 HandleVectorExtractPattern::matchAndRewrite
              XeVMToLLVM.cpp:1866:27
      Address is located in stack of thread T0 at offset 304 in frame
#0 HandleVectorExtractPattern::matchAndRewrite XeVMToLLVM.cpp:1801
[288, 352) 'newMask' (line 1856) <== Memory access at offset 304 is
                                             inside this variable
      SUMMARY: AddressSanitizer: stack-use-after-scope
    
ASan reports the above, MSan reports a read of uninitialized memory and
    HWASan a tag mismatch. In each case mlir-opt dies partway through
    --split-input-file, so the surface symptom is the CHECK-LABEL of the
    second module in that file not being found:
    
      https://lab.llvm.org/buildbot/#/builders/52/builds/20099
      https://lab.llvm.org/buildbot/#/builders/164/builds/25415
      https://lab.llvm.org/buildbot/#/builders/169/builds/26571
      https://lab.llvm.org/buildbot/#/builders/55/builds/33165
    
Hoist the declaration so it outlives the uses, and add a lit test for
the
length-changing bitcast path, which previously had no direct coverage -
    the existing tests only bitcast between equal element counts.


  Commit: 6c31f6446a55e0cc603c3eca5c5ebd47c2f5327a
      https://github.com/llvm/llvm-project/commit/6c31f6446a55e0cc603c3eca5c5ebd47c2f5327a
  Author: Maxim Potapchik <maximp1012 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/PerfHelper.cpp
    M llvm/tools/llvm-exegesis/lib/PerfHelper.h
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/unittests/tools/llvm-exegesis/CMakeLists.txt
    A llvm/unittests/tools/llvm-exegesis/PerfHelperTest.cpp

  Log Message:
  -----------
  [llvm-exegesis] Add RawPerfEvent raw PMU counter path in createCounter (#208364)

Introduces RawPerfEvent, a PerfEvent derived class that constructs
perf_event_attr directly from EventSelect and UMask, bypassing
pfm_get_os_event_encoding for cycle and uops events.

createCounter routes to RawPerfEvent when PfmCountersInfo contains a
non-negative EventSelect for the cycle or uops counter slot, falling
back to the existing libpfm symbolic path otherwise. Extended
createBenchmarkRunner gate checks to allow raw-only counters in latency
and uops modes.

This wiring is opt-in. Existing behavior is unchanged.

Adds unit tests covering RawPerfEvent construction, config field
encoding, and kernel exclusion flag correctness.

Validated on AMD Zen2: latency measurements via the raw path match the
libpfm symbolic path on identical hardware.

Towards #187930


  Commit: 82004b076831331b0567bc9d8b53263a4fabd74b
      https://github.com/llvm/llvm-project/commit/82004b076831331b0567bc9d8b53263a4fabd74b
  Author: purnima shrivastava <purnimashrivastava05 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    A mlir/test/Dialect/SCF/parallel-loop-unroll-invalid.mlir
    M mlir/test/lib/Dialect/SCF/TestParallelLoopUnrolling.cpp

  Log Message:
  -----------
  [mlir][SCF] Avoid crash in parallel loop unrolling test pass (#222644)

This fixes crashes in `--test-parallel-loop-unrolling` when
`unroll-factors` is missing or contains zero.

Previously, the test pass forwarded an empty or invalid factor list to
the parallel-loop unrolling utility, violating its preconditions and
triggering an assertion.

The pass now emits an error and signals pass failure when:

* `unroll-factors` is not provided.
* Any unroll factor is zero.

Regression tests verify the diagnostics for both invalid inputs using
`-verify-diagnostics`.

Fixes #222535.

Co-authored-by: Purnima Shrivastava <purnimashrivastava05 at .com>


  Commit: 3ce76320daf6cd93e6fbcecf037e9ac620d7cc34
      https://github.com/llvm/llvm-project/commit/3ce76320daf6cd93e6fbcecf037e9ac620d7cc34
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 058ca1274446 (#223885)


  Commit: 1daae8bcd3bbed8c673518477ba7cd047fe27d82
      https://github.com/llvm/llvm-project/commit/1daae8bcd3bbed8c673518477ba7cd047fe27d82
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/tools/llvm-exegesis/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 6c31f6446a55 (#223886)


  Commit: 6f6bbfb5e63e8cf4f051c7e5f773c41fe5ddbf19
      https://github.com/llvm/llvm-project/commit/6f6bbfb5e63e8cf4f051c7e5f773c41fe5ddbf19
  Author: Liao Chunyu <chunyu at iscas.ac.cn>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/riscv-profiles.c
    M llvm/docs/RISCVUsage.md
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/RISCVProfiles.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV]Add RVA23.1 and RVB23.1 experimental profiles (#217199)

RVA23.1 state: https://riscv.atlassian.net/browse/RVS-4180
RVB23.1 state: https://riscv.atlassian.net/browse/RVS-4184

---------

Co-authored-by: Pengcheng Wang <wangpengcheng.pp at bytedance.com>


  Commit: de9ad513460a1a5439b0b8d6d5c7a51a3634bc20
      https://github.com/llvm/llvm-project/commit/de9ad513460a1a5439b0b8d6d5c7a51a3634bc20
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 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/sys/stat.yaml
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/mknodat.h
    M libc/src/sys/stat/CMakeLists.txt
    M libc/src/sys/stat/linux/CMakeLists.txt
    A libc/src/sys/stat/linux/mkfifo.cpp
    A libc/src/sys/stat/mkfifo.h
    M libc/test/src/sys/stat/CMakeLists.txt
    A libc/test/src/sys/stat/mkfifo_test.cpp

  Log Message:
  -----------
  [libc] Implement mkfifo (#223566)

Implements the mkfifo function from POSIX, and tests.

Fixes: #220758
Assisted-by: Automated Tooling, Human Reviewed


  Commit: 32a8fd50bd8d1dc52764730e9f8c491c8fd7a277
      https://github.com/llvm/llvm-project/commit/32a8fd50bd8d1dc52764730e9f8c491c8fd7a277
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  [bazel] Fix 82004b076831331b0567bc9d8b53263a4fabd74b (#223892)

Add split-file dep for mlir test in
82004b076831331b0567bc9d8b53263a4fabd74b


  Commit: 59ae8d382261e84d95e67e4f9f43fd5c71ae1397
      https://github.com/llvm/llvm-project/commit/59ae8d382261e84d95e67e4f9f43fd5c71ae1397
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M .github/workflows/build-ci-container.yml
    M .github/workflows/containers/github-action-ci/Dockerfile

  Log Message:
  -----------
  [CI] Use Ubuntu 26.04 for Premerge Image (#223883)

Mainly so that we pull in a newer CMake version given the minimum is
getting bumped soon, but also to get the upgrade over with.


  Commit: eb5f248268fb9d2337a2b85139017fc94eb61ce6
      https://github.com/llvm/llvm-project/commit/eb5f248268fb9d2337a2b85139017fc94eb61ce6
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
    A lldb/test/Shell/SymbolFile/DWARF/missing-oso.cpp

  Log Message:
  -----------
  [lldb] Report an error when a debug map object file is missing (#223576)

When an OSO in the debug map does not exist on disk, LLDB records the
load error on the CompileUnitInfo but never surfaces it. The sibling
mod-time-mismatch branch does report, so a stale .o produces a
diagnostic while a deleted one fails silently.

This is easy to hit with LTO. The linker writes the merged object to a
temporary path and deletes it, so unless the build passes
-object_path_lto the debug map points at a file that is already gone.

rdar://162327417


  Commit: c793abb8bb6233dea287748a96ea7c2b8f447fa1
      https://github.com/llvm/llvm-project/commit/c793abb8bb6233dea287748a96ea7c2b8f447fa1
  Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/MathToXeVM/MathToXeVM.cpp
    M mlir/test/Conversion/MathToXeVM/math-to-ocl.mlir
    M mlir/test/Conversion/MathToXeVM/math-to-xevm.mlir

  Log Message:
  -----------
  [mlir][MathToXeVM] Route math ops by fastmath: native for `afn`, OCL otherwise. (#223816)

The pass had two lowerings for the same math ops. `afn` fastmath ops
went to the OpenCL `native_` intrinsics. Everything else was only
lowered when the `convert-to-ocl` option was set, which defaulted to
off, so those ops were left untouched.

Make `convert-to-ocl` default to true. The fastmath flag now picks the
intrinsic on its own:

  - `afn` set   -> `__spirv_ocl_native_*`, fast but approximate.
  - `afn` unset -> `__spirv_ocl_*`, precise.

`fastmath<fast>` is a group that expands to include `afn`, so it takes
the native path too. Other flags without `afn` do not.

The precedence already worked: the native patterns get a higher pattern
benefit than the precise ones, so an `afn` op still gets the native
intrinsic when both pattern sets are live. Spell the benefits out
instead of deriving one from the option value.

Set `convert-to-ocl=false` to get the old behavior of leaving non-`afn`
ops alone. math-to-xevm.mlir pins the native half, so it now passes that
flag. math-to-ocl.mlir gains a routing case covering all five flag
states, since the benefit tie only has to be broken when both pattern
sets are live.

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


  Commit: bb651180e3b17b374c5fc0ceb7f3b8c09bc61156
      https://github.com/llvm/llvm-project/commit/bb651180e3b17b374c5fc0ceb7f3b8c09bc61156
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedFrameInterface.h
    M lldb/include/lldb/Target/StackFrameRecognizer.h
    A lldb/include/lldb/ValueObject/ValueObjectSynthesizedValue.h
    M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
    M lldb/source/Symbol/Variable.cpp
    M lldb/source/ValueObject/CMakeLists.txt
    A lldb/source/ValueObject/ValueObjectSynthesizedValue.cpp
    M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py

  Log Message:
  -----------
  [lldb] Report a scripted frame's variables with the frame's value type (#221708)

A scripted frame's variable exists as two objects: a Variable holding
the scope the frame assigned it, and a ValueObject holding what the
frame built. SBValue::GetValueType() reports the ValueObject's, and
GetValueObjectForFrameVariable handed that ValueObject back unchanged,
so the scope never reached a client. A ValueObject built in Python is a
ValueObjectConstResult, which reports how it was produced rather than
which variable it stands for, leaving anything that groups a frame's
variables by scope unable to place it. `frame variable` was unaffected
because it reads the Variables directly.

This patch presents the ValueObject under that scope instead. A class
for this already existed as ValueObjectRecognizerSynthesizedValue, which
frame recognizers use to name an argument: both take a ValueObject that
cannot report the ValueType it is being presented as and supply that
ValueType for it, so generalize that one into
ValueObjectSynthesizedValue and use it for both. ValueObjectVariable is
the other class that pairs a ValueObject with a ValueType, but it cannot
serve here because it recovers its data from a DWARF location
expression, and a frame that builds its own ValueObjects supplies none.

The presented ValueObject is not a parent, so it is no longer held as
one. It is the same ValueObject seen differently, which makes the
presenting object a root: constructing it as one keeps GetParent()
reporting no parent, as it does for any other ValueObject obtained from
a frame, and keeps the walks over m_parent (for a symbol context scope,
a root, a dynamic ValueObject or format information) from finding a
container that does not exist.

Recognized arguments change behaviour slightly as a result: the shared
UpdateValue propagates an error from the presented ValueObject, fills in
the data and sets validity, none of which the recognizer's copy did.

Reaching a variable by name goes through Variable::NameMatches, which
dereferences m_owner_scope for every entry whose name does not match. A
null owner scope is a legal state, CalculateSymbolContext handles it
explicitly and a frame that makes up its own variables has none, so drop
that lookup. The SymbolContext it filled in has had no reader since
22b044877d23, which dropped the language argument to
Mangled::NameMatches along with the only use of it.

Also document that the synthetic flag in GetValueTypeForVariable's
return is what exempts a variable from the scope rules a declared
variable is subject to. A ValueObject with no storage behind it is
filtered out of an in-scope-only listing without it.

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


  Commit: ef326fec1daefa425f2ffd025cbda56e8300354d
      https://github.com/llvm/llvm-project/commit/ef326fec1daefa425f2ffd025cbda56e8300354d
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/HLSLIntrinsics.td
    M clang/test/CodeGenHLSL/builtins/asdouble.hlsl
    M clang/test/CodeGenHLSL/builtins/ddx.hlsl
    M clang/test/CodeGenHLSL/builtins/ddy.hlsl
    M clang/test/CodeGenHLSL/builtins/ldexp.hlsl
    M clang/test/CodeGenHLSL/builtins/mad.hlsl
    M clang/test/SemaHLSL/BuiltIns/ldexp-errors.hlsl

  Log Message:
  -----------
  [HLSL][LongVec] Add more intrinsic support (#222043)

resolves #220699
resolves #220655
resolves #220639
resolves #220638
resolves #220614


  Commit: 182ca95eed3feb7c7ba83ed2b35a0c5f29517b9b
      https://github.com/llvm/llvm-project/commit/182ca95eed3feb7c7ba83ed2b35a0c5f29517b9b
  Author: Timur Baidusenov <timurbaidusenov at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    A llvm/test/Verifier/funclet-unreachable-block.ll

  Log Message:
  -----------
  [Verifier] Don't look up the funclet color of an unreachable block (#222500)

Fixes #192015.


  Commit: 8723e4a1bc0b6078e35c17532952f79fb8480f53
      https://github.com/llvm/llvm-project/commit/8723e4a1bc0b6078e35c17532952f79fb8480f53
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
    A llvm/test/CodeGen/AMDGPU/coexec-block-carried-latency.mir
    M llvm/test/CodeGen/AMDGPU/coexec-mfma-interleave-gfx950.ll
    M llvm/test/CodeGen/AMDGPU/coexec-sched-ds-fifo.mir
    M llvm/test/CodeGen/AMDGPU/coexec-scheduler.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll

  Log Message:
  -----------
  [AMDGPU] Add block carried latency to CoExecSched (#192324)

This adds some rudimentary logic to check for load dependencies across
blocks. Since the scheduling algorithm is local scheduling per region,
we do not have about latencies carried from other blocks. Rather than
constructing a global DAG to accurately measure these latencies, this PR
uses a heuristic to estimate the incoming latency.

We limit our incoming dependencies to load instructions, as these are
expected to be the ones that cause problems. This uses the full latency
of the instruction as the incoming latency to cover. We check for any
use that occurred later in the def block - if we find such a use then we
do not have incoming latency as we have already waited for the load.
Using the incoming latency assumes that the load is the last instruction
in the block, and that the branch takes 0 cycles. Aside from not fully
understanding the dependencies of other blocks, a challenge in defining
a more accurate incoming latency is that it is possible that the block
with the load may be rescheduled.

---------

Co-authored-by: Austin Kerbow <Austin.Kerbow at amd.com>


  Commit: 12992dca3ccbd2c4c3fc67528467ac73a1da292d
      https://github.com/llvm/llvm-project/commit/12992dca3ccbd2c4c3fc67528467ac73a1da292d
  Author: Eli Friedman <efriedma at qti.qualcomm.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/AST/Decl.cpp
    M clang/test/CodeGenCXX/cxx1z-inline-variables.cpp
    M clang/test/SemaTemplate/class-template-spec.cpp

  Log Message:
  -----------
  [clang] Fix handling of constexpr static data member template. (#220469)

[temp.expl.spec] says "An explicit specialization of a static data
member of a template or an explicit specialization of a static data
member template is a definition if the declaration includes an
initializer." The code did not match this rule for constexpr variables.
The check in question was only supposed to match the cases from
[depr.static.constexpr].

Fixes #219796


  Commit: 46f08d7878f7a5a943355c4c02fb7a67bf532709
      https://github.com/llvm/llvm-project/commit/46f08d7878f7a5a943355c4c02fb7a67bf532709
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [RISCV] Remove Zicfiss DecoderNamespace. NFC (#223891)

This used to be needed to prioritize c.sspopchk and c.sspush over
c.mop.1 and c.mop.5, but those are treated as InstAliases now.


  Commit: 4150e90b0f597e64303d2d3a8ee2c2d83ee1ddab
      https://github.com/llvm/llvm-project/commit/4150e90b0f597e64303d2d3a8ee2c2d83ee1ddab
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [RISCV] Call DecodeGPRPairRegisterClass from DecodeGPRPairCRegisterClass. NFC (#223882)

GPRPairC is a subset of GPRPair. We just need to do the range check and
let DecodeGPRPairRegisterClass do the rest of the work.


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

  Changed paths:
    M flang/lib/Semantics/expression.cpp

  Log Message:
  -----------
  [flang][cuda] Fix matching distance for use_device and none (#223849)

https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/#unified-data
the table set the matching distance for actual `use_device` and dummy
argument `none` to 1 but the implementation set it to 3.

@wangzpgi Was there a specific reason to set 3 instead of 1?


  Commit: 4ee9dafceb16232b5c06857551228ee5471dc5cd
      https://github.com/llvm/llvm-project/commit/4ee9dafceb16232b5c06857551228ee5471dc5cd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  [RISCV] Use DecodeFilteredRegisterClass for DecodeGPRX1X5RegisterClass. (#223878)


  Commit: c20428cbb5f551d54520d492b1d27011e4076f5b
      https://github.com/llvm/llvm-project/commit/c20428cbb5f551d54520d492b1d27011e4076f5b
  Author: Dhairyashil R G <dhairyashil25 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Target/LLVMIR/nvvm/mbar_arrive_drop.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Fix the lowering of legacy mbar.arrive_drop (#222916)

`nvvm.mbarrier.arrive_drop` fails to compile for sm_80:

LLVM ERROR: Cannot select: intrinsic
%llvm.nvvm.mbarrier.arrive.drop.scope.cta.space.cta

The op always lowers to the `scope.*.space.*` intrinsics, which need
sm_90. The legacy `llvm.nvvm.mbarrier.arrive.drop{,.shared}` intrinsics
work from sm_80 but are never used.

This uses the legacy intrinsic for the basic case only, space=cta,
scope=cta, no relaxed, no explicit count, the same fix as #172476 for
`mbarrier.arrive`. The count forms need sm_90, so they are unchanged.

Assisted-by: Claude


  Commit: 262cf39197f4748693ea7bae7b788208bcb21621
      https://github.com/llvm/llvm-project/commit/262cf39197f4748693ea7bae7b788208bcb21621
  Author: Matt Turner <mattst88 at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/MC/MCParser/MCAsmParser.cpp
    M llvm/test/MC/AsmParser/macro-max-depth.s

  Log Message:
  -----------
  [MC] Increase asm-macro-max-nesting-depth default to 100 (#218455)

GNU as accepts assembly we reject at the current default of 20, e.g.
glibc's
`sysdeps/unix/sysv/linux/alpha/rt_sigaction.S`, which nests 31 deep.
Raise the
default to 100, matching GNU as.

Assisted-by: Claude Code


  Commit: 8b66604bb8e699820c7f1fd06a43a3c6ed2cac76
      https://github.com/llvm/llvm-project/commit/8b66604bb8e699820c7f1fd06a43a3c6ed2cac76
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/test/MC/RISCV/zicfiss-valid.s

  Log Message:
  -----------
  [RISCV] Remap mop.rr.7 and mop.r.28 to sspush/sspopchk/ssrdp in the assembler. (#223894)

This makes llvm-mc output match llvm-objdump. And is more consistent
with the InstAliases we use c.mop.


  Commit: 6c1d20c5e29776e365e6a83e4a15b421b8552755
      https://github.com/llvm/llvm-project/commit/6c1d20c5e29776e365e6a83e4a15b421b8552755
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/Transforms/LoopVectorize/blend-i1.ll
    M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll

  Log Message:
  -----------
  [VPlan] Process combineRecipes in a worklist (#213899)

This brings combineRecipes further in line with InstCombine, and asides
from unlocking more simplifications it also helps avoid test churn
whenever passes are moved around combineRecipes.

For now just push the new recipe onto the worklist, not its users.
This uses a post order traversal so we maintain the same simplification
order as before.


  Commit: c7ddefdcc81c32c2a05b636817fcb5d5e4cc0c40
      https://github.com/llvm/llvm-project/commit/c7ddefdcc81c32c2a05b636817fcb5d5e4cc0c40
  Author: Zeyi Xu <zeyi2 at nekoarch.cc>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/test/MC/RISCV/attribute-arch.s

  Log Message:
  -----------
  [MC][RISCV] Make Zve32x a dependency of Zvabd (#223901)

The Zvabd specification defines Zve32x as a dependency. This commit
fixes the dependency problem in MC's implementation.

See:
https://github.com/riscv/integer-vector-absolute-difference/blob/0092c8451bb24b957d8358f261c0535ece88defb/src/unpriv/zvabd.adoc#L26


  Commit: 83066e0d57798b10c759fea6ab77346dabc0e1dc
      https://github.com/llvm/llvm-project/commit/83066e0d57798b10c759fea6ab77346dabc0e1dc
  Author: Rajat Bajpai <rbajpai at nvidia.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/docs/NVPTXUsage.md
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/NVVMIntrinsicUtils.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-cta-invalid.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-cta-oob.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-cta-relaxed.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-cta-validate-data.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-invalid.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-mc32.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-relaxed.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-g2s-validate-data.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-override.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-validate-data.ll
    A llvm/test/Verifier/NVPTX/cp-async-bulk-g2s-cta.ll
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Target/LLVMIR/nvvm/tma_bulk_copy.mlir
    M mlir/test/Target/LLVMIR/nvvm/tma_load_cluster_im2col.mlir
    M mlir/test/Target/LLVMIR/nvvm/tma_load_cluster_tile.mlir
    M mlir/test/Target/LLVMIR/nvvm/tma_load_cta_im2col.mlir
    M mlir/test/Target/LLVMIR/nvvm/tma_load_cta_tile.mlir

  Log Message:
  -----------
  [LLVM][NVPTX] Add async bulk copy global to shared extensions (#222323)

This change adds following things to bulk copy intrinsics.
1. Relaxed memory ordering semantics with a scope argument.
2. Data-validity reporting patterns (introduced in Rubin).
3. 32-bit multicast mask for global to shared::cluster variants
(introduced in Rubin).
4. Ignore out of bound checks for global to shared::cta variants.

Note: MLIR lowering is updated to emit the new intrinsic signatures.
Support for the new features in MLIR will be done in a separate change.


  Commit: bf89dd2637f367316b1fb67e515ff28782222822
      https://github.com/llvm/llvm-project/commit/bf89dd2637f367316b1fb67e515ff28782222822
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanLowering.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp

  Log Message:
  -----------
  [VPlan] Rename createScalarFreeze -> createFreeze. NFC (#223648)

It works for vector operands too. We can also use it in
preparePlanForMainVectorLoop


  Commit: df997d219210bf0ef546f85f43c38cfa92607e80
      https://github.com/llvm/llvm-project/commit/df997d219210bf0ef546f85f43c38cfa92607e80
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

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

  Log Message:
  -----------
  [RISCV] Add DecodeSingleRegister template class to replace DecodeSPRegisterClass and similar. (#223889)

This can avoid adding more explicitly written decode functions for
https://github.com/llvm/llvm-project/pull/177073


  Commit: 78bbf2229d2a5b8dc84b1b2b83cab9c2239a47ba
      https://github.com/llvm/llvm-project/commit/78bbf2229d2a5b8dc84b1b2b83cab9c2239a47ba
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Host/HostInfo.h
    A lldb/include/lldb/Host/emscripten/HostInfoEmscripten.h
    M lldb/source/Host/CMakeLists.txt
    A lldb/source/Host/emscripten/HostInfoEmscripten.cpp

  Log Message:
  -----------
  [lldb] Add HostInfoEmscripten (#223169)

Emscripten currently selects `HostInfoLinux`. That was useful as an initial bootstrap, but it also introduces Linux-specific assumptions such as `/proc/self/exe`, invoking `lsb_releas`e through `popen`, and
Linux-specific architecture handling.

This patch introduces a small `HostInfoEmscripten` implementation derived from `HostInfoPosix` and selects it when LLDB is built with Emscripten.

The implementation intentionally remains minimal. A browser-hosted LLDB process does not currently have a meaningful native executable path, so `GetProgramFileSpec()` returns an empty FileSpec.

A dedicated PlatformEmscripten and browser-specific process behavior will be handled separately so this change remains atomic !


  Commit: b27d9d29615f6a8e784ed705f8e241f6a7c4adbf
      https://github.com/llvm/llvm-project/commit/b27d9d29615f6a8e784ed705f8e241f6a7c4adbf
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp

  Log Message:
  -----------
  [llvm-jitlink] Fix a memory leak in llvm-jitlink-executor. (#223904)

In openListener, use a scope_exit to call freeaddrinfo on the struct
allocated by getaddrinfo.

No testcase: We have no in-tree tests for llvm-jitlink-executor. This
bug was found by inspection.


  Commit: dedfd0eb94dcd8da26a0bcce928037ae32e5616d
      https://github.com/llvm/llvm-project/commit/dedfd0eb94dcd8da26a0bcce928037ae32e5616d
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctlz.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctpop.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/cttz.ll

  Log Message:
  -----------
  [SPIR-V] Fix bit count intrinsics on narrow integer types (#223358)

Widening i24 to i32 relabels the type without clearing the high bits, so
ctlz, cttz and ctpop counted them too


  Commit: 862885765ac2d854ec5ec1ed38f422f99414688e
      https://github.com/llvm/llvm-project/commit/862885765ac2d854ec5ec1ed38f422f99414688e
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/Platform/CMakeLists.txt
    A lldb/source/Plugins/Platform/Emscripten/CMakeLists.txt
    A lldb/source/Plugins/Platform/Emscripten/PlatformEmscripten.cpp
    A lldb/source/Plugins/Platform/Emscripten/PlatformEmscripten.h
    M lldb/unittests/Platform/CMakeLists.txt
    A lldb/unittests/Platform/PlatformEmscriptenTest.cpp

  Log Message:
  -----------
  [lldb] Add PlatformEmscripten (#223200)

This follows #223169, where I introduced `HostInfoEmscripten`.

While getting libLLDB and its SB API working in the browser, I initially used `PlatformLinux` as the host platform under Emscripten. That was enough for the first experiment, but Emscripten is not really Linux and we shouldn't keep inheriting Linux-specific behavior going forward.

This patch introduces a separate `PlatformEmscripten`, based on `PlatformPOSIX`, and makes it the host platform when LLDB itself is running under Emscripten.

For now, it:

- reports the Emscripten host architecture;
- supports `wasm32` and `wasm64` Emscripten targets;
- moves Emscripten host initialization out of `PlatformLinux`;
- does not claim that live process debugging works yet.

`PlatformWasm` remains separate. My understanding is that `PlatformEmscripten` describes the environment in which LLDB itself is running, while `PlatformWasm` describes the WebAssembly program being
debugged.

I am keeping this patch small on purpose. Browser-specific launching, attachment and live execution can be added separately once we connect LLDB to an actual in-browser execution backend.

I added a small test confirming that an Emscripten triple selects this platform, and also compiled the new plugin source successfully with Emscripten 6.0.8.


  Commit: c8fdb5f8b93c3e1da5e2ff3ba8b18627d6147b51
      https://github.com/llvm/llvm-project/commit/c8fdb5f8b93c3e1da5e2ff3ba8b18627d6147b51
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M orc-rt/include/orc-rt/bedrock/sps/SimpleRemoteCA.h
    M orc-rt/lib/bedrock/sps/SimpleRemoteCA.cpp
    M orc-rt/test/unit/bedrock/sps/SimpleRemoteCATest.cpp

  Log Message:
  -----------
  [orc-rt] SimpleRemoteCA updates for out-of-band error results (#223916)

Executor-side counterpart to #223378: adds ResultKind, the discriminator
a result message's tag field now carries, so that out-of-band errors can
travel as results despite having no byte representation of their own.

encodeResult and decodeResult own the encoding. handleMessage rejects a
tag that does not name a known kind, ending the session as an
unrecognized opcode does; a payload that will not decode is not fatal,
and comes back as an out-of-band error describing itself.

Nothing sends a non-zero kind yet -- SocketSimpleRemoteCA will, when it
frames a result. SimpleRemoteCATest covers the round-trips and both
malformed cases.


  Commit: ab8a9f9127cc0fbccd24a1e44a4e2e73c616d65e
      https://github.com/llvm/llvm-project/commit/ab8a9f9127cc0fbccd24a1e44a4e2e73c616d65e
  Author: Aman Maurya <amanmaurya9209 at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp

  Log Message:
  -----------
  [CIR][NFC] Restore LoadOp builders, LowerToLLVM, and CIRGenBuiltin fixes lost in #222481 (#223896)

Commit 35c6acb89abf (#222481) accidentally reverted parts of
cc5e9d63b4dc (#222822) in `CIROps.td`, `LowerToLLVM.cpp`, and
`CIRGenBuiltin.cpp`, which broke Linux CI with deprecation and template
instantiation errors.

This change restores those lost changes:
1. Re-adds `LoadOp` custom builders in `CIROps.td` so calls to
`cir::LoadOp::create(builder, loc, addr)` and
`cir::LoadOp::create(builder, loc, resultTy, addr)` do not resolve to
deprecated MLIR collective builders.
2. Restores `lowerConstrainableFPOp` in `LowerToLLVM.cpp` to pass
default properties and type range to `replaceOpWithNewOp`.
3. Restores `emitUnaryFPBuiltin` in `CIRGenBuiltin.cpp` to use
non-deprecated `Operation::create(cgf.getBuilder(), arg.getLoc(), arg)`.

Diagnosed by Antigravity, formatted with Gemini


  Commit: 5835ef200a1fdd0aa92578ee824772eea4143279
      https://github.com/llvm/llvm-project/commit/5835ef200a1fdd0aa92578ee824772eea4143279
  Author: Emery Conrad <conrade.ctc at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Decl.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    A clang/test/CodeGenCXX/top-level-stmt-local-names.cpp
    A clang/test/Interpreter/lambda-top-level-stmt.cpp

  Log Message:
  -----------
  [clang] Fix Itanium mangler crash on lambdas in top-level statements (#217041)

`clang-repl` asserts when a lambda in a top-level statement needs a
mangled name, for example `ns::call([]{});`. Since #84150 a
`TopLevelStmtDecl` is a `DeclContext`, and `manglePrefix` casts it to
`NamedDecl`.

Treat `TopLevelStmtDecl` as a local container and give it a synthesized
internal encoding (`L9__stmt__0v`), like `Ub_` for block literals.
Entities in a top-level statement then mangle as `<local-name>`s with
discriminators, so same-named locals in two statements do not collide.
Each `TopLevelStmtDecl` gets an ordinal at creation, in parse order; it
is serialized.

Tests: `Interpreter/lambda-top-level-stmt.cpp` (crashes without the fix)
and `CodeGenCXX/top-level-stmt-local-names.cpp` (two lambdas, two
same-named local classes). The interpreter test is `UNSUPPORTED:
system-windows`: MSVC compat enables `-fdelayed-template-parsing`, and
clang-repl asserts on any late-parsed template in a later fragment,
lambda or not.

Co-authored-by: Emery Conrad <emery.conrad at chicagotrading.com>


  Commit: 54e36c83bc42b2a15d75eee3fc7a61eaf44a4e3a
      https://github.com/llvm/llvm-project/commit/54e36c83bc42b2a15d75eee3fc7a61eaf44a4e3a
  Author: renndong <liumingliang.dev at bytedance.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Basic/riscv_vector_common.td
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vunzipe.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vunzipo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vzip.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vunzipe.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vunzipo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vzip.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vunzipe.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vunzipo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vzip.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vunzipe.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vunzipo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vzip.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vpaire.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vpairo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vunzipe.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vunzipo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vzip.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vpaire.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vpairo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vunzipe.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vunzipo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vzip.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpaire.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpairo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vunzipe.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vunzipo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vzip.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpaire.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpairo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vunzipe.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vunzipo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vzip.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/utils/TableGen/RISCVVEmitter.cpp
    M llvm/docs/RISCVUsage.md
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvzip.td
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zvzip-zve32f.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
    M llvm/test/CodeGen/RISCV/rvv/vmerge-peephole.mir
    M llvm/test/CodeGen/RISCV/rvv/vpairo.ll
    M llvm/test/CodeGen/RISCV/rvv/vunzipe.ll
    M llvm/test/CodeGen/RISCV/rvv/vunzipo.ll
    M llvm/test/CodeGen/RISCV/rvv/vzip.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/RISCV/rvv/zvzip-invalid.s
    M llvm/test/MC/RISCV/rvv/zvzip.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Update Zvzip support to v0.3 (#210603)

This updates the experimental Zvzip implementation to match the
v0.3 draft specification from RISC-V ISA manual PR:

https://github.com/riscv/riscv-isa-manual/pull/3233

In Zvzip 0.3, `vtype` and `vl` describe the destination vector for all
five instructions:

- `vzip.vv` produces a destination with EMUL=LMUL from two source
   operands with EMUL=LMUL/2. Its mask is indexed by destination
   elements and therefore has the mask type associated with the result
   vector. The overlap rule of `vzip.vv` matches widening vector
   arithmetic instructions;
  
- `vunzipe.v` and `vunzipo.v` produce a destination with EMUL=LMUL
   from a source operand with EMUL=2*LMUL. 

- `vunzipe.v` and `vunzipo.v` no longer have masked forms and are
   always encoded with `vm=1`. Their overlap rule matches narrowing
   arithmetic instructions.

- The instruction encoding of `zip.vv` is illegal when
   `2*SEW > LMUL*min(ELEN, VLEN)`, and the unzips when LMUL = 8.

- The destination of `vpaire.vv` and `vpairo.vv` may not overlap either
   source register group.

This PR is developed with @wangpc-pp and is based on his draft PR
https://github.com/llvm/llvm-project/pull/207971.

This PR is assisted by AI.

---------

Co-authored-by: Pengcheng Wang <wangpengcheng.pp at bytedance.com>


  Commit: d3e5f97569f0d058b4a58f5fab37e50f115e339d
      https://github.com/llvm/llvm-project/commit/d3e5f97569f0d058b4a58f5fab37e50f115e339d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  [RISCV] Replace decodeImmThreeOperand/decodeImmFourOperand with a template function. NFC (#223924)

Make the immediate a template argument that we can be provided in the
DecoderMethod name.


  Commit: 1c1edc2d34e181ac8cdd5aa81e218464e1e2a642
      https://github.com/llvm/llvm-project/commit/1c1edc2d34e181ac8cdd5aa81e218464e1e2a642
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M lldb/source/Host/CMakeLists.txt
    M lldb/source/Host/common/Host.cpp
    A lldb/source/Host/emscripten/Host.cpp

  Log Message:
  -----------
  [lldb] Support building lldbHost under Emscripten (#223206)

This builds on the new `HostInfoEmscripten` and `PlatformEmscripten`
support.

Emscripten provides many POSIX APIs, but it does not support `fork` or
native host process management. This patch allows `lldbHost` to build
under Emscripten without treating it as Linux.

It:

- avoids building the `ProcessLauncherPosixFork` implementation;
- adds a small Emscripten Host implementation;
- reports process enumeration, process lookup, launching and shell
expansion as unsupported.

The remaining generic POSIX Host functionality continues to be used.

This is enough for the current libLLDB and SB API experiment, while live
process debugging will be handled separately once we have an in-browser
execution backend.


  Commit: 3b8ee89006f5a228fce75528f8dd80b4229abcc1
      https://github.com/llvm/llvm-project/commit/3b8ee89006f5a228fce75528f8dd80b4229abcc1
  Author: Timur Baidusenov <timurbaidusenov at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/MustExecute.cpp
    A llvm/test/Analysis/MustExecute/no-preheader.ll

  Log Message:
  -----------
  [MustExecute] Use the loop predecessor instead of the preheader (#222096)

CanProveNotTakenFirstIteration() gets the IV start value via
LHS->getIncomingValueForBlock(CurLoop->getLoopPreheader()). If the loop
is not in simplified form, getLoopPreheader() returns null and the
lookup asserts. This is reachable from print<must-execute> on IR that is
not in LoopSimplify form (see the reproducer in #166488).

Fixed: use getLoopPredecessor() instead: it returns the unique
out-of-loop predecessor of the header even when it is not a dedicated
preheader, consequently the start value is still known. If there is no
such predecessor, bail out.

Fixes #166488.


  Commit: 3b42a54e4be903ab6e0ef996d0800ed4b75650bd
      https://github.com/llvm/llvm-project/commit/3b42a54e4be903ab6e0ef996d0800ed4b75650bd
  Author: Tomer Shafir <tomer.shafir8 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/misched-postra-only1.mir

  Log Message:
  -----------
  [MISched] Remove verify-machineinstrs from test(NFC) (#223679)


  Commit: 8d6f4149c163132024cf716a8eb1ef3ec4fad433
      https://github.com/llvm/llvm-project/commit/8d6f4149c163132024cf716a8eb1ef3ec4fad433
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  AArch64: Avoid depending on createDataLayout in a pass (#223776)

This should read directly from the context IR's module.


  Commit: 76bb77e45a478f91bef1ea7369119974c6449c94
      https://github.com/llvm/llvm-project/commit/76bb77e45a478f91bef1ea7369119974c6449c94
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
    M llvm/test/CodeGen/RISCV/rvv/pr83017.ll
    M llvm/test/CodeGen/RISCV/rvv/pr90559.ll

  Log Message:
  -----------
  [RISCV] Merge zeroing stores into wider LMUL vector stores (#223908)

memset lowers to LMUL1 vector stores (v2i64 for e64) that we rely on
store merging to widen. `storeOfVectorConstantIsCheap` counted the
number of MemVT-sized stores, so a v2i64 MemVT needed 4 stores before
merging kicked in, leaving two VL=2 m1 stores for a 32B zero region.

Use the total element count for zeroing stores so two v2i64 stores
merge into one VL=4 e64 m2 store.

Partially fixes #223906

Assisted-by: TRAE CLI (Opus 4.8)


  Commit: dd58c11c641d3e592331e57837fdd674d36dee82
      https://github.com/llvm/llvm-project/commit/dd58c11c641d3e592331e57837fdd674d36dee82
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/DebugInfo.h
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/Metadata.h
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/IR/Metadata.cpp
    M llvm/lib/IR/Verifier.cpp

  Log Message:
  -----------
  [IR] Simplify DIAssignID by storing its links in the node. NFC (#223324)

AssignmentTrackingPass generates DIAssignID metadata. A DIAssignID links
the instructions it is attached to, kept in
LLVMContextImpl::AssignmentIDToInstrs, with the dbg_assign records that
refer to it, found through a permanent use list (#78300 made DIAssignID
the only always-replaceable MDNode for this). Keep both lists in the
node as TinyPtrVector members instead (98% of instruction lists and
88-96% of record lists hold exactly one pointer), and drop the map and
`isAlwaysReplaceable()`.

Aided by Opus 5


  Commit: 6e180ea23fe0c2ddcc9e7972ec52b7fc1383d973
      https://github.com/llvm/llvm-project/commit/6e180ea23fe0c2ddcc9e7972ec52b7fc1383d973
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp
    M llvm/test/CodeGen/AMDGPU/opt-vgpr-live-range-verifier-error.mir
    M llvm/test/CodeGen/AMDGPU/si-opt-vgpr-liverange-bug-deadlanes.mir

  Log Message:
  -----------
  AMDGPU: Use LiveIntervals in SIOptimizeVGPRLiveRange when available (#222385)

LiveVariables has been long deprecated. Use LiveIntervals if available.
With the current pass structure, this will use LiveVariables.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: 10c37146ce3b3f850fb9afa9f00d02eb860ff237
      https://github.com/llvm/llvm-project/commit/10c37146ce3b3f850fb9afa9f00d02eb860ff237
  Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h

  Log Message:
  -----------
  [RISCV] Do not verify size for some Xqci instructions (#223913)

After instruction size verification was enabled by default in
https://github.com/llvm/llvm-project/pull/221687/ we were running into
crashes for certain 48-bit Xqci instructions. This was happening because
we have compress patterns for these 48-bit instructions to compress them
into 32-bit instructions which `getInstSizeInBytes` was not taking into
account.

The crash looks like:

```
Size mismatch for: QC_E_SW $x0, $x14, 0 :: (store (s32) into %stack.0)
Expected maximum size: 2
Actual size: 4
```

Do not verify size for such instructions until we can return the correct
size for them.


  Commit: f7cc8c8407551aabcd013555bafaafd62f0494fa
      https://github.com/llvm/llvm-project/commit/f7cc8c8407551aabcd013555bafaafd62f0494fa
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/SlotIndexes.h
    M llvm/lib/CodeGen/SlotIndexes.cpp
    M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
    A llvm/test/CodeGen/AMDGPU/si-lower-control-flow-remove-redundant-block-liveintervals.mir

  Log Message:
  -----------
  AMDGPU: Maintain LiveIntervals when removing blocks in SILowerControlFlow (#223642)

removeMBBifRedundant removed a redundant block's instructions from the
LiveIntervals maps but not the block itself, leaving a stale idx2MBBMap
entry that crashed getMBBFromIndex in the verifier.

Add SlotIndexes::removeMBBFromMaps to drop the erased block's slot
range, and recompute the intervals that spanned it.

Co-authored-by: Claude claude-opus-4.8 <noreply at anthropic.com>


  Commit: 5a0c86a17b467e867bf1c0cd8fd6b5bacb82f1d1
      https://github.com/llvm/llvm-project/commit/5a0c86a17b467e867bf1c0cd8fd6b5bacb82f1d1
  Author: Keshav Vinayak Jha <31160700+keshavvinayak01 at users.noreply.github.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/and-vgpr-s32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ballot.i64.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-and-s1.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-anyext.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-brcond.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-freeze.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbanklegalize.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sadde.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-select.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sext.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ssube.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sub.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-trunc.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uadde.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-usube.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-zext.mir

  Log Message:
  -----------
  [AMDGPU] Fix GlobalISel VGPR-to-VCC lowering types (#220987)

Register-bank legalization synthesized an untyped G_AND s32, but
instruction-selection patterns only matched typed G_AND i32, causing:

```
LLVM ERROR: cannot select: %:vgpr_32(s32) = G_AND ...
```

The source-level and i32 was valid; the incorrect type was introduced by
AMDGPU `VgprToVccCopy` lowering. SelectionDAG was unaffected because it
retained typed DAG nodes.

Assisted-by: Codex

---------

Signed-off-by: Keshav Vinayak Jha <keshavvinayakjha at gmail.com>


  Commit: 4beeff3c2bf125de9dda8b374ffc9ec052d02810
      https://github.com/llvm/llvm-project/commit/4beeff3c2bf125de9dda8b374ffc9ec052d02810
  Author: Mintsuki <36459316+Mintsuki at users.noreply.github.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    A clang/test/CodeGen/LoongArch/target-abi-module-flag.c

  Log Message:
  -----------
  [clang][LoongArch] Emit "target-abi" module flag (#223647)

The LoongArch backend reads the ABI from the "target-abi" module flag,
but clang only emits that flag for ARM, PowerPC and RISC-V. Since LTO code
generation doesn't see the -target-abi option passed to clang, it falls
back to the default ABI of the target, which is lp64d for
loongarch64-unknown-elf, regardless of the ABI the code was compiled for.

When an FPU is enabled, this silently miscompiles code built for another
ABI. For example, with -mabi=lp64s, functions get the lp64d calling
convention after LTO, passing and returning floating-point values in FP registers 
instead of general-purpose ones, and the output is marked as double-float. Nothing
reports this if every object goes through LTO. For instance, a shared library
built this way links without error, and so does lp64s code built without LTO that
uses it. Without an FPU, the generated code keeps the soft-float calling
convention, but the output is still marked as double-float.

The mismatch only shows up as an error when LTO output is linked
together with relocatable objects built without LTO, which LLD rejects with "cannot
link object files with different ABI".

This patch adds LoongArch to the targets for which clang emits the flag,
so LTO uses the ABI the code was compiled for. It follows the per-target
approach taken for ARM (#217601) and PowerPC (#221669), and leaves the existing 
TODO about emitting the flag for every target with a non-empty ABI name as is.

With the flag present, LTO-linking bitcode built for different LoongArch
ABIs now fails with "linking module flags 'target-abi': IDs have conflicting
values" instead of silently picking a single ABI. A -target-abi given to the LTO
backend that disagrees with the flag is now also an error. Both match the
existing RISC-V behavior.

Assisted-by: Claude Code (Claude Opus 5)

Signed-off-by: Mintsuki <mintsuki at protonmail.com>


  Commit: 39732305282242041dad8c8edad6a6b5804f1d3a
      https://github.com/llvm/llvm-project/commit/39732305282242041dad8c8edad6a6b5804f1d3a
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
    A llvm/test/CodeGen/AArch64/interleaved-load-combine-crossblock.ll

  Log Message:
  -----------
  [InterleavedLoadCombine] Do not combine loads across basic blocks (#223915)

This pass turns a group of interleaved loads into a single wide load
inserted at the first load. That is only valid when all of the loads are
in the same basic block. Otherwise the wide load can read memory that
the original program only accessed on a conditional path.

The offset index keyed candidates on base pointer, type and offset only,
so it could pair loads from different blocks. Restrict each block's
matching to candidates whose loads are in that block. This also keeps
the candidate list and index per block, so they stay small.

Fixes a miscompile introduced by #213053.


  Commit: e94698b83a74e6ee40438898b17bc49cbd47fcf5
      https://github.com/llvm/llvm-project/commit/e94698b83a74e6ee40438898b17bc49cbd47fcf5
  Author: Vikram Hegde <Vikram.Hegde at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll

  Log Message:
  -----------
  [AMDGPU][GISel][NPM] Complete Global ISel pipeline (#222552)


  Commit: 4126b9cf36c826ddf584fec395e0ee796b9db294
      https://github.com/llvm/llvm-project/commit/4126b9cf36c826ddf584fec395e0ee796b9db294
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpHelpers.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ExprConstShared.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/AST/ByteCode/cxx14.cpp
    M clang/test/AST/ByteCode/cxx26.cpp
    M clang/test/AST/ByteCode/cxx2a.cpp

  Log Message:
  -----------
  [clang][bytecode] Use a special opcode for trivial defaulted copy/move operator calls (#222332)

The default code that clang synthesizes for them contains calls to
`__builtin_memcpy`, e.g. in

```
CXXMethodDecl 0x7d471ee7cc90 <array.cpp:1983:10> col:10 implicit used constexpr operator= 'array &(const array &) noexcept' inline default trivial external-linkage
|-ParmVarDecl 0x7d471ee7cdd0 <col:10> col:10 used 'const array &'
`-CompoundStmt 0x7d471ee7e340 <col:10>
  |-CallExpr 0x7d471ee7e268 <col:10> 'void *'
  | |-ImplicitCastExpr 0x7d471ee7e248 <col:10> 'void *(*)(void *, const void *, __size_t) noexcept' <BuiltinFnToFnPtr>
  | | `-DeclRefExpr 0x7d471ee7e160 <col:10> '<builtin fn type>' Function 0x7d471ee7de88 '__builtin_memcpy' 'void *(void *, const void *, __size_t) noexcept'
  | |-ImplicitCastExpr 0x7d471ee7e2b0 <col:10> 'void *' <BitCast>
  | | `-UnaryOperator 0x7d471ee7dd18 <col:10> 'int (*)[4]' prefix '&' cannot overflow
  | |   `-MemberExpr 0x7d471ee7dca0 <col:10> 'int[4]' lvalue ->_M_elems 0x7d471ee52780
  | |     `-CXXThisExpr 0x7d471ee7dc88 <col:10> 'array *' this
  | |-ImplicitCastExpr 0x7d471ee7e2d0 <col:10> 'const void *' <BitCast>
  | | `-UnaryOperator 0x7d471ee7db38 <col:10> 'const int (*)[4]' prefix '&' cannot overflow
  | |   `-MemberExpr 0x7d471ee7dac0 <col:10> 'const int[4]' lvalue ._M_elems 0x7d471ee52780
  | |     `-DeclRefExpr 0x7d471ee7da98 <col:10> 'const array' lvalue ParmVar 0x7d471ee7cdd0 depth 0 index 0 'const array &'
  | `-IntegerLiteral 0x7d471ee7e1a8 <col:10> '__size_t':'unsigned long' 16
  `-ReturnStmt 0x7d471ee7e328 <col:10>
    `-UnaryOperator 0x7d471ee7e308 <col:10> 'array' lvalue prefix '*' cannot overflow
      `-CXXThisExpr 0x7d471ee7e2f0 <col:10> 'array *' this
```

However, this violates a contract of `__builtin_memcpy` if source and
destination are the same pointer, as in `*__first = *__first`, which is
happening in one of the attached test cases. The check for this is
correct though, so add a new opcode for this case. The functionality is
similar to `__builtin_memcpy` but it doesn't check for overlapping
regions (among others).


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


  Commit: 52ae463fb3ebb5de414fcd8a660ed035c40e9272
      https://github.com/llvm/llvm-project/commit/52ae463fb3ebb5de414fcd8a660ed035c40e9272
  Author: Jesse Huang <jesse.huang at sifive.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/test/Preprocessor/riscv-cf-protection-return.c

  Log Message:
  -----------
  [Clang][RISCV] Loose the requirement of cf-protection=return to Zimop (#223671)


  Commit: 72e9411e1bd481669ca9d6f7a55fe900ea5f4b36
      https://github.com/llvm/llvm-project/commit/72e9411e1bd481669ca9d6f7a55fe900ea5f4b36
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/lib/Interpreter/Wasm.cpp

  Log Message:
  -----------
  [clang-repl] Respect LLD's canRunAgain result (#223926)

Clang-Repl’s Wasm executor calls `lld::lldMain()` for every incremental
input, but currently ignores `Result.canRunAgain`.

Ordinary linker errors remain recoverable:

```text
retCode=1 canRunAgain=1
```

A fatal LLD error can instead return:

```text
retCode=1 canRunAgain=0
```

In that case, LLD’s state may no longer be safe. This patch follows
LLD’s standalone driver and calls `lld::exitLld()` rather than allowing
Clang-Repl to perform another incremental link.

I verified this with the real Emscripten `lldWasm` library: a normal
invalid wasm file input remained reusable (ordinary error), while a
valid but non-relocatable Wasm module triggered `canRunAgain=false`
(fatal error) and terminated the runtime with status 1.


  Commit: 59e842209b868ca110a285c92b8917a3e223995d
      https://github.com/llvm/llvm-project/commit/59e842209b868ca110a285c92b8917a3e223995d
  Author: Fady Farag <com.webkit.iidmsa at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    A clang/test/Analysis/Checkers/WebKit/call-args-checked-unique-ptr.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-counted-unique-ptr.cpp

  Log Message:
  -----------
  [alpha.webkit.UncountedCallArgsChecker] Look through unique_ptr::get() when finding a pointer's origin (#223568)

Previously, the checker only looked through `operator->` and `operator*`
on `std::unique_ptr`, `UniqueRef` and `LazyUniqueRef` when walking a
call argument back to its origin. It didn't include `get()` and `ptr()`
on those types, which caused an unnecessary warning. This includes
`get()` and `ptr()` on those types such that they are recognized and are
consistent with ref-counted and checked pointers.


  Commit: f2615d5db071454f1575d57db1e630afb77f6cb1
      https://github.com/llvm/llvm-project/commit/f2615d5db071454f1575d57db1e630afb77f6cb1
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/docs/LangRef.md
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/test/Transforms/InstSimplify/ConstProp/cttz-elts.ll
    M llvm/test/tools/llubi/intr_experimental_vector.ll
    M llvm/tools/llubi/lib/Interpreter.cpp

  Log Message:
  -----------
  [IR][InstSimplify] Clarify poison elements in cttz.elts results in poison (#223935)

The generic expansion for cttz.elts in LegalizeVectorOps is

    (reduce.umax (select input, step_vector, 0))

Because reductions produce poison if any element is poison, this will
also produce poison.

ConstantFolding currently has short circuiting behaviour, e.g.
`cttz.elts <0, 1, poison, poison> -> 1`, but we should probably make
this consistent with reductions and just return poison. This updates
LangRef and ConstantFolding to be more explicit about this.


  Commit: 353ab070f8b122df06c5aa40a5833e9639d4c9ca
      https://github.com/llvm/llvm-project/commit/353ab070f8b122df06c5aa40a5833e9639d4c9ca
  Author: Ömer Sinan Ağacan <omer at osa1.net>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/AggressiveInstCombine/trunc_illegal_type.ll

  Log Message:
  -----------
  [test][AggressiveInstCombine] Test type legality handling in `TruncInstCombine` (NFC) (#222930)

I noticed that this block of code that checks type legality in
`TruncInstCombine::getMinBitWidth` is not tested:

```
else { // MinBitWidth == TruncBitWidth
  // In this case the expression can be evaluated with the trunc instruction
  // destination type, and trunc instruction can be omitted. However, we
  // should not perform the evaluation if the original type is a legal scalar
  // type and the target type is illegal.
  bool FromLegal = MinBitWidth == 1 || DL.isLegalInteger(OrigBitWidth);
  bool ToLegal = MinBitWidth == 1 || DL.isLegalInteger(MinBitWidth);
  if (!DstTy->isVectorTy() && FromLegal && !ToLegal)
    return OrigBitWidth;
}
```

This commit adds tests.


  Commit: c53000a7282bedb125ffaab8cb072df85596d095
      https://github.com/llvm/llvm-project/commit/c53000a7282bedb125ffaab8cb072df85596d095
  Author: Aman Maurya <amanmaurya9209 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M libc/src/__support/OSUtil/linux/syscall_wrappers/fchmodat.h
    M libc/src/sys/stat/linux/CMakeLists.txt
    M libc/src/sys/stat/linux/fchmodat.cpp
    M libc/test/src/sys/stat/CMakeLists.txt
    M libc/test/src/sys/stat/fchmodat_test.cpp

  Log Message:
  -----------
  [libc] Reject unsupported flags in fchmodat with ENOTSUP (#223165)

### Summary
The Linux kernel's `SYS_fchmodat` system call only takes 3 arguments
(`dirfd`, `pathname`, `mode`), but our syscall wrapper was passing a 4th
`flags` argument that the kernel simply dropped.

This PR cleans up the wrapper to pass the 3 arguments expected by the
kernel, and adds a check to `fchmodat` to return `-1` with `ENOTSUP`
whenever non-zero flags (like `AT_SYMLINK_NOFOLLOW`) are passed.

Fixes #223072

### Changes
- Cleaned up `linux_syscalls::fchmodat` to pass only 3 arguments to
`SYS_fchmodat`.
- Added a check in `fchmodat` entrypoint to set `libc_errno = ENOTSUP`
and return `-1` if `flags != 0`.
- Added `libc.hdr.errno_macros` to the CMake dependencies for `fchmodat`
and its unit test.
- Added tests in `fchmodat_test.cpp` to verify that passing non-zero
flags fails with `ENOTSUP`.

### Testing
- Ran `clang-format` on touched files.
- Built and ran hermetic tests: `libc.test.src.sys.stat.fchmodat_test`
(all 3 tests pass: `ChangeAndOpen`, `NonExistentFile`,
`UnsupportedFlags`).


  Commit: d1e261e574e9612fe3f4056730809617323f1758
      https://github.com/llvm/llvm-project/commit/d1e261e574e9612fe3f4056730809617323f1758
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M libc/test/src/stdfix/FxDiviTest.h

  Log Message:
  -----------
  [libc] Fix fxdivi tests on 32-bit targets (#223675)

Guard saturation operands against overflow and correct boundary
expectations for the range and precision of 32-bit long.

Fixes issue introduced in a969579a9129891bccb63fcc69e76d74b299f322.

Assisted-by: Codex. Entirely done by the AI and reviewed by me.


  Commit: 43cb5e4766869fc13a104498f63906a64e37cf79
      https://github.com/llvm/llvm-project/commit/43cb5e4766869fc13a104498f63906a64e37cf79
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/IVDescriptors.h
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/unittests/Analysis/IVDescriptorsTest.cpp

  Log Message:
  -----------
  [IVDescriptors] Rename MonotonicDescriptor ConditionalInductionDescriptor (NFC) (#223707)

Rename `MonotonicDescriptor` to `ConditionalInductionDescriptor` to
acknowledge that the phi may wrap, so is not strictly monotonic.

Assisted-by: Codex


  Commit: 327153dcd71bbec2fa827b84fa513c7c6cf88ce0
      https://github.com/llvm/llvm-project/commit/327153dcd71bbec2fa827b84fa513c7c6cf88ce0
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M lldb/cmake/modules/FindCursesAndPanel.cmake
    M lldb/cmake/modules/FindLuaAndSwig.cmake
    M lldb/cmake/modules/FindPythonAndSwig.cmake
    M lldb/cmake/modules/LLDBConfig.cmake

  Log Message:
  -----------
  [lldb][cmake] Accept config-mode packages in add_optional_dependency (#222976)

`add_optional_dependency` copies the caller-supplied `<found>` variable
after `find_package`, and callers name the Find module's result
variable, which is usually all-caps (`LIBXML2_FOUND`, `CURSES_FOUND`). A
package located in config mode only sets `<PackageName>_FOUND`
(`LibXml2_FOUND`), so the copy comes back empty and the dependency is
reported as missing and silently disabled even though `find_package`
succeeded.

Set the result variable to TRUE when either `${found}` or
`${package}_FOUND` is set, FALSE otherwise.

Behavior for module-mode finds is unchanged; only the config-mode case,
which previously always evaluated to false, is affected.


  Commit: 05bc41ee93d1ca6b690edf7e5d6913b2c31e246d
      https://github.com/llvm/llvm-project/commit/05bc41ee93d1ca6b690edf7e5d6913b2c31e246d
  Author: Mariya Podchishchaeva <Mariya.Podchishchaeva at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    A clang/test/CIR/CodeGenHIP/cleanup-alloca-addrspace.hip

  Log Message:
  -----------
  [CIR] Fix address space of dest cleanup slot (#222628)

Make sure that flatten cfg creates new allocas for dest cleanup slot in
correct address space. This is important for address-space aware targets
like amdgpu.


  Commit: dabd9fe738cc20e8f4364c7b07a1f7f45d2a537d
      https://github.com/llvm/llvm-project/commit/dabd9fe738cc20e8f4364c7b07a1f7f45d2a537d
  Author: jiel-nv <37816794+jiel-nv at users.noreply.github.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/main_location.f90

  Log Message:
  -----------
  [flang] Attribute the generated entry point to the main program's start (#223742)

The `main` entry point that lowering generates for a Fortran main
program is attributed to the end-stmt of the last function-like unit
that was lowered. e.g.

```fortran
subroutine foo(x)
  real :: x
  x = x + 1.0
end subroutine foo

program demo
  real :: a
  a = 1.0
  call foo(a)
  print *, a
end program demo
```

`PROGRAM` is on line 6 and `end program` on line 11. 

The loc info shows up in FIR for the compiler generated C `main`
wrapper:

```
before this PR:  } loc("repro.f90":11:1)
after this PR:   } loc("repro.f90":6:1)
```


  Commit: 2c930a5f80d8c52e396b2bb53ba526729ca41796
      https://github.com/llvm/llvm-project/commit/2c930a5f80d8c52e396b2bb53ba526729ca41796
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M libc/src/__support/threads/CMakeLists.txt
    M libc/src/__support/threads/linux/aarch64/tcb.h
    M libc/src/__support/threads/linux/riscv/tcb.h
    M libc/src/__support/threads/linux/thread.cpp
    M libc/src/__support/threads/linux/x86_64/tcb.h
    M libc/src/__support/threads/thread.cpp
    M libc/src/__support/threads/thread.h
    M libc/src/__support/threads/thread_attributes.h
    M libc/src/stdlib/exit.cpp
    M libc/startup/linux/CMakeLists.txt
    M libc/startup/linux/aarch64/tls.cpp
    M libc/startup/linux/do_start.cpp
    M libc/startup/linux/riscv/tls.cpp
    M libc/startup/linux/x86_64/tls.cpp
    M libc/test/integration/src/pthread/CMakeLists.txt
    A libc/test/integration/src/pthread/pthread_tls_align_test.cpp

  Log Message:
  -----------
  [libc] Store ThreadAttributes in the TCB (#220921)

This patch replaces the `thread_local self` object with the
ThreadAttributes pointer stored in the TCB.  current_thread() now
fetches this pointer directly via get_current_thread_attrib().

Since every thread now needs a TCB, init_tls can no longer bail out
when app.tls.size == 0 (this was actually dead code before this patch
since every binary contained at least one thread-local variable
(`self)`). I've removed that check and updated do_start to always set up
a TCB (defaulting to alignment 1 if there is no TLS segment).

The motivation for this change is to make the pthread_self function
async-signal-safe (as required by POSIX), including in the cases where
the function is invoked from a signal hander on the newly created thread
-- before pthread_create returns. This requires making sure that the
thread attribute pointer is initialized from the very first instruction
of the new thread -- something which is hard to do when the attributes
are stored in a TLS variable. This also aligns us with how other C
libraries operate.

While in there, I also remove atexit_callback_mgr from ThreadAttributes.
It simplifies thread startup, and the field was always initialized to
point to the same object anyway. If needed, this can always be changed
later.

Since aligning the various parts of the TLS block is the trickiest part
of this patch, I also add a test that verifies that we've done that
correctly.

Assisted-by: Gemini.


  Commit: 251e728cfae889b0e3f8e74d8a5dca2260da494b
      https://github.com/llvm/llvm-project/commit/251e728cfae889b0e3f8e74d8a5dca2260da494b
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
    M clang/test/Sema/LifetimeSafety/safety.cpp

  Log Message:
  -----------
  [LifetimeSafety] Suppress annotation inference for owner-capturing constructors (#223635)


  Commit: 25564da401e7a93404bd116fe81ded7c94544a05
      https://github.com/llvm/llvm-project/commit/25564da401e7a93404bd116fe81ded7c94544a05
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-09-16 (Wed, 16 Sep 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/pthread-macros.h
    M libc/include/llvm-libc-types/pthread_attr_t.h
    M libc/include/pthread.yaml
    M libc/src/pthread/CMakeLists.txt
    A libc/src/pthread/pthread_attr_getinheritsched.cpp
    A libc/src/pthread/pthread_attr_getinheritsched.h
    M libc/src/pthread/pthread_attr_init.cpp
    M libc/src/pthread/pthread_attr_init.h
    A libc/src/pthread/pthread_attr_setinheritsched.cpp
    A libc/src/pthread/pthread_attr_setinheritsched.h
    M libc/test/src/pthread/CMakeLists.txt
    M libc/test/src/pthread/pthread_attr_test.cpp

  Log Message:
  -----------
  [libc] Implement pthread_attr_[gs]etinheritsched (#223322)

This patch implements pthread_attr_setinheritsched and
pthread_attr_getinheritsched.

Like the previous scheduler attribute patches, this commit only operates
on the pthread_attr_t object and does not attempt to install scheduling
parameters when creating a new thread.

Unlike schedpolicy and schedparam, where the validity of arguments is
checked by the kernel, inheritsched is purely a userspace pthread
concept. Therefore, we validate the inheritsched argument and reject
unsupported values with EINVAL.

While in there:
- update the file headers in pthread_attr_init to the modern llvm format
- use proxy headers instead of direct pthread.h inclusion

Assisted-by: Gemini


  Commit: 49fd850587bf7d6f235687f348a1e0b201738dba
      https://github.com/llvm/llvm-project/commit/49fd850587bf7d6f235687f348a1e0b201738dba
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/unittests/ADT/STLExtrasTest.cpp

  Log Message:
  -----------
  [ADT] Add make_isa_range to filter and downcast a range by type (NFC) (#223414)

Add a range adaptor that keeps only the elements of a range that isa<T>
holds for, casting each of them to T.

This replaces the common idiom of filtering by type in the loop body

```
  for (Instruction &I : *BB) {
    auto *PN = dyn_cast<PHINode>(&I);
    if (!PN)
      continue;
    ... use PN ...
  }
```

with

```
  for (PHINode &PN : make_isa_range<PHINode>(*BB))
    ... use PN ...
```

This pattern is quite widespread in the LLVM codebase, and follow-up
commits will migrate use-sites step-by-step.

This is the helper from
https://github.com/llvm/llvm-project/pull/222770, moved to STL.

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


  Commit: 91d09ca8162338ab5cccd7f199275db9805b95bd
      https://github.com/llvm/llvm-project/commit/91d09ca8162338ab5cccd7f199275db9805b95bd
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M lldb/source/ValueObject/ValueObjectRegister.cpp
    M lldb/test/API/python_api/value/TestValueAPI.py

  Log Message:
  -----------
  [lldb] Look up register set children by their own name too (#223857)

On Windows x86_64, LLDB's register tables only list the full width
registers, so the ABI adds the sub-registers itself and puts them in a
separate "supplementary registers" set. That set contains `sp`, but
looking up `sp` in it failed: the lookup first turns `sp` into `rsp`,
and `rsp` is in the general purpose set, not this one. Linux doesn't hit
this because its tables already define the sub-registers next to `rsp`.

Now the lookup falls back to matching the name as written against the
registers of that set, so a register you can reach with
`GetChildAtIndex` can also be found by name. Lookups that already worked
are unchanged.

Fixes https://ci-external.swift.org/job/lldb-windows/job/main/3879/


  Commit: c02715b01a9d42d5391c8eb230d72c590681cc8e
      https://github.com/llvm/llvm-project/commit/c02715b01a9d42d5391c8eb230d72c590681cc8e
  Author: Vikash Gupta <Vikash.Gupta at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-trunc-ssat-usat.mir

  Log Message:
  -----------
  [GlobalISel] Add saturating G_TRUNC support for computeKnownBits (#223929)

Port the saturating-truncate KnownBits handling to the GlobalISel. Look
through G_TRUNC_SSAT_S, G_TRUNC_SSAT_U and G_TRUNC_USAT_U by recursing
into the source operand and applying KnownBits::truncSSat, truncSSatU
and truncUSat respectively.


  Commit: f1078606d2e7d6da56b584c5acb61077ed824c6f
      https://github.com/llvm/llvm-project/commit/f1078606d2e7d6da56b584c5acb61077ed824c6f
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    A llvm/test/CodeGen/AMDGPU/atomic-optimizer-volatile.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-scan.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_iterative_scan.ll
    M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
    M llvm/test/CodeGen/AMDGPU/mubuf.ll

  Log Message:
  -----------
  [AMDGPU] Skip volatile atomics in the atomic optimizer (#223927)

Folding a wavefront into one atomic changes the number of volatile
operations, which is not allowed


  Commit: 1e0f6b00bd0a899737a88c875d67d7484f1bc892
      https://github.com/llvm/llvm-project/commit/1e0f6b00bd0a899737a88c875d67d7484f1bc892
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  AArch64: Avoid createDataLayout just to check endianness (#223946)

The endianness can be checked from the triple, avoiding a datalayout
copy.


  Commit: 98bfb41e304b868e308dae8834c8fdbe1e220677
      https://github.com/llvm/llvm-project/commit/98bfb41e304b868e308dae8834c8fdbe1e220677
  Author: Oscar Priego <oscar.priegov at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  [AArch64] Remove unreachable DUPLANE lowering. NFC (#222418)

`LowerBUILD_VECTOR` handles non-constant `BUILD_VECTOR` splats by
emitting
`AArch64ISD::DUP`.

The following `DUPLANE` path checks `Value.getValueType()` against `VT`.
`Value` is a scalar `BUILD_VECTOR` operand while `VT` is the vector
result
type, so this condition cannot be false and the `DUPLANE` path is
unreachable.

Remove the dead path. `DUP`s of `EXTRACT_VECTOR_ELT` are already
converted
to `DUPLANE` by `performDUPCombine()` after legalization.

No codegen changes intended.

Fixes #222138


  Commit: eb9091da5c418a5c383a5da7fb39a1e22ba7c60d
      https://github.com/llvm/llvm-project/commit/eb9091da5c418a5c383a5da7fb39a1e22ba7c60d
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
    A llvm/test/CodeGen/AArch64/interleaved-load-combine-may-not-return.ll

  Log Message:
  -----------
  [InterleavedLoadCombine] Do not widen loads past a may-not-return instr (#223954)

The combined load reads the whole span at once and is inserted at the
first load, so it effectively hoists the later loads up to that point.
If an instruction between them may not transfer control to its successor
-- a call that might not return, or might throw -- then a load the
original program reached only conditionally would run unconditionally.

All combined loads are in one block, so bail unless the span from the
first to the last load is guaranteed to transfer execution to its
successor.

This gap predates the offset-index change; the old findPattern() did not
check for it either.

Assisted by AI tools.


  Commit: 59a1a3289d90b76bedb1013c8ac47b0a9ad5c95f
      https://github.com/llvm/llvm-project/commit/59a1a3289d90b76bedb1013c8ac47b0a9ad5c95f
  Author: Philip742 <philip.wilkinson at arm.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/ops.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 MXFP in SLICE (#220557)

Adds support to profile compliance for MXFP variants of SLICE


Change-Id: I184fbd49ef667d8d4e0ee09a2e65a72095d61daa

---------

Signed-off-by: Philip Wilkinson <philip.wilkinson at arm.com>


  Commit: fd63167bbd7f0193f21129abe49604b98f777cdc
      https://github.com/llvm/llvm-project/commit/fd63167bbd7f0193f21129abe49604b98f777cdc
  Author: Christian Kandeler <christian.kandeler at qt.io>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  [clangd] Include the operator name in documentHighlight (#220518)

## Summary
- Placing the cursor on an overloaded operator's declaration (e.g.
`operator new`, `operator[]`) and requesting
`textDocument/documentHighlight` only highlighted the `operator` keyword
itself, not the name or symbol that follows it (`new`, `[]`, etc.), even
though that name is what's actually significant to the user.
- `ReferenceFinder` already splits some references into several spelled
tokens (used for Objective-C's split selector syntax); this reuses that
mechanism for the operator name too, extracting the tokens spelled in
the operator name's source range. This only applies to the declaration's
own occurrence.

## Test plan
- [x] `ninja check-clangd` passes
- [x] New cases added to `HighlightsTest.All` in
`clang-tools-extra/clangd/unittests/XRefsTests.cpp` covering `operator
new`, `operator delete` (clicking on either the keyword or the name),
and a multi-token operator (`operator()`)


  Commit: 3723ac3407bc09d0b822df08f17228eed8fa76a3
      https://github.com/llvm/llvm-project/commit/3723ac3407bc09d0b822df08f17228eed8fa76a3
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M libcxxabi/src/private_typeinfo.cpp

  Log Message:
  -----------
  [libc++abi][NFC] Return const void* from __dynamic_cast (#223737)

`__dynamic_cast` is only called magically by the compiler, so it really
doesn't matter what the exact protoype is as long as it's ABI
compatible. Making the return type a `const void*` simplifies the
implementation a bit though.


  Commit: 0aa2a2f2451052f1f43a26f3c545b705e2702d87
      https://github.com/llvm/llvm-project/commit/0aa2a2f2451052f1f43a26f3c545b705e2702d87
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 2c930a5 (#223955)

This fixes 2c930a5f80d8c52e396b2bb53ba526729ca41796 (#220921).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=2c930a5f80d8c52e396b2bb53ba526729ca41796

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


  Commit: e5fa11f89ebe04877fdab1d5b1274a771e760ae5
      https://github.com/llvm/llvm-project/commit/e5fa11f89ebe04877fdab1d5b1274a771e760ae5
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M lldb/source/Host/common/Socket.cpp
    M lldb/tools/lldb-server/lldb-platform.cpp
    M lldb/unittests/Host/SocketTest.cpp
    M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp
    M lldb/unittests/TestingSupport/Host/SocketTestUtilities.h

  Log Message:
  -----------
  [lldb][Windows] Support AF_UNIX domain sockets (#205618)

Enable the Windows `AF_UNIX` domain-socket support added in #205864 by
flipping the `#if LLDB_ENABLE_POSIX` guards to `#if LLDB_ENABLE_POSIX ||
defined(_WIN32)`.

Also updates `SocketTest.cpp` to exercise `ProtocolUnixDomain` on
Windows (while still excluding ProtocolUnixAbstract, which has no
Windows equivalent).

This is part of a longer set of patches to fix tests on
`LLDB_USE_LLDB_SERVER=1`.


  Commit: 150eb1f1c8a70b121d0c22de47a6496b2a7551bb
      https://github.com/llvm/llvm-project/commit/150eb1f1c8a70b121d0c22de47a6496b2a7551bb
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  [NFC][AArch64ISelLowering] Use get{Extract/Insert}VectorElt helpers. (#222979)


  Commit: 7e960a831b1aca0f74ba9937bb08cf27ea420e81
      https://github.com/llvm/llvm-project/commit/7e960a831b1aca0f74ba9937bb08cf27ea420e81
  Author: EuphoricThinking <agata.momot at intel.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/include/MemoryManager.h
    M offload/plugins-nextgen/cuda/src/rtl.cpp

  Log Message:
  -----------
  [offload] add handling of memory alignment to MemoryManagerTy (#218418)

Previously, memory alignment was handled internally by the device. The
`MemoryManagerTy` either redirected large allocation requests directly
to the device or stored pointers to the smaller memory chunks in pools.
The information about the alignment expected by the user was just passed
by the `MemoryManagerTy` to the device allocators. However, most vendors
do not provide an API for specifying the alignment of the memory
allocation (except for the Level Zero plugin), allowing only for
verification of whether the returned pointer is correctly aligned. In
this patch, `MemoryManagerTy` allocates excess memory and performs
pointer arithmetic on the pointer returned by the device allocator, so
that the final pointer is aligned accordingly regardless of the plugin.

NodeTy has two new fields:
- `BasePtr`: the pointer to the originally allocated memory
- `Ptr`: the pointer returned to the caller, possibly after pointer
arithmetic operations on `BasePtr` for ensuring the requested alignment.

Pointer arithmetic is performed when a specific alignment is requested
or when the chosen pointer from the memory pool is being reused after an
aligned allocation, since `Ptr`s are not reset to `BasePtr`s during
deallocation.

The Alignment parameter is preserved in the plugin-side implementations
of `allocate()` for validation purposes, since the device allocations
might have granularity which is not compatible with the requested
alignment.

The presented changes are part of the series of patches introducing
memory alignment. The next patch will remove the doubling of the memory
alignment management in the `MemoryManagerTy` and the Level Zero plugin,
leaving the implementation in `MemoryManagerTy`.


  Commit: c7d4c008350c6b66112de0278aa74cd72fedc180
      https://github.com/llvm/llvm-project/commit/c7d4c008350c6b66112de0278aa74cd72fedc180
  Author: RachinskiyMaksim <rachinskii.mv at phystech.edu>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Core/Relocation.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/runtime/X86/rela-plt-order.c

  Log Message:
  -----------
  [BOLT] Prevent rela.plt reordering (#219447)

[BOLT]  Preserve the original order of DT_JMPREL relocations.

BOLT reorders .rela.plt entries without also updating the corresponding
PLT stub relocation indices. This patch preserves the original order of
DT_JMPREL relocations by recording their original indices and using
those indices when emitting them. We store the original `DT_JMPREL`
index directly on each relocation.

AI tools (codex) were used to assist with implementation.

Related to https://github.com/llvm/llvm-project/issues/207222


  Commit: 0a8eb54dd990f8d9649f01aee1d2c0cbff3b68ac
      https://github.com/llvm/llvm-project/commit/0a8eb54dd990f8d9649f01aee1d2c0cbff3b68ac
  Author: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M openmp/runtime/test/ompt/callback.h

  Log Message:
  -----------
  [OpenMP][OMPT] Fixes current_address printing on RV64GC (#223681)

A previous commit increased the number of arguments passed to printf in
print_possible_return_addresses(addr) but forgot to change the format in
order to include the new argument.

Fixes: 4e19543b1a85 (FIX some OMPT tests that fail on RISC-V (#156914),
2026-07-24)


  Commit: 762aa86b8ebff9b840e2ec76e015b28051ea7158
      https://github.com/llvm/llvm-project/commit/762aa86b8ebff9b840e2ec76e015b28051ea7158
  Author: David Green <david.green at arm.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
    M llvm/test/CodeGen/AArch64/cttz-of-bool-vector-bitcast.ll
    M llvm/test/CodeGen/AArch64/partial-reduction-add-predicated.ll
    M llvm/test/CodeGen/AArch64/zext-shuffle.ll

  Log Message:
  -----------
  [AArch64] Canonicalize NVCAST to bitcast under LE (#223388)

A NVCAST is equivalent to a BITCAST under LE. This canonicalises the
NVCAST to BITCAST under LE like we do for ARM, so there is only one
representation, then fixes up the places that were assuming nvcast.


  Commit: 09f4207015216928e92bbcdef1f954db1daab7e9
      https://github.com/llvm/llvm-project/commit/09f4207015216928e92bbcdef1f954db1daab7e9
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll

  Log Message:
  -----------
  [SLP][NFC]Add extra bool mask tests, NFC



Reviewers: 

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


  Commit: de1d4bafa475f2206fffe878789dd29d22197b2f
      https://github.com/llvm/llvm-project/commit/de1d4bafa475f2206fffe878789dd29d22197b2f
  Author: Tomohiro Kashiwada <kikairoya at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/SemaCXX/dllexport.cpp
    M clang/test/SemaCXX/dllimport.cpp

  Log Message:
  -----------
  [Clang] Warn about ignored dllimport on explicit instantiations (#191392)

Diagnose about a non-effective dllimport attribute on an explicit
instantiation declaration for a specialization which
was already (implicitly) instantiated somewhere, rather than ignoring it
silently.

related to #21132


  Commit: 89d02eebfb7d3c01f9a500a1682be6e5e58a4c17
      https://github.com/llvm/llvm-project/commit/89d02eebfb7d3c01f9a500a1682be6e5e58a4c17
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/test/CodeGen/SPIRV/transcoding/func_param_attr.ll

  Log Message:
  -----------
  [SPIR-V] Emit NoReadWrite decoration for readnone function parameters (#223699)


  Commit: 8167678860e17c5c20aaaf0f863ef70861b3b9f1
      https://github.com/llvm/llvm-project/commit/8167678860e17c5c20aaaf0f863ef70861b3b9f1
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  [lldb][windows] support long path in loaded modules cache (#206117)

`NativeProcessWindows::CacheLoadedModules` truncates paths longer than
260 characters.

This patch changes how modules are resolved:

- Query the untruncated image path with `GetModuleFileNameExW`.
- Canonicalize it through a handle to the image file with
`GetFinalPathNameByHandleW(FILE_NAME_NORMALIZED | VOLUME_NAME_DOS)`.
- Strip the extended length prefixes so the cached path matches the
ordinary Win32 form lldb produces elsewhere.


  Commit: b1076da7495e46e7a28eb82f26931028bf47aaed
      https://github.com/llvm/llvm-project/commit/b1076da7495e46e7a28eb82f26931028bf47aaed
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  [llvm-jitlink] Replace pipes with unix domain sockets. (#223941)

Replace pipes with unix domain sockets for basic out-of-process
execution.

The new ORC runtime doesn't support pipes -- this changes will enable
llvm-jitlink to connect to the new ORC runtime's executor (once it
lands).


  Commit: e3974cd35965a239fc75644f249cbd24377959db
      https://github.com/llvm/llvm-project/commit/e3974cd35965a239fc75644f249cbd24377959db
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/X86/dagcombine-concat-undef-vs-poison.ll

  Log Message:
  -----------
  Avoid making vector more poisonous in visitCONCAT_VECTORS (#223492)

Fix a miscompile bug found in visitCONCAT_VECTORS.

In commit 544c300f43961 (from January 25 2026) the DAGCombiner started
to use poison instead of undef when rewriting a CONCAT_VECTORS as a
BUILD_VECTOR. Problem was that it was using poison also for elements
that were undef before the fold, making the result more poisonous. That
caused miscompiles as reported in PR #222857.

The fix is to make sure we only use a poison value as operand in the new
BUILD_VECTOR if the input to CONCAT_VECTORS also is poison.

Same kind of fixup is done for combineConcatVectorOfConcatVectors and
combineConcatVectorOfShuffleAndItsOperands (both helpers used by
visitCONCAT_VECTORS). Those funtions were also modified in commit
544c300f43961, all without any motivating test cases showing that it is
correct to use poison. I do not have any test cases proving that those
two helpers also could cause miscompiles, but neither that the rewrites
was correct after commit 544c300f43.

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


  Commit: 938754a27588b581f4c62532ff84b2f253f31a24
      https://github.com/llvm/llvm-project/commit/938754a27588b581f4c62532ff84b2f253f31a24
  Author: Jan Trusiłło <jan.trusillo at intel.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M offload/plugins-nextgen/common/include/MemoryManager.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/test/offloading/struct_mapping_with_pointers.cpp

  Log Message:
  -----------
  [offload] Fix minor memory manager alignment bugs (#223979)

The alignment handling introduced in #218418 left three minor issues:
- Adding alignment padding could overflow size_t, potentially turning an
excessive allocation (most feasibly caused by erroneous caller-side
underflow) into a small one.
- struct_mapping_with_pointers.cpp still expected the old allocation log
format.
- When the memory manager was disabled, GenericDeviceTy::dataAlloc() did
not verify that the device allocator returned a suitably aligned
pointer.

This patch:

- Checks for overflow before calculating the padded allocation size.
- Updates the log checks to accept the requested and padded sizes.
(Worth considering: should these checks even exist?)
- Validates alignment on the direct device-allocation path. A misaligned
allocation is freed and reported as unsupported. (A cleanup patch will
be made later that will decouple alignment-related behavior from pooling
behavior.)

See #218418 comments for additional discussion on the issues.

Assisted-by: Codex


  Commit: b8e720436725e1386985b7bdeabaca677ff498bb
      https://github.com/llvm/llvm-project/commit/b8e720436725e1386985b7bdeabaca677ff498bb
  Author: Sirui Mu <msrlancern at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  [CIR][NFC] Cleanup unhandled NYI in atomic libcall codegen (#223732)

This patch cleans up the unhandled NYIs in the CIRGen path for atomic
operation library calls. This patch should be NFC.


  Commit: 77aa4b9ac117acfcd7384166cccd4a333829bf81
      https://github.com/llvm/llvm-project/commit/77aa4b9ac117acfcd7384166cccd4a333829bf81
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
    A lldb/test/API/macosx/expedited-recent-reads/Makefile
    A lldb/test/API/macosx/expedited-recent-reads/TestExpeditedRecentReads.py
    A lldb/test/API/macosx/expedited-recent-reads/main.c
    M lldb/tools/debugserver/source/RNBRemote.cpp
    M lldb/tools/debugserver/source/RNBRemote.h

  Log Message:
  -----------
  [lldb][debugserver] Expedite the memory ranges lldb read most recently (#223417)

The rationale of this change is that if user/ide/lldb reads memory on
some address, it more likely to read them again in next stop.  If
debugserver expedites the memory of recent reads in public stop, lldb
won't send memory read packet to read them again. Those addresses are
already known when the previous stop ends.

Expedite up to 16 memory ranges (at most 512 bytes each) read by `m`,
`x`, and `MultiMemRead` in `jThreadsInfo` for the stopped thread, and
advertise `ExpediteRecentReads+` via `qSupported`. Re-reading a range
moves it to the newest slot, and the ring is cleared on exec.

The gain is large in three use cases:
- TLS variables. `DynamicLoaderDarwin::GetThreadLocalData` reads the TLS
  thunk and then calls its `get_addr` in the target, and each such call
  surfaces as a public stop, in `ProcessEventData::DoOnRemoval`. lldb
  clears its memory cache at every stop, so the thunk and its data block
  were read again at each one. Three `frame variable tls_var tls_double`
  commands on a two-variable test program send 205 memory-read packets
  before this change and 9 after; the reads at that one call site go
  from 22 to 2.
- conditional breakpoints: one every stop, lldb reads the same variables
  evaluate the condition, and resumes the execution if condition is
  false.  After this change, these variables are expedited in stop, and
  lldb doesn't need to send memory read packets, `x` packet is reduced
  from 473 to 432.
- pointer-chase reads. Printing an Objective-C object reads the isa
  pointer, then walks the class and its method lists, in
  `ClassDescriptorV2::method_list_t::Read` and `method_t::ReadNames`.
  None of that is on the stack that the frame 0 expedite covers. A `po`
  of one object sends 387 memory-read packets before and 368 after.

Assisted-by: claude


  Commit: 9438c6f46ec922d81d4a98f0bab50ecbd27d4ead
      https://github.com/llvm/llvm-project/commit/9438c6f46ec922d81d4a98f0bab50ecbd27d4ead
  Author: Tim Besard <tim.besard at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/AArch64/load-latency-fallback.ll

  Log Message:
  -----------
  [AArch64] Fix load latency costs without a usable scheduling class (#223416)

#201567 made AArch64TTIImpl::getMemoryOpCost query the scheduling model
for the latency of loads, but that information isn't always available:

* CPUs without a scheduling model (carmel, which uses NoSchedModel) call
getSchedClassDesc on a null table. This asserts with "No scheduling
machine model" and segfaults in release builds. It is reachable from
SelectionDAGBuilder::shouldKeepJumpConditionsTogether when compiling
functions with target-cpu=carmel.
* Invalid scheduling classes (integer loads on oryon-1, and LDR_ZXI on
the models without SVE when +sve is enabled) give a latency of 0 for
single loads and very large latencies for loads split into several.
* Variant scheduling classes (FP/vector loads on c1-nano, c1-premium and
c1-ultra) can't be resolved without an instruction and give the same
bogus values.

In these cases fall back to the default load latency of the scheduling
model, using the same formula as the fixed load latency path. CPUs whose
scheduling model describes the loads are unaffected.


  Commit: a2b905f109ae2c80ddfc90ab7a8a56edece5d950
      https://github.com/llvm/llvm-project/commit/a2b905f109ae2c80ddfc90ab7a8a56edece5d950
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-pass-statistics.mlir
    M mlir/test/Dialect/LLVMIR/sroa-statistics.mlir
    M mlir/test/Dialect/MemRef/mem2reg-statistics.mlir
    M mlir/test/Dialect/Tensor/fold-consecutive-insert-extract-slice.mlir
    M mlir/test/Dialect/Tensor/fold-tensor-subset-ops.mlir
    M mlir/test/Dialect/Tensor/tracking-listener.mlir
    M mlir/test/Pass/pipeline-stats-nested.mlir
    M mlir/test/Pass/pipeline-stats.mlir
    M mlir/test/mlir-runner/async-error.mlir
    M mlir/test/mlir-runner/async-func.mlir
    M mlir/test/mlir-runner/async-group.mlir
    M mlir/test/mlir-runner/async-value.mlir
    M mlir/test/mlir-runner/async.mlir
    M mlir/test/mlir-runner/x86-varargs.mlir

  Log Message:
  -----------
  [mlir] Mark tests broken on x86 appropriately (#223981)

See https://github.com/llvm/llvm-project/issues/124541 and the
discussion on https://github.com/llvm/llvm-project/pull/220741.

Signed-off-by: Michał Górny <mgorny at gentoo.org>


  Commit: 6ebc12bb7d5764c08765caeb82c559e9b209ba7d
      https://github.com/llvm/llvm-project/commit/6ebc12bb7d5764c08765caeb82c559e9b209ba7d
  Author: Serval MARTINOT-LAGARDE <serval.ml6 at live.fr>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    A llvm/test/CodeGen/AArch64/sve-interleave-of-splat.ll

  Log Message:
  -----------
  [SDAG] Add scalable vector support to WidenVecOp_CONCAT_VECTORS (#219146)

This fixes a crash when lowering:
```
; llc -mattr=+sve crash.ll
define <vscale x 2 x float> @interleave2_nxv2f32(<vscale x 1 x float> %vec0, <vscale x 1 x float> %vec1) {
  %retval = call <vscale x 2 x float> @llvm.vector.interleave2.nxv2f32(<vscale x 1 x float> %vec0, <vscale x 1 x float> %vec1)
  ret <vscale x 2 x float> %retval
}
```

---------

Co-authored-by: Benjamin Maxwell <macdue at dueutil.tech>


  Commit: a91a4c7a7562637b3ed8af5e03788c503e1f0f65
      https://github.com/llvm/llvm-project/commit/a91a4c7a7562637b3ed8af5e03788c503e1f0f65
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M offload/ci/hip-tpl.py

  Log Message:
  -----------
  [HIP] Remove old LLVM test suite option spelling (#223943)

After a series of refactorings, we can remove the now obsolete option
spelling for the HIP kokkos tests.


  Commit: 2a4149803d3fe72e28ddae2962e6cf1569330944
      https://github.com/llvm/llvm-project/commit/2a4149803d3fe72e28ddae2962e6cf1569330944
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn

  Log Message:
  -----------
  [gn] port 1c1edc2d34e1 and 78bbf2229d2a (lldb emscripten) (#224003)


  Commit: 65b0cc5ec1a5694408978882be455d564b918b7a
      https://github.com/llvm/llvm-project/commit/65b0cc5ec1a5694408978882be455d564b918b7a
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/ValueObject/BUILD.gn

  Log Message:
  -----------
  [gn build] Port bb651180e3b1 (#224004)


  Commit: 2819c4e7933fa39599c527d5a07ca72b02da91e6
      https://github.com/llvm/llvm-project/commit/2819c4e7933fa39599c527d5a07ca72b02da91e6
  Author: Lewis Crawford <lcrawford at nvidia.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Support/APFloat.cpp
    A llvm/lib/Support/APFloatPowerOfFiveTable.inc
    M llvm/unittests/ADT/APFloatTest.cpp
    A llvm/utils/generate-apfloat-pow5-table.py

  Log Message:
  -----------
  [APFloat][Perf] Improve FP literal parsing speed and stack usage (#221701)

Rewrite APFloat decimal conversion to reduce stack use and speed up
floating-point literal parsing.

On an `llvm-as` test of 100k randomized half/float/double/fp128 global
constants, assembly time fell from 666 ms to 551 ms (17.3%) and peak
stack use fell from 25,912 B to 6,640 B (74.4%).

To achieve these results, there are several optimizations:
- Precomputing the powers-of-five factors, replacing a 1,205-word
runtime workspace with a 601-word constant table sufficient to construct
powers through 5^16383.
- Replacing the two fixed 600-word stack-based scratch/destination
buffers with SmallVectors that are dynamically sized based on the input,
drastically reducing stack usage.
- These SmallVectors allow for 16 64-bit words to be stored on the stack
(enough to cover ordinary f16/f32 inputs, which only need 2-6 words),
and larger doubles and fp128s get allocated on the heap instead.

Assisted-by: gpt-5.6-terra


  Commit: 988c5a95ffa7d118d3c67f21b78d52efbc7b0cfd
      https://github.com/llvm/llvm-project/commit/988c5a95ffa7d118d3c67f21b78d52efbc7b0cfd
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/CMakeLists.txt
    A compiler-rt/lib/sanitizer_common/sanitizer_offload.cpp
    A compiler-rt/lib/sanitizer_common/sanitizer_offload.h
    A compiler-rt/lib/sanitizer_common/sanitizer_offload_hsa.h
    A compiler-rt/lib/sanitizer_common/sanitizer_offload_image.cpp
    A compiler-rt/lib/sanitizer_common/sanitizer_offload_opcodes.h
    A compiler-rt/lib/sanitizer_common/sanitizer_offload_rpc.cpp
    A compiler-rt/lib/sanitizer_common/sanitizer_offload_rpc.h
    M compiler-rt/lib/ubsan/offload/CMakeLists.txt
    R compiler-rt/lib/ubsan/offload/hsa.h
    M compiler-rt/lib/ubsan/offload/ubsan_offload.h
    R compiler-rt/lib/ubsan/offload/ubsan_offload_hsa.cpp
    R compiler-rt/lib/ubsan/offload/ubsan_offload_hsa.h
    M compiler-rt/lib/ubsan/offload/ubsan_offload_hsa_interceptors.cpp
    M compiler-rt/lib/ubsan/offload/ubsan_offload_report.cpp
    R compiler-rt/lib/ubsan/offload/ubsan_offload_rpc.cpp
    R compiler-rt/lib/ubsan/offload/ubsan_offload_rpc.h
    R compiler-rt/lib/ubsan/offload/ubsan_offload_symbolize.cpp
    R compiler-rt/lib/ubsan/offload/ubsan_offload_symbolize.h
    M compiler-rt/lib/ubsan/ubsan_offload.cpp
    M compiler-rt/lib/ubsan/ubsan_offload_packet.h
    M compiler-rt/test/CMakeLists.txt
    A compiler-rt/test/Inputs/hip.h
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/lit.common.configured.in
    M compiler-rt/test/profile/lit.cfg.py
    M compiler-rt/test/ubsan/AMDGPU/abort.hip
    M compiler-rt/test/ubsan/AMDGPU/dedup.hip
    M compiler-rt/test/ubsan/AMDGPU/host-and-device.hip
    M compiler-rt/test/ubsan/AMDGPU/openmp-overflow.cpp
    M compiler-rt/test/ubsan/AMDGPU/overflow-i128.hip
    M compiler-rt/test/ubsan/AMDGPU/overflow.hip
    M compiler-rt/test/ubsan/AMDGPU/shift.hip
    M compiler-rt/test/ubsan/CMakeLists.txt
    R compiler-rt/test/ubsan/Inputs/hip.h
    M compiler-rt/test/ubsan/lit.common.cfg.py
    M compiler-rt/test/ubsan/lit.site.cfg.py.in

  Log Message:
  -----------
  [compiler-rt] Factor HSA layer into common helpers (#223532)

Summary:
This factors the UBSan HSA layer into a common layer so it can be
re-used for other sanitizers. The primary goal is to provide the
simplified interface into HSA (discovery, allocation, copying) and
manage the state that all sanitizers will need (RPC and symbolization).

This is intended as an NFC refactoring.


  Commit: 6327754ad4eb21b3c27034bc170e8b9944e5e318
      https://github.com/llvm/llvm-project/commit/6327754ad4eb21b3c27034bc170e8b9944e5e318
  Author: theRonShark <ron.lieberman at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/TargetID.h
    M clang/lib/Basic/TargetID.cpp
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/test/OffloadTools/clang-offload-bundler/basic.c
    M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  Revert "Reapply "clang: Use TargetID parsing from AMDGPUTargetParser" (#213824)" (#223983)

Reverts llvm/llvm-project#213847
Matt please look into our downstream failure :
https://amd-hub.atlassian.net/browse/LCOMPILER-2800


  Commit: cc0efa4e820e7b54ac97f00021d0cf39cc6915e4
      https://github.com/llvm/llvm-project/commit/cc0efa4e820e7b54ac97f00021d0cf39cc6915e4
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
    M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Add folder for spirv.SMulExtended(x, 1) (#214137)


  Commit: 3693a9b748c55b94994ff8ad6f48deffb1c90d40
      https://github.com/llvm/llvm-project/commit/3693a9b748c55b94994ff8ad6f48deffb1c90d40
  Author: Bruno De Fraine <bruno.defraine at globalfoundries.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/include/clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.h
    M clang/include/clang/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    M clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowExtractor.cpp
    M clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowFormat.cpp
    M clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
    M clang/unittests/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowWPATest.cpp
    M clang/unittests/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageWPATest.cpp
    M clang/unittests/ScalableStaticAnalysis/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp

  Log Message:
  -----------
  [SSAF][PointerFlow] Properly declare functions in header (#223390)

In a GCC build, this fixes some warnings of the following kind:

    clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.cpp:15:1: warning: ‘clang::ssaf::PointerFlowEntitySummary clang::ssaf::buildPointerFlowEntitySummary(EdgeSet)’ has not been declared within ‘clang::ssaf’
       15 | ssaf::buildPointerFlowEntitySummary(EdgeSet Edges) {
          | ^~~~
    In file included from clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.cpp:9:
    clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.h:29:35: note: only here as a ‘friend’
       29 |   friend PointerFlowEntitySummary buildPointerFlowEntitySummary(EdgeSet Edges);
          |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Fixed by centralizing the function declarations in the header, which
also removes the duplication across multiple files/tests.


  Commit: 9c972b8fdee869b7602c305bc96ceedbcd26fc5a
      https://github.com/llvm/llvm-project/commit/9c972b8fdee869b7602c305bc96ceedbcd26fc5a
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  Add maintainers for the MIPS backend (#223338)

As discussed in:

https://discourse.llvm.org/t/rfc-upstreaming-nanomips-support-to-llvm/91713/16

---------

Co-authored-by: Nikita Popov <github at npopov.com>


  Commit: 3892d6e6a1c538aab3ab3646bc162ae37bc0e64a
      https://github.com/llvm/llvm-project/commit/3892d6e6a1c538aab3ab3646bc162ae37bc0e64a
  Author: ahradwan2-public <ahmedwahab1997 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/ProfileData/InstrProfReader.cpp

  Log Message:
  -----------
  [ProfileData] Fix uint8_t loop index truncating bitmap byte count (#220620)

## Summary

`TextInstrProfReader::readNextRecord` reads a record's bitmap bytes with
a
`uint8_t` loop index compared against a `uint64_t` count:

```cpp
for (uint8_t I = 0; I < NumBitmapBytes; ++I) {
```

`NumBitmapBytes` is `uint64_t`, so when a text profile declares more
than 255
bitmap bytes the `uint8_t` index wraps around at 256 back to 0 and the
condition `I < NumBitmapBytes` can never become false. The loop then
stops only
when the input runs out (via the `is_at_end()` truncation check), so the
record
is mis-parsed: the reader runs past the intended `NumBitmapBytes` values
and
reports the profile as truncated instead of reading it correctly.

## Fix

Widen the loop index to `uint64_t` to match `NumBitmapBytes`, consistent
with the sibling counter loop a few lines above (`for (uint64_t I = 0; I
< NumCounters; ++I)`):

```cpp
for (uint64_t I = 0; I < NumBitmapBytes; ++I) {
```

#### Assisted by: Claude

#### I don't have commit access, could you please merge this?

Co-authored-by: Ahmed Radwan <ahradwan at amd.com>


  Commit: 975e7e325515013227bd94b5d30b1fa4414b6e1a
      https://github.com/llvm/llvm-project/commit/975e7e325515013227bd94b5d30b1fa4414b6e1a
  Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    A flang/test/Lower/OpenMP/hlfir-to-fir-conv-omp.mlir
    M flang/test/Lower/OpenMP/host-eval.f90
    A flang/test/Lower/OpenMP/target-spmd-reduction.f90

  Log Message:
  -----------
  [flang][OpenMP][NFC] Add missing lowering test coverage (#221079)

Adds three tests for behavior that already works but is untested:
- target-generic-spmd.f90: whether host_eval is emitted for separate,
  non-combined target/teams/distribute directive nests, covering the
  generic versus SPMD kernel classification. The existing host-eval.f90
  covers only combined constructs.
- hlfir-to-fir-conv-omp.mlir: alloca block selection for OpenMP regions
  during HLFIR-to-FIR conversion.
- reduction-target-spmd.f90: a reduction on target teams distribute
  parallel do is placed on omp.teams.


  Commit: 869d8b74ff2b1b823005e9b7ac57c2bf78904503
      https://github.com/llvm/llvm-project/commit/869d8b74ff2b1b823005e9b7ac57c2bf78904503
  Author: Milin Bhade <mbhade at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/nonpow2-shared-weight-reduction.ll

  Log Message:
  -----------
  [SLP][X86][NFC] Add pre-commit test for width-3 shared-weight reduction (#222243)

Pre-commit test for three independent reductions over contiguous bytes
sharing a single broadcast weight. It captures current codegen: even
with -slp-vectorize-non-power-of-2=true the width-3 tree is discarded to
scalar because the non-power-of-2 <3 x i8> load is over-priced (the
folded vpinsr*(mem) is double-counted). A follow-up X86 cost fix flips
the NPOT run to the width-3 vector form.

cc @alexey-bataev

---------

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


  Commit: f9a3a90a693874572fa89636476d70787a0bca30
      https://github.com/llvm/llvm-project/commit/f9a3a90a693874572fa89636476d70787a0bca30
  Author: Akash Manna <akash.manna.mymail at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/test/CodeGenCXX/mangle-concept.cpp

  Log Message:
  -----------
  [clang] Fix mangling of constrained auto referring to a parameter when the return type has an ABI tag (#223121)

Fixes #204178

Mangling `template<typename T> auto f(T t, c<decltype(t)> auto) -> s;`
asserts with `ParmVarDecl is not visible in current parameter
environment` when `s` carries an ABI tag, as `std::string` does under
libstdc++. The invented template parameter's constraint refers to the
function parameter `t`, and the mangler encodes that reference by its
nesting depth, so the function's parameter scope has to be entered
before the name is mangled. `mangleFunctionEncoding` does that in the
common case, but when the return type has a tag it first mangles the
name with a temporary mangler to collect the tags in use, and the scope
was pushed on the outer mangler after the temporary one had already
copied its depth state. The temporary mangler saw depth zero. Without
assertions this didn't crash but produced `fp_` instead of `fL0p_`, a
symbol GCC doesn't emit and that differs from clang's own mangling of
the same declaration without the tag.

The scope is now pushed on the mangler that actually mangles the name,
the same pattern `makeFunctionReturnTypeTags` already uses for its own
temporary mangler. Both branches of `mangleFunctionEncoding` now
establish the same depth state before mangling the name, so the tagged
and untagged manglings agree and the assertion stays as it is.


  Commit: 0ca85cb9a1f764970106e86f1aba2aff36789b9a
      https://github.com/llvm/llvm-project/commit/0ca85cb9a1f764970106e86f1aba2aff36789b9a
  Author: Vikash Gupta <Vikash.Gupta at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-clmul.mir

  Log Message:
  -----------
  [GlobalISel] Add computeKnownBits for G_CLMUL opcode (#223980)

Port the computeKnownBits support for ISD::CLMUL from SelectionDAG path
to the GlobalISel G_CLMUL.


  Commit: ab2b7a8f930b5ea54a300efc512562770dccae79
      https://github.com/llvm/llvm-project/commit/ab2b7a8f930b5ea54a300efc512562770dccae79
  Author: ahradwan2-public <ahmedwahab1997 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineOperand.h
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp

  Log Message:
  -----------
  [NFC] Use logical && instead of bitwise & with a logical NOT operand (#223798)

## Summary
Two spots computed `x & !y`, mixing a bitwise AND with a logical NOT:

  * CodeGen: `MachineOperand::isKill()` — `IsDeadOrKill & !IsDef`
  * OpenMP/Attributor: `AAExecutionDomainFunction::updateImpl` —
    `StoredED.IsReachingAlignedBarrierOnly &
     !IsEndAndNotReachingAlignedBarriersOnly`

In both cases all operands are booleans (1-bit bitfields / `bool`), so
the
computed value is unchanged. Switch to the logical AND (`&&`) to express
the
intended logical conjunction and restore short-circuiting.

NFC. Resolves CodeQL `cpp/incorrect-not-operator-usage` reports on these
lines.

#### Assisted-by: Cline
#### I don't have write access - please merge on my behalf once
approved. Thanks.

---------

Co-authored-by: Ahmed Radwan <ahradwan at amd.com>


  Commit: 9dd84b417c7619030e530d1a4396a9fac618297d
      https://github.com/llvm/llvm-project/commit/9dd84b417c7619030e530d1a4396a9fac618297d
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVM.h
    M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVMUtils.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCRuntimeFunctions.def
    M mlir/lib/Conversion/OpenACCToLLVM/ACCDataDirectivePatterns.cpp
    A mlir/lib/Conversion/OpenACCToLLVM/ACCHostDataPatterns.cpp
    M mlir/lib/Conversion/OpenACCToLLVM/ACCToLLVM.cpp
    M mlir/lib/Conversion/OpenACCToLLVM/ACCToLLVMUtils.cpp
    M mlir/lib/Conversion/OpenACCToLLVM/CMakeLists.txt
    M mlir/test/Conversion/OpenACCToLLVM/data-diagnostics.mlir
    M mlir/test/Conversion/OpenACCToLLVM/data.mlir
    A mlir/test/Conversion/OpenACCToLLVM/host-data.mlir

  Log Message:
  -----------
  [mlir][acc] Add host_data codegen to ACCToLLVM (#223887)

Extends the acc to LLVM conversion with codegen for the `host_data`
construct. Each use_device clause becomes a call to the libacctarget
entry point that gives the device address its object is mapped to, so
that the body of the construct works on device addresses. As with the
data directives, this runtime API is not yet finalized; the draft
proposal can be found at
https://github.com/llvm/llvm-project/pull/197894

Co-authored-by: Matsu <kmatsumura at nvidia.com>
Co-authored-by: nvptm <pmathew at nvidia.com>


  Commit: 9b42c077c209202d4eabdadec461c73c548e822b
      https://github.com/llvm/llvm-project/commit/9b42c077c209202d4eabdadec461c73c548e822b
  Author: nudt_yixiao <1272950933 at qq.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/resolve94.f90

  Log Message:
  -----------
  [Flang] Diagnose nonvariable STAT= specifiers (#219696)

An image selector STAT= operand can be parsed as a variable but later
resolve to a nonpointer function reference. Passing this expression to
CoarrayRef::set_stat() violates its invariant and triggers a CHECK.

Verify that the analyzed STAT= expression is a variable before calling
set_stat(), and emit a semantic error when it is not.

Add a regression test to resolve94.f90 covering an implicitly typed
nonpointer function reference used as a STAT= specifier.

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

Co-authored-by: yixiao <yixiao at hygon.cn>


  Commit: 95ead5f4928d555ec88b992b4a39849cee9867a9
      https://github.com/llvm/llvm-project/commit/95ead5f4928d555ec88b992b4a39849cee9867a9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp

  Log Message:
  -----------
  [MLIR] Use false instead of nullptr for boolean args. (NFC) (#224009)

This fixes a build failure on macOS with -Werror:
error: implicit conversion of nullptr constant to 'bool'
[-Werror,-Wnull-conversion]

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


  Commit: 649e3d638e2f2c68c31683ab1f705d04d6ef2a6d
      https://github.com/llvm/llvm-project/commit/649e3d638e2f2c68c31683ab1f705d04d6ef2a6d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp

  Log Message:
  -----------
  [ConstraintElim] Unify signed and unsigned decomposition paths (NFC) (#223835)

NFCI clean-up after https://github.com/llvm/llvm-project/pull/223537.

Unify signed/unsigned decomposition via isKnownNoWrap.

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


  Commit: 503e108f373e1fbd64bbf025cd74d98426d4f566
      https://github.com/llvm/llvm-project/commit/503e108f373e1fbd64bbf025cd74d98426d4f566
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  [VPlan] Create VPSlotTracker's ModuleSlotTracker for the plan (NFC). (#223952)

Move the lazy creation of VPSlotTracker's ModuleSlotTracker into a new
getOrCreateMST helper, so it can be shared with other users in the
future (https://github.com/llvm/llvm-project/pull/203982).

Also get the function and module directly from the plan Create it for
the cached module and get the function to incorporate from the plan,
instead of using the module and function of the first unnamed
instruction printed.

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


  Commit: 1892ec00f9f30f17794cbbe0947ce4a47bead65f
      https://github.com/llvm/llvm-project/commit/1892ec00f9f30f17794cbbe0947ce4a47bead65f
  Author: miyan <1138989048 at qq.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/cmake/config-ix.cmake

  Log Message:
  -----------
  [cmake] Use the C++ linker when checking libxml2 (#221970)

When libxml2 is built statically with ICU support, its link interface
contains C++ libraries. `check_symbol_exists()` uses the C linker
driver, causing the libxml2 check to fail on unresolved C++ runtime
symbols and incorrectly report that `xmlReadMemory` is unavailable.

This issue was found in https://github.com/microsoft/vcpkg/pull/53727


  Commit: e364b9da263dcd9a4dcda0d183f403d3f138bb51
      https://github.com/llvm/llvm-project/commit/e364b9da263dcd9a4dcda0d183f403d3f138bb51
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M libcxx/include/__configuration/abi.h
    M libcxx/include/__random/mersenne_twister_engine.h
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_result_type.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_sseq.pass.cpp
    M libcxx/utils/libcxx/test/features/libcxx_macros.py

  Log Message:
  -----------
  [libc++] Take the mersenne twister ABI break unconditionally (#222700)

Technically this is ABI breaking, since we change the meaning of the
bytes inside the mersenne twister. However, this doesn't cause changes
in the size of any objects and is only an issue in very specific
circumstances. Specifically, the mersenne twister has to be passed on an
ABI boundary and be used on both sides of that ABI boundary. If it's
only used on one side, the values will continue to be correct, since
only a single algorithm is used. Even then, the only issue is that the
values aren't properly randomized, since both versions of the mersenne
twister implementation read the same type of data and produce the same
kind of output with it.

Fixes #209514


  Commit: 9dc532b79f8676ad1a7795d0869feb05b558267f
      https://github.com/llvm/llvm-project/commit/9dc532b79f8676ad1a7795d0869feb05b558267f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M libcxx/include/string

  Log Message:
  -----------
  [libc++] Optimize string::erase (#223721)

This change allows the `traits_type::move` (i.e. `memmove`) call to be
tail-called, removing the need for allocating any stack space and a
call. We also copy the null terminator through `memmove` instead of
inserting it manually.


  Commit: 3906e0a8aa31a083af51eb886d5b9b210e182495
      https://github.com/llvm/llvm-project/commit/3906e0a8aa31a083af51eb886d5b9b210e182495
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/ABI/Targets/X86.cpp
    M llvm/unittests/ABI/X86TargetInfoTest.cpp

  Log Message:
  -----------
  [LLVMABI] Narrow the eightbyte past a union's storage member (#223859)

`getIntegerTypeAtOffset` sized the eightbyte from the storage member the
union reduction picked, even at an offset that member does not reach. A
union whose second eightbyte holds one data byte then coerced to `i64`
where clang coerces to `i8`:

```c
union { char c[9]; void *p; };
```

Clang lowers it to `{ ptr, [8 x i8] }`, so that offset lands on padding
and the coercion narrows to a byte. The classifier now does the same,
and sizes the coercion from the union's remaining bytes otherwise.

Assisted-by: Cursor / claude-opus-5


  Commit: e250f3473062ce61843550df00a1843710bc4d2f
      https://github.com/llvm/llvm-project/commit/e250f3473062ce61843550df00a1843710bc4d2f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/bindings/ocaml/llvm/llvm.ml
    M llvm/bindings/ocaml/llvm/llvm.mli
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/IR/Constants.h
    M llvm/lib/IR/Core.cpp
    M llvm/test/Bindings/OCaml/core.ml

  Log Message:
  -----------
  [IR] Deprecate ConstantExpr::getSizeOf() and getAlignOf() (#223710)

These cannot be represented in terms of ptradd. They should be replaced
with plain constants with the size/alignment (based on DataLayout, or
direct frontend knowledge).

The C API wrappers `LLVMSizeOf()` and `LLVMAlignOf()` are deprecated for
the same reason.

The C APIs `LLVMBuildMalloc()` and `LLVMBuildArrayMalloc()` create a
constant with the size based on data layout now.


  Commit: e0f6d55ec93678e9d87bd633c48001c3e6f4b8ce
      https://github.com/llvm/llvm-project/commit/e0f6d55ec93678e9d87bd633c48001c3e6f4b8ce
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVAPI.cpp

  Log Message:
  -----------
  SPIRV: Avoid TargetMachine::createDataLayout in SPIRVTranslate (#224017)


  Commit: 0b6050761b5e53cd1c2f825814b46f202c9a83de
      https://github.com/llvm/llvm-project/commit/0b6050761b5e53cd1c2f825814b46f202c9a83de
  Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    A flang/test/Lower/OpenMP/mismatched-bound-types.f90

  Log Message:
  -----------
  [flang][test][NFC] Re-add OpenMP test for mismatched loop bound types (#223876)

Lowering now materialises the literal at the loop variable's kind, so
there is a single i64 constant and no fir.convert. Updated the checks to
match and re-added the test.


  Commit: 1b66ee2a70cd85897a006ac00365f936178d38d7
      https://github.com/llvm/llvm-project/commit/1b66ee2a70cd85897a006ac00365f936178d38d7
  Author: satyanarayana reddy janga <satyajanga at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    A lldb/test/API/accelerator/mock/TestMockAcceleratorAddressSpaces.py
    M lldb/tools/lldb-server/Plugins/Accelerator/Mock/ProcessMockAccelerator.cpp
    M lldb/tools/lldb-server/Plugins/Accelerator/Mock/ProcessMockAccelerator.h

  Log Message:
  -----------
  [lldb] End to end test for address spaces using lldb-server mock accelerator  plugin (#217092)

Relevant RFC:
https://discourse.llvm.org/t/rfc-address-spaces-support-in-lldb/91222/

Add an end to end test using a mock accelerator that advertises multiple
address spaces.


  Commit: 4d00c7b10559e5d4f75fd2c00fa0a29e2be937f4
      https://github.com/llvm/llvm-project/commit/4d00c7b10559e5d4f75fd2c00fa0a29e2be937f4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    A llvm/test/Analysis/CostModel/X86/arith-mulh.ll

  Log Message:
  -----------
  [CostModel][X86] Add baseline costs for smulh/umulh intrinsics (#224022)


  Commit: a37f19abd0927b5e7a2a59c42bb4dfdb6a2f043e
      https://github.com/llvm/llvm-project/commit/a37f19abd0927b5e7a2a59c42bb4dfdb6a2f043e
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M libc/include/llvm-libc-macros/linux/unistd-macros.h
    M libc/include/unistd.yaml
    M libc/src/unistd/linux/sysconf.cpp
    M libc/test/src/unistd/sysconf_test.cpp

  Log Message:
  -----------
  [libc] Add macro / sysconf support for POSIX threads features. (#223543)

Define all `_POSIX_THREAD_*` macro and corresponding `_SC_THREAD_`
sysconf names that provide information on availability of certain
POSIX threads features.

* Explicitly provide all relevant macro from POSIX standard:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/unistd.h.html
to either 202405L (current POSIX version supported by LLVM-libc), or -1
  (if the feature is unsupported)
* Support returning these features via `sysconf` for matching `_SC_`
name values;
* Add unit tests that validate the actual numerical values.


  Commit: 64d1f1a696f223e47c3df168197b2a48d6c8917b
      https://github.com/llvm/llvm-project/commit/64d1f1a696f223e47c3df168197b2a48d6c8917b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/lib/CodeGen/MIRPrintingPass.cpp
    M llvm/lib/CodeGen/ResetMachineFunctionPass.cpp
    M llvm/lib/Target/ARC/ARCOptAddrMode.cpp
    M llvm/lib/Transforms/CFGuard/CFGuard.cpp
    M llvm/lib/Transforms/Scalar/Reg2Mem.cpp

  Log Message:
  -----------
  [llvm] Remove dead INITIALIZE_PASS instances and declarations (NFC) (#223938)

initializeARCOptAddrModePass:
Introduced on March 20, 2019 in commit
b062239d638ba668d277dd0ec735497b71321d3f without any callers.

initializeResetMachineFunctionPass:
Introduced on August 27, 2016 in commit
374796d6785311f93ba38ebce1b22e11a3df3ec7 without any callers.

initializeCFGuardPass:
Introduced on October 28, 2019 in commit
e59f7488c772c91ba0f7457ef67ffb4b455047b8 without any callers.

initializeMIRPrintingPassPass, MIRPrintingPassID:
Introduced on May 27, 2015 in commit
2bdb4e1063f5cbc8bb1262d90cca056e9fb31fbb without any callers.

initializeRegToMemWrapperPassPass:
Introduced on October 21, 2024 in commit
e26d9070d3eaee587b3ef0da6d12200a5b994765 without any callers.

Assisted-by: Antigravity


  Commit: eac6cdf2fffaa000d022f8d504508bd95c52c852
      https://github.com/llvm/llvm-project/commit/eac6cdf2fffaa000d022f8d504508bd95c52c852
  Author: Vito Secona <secona00 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td

  Log Message:
  -----------
  [mlir][SparseTensor][NFC] Improve documentation for SparseTensor_LvlOp (#223307)

Update the `sparse_tensor.lvl` documentation to correctly describe the
level mapping for `%j floordiv 3`.


  Commit: 1a8b98e4017ba8cbe51c362f65a1932c7da9aa1e
      https://github.com/llvm/llvm-project/commit/1a8b98e4017ba8cbe51c362f65a1932c7da9aa1e
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  [Github] Bump AArch64 premerge to Ubuntu 26.04 (#224016)

Mainly so that we pull in a new CMake. x86 Linux needs to be handled in
zorg.


  Commit: 91a87531f26b989863517e07f0648733029c7cfe
      https://github.com/llvm/llvm-project/commit/91a87531f26b989863517e07f0648733029c7cfe
  Author: google-yfyang <yfyang at google.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M libcxx/include/__locale_dir/support/linux.h

  Log Message:
  -----------
  [libc++] Skip including langinfo.h when unused (#223749)

A previous change unconditionally includes <langinfo.h>.
__get_locale_encoding() only uses langinfo when compiling shared
libraries, and hardcodes "UTF-8" on Android.

glibc's <langinfo.h> defines POSIX nl_item constants as raw numeric
preprocessor macros (#define ERA 46).
This causes Bionic's #define ERA 46 leaks into C++ translation units on
Android and fails the compilation with:

```
error: expected member name or ';' after declaration specifiers
   static constexpr typename ERA = random_value;
```


  Commit: f84aee6257bd37def74ce179252ce38c19323fc8
      https://github.com/llvm/llvm-project/commit/f84aee6257bd37def74ce179252ce38c19323fc8
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M mlir/python/mlir/dialects/linalg/__init__.py
    M mlir/test/python/dialects/linalg/ops.py

  Log Message:
  -----------
  [mlir][python] Register linalg.ElementwiseOp wrapper as op view (#223806)

Register the wrapper for `ElementwiseOp` with
`@_ods_cext.register_operation(_Dialect, replace=True)` so the exported
class is the one the registry instantiates.

Fixes #223673

Assisted by: Claude


  Commit: 02bd47db9d3c4313fe1b5054ed8a1a081f1b7f78
      https://github.com/llvm/llvm-project/commit/02bd47db9d3c4313fe1b5054ed8a1a081f1b7f78
  Author: Mattéo Rizza Murgier <matteo.rizza-murgier at sipearl.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp

  Log Message:
  -----------
  [SDAG][NFC] Replace initialization UNDEF by POISON (#224015)


  Commit: e5e30255b4cfe0684741b45b16c20ff64e01bca3
      https://github.com/llvm/llvm-project/commit/e5e30255b4cfe0684741b45b16c20ff64e01bca3
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/CAS/OnDiskGraphDB.cpp
    M llvm/unittests/CAS/OnDiskGraphDBTest.cpp

  Log Message:
  -----------
  [CAS] Check StandaloneData before reopening a standalone object (#223807)

OnDiskGraphDB::load() inserted every standalone object it mapped into
StandaloneData but never read from it: lookup() and count() had no
callers anywhere. So each load of an object stored outside the data pool
repeated the open, fstat, mmap and close, and then insert() saw the hash
was already present, dropped the freshly created mapping, and returned
the pointer it already had. The whole sequence was wasted.

Consult lookup() before touching the filesystem to make loading already
opened CAS objects much faster.


  Commit: 8ee79595a91fa0abcba887decb439e36dc94b0a0
      https://github.com/llvm/llvm-project/commit/8ee79595a91fa0abcba887decb439e36dc94b0a0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp

  Log Message:
  -----------
  [RISCV] Simplify isSImm18() in RISCVAsmParser. NFC (#223928)

Use isSImm<18>() instead of isSImmPred.


  Commit: 05117eb95d60873ce575af564ce2532ab0343bb9
      https://github.com/llvm/llvm-project/commit/05117eb95d60873ce575af564ce2532ab0343bb9
  Author: janr-bay <jrehders at baylibre.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
    M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
    M llvm/lib/Target/AArch64/AArch64SRLTDefineSuperRegs.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp

  Log Message:
  -----------
  [AArch64] Replace uses of AArch64::NoRegister with Register() or isValid() NFC (#220227)

This came up during work on another PR, @topperc suggested it as ongoing
work
[here](https://github.com/llvm/llvm-project/pull/210992#discussion_r3738407180).
This replaces all remaining uses for aarch64, similar to previous
changes for the [RISCV
backend](https://github.com/llvm/llvm-project/commit/62791b43774615b24d565130c8c3f1e6e5145dd8#diff-b2797a1529366b39522e2b80e2719e331875ec3f70214b2a4ce9524821d471b9)
and [AMDGPU
backend](https://github.com/llvm/llvm-project/commit/191d70f2f52d9cd38e0c57f8319b466eff1ac023)


  Commit: ae9feeea47f191cce37ef408ee0a692652c1c62a
      https://github.com/llvm/llvm-project/commit/ae9feeea47f191cce37ef408ee0a692652c1c62a
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M flang/lib/Evaluate/tools.cpp
    M flang/test/Lower/OpenACC/acc-cache.f90
    M flang/test/Lower/split-sum-expression-tree-lowering.f90
    M flang/test/Lower/split-sum-expression-tree-subscripts.f90

  Log Message:
  -----------
  [flang] Join reassociated sums with the head first (#223966)

After #222302 we saw a small regression in bwaves with -ffast-math on
some CI machines. I'm quite surprised that this expression ordering has
any effect when reassociation is enabled in the middle-end. The change
in this commit is a bit arbitrary but it restores bwaves performance
without regressing anything else.

Keep the first two terms in the left operand of the final signed join.
Retain both right-associated folds and the existing eligibility guards.
This preserves the source order between the two groups, allowing a
head-first alternative to the code shape produced by tail-first joining.

Update lowering order checks and use four terms in nested-expression
coverage so enabled reassociation remains distinct from the opt-out.

Assisted-by: codex


  Commit: e141b669757bd795015b22e02f28f19d4b4759a3
      https://github.com/llvm/llvm-project/commit/e141b669757bd795015b22e02f28f19d4b4759a3
  Author: Kiroo (Chanung) <ung at zlfn.space>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGen/builtin-frame-address-arg-type.c
    A clang/test/CodeGen/builtin-prefetch-arg-type.c
    M clang/test/Sema/builtin-prefetch.c

  Log Message:
  -----------
  [clang][CodeGen] Emit prefetch hints and frame address depth as i32 (#221477)

The hint operands of `llvm.prefetch` and the depth operand of
`llvm.frameaddress` and `llvm.returnaddress` are declared as i32, but
clang emitted the values at the width of the C argument's type.

`__builtin_prefetch` is declared with a variadic prototype, `void(void
const*, ...)`, so its hint arguments are never converted to a parameter
type; only the default argument promotions apply. The depth argument is
emitted at the type of `unsigned int`. Two cases end up with a width
other than 32 bits:

- Targets whose `int` is 16 bits, such as MSP430 and AVR.
Plain `__builtin_prefetch(p, 1, 3)` or `__builtin_frame_address(0)` is
hit this.
- An argument written with a type wider than 32 bits, on any target.
  `__builtin_prefetch(p, 1L, 3L)` reproduces this on LP64 targets
  `__builtin_prefetch(p, 0 * sizeof(int))` is the same on LP64 
  #202061
  `__builtin_prefetch(p, 1LL, 3LL)` reproduces this on 32 bit targets

Either way the emitted call does not match the intrinsic's signature.
With assertions enabled this trips
`assert(... "Calling a function with a bad signature!")` in
`CallInst::init`;

without them the verifier rejects the module:

```console
$ clang -cc1 -triple msp430 -emit-llvm t.c -o -
  call void @llvm.prefetch.p0(ptr %0, i16 1, i16 3, i32 1)
  %0 = call ptr @llvm.frameaddress.p0(i16 0)
fatal error: error in backend: Broken module found, compilation aborted!
```

Zero-extend or truncate them to i32 before building the intrinsic call.
The conversion is a no-op where the widths already match, and folds back
to a constant, since Sema already requires these arguments to be
constants in range.

This also removes the FIXME that pointed at the mismatch.

AI assistance helped me find the problem and work out the fix, but I
wrote the code myself.

Assisted-by: Claude Opus 5

Fixes #202061, Fixes #222910

Co-authored-by: mygitljf <2410316423 at qq.com>


  Commit: 7971e862b32032d2d049da76bee6cf42bd0efc07
      https://github.com/llvm/llvm-project/commit/7971e862b32032d2d049da76bee6cf42bd0efc07
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/SandboxVectorizer/Passes/BundleVec/AMDGPU/lit.local.cfg
    A llvm/test/Transforms/SandboxVectorizer/Passes/BundleVec/AMDGPU/unsupported_alignment.ll

  Log Message:
  -----------
  [SandboxVec][BundleVec][NFC] Precommit test (#223880)

This is a test for a follow-up patch that adds alignment checks.


  Commit: f175521aad0e82e632516ccb7bd7a14d5ab31363
      https://github.com/llvm/llvm-project/commit/f175521aad0e82e632516ccb7bd7a14d5ab31363
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitreplicate.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for s_bitreplicate (#189138)

Add uniform and divergent rules for s_bitreplicate intrinsic.

Assisted-By: Claude


  Commit: 998c6e2511a4806ea1c37af6e1f1b776f5205455
      https://github.com/llvm/llvm-project/commit/998c6e2511a4806ea1c37af6e1f1b776f5205455
  Author: Michael G. Kazakov <mike.kazakov at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxx/cmake/caches/Apple.cmake
    M libcxx/include/__pstl/backends/libdispatch.h
    M libcxx/test/libcxx/algorithms/pstl.libdispatch.chunk_partitions.pass.cpp

  Log Message:
  -----------
  [libc++][pstl] Use libdispatch on Apple platforms by default (#223240)

Currently the default on Apple platforms is "std_thread", which is a
serial dummy.
To enable automatic benchmarking of PSTL, set the backend to
"libdispatch" by default, so it doesn't require specific overrides in
`libcxx/utils/ci/lnt/cmake`.

As a drive-by, fixes some of the minor issues with this backend that
surfaced once more pipelines started using it.


  Commit: 1f1c824ad1844bbac5b65cdf78d7c1d6e28bd1b0
      https://github.com/llvm/llvm-project/commit/1f1c824ad1844bbac5b65cdf78d7c1d6e28bd1b0
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/VecUtils.cpp
    A llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec_load_seeds.ll
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp

  Log Message:
  -----------
  [SandboxVec][LoadStoreVec] Vectorize load seed chains (#215944)

LoadStoreVec previously only vectorized store bundles. SeedCollection
already emits homogeneous store and load slices separately, so
runOnRegion() now dispatches on the seed kind and calls
vectorizeStores()
or vectorizeLoads() accordingly.

Add vectorizeLoads() to combine consecutive load chains into a single
vector load, unpack for remaining uses, and clean up dead scalar loads
and pointer operands.

Add load_store_vec_load_seeds.ll covering load-only seeds (no uses,
single use, general uses, vector-typed loads, and mixed-type cases), and
extend load_store_vec.ll with a trivial load-then-store case.


  Commit: 9e39a5e4a606e2ef8e46bd4a947f0b39feacecc7
      https://github.com/llvm/llvm-project/commit/9e39a5e4a606e2ef8e46bd4a947f0b39feacecc7
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M libcxx/include/__configuration/compiler.h

  Log Message:
  -----------
  [libc++] Reword confusing warning message about AppleClang version (#222380)

AppleClang 26.4 is not a thing -- it's AppleClang 21.0 that shipped with
Xcode 26.4.


  Commit: f9de9e4735b386b7def972915e4c166505d4e361
      https://github.com/llvm/llvm-project/commit/f9de9e4735b386b7def972915e4c166505d4e361
  Author: Sivapriya <sivapriyaofficial2005 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/lib/CIR/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGenCUDA/surface.cu

  Log Message:
  -----------
  [CIR][CUDA] Add semantic surface reference type (#223013)


  Commit: 40057479b2894cf56e65992a007d679c0c4d639c
      https://github.com/llvm/llvm-project/commit/40057479b2894cf56e65992a007d679c0c4d639c
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
    M libcxx/test/benchmarks/containers/associative/flat_map.bench.cpp
    M libcxx/test/benchmarks/containers/associative/flat_multimap.bench.cpp
    M libcxx/test/benchmarks/containers/associative/map.bench.cpp
    M libcxx/test/benchmarks/containers/associative/multimap.bench.cpp
    M libcxx/test/benchmarks/containers/associative/multiset.bench.cpp
    M libcxx/test/benchmarks/containers/associative/set.bench.cpp
    M libcxx/test/benchmarks/containers/associative/unordered_map.bench.cpp
    M libcxx/test/benchmarks/containers/associative/unordered_multimap.bench.cpp
    M libcxx/test/benchmarks/containers/associative/unordered_multiset.bench.cpp
    M libcxx/test/benchmarks/containers/associative/unordered_set.bench.cpp

  Log Message:
  -----------
  [libc++] Return a const reference from get_key in benchmarks (#216088)

It was unnecessary to create a temporary string, and in fact it would
have a negative impact on some benchmarks like `erase(key) (existent)`
which called get_key in the hot loop.


  Commit: 28cf18776b433264c7f19919c035f9f8a3143e1b
      https://github.com/llvm/llvm-project/commit/28cf18776b433264c7f19919c035f9f8a3143e1b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h

  Log Message:
  -----------
  [libc++] Fix query benchmarks for associative containers (#216065)

We were calling get_key and the random number generator in the hot loop.
Instead, create a pool of keys to draw from in the initial setup phase,
and then query these keys in a round-robin fashion.


  Commit: 9f6791b42d91f72592133e470a4408ae49026ab7
      https://github.com/llvm/llvm-project/commit/9f6791b42d91f72592133e470a4408ae49026ab7
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py

  Log Message:
  -----------
  [lldb-dap][test] Only check compile units from stack frames for main.c (#223450)

The `test_stack_frame_compile_unit_id` test case added in #222512 checks
that compileUnitId in a stack frame points to the source file. However,
it does so by checking there is only one unique compileUnitId in the
whole stack trace. This may not be true if start.S is included as a
compile unit.

Relax the check by only looking for stack frames that point to main.c.
Also check the other way, i.e. ensure the same compile unit id isn't
referenced by a stack frame that doesn't point to main.c. This way the
test retains its stated goal of making sure the compile unit id resolves
to its source file while also allowing start.S from a different compile
unit to be present.


  Commit: db96dfae2a4fd74cb1dba7b4f9dec2dba4c83864
      https://github.com/llvm/llvm-project/commit/db96dfae2a4fd74cb1dba7b4f9dec2dba4c83864
  Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/FIRToMemRefTypeConverter.h
    M flang/unittests/Optimizer/OpenACC/FIROpenACCPointerLikeTypeInterfaceTest.cpp

  Log Message:
  -----------
  [flang][FIRToMemRef] Treat heap-pointer allocas as static, not as dynamic arrays (#223821)

Whole-array assignment of an allocatable inside !$acc kernels with
-Mstack_arrays aborted on !fir.ref<!fir.heap<!fir.array<?xf32>>>. A
fir.alloca !fir.heap<array> is a local heap pointer, but it was
unwrapped and handled as a dynamic array. The memref converter then
peeled only the outer ref and asserted because !fir.heap is not a memref
element.

Keep the pointer as a static allocation. Make convertibleMemrefType use
the same one-pointer peel as convertMemrefType so a nested pointer is
not treated as an f32 array.


  Commit: fd2f003b399675d0e6cf135ebc3b97cb138b699d
      https://github.com/llvm/llvm-project/commit/fd2f003b399675d0e6cf135ebc3b97cb138b699d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-inst-count.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with missed vectorization because of instcount check, NFC



Reviewers: 

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


  Commit: 9df3e81cb2eefa2559eb9989bfdbd475dc23d0a2
      https://github.com/llvm/llvm-project/commit/9df3e81cb2eefa2559eb9989bfdbd475dc23d0a2
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/AArch64/abi-classify-return-types.c
    A clang/test/CodeGen/AArch64/abi-classify-return-types.cpp
    M llvm/include/llvm/ABI/TargetInfo.h
    M llvm/lib/ABI/TargetInfo.cpp
    M llvm/lib/ABI/Targets/AArch64.cpp
    M llvm/lib/ABI/Targets/BPF.cpp
    M llvm/lib/ABI/Targets/X86.cpp
    M llvm/unittests/ABI/AArch64TargetInfoTest.cpp

  Log Message:
  -----------
  [LLVMAABI][AARCH64] Handle homogeneous aggregate return types (#218799)

This change implements the IsHomogenousAggregate() function, which is
shared across targets, and uses it to implement direct passthrough of
return values that meet the homogeneous aggregate criteria.

I'm also adding a new AArch64ABIOptions object that will be used to
track various conditions that are derived from target settings and must
be accounted for in the ABI handling. This change adds only two options,
IsILP32 and IsMicrosoftCXXABI. Other options are expected and will be
added as they are needed.

This change also revises the not-yet-implemented cases, having them
return Ignore rather than Direct so that they fail in more obvious ways.
This was necessary in order to be able to distinguish a return type that
was classified as Direct because it was a homogeneous aggregate from one
that was classified as Direct because it was an unhandled type.

Assisted-by: Cursor / various models


  Commit: c14e0afbc1318afb8c4a17f32bfc5fa3ff079658
      https://github.com/llvm/llvm-project/commit/c14e0afbc1318afb8c4a17f32bfc5fa3ff079658
  Author: Hongyu Chen <xxs_chy at outlook.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    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:
  -----------
  [RISCV][P-ext] Support Packed Element Join (#223931)

See also
https://github.com/riscv/riscv-p-spec/blob/master/P-ext-intrinsics.adoc#packed-element-join.


  Commit: 2bef9bbff02d44a5c3431b3a3c4634702662208d
      https://github.com/llvm/llvm-project/commit/2bef9bbff02d44a5c3431b3a3c4634702662208d
  Author: DeanSturtevant1 <dsturtevant at google.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  [bazel][compiler-rt] Exclude sanitizer_offload sources from sanitizer_common (#224078)

Fixes build failure introduced by 988c5a95ffa7 ("[compiler-rt] Factor
HSA layer into common helpers (#223532)").


  Commit: c1ee481199adc4c388d2321cd8d16080256ae7a6
      https://github.com/llvm/llvm-project/commit/c1ee481199adc4c388d2321cd8d16080256ae7a6
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td

  Log Message:
  -----------
  AMDGPU: Separate getCoExecInfo opcode classification (#220329)

Extract WMMA opcode classification from getCoExecInfo into a dedicated
helper. Also track functional unit occupancy separately from the
co-execution window.


  Commit: 630b6b92235ea34a50efd1c4d9f101af25547141
      https://github.com/llvm/llvm-project/commit/630b6b92235ea34a50efd1c4d9f101af25547141
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/include/clang/CodeGen/BackendUtil.h
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
    A clang/test/CodeGen/Inputs/riscv-ilp32e-no-datalayout.ll
    M clang/test/CodeGen/PR44896.ll
    M clang/test/CodeGen/asan-unified-lto.ll
    A clang/test/CodeGen/riscv-ir-datalayout-preserve.ll
    M lldb/test/API/functionalities/inline-sourcefile/inline.ll

  Log Message:
  -----------
  clang: Do not overwrite a module's DataLayout in the backend (#224012)

emitAssembly() unconditionally reset the module's DataLayout from
TargetMachine::createDataLayout(). The TargetMachine's DataLayout is
unreliable given the existence of the "target-abi" module flag, so it
should not be used.

For -x ir input modules this would discard the correct datalayout in
favor of a possibly wrong one.

The post-codegen consistency check compared the module's DataLayout
against clang's frontend getDataLayoutString(), which likewise ignores the
target-abi flag. Recompute the expected layout from the module's own ABI via
Triple::computeDataLayout(getTargetABIName(M)) so the check stays
meaningful without assuming the DataLayout is a fixed property of the target
options. This still detects frontend/LLVM DataLayout drift for generated modules.

PR44896.ll and asan-unified-lto.ll declared x86_64 modules but ran without an 
explicit triple, relying on the old overwrite to convert them to the default target. 
Pin them to their declared triple and refresh their stale DataLayout strings.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 98bee8bfad61f006d966bcce16e12c520ea03c9c
      https://github.com/llvm/llvm-project/commit/98bee8bfad61f006d966bcce16e12c520ea03c9c
  Author: Ricardo Jesus <rjj at nvidia.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/test/Transforms/LoopVectorize/intrinsic.ll

  Log Message:
  -----------
  [VectorUtils] Allow trivially vectorising llvm.[su]mulh. (#223998)


  Commit: b8f1eeb6a61ace4a4ef06687e13424876fd109cd
      https://github.com/llvm/llvm-project/commit/b8f1eeb6a61ace4a4ef06687e13424876fd109cd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoZicfiss.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/test/MC/RISCV/rvzimop-valid.s

  Log Message:
  -----------
  [RISCV] Add hasCompleteDecoder to sspopchk, sspush, and ssrdp operands. (#223847)

This allows them to disassemble as mop.r.28 or mop.rr.7 when the
operands are not valid for the Zicfiss mnemonic.

Assisted-by: Claude


  Commit: 5a01e5e8db22dbab1b41f2ee7e76f243b8f0d952
      https://github.com/llvm/llvm-project/commit/5a01e5e8db22dbab1b41f2ee7e76f243b8f0d952
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  [RISCV] Merge decodeUImmOperand and decodeUImmOperandGE. NFC (#223925)

Add the LowerBound template argument to decodeUImmOperand with a default
value of 0.

Similar for decodeUImmPlus1Operand and decodeUImmPlus1OperandGE, but
default the LowerBound to 1.


  Commit: 214f9e4abe156f39350b458002e11ec44cecacd3
      https://github.com/llvm/llvm-project/commit/214f9e4abe156f39350b458002e11ec44cecacd3
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  [Workflows] Mark miscompilation:undef as uninteresting (#220300)

Address comment
https://github.com/llvm/llvm-project/issues/218908#issuecomment-5470741016.


  Commit: 062f3b88efdb0b8cf311a88cc5f72f72eacfc371
      https://github.com/llvm/llvm-project/commit/062f3b88efdb0b8cf311a88cc5f72f72eacfc371
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/CMakeLists.txt
    M llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn

  Log Message:
  -----------
  [gn] "port" 988c5a95ffa7 (sanitizer_offload compiler-rt) (#224091)


  Commit: 616ec370aa2dd576d5469baf312c284bcefb4f6f
      https://github.com/llvm/llvm-project/commit/616ec370aa2dd576d5469baf312c284bcefb4f6f
  Author: Akash Manna <akash.manna.mymail at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/Sema/compare.c

  Log Message:
  -----------
  [Clang] Fix `-Wsign-compare` assertion when negating a vector of unsigned integers (#223295)

Fixes #203575

`-1 == -*c`, where `c` points to a vector of `unsigned`, hit the
`unsigned range includes negative?` assertion in `AnalyzeComparison`.
The range analysis for unary `-` and `~` (added in #126846) checks
whether the result type is unsigned with `isUnsignedIntegerType()`,
which never looks through vector types. So the negated unsigned vector
was treated as a signed negation and came back with a possibly-negative
range, even though the operand's own range was correctly unsigned. Same
story for `~*c`.

The check now uses `hasUnsignedIntegerRepresentation()`, which looks
through vector and matrix element types the same way
`IntRange::forValueOfType` and the caller in `AnalyzeComparison` already
do. The binary-operator result gets the same predicate for its
non-negative fixup, since it had the identical blind spot. With that, a
negated unsigned vector takes the same path as a negated `unsigned`
scalar, and the comparison warns about mixed signs again as it did
before Clang 21.


  Commit: cc0e7853b3d6c01b0ba954ed3578c6a6376840f7
      https://github.com/llvm/llvm-project/commit/cc0e7853b3d6c01b0ba954ed3578c6a6376840f7
  Author: Anshul Nigham <nigham at google.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  Fix bazel build for llvm_exegesis_tests (#224085)

- llvm/unittests:llvm_exegesis_tests: Fixes
https://github.com/llvm/llvm-project/pull/208364 (commit 6c31f6446a55)
Root cause: Adding PerfHelperTest.cpp introduced an include of
<perfmon/perf_event.h> under HAVE_LIBPFM, which failed layering_check
and was missing a dependency on libpfm. Fix: Disable layering_check


  Commit: ea5b2be249599ba4e7fc6c6c574ee6a936bafd3f
      https://github.com/llvm/llvm-project/commit/ea5b2be249599ba4e7fc6c6c574ee6a936bafd3f
  Author: PiJoules <leonardchan at google.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
    M llvm/test/Transforms/RelLookupTableConverter/X86/relative_lookup_table.ll

  Log Message:
  -----------
  [RelLookupTableConverter] Allow multiple uses of loaded value (#223853)

RelLookupTableConverter previously required `!Load ||
!Load->hasOneUse()`, which prevented converting lookup tables if the
loaded pointer was used more than once in the function.

This restriction is unnecessary since the loaded value itself can be
used many times. The check was likely an over-zealous carryover from
`GV->hasOneUse()` and `GEP->hasOneUse()`.

Remove the check and add a test verifying that lookup tables with
multiple uses of the loaded pointer are converted.


  Commit: 01edf187213105e35db8aef724a63f86241b6bd4
      https://github.com/llvm/llvm-project/commit/01edf187213105e35db8aef724a63f86241b6bd4
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M libcxx/utils/ci/buildkite-pipeline.yml

  Log Message:
  -----------
  [libc++][ci] Retarget the ARM BuildKite runners (#224107)

I enabled agent clusters in BuildKite since unclustered agents are not
supported anymore. As part of that, I created a new libcxx-builders-arm
queue to replace the existing queue. This patch switches the pipeline
definition so that new jobs start targeting the new queue with clustered
agents.


  Commit: 9cc2e03045417d4a2cf53385c58da724604e673e
      https://github.com/llvm/llvm-project/commit/9cc2e03045417d4a2cf53385c58da724604e673e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/RDFGraph.cpp
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
    M llvm/test/CodeGen/WebAssembly/function-bitcasts.ll
    M llvm/test/CodeGen/WebAssembly/irreducible-cfg-exceptions.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-options.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-exceptions-allowed.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-exceptions-resume-only.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll

  Log Message:
  -----------
  CodeGen: Read the exception model from the module flag in EH lowering (#223970)

Resolve the exception model as the exception-model module flag if
present, otherwise the TargetOptions default.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 3bc966a73f04e05d6e9e9720e8b7ba6431fe47e7
      https://github.com/llvm/llvm-project/commit/3bc966a73f04e05d6e9e9720e8b7ba6431fe47e7
  Author: Hansang Bae <hansang.bae at intel.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/level_zero/include/L0Device.h

  Log Message:
  -----------
  [Offload] Minor changes to address build issues (#224047)

This patch includes a few changes to fix customized build process of
offload components with relatively old build compilers. Current LLVM
build does not need this change since it uses just-built clang to build
offload components, but it does not hurt to make the code buildable with
other compilers.

Assisted by Claude Code.


  Commit: d8a3beaf45538daa59294e7c59987f6fbfe3f491
      https://github.com/llvm/llvm-project/commit/d8a3beaf45538daa59294e7c59987f6fbfe3f491
  Author: MaoJiaping <maojiaping1 at huawei.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/GlobalValue.h
    R llvm/include/llvm/Transforms/Utils/SplitModuleCommon.h
    M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    M llvm/lib/Transforms/Utils/SplitModule.cpp
    R llvm/lib/Transforms/Utils/SplitModuleCommon.cpp
    M llvm/test/tools/llvm-split/unnamed.ll

  Log Message:
  -----------
  [NFC][IR][GlobalValue] Move externalize helpers to GlobalValue (#223654)

This PR is a revised refactoring of #221181.
To improve generality, it makes the splitting helpers
externalizeGlobal() and nameUnnamedGlobalValue() generic members of
GlobalValue and removes SplitModuleCommon:

- GlobalValue::externalize() promotes a local-linkage global to external
+ hidden and names it if unnamed.
- GlobalValue::nameUnnamed() names unnamed globals __llvm_unnamed.

Co-authored-by: maojiaping <maojiaping1.huawei.com>


  Commit: ef7c0b519df40c2e3d46d493b7f7863e43102fd8
      https://github.com/llvm/llvm-project/commit/ef7c0b519df40c2e3d46d493b7f7863e43102fd8
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp

  Log Message:
  -----------
  CodeGen: Replace some getPointerRegClass() uses with operand reg classes (#223930)

Try to take the register class from the contexual instruction being
emitted instead. This is a step towards fully replacing PointerLikeRegClass with
RegClassByHwMode.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>


  Commit: 543f4c964c423f78b1f1589a7c38b0273bcef1d6
      https://github.com/llvm/llvm-project/commit/543f4c964c423f78b1f1589a7c38b0273bcef1d6
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Lower/OpenACC/acc-routine-bind-cuda-modfile.cuf

  Log Message:
  -----------
  [flang][openacc][cuda] Recover acc routine bind info in CUDA Fortran module reads (#223595)

CUDA Fortran device code can call a procedure whose device-side symbol
is given by `acc routine bind(...)` in the module that declares it.
The using translation unit is often compiled with CUDA Fortran enabled
and without an OpenACC target, so the `$acc` sentinel was never
recognized when re-parsing the module file and the bind clause was
dropped.
Enable OpenACC while reading module files under CUDA Fortran as well,
and resolve the recovered directives onto the imported symbols. User
`$acc` in the main source remains ignored without `-fopenacc`; only
directives that already survived into the `.mod` are honored.
A bind(C) host name and an acc bind device name on the same procedure
is the dual-name rule in OpenACC §2.15.1.


  Commit: c9c1ed7e41b245d15ee339b51696c546d5dc6d18
      https://github.com/llvm/llvm-project/commit/c9c1ed7e41b245d15ee339b51696c546d5dc6d18
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lldb/cmake/modules/AddLLDB.cmake
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/source/API/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Add an option to build liblldb statically (#223210)

This builds on the Emscripten host and platform work from the previous
patches.

`liblldb` is currently always created as a shared library. That makes
sense for the normal LLDB installation, but it is restrictive for
embedders where dynamic libraries are unavailable, expensive to load or
simply not the preferred deployment model.

My immediate use case is bringing LLDB into
[WasmBolt](https://github.com/anutosh491/WasmBolt) (try
[here](https://anutosh21.github.io/WasmBolt/)). Loading the complete
`liblldb` WebAssembly side module dynamically has significant startup
overhead. A static build lets the browser application link the required
LLDB components and plugins into its main module during CI, after which
startup is much faster and the linker can remove unreachable code.

The use case is not specific to Emscripten, so this patch adds the
platform-independent `LLDB_BUILD_STATIC_LIBLLDB` option while preserving
the existing shared-library default.

The patch:

- builds `liblldb` as a static library when explicitly requested;
- installs the resulting archive;
- skips shared-library version and export-list processing;
- propagates `LLDB_STATIC` so Windows consumers do not use `dllimport`;
- rejects the incompatible combination with `LLDB_BUILD_FRAMEWORK`.

In my Emscripten 6 experiment, the statically linked final module is
around 74 MB, while the shared `liblldb` side module alone was around 98
MB and considerably more expensive to load.

Tested by:

- building and installing `liblldb.a` natively on macOS;
- building `liblldb.a` with Emscripten 6;
- linking the complete Emscripten `lldb.wasm` executable against the
static target;
- confirming that the default configuration still generates shared
`liblldb`.


  Commit: f2e5ab1df1e2cece40ec39f54e00d5603553e49b
      https://github.com/llvm/llvm-project/commit/f2e5ab1df1e2cece40ec39f54e00d5603553e49b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/early-exit-branch-weights.ll
    A llvm/test/Transforms/LoopVectorize/replicate-region-guard-unknown-prof.ll
    A llvm/test/Transforms/LoopVectorize/scev-check-unknown-prof.ll
    A llvm/test/Transforms/LoopVectorize/select-branch-weights.ll
    A llvm/test/Transforms/LoopVectorize/select-unknown-prof.ll
    A llvm/test/Transforms/LoopVectorize/skeleton-branches-unknown-prof.ll

  Log Message:
  -----------
  [LV] Add tests for branch weights of branches and selects (NFC). (#224061)

Add for missing branch weights on branches and selects created by LV:
 * Skeleton branches
 * early exit branches
 * various selects.


  Commit: 79cfd3d03db54221240910523b5d99aece2c02f3
      https://github.com/llvm/llvm-project/commit/79cfd3d03db54221240910523b5d99aece2c02f3
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M flang/include/flang/Support/Fortran.h
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Support/Fortran.cpp
    A flang/test/Semantics/CUDA/cuf-matching-managed-static.cuf

  Log Message:
  -----------
  [flang][cuda] Limit mem:managed generic matching to allocatable and pointer (#223801)

managed memory mode only puts allocatable and pointer allocations in
managed memory. Static and automatic host objects stay host-resident, so
they must not match a device/managed/unified dummy during generic
resolution.

Keep the -gpu=mem:unified relaxation for all host variables, which are
device-accessible in that mode.

This stops host calls such as sum(host_array(:)) from resolving to a
CUDA Fortran device-dummy specific.


  Commit: ec4d25ab1d0f47f078fd749f6073f04cc820ddf3
      https://github.com/llvm/llvm-project/commit/ec4d25ab1d0f47f078fd749f6073f04cc820ddf3
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sme-za-tailcall-fpdiff-align.ll
    A llvm/test/CodeGen/AArch64/swifttail-fpdiff-align.ll
    M llvm/test/CodeGen/AArch64/tail-call-stack-args.ll

  Log Message:
  -----------
  [llvm][AArch64] Fix FPDiff founding direction in non-sibcall tail calls (#223545)

This fixes another subtle bug in frame accounting (see: #217156 /
#220406), for tail calls that have a non-multiple of 16 bytes worth of
stack arg area, and need that stack arg re-use to be increased to cover
the alignment requirement. This is best illustrated with callers
containing 8 formal arguments covering the first 8 GPRs (x0-x7),
followed by 9 bytes of argument passed on the stack.

In a callee-pops tail call (e.g. tailcc/swifttailcc), the set of
reusable stack arg area bytes has already been sufficiently aligned by
LowerFormalArguments, so growing NumBytes up to StackAlign is enough to
consume that excess. Otherwise (e.g. a plain C-convention call, forced
off the sibcall path, as in the aarch64_inout_za tests), we can't rely
on either having been pre-aligned, so we round NumBytes up to the same
residue mod StackAlign as NumReusableBytes, which cancels the residue
out of their difference (FPDiff), thus keeping the stack aligned going
into the callee.

Concretely, #220406 computed the Realign distance needed to round FPDiff
up to the next multiple of StackAlign, then subtracted that from FPDiff.
Subtracting that round-up distance overshoots rounding down to the
nearest multiple, and in general arrives at a value that may not even be
a multiple of StackAlign. For example, in @caller_last_stack_arg_i64 we
had NumReusableBytes=8 and NumBytes=1 for an FPDiff of 7, which computed
Realign=9, FPDiff=-2, NumBytes=10 instead of the intended NumBytes=8,
FPDiff=0.

rdar://187331378


  Commit: a63dc3288d2b8e178f55590797732dba540fac7d
      https://github.com/llvm/llvm-project/commit/a63dc3288d2b8e178f55590797732dba540fac7d
  Author: Prabhu Rajasekaran <prabhukr at google.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    A clang/test/CodeGen/call-graph-section-definition-noprototype.c
    A llvm/test/Linker/callgraph-section-noprototype.ll

  Log Message:
  -----------
  [clang][CodeGen] Construct function type for callgraph from function definition (#212863)

When -fexperimental-call-graph-section is enabled, for unprototyped
function
definitions (such as C89 parameterless declarations or K&R definitions)
reconstruct their prototype from the parameter declarations in the
definition AST (applying default argument promotions to parameters).

Assisted by: Gemini


  Commit: 1ac93e094347b45208f215c98038606432c87d60
      https://github.com/llvm/llvm-project/commit/1ac93e094347b45208f215c98038606432c87d60
  Author: Michael G. Kazakov <mike.kazakov at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    A libcxx/test/benchmarks/algorithms/nonmodifying/pstl.for_each.bench.cpp

  Log Message:
  -----------
  [libc++][pstl] Benchmark for parallel std::for_each (#222153)

Adds the first benchmark suite for PSTL algorithms - `std::for_each`.
It measures the algorithm against 3 different sizes: `64`, `64K` and
`64M` elements; and against 3 different per-element operation costs:
`minimal`, `cheap` and `expensive`, thus producing 9 separate
benchmarks.
The suite normally runs only with `std::execution::par`, serial
benchmarks can be additionally executed by defining
`TEST_PSTL_ENABLE_SEQ_BASELINES`.


  Commit: 617bbcec530238ddc3bc79f57d9da97ed0840552
      https://github.com/llvm/llvm-project/commit/617bbcec530238ddc3bc79f57d9da97ed0840552
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M mlir/lib/Conversion/ConvertToEmitC/ConvertToEmitCPass.cpp
    M mlir/lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp
    M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
    M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
    M mlir/lib/Pass/PassStatistics.cpp
    M mlir/lib/Target/SMTLIB/ExportSMTLIB.cpp
    M mlir/lib/Transforms/Utils/RegionUtils.cpp
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp

  Log Message:
  -----------
  [MLIR] Use make_isa_range instead of dyn_cast/continue (NFC). (#223974)

Simplify loops using dyn_cast + early continue using make_isa_range,
added in https://github.com/llvm/llvm-project/pull/223414.

Aided by Opus 5.

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


  Commit: 7060e05dedeafec4f6e9f3fd429065da4944a32e
      https://github.com/llvm/llvm-project/commit/7060e05dedeafec4f6e9f3fd429065da4944a32e
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  Revert "[Github] Bump AArch64 premerge to Ubuntu 26.04" (#224118)

Reverts llvm/llvm-project#224016

Breaks cross-project-tests


  Commit: 901f525d3cc9ae5dd9a4fbb4201bb63516b77dbd
      https://github.com/llvm/llvm-project/commit/901f525d3cc9ae5dd9a4fbb4201bb63516b77dbd
  Author: David Green <david.green at arm.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_fill_q7.ll
    A llvm/test/Transforms/PhaseOrdering/ARM/arm_mat_mult_q31.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/mve-floatreduce.ll

  Log Message:
  -----------
  [ARM] Add MVE matrix multi phase ordering test. NFC (#224120)

Also cleans up the existing run lines, containing legacy pass manage
runs.


  Commit: 49923e950b3e8f0adb693aa68b99df6a2479418b
      https://github.com/llvm/llvm-project/commit/49923e950b3e8f0adb693aa68b99df6a2479418b
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/docs/CommandGuide/lit.md
    M llvm/utils/lit/lit/Test.py
    M llvm/utils/lit/lit/cl_arguments.py
    M llvm/utils/lit/lit/main.py
    A llvm/utils/lit/tests/Inputs/rerun-failed-serially-retries/lit.cfg
    A llvm/utils/lit/tests/Inputs/rerun-failed-serially-retries/needs-four-attempts.py
    A llvm/utils/lit/tests/Inputs/rerun-failed-serially/always-fails.py
    A llvm/utils/lit/tests/Inputs/rerun-failed-serially/fails-once.py
    A llvm/utils/lit/tests/Inputs/rerun-failed-serially/lit.cfg
    A llvm/utils/lit/tests/rerun-failed-serially.py

  Log Message:
  -----------
  [lit] Add --rerun-failed-serially <REGEX> mechanism (#223504)

CI systems sometimes run on hardware or operating system versions that
have known problems that need to be worked around. This change in
particular is motivated by an issue with certain versions of macOS that
very rarely (but often enough to be a problem at CI scale) drop a burst
of parallel debugserver's attach requests. The goal is to recognize this
very situation and the re-run the affected tests without opnening the
door for the entire testsuite to become less reliable due to the retry
mechanism.

Tests that pass the second time are reported as FLAKYPASS, which keeps
them out of the failure count and the exit status.

--max-retries-per-test composes with this: the rerun honors
allowed_retries as well, so each of its attempts is retried in place as
before.

The regex argument restricts the rerun to failures whose output matches
a regular expression. Without it, any flaky test that happens to pass on
the rerun is laundered into a pass; with it, only the failures a known
platform bug produces get a second chance.

Assisted-by: Claude


  Commit: 7252edd9aa82ef1c570ff6694ef7f4763a8a5d2f
      https://github.com/llvm/llvm-project/commit/7252edd9aa82ef1c570ff6694ef7f4763a8a5d2f
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M libc/src/__support/pwd/CMakeLists.txt
    A libc/src/__support/pwd/dynamic_buffer.h
    M libc/src/__support/pwd/flat_file_db.h
    M libc/src/pwd/pwd_utils.cpp
    M libc/src/pwd/pwd_utils.h
    M libc/test/src/__support/pwd/CMakeLists.txt
    M libc/test/src/__support/pwd/flat_file_db_test.cpp

  Log Message:
  -----------
  [libc] Support dynamically-grown lines in FlatFileDatabase (#223811)

Add pwd::DynamicBuffer and overloads of FlatFileDatabase::getnext and
lookup that read into a growable buffer rather than a fixed span.
parse_line now returns ErrorOr<void> and accepts the buffer and line
length so parsers can report ERANGE or EINVAL directly.

Fixed-buffer getnext keeps its signature and never allocates.
Fixed-buffer lookup skips unrelated oversized preceding records using a
temporary ScopedDynamicBuffer and reports ERANGE only when the matched
record does not fit in the caller's buffer.

DynamicBuffer is trivially destructible by design so that it can be a
constant-initialised process global. Storage is released explicitly by
whoever owns it.

* Add pwd::DynamicBuffer in src/__support/pwd/dynamic_buffer.h
* Add growable overloads to FlatFileDatabase
* Update parse_line<struct passwd> signature
* Add unit tests for dynamically-grown lines in FlatFileDatabase

Assisted-by: Automated tooling, human reviewed.


  Commit: 0f930ac6172071fa24656dff3c68c4213ba4ba37
      https://github.com/llvm/llvm-project/commit/0f930ac6172071fa24656dff3c68c4213ba4ba37
  Author: Eli Friedman <efriedma at qti.qualcomm.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/unittests/AST/ASTImporterGenericRedeclTest.cpp

  Log Message:
  -----------
  [clang][NFC] Mark some ASTMatchers constructors constexpr. (#223903)

Suppresses a bunch of -Wglobal-constructors warnings in
ASTMatchersInternal.cpp .


  Commit: 8e1d22d857d85ef9254ca6f69800d9774a8dbc75
      https://github.com/llvm/llvm-project/commit/8e1d22d857d85ef9254ca6f69800d9774a8dbc75
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M lldb/test/API/linux/linker-symbols/TestLinkerSymbols.py

  Log Message:
  -----------
  [LLDB] Skip test under gold (#224113)

The way gold emits symbols created by linker scripts is not implemented
in LLDB.

For the record, I asked Claude to write a patch to implement the
functionality but it came up with a linear search through all sections
which I was afraid might be quite expensive. I'm happy to purse that as
an alternative if people think it is worth it, with the caveat that I am
not an ELF expert.


  Commit: 356c0c8d532d8f286fcd3d0342b8930fabbbff04
      https://github.com/llvm/llvm-project/commit/356c0c8d532d8f286fcd3d0342b8930fabbbff04
  Author: Bar Soloveychik <barsolo at meta.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Utility/RegisterType.h
    M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
    M lldb/source/Core/DumpRegisterInfo.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
    M lldb/source/Utility/RegisterType.cpp
    M lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterFlags.py
    A lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterUnion.py
    M lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterVector.py
    M lldb/unittests/Core/DumpRegisterInfoTest.cpp
    M lldb/unittests/Utility/RegisterTypeTest.cpp

  Log Message:
  -----------
  [lldb] Parse GDB remote register union types (#223485)

- Parses GDB XML `<union>` definitions.
- Supports builtin, vector, nested-union, and vector-of-union fields.
- Resolves types in document order and scopes IDs per feature.
- Rejects malformed, partial, duplicate, forward-referenced, and
incompatible definitions.
- Displays union metadata through register info.


https://sourceware.org/gdb/download/onlinedocs/gdb.html/Target-Description-Format.html

```
(lldb) register info u0
       Name: u0
       Size: 16 bytes (128 bits)
    In sets: General Purpose Registers (index 0)

  Union members:
    f32 (ieee_single, 4 bytes)
    f64 (ieee_double, 8 bytes)
    s64 (int64, 8 bytes)
    u64 (uint64, 8 bytes)
    raw (uint128, 16 bytes)
(lldb) register info u1
       Name: u1
       Size: 16 bytes (128 bits)
    In sets: General Purpose Registers (index 0)

  Union members:
    scalar (ieee_single, 4 bytes)
    floats (v4f, 16 bytes)
    doubles (v2d, 16 bytes)
    raw (uint128, 16 bytes)
(lldb) register info n0
       Name: n0
       Size: 16 bytes (128 bits)
    In sets: General Purpose Registers (index 0)

  Union members:
    f32_view (float_lane_view, 16 bytes)
    f64_view (double_lane_view, 16 bytes)
    raw (uint128, 16 bytes)
(lldb) register info b0
       Name: b0
       Size: 32 bytes (256 bits)
    In sets: General Purpose Registers (index 0)

  Union members:
    c (bytes32, 32 bytes)
    words (words8, 32 bytes)
(lldb) register info vu0
       Name: vu0
       Size: 16 bytes (128 bits)
    In sets: General Purpose Registers (index 0)

  Vector elements: 4
(lldb) register read u0
  u0 = 0x0000000000000000ffffffff3fc00000
```

Next PR (final) will build real typed values from it. for example:
```
(lldb) register read u0
    u0 = 0x0000000000000000ffffffff3fc00000
       = (f32 = 1.5, f64 = NaN, s64 = ..., u64 = ..., raw = ...)
```

Co-authored-by: Bar Soloveychik <barsolo at fb.com>


  Commit: 7201475cdcca3c4e2f8abf3ba8a2ea52e6fe56df
      https://github.com/llvm/llvm-project/commit/7201475cdcca3c4e2f8abf3ba8a2ea52e6fe56df
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M flang/test/Parser/OpenMP/target_device_parse.f90
    M flang/test/Parser/OpenMP/target_device_unparse.f90
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocators02.f90
    M flang/test/Semantics/OpenMP/allocators03.f90
    M flang/test/Semantics/OpenMP/atomic-capture-invalid.f90
    M flang/test/Semantics/OpenMP/atomic02.f90
    M flang/test/Semantics/OpenMP/atomic03.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/sections02.f90
    M flang/test/Semantics/OpenMP/threadprivate01.f90

  Log Message:
  -----------
  [flang][OpenMP] Remove dependency on openmp-runtime where not needed,… (#224122)

… NFC

Several tests claimed dependence on openmp-runtime and had USE omp_lib
statements even though they didn't use anything from it.


  Commit: ac499e503cd3a3c50245bdfcd8928e04509e6d1c
      https://github.com/llvm/llvm-project/commit/ac499e503cd3a3c50245bdfcd8928e04509e6d1c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/test/CodeGen/PR44896.ll

  Log Message:
  -----------
  clang: Require x86 to be built for PR44896.ll test (#224117)


  Commit: 2b16c36b4c532aa1f459ce566f7b41395b34edcf
      https://github.com/llvm/llvm-project/commit/2b16c36b4c532aa1f459ce566f7b41395b34edcf
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  [Github] Use explicit --progress for large wget downloads (#224092)

Otherwise we get a log line every 50k which is exceedingly annoying as
it generates thousands of lines of output. Use mega/giga (3M/50M
respectively) depending upon the download size so we end up with about
20 lines of output.


  Commit: 4cd54b6004dcd104e3d5a948eff521aa7769d770
      https://github.com/llvm/llvm-project/commit/4cd54b6004dcd104e3d5a948eff521aa7769d770
  Author: newgre <jannewger at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M compiler-rt/CMakeLists.txt
    M compiler-rt/Maintainers.md
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/CMakeLists.txt
    A compiler-rt/lib/copyprof/.clang-format
    A compiler-rt/lib/copyprof/CMakeLists.txt
    A compiler-rt/lib/copyprof/copyprof.cpp
    A compiler-rt/lib/copyprof/copyprof.syms.extra
    A compiler-rt/lib/copyprof/copyprof_interface_internal.h
    A compiler-rt/lib/copyprof/copyprof_internal.h
    A compiler-rt/lib/copyprof/copyprof_reporting.cpp
    A compiler-rt/lib/copyprof/copyprof_reporting.h
    A compiler-rt/lib/copyprof/copyprof_shadow.cpp
    A compiler-rt/lib/copyprof/copyprof_shadow.h
    A compiler-rt/lib/copyprof/copyprof_stack.cpp
    A compiler-rt/lib/copyprof/copyprof_state.cpp
    A compiler-rt/lib/copyprof/copyprof_state.h
    A compiler-rt/lib/copyprof/tests/CMakeLists.txt
    A compiler-rt/lib/copyprof/tests/copyprof_shadow_test.cpp
    A compiler-rt/lib/copyprof/tests/copyprof_state_test.cpp
    A compiler-rt/lib/copyprof/tests/driver.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
    M llvm/Maintainers.md
    M llvm/lib/Transforms/Instrumentation/CopyProf.cpp
    M llvm/test/Instrumentation/CopyProf/function-instrumentation.ll

  Log Message:
  -----------
  [CopyProf] Implement minimal CopyProf runtime. (#223458)

The runtime tracks object copies using shadow memory (with a 1:8
compression scale).

Each thread uses TLS to keep track of whether execution is currently
inside a special member function. Copy functions mark corresponding
shadow memory as a copy. Upon destruction, if an object was marked as a
copy and never modified, it is classified as an unnecessary copy, and a
report with a stack trace is generated.

RFC:
https://discourse.llvm.org/t/rfc-copysanitizer-csan-detecting-unneccessary-object-copies-at-runtime/91038
Previous PR: https://github.com/llvm/llvm-project/pull/207385

---------

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


  Commit: 7b6e37389fa9f89351589f0a8279e9420ceab22c
      https://github.com/llvm/llvm-project/commit/7b6e37389fa9f89351589f0a8279e9420ceab22c
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn

  Log Message:
  -----------
  [gn build] Port d8a3beaf4553 (#224128)


  Commit: 55488f92131afe48c17ea2d3ca9c416a0204b689
      https://github.com/llvm/llvm-project/commit/55488f92131afe48c17ea2d3ca9c416a0204b689
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn

  Log Message:
  -----------
  [gn] port 988c5a95ffa7d118 (HIP GPU OFFLOAD compiler-rt lit stuff) (#224129)


  Commit: 29b702e5e690b0216b81eabb9b023030de9b90d7
      https://github.com/llvm/llvm-project/commit/29b702e5e690b0216b81eabb9b023030de9b90d7
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp

  Log Message:
  -----------
  [scudo] Do not trim the secondary cache if releasing is disabled. (#223881)

When the ReleaseInterval is set to less than zero, then releasing has
been disabled. In this case, honor this and do not trim the cache using
the MaxCacheResidentyBytes value.

Add a test to verify this behavior.


  Commit: 3cda1740bcf62b00a16d097eb2c1a75b54366588
      https://github.com/llvm/llvm-project/commit/3cda1740bcf62b00a16d097eb2c1a75b54366588
  Author: Thomas Lively <tlively at google.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/test/CodeGen/thread-model.c
    M llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
    M llvm/lib/TargetParser/Triple.cpp
    A llvm/test/CodeGen/WebAssembly/coalesce-features-thread-model.ll

  Log Message:
  -----------
  [WebAssembly] Use Single as the default Triple thread model (#223917)

Clang defaults WebAssembly to a single-threaded model unless atomics and
bulk-memory are enabled, whereas Triple::getDefaultThreadModel()
previously defaulted to POSIX for all targets. Because Clang only emits
the "thread-model" module flag when the active thread model differs from
the triple's default, single-threaded Wasm objects recorded
"thread-model"="single" while multithreaded objects omitted the flag.
When linking mixed objects in LTO, the merged module inherited "single",
causing passes like LICM and AtomicExpand to treat multithreaded
programs as single-threaded.

Change Triple::getDefaultThreadModel() to return ThreadModel::Single for
WebAssembly so that multithreaded objects explicitly record
"thread-model"= "posix" and single-threaded objects omit the flag.
Additionally, update WebAssemblyCoalesceFeaturesAndStripAtomics to set
the module thread model to POSIX when threading features are enabled and
no explicit module flag is present, ensuring backend passes like
AtomicExpandPass preserve atomics in raw IR modules compiled via llc.

Assisted-By: Gemini


  Commit: 952d860b71a3c7697a4b0bfe309019cc927773f6
      https://github.com/llvm/llvm-project/commit/952d860b71a3c7697a4b0bfe309019cc927773f6
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/CAS/MappedFileRegionArena.cpp

  Log Message:
  -----------
  [CAS] Read a CAS file's reserved size from st_blocks, not st_blksize (#224104)

FileSizeInfo reports how much disk a file already has, which
MappedFileRegionArena records so it knows how far ahead it has reserved.
However the file size was accidentally computed from st_blksize which is
the preferred I/O size, not the number of allocated blocks for the file.

The value is read when a database is created or reopened, so a reopened
database believed almost none of its disk was reserved and reserved it
again from near zero, a megabyte per allocation. Fix the problem by
using the correct size.


  Commit: 2558e6d5ca08fdb07b3378f5c1465cadb15b136a
      https://github.com/llvm/llvm-project/commit/2558e6d5ca08fdb07b3378f5c1465cadb15b136a
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py

  Log Message:
  -----------
  [CI] Make updates to .ci actually test everything (#224125)

We ran into an issue where test failures in cross-project-tests were not
surfaced when bumping the image to Ubuntu 26.04 due to the script not
correctly calculating dependencies for changes to .ci and the premerge
workflow. This patch fixes that by ensuring the projects executed for
.ci/workflow changes are derived from everything else which means we do
not need to manually maintain the list and risk leaving it out of date.


  Commit: c1ad400444cda8b601e0d6f83bf812d4fc8ced48
      https://github.com/llvm/llvm-project/commit/c1ad400444cda8b601e0d6f83bf812d4fc8ced48
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty.cpp
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-union-no-span.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-union-tail-padding.c
    M clang/test/CIR/Transforms/abi-lowering/x86_64-aggregate-nyi.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-union.cir

  Log Message:
  -----------
  [CIR] Accept a union whose members do not cover its declared size (#223594)

`union { unsigned Words[3]; void *Ptr; }` is 16 bytes because the
pointer's alignment rounds it up, and no member covers that size. The
pass refused to classify unions like that at all, so anything holding
one failed to compile. Tail padding doesn't change how an eightbyte
classifies, so this drops the precondition and classifies the union from
its own size.


  Commit: 16fa456a7954bb2cecf2db042492f4feb45d5be2
      https://github.com/llvm/llvm-project/commit/16fa456a7954bb2cecf2db042492f4feb45d5be2
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  [bazel] Port 2c930a5 (#224130)


  Commit: 0038be81b8b5361112faf82e69d4590364ee81b9
      https://github.com/llvm/llvm-project/commit/0038be81b8b5361112faf82e69d4590364ee81b9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M mlir/lib/Conversion/ConvertToEmitC/ConvertToEmitCPass.cpp

  Log Message:
  -----------
  [MLIR] Wrap block with debug-only loop in LLVM_DEBUG (NFC). (#224124)

This fixes a build-failure with Werror in release builds introduced in
https://github.com/llvm/llvm-project/pull/223974. `iface` is unused in
release builds. Wrap the whole block into `LLVM_DEBUG`

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


  Commit: 205baf18a90cd0f6535d6bf129303246af097033
      https://github.com/llvm/llvm-project/commit/205baf18a90cd0f6535d6bf129303246af097033
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll

  Log Message:
  -----------
  [SLP][NFC]Add extra test for bit mask reductions, NFC



Reviewers: 

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


  Commit: 325e759c6d95dca65c4312cc24056a6ef4872c22
      https://github.com/llvm/llvm-project/commit/325e759c6d95dca65c4312cc24056a6ef4872c22
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td

  Log Message:
  -----------
  [RISCV] Use template PredicateMethod for ImmAsmOperand when suffix is empty. NFC (#224098)

This allows us to remove forwarding wrappers from RISCVAsmParser.cpp.

Assisted-by: Claude


  Commit: 0447d7932f2717904877a157738fef5057765a3d
      https://github.com/llvm/llvm-project/commit/0447d7932f2717904877a157738fef5057765a3d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  [RISCV] Don't construct a subtarget for function declarations in RISCVPromoteConstant. (#224115)

Intrinsic declarations in particular don't have a target-features
attribute so the subtarget constructor may print warning like:

hard-float 'd' ABI can't be used for a target that doesn't support the D
instruction set extension

This can occur in LTO builds in -mcpu is not passed to the clang driver
on the LTO step. The target-machine won't have any CPU features.


  Commit: b49c7d085abff1f88d8b87578fd65bb38597725d
      https://github.com/llvm/llvm-project/commit/b49c7d085abff1f88d8b87578fd65bb38597725d
  Author: Finn Plummer <mail at inbelic.dev>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/docs/DirectX/SemanticSignatures.md
    M llvm/include/llvm/Frontend/HLSL/SemanticSignaturePacking.h
    M llvm/lib/Frontend/HLSL/SemanticSignaturePacking.cpp
    M llvm/unittests/Frontend/HLSLSemanticSignaturePackingTest.cpp

  Log Message:
  -----------
  [HLSLSemanticSignatures] Implement the indexed packing of elements (#218061)

Implements the indexed packing algorithm.

Resolves: #205877

Assisted by: Claude Opus 5 and GPT-5.6 Sol


  Commit: 756c2fdbafbf020483ab4f9d25342cd156a83f51
      https://github.com/llvm/llvm-project/commit/756c2fdbafbf020483ab4f9d25342cd156a83f51
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/startup/linux/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/startup/linux/startup_rules.bzl

  Log Message:
  -----------
  [bazel][libc] Be explicit about pic/nopic in startup_rules.bzl (#223851)

Currently, `_get_object_files` gets object files from
`OuputGroupInfo.compilation_outputs`, which isn't very well documented
any will often just choose the PIC variant: see
[`cc_helper.bzl`](https://github.com/bazelbuild/rules_cc/blob/661b75de668c3b673f5550e0340e134ccf923956/cc/common/cc_helper.bzl#L192)
and
[`needs_pic_for_dynamic_libraries`](https://github.com/bazelbuild/rules_cc/blob/b72bca6252e808ac3685a2a627197a151c6bfed9/cc/private/rules_impl/cc_toolchain_info.bzl#L23).

This PR updates `merge_relocatable_object` to propagate both pic/nopic
variants of the merged object, and updates `libc_startup_object` to be
explicit about its choice of pic/nopic.

The exact choice of how to handle pic/nopic may need to be updated in
the future as we add `rcrt1.o`, but the setup in this PR is better than
just using `compilation_outputs` verbatim.


  Commit: 059358a8d5f1c14b27c68dba7fb47680c21bebc5
      https://github.com/llvm/llvm-project/commit/059358a8d5f1c14b27c68dba7fb47680c21bebc5
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

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

  Log Message:
  -----------
  [bazel][libc] Allow libc:types_char8_t to compile in full-build mode (#223872)


  Commit: 3936f33806ab3133df2387ab87b49d74b75711f0
      https://github.com/llvm/llvm-project/commit/3936f33806ab3133df2387ab87b49d74b75711f0
  Author: Deric C. <cheung.deric at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/test/CodeGen/DirectX/Sample.ll
    M llvm/test/CodeGen/DirectX/SampleBias.ll
    M llvm/test/CodeGen/DirectX/SampleGrad.ll
    M llvm/test/CodeGen/DirectX/SampleLevel.ll
    M llvm/test/CodeGen/DirectX/Texture2DArray-SampleBias.ll
    M llvm/test/CodeGen/DirectX/Texture2DArray-SampleGrad.ll
    M llvm/test/CodeGen/DirectX/TextureLoad.ll
    M llvm/test/CodeGen/DirectX/TextureStore.ll

  Log Message:
  -----------
  [DirectX] Make DXILOpLowering split vector coordinates, offsets, and gradient operands (#223091)

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

DXILOpLowering didn't split vector coordinates, offsets, and gradient
operands into scalars for textureLoad, textureStore, and sample
intrinsics like it did for store data. This PR fixes that.

This PR also removes inconsistencies where the DXILOpLowering pass
emitted a mix of i64 and i32 indices for `extractelement`. It now just
emits i32 indices.

Assisted by: Claude Opus 5


  Commit: 4aeec5992e4815b436a01967fc66e174f489ea15
      https://github.com/llvm/llvm-project/commit/4aeec5992e4815b436a01967fc66e174f489ea15
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    A llvm/include/llvm/ExecutionEngine/Orc/Shared/ConnectionSpec.h
    M llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/Shared/ConnectionSpec.cpp
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/unittests/ExecutionEngine/Orc/ConnectionSpecTest.cpp

  Log Message:
  -----------
  [ORC] Add ConnectionSpec for connection string parsing (#224000)

A ConnectionSpec is the parsed form of a string describing one
connection a process should establish with its peer:

  <transport>[:<action>]=<descriptor>

E.g. "fd=3" or "tcp:connect=localhost:20000". The parser only checks
punctuation: transport and action names are opaque tokens, and the
descriptor's syntax is left to the transport, which lets a descriptor
contain ':' and '=' unescaped (e.g. "tcp:listen=[::1]:0").

This will be used by llvm-jitlink and llvm-jitlink-executor to
generalize out-of-process executor connection setup beyond the current
fd/TCP-only options.


  Commit: bb9a57a70d35e36d4c8258cc9a15e5c29041d0d7
      https://github.com/llvm/llvm-project/commit/bb9a57a70d35e36d4c8258cc9a15e5c29041d0d7
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
    M llvm/test/Transforms/SLPVectorizer/RISCV/check-node-without-vector-user.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/folded-broadcast-cost.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/remark-zext-incoming-for-neg-icmp.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reordered-buildvector-scalars.ll

  Log Message:
  -----------
  [SLP] More accurately cost RISCV scalar splats (#213104)

Backends may have a fast path for splatting scalar operands (i.e. rather
than generating the splat vector, the vector instruction may be able to
take a scalar operand), for example RISCV `vfoo.vx` instructions. Pass a
hint to the TTI when costing the insert/shuffle sequence in such cases.

Fixes #212413.

Assisted By: Codex


  Commit: 469437d4fbc917db4d4f479612d055ca780c555c
      https://github.com/llvm/llvm-project/commit/469437d4fbc917db4d4f479612d055ca780c555c
  Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp

  Log Message:
  -----------
  [SandboxVec][NFC] Replace ArrayRef witn BndlRef (#224077)


  Commit: 4c9a33aaee2cd827935a547603e449abf3ef734d
      https://github.com/llvm/llvm-project/commit/4c9a33aaee2cd827935a547603e449abf3ef734d
  Author: Jonas Heinle <jonasheinle at googlemail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    R llvm/test/CodeGen/AArch64/wineh-async-eh-pad-instr-size.ll
    A llvm/test/CodeGen/WinEH/wineh-eha-nop.ll

  Log Message:
  -----------
  [WinEH] Only emit the async-EH nop after EH_LABEL on x86 (#219275)

Under `-fasync-exceptions`, `AsmPrinter::emitFunctionBody()` emits a nop
after an `EH_LABEL` whose next instruction can fault, so that the
faulting instruction opening an EH region does not share an address with
the return address of the call before it.

`EH_LABEL` is a meta-instruction and reports a size of zero, so that nop
is invisible to `getInstSizeInBytes()` and to everything that sums it.
On AArch64 that undercounts block offsets, `AArch64CompressJumpTables`
picks a one-byte jump table entry that does not fit, and the assembler
rejects it with `value evaluated as 258 is out of range`. That is how
this was found, building OpenCV's bundled protobuf for
`aarch64-pc-windows-msvc` with clang-cl `/EHa`. `BranchRelaxation` sums
the same sizes and has the same hole.

Only x86 needs the padding. On Arm64 the unwinder already backs the PC
up over a call when it knows there was one, which is exactly the case
the nop protects against, So gate the nop on x86 triples. That also
stops emitting it on armv7-windows, same size mismatch on #221687.

That in turn lets the `EH_LABEL` exception added to
`TargetInstrInfo::getInstSizeVerifyMode()` in #223641 go. x86 still
emits the nop, but x86 does not implement `getInstSizeInBytes()`, so
the base class returns `~0U` and the `AllowOverEstimate` comparison is
vacuous there. Every target that does implement it has stopped emitting
the nop.

Assisted-by: Claude (Anthropic)


  Commit: 39477871dcb54b41d82f8835c630d143bf3036ae
      https://github.com/llvm/llvm-project/commit/39477871dcb54b41d82f8835c630d143bf3036ae
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Target/StackFrameRecognizer.h
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Plugins/DynamicLoader/Windows-DYLD/MSVCRTCFrameRecognizer.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.cpp
    M lldb/source/Target/AssertFrameRecognizer.cpp
    M lldb/source/Target/StackFrameRecognizer.cpp

  Log Message:
  -----------
  Change string type of StackFrameRecognizer module names (#222810)

The majority of these come from FileSpec filenames (which are no longer
ConstStrings). Instead of putting them into the StringPool, the
StackFrameRecognizerManager can just hold onto the name in the
RegisteredEntry.


  Commit: 1ad9806d7bcaf265669aff415bf221e54ce2eca3
      https://github.com/llvm/llvm-project/commit/1ad9806d7bcaf265669aff415bf221e54ce2eca3
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/Shared/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 4aeec5992e48 (#224161)


  Commit: 44286f0def9cc40569b8d84ed0375b9200d857c9
      https://github.com/llvm/llvm-project/commit/44286f0def9cc40569b8d84ed0375b9200d857c9
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M lld/COFF/ICF.cpp

  Log Message:
  -----------
  [lld][COFF] Refactor ICF section equality checks, NFC (#206562)

In the context of #205456 , this seemed like a reasonable refactoring.
The template specialization might be overkill, but I figured it would
ensure there was no performance regression.


  Commit: 2c59a938b358dc5b518e50424423f4a6eff2e8d7
      https://github.com/llvm/llvm-project/commit/2c59a938b358dc5b518e50424423f4a6eff2e8d7
  Author: Kevin McAfee <kmcafee at nvidia.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
    M llvm/test/CodeGen/AMDGPU/asyncmark-gfx12plus.ll
    M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
    M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
    M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-control-flow.ll
    M llvm/test/CodeGen/AMDGPU/while-break.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/xor-decompose.ll
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/index-insertion-point.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep.ll
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/index-insertion-point-terminator-def.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/pr45371-find-either-reset.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Rebuild GEP indices at their definition point (#223546)

When a constant offset is split out of a GEP index, the rebuilt index
replaces the original one. Rebuilding the index immediately before the
GEP amounts to sinking the index computation, increasing live ranges and
register pressure. This change attempts to rebuild the index at the
definition point of the original index instead. The same insertion point
is used for the `idxprom` cast created by
`canonicalizeArrayIndicesToIndexSize` too.


  Commit: bffd2427a9309321fe2d9fc31a2d5a217c1aea12
      https://github.com/llvm/llvm-project/commit/bffd2427a9309321fe2d9fc31a2d5a217c1aea12
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M libc/test/UnitTest/BazelFilePath.cpp

  Log Message:
  -----------
  [bazel][libc] Do not depend on system `getenv` in BazelFilePath.cpp (#223873)

This PR models after
https://github.com/llvm/llvm-project/commit/ee407f7e7069cccfdc1815de07e17cebf83d19f9
in order to conditionally use LLVM-libc's `getenv` when compiling in
full-build mode.


  Commit: a0b33b0f1a88939ba8708777432d77118f014b0c
      https://github.com/llvm/llvm-project/commit/a0b33b0f1a88939ba8708777432d77118f014b0c
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/startup/linux/startup_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl

  Log Message:
  -----------
  [bazel][libc][test] Allow LLVM-libc tests to be run in full-build mode (#219262)

This PR makes the required changes to run LLVM-libc full build tests in
Bazel. After this PR, most tests pass:


```
bazel test @llvm-project//libc/test/... --config=ci -- at llvm-project//libc:build_mode=full --keep_going
Executed 760 out of 970 tests: 760 tests pass and 210 fail to build.
```

Follow on changes will fix specific tests that are failing (some missing
deps etc).

Specifically, this PR:
- Propagates the correct dependencies and compiler/linker options from
[`add_libc_hermetic`](https://github.com/llvm/llvm-project/blob/4098f568c46e06b6df470111868b4c165dd80f4d/libc/cmake/modules/LLVMLibCTestRules.cmake#L750).
- Adds `crt1.o` and hermetic utils as deps for all full-built tests.
- Fixes some build deps to be full-build compatible.


  Commit: d587093d648bd6bc305763eb9e3f20682e69b3eb
      https://github.com/llvm/llvm-project/commit/d587093d648bd6bc305763eb9e3f20682e69b3eb
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/include/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/utils/MPCWrapper/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel

  Log Message:
  -----------
  [test][bazel][libc] Fix dependencies for some tests under full-build (#223498)


  Commit: 1a9ff38b0765598add24cfed6a9e8760fef2ca69
      https://github.com/llvm/llvm-project/commit/1a9ff38b0765598add24cfed6a9e8760fef2ca69
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl

  Log Message:
  -----------
  [bazel][test][libc] Use LLVM-libc's clock entrypoint in overlay tests (#224131)

This mimics LLVM-libc's CMake logic to always prefer LLVM-libc's own
`clock` implementation when available:
https://github.com/llvm/llvm-project/blob/2b16c36b4c532aa1f459ce566f7b41395b34edcf/libc/test/UnitTest/CMakeLists.txt#L32-L34


  Commit: 33c606648f9d3db62bb437dd79e1de66671faa04
      https://github.com/llvm/llvm-project/commit/33c606648f9d3db62bb437dd79e1de66671faa04
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll

  Log Message:
  -----------
  [RISCV][GISel] Remove stale FIXMEs from rv64zbkb.ll. NFC (#224156)


  Commit: df4d6ccd074dd0f3940d0614b951810dd585a3f6
      https://github.com/llvm/llvm-project/commit/df4d6ccd074dd0f3940d0614b951810dd585a3f6
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M lldb/test/API/commands/expression/import-std-module/iterator/TestIteratorFromStdModule.py

  Log Message:
  -----------
  [LLDB] Skip test with older versions of clang (really: libc++) (#224171)


  Commit: 739def2b4c571a48c62de25d16601be108fcdaff
      https://github.com/llvm/llvm-project/commit/739def2b4c571a48c62de25d16601be108fcdaff
  Author: jiel-nv <37816794+jiel-nv at users.noreply.github.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M flang/lib/Lower/PFTBuilder.cpp
    M flang/test/Lower/main_location.f90

  Log Message:
  -----------
  [flang] Fix unknown location for a main program that starts with INCLUDE (#224166)


  Commit: a0dfeecc18b8a769cfdb589ad4a0151744716ab5
      https://github.com/llvm/llvm-project/commit/a0dfeecc18b8a769cfdb589ad4a0151744716ab5
  Author: jimingham <jingham at apple.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M lldb/bindings/python/python-swigsafecast.swig
    M lldb/docs/use/tutorials/automating-stepping-logic.md
    M lldb/examples/python/templates/scripted_process.py
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedFrameInterface.h
    M lldb/include/lldb/Target/StackFrame.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/include/lldb/lldb-private-enumerations.h
    M lldb/source/API/SBThread.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Target/StackFrameList.cpp
    A lldb/test/API/functionalities/scripted_frame_provider/step_with_type/Makefile
    A lldb/test/API/functionalities/scripted_frame_provider/step_with_type/TestFrameProviderStepping.py
    A lldb/test/API/functionalities/scripted_frame_provider/step_with_type/frame_provider.py
    A lldb/test/API/functionalities/scripted_frame_provider/step_with_type/main.c

  Log Message:
  -----------
  Allow scripted frames to implement custom step operations (#223834)

Add an API to the ScriptedFrame interface that gives the ScriptedFrame a
chance to return a scripted ThreadPlan class name for a class that
implements the requested step type.

LLDB will consult the ScriptedFrame (if any) first. If the ScriptedFrame
returns an empty class name, the standard stepping algorithms will be
used, otherwise an instance of the provided class will be constructed -
passing in an optional - ScriptedFrame provided `extra_args` dictionary
- and added to the ThreadPlanStack to handle this step.


  Commit: a566d4bfb995ba9b4860078f60ffd62e2bb02cbb
      https://github.com/llvm/llvm-project/commit/a566d4bfb995ba9b4860078f60ffd62e2bb02cbb
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNCreateVOPD.cpp
    M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
    M llvm/lib/Target/AMDGPU/GCNVOPDUtils.h

  Log Message:
  -----------
  [NFC][AMDGPU] Separate VOPD candidate selection (#223518)

This PR separates VOPD candidate matching from selection without
changing generated code.

`GCNCreateVOPD` used to choose a pair as soon as `tryMatchVOPDPair`
found one. That made matching and selection one operation: the first
match consumed both instructions before later work could decide whether
the pair was usable.

We now record matches in program order, collect every adjacent
candidate, and select the same greedy non-overlapping set in a separate
step.

This gives later changes a place to reject or rank a candidate without
hiding an overlapping pair that uses its second instruction.


  Commit: 86b7f51bbc3581d3b8a46023c7ae2012edd5bc38
      https://github.com/llvm/llvm-project/commit/86b7f51bbc3581d3b8a46023c7ae2012edd5bc38
  Author: int-zjt <zhangjiatong.0 at bytedance.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    A llvm/test/Transforms/Attributor/cleanup-no-seeding.ll

  Log Message:
  -----------
  [Attributor] Only seed live internal callees during deduction (#222226)

When a basic block becomes live, assumeLive marks its internal callees
live to seed attributes for deduction. Currently, this also happens when
a liveness AA is initialized during MANIFEST or CLEANUP, after the
fixed-point iteration has finished.

In CGSCC runs, cleanup can query the liveness of a shared caller for
each callee SCC. Seeding all internal callees in that caller's live blocks
can then cause quadratic initialization work.

Restrict this bulk seeding to SEEDING and UPDATE. Continue recording
live blocks and allow on-demand attribute queries in the later stages.


  Commit: f144b3e3c3b30ddd32112238034ba923a5c7152d
      https://github.com/llvm/llvm-project/commit/f144b3e3c3b30ddd32112238034ba923a5c7152d
  Author: Mahmoud Ahmed <anondeveg at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/SemaModule.cpp
    A clang/test/Modules/mismatched_global_module_sate.cppm

  Log Message:
  -----------
  [clang][Modules] make ActOnPrivateModuleFragmentDecl return non-null on success.  (#223757)

his code
```cpp
module;
module :private;
export module Foo;
```
a Private module fragment here is illegal because it can only be
declared in a primary module interface unit, instead of raising an error
clang crashed because of this assertion
```cpp
  assert((!getLangOpts().CPlusPlusModules ||
          SeenGMF == (bool)this->TheGlobalModuleFragment) &&
         "mismatched global module state");
``` 
the mismatch happened because `ParseModuleDecl` assigned ImporState
wether or not it was semantically correct:
```cpp
 ImportState = ImportState == Sema::ModuleImportState::ImportAllowed
                      ? Sema::ModuleImportState::PrivateFragmentImportAllowed
                      : Sema::ModuleImportState::PrivateFragmentImportFinished;
    return Actions.ActOnPrivateModuleFragmentDecl(ModuleLoc, PrivateLoc);
  }
```
Also `ActOnPrivateModuleFragmentDecl` was returning `nullptr` in both
failure and success cases.

So i made it return a non-null object and only assign the ImportState on
sema failure.

fixes: #219950


  Commit: c89948739b168e32fe9e83e67149be013c966f99
      https://github.com/llvm/llvm-project/commit/c89948739b168e32fe9e83e67149be013c966f99
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/environment.h
    M flang-rt/include/flang-rt/runtime/tools.h
    M flang-rt/lib/runtime/assign.cpp
    M flang-rt/lib/runtime/environment.cpp
    M flang-rt/lib/runtime/tools.cpp
    M flang-rt/unittests/Runtime/Assign.cpp
    M flang/docs/RuntimeEnvironment.md
    M flang/include/flang/Runtime/assign.h

  Log Message:
  -----------
  [flang-rt] Copy out only the modified suffix of an argument temporary (#222101)

`CopyOutAssign` currently copies the whole temporary back over the
original unconditionally. When the effective argument is not definable —
a named constant, for example — and the callee, conformingly, never
modified it, that copy-back stores unmodified bytes into storage that
may be read-only. With this change, `CopyOutAssign` scans the temporary
for the first element whose bit pattern differs from the original and
copies back only from that element through the end, in one fused pass:
an unmodified copy-out performs no stores at all, so compiler-generated
copy-out can never be the reason a conforming program writes into
read-only storage. The comparison is bitwise, which is exact here
because the temporary was created as a bitwise copy by `CopyInAssign`:
unmodified elements compare equal even for NaNs and padding bytes, which
a value comparison would misjudge.

The change is performance-neutral in practice (measurements summarized
in a comment below): copy-out's destination is essentially always
discontiguous — the temporary exists only because the actual argument
failed a runtime contiguity check — and on that shape the scan-then-copy
is within a few tens of percent of the unconditional copy in either
direction on microbenchmarks, and indistinguishable at whole-application
level.

The system environment variable `FLANG_RT_COPYOUT_MODIFIED_ONLY=0`
restores the previous unconditional copy-out, as an escape hatch and for
A/B comparison; it is documented in `flang/docs/RuntimeEnvironment.md`.
Note it restores stores of unmodified data (including into read-only
storage), so it is not a "safer" mode.

Assisted-by: AI


  Commit: 839093dddb95ca2680310ae880267e558d9f492c
      https://github.com/llvm/llvm-project/commit/839093dddb95ca2680310ae880267e558d9f492c
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/IR/AsmWriter.cpp

  Log Message:
  -----------
  [IR] Avoid collecting COMDATs for non-module printing (#221460)

`AssemblyWriter` scans every global object in its constructor to collect
referenced COMDATs. That collection is only used when printing a
complete module, but the constructor also runs for standalone value and
instruction printing.

Move COMDAT emission into `printModule()`. Print each group at its first
global-object use and keep only a local set to avoid duplicate
declarations.

On `bench/sqlite/original/shell.ll` from `llvm-opt-benchmark`, the
median `opt -passes=dot-cfg` time dropped from 1.65 s to 0.40 s, about
4.1x faster. All 687 generated DOT files matched after normalizing
process-specific node IDs.


  Commit: c622900cb4dbd053560f83a6623f6f316f227aae
      https://github.com/llvm/llvm-project/commit/c622900cb4dbd053560f83a6623f6f316f227aae
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/test/CodeGen/SPIRV/instructions/scalar-integer-arithmetic.ll

  Log Message:
  -----------
  [SPIR-V] Add missing __spirv_SMod builtin mapping (#223796)


  Commit: 1a87171c50553ccf767c3b51a516b81748c4e0d1
      https://github.com/llvm/llvm-project/commit/1a87171c50553ccf767c3b51a516b81748c4e0d1
  Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/test/Target/LLVMIR/openmp-teams.mlir

  Log Message:
  -----------
  [OpenMPIRBuilder] Use generic pointers for outlined teams arguments (#222176)

createFakeIntVal models the thread and bound id arguments of the
function
outlined for a teams region as allocas. When the target's alloca address
space is not zero these were passed on as-is, so the outlined function
took
addrspace(5) pointers while __kmpc_fork_teams calls it with generic
ones.

Cast the alloca to address space zero when it is passed as a pointer,
which
only affects targets with a non-zero alloca address space such as
AMDGPU.


  Commit: 3626563e2dd5a301537fae1ea4ec8054db2fb743
      https://github.com/llvm/llvm-project/commit/3626563e2dd5a301537fae1ea4ec8054db2fb743
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/sextw-removal.ll

  Log Message:
  -----------
  [RISCV][GISel] Record SExt32 arguments for RISCVOptWInstrs. (#224154)

RISCVOptWinstrs can do a better job if its know what arguments are
already sign extended.

Assisted-by: Claude


  Commit: 36f2ef2415e8cf5facf015bbe0d586deede34d66
      https://github.com/llvm/llvm-project/commit/36f2ef2415e8cf5facf015bbe0d586deede34d66
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/Analysis/AffineAnalysis.h
    M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp

  Log Message:
  -----------
  [MLIR][Affine] Refactor dependence testing to work on relations, not just on operations (#223188)

This change is effectively NFC for all users of affine dependence
analysis in the tree or outside. It performs a minor refactoring of the
API to allow more general usage.

`checkMemrefAccessDependence` takes two `MemRefAccess`es, each wrapping
an operation, so it can only be asked about accesses that already exist.
A transformation deciding whether to make a change has the opposite
question: whether the accesses it is about to create would depend on
each other. Loop fusion is one -- whether the stores of a slice would
still be one-to-one in the loops it is about to be placed under settles
whether their parallelism survives it, and it has to know before it
fuses.

Nothing in the dependence analysis needs the operations. Everything from
the point where the two access relations are in hand -- inverting one,
composing, adding the ordering constraints, testing the result for
emptiness -- is already relation-only. Split that out as
`checkAccessDependence`, taking the relations and the loop depth, and
leave `checkMemrefAccessDependence` as the operation-based entry point:
it keeps what genuinely reads the IR, the memref and write-op checks,
the affine scope and common block ones, and the
source-precedes-destination one that a depth past the shared loops calls
for.

Split `MemRefAccess::getAccessRelation` the same way. The relation is
built out of an access map and an iteration domain, and only the two of
them being read off an operation ties it to one, so `getAccessRelation`
takes them directly and the method reads them off and calls it.

Assisted by Claude.


  Commit: af86d781e2b6a9d1133848c66741fbe2afbc7bf4
      https://github.com/llvm/llvm-project/commit/af86d781e2b6a9d1133848c66741fbe2afbc7bf4
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNCreateVOPD.cpp
    M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
    M llvm/lib/Target/AMDGPU/GCNVOPDUtils.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fadd.bf16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fcanonicalize.bf16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fma.bf16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmul.bf16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fptrunc.bf16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fptrunc.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/branch-relaxation-gfx1250.ll
    M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
    M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
    M llvm/test/CodeGen/AMDGPU/ds_read2-gfx1250.ll
    M llvm/test/CodeGen/AMDGPU/ds_write2.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
    M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-fp8-f16-hw.ll
    M llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-fp8-hw.ll
    M llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-widen.ll
    M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.s.buffer.load-gfx12.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rcp.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sqrt.bf16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
    M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
    M llvm/test/CodeGen/AMDGPU/mul.ll
    M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
    M llvm/test/CodeGen/AMDGPU/packed-fp64.ll
    M llvm/test/CodeGen/AMDGPU/packed-u64.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.mir
    M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
    M llvm/test/CodeGen/AMDGPU/v_ashr_pk.ll
    M llvm/test/CodeGen/AMDGPU/vopd-combine-gfx1250.mir
    M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
    A llvm/test/CodeGen/AMDGPU/vopd3-imm-fold.ll
    A llvm/test/CodeGen/AMDGPU/vopd3-imm-fold.mir
    M llvm/test/CodeGen/AMDGPU/waitcnt-loop-ds-prefetch-flushed.ll
    M llvm/test/CodeGen/AMDGPU/waitcnt-loop-ds-prefetch-pattern.ll

  Log Message:
  -----------
  [AMDGPU] Form VOPD3 pairs with pair-local literal moves (#223431)

VOPD3 cannot encode literal operands, but its src0 can read scalar
registers. In this PR, we try to allow to form a pair with one distinct
non-inline constant value by moving that value to a free SGPR. If both
components use the same value, one move serves both, but we reject pairs
that need two different values, since that doesn't buy us anything.
Ffunctions without tracked liveness, and functions optimized for size
are also rejected.

With this change, `GCNCreateVOPD` checks every adjacent pair before it
selects a greedy non-overlapping pair. This lets an infeasible pair fall
through to the overlapping next one. We use one reverse liveness walk to
find an SGPR that is free over each pair-local range. Disjoint selected
pairs can reuse the same SGPR. Each accepted pair adds at most one
`S_MOV_B32` for the one instruction removed by fusion.

The post-RA scheduler uses the same matcher policy, so it will not
cluster a two-value pair that the create pass cannot build.

---

I probably burned hundreds of millions of tokens to get to this point,
which I think is fairly clean now.


  Commit: 00d7ba164f6b4c1c33efa7072c142f9df25bcf4d
      https://github.com/llvm/llvm-project/commit/00d7ba164f6b4c1c33efa7072c142f9df25bcf4d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/TypeBase.h
    M clang/lib/AST/ASTContext.cpp

  Log Message:
  -----------
  [clang] Unique OverflowBehaviorTypes with a UniquingSet (NFC) (#223939)

This patch migrates OverflowBehaviorTypes in ASTContext from
llvm::FoldingSet to llvm::UniquingSet.

OverflowBehaviorType keys on a pair of QualType and
OverflowBehaviorKind.  Switching to UniquingSet allows us to look up
types with a typed key, eliminating FoldingSetNodeID serialization at
lookup sites and removing OverflowBehaviorType::Profile.

Assisted-by: Antigravity


  Commit: bf375c54e9c4fafca5ceb84f261decb692dc57c9
      https://github.com/llvm/llvm-project/commit/bf375c54e9c4fafca5ceb84f261decb692dc57c9
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp

  Log Message:
  -----------
  SPIRV: Avoid using TargetMachine::createDataLayout in subtarget (#224014)


  Commit: 9062217eaf8d75c340801d02198e1fb28897da21
      https://github.com/llvm/llvm-project/commit/9062217eaf8d75c340801d02198e1fb28897da21
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Symbol/Function.h
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/unittests/Symbol/CMakeLists.txt
    A lldb/unittests/Symbol/CallEdgeTest.cpp

  Log Message:
  -----------
  [lldb] Stop caching cross-module callees in CallEdge (#224165)

DirectCallEdge cached the Function it resolved for its callee. A
CallEdge is owned by a Module in the shared module cache, so it
outlives any one Target, while the callee it resolves to depends on
that Target's image list and dies with its own module. The cached
pointer dangled once the callee's module was unloaded, crashing the
next backtrace that walked tail call frames.

Keep only the symbol name and re-resolve on every call. GetCallee
returns a SymbolContext so the caller holds the callee's module for as
long as it uses the Function.

Scoping the lookup to the caller's own module or compile unit would
also make the cache safe, but direct tail call edges cross module
boundaries by design. Clang points DW_AT_call_origin at a declaration
DIE when the callee is external. See the cross_dso tail call test.

rdar://181262163


  Commit: 57895345a5c14095856c0fbafb4e3a7102da732b
      https://github.com/llvm/llvm-project/commit/57895345a5c14095856c0fbafb4e3a7102da732b
  Author: Dharuni R Acharya <125176188+DharuniRAcharya at users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.td
    M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
    M clang/test/CodeGen/builtins-nvptx.c
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/convert-fp6-pzo.ll
    A llvm/test/CodeGen/NVPTX/convert-fp8-pzo.ll
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/test/Target/LLVMIR/nvvm/convert_fp6x2.mlir
    M mlir/test/Target/LLVMIR/nvvm/convert_fp8x2.mlir

  Log Message:
  -----------
  [clang][NVPTX] Add support for pzo in f32/f16x2/bf16x2 to FP8 and FP6 conversions (#222511)

This patch adds support for `pzo` variants and `rz` rounding mode 
to existing `f32/f16x2/bf16x2` to `FP8` (`e4m3x2`, `e5m2x2`) and
`FP6` (`e2m3x2`, `e3m2x2`) conversion intrinsics.

Also adds `clang builtins` for the new variants.

Tests have been verified through `ptxas-13.4`.

PTX ISA Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#data-movement-and-conversion-instructions-cvt

---------

Signed-off-by: DharuniRAcharya <dharunira at nvidia.com>


  Commit: 45c1a19bb1074e7cca61d62951c0b5e9e4995cbb
      https://github.com/llvm/llvm-project/commit/45c1a19bb1074e7cca61d62951c0b5e9e4995cbb
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/test/CodeGen/cfstring2.c

  Log Message:
  -----------
  [clang][bytecode] Accept pointer casts of expr-based opaque pointers (#223982)

We create opaque pointers for a few types of "opaque" expressions, where
we need to just pass the pointer along to the end of the evaluation and
such pointer casts are fine on those.


  Commit: 410c7e42b81f4bcde4723a97014eaa4c0d21adb8
      https://github.com/llvm/llvm-project/commit/410c7e42b81f4bcde4723a97014eaa4c0d21adb8
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lld/test/ELF/lto/riscv-target-abi.ll
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp

  Log Message:
  -----------
  [RISCV] Do not re-validate target ABI in AsmParser if already resolved by streamer (#223606)

Commit 105ff16f816f (https://github.com/llvm/llvm-project/pull/213410)
changed RISCVABI::computeTargetABI() to return Expected<ABI> and added
validation to RISCVAsmParser::onBeginOfFile() to report invalid
-target-abi flags with real source location in llvm-mc.

However, this broke LTO builds containing inline assembly (e.g. Android
riscv64 builds and downstream Rust in
https://github.com/rust-lang/rust/pull/162783). During LTO, LLD sets
TargetOptions.MCOptions.ABIName from the module's target-abi metadata
("lp64d"), while the linker's default TargetMachine subtarget lacks
"+d" (individual functions specify "+d" in target-features).
RISCVSubtarget handles this gracefully by emitting a diagnostic note
and falling back to lp64 for code generation. When inline assembly was
subsequently parsed, AsmPrinter::emitInlineAsm instantiated
RISCVAsmParser with a subtarget lacking "+d", causing onBeginOfFile() to
re-validate TargetOptions.ABIName and fail with a fatal error.

To fix this, skip the parser validation whenever the streamer has
already resolved an ABI. This preserves llvm-mc diagnostics on invalid
command-line flags while avoiding conflicting validation when assembling
inline asm during code generation.

This commit was created with the help of AI tools


  Commit: 73c8b54ee341d1fa625575913179c6475a4a4e42
      https://github.com/llvm/llvm-project/commit/73c8b54ee341d1fa625575913179c6475a4a4e42
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M flang/lib/Frontend/FrontendActions.cpp
    M llvm/include/llvm/Analysis/RuntimeLibcallInfo.h
    M llvm/include/llvm/IR/RuntimeLibcalls.h
    M llvm/lib/Analysis/RuntimeLibcallInfo.cpp
    M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/IR/RuntimeLibcalls.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Passes/RunCodeGen.cpp
    M llvm/tools/llc/lib/NewPMDriver.cpp
    M llvm/tools/llc/lib/llcdriver.cpp
    M llvm/tools/opt/NewPMDriver.cpp
    M llvm/tools/opt/optdriver.cpp

  Log Message:
  -----------
  RuntimeLibcalls: Read exception model from the module flag (#223971)

Source the exception model in the RuntimeLibcallsInfo(Module)
constructor from the "exception-model" module flag via 
Module::getExceptionModel(), instead of forwarding it from TargetOptions. 
An absent flag resolves to Default and then to the triple default; an explicit "none" 
disables exceptions.

Since the model now comes from the module, drop the ExceptionModel that
RuntimeLibraryAnalysis carried and forwarded, and its argument at every
construction site.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 8e82c9b6ad958ee861d8467a3b7781b4da4e2643
      https://github.com/llvm/llvm-project/commit/8e82c9b6ad958ee861d8467a3b7781b4da4e2643
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/SemaCXX/vector-shuffle.cpp

  Log Message:
  -----------
  [Clang][Sema] Improve shuffle vector size mismatch diagnostic (#223768)

Previously, Clang would error out that the arguments to the
shufflevector builtin in dynamic mode were not the same type, but they
don't need to be. What is required is to have the same number of
elements.

This PR updates the error message to report the actual reason behind the
error.

Issue #221791


  Commit: 2836b914b76bb6130b9cf6be95ef31918856039c
      https://github.com/llvm/llvm-project/commit/2836b914b76bb6130b9cf6be95ef31918856039c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/ARM/Thumb1InstrInfo.h
    M llvm/lib/Target/AVR/AVRInstrInfo.h
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.h
    M llvm/lib/Target/MSP430/MSP430InstrInfo.h
    M llvm/lib/Target/Mips/MipsInstrInfo.cpp
    M llvm/lib/Target/Mips/MipsInstrInfo.h
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/Sparc/SparcInstrInfo.cpp
    M llvm/lib/Target/Sparc/SparcInstrInfo.h
    M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    M llvm/lib/Target/VE/VEInstrInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.h
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h

  Log Message:
  -----------
  CodeGen: Add getInlineAsmMemoryOperandRegClass (#223959)

Replace the use of getPointerRegClass to determine the register
class from an asm memory constraint, working to delete it. When
there are multiple pointer types there can't be just a single
answer.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>


  Commit: 92df387cd28161612d3953e51aa29230350fb6ce
      https://github.com/llvm/llvm-project/commit/92df387cd28161612d3953e51aa29230350fb6ce
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/test/Target/LLVMIR/attribute-dereferenceable.mlir

  Log Message:
  -----------
  [mlir][LLVM] Fix crash when dereferenceable instruction is folded (#221682)

`inst` is null when the builder folds the cast of a constant. Fix
nullptr dereference by dropping the metadata.


  Commit: cd6dab01e6b968fe9eacd417777afb1e1ba7b676
      https://github.com/llvm/llvm-project/commit/cd6dab01e6b968fe9eacd417777afb1e1ba7b676
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/include/llvm/Target/Target.td
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
    M llvm/lib/Target/ARM/ThumbRegisterInfo.cpp
    M llvm/lib/Target/ARM/ThumbRegisterInfo.h
    M llvm/lib/Target/AVR/AVRRegisterInfo.cpp
    M llvm/lib/Target/AVR/AVRRegisterInfo.h
    M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonRegisterInfo.h
    M llvm/lib/Target/LoongArch/LoongArchRegisterInfo.h
    M llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp
    M llvm/lib/Target/MSP430/MSP430RegisterInfo.h
    M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
    M llvm/lib/Target/Mips/MipsRegisterInfo.h
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
    M llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
    M llvm/lib/Target/Sparc/SparcRegisterInfo.h
    M llvm/lib/Target/SystemZ/SystemZRegisterInfo.h
    M llvm/lib/Target/VE/VERegisterInfo.cpp
    M llvm/lib/Target/VE/VERegisterInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.h
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.h
    M llvm/test/TableGen/invalid_typecast_assert.td
    M llvm/test/TableGen/target-specialized-pseudos.td
    M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
    M llvm/utils/TableGen/Common/CodeGenTarget.cpp
    M llvm/utils/TableGen/Common/CodeGenTarget.h
    M llvm/utils/TableGen/InstrInfoEmitter.cpp

  Log Message:
  -----------
  CodeGen: Remove PointerLikeRegClass (#223965)

Remove PointerLikeRegClass and the related getPointerRegClass
TargetRegisterInfo hook. This is obsoleted by RegClassByHwMode.
Previously targets would have to map ptr_rc to an assumed pointer
register class by implementing this method, but this is now
auto-resolvable per instruction using RegClassByHwMode.

Depends #223930

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>


  Commit: 104cbaf619754c04dccc3df617b6190702ad92ba
      https://github.com/llvm/llvm-project/commit/104cbaf619754c04dccc3df617b6190702ad92ba
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lld/test/ELF/linkerscript/nobits-offset.s

  Log Message:
  -----------
  [ELF,test] Extend nobits-offset.s to cover sections following .bss (#224201)


  Commit: 33c1570d51fa3f79e83a93fe3c9f1bcda9fe04b3
      https://github.com/llvm/llvm-project/commit/33c1570d51fa3f79e83a93fe3c9f1bcda9fe04b3
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-16 (Wed, 16 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/Instruction.h
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp

  Log Message:
  -----------
  [IR] Make Instruction::DebugMarker private behind getDbgMarker(). NFC (#224190)

Make it private and add getDbgMarker(); only BasicBlock and DbgMarker,
which maintain the marker links, write it. This enables experiments to
change the data representation.

Aided by Opus 5


  Commit: 511e3cb93a1675047635c6d87323f878f99c4d26
      https://github.com/llvm/llvm-project/commit/511e3cb93a1675047635c6d87323f878f99c4d26
  Author: Christian Kandeler <christian.kandeler at qt.io>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang-tools-extra/clangd/Hover.cpp
    M clang-tools-extra/clangd/unittests/HoverTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/AST/PrettyPrinter.h
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp

  Log Message:
  -----------
  [clang][clangd] Resolve decltype when printing types for display (#223950)

`decltype(x)` is rarely what a reader wants to see in a display context:
a code completion offering `set_x(decltype(x) val)` conveys much less
than `set_x(int val)`.

clangd already worked around this for hover, by stripping decltypes off
the type before printing it, with a FIXME noting that this belongs in a
printing policy and that it does not handle composite types.
`HoverTests.cpp` carries a matching FIXME on one of the cases it misses.
Add such a policy flag, honour it in `TypePrinter`, and set it both for
code completion and for the types clangd displays on hover.

Applying it in the printer rather than at the call site also covers the
cases the workaround could not reach:

```c++
const decltype(a) b;                 // was `int`, now `const int`
void f(decltype(lamb) &bar);         // was `decltype(lamb) &`, now `(lambda) &`
auto f(decltype(a)) -> decltype(a);  // now `auto (int) -> int`
```

The first of those was a bug: `castAs<DecltypeType>()` looks through
qualifiers, so the workaround silently dropped the `const`.

Since the printed type may now already be desugared, an "aka" suffix
that would repeat it verbatim is suppressed.

A dependent `decltype` has no resolved type to offer and is left as
written. The declaration clangd shows next to the type is printed with a
different policy and still reflects the source spelling, so the
`decltype` remains visible on the hover card. Code completion and
signature help have no such fallback, and there the resolved type
replaces the spelling outright.

Assisted-by: Claude Opus 5


  Commit: f557f80378b08024b79efbde73fbe3a03036abf7
      https://github.com/llvm/llvm-project/commit/f557f80378b08024b79efbde73fbe3a03036abf7
  Author: Steffen Larsen <sholstla at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    A clang/test/CIR/CodeGenHIP/atomic-classify.hip

  Log Message:
  -----------
  [CIR][AMDGPU][OpenCL] Classify __hip_atomic_*/__opencl_atomic_* operations (#220856)

load, store, exchange, compare_exchange_strong/weak, and every fetch op
were missing from the operand-classification switches, so they fell to
the default and reported an unimplemented atomic. They take the same
operands as their __c11_atomic_*/__atomic_* counterparts, so they belong
with them.

This is the ground work for implementing more AMDGPU atomics.

---------

Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>


  Commit: bdb0f5737844a53ae626a0c85aa7ebc593f38626
      https://github.com/llvm/llvm-project/commit/bdb0f5737844a53ae626a0c85aa7ebc593f38626
  Author: David Green <david.green at arm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/lowmaskedlanes.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-basic.ll
    M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
    M llvm/test/CodeGen/X86/pr179489.ll
    M llvm/test/CodeGen/X86/pr46532.ll

  Log Message:
  -----------
  [DAG] Optimize masked store of constant lane mask to standard store (#223665)

A masked store with a constant mask enabling the first n lanes can be
lowered to a standard store of size n.

For example a masked store with masks `<1, 1, 0, 0>` or a scalable store
with mask `llvm.get.active.lane.mask.v4i1.i32(i32 0, i32 2)`


  Commit: efb463832233ca8ce9b8972c568ee008603e348e
      https://github.com/llvm/llvm-project/commit/efb463832233ca8ce9b8972c568ee008603e348e
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-17 (Thu, 17 Sep 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/stdlib.yaml
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/linux/CMakeLists.txt
    A libc/src/stdlib/linux/mkostemp.cpp
    A libc/src/stdlib/mkostemp.h
    M libc/test/src/stdlib/CMakeLists.txt
    A libc/test/src/stdlib/mkostemp_test.cpp

  Log Message:
  -----------
  [libc] Implement mkostemp (#224112)

Added the POSIX mkostemp entrypoint for Linux targets (aarch64, riscv,
x86_64) following the shared mktemp_core helper pattern from commit
1b48a14a3608.

Validated open flags against the supported POSIX Issue 8 set (O_APPEND,
O_CLOEXEC, O_DSYNC, O_SYNC) before invoking internal::mktemp_core.

Added unit tests in mkostemp_test.cpp covering flag combinations, append
semantics, template modification, and error conditions.

Assisted-by: Automated tooling, human reviewed.


  Commit: 9310ac71dcc66f5bea4f9190175dc8a76909a12e
      https://github.com/llvm/llvm-project/commit/9310ac71dcc66f5bea4f9190175dc8a76909a12e
  Author: Mariya Podchishchaeva <Mariya.Podchishchaeva at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    A clang/test/CIR/CodeGen/bitfield-unaligned-expensive-access.c

  Log Message:
  -----------
  [CIR] Support bitfields when unaligned access is expensive (#223748)

This basically ports OGCG codepath to enable bitfields on AMDGPU.

Assisted by claude in test checks generation.


  Commit: 7db98d674027942e7ac16c90229dead25d9cc2fd
      https://github.com/llvm/llvm-project/commit/7db98d674027942e7ac16c90229dead25d9cc2fd
  Author: purnima shrivastava <purnimashrivastava05 at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/test/Dialect/Affine/constant-fold.mlir

  Log Message:
  -----------
  [mlir][affine] Avoid folding out-of-bounds constant loads (#224076)

`AffineLoadOp::fold` could crash when folding a constant load with
out-of-bounds indices, including loads from zero-sized constant memrefs.

Check `ElementsAttr::isValidIndex` before indexing the constant
attribute and skip folding when the access is invalid.

Adds a regression test for `memref<0xi8>`.

Fixes #223949

Co-authored-by: Purnima Shrivastava <purnimashrivastava05 at .com>


  Commit: 39ee115195645d9d4c80852250cea98ef61acc56
      https://github.com/llvm/llvm-project/commit/39ee115195645d9d4c80852250cea98ef61acc56
  Author: Ties Stuij <ties.stuij at arm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M compiler-rt/lib/builtins/arm/aeabi_cdcmp.S
    M compiler-rt/lib/builtins/arm/aeabi_cfcmp.S
    M compiler-rt/lib/builtins/arm/aeabi_dcmp.S
    M compiler-rt/lib/builtins/arm/aeabi_fcmp.S
    M compiler-rt/lib/builtins/arm/aeabi_idivmod.S
    M compiler-rt/lib/builtins/arm/aeabi_ldivmod.S
    M compiler-rt/lib/builtins/arm/aeabi_memcmp.S
    M compiler-rt/lib/builtins/arm/aeabi_memcpy.S
    M compiler-rt/lib/builtins/arm/aeabi_memmove.S
    M compiler-rt/lib/builtins/arm/aeabi_memset.S
    M compiler-rt/lib/builtins/arm/aeabi_uidivmod.S
    M compiler-rt/lib/builtins/arm/aeabi_uldivmod.S
    M compiler-rt/lib/builtins/arm/comparesf2.S
    M compiler-rt/lib/builtins/arm/divmodsi4.S
    M compiler-rt/lib/builtins/arm/divsi3.S
    M compiler-rt/lib/builtins/arm/modsi3.S
    M compiler-rt/lib/builtins/arm/udivsi3.S
    M compiler-rt/lib/builtins/assembly.h
    A compiler-rt/test/builtins/Unit/arm/aeabi_cmpflags_interwork_test.c
    A compiler-rt/test/builtins/Unit/arm/aeabi_fcmp_test.c
    M compiler-rt/test/builtins/Unit/arm/aeabi_idivmod_test.c
    A compiler-rt/test/builtins/Unit/arm/aeabi_ldivmod_test.c
    A compiler-rt/test/builtins/Unit/arm/aeabi_mem_test.c
    M compiler-rt/test/builtins/Unit/arm/aeabi_uidivmod_test.c
    M compiler-rt/test/builtins/Unit/arm/aeabi_uldivmod_test.c
    M compiler-rt/test/builtins/Unit/divmodsi4_test.c
    M compiler-rt/test/builtins/Unit/divsi3_test.c
    M compiler-rt/test/builtins/Unit/modsi3_test.c
    M compiler-rt/test/builtins/Unit/udivsi3_test.c

  Log Message:
  -----------
  [compiler-rt][ARM] Make ARMv4T assembly builtins interwork (#221725)

ARMv4T can't switch instruction state when a saved return address is
loaded directly into the pc. Several builtins did exactly that, so a
call from Thumb could call into Arm state and return without switching.

To mitigate that, this patch amends POP_PC and adds
POP_PC_WITH_REGS, which expand to sensible code depending on
what arch they are compiled for. ARMv5 and later keep direct pop-to-pc
forms. v4T returns through ip and bx.


  Commit: 53a00b2c105dec876fec857b0cf3fc933f63f7c2
      https://github.com/llvm/llvm-project/commit/53a00b2c105dec876fec857b0cf3fc933f63f7c2
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ADT/DenseMap.h
    M llvm/unittests/ADT/DenseMapTest.cpp

  Log Message:
  -----------
  [DenseMap] memcpy buckets with trivial copy constructor and destructor. NFC (#224193)

std::pair has a user-provided copy assignment operator, so
std::is_trivially_copyable is false. Define is weaker
isRelocatableBucket instead.

This optimizes some DenseMap instantiations within lld (e.g.
lld/ELF/SyntheticSections.cpp)


  Commit: e470d98fc36c5f34082e6cb43927790af577b5ee
      https://github.com/llvm/llvm-project/commit/e470d98fc36c5f34082e6cb43927790af577b5ee
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [clang][www] Fix a typo in cxx_status page (#224206)

the "Clang 24" shows up left-aligned right now.


  Commit: ee0f498b01eaa819618bc4825a6ad1a37f5ef2f4
      https://github.com/llvm/llvm-project/commit/ee0f498b01eaa819618bc4825a6ad1a37f5ef2f4
  Author: zhouguangyuan0718 <zhouguangyuan.xian at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SROA.cpp
    A llvm/test/Transforms/SROA/struct-to-vector-stack-alignment.ll

  Log Message:
  -----------
  [SROA] Avoid unnecessary stack realignment when rewriting allocas (#222967)

SROA can introduce dynamic stack realignment when rewriting an aggregate
alloca as a vector. On SystemZ (`S64`), a five-pointer structure with
alignment 8 becomes `<5 x ptr>` with alignment 64, adding an alignment
mask and extra stack-frame setup instructions.

Create replacement allocas with the alignment inherited from the
original alloca and partition offset, then use `tryEnforceAlignment` to
request the preferred type alignment. This reuses the existing
stack-alignment check: when a natural stack alignment is specified,
promotions beyond it are rejected. Stronger inherited alignments are
preserved.

Add SROA-only regression coverage for `S64`, `S128`, unspecified natural
stack alignment, and explicit stronger alignments. Existing SROA,
debug-info, and NVPTX tests retain their original RUN lines and checks,
including the NVPTX vector stores.

Fixes #222966

Assisted-by: OpenAI Codex


  Commit: 15cff9069ae805e4f5decb4965d33fb4ebd274b5
      https://github.com/llvm/llvm-project/commit/15cff9069ae805e4f5decb4965d33fb4ebd274b5
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libc/src/__support/threads/linux/thread.cpp
    M libc/startup/linux/CMakeLists.txt
    M libc/startup/linux/do_start.cpp
    M libc/test/integration/src/pthread/CMakeLists.txt
    M libc/test/integration/src/pthread/pthread_getattr_np_test.cpp
    A libc/test/integration/src/pthread/pthread_join_main_test.cpp

  Log Message:
  -----------
  [libc] Make it possible to join the main thread (#221177)

Joining the main thread currently crashes because its ThreadAttributes
has a null platform_data pointer, causing Thread::wait() to dereference
a null futex.

While this is not a frequently used feature, it is supported by other
implementations, and I believe it is required by POSIX (the exec page
says that the main thread is created in a joinable state, and neither
pthread_join nor pthread_exit mention them not working on the main
thread).

This patch sets up the main thread attributes during startup:
- allocate a static futex for the main thread's clear_tid and point
platform_data to it
- invoke set_tid_address to have the kernel clear the futex and wake
waiters on thread termination
- mark the main thread as joinable (it was previously defaulting to
detached)

The test for this functionality exposed the bug where the thread return
value is not preserved (and therefore not passed to pthread_join) for
threads exiting via pthread_exit, so I fix that as well.

This patch required accessing the CLEAR_TID_VALUE constant from multiple
files, but I couldn't find a suitable header to place it in. Instead of
creating a new one, I just delete the constant, as we don't really care
about its value -- only that it is not zero.

Assisted-by: Gemini


  Commit: de199ddad27f332fd6235fa7b5fc059c798811ff
      https://github.com/llvm/llvm-project/commit/de199ddad27f332fd6235fa7b5fc059c798811ff
  Author: geoffreygaren <ggaren at apple.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp

  Log Message:
  -----------
  [WebKit Checkers] Honor using declarations when looking up protocol conformance (#223902)


  Commit: 28f36e6d3912e3f9c50fbf57113f84cd336b7862
      https://github.com/llvm/llvm-project/commit/28f36e6d3912e3f9c50fbf57113f84cd336b7862
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/test/Driver/wasm-toolchain.c
    M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h

  Log Message:
  -----------
  WebAssembly: Drive Emscripten EH from the exception model, drop the cl::opt (#223972)

Remove the deprecated -enable-emscripten-cxx-exceptions flag. This
should now be driven by the generic exception-model mechanisms. There 
was also some special case handling of the -mllvm flag in the clang driver 
which also needed removal.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 4ee94b0be17f04ea8f84b86dc7c9a964979efbbb
      https://github.com/llvm/llvm-project/commit/4ee94b0be17f04ea8f84b86dc7c9a964979efbbb
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/SMEPeepholeOpt.cpp
    A llvm/test/CodeGen/AArch64/sme-peephole-opt-sm-compat.ll
    M llvm/test/CodeGen/AArch64/stack-hazard.ll

  Log Message:
  -----------
   [AArch64] Allow SME peephole opts without +sme in streaming compat functions (#222728)


  Commit: 9a3d449079fc97194c1aadcd9c8c999da6fe0a69
      https://github.com/llvm/llvm-project/commit/9a3d449079fc97194c1aadcd9c8c999da6fe0a69
  Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
    A flang/test/Driver/fno-optimize-sibling-calls.f90
    A flang/test/Transforms/function-attr-disable-tail-calls.fir
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    A mlir/test/Target/LLVMIR/Import/disable-tail-calls.ll
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    A mlir/test/Target/LLVMIR/disable-tail-calls.mlir

  Log Message:
  -----------
  [Flang][Driver]Implemented the support for option -f[no-]optimize-sibling-calls in Flang (#216650)

Added support for -foptimize-sibling-calls and
-fno-optimize-sibling-calls in Flang.

- Sibling call optimization is on by default and the driver pass the
option `-f[no-]optimize-sibling-calls` to flang -fc1.
- When `-fno-optimize-sibling-calls` flag is passed, it sets boolen
`DisableTailCalls` and this results in adding the LLVM IR attribute
`"disable-tail-calls"="true"` which disables sibling call optimization.


  Commit: 7232f3bba85938d63c4f92d83995fce4887526c6
      https://github.com/llvm/llvm-project/commit/7232f3bba85938d63c4f92d83995fce4887526c6
  Author: Peter Smith <peter.smith at arm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lld/test/ELF/aarch64-thunk-bti-overlay-reuse.s
    M lld/test/ELF/arm-thunk-overlay-reuse.s

  Log Message:
  -----------
  [LLD][ELF] Reduce memory and file size of overlay thunk tests (#222565)

Add AT(address) to linker script to force generation of a program header
for each address. Without AT we get a single large program header that
takes up a large amount of memory and causes a large file to be
generated. This may prevent the test from running on a 32-bit machine
without a lot of memory. See comment on #200415

Also removed a superfluous --print-map from
aarch64-thunk-bit-overlay-reuse.s. This was used when constructing the
test but it is not needed.


  Commit: 5781d4bde68ea4fb604b398aaf731d682412d158
      https://github.com/llvm/llvm-project/commit/5781d4bde68ea4fb604b398aaf731d682412d158
  Author: Charlie Lin <tuug at gmx.us>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Support/UnicodeCaseFold.cpp
    M llvm/utils/UnicodeData/UnicodeNameMappingGenerator.cpp
    M llvm/utils/unicode-case-fold.py

  Log Message:
  -----------
  [llvm] Updates case folding rules to Unicode 18 (#223716)

This PR updates other Unicode tables started by
https://github.com/llvm/llvm-project/pull/198255

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


  Commit: 5ee9be9300f62a4c2b6cfa894b5f6648228be7c0
      https://github.com/llvm/llvm-project/commit/5ee9be9300f62a4c2b6cfa894b5f6648228be7c0
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/DependenceAnalysis/DifferentOffsets.ll
    M llvm/test/Analysis/DependenceAnalysis/MIVCheckConst.ll

  Log Message:
  -----------
  [SCEV] Look thru more expressions in isKnownMultipleOf (#219951)

Generalize the existing logic to look through AddRecs to look through
Add, Mul, and MinMax expressions in isKnownMultipleOf, noting that this
simply increases precision of added predicates, allowing us to add more
fine-grained predicates. It also fixes an underlying bug in the case the
AddRec wraps. The patch has no optimization impact at the moment, and
only serves to have higher precision in its sole user,
DependenceAnalysis.

Proof: https://alive2.llvm.org/ce/z/JLCqGJ


  Commit: 1ebf89d8c5e61f9184431eb4e5c9a6966b5c0748
      https://github.com/llvm/llvm-project/commit/1ebf89d8c5e61f9184431eb4e5c9a6966b5c0748
  Author: sstipano <sstipano at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/test/MC/AMDGPU/gfx13_asm_vimage.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vsample.s

  Log Message:
  -----------
  [AMDGPU][GFX13] MC support for indexed VIMAGE/VSAMPLE resources (#223429)


  Commit: 3f9ca800da7b22e3fcc37eeb89af0bd116959d0e
      https://github.com/llvm/llvm-project/commit/3f9ca800da7b22e3fcc37eeb89af0bd116959d0e
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/Mangler.h
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    R llvm/lib/ExecutionEngine/Orc/Mangler.cpp

  Log Message:
  -----------
  [ORC] Move Mangler functions into header. (#224209)

Move Mangler functions into Mangler.h so that they can be used from
OrcTargetProcess without introducing a dependence on OrcJIT.

This is a temporary fix to enable use of SymbolNameSpec in
OrcTargetProcess (see https://github.com/llvm/llvm-project/pull/224188).
Future work will reorganize these libraries and should allow this code
to sink back down into a .cpp file.


  Commit: 6c3604b43ca23b305c10b60ed9120ea56f872233
      https://github.com/llvm/llvm-project/commit/6c3604b43ca23b305c10b60ed9120ea56f872233
  Author: Srinivasa Ravi <srinivasar at nvidia.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/mixed-precision-add-f32x2-downconvert-invalid.ll
    A llvm/test/CodeGen/NVPTX/mixed-precision-add-f32x2-downconvert.ll
    A llvm/test/CodeGen/NVPTX/mixed-precision-add-f32x2-upconvert-invalid.ll
    A llvm/test/CodeGen/NVPTX/mixed-precision-add-f32x2-upconvert.ll
    A llvm/test/CodeGen/NVPTX/mixed-precision-f32x2-sm-version.ll
    A llvm/test/CodeGen/NVPTX/mixed-precision-sub-f32x2-downconvert-invalid.ll
    A llvm/test/CodeGen/NVPTX/mixed-precision-sub-f32x2-downconvert.ll
    A llvm/test/CodeGen/NVPTX/mixed-precision-sub-f32x2-upconvert-invalid.ll
    A llvm/test/CodeGen/NVPTX/mixed-precision-sub-f32x2-upconvert.ll

  Log Message:
  -----------
  [NVPTX] Add support for f32x2 mixed-precision add/sub (#221957)

This change adds support for mixed precision addition and 
subtraction of `f16x2` and `bf16x2` with `f32x2`, where the
following upconverting patterns:
```
%e = fpext <2 x half> %h to <2 x float>
%res = fp-operation(%e, ...)
...
%e = fpext <2 x bfloat> %b to <2 x float>
%res = fp-operation(%e, ...)

where the fp-operation can be any of:
- fadd
- fsub
- llvm.nvvm.fadd.v2f32
```
are lowered to `add/sub.{rnd}.f32x2.{f16x2/bf16x2}.f32x2`, and the
following downconverting pattern:
```
%sum = llvm.nvvm.fadd{.ftz}.v2f32(%a, %b, rz)
%lo = extractelement <2 x float> %sum, i32 0
%hi = extractelement <2 x float> %sum, i32 1
%res = llvm.nvvm.ff2{f16x2/bf16x2}.rz(%hi, %lo, false)
```
is lowered to `add/sub.rz{.ftz}.{f16x2/bf16x2}.f32x2.f32x2`. These
instructions combine the conversion and the addition into one
instruction from `sm_107f` onwards. `fneg` followed by one of the
above addition patterns is lowered to the corresponding `sub`
instruction.

The upconverting patterns are folded only when atleast one of the
`fpext`
operands have a single use, thus purely eliminating the conversion.
The downconverting patterns are folded only when the `f32x2` result
is used solely by the conversion, avoiding generating an unnecessary
additional `add/sub` instruction.

The tests have been verified through ptxas-13.4.

PTX spec reference:
https://docs.nvidia.com/cuda/developer-preview/13.4/parallel-thread-execution/index.html#mixed-precision-floating-point-instructions-add


  Commit: 47f9b707bf14755bf969d9b9d45419f7c5c85abd
      https://github.com/llvm/llvm-project/commit/47f9b707bf14755bf969d9b9d45419f7c5c85abd
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libcxx/include/__locale_dir/pad_and_output.h
    M libcxx/include/locale
    M libcxx/test/benchmarks/text/localization/num_put.bench.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp

  Log Message:
  -----------
  [libc++] Fix performance regression in std::num_put (#223334)

`__pad_and_output` calls `std::copy` and `std::fill_n` unconditionally,
even though the calls are quite likely to do nothing. Adding conditions
also allows the compiler to do jump-threading.

Fixes #178685


  Commit: 9e0686cca51613229ef85788ee5d1deee0595b92
      https://github.com/llvm/llvm-project/commit/9e0686cca51613229ef85788ee5d1deee0595b92
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    R libcxx/include/__locale_dir/get_c_locale.h
    M libcxx/include/__locale_dir/money.h
    M libcxx/include/__locale_dir/num.h
    M libcxx/include/__locale_dir/support/aix.h
    M libcxx/include/__locale_dir/support/bsd_like.h
    A libcxx/include/__locale_dir/support/default/get_c_locale.h
    M libcxx/include/__locale_dir/support/fuchsia.h
    M libcxx/include/__locale_dir/support/linux.h
    M libcxx/include/__locale_dir/support/llvm_libc.h
    M libcxx/include/__locale_dir/support/newlib.h
    M libcxx/include/__locale_dir/support/openbsd.h
    M libcxx/include/__locale_dir/support/windows.h
    M libcxx/include/__locale_dir/time.h
    M libcxx/include/module.modulemap.in
    M libcxx/src/locale.cpp

  Log Message:
  -----------
  [libc++] Move _LIBCPP_GET_C_LOCALE to the locale base API (#222924)

How to retrieve the C locale is fundamentally a property of the
underlying libc, so it should really be part of the locale base API.


  Commit: df66325f27cafc3a0bb7b3833ea99ca540665edf
      https://github.com/llvm/llvm-project/commit/df66325f27cafc3a0bb7b3833ea99ca540665edf
  Author: David Green <david.green at arm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/lowmaskedlanes.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-basic.ll
    M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
    M llvm/test/CodeGen/X86/pr179489.ll
    M llvm/test/CodeGen/X86/pr46532.ll

  Log Message:
  -----------
  Revert "[DAG] Optimize masked store of constant lane mask to standard store (#223665)" (#224250)

This reverts commit bdb0f5737844a53ae626a0c85aa7ebc593f38626 due to
illegal types undef avx512.


  Commit: 00098111a304d7d16a0f91ac88a2052c32ea8b3a
      https://github.com/llvm/llvm-project/commit/00098111a304d7d16a0f91ac88a2052c32ea8b3a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M mlir/include/mlir/IR/Block.h
    M mlir/include/mlir/IR/BlockSupport.h
    M mlir/include/mlir/IR/Region.h

  Log Message:
  -----------
  [MLIR] Use make_isa_range to implement getOps (NFC). (#224051)

Simplify implementation using make_isa_range from
https://github.com/llvm/llvm-project/pull/223414.

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


  Commit: 67c9a6cbf0b5cd78d2223342ec9f07c903b559e1
      https://github.com/llvm/llvm-project/commit/67c9a6cbf0b5cd78d2223342ec9f07c903b559e1
  Author: Chennes <xuchen359 at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/fsh.ll

  Log Message:
  -----------
  [InstCombine] Drop poison-generating annotations when rewriting rotate operands (#224228)

`SimplifyDemandedUseBits()` rewrites an operand of a rotate to the
constant formed from its known bits, which preserves only the demanded
bits of the result. A `range` attribute or `!range` metadata on the call
may no longer hold afterwards, turning a defined result into poison:
https://alive2.llvm.org/ce/z/Lk8Eop

#173864 extended annotation dropping in the funnel shift path directly
above to cover metadata; the rotate path never had it.

Drop the annotations in both rotate operand rewrite paths.

Fixes #222092.


  Commit: 1b9d5d9270525bd2dc26efdd201f493bb830f7a3
      https://github.com/llvm/llvm-project/commit/1b9d5d9270525bd2dc26efdd201f493bb830f7a3
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M flang/test/Driver/fakeflang.F
    M flang/test/lit.cfg.py

  Log Message:
  -----------
  [flang] Skip `fakeflang` tests on standalone build (#224241)

Given that `fakeflang` tool is not built with `FLANG_STANDALONE_BUILD`,
mark the respective test as unsupported as well.

Signed-off-by: Michał Górny <mgorny at gentoo.org>


  Commit: b022b32fc1e315a3f61fb9ad3ede55218c2c16c4
      https://github.com/llvm/llvm-project/commit/b022b32fc1e315a3f61fb9ad3ede55218c2c16c4
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lldb/test/API/functionalities/scripted_frame_provider/step_with_type/TestFrameProviderStepping.py

  Log Message:
  -----------
  [lldb][test] Remove Arm xfail from a test in TestFrameProviderStepping.py (#224256)

Added by #223834.

I suspect this got carried over from other tests where the code has to
deal with the Arm/Thumb bit in the PC. Since this test doesn't get that
far it's not a problem, so this test is unexpectedly passing.


  Commit: 3724cc867e2f6bbaf59c6542160fcf8162c0c199
      https://github.com/llvm/llvm-project/commit/3724cc867e2f6bbaf59c6542160fcf8162c0c199
  Author: TelGome <93700071+TelGome at users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/lib/Headers/riscv_packed_simd.h
    M clang/test/CodeGen/RISCV/rvp-intrinsics.c
    A clang/test/Sema/riscv-pld-pointer-types.c
    M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c

  Log Message:
  -----------
  [RISCV][P-ext] Support Packed Load (#223313)


  Commit: 66ae28fd8f686b6b558796f70ca388523158a20c
      https://github.com/llvm/llvm-project/commit/66ae28fd8f686b6b558796f70ca388523158a20c
  Author: Barbara Mitic <Barbara.Mitic at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/test/CodeGen/AMDGPU/fold-operands-scalar-fmac.mir

  Log Message:
  -----------
  [AMDGPU] Use s_fmamk_f32 when the folded addend is inlinable (#218955)

When folding a constant into src2 of s_fmac_f32, the AK form
(s_fmaak_f32) was always selected, which puts the folded addend in the
literal slot. If that addend is an inline constant while one of the
multiplicands is not, this wastes the literal slot and still requires an
extra s_mov_b32 for the multiplicand.

Choose the instruction variant based on which operand actually needs the
literal instead. If the folded addend is inlinable and a multiplicand is
not, use the MK form (s_fmamk_f32), placing the non-inlinable
multiplicand in the literal slot and encoding the addend inline.


  Commit: 589717519502a8a52478e34fa6f3fa4483ed2dfd
      https://github.com/llvm/llvm-project/commit/589717519502a8a52478e34fa6f3fa4483ed2dfd
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/ConnectionSpec.h
    M llvm/unittests/ExecutionEngine/Orc/ConnectionSpecTest.cpp

  Log Message:
  -----------
  [ORC] Add ConnectionSpec::str() to reconstruct original spec (#224215)

Rebuilds the original connection string from the parsed transport,
action, and descriptor fields.


  Commit: 6136762db1985333f9c2fa04fd92bc5af6af49be
      https://github.com/llvm/llvm-project/commit/6136762db1985333f9c2fa04fd92bc5af6af49be
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/LookupAndApply.h
    M llvm/include/llvm/ExecutionEngine/Orc/RecordProxy.h
    M llvm/include/llvm/ExecutionEngine/Orc/SPSProxySpec.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/CallSPSCI.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/MemoryAccessSPSCI.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/NativeDylibManagerSPSCI.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/SharedMemoryMapperSPSCI.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/SimpleNativeMemoryMapSPSCI.h
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
    M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/SelfExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
    M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/DefaultHostBootstrapValues.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/OrcRTBootstrap.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorMemoryManager.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp
    M llvm/unittests/ExecutionEngine/Orc/EPCGenericDylibManagerTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/EPCGenericMemoryAccessTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/LookupAndApplyTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/ProxyTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/SharedMemoryMapperTest.cpp

  Log Message:
  -----------
  [ORC] Represent ORC interface names as SymbolNameSpecs (#224188)

Declare the bootstrap and controller-interface name constants (the SPSCI
descriptors, dispatch and alloc-action names, ProxySpec::Name) as
SymbolNameSpecs, pairing each name with its mangling kind at the point
of declaration. recordAddr and recordProxy now take a SymbolNameSpec and
mangle-and-intern it internally; executor-side registrations and the
remaining intern sites mangle the name too, so both sides still agree on
the symbol.

All names are Verbatim, so this is name-neutral (mangling is a no-op);
flipping any of them to a mangled kind (e.g. C) is a follow-up.


  Commit: 4502187e2dde66d801d89f156dc47cc70509068f
      https://github.com/llvm/llvm-project/commit/4502187e2dde66d801d89f156dc47cc70509068f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Fix a crash with an invalid Descriptor (#224231)

It's neither a record nor an array.


  Commit: b5277b196f75cdb845290667b7f923f01055584d
      https://github.com/llvm/llvm-project/commit/b5277b196f75cdb845290667b7f923f01055584d
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  [lldb][test] Print command output when it unexpectedly passes (#224021)

Some LLDB tests expect commands to fail. However, we do sometimes see
these commands actually pass on the bots and the test output doesn't
really indicate what is going on.

This patch adds the (error) output of commands that we expected to fail
but didn't do the test output. This changes the dreaded `Command 'foo'
is expected to fail!` error to:

```
Command 'foo' is expected to fail!
Output: bar
```


  Commit: 870b07db9487fef2f5907230692fd3d111ec2f10
      https://github.com/llvm/llvm-project/commit/870b07db9487fef2f5907230692fd3d111ec2f10
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  [lldb][NFC] Remove ModuleChild::SetModule (#223661)

This function isn't used by anyone. Furthermore, we shouldn't use it as
some ModuleChild subclasses use their module's lock to synchronize
accesses to their memory. If this function was actually called by
anyone, it would introduce race conditions into classes that use the
module's lock for synchronization.


  Commit: 5f639bc8a42793e42305c3512603b7068a79c5d0
      https://github.com/llvm/llvm-project/commit/5f639bc8a42793e42305c3512603b7068a79c5d0
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py

  Log Message:
  -----------
  [lldb][test] Increase gdbremote_testcase timeout (#221239)

TestLldbGdbServer.py is randomly timing out on slow machines. This bumps
the timout to a minute by default.


  Commit: c9ccf236acd9c3ad1cf8791d52ca19cb5062d2a1
      https://github.com/llvm/llvm-project/commit/c9ccf236acd9c3ad1cf8791d52ca19cb5062d2a1
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/DebugProgramInstruction.h

  Log Message:
  -----------
  [IR] Implement filterDbgVars using make_isa_range (NFC) (#223964)

Simplify filterDbgVars implementation using helper introduced in
https://github.com/llvm/llvm-project/pull/223414.

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


  Commit: a70e9fa1ccf273eef2d7d33eb8f5b6424b3ff7fe
      https://github.com/llvm/llvm-project/commit/a70e9fa1ccf273eef2d7d33eb8f5b6424b3ff7fe
  Author: Alexsander Borges Damaceno <40966997+AlexsanderDamaceno at users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/test/Parser/cxx0x-attributes.cpp
    M clang/test/Parser/cxx0x-keyword-attributes.cpp

  Log Message:
  -----------
  [Clang] Improve diagnostics to show the correct position for `[[maybe_unused]]` before a using-alias (#223910)

For [[maybe_unused]] written before the 'using' keyword of an
alias-declaration:

`[[maybe_unused]] using T = int;`

Clang currently reports only:

`error: an attribute list cannot appear here
`

with no indication of where the attribute should actually go

`Parser::DiagnoseProhibitedAttributes` already provides exactly this
behavior, emitting a more helpful fix-it that suggests moving the
attribute to the correct location. ParseUsingDeclaration already uses it
without pass the FixItLoc location this way the fix-it sugestion is not
show for using decl.

This patch passes the right location when the attribute is
`[[maybe_unused]]`, making the fix-it appear for the user.

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


  Commit: 743442442b21040955cd76ba47ff9f3657132c31
      https://github.com/llvm/llvm-project/commit/743442442b21040955cd76ba47ff9f3657132c31
  Author: Christian Kandeler <christian.kandeler at qt.io>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaLookup.cpp
    A clang/test/CodeCompletion/dependent-base-alias-template.cpp

  Log Message:
  -----------
  [clang] Look through alias templates when visiting dependent base classes (#223713)

When gathering the visible declarations of a class for code completion,
a dependent base class is resolved by taking its
`TemplateSpecializationType` and casting the template it names to a
`ClassTemplateDecl`. If the base is named through an alias template,
that cast fails, because the `TemplateName` refers to a
`TypeAliasTemplateDecl`. The base is then skipped, along with everything
it declares.

libstdc++'s `std::allocator` runs into this: it derives from
`__allocator_base<T>`, which is an alias template for
`__new_allocator<T>`. Before C++20, `allocate()` and `deallocate()` are
declared only in that base (the declarations in `allocator` itself are
guarded by `__cpp_constexpr_dynamic_alloc`), so a dependent
`std::allocator<T>` offered no members at all beyond the implicitly
declared ones:

```c++
#include <memory>
template <class T> void f(std::allocator<T> a) {
  a. // nothing useful was offered here
}
```

Look through the alias to the class template it ultimately names.

Assisted-by: Claude Opus 5

---------

Co-authored-by: Younan Zhang <zyn7109 at gmail.com>
Co-authored-by: Corentin Jabot <corentinjabot at gmail.com>


  Commit: 6a35341a7aadee64a99c90e170137a587de53cac
      https://github.com/llvm/llvm-project/commit/6a35341a7aadee64a99c90e170137a587de53cac
  Author: Sergey Semenov <sergey.semenov at intel.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libsycl/include/sycl/__impl/detail/config.hpp

  Log Message:
  -----------
  [libsycl][NFC] Fix undefined macro warning (#224090)


  Commit: 72a6e256d0ae16ab274af88017e2299cdc3117ae
      https://github.com/llvm/llvm-project/commit/72a6e256d0ae16ab274af88017e2299cdc3117ae
  Author: Sergey Semenov <sergey.semenov at intel.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libsycl/include/sycl/__impl/detail/kernel_arg_helpers.hpp

  Log Message:
  -----------
  [libsycl][NFC] Fix unused function warnings (#224089)


  Commit: 7af35e1750148e829ab042ccb36fd710689363a0
      https://github.com/llvm/llvm-project/commit/7af35e1750148e829ab042ccb36fd710689363a0
  Author: Sergey Semenov <sergey.semenov at intel.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libsycl/include/sycl/__impl/handler.hpp

  Log Message:
  -----------
  [libsycl][NFC] Fix struct class mismatch warning (#224088)


  Commit: 1328d2ccdb2266c62f61b41258b68fda79fcffa9
      https://github.com/llvm/llvm-project/commit/1328d2ccdb2266c62f61b41258b68fda79fcffa9
  Author: Sergey Semenov <sergey.semenov at intel.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libsycl/include/sycl/__spirv/spirv_vars.hpp

  Log Message:
  -----------
  [libsycl][NFC] Fix extra semicolon outside of function warning (#224087)


  Commit: 2980a76d91fa43c8d4ad21dbf9346efc0ef05d3d
      https://github.com/llvm/llvm-project/commit/2980a76d91fa43c8d4ad21dbf9346efc0ef05d3d
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Fix assert when calling static functions via CallVirt (#224253)

This only happens in error cases.


  Commit: f4f7257be543b02dd786d0d2be7b18cce4d266db
      https://github.com/llvm/llvm-project/commit/f4f7257be543b02dd786d0d2be7b18cce4d266db
  Author: Yihan Wang <yronglin777 at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Give a discarded composite prvalue a result object (#219952)

A default member initializer can refer to previously initialized
subobjects, so `this` has to denote something while it is evaluated. A
discarded composite prvalue had no result object, so the interpreter
rejected code the legacy evaluator accepts:

```cpp
struct A { int &x; constexpr ~A() { x = 0; } };
struct B { int &x; const A &a = A{x}; };
constexpr int f() { int x = 1; B{x}; return x; }
constexpr int r = f(); // error: implicit use of 'this' pointer
static_assert(r == 0); // FXIME: 'r' shouble be 0, it's a bug in clang, see https://github.com/llvm/llvm-project/issues/85601.

```

https://godbolt.org/z/rb993Ef9d

This patch materialize a result object for a discarded composite prvalue
and initialize into it. A discarded list of primitive type keeps
discarding its initializers, as there is no object to establish there.

Also let an explicit initializer nested in a default member initializer
see the surrounding initializer's `this` reconstruction.

Signed-off-by: yronglin <yronglin777 at gmail.com>
Co-authored-by: Timm Bäder <tbaeder at redhat.com>


  Commit: ef74d5b3f7c0ee6f61325453c5bfdfee61a38bb1
      https://github.com/llvm/llvm-project/commit/ef74d5b3f7c0ee6f61325453c5bfdfee61a38bb1
  Author: sriramshastry <52648132+sriramshastry at users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libc/src/__support/FPUtil/NearestIntegerOperations.h

  Log Message:
  -----------
  [libc][math] Use bit rounding in fputil::round (#221648)

Add a float-specific fputil::round overload for roundf. It uses
FPBits<float> and the biased exponent to handle sub-unit values,
already-integral inputs, and finite values with fractional bits.

For finite fractional values, add the rounding bit and clear the lower
mask. This implements round-to-nearest with halfway cases away from zero
using integer operations on the float encoding.

Tests: libc.test.src.math.smoke.roundf_test
Tests: libc.test.src.math.smoke.roundf_test.__NO_ROUND_OPT


  Commit: 5da7779afdf353039a1566cb4896664d2de7db91
      https://github.com/llvm/llvm-project/commit/5da7779afdf353039a1566cb4896664d2de7db91
  Author: Peter Smith <peter.smith at arm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lld/ELF/AArch64ErrataFix.cpp
    M lld/test/ELF/aarch64-cortex-a53-843419-thunk-relocation-crash.s

  Log Message:
  -----------
  [LLD][ELF] AArch64 Errata patch use STT_NOTYPE for symbols (#223686)

Use STT_NOTYPE instead of STT_SECTION for local symbols created for the
destination of patch return relocations. This avoids corrupting the
-emit-relocs output for existing relocations that target the
OutputSection's STT_SECTION symbol.

At the time the errata patch runs the .symtab section is expected to
contain at most one STT_SECTION symbol per OutputSection. Adding a new
STT_SECTION symbol causes the -emit-relocs output to use the newly
created symbol for the patch return rather than the OutputSection's
STT_SECTION. By using a STT_NOTYPE symbol the errata patch has no effect
on the -emit-relocs output.

fixes #223356


  Commit: 2526f1ca2d81565771ab9c1e2dce44d013d7cc41
      https://github.com/llvm/llvm-project/commit/2526f1ca2d81565771ab9c1e2dce44d013d7cc41
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h

  Log Message:
  -----------
  [lldb] Use Guarded in CPPLanguageRuntime (#220212)

Use Guarded to make sure m_vtable_info_map cannot be accesses without
locking the respective lock.


  Commit: b3d93594e556278609c9c1815f3ad93d1d49d9fb
      https://github.com/llvm/llvm-project/commit/b3d93594e556278609c9c1815f3ad93d1d49d9fb
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
    A clang/test/SemaTemplate/temp_arg_nontype_ref.cpp

  Log Message:
  -----------
  [Clang] Fix deduction from constant TP of reference type. (#223645)

We were not implementing https://eel.is/c++draft/temp.deduct.type#13
properly.

Fixes #40328

Assisted-By: Opus 5


  Commit: bc79eb547e6ef6a9bceef4968df0e0a150b96a8d
      https://github.com/llvm/llvm-project/commit/bc79eb547e6ef6a9bceef4968df0e0a150b96a8d
  Author: Caroline Newcombe <caroline.newcombe at hpe.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M flang/docs/OpenMPSupport.md
    A offload/test/offloading/error_directive.c
    A offload/test/offloading/fortran/error_directive.f90
    A offload/test/offloading/fortran/error_directive_fatal.f90
    M openmp/device/include/Interface.h
    M openmp/device/src/Misc.cpp

  Log Message:
  -----------
  [OpenMP][DeviceRTL] Implement __kmpc_error for the error directive (#220702)

### Description
[OpenMP][DeviceRTL] Implement __kmpc_error for the error directive

### Notes
Part of #204240 
Assisted-by: Github Copilot


  Commit: b5885865c07a5e6a20dac79318c23a0725ee90e1
      https://github.com/llvm/llvm-project/commit/b5885865c07a5e6a20dac79318c23a0725ee90e1
  Author: Federico Bruzzone <federico.bruzzone.i at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/Transforms/BufferOptimizations.cpp
    M mlir/test/Transforms/promote-buffers-to-stack.mlir

  Log Message:
  -----------
  [mlir][bufferization] Fix 32-bit overflow in `PromoteBuffersToStack` threshold check (#223986)

This PR fix 32-bit overflow in `PromoteBuffersToStack` threshold check.

Fixes #223937

---------

Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>


  Commit: 4837d8d5a3b1694f2e760cb4eec54360b047f722
      https://github.com/llvm/llvm-project/commit/4837d8d5a3b1694f2e760cb4eec54360b047f722
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M mlir/test/Conversion/ConvertToSPIRV/scf.mlir
    M mlir/test/Conversion/ConvertToSPIRV/simple.mlir
    M mlir/test/lib/Pass/TestConvertToSPIRVPass.cpp

  Log Message:
  -----------
  [mlir][SPIR-V] Populate math and cf dialect patterns in `test-convert-to-spirv` (#214627)


  Commit: e9e1cb31a1dd0c7764b3206543efef6be4f93ce8
      https://github.com/llvm/llvm-project/commit/e9e1cb31a1dd0c7764b3206543efef6be4f93ce8
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
    M llvm/test/CodeGen/SPIRV/debug-info/debug-type-composite.ll

  Log Message:
  -----------
  [SPIR-V] Skip debug type sizes wider than 32 bits (#223678)

A size or offset above 4 GB was truncated to 32 bits, now they are
dropped


  Commit: b8f372dd7d6288825c37bf6796f029e91da0ceef
      https://github.com/llvm/llvm-project/commit/b8f372dd7d6288825c37bf6796f029e91da0ceef
  Author: DylanFleming-arm <85629460+DylanFleming-arm at users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libc/src/__support/mathvec/CMakeLists.txt
    M libc/src/__support/mathvec/sinf.h
    A libc/src/__support/mathvec/trig_reductionf.h
    A libc/src/__support/mathvec/trig_reductionf_nofma.h
    M libc/src/mathvec/generic/sinf.cpp

  Log Message:
  -----------
  [libc][mathvec] Vectorise sinf (#220985)

Replaces loop over scalar sinf with a fully vectorised implementation.


  Commit: 2ad0b22b41409657750d2b516dbc6da2437f353e
      https://github.com/llvm/llvm-project/commit/2ad0b22b41409657750d2b516dbc6da2437f353e
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  Silence "not all control paths return a value"; NFC (#224276)


  Commit: 5a35d5be0acb0cdf0e9f21f1cc7edd712bde7eee
      https://github.com/llvm/llvm-project/commit/5a35d5be0acb0cdf0e9f21f1cc7edd712bde7eee
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/test/CodeGen/AArch64/sve/dup.c

  Log Message:
  -----------
  [clang][cir] Add missing tests for SVE DUP intrinsics (#223932)

Adds missing code-gen tests for DUP intrinsics operating on bf16.


  Commit: bbd61cb2e932bb7734cbf034dc50a6f5835e7d77
      https://github.com/llvm/llvm-project/commit/bbd61cb2e932bb7734cbf034dc50a6f5835e7d77
  Author: MrEven132 <13554966229 at 163.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/BDCE.cpp
    A llvm/test/Transforms/BDCE/dbg-binops-multiuse.ll
    A llvm/test/Transforms/BDCE/dbg-sext-to-zext.ll

  Log Message:
  -----------
  Fix llvm bdce debug salvage (#220900)

BDCE simplifies constant-mask `and`, `or`, and `xor` instructions when
the changed bits are not demanded by program uses. It can similarly
replace a `sext` with a `zext` when none of the sign bits are demanded.
Both transformations used ordinary RAUW, which also redirected direct
debug uses to values with different meanings.

Replace only non-metadata uses when applying these optimizations. This
leaves direct debug users for BDCE's existing reverse-order salvage
pass, which reconstructs supported operations in a `DIExpression` and
makes unsupported locations unavailable.

Add regression tests covering salvage of `and`, `or`, and `xor`, the
unavailable fallback for an unrepresentable wide constant, and
preservation of signed-extension semantics when program uses receive a
`zext`.

Fixes #218890
Fixes #46640


  Commit: c5c167c7436f035152289cb9489548ccf5328bb3
      https://github.com/llvm/llvm-project/commit/c5c167c7436f035152289cb9489548ccf5328bb3
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/driver/cc1gen_reproducer_main.cpp
    M clang/tools/driver/driver.cpp
    M lld/tools/lld/lld.cpp
    M llvm/cmake/modules/llvm-driver-template.cpp.in
    A llvm/include/llvm/Support/Driver.h
    R llvm/include/llvm/Support/LLVMDriver.h
    M llvm/lib/Support/CMakeLists.txt
    A llvm/lib/Support/Driver.cpp
    A llvm/test/tools/llvm-driver/session-dispatch.test
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llvm-ar/llvm-ar.cpp
    M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
    M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
    M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
    M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
    M llvm/tools/llvm-driver/llvm-driver.cpp
    M llvm/tools/llvm-dwp/llvm-dwp.cpp
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/tools/llvm-ifs/llvm-ifs.cpp
    M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
    M llvm/tools/llvm-lipo/llvm-lipo.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp
    M llvm/tools/llvm-mt/llvm-mt.cpp
    M llvm/tools/llvm-nm/llvm-nm.cpp
    M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-rc/llvm-rc.cpp
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
    M llvm/tools/llvm-size/llvm-size.cpp
    M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
    M llvm/tools/sancov/sancov.cpp
    M llvm/unittests/Support/CMakeLists.txt
    A llvm/unittests/Support/LLVMToolSession/CMakeLists.txt
    A llvm/unittests/Support/LLVMToolSession/LLVMToolSessionTest.cpp

  Log Message:
  -----------
  [Support] Add ToolSession for in-process tool invocation (#221996)

Please read
[RFC](https://discourse.llvm.org/t/rfc-embeddable-llvm-tool-drivers-for-long-lived-hosts/91754)
& [RFC
section](https://discourse.llvm.org/t/rfc-embeddable-llvm-tool-drivers-for-long-lived-hosts/91754#p-367966-why-initllvm-ownership-matters-7)

This patch introduces `LLVMToolSession`, which lets a long-lived host
own LLVM process initialization and invoke registered LLVM tools without
constructing and destroying `InitLLVM` for every call.

The existing `llvm` multicall driver is used as the first consumer. It
already combines several callable tool entry points in one executable,
making it a small and concrete place to establish the session model
without changing the individual tools.

An `LLVMToolSession`:

- owns one `InitLLVM` instance for the lifetime of the host;
- owns the registry of callable tools;
- creates a `ToolContext` for each invocation;
- allows a tool to find or invoke another tool through that same
session.

This is intended to support hosts such as
[WasmBolt](https://github.com/anutosh491/WasmBolt) (try
[here](https://anutosh21.github.io/WasmBolt/)), where multiple LLVM
tools run sequentially—and sometimes call one another—inside one
long-lived WebAssembly process.

The patch deliberately does not yet:

- change Clang, LLD, `llc`, or `opt`;
- address process-global `llvm::cl` state;
- remove `InitLLVM` from standalone tool wrappers.

Those should remain separate follow-up changes so each part can be
reviewed independently.

I have added tests for 

- a real `llvm-cxxfilt` invocation through `LLVMToolSession`;
- repeated and nested tool invocations within one session;
- unknown-tool handling;
- the existing `llvm-driver` tests, including multicall and symlink
invocation.


  Commit: 21517de3188cc2779115e86c69a3c4e1fe94a864
      https://github.com/llvm/llvm-project/commit/21517de3188cc2779115e86c69a3c4e1fe94a864
  Author: Jack Styles <jack.styles at arm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/test/CodeGen/AArch64/dup-ext-load-combine.ll

  Log Message:
  -----------
  [AArch64] Use SVE for load-extend-broadcast (#221689)

On certain cores, it is faster to use SVE ld1r instructions to load,
extend and broadcast an integer value to a vector in all cases other
than 64bit vectors where no type promotion occurs.

To acheive this, introduce a tuning option, `PreferSVEVectors` for use
when combining DUP instructions to create a Splat Vector to the scalable
alternative, and then use the already implemented scheduling model
patterns for splat vectors to end up generate the ld1r instruction.

If used in a loop, the predicate will be hoisted outside of the loop.


  Commit: a1ec0e4019ed85b47eb8bc21a901c3384aba1676
      https://github.com/llvm/llvm-project/commit/a1ec0e4019ed85b47eb8bc21a901c3384aba1676
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/test/CodeGen/SPIRV/transcoding/func_param_attr.ll

  Log Message:
  -----------
  [SPIR-V] Emit FuncParamAttr Zext/Sext for return type attributes (#223724)


  Commit: 66ccc4cee0b489cbb80847628c8582547795c080
      https://github.com/llvm/llvm-project/commit/66ccc4cee0b489cbb80847628c8582547795c080
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Context.h
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.h
    A clang/lib/AST/ByteCode/FrameAllocator.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/InterpFrame.h
    M clang/lib/AST/ByteCode/InterpState.cpp
    M clang/lib/AST/ByteCode/InterpState.h

  Log Message:
  -----------
  [clang][bytecode] Add a function frame allocator (#220229)

Add a function frame allocator we share across evaluations.

For code like
```c++
consteval int foo() {
  int a = 0;
  for (int i = 0; i != 10; ++i)
    inc(a);
  return a;
}
```
We previously `new[]`-ed a frame for every call of `inc()`, and
`delete[]`d the memory again directly after, resulting in lots of small
(in this case) allocations.

Add a `FrameAllocator` class that handles frames like a LIFO stack and
allocates memory in 4kb chunks. If a newly created frame fits into an
existing chunk, we don't have to allocate anything and simply
placement-new the `InterpFrame` into the existing chunk. We allocate new
chunks as needed.

We can't e.g. use a `std::vector<char>` for this since addresses into
`InterpFrame` memory must stay stable during a frame lifetime.


When compiling `APFloat.cpp`, the stats print this output:
```console
*** FrameAllocator stats ***
Chunk 0: 176 / 4072 (4.32%)
Max allocated bytes: 13424
Largest frame: 5208
Frames created: 286986
Allocations: 63
Occupancy: 4.32%
```
So for 286986 created frames, we only did 63 allocations. The output was
printed at the end of the compilation so the printed chunks and
occupancy aren't very useful.

For a test case that creates lots of function frames, e.g.
```c++
consteval void inc4(int &a) { ++a; }
consteval void inc3(int &a) { inc4(a); }
consteval void inc2(int &a) { inc3(a); }
consteval void inc(int &a)  { inc2(a); }
consteval int foo() {
  int a = 0;

  for (int i = 0; i != 10; ++i)
    inc(a);

  return a;
}
static_assert(foo() == 10);
```
we save 2.5%. If all of the functions in the sample above gain a `char
c[1024]` local variable, this patch improves the runtime by 12%.


  Commit: 03a5dba50f9f4dc7aafff941bd72dada7fe6f499
      https://github.com/llvm/llvm-project/commit/03a5dba50f9f4dc7aafff941bd72dada7fe6f499
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 4837d8d (#224283)

This fixes 4837d8d5a3b1694f2e760cb4eec54360b047f722 (#214627).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=4837d8d5a3b1694f2e760cb4eec54360b047f722

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


  Commit: 2794e411ff8b76546cb39c5ef94c725f119eb61f
      https://github.com/llvm/llvm-project/commit/2794e411ff8b76546cb39c5ef94c725f119eb61f
  Author: Shimin Cui <scui at ca.ibm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Object/GOFF.h
    M llvm/include/llvm/Object/GOFFObjectFile.h
    M llvm/lib/Object/GOFFObjectFile.cpp
    M llvm/unittests/Object/GOFFObjectFileTest.cpp

  Log Message:
  -----------
  [Object][GOFF] Support RLD records (#216780)

This is to add support for RT_RLD records when reading GOFF objects.


  Commit: a47fe60be7facad0f3db9090bb41f94872ee2fa0
      https://github.com/llvm/llvm-project/commit/a47fe60be7facad0f3db9090bb41f94872ee2fa0
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-access-wide-stride.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses-narrow-iv.ll

  Log Message:
  -----------
  [RISCV] Account for VL toggle cost when splitting VP memory intrinsics (#223992)

Not an alternative to #222836 since this doesn't handle all cases, but
something we should do anyway in the TTI to be accurate.

For vp.load/vp.gather/vp.strided.load and their store counterparts, when
they're split they introduce extra vl toggles which involve computation
on the evl, e.g.

      vsetvli a2, zero, e8, mf4, ta, ma
      vmv1r.v v8, v0
      csrr a2, vlenb
      srli a3, a2, 3
      vslidedown.vx v0, v0, a3
      sub a3, a1, a2
      sltu a4, a1, a3
      addi a4, a4, -1
      slli a5, a2, 3
      and a3, a4, a3
      add a5, a0, a5
      vsetvli zero, a3, e64, m8, ta, ma
      vle64.v v16, (a5), v0.t
      bltu a1, a2, .LBB44_2
    # %bb.1:
      mv a1, a2
    .LBB44_2:
      vmv1r.v v0, v8
      vsetvli zero, a1, e64, m8, ta, ma
      vle64.v v8, (a0), v0.t

Account for some overhead in the cost to influence the loop vectorizer
to avoid picking VFs that lead to types that need split.


  Commit: 46ff6b5f0eaef577b03ac6aae8f9e8ffbcf632ab
      https://github.com/llvm/llvm-project/commit/46ff6b5f0eaef577b03ac6aae8f9e8ffbcf632ab
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
    M llvm/test/Transforms/PhaseOrdering/X86/avg.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bad-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduce-or-bitpack.ll
    M llvm/test/Transforms/SLPVectorizer/non-power-of-2-bswap.ll

  Log Message:
  -----------
  [SLP]Model or-reduction of masked shifted lanes as a bitfield pack

An or reduction of and(shl(x, s), m) lanes that each cover a disjoint
contiguous byte field of the result is a repacking of the per-lane field
contents, not a shift and reduce. Prove the fields disjoint from the
per-lane possibly-set bits (a saturating numeric upper bound combined with
known bits), then emit the pack as a trunc, an optional per-lane lshr, a
byte shuffle and a bitcast. A plain byte reversal becomes a bswap, an
identity byte order needs no shuffle, and byte-zext lanes compact for free.

Fixes #175446

Assisted-by: Cursor

Reviewers: bababuck

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


  Commit: c7816d6462677e69f52e59caf638db2c1669f940
      https://github.com/llvm/llvm-project/commit/c7816d6462677e69f52e59caf638db2c1669f940
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-host-datalayout.c
    M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  clang-linker-wrapper: Set the host DataLayout on the offload wrapper module (#224280)

The offload wrapper module was created with only a target triple, and
the datalayout wasn't set until later, where it was copied from the
TargetMachine, after the wrapping code already ran.

The wrapping code did query the datalayout for the pointer size, so this
was broken for host and devices with different pointer sizes. queries the 
DataLayout (e.g. the size_t / intptr type via getSizeTTy), so on a
host whose pointer size differs from the default layout (e.g. a 32-bit
host) it used the wrong integer width for image offsets.

This removes a use of TargetMachine::createDataLayout, which I am trying
to remove.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 4da3844b083e9615134fc49efceaf6d2ddfffc84
      https://github.com/llvm/llvm-project/commit/4da3844b083e9615134fc49efceaf6d2ddfffc84
  Author: Aman Maurya <amanmaurya9209 at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    M libc/src/__support/OSUtil/linux/syscall_wrappers/fchmodat.h
    M libc/src/sys/stat/linux/CMakeLists.txt
    M libc/src/sys/stat/linux/fchmodat.cpp
    M libc/test/src/sys/stat/fchmodat_test.cpp

  Log Message:
  -----------
  [libc] Add support for SYS_fchmodat2 in fchmodat (#223997)

### Summary
Linux kernel 6.6 introduced the `SYS_fchmodat2` system call, which
accepts a 4th `flags` argument (`int fchmodat2(int dirfd, const char
*pathname, mode_t mode, unsigned int flags)`). This allows flags like
`AT_SYMLINK_NOFOLLOW` and `AT_EMPTY_PATH` to be passed directly to the
kernel.

Following the discussion on #223165, this patch adds support for
`SYS_fchmodat2` in `fchmodat`, while providing fallbacks when
`SYS_fchmodat2` is not supported.

Fixes #223953

Formatted using Gemini.

---------

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


  Commit: 5b5247c84485c0686423dcbb0f167a09973a9fb2
      https://github.com/llvm/llvm-project/commit/5b5247c84485c0686423dcbb0f167a09973a9fb2
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-inst-count.ll

  Log Message:
  -----------
  [SLP]Drop auxiliary subtrees to pass the VF=2 instruction-count veto

The veto rejected the whole VF=2 tree when an optional splat gather
root or gathered loads subtree tipped the vector instruction count
over the scalar count. Drop the reused auxiliary subtrees while the
tree exceeds the budget; the surviving gathers re-materialize their
scalars.

Assisted-by: Cursor

Reviewers: bababuck, RKSimon

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


  Commit: e98ab4afe7dfb83d66ddc80a3c81e471f240cc99
      https://github.com/llvm/llvm-project/commit/e98ab4afe7dfb83d66ddc80a3c81e471f240cc99
  Author: Xiaoyang Gong <xyg_aster at outlook.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/Driver.h
    M lld/MachO/DriverUtils.cpp
    A lld/test/MachO/reproduce-search-paths.s
    M lld/test/MachO/reproduce.s

  Log Message:
  -----------
  [lld][MachO] Fix --reproduce paths for non-global symbol lists and SDK libraries/frameworks (#223687)

`--reproduce` currently has two path-rewriting problems:
1. Non-global symbol lists are included in the archive, but their paths
in the response file are not
     relativized.
2. SDK roots and library/framework search paths are relativized
independently. Since the driver does not
reroot relative search paths, replay can fail to find libraries or
frameworks inside the SDK.
  
This patch fixes both by relativizing non-global symbol-list paths and
resolving SDK prefixes before
  relativizing library/framework search paths.

---------

Co-authored-by: Vy Nguyen <1762963+oontvoo at users.noreply.github.com>


  Commit: eebda156ed5330e03c603b018cec3f20b2d9a113
      https://github.com/llvm/llvm-project/commit/eebda156ed5330e03c603b018cec3f20b2d9a113
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  [lldb] Guarded GDBRemoteCommunicationServerLLGS::m_saved_registers_map (#219431)

m_saved_registers_map and m_next_saved_registers_id were guarded by a
dedicated std::mutex. This replaces the manual locking logic with
`Guarded`.

This also fixes the missing lock in the Handle_QSaveRegisterState
assert which was previously a race condition.


  Commit: 82788271de2f978390f74260c00bea9cd34872a4
      https://github.com/llvm/llvm-project/commit/82788271de2f978390f74260c00bea9cd34872a4
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/unittests/ExecutionEngine/Orc/SPSProxySpecTest.cpp

  Log Message:
  -----------
  [ORC] Fix testcase after SymbolNameSpec migration. (#224302)

Interface names were migrated to SymbolNameSpec in 6136762db198, but
some names in testcases were missed, triggering build failures on MSVC
bots (see https://lab.llvm.org/buildbot/#/builders/2/builds/62444)

Update interface names in SPSProxySpecTest.cpp to SymbolNameSpecs.


  Commit: 9832d8367dcc906fc6d4b3e4e5155f90f846c25c
      https://github.com/llvm/llvm-project/commit/9832d8367dcc906fc6d4b3e4e5155f90f846c25c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  [SLP][NFC]Fix a warning for unused variable in release builds, NFC



Reviewers: 

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


  Commit: 744b509544199b4c990d8c8dc26e8c0938c24beb
      https://github.com/llvm/llvm-project/commit/744b509544199b4c990d8c8dc26e8c0938c24beb
  Author: Timur Golubovich <timur.golubovich at intel.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/kmov.ll

  Log Message:
  -----------
  [X86] Fix out-of-range extractBits in combineAVX512SetCCToKMOV (#224268)

When the widened constant table's last element is undef, the
trailing-undef check called APInt::extractBits(0, Len), which asserts
since bitPosition must be less than BitWidth. Nothing remains to check
in that case, so skip the extract and accept the mask.


  Commit: 38b9756321b058cdf882db131139afe8261f90a7
      https://github.com/llvm/llvm-project/commit/38b9756321b058cdf882db131139afe8261f90a7
  Author: Akash Manna <akash.manna.mymail at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/SemaCXX/conversion-function.cpp

  Log Message:
  -----------
  [clang] Fix surrogate call through a using-declared conversion function (#221723)

Fixes #189146

A call to a class object that goes through a conversion function to a
function pointer ("surrogate call") asserted when that conversion
function had been brought into the class with a using-declaration, e.g.
`using M::operator auto;`. The surrogate loop in
`BuildCallToObjectOfClassType` unwraps the `UsingShadowDecl` to get the
conversion function but records the shadow as the candidate's
`FoundDecl`, so the two are not the same pointer and the assertion
fires. It wasn't only the assertion, though: the line before it passed
`FoundDecl` to `DiagnoseUseOfDecl`, which skips all of its function
checks on a shadow decl, and surrogates never go through `OR_Deleted`
since they carry no `Function`. So with the assertion relaxed, a deleted
conversion function reached through a using-declaration would have
compiled without complaint.

The surrogate branch now diagnoses use of the conversion function itself
rather than the found declaration, which is what `BuildCXXCastArgument`
already does for the ordinary user-defined conversion path, and the
assertion compares against the underlying declaration. Access checking
keeps using `FoundDecl`, since the using-declaration's access is the one
that matters. For conversion functions declared directly in the class
the two pointers are identical, so nothing changes there.


  Commit: db82496a43e6552928d3f109bfe32df812053657
      https://github.com/llvm/llvm-project/commit/db82496a43e6552928d3f109bfe32df812053657
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/test/CodeGen/SPIRV/pointers/nested-struct-opaque-pointers.ll

  Log Message:
  -----------
  [SPIR-V] Keep structs packed when nested type deduction rebuilds them (#222968)


  Commit: fcd548f971ab4feb2529b61d531e9627338bae70
      https://github.com/llvm/llvm-project/commit/fcd548f971ab4feb2529b61d531e9627338bae70
  Author: Ron Green [NVIDIA] <rogreen at nvidia.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M flang/include/flang/Lower/OpenACC.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenACC.cpp
    A flang/test/Lower/OpenACC/acc-loop-collapse-directive-between-loops.f90
    M flang/test/Semantics/CUDA/cuf09.cuf

  Log Message:
  -----------
  [flang][OpenACC] Skip non-loop evaluations when descending a collapsed/tiled DO nest (#223579)

## Summary
- The collapse/tile loop-nest descent in `Bridge.cpp` (used for OpenACC
`collapse`/`tile` and CUDA Fortran `!$cuf kernel do`) assumed each loop
level's nested evaluations have the fixed shape `{NonLabelDoStmt,
DoConstruct, EndDoStmt}` and unconditionally advanced to the second
nested evaluation to find the next inner `DO`.
- A compiler directive (e.g. `!DIR$ IVDEP`) placed between loop levels
inserts an extra sibling evaluation there, so the descent landed on the
directive instead of the inner `DoConstruct` and lowered the directive's
(empty) nested evaluations as the loop body — silently dropping the real
body with no diagnostic.
- Adds a helper that searches a level's nested evaluations for the
actual `DoConstruct`, matching the approach already used by
`visitLoopControl` in `OpenACC.cpp`, and uses it at all three affected
descent sites (OpenACC collapse/tile, and the two CUDA Fortran kernel-do
sites).

## Test plan
- New lit test
`flang/test/Lower/OpenACC/acc-loop-collapse-directive-between-loops.f90`
covering `collapse(2)` with `!DIR$ IVDEP` and `collapse(3)` with `!DIR$
NOVECTOR` between loop levels.
- Verified the new test fails without the fix (directive absorbed as
loop body, no `hlfir.assign` for the real body) and passes with it.
- Existing `acc-loop-collapse-force-lowering.f90`,
`acc-loop-collapse-force-non-tightly-nested.f90`,
`do-concurrent-collapse.f90`, `cuda-kernel-loop-directive.cuf`,
`cuda-kernel-do-reduction.cuf` all still pass.


  Commit: d9eacde3fa9ba53cb89fcf18cb0b3bd6d1c0ac53
      https://github.com/llvm/llvm-project/commit/d9eacde3fa9ba53cb89fcf18cb0b3bd6d1c0ac53
  Author: Alessandro Potenza <ap.alessandro.potenza at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  [mlir][vector] Reject a 0-d operand in the outerproduct parser (#219917)

`vector.outerproduct` builds its result type from dimension 0 of its
operands, which a 0-d vector does not have, so `mlir-opt` aborts while
parsing, before the verifier gets a chance to report anything:

```mlir
%0 = vector.outerproduct %a, %b : vector<f32>, vector<4xf32>
```

The parser now emits the same diagnostic the verifier already gives for
that operand, `expected 1-d vector for operand #1`. Only rank 0 is
caught here, rank 2 and above still reach the verifier unchanged.

This PR started out touching three parsers and was narrowed to
`outerproduct` at review request. The `transfer_read`/`transfer_write`
and `contract` parsers follow as separate PRs.


  Commit: fc93f68cff49951215e0fa8c4c6d6ea9d34ec40b
      https://github.com/llvm/llvm-project/commit/fc93f68cff49951215e0fa8c4c6d6ea9d34ec40b
  Author: Sam Parker <sam.parker at arm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    A llvm/test/CodeGen/WebAssembly/extend-narrow.ll

  Log Message:
  -----------
  [NFC][WebAssembly] extend/narrow tests (#224297)


  Commit: 33cc998157406abe5c1319e1532bd401dd0aafb6
      https://github.com/llvm/llvm-project/commit/33cc998157406abe5c1319e1532bd401dd0aafb6
  Author: Scott Manley <rscottmanley at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
    M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
    M flang/test/Fir/FirToSCF/do-loop.fir
    M flang/test/Fir/convert-to-llvm-access-group.fir
    M flang/test/Fir/vector-always-cfg.fir
    M flang/test/Fir/vector-always.fir
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
    M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsLoop.cpp

  Log Message:
  -----------
  [mlir][LLVM] Add LLVM::getLoopAnnotationAttrName() (#224060)

Provide a single name for attaching LoopAnnotationAttr as a discardable
attribute and use it in FIR, OpenACC, and CF-to-LLVM lowering instead of
hardcoded "loop_annotation" / Attr::name.


  Commit: fce41063731d4b8db42a2c02a7a37a5ad4feda29
      https://github.com/llvm/llvm-project/commit/fce41063731d4b8db42a2c02a7a37a5ad4feda29
  Author: Shimin Cui <scui at ca.ibm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Object/GOFFObjectFile.cpp

  Log Message:
  -----------
  GOFFObjectFile - use snprintf instead of sprintf (#224336)

Change sprintf to snprintf


  Commit: de27be07212d8bd85ab75aa6af028cbf569317f5
      https://github.com/llvm/llvm-project/commit/de27be07212d8bd85ab75aa6af028cbf569317f5
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp

  Log Message:
  -----------
  [SandboxVec][NFC] Make sbvec-collect-seeds a static opt (#224153)


  Commit: 4081877baec460d025db656d8057b0a4f5687fbe
      https://github.com/llvm/llvm-project/commit/4081877baec460d025db656d8057b0a4f5687fbe
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/bit-checks.ll

  Log Message:
  -----------
  [InstCombine] Support trunc nuw condition in foldAndOrOfICmps (#222407)

Fixes regressions seen in
https://github.com/llvm/llvm-project/pull/184182

one proof: https://alive2.llvm.org/ce/z/8eRbWu


  Commit: 1a2f45be47ccdfbaa206ca6b486f91c205d578f6
      https://github.com/llvm/llvm-project/commit/1a2f45be47ccdfbaa206ca6b486f91c205d578f6
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lldb/docs/resources/lldbgdbremote.md

  Log Message:
  -----------
  [lldb][docs] Put missing ';' in qMemoryRegionInfo ProtectionKey doc (#224341)

These are all name:value; and are documented as such but I forgot to add
the ; for this one.

Found while reviewing #224319.


  Commit: aeacd02f436b222402a70b74627cba8701053651
      https://github.com/llvm/llvm-project/commit/aeacd02f436b222402a70b74627cba8701053651
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
    M llvm/test/CodeGen/DirectX/ResourceAccess/handle-to-index.ll
    M llvm/test/CodeGen/DirectX/ResourceAccess/looped-phi-nodes.ll
    M llvm/test/CodeGen/DirectX/ResourceAccess/non-unique.ll

  Log Message:
  -----------
  [HLSL][DirectX] handle updatecounter in dxil resource access pass (#223591)

Recognize UpdateCounter operation in 'getStoreLoadOperand' and treat it
like Store or Load, the source of a usage of a resource. The operand
returned by this function is no longer always a Ptr so, handle when it
is a target extension type.

Closes #222400 

Assisted by GPT-5.6 Sol


  Commit: 642d7e9534c6e98f9ebddab8a6699c4b4a59fa0c
      https://github.com/llvm/llvm-project/commit/642d7e9534c6e98f9ebddab8a6699c4b4a59fa0c
  Author: Akash Manna <akash.manna.mymail at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseObjc.cpp
    A clang/test/Parser/GH209503.mm

  Log Message:
  -----------
  [clang][Parse] Fix stale `CurParsedObjCImpl` after an `@implementation` ends early (#219953)

Fixes #209503

`ObjCImplParsingDataRAII` only reset `CurParsedObjCImpl` in its
destructor, but an `@implementation` can be finished well before that:
`CheckNestedObjCContexts` ends it as soon as a nested
`@interface`/`@protocol`/`@implementation` shows up, and that container
is then parsed inside the same frame. Anything defined in there still
looked like it was inside the already finished `@implementation`, so
`ParseFunctionDefinition` queued the body into a `LateParsedObjCMethods`
that nobody was going to drain again, and the destructor's
`assert(LateParsedObjCMethods.empty())` fired. The fatal `#include` in
the report is a red herring, by the way — it only hides the diagnostics
for the function that gets queued.

`finish()` now restores the previous `CurParsedObjCImpl` the moment the
`@implementation` ends, instead of the destructor nulling it later.
Restoring rather than clearing also covers the mirror image: an
`@implementation` nested through a namespace inside another one used to
wipe out the outer, still open one when it ended, and the next method
definition in the outer one tripped the `Method out of @implementation`
assert. The new test has both shapes.

---------

Co-authored-by: Akira Hatanaka <ahatanak at gmail.com>


  Commit: e3c4c16567e3074dcd42da664fcb91298fd8c0fb
      https://github.com/llvm/llvm-project/commit/e3c4c16567e3074dcd42da664fcb91298fd8c0fb
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  [lldb] Substitute breakpoint opcodes in expedited memory (#224304)

A stub may send expedited memory in a stop reply, and
`ProcessGDBRemote::SetThreadStopInfo` puts those bytes straight into the
memory cache.  When a range covers a breakpoint lldb manages itself, the
cache then holds the trap opcode, and every later read of that address
returns the trap instead of the instruction underneath.  However, A read
reply does not have this problem: `ReadMemoryFromInferior` calls
`RemoveBreakpointOpcodesFromBuffer` before returning. The expedited path
never did, so this fix adds `Process::AddCacheData` to do the same and
use
it at the two places that cache expedited memory.

`TestWriteOverSoftwareBreakpoint.py` catches this once the stub
expedites a
range that covers the breakpoint:

```
AssertionError: bytearray(b'\x00\x00 \xd4') != bytearray(b'\xcd\x00\x00\x90')
```

`00 00 20 d4` is AArch64 `brk #0`. The test writes `0xcd` over the first
byte at the site, continues to it, and reads back. Only the lldb-managed
case fails; with an external breakpoint the stub hides its own trap.


  Commit: 2f2e0964f77914d287e79bb934d79219c443797a
      https://github.com/llvm/llvm-project/commit/2f2e0964f77914d287e79bb934d79219c443797a
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/ByteCodeEmitter.h

  Log Message:
  -----------
  [clang][bytecode] Remove default parameter value (#224306)

Passing nullptr doesn't make sense.


  Commit: bb2451e12541d3b2fffd29bcc9e7ae05cf71b493
      https://github.com/llvm/llvm-project/commit/bb2451e12541d3b2fffd29bcc9e7ae05cf71b493
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-metadata.ll

  Log Message:
  -----------
  [VPlan] Add test showing dropped metadata in narrowToSingleScalar (NFC) (#224321)

Add test showing dropped metadata in narrowToSingleScalar.


  Commit: 402b3f12f8aee7e461006c528cb1cbbc0398414a
      https://github.com/llvm/llvm-project/commit/402b3f12f8aee7e461006c528cb1cbbc0398414a
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Remove unnecessary stack operations in builtin_expect (#224288)


  Commit: 36763294ef639d8a6a4379d81da653dda1c20686
      https://github.com/llvm/llvm-project/commit/36763294ef639d8a6a4379d81da653dda1c20686
  Author: Yassine Missoum <mmissoum at microsoft.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/Parser.cpp
    A clang/test/Parser/ms-seh-single-underscore-strict.c
    A clang/test/Parser/ms-seh-single-underscore.c

  Log Message:
  -----------
  [Clang][Parser] Accept contextual _except in MS compatibility mode (#223551)

Clang already accepts _try, _finally, and _leave under
-fms-compatibility, but rejects the corresponding _except spelling
because __except is recognized contextually by the parser rather than as
a reserved token.

This patch extends the contextual handler check to accept _except in
Microsoft compatibility mode and uses that check consistently in SEH and
C++ try-handler parsing. _except remains an ordinary identifier outside
the handler position, and -fms-extensions alone does not enable the
alias.

The change is limited to parsing; it does not modify SEH lowering, LLVM
IR, optimization, or runtime behavior.

Assisted-by: Claude Opus 5 (via VS Code)

---------

Co-authored-by: Adam Glass <adamglass at microsoft.com>


  Commit: fd0ecaccdc131ae3e541be4d1eb83d85758bf104
      https://github.com/llvm/llvm-project/commit/fd0ecaccdc131ae3e541be4d1eb83d85758bf104
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lldb/include/lldb/DataFormatters/TypeSynthetic.h
    M lldb/include/lldb/ValueObject/ValueObject.h
    M lldb/source/API/SBValue.cpp
    M lldb/source/ValueObject/ValueObjectSynthetic.cpp

  Log Message:
  -----------
  [lldb] Surface GetIndexOfChildWithName errors instead of dropping them (#224059)

`ValueObjectSynthetic::GetChildMemberWithName` and
`SBValue::GetIndexOfChildWithName` called `llvm::consumeError` on the
`llvm::Expected` returned by `GetIndexOfChildWithName` and reported the
failure as a null `ValueObjectSP` / `UINT32_MAX`, so the reason a lookup
failed never reached anyone. Log them instead: `LLDBLog::DataFormatters`
from ValueObject and formatter code, `LLDBLog::API` at the SB boundary.
That is the convention `BlockPointer.cpp` and `LibCxx.cpp` already
follow.

Also, in `ValueObjectSynthetic::GetIndexOfChildWithName`:

- A front-end with `TypeOptions::eTypeOptionCustomSubscripting` that
failed to find the child left `index` at its `SIZE_MAX` initializer,
dropped the front-end's error unread, then cached `SIZE_MAX` in
`m_name_toindex` and returned it as a valid index. Return the
front-end's error instead.
- Call `GetNumChildren(max)` rather than
`GetNumChildrenIgnoringErrors(max)` for the `"[N]"` subscript bounds
check and propagate the error, so a child count that fails to compute is
no longer reported as a subscript that is out of range.
- Return early on a cache hit rather than falling through a chain of
else-if branches that retested `found_index`.

Lower-cases the two `"Type has no child named"` messages in
`TypeSynthetic.h` for consistency with every other instance of that
string.

Follow-up to the review on #136693.

rdar://150281004
rdar://150281080


  Commit: 3dc5f505e302264758aef026531fe7443e569993
      https://github.com/llvm/llvm-project/commit/3dc5f505e302264758aef026531fe7443e569993
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/include/llvm/CodeGen/MachineConstantPool.h
    M llvm/include/llvm/CodeGen/MachineFunction.h

  Log Message:
  -----------
  [CodeGen] Remove dead accessors and variables in Machine* (NFC) (#224216)

MachineBasicBlock::PrefetchTargets:
Introduced on April 10, 2026 in commit
2f422a52fde267757ce48041af6e731421fed2a3 without any uses.

MachineInstrSpan::getInitial:
Introduced on August 14, 2013 in commit
c3f912b945ce6813e874b7a11c29ea2b3f2b54ff without any callers.

MachineConstantPool::getDataLayout:
The last use was removed on July 7, 2015 in commit
42e9f967127e5efea4c3b8638c9c4da8ad885fba.

SEHHandler / LandingPadInfo::SEHHandlers:
The last uses were removed on June 13, 2022 in commit
a2232da2a5d207126e1777fb33b61a16109ae38e.

MachineFunction::PersonalityTypeCache:
Moved from MachineModuleInfo on December 1, 2016 in commit
d0ee66c2e9de28cb1111663ba42468305f8d55fa without any uses.


  Commit: 0dd83fd855d6826fd50d7f135d21c34b678d7fc6
      https://github.com/llvm/llvm-project/commit/0dd83fd855d6826fd50d7f135d21c34b678d7fc6
  Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Basic/SanitizerSpecialCaseList.h
    M clang/include/clang/CIR/LowerToLLVM.h
    M clang/include/clang/CodeGen/BackendUtil.h
    M clang/include/clang/CodeGen/ModuleBuilder.h
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/ModulesDriver.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/PrecompiledPreamble.h
    M clang/lib/CodeGen/CodeGenModule.h
    M llvm/include/llvm/CodeGen/MIRSampleProfile.h
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/include/llvm/Support/CommandLine.h
    M llvm/include/llvm/Support/SourceMgr.h
    M llvm/include/llvm/Support/SpecialCaseList.h
    M llvm/include/llvm/Support/VirtualFileSystem.h
    A llvm/include/llvm/Support/VirtualFileSystemFwd.h
    M llvm/include/llvm/Transforms/IPO/SampleProfile.h
    M llvm/include/llvm/Transforms/Instrumentation/MemProfUse.h
    M llvm/include/llvm/Transforms/Instrumentation/SanitizerBinaryMetadata.h
    M llvm/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
    M llvm/include/llvm/WindowsDriver/MSVCPaths.h
    M llvm/lib/Support/VirtualFileSystem.cpp
    M mlir/include/mlir/Target/LLVMIR/Export.h
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M polly/include/polly/ScopInliner.h

  Log Message:
  -----------
  [llvm] Forward declare VirtualFileSystem (#211761)

This adds a new header that adds an explicit forward declaration for
VirtualFileSystem, as well as a specialization of IntrusiveRefCntPtrInfo
for this class. This allows for code that uses
`IntrusiveRefCntPtr<vfs::FileSystem>` to compile when building LLVM as a
dylib on Windows, without having to include the full VirtualFileSystem.h
header.

The effort to build LLVM as a dylib is tracked in #109483.


  Commit: 7bf891b911830e8cabab28d055deb6396707b1e9
      https://github.com/llvm/llvm-project/commit/7bf891b911830e8cabab28d055deb6396707b1e9
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    M clang/test/CodeGen/builtin-clear-padding-codegen.c
    M clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp

  Log Message:
  -----------
  [Clang] Fix __builtin_clear_padding() for bitfields (#216063)

This patch fixes the padding clearing logic for bitfields.

The padding clearing logic for bitfields is wrong for these cases:

 - Over-sized bitfields don't have their padding bits recognised as
   such.
 - In big endian mode, the occupied bits are wrongly determined because
   the different byte order is dismissed.

A big number of new tests have also been added to cover many different
scenarios that involve bitfields. Preexisting tests had their check
patterns regenerated with the updater script.

Assisted-by: Codex. Used to help debugging and to generate tests.


  Commit: 2488b7a783547584217c65db44b67042a4ad0dde
      https://github.com/llvm/llvm-project/commit/2488b7a783547584217c65db44b67042a4ad0dde
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/arith-mulh.ll

  Log Message:
  -----------
  [CostModel][X86] Add vXi16/vXi32 costs for smulh/umulh intrinsics (#224342)

pmulhw/pmulhuw can be used directly for vXi16 types and pmuldq/pmuludq almost directly for vXi32 types


  Commit: 45a0b9a9676d1471f0d5c9ad128af6068f9a2844
      https://github.com/llvm/llvm-project/commit/45a0b9a9676d1471f0d5c9ad128af6068f9a2844
  Author: Aochang Liu <102237385+HelloWorldU at users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/SwiftCallingConv.cpp
    A clang/test/CodeGen/swiftcall-single-element-vector.c

  Log Message:
  -----------
  [clang] Handle single-element vectors in the Swift calling convention (#223961)

Single-element vectors hit an assertion before reaching the
target-specific Swift ABI checks, even though some targets support them.

Relax the element-count assertion and scalarize single-element vectors
when they are not legal for the target ABI.

Fixes #223871.

Assisted-by: OpenAI GPT-6


  Commit: 173a122185e206fec88c88fe8767c6e1618085dd
      https://github.com/llvm/llvm-project/commit/173a122185e206fec88c88fe8767c6e1618085dd
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h

  Log Message:
  -----------
  WebAssembly: Partially clean up subtarget construction (#224307)

There should be just one getSubtargetImpl(Function&) override like every
other target, but this is relying on the global subtarget. Remove the
argumentless form since it's unnecessary.
WebAssemblyCoalesceFeaturesAndStripAtomics doesn't really need to
construct a full new subtarget for its purpose and can directly take the global
subtarget feature bits. This pass is also doing quite a lot of other bad things,
like mutating the TargetMachine.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: f545ee781745eba47efe20d421c2e7e3d86a1c5e
      https://github.com/llvm/llvm-project/commit/f545ee781745eba47efe20d421c2e7e3d86a1c5e
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/EHScopeStack.h
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/test/CIR/CodeGen/attr-musttail.cpp
    A clang/test/CIR/IR/invalid-cleanup-scope-musttail.cir
    A clang/test/CIR/Transforms/flatten-cleanup-scope-musttail.cir

  Log Message:
  -----------
  [CIR] Implement musttail cleanup handling (#224169)

A musttail call can occur within a cleanup scope if (and only if) the
cleanup is a lifetime end marker or a stack restore. These can be safely
omitted by a direct return such as is needed for a tail call.

This change adds error checking to verify that only these cleanups are
on the EH stack when a musttail call is encountered and updates the CFG
flattening pass to add special handling that avoids routing musttail
call returns through the cleanup handler.

Assisted-by: Cursor / claude-opus-5


  Commit: 930aba6b7f14991cc28303f60456d06d5ec01d5f
      https://github.com/llvm/llvm-project/commit/930aba6b7f14991cc28303f60456d06d5ec01d5f
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/OpenACC/acc-loop-collapse-directive-between-loops.f90

  Log Message:
  -----------
  [flang][OpenACC] Attach a source location to the skipped-directive warning (#224348)

Follow-up to #223579.

Fix the source location of "compiler directive ignored: it appears
between loop levels of a collapsed or tiled loop nest" warning. Harden
`flang/test/Lower/OpenACC/acc-loop-collapse-directive-between-loops.f90`
test.

Assisted-by: AI


  Commit: 3bb1615ae2adc5eeb6ad397e7e3cb457b2cf3587
      https://github.com/llvm/llvm-project/commit/3bb1615ae2adc5eeb6ad397e7e3cb457b2cf3587
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    A clang/test/CIR/CodeGen/atomic-fn-nyi.c

  Log Message:
  -----------
  [CIR] Report errorNYI for function signatures involving atomic types (#221371)

CIR currently has no way to represent atomic types. In most cases this
has no meaningful effect, but it can lead to incorrect argument and
return type classification during calling convention lowering. This
change adds a diagnostic when we are processing function signatures with
atomic types.

Assisted-by: Cursor / Grok 4.6


  Commit: ed3018363f66f1004ba2d150f5ba8b3e55e26507
      https://github.com/llvm/llvm-project/commit/ed3018363f66f1004ba2d150f5ba8b3e55e26507
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  [VPlan] Drop unused arg from addReductionResultComputation (NFC). (#224320)

The RecipeBuilder parameter is not used, remove it.


  Commit: 45473e8c24eeab44b8805da229403084629a4e64
      https://github.com/llvm/llvm-project/commit/45473e8c24eeab44b8805da229403084629a4e64
  Author: 陈子昂 <2802328816 at qq.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    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:
  -----------
  [RISCV][P-ext] Support Packed Subvector Join (#224233)

This PR adds support for the Packed Subvector Join intrinsics:

- `__riscv_pjoin2_i8x8`
- `__riscv_pjoin2_u8x8`
- `__riscv_pjoin2_i16x4`
- `__riscv_pjoin2_u16x4`


  Commit: b0874d16f804216afa08a0b0faa314270967dd77
      https://github.com/llvm/llvm-project/commit/b0874d16f804216afa08a0b0faa314270967dd77
  Author: 陈子昂 <2802328816 at qq.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-integer.mir
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-parsing.td
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp

  Log Message:
  -----------
  [GlobalISel] Drop poison flags by default in combiners (#218306)

GlobalISel TableGen combiners were implicitly copying poison-generating
flags from the root instruction to newly-created instructions. This is
unsafe because the replacement instruction may not preserve the same
`nuw`/`nsw` guarantees.

Drop those flags by default for combiners, while keeping explicit
`MIFlags` preservation intact.

Fixes #210470


  Commit: 7e57486bf6f38b338565f0c9f5a7fcdc6aaad289
      https://github.com/llvm/llvm-project/commit/7e57486bf6f38b338565f0c9f5a7fcdc6aaad289
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/docs/LangRef.md
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    A llvm/test/CodeGen/AArch64/GlobalISel/speculative-load-intrinsic.ll
    A llvm/test/CodeGen/AArch64/can-load-speculatively.ll
    A llvm/test/CodeGen/AArch64/speculative-load-intrinsic-mmo.ll
    A llvm/test/CodeGen/AArch64/speculative-load-intrinsic.ll
    A llvm/test/CodeGen/PowerPC/speculative-load-intrinsic.ll
    A llvm/test/CodeGen/WebAssembly/speculative-load-intrinsic.ll
    A llvm/test/CodeGen/X86/can-load-speculatively.ll
    A llvm/test/CodeGen/X86/speculative-load-intrinsic.ll
    A llvm/test/Verifier/speculative-load.ll

  Log Message:
  -----------
  [IR] Provide intrinsics for speculative loads (#179642)

Introduce two new intrinsics to enable vectorization of loops with early
exits that have potentially faulting loads.

1. `@llvm.speculative.load` - perform a load that may access memory
beyond the allocated object. It must be used in combination with 
`@llvm.can.load.speculatively` to ensure the load is guaranteed to not
trap. The number of accessible bytes must be provided, either as IR value
or via an oracle function.

2. `@llvm.can.load.speculatively` - Returns true if it's safe to
speculatively load a given number of bytes from a pointer. The semantics
are target-dependent. On some targets, this may check that the access
does not cross page boundaries, or stricter checks for example on
AArch64 with MTE, which limits the access size to 16 bytes.

`@llvm.speculative.load` is lowered to a regular load in SelectionDAG
without MODereferenceable.

`@llvm.can.load.speculatively` is lowered to regular IR in PreISel
lowering, using a target-lowering hook. By default, it conservatively
expands to false.

These intrinsics should allow the loop vectorizer to vectorize
early-exit loops with potentially non-dereferenceable loads.

This has previously been discussed in
https://github.com/llvm/llvm-project/pull/120603 and is similar to
nikic's https://hackmd.io/@nikic/S1O4QWYZkx.

RFC on Discourse:
https://discourse.llvm.org/t/rfc-provide-intrinsics-for-speculative-loads/89692

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


  Commit: f873bf351c19c711451a80df6bea7c76f17727be
      https://github.com/llvm/llvm-project/commit/f873bf351c19c711451a80df6bea7c76f17727be
  Author: Yeoul Na <yeoul_na at apple.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/TypeBase.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/SemaBoundsSafety.cpp

  Log Message:
  -----------
  [BoundsSafety][NFC] Allow CountAttributedType's count to be filled in later (#223267)

Prepare CountAttributedType so its count expression can be supplied
after the node is created, which the new late-parsed counted_by
mechanism needs: the type is built when the attribute is seen, but its
argument isn't parsed until the enclosing record is complete.

- Drop the TrailingObjects coupled-decl storage in favour of an
ASTContext-allocated array held by the ArrayRef the base class already
has, so the decls can be attached after construction.
  - Add CountAttributedType::setCountExpr for in-place completion.
- Add ASTContext::getIncompleteCountAttributedType (count-less, not
uniqued) and completeCountAttributedType. Incomplete nodes are not
registered in ASTContext.Types until completed, so a node abandoned with
a null count is never reachable.

No functional change: getCountAttributedType still builds a
fully-formed, count-carrying type as before.

This is an adjusted direction from the previous attempt to create a
place holder type (LateParsedAttrType) and rebuild it once late parsing
is done (https://github.com/llvm/llvm-project/pull/212906) based on the
feedback from @cor3ntin
https://github.com/llvm/llvm-project/pull/212906#issuecomment-5532012528.

Creating a CountAttributedType in the first pass and filling in the
count expression in the second pass has a benefit that the types
(including the enclosing types) won't need to be reconstructed, allowing
to drop TreeTransform.


  Commit: f080b55f9a31e724faa0300b01785cbfd56be349
      https://github.com/llvm/llvm-project/commit/f080b55f9a31e724faa0300b01785cbfd56be349
  Author: Jeong Jihyeon <84846295+JihyeonJeong129 at users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/test/Transforms/InstSimplify/ConstProp/vecreduce.ll

  Log Message:
  -----------
  [ConstantFolding] Fold vector.partial.reduce.add constants (#212112)

This patch adds constant folding support for `llvm.vector.partial.reduce.add`.

The intrinsic leaves the grouping of input elements into result lanes
unspecified. This implementation uses the deterministic grouping
selected by
the generic lowering in `TargetLowering::expandPartialReduceMLA`: input
element `I` is accumulated into result lane `I % NumAccElts`.

Tests cover:
* Constant accumulator and input vectors
* Non-constant accumulator and input operands
* Poison and undef elements
* Different reduction ratios
* Negative values
* Integer wraparound

Fixes #211558


  Commit: 63225d3616be90ab15b97919ac12ae0ab052ac82
      https://github.com/llvm/llvm-project/commit/63225d3616be90ab15b97919ac12ae0ab052ac82
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libcxx/cmake/caches/Generic-llvm-libc.cmake

  Log Message:
  -----------
  [libcxx][libc] Update LLVM-libc/compiler-rt config (#224160)

The config libc++ uses to build with LLVM-libc uses compiler-rt, but
previously wasn't building the compiler-rt atomic library. This PR
updates the config to tell compiler-rt to build its atomic library.


  Commit: 22be12feddb115757247f202ee3e64b15a5d09d4
      https://github.com/llvm/llvm-project/commit/22be12feddb115757247f202ee3e64b15a5d09d4
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn

  Log Message:
  -----------
  [gn build] Port c5c167c7436f (#224365)


  Commit: 7dc56a75377416d63b6124f688c4cfeb039230ad
      https://github.com/llvm/llvm-project/commit/7dc56a75377416d63b6124f688c4cfeb039230ad
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 9e0686cca516 (#224364)


  Commit: edbba995861bc2920974ae87a20ba12b0ca79951
      https://github.com/llvm/llvm-project/commit/edbba995861bc2920974ae87a20ba12b0ca79951
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 3f9ca800da7b (#224363)


  Commit: 606f03938d7b28b2977649aa2f587647286cad75
      https://github.com/llvm/llvm-project/commit/606f03938d7b28b2977649aa2f587647286cad75
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libc/src/pwd/CMakeLists.txt
    M libc/src/pwd/pwd_utils.cpp
    M libc/test/src/pwd/CMakeLists.txt
    M libc/test/src/pwd/getpwent_test.cpp
    M libc/test/src/pwd/getpwnam_test.cpp
    M libc/test/src/pwd/getpwuid_test.cpp

  Log Message:
  -----------
  [libc] Read passwd records into a growable buffer (#224149)

Switch getpwent, getpwnam, and getpwuid to use DynamicBuffer so that
passwd records of arbitrary length are supported without fixed size
limits.

A single static DynamicBuffer and struct passwd are reused across
getpwent, getpwnam, and getpwuid per POSIX, and endpwent closes the file
stream without freeing the buffer so pointers returned prior to endpwent
remain valid.

The reentrant lookups (getpwnam_r and getpwuid_r) remain non-allocating
and return ERANGE when the caller's buffer is too small.

* Switch non-reentrant pwd lookups and iteration to DynamicBuffer
* Remove fixed 1024-byte buffer limit from pwd_utils
* Keep getpwnam_r and getpwuid_r non-allocating
* Update hermetic unit tests for long passwd records

Assisted-by: Automated tooling, human reviewed.


  Commit: 9bc655d2852ec31199f2dba25d6f0749953fbe51
      https://github.com/llvm/llvm-project/commit/9bc655d2852ec31199f2dba25d6f0749953fbe51
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/SourceLocation.h

  Log Message:
  -----------
  Mix bits in FileID::getHashValue() (#223794)

FileID's identity hash was fine under DenseMap's old quadratic probing,
but #200595 switched DenseMap to linear probing with backward-shift
deletion. FileID's bucket index under an identity hash is just its low
bits, so two runs of file IDs can map to the same buckets, which can
turn into a long clustered probe chain under linear probing.

Multiply by 37 to spread the low bits, which matches
SourceLocation::getHashValue(). This fixes a 2.6x compile-time
regression observed with -Wdocumentation on an ObjC++ file.

rdar://187026883

Co-authored-by: Fred Riss <friss at apple.com>


  Commit: c84a54889ddc83e55a87c08aa2d7d1921103a279
      https://github.com/llvm/llvm-project/commit/c84a54889ddc83e55a87c08aa2d7d1921103a279
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M .ci/all_requirements.txt
    M mlir/python/requirements.txt

  Log Message:
  -----------
  [CI] Bump python dependencies (#224349)

Otherwise when we try the upgrade to ubuntu 24.04 we end up rebuilding
some packages that have native artifacts that don't have prebuilt
packages on pypi for Python 3.14. This is slow and also causes issues as
some necessary features are not enabled like the CLoader submodule of
PyYAML.


  Commit: 6396f14184cb506420503e0a46fcf681fd91a90a
      https://github.com/llvm/llvm-project/commit/6396f14184cb506420503e0a46fcf681fd91a90a
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    A llvm/test/CodeGen/MLRegAlloc/aarch64-evict-advisor-duplicate-hints.ll
    M llvm/unittests/Target/AArch64/AArch64RegisterInfoTest.cpp

  Log Message:
  -----------
  [CodeGen][AArch64] Avoid duplicate hints in register allocation (#219007)

Duplicate register allocation hints cause AllocationOrder to yield
duplicate physical register candidates. For fixed-capacity eviction
advisors like MLEvictAdvisor (MaxInterferences = 32), this leads to
out-of-bounds array indexing and assertion failures.
    
In commit 0756e5985f0c, TargetRegisterInfo::getRegAllocationHints was
hoisted to the top of AArch64RegisterInfo::getRegAllocationHints, but
fallthrough paths invoked it a second time on an already-populated Hints
vector, duplicating copy hints for standard GPRs.
    
This patch:
1. Returns ConsiderOnlyHints on fallthrough in
  AArch64RegisterInfo::getRegAllocationHints instead of calling
  TargetRegisterInfo::getRegAllocationHints a second time.
2. In TargetRegisterInfo::getRegAllocationHints, deduplicates directly
    against Hints instead of using a transient local set.
3. Adds regression test coverage for AArch64 MLRegAlloc eviction
  advisor.

There are other issues lurking across LLVM where duplicate Hints are
created; it was decided in review of this PR to follow up with changing
the interface so that Hints is a SmallSetVector.
    
Assisted-by: Gemini
Fixes: 0756e5985f0c ("[AArch64] Hint regalloc to choose distinct
predicate for MATCH/CMP (#190139)")
Fixes: https://github.com/llvm/llvm-project/issues/193011


  Commit: ba1eae7c37e4fe65058f72d9b38685486562bf02
      https://github.com/llvm/llvm-project/commit/ba1eae7c37e4fe65058f72d9b38685486562bf02
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/i386/headers.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_group.h
    M libc/src/CMakeLists.txt
    A libc/src/grp/CMakeLists.txt
    A libc/src/grp/grp_utils.cpp
    A libc/src/grp/grp_utils.h
    M libc/test/src/CMakeLists.txt
    A libc/test/src/grp/CMakeLists.txt
    A libc/test/src/grp/grp_utils_test.cpp

  Log Message:
  -----------
  [libc] Add struct group header and group line parser (#224208)

Introduce the POSIX struct group header and grp_utils parser module for
colon-delimited group records.

Unlike struct passwd, struct group carries a null-terminated char**
member pointer array (gr_mem). parse_line<struct group> handles placing
the gr_mem pointer array into the aligned scratch span directly:
* Fixed-buffer callers (such as reentrant lookups) report ERANGE if the
provided scratch span cannot hold the member pointers.
* Growable DynamicBuffer callers grow the buffer when parse_line returns
ERANGE and retry before parsing in place.

* Add struct_group header in hdr/types/struct_group.h
* Expose libc.include.grp in Linux arm and i386 headers.txt
* Add grp_utils parser and database helpers in src/grp/
* Add unit tests in test/src/grp/grp_utils_test.cpp

Assisted-by: Automated tooling, human reviewed.


  Commit: 5678ca9a3c4fa73cbaa43c9f7e1d8a5841e9ac63
      https://github.com/llvm/llvm-project/commit/5678ca9a3c4fa73cbaa43c9f7e1d8a5841e9ac63
  Author: Andre Kuhlenschmidt <akuhlenschmi at nvidia.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M flang/lib/Evaluate/fold-integer.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/numeric_storage_size.f90
    A flang/test/Semantics/numeric_storage_size_only.f90

  Log Message:
  -----------
  [flang][semantics] Diagnose numeric storage size on use (#220779)

Only give a warning about NUMERIC_STORAGE_UNIT when it is actually used.
Prevents warnings about it's not well defined status from popping up
when it has been excluded from or is just imported by happenstance.


  Commit: e1723573be49942ba9c687e9c176f5d9d8751c60
      https://github.com/llvm/llvm-project/commit/e1723573be49942ba9c687e9c176f5d9d8751c60
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lldb/test/API/lang/objc/ivar-IMP/TestObjCiVarIMP.py
    M lldb/test/API/lang/objc/ptr_refs/TestPtrRefsObjC.py

  Log Message:
  -----------
  [LLDB] Simplify LLDB test launches with lldbutil (NFC) (#224175)


  Commit: a1eae51eb558f75be6b9497e68ee7937f8f34e8a
      https://github.com/llvm/llvm-project/commit/a1eae51eb558f75be6b9497e68ee7937f8f34e8a
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lldb/source/Target/AssertFrameRecognizer.cpp
    M lldb/test/Shell/Recognizer/assert.test

  Log Message:
  -----------
  [lldb][windows] add assert frame recognizer Windows (#224269)

This patch implements `AssertFrameRecognizer` on Windows.

Since the Windows C Runtime can be either statically or dynamically
linked, lldb can't match the module name to be able to support both.
Therefore, the matches on `abort` and `_wassert` do not check the name
of the module.

The `assert.test` test was also relaxed to check the Windows error
format (`Exception 0xc0000409`), since Windows surfaces `__fastfail` as
a `STATUS_STACK_BUFFER_OVERRUN` exception rather than a POSIX signal.

rdar://175328961

---

This relands https://github.com/llvm/llvm-project/pull/197282, reverted
in https://github.com/llvm/llvm-project/pull/198263 for two buildbot
failures.

1. **lldb-x86_64-win** failed with `0xC0000005` in `frame recognizer
list` (`commands/frame/recognizer/TestFrameRecognizer.py`,
`test_frame_recognizer_target_specific`). This is due to a call to
`strlen(nullptr)` which is fixed by
https://github.com/llvm/llvm-project/pull/222810.

2. **lldb-remote-linux-win** started running `Recognizer`/`assert.test`
and failed with `"stop reason = signal SIGABRT"` where the test expects
`"hit program assert"`. That bot debugs a remote Linux target from a
Windows host: system-linux is a host feature, so the known-broken Linux
target (llvm.org/pr56144) was not skipped. Add remote-linux to the
UNSUPPORTED list.


  Commit: 67e01400350952684e597c716b2df75b56aa986a
      https://github.com/llvm/llvm-project/commit/67e01400350952684e597c716b2df75b56aa986a
  Author: DylanFleming-arm <85629460+DylanFleming-arm at users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libc/test/src/mathvec/CMakeLists.txt
    M libc/test/src/mathvec/sinf_test.cpp

  Log Message:
  -----------
  [libc][mathvec] Fix sinf unit test failures (#224339)

Since mathvec compares directly to the scalar math result, and scalar
sinf has a specific LIBC_MATH_HAS_INTERMEDIATE_COMP_IN_FLOAT
implementation. Mathvec unit tests fail when that flag is set, as there
is currently no mathvec equivalent.

This patch disables the sinf unit tests when the
LIBC_MATH_HAS_INTERMEDIATE_COMP_IN_FLOAT flag is set until such
implementation is created.


  Commit: 903cf7272faf4cf2de44a4a8c33c38a1c15fb50d
      https://github.com/llvm/llvm-project/commit/903cf7272faf4cf2de44a4a8c33c38a1c15fb50d
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/imag-lvalue-with-non-complex-operand.cpp

  Log Message:
  -----------
  [Clang][Sema] Improve diagnostic when using imag with non complex as lvalue (#223510)

Improve the Clang diagnostic when the unary `__imag` operator with a
non-complex type operand is used as an lvalue

Issue #222383


  Commit: 4313ead351f403e3469c417338c4101df23a6fa9
      https://github.com/llvm/llvm-project/commit/4313ead351f403e3469c417338c4101df23a6fa9
  Author: Twice <twice at apache.org>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M mlir/python/mlir/dialects/ext.py
    M mlir/test/python/dialects/ext.py

  Log Message:
  -----------
  [MLIR][Python] Support bare Operand and Result annotations (#220216)

Operation definitions currently need to spell unconstrained operands and
results as `Operand[Any]` and `Result[Any]`. Since `Any` is the natural
default when no type constraint is intended, this is unnecessarily
verbose and may require importing `Any` solely for these annotations.

This change allows bare `Operand` and `Result` annotations as a simpler
equivalent spelling.

Previously:

```python
from typing import Any

class MyOp(MyDialect.Operation, name="my_op"):
    lhs: Operand[Any]
    rhs: Operand[Any]
    res: Result[Any]
```

This can now be written as:

```python
class MyOp(MyDialect.Operation, name="my_op"):
    lhs: Operand
    rhs: Operand
    res: Result
```

The existing `Operand[Any]` and `Result[Any]` spellings remain
supported.

Assited-by: Codex/GPT 5.6 Sol


  Commit: fa406bab51ae60520238e555eaee51dc71fb5a76
      https://github.com/llvm/llvm-project/commit/fa406bab51ae60520238e555eaee51dc71fb5a76
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanEVLTailFolding.cpp
    M llvm/lib/Transforms/Vectorize/VPlanLowering.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp

  Log Message:
  -----------
  [VPlan] Use make_isa_range instead of dyn_cast/continue (NFC) (#222770)

Simplify loops using dyn_cast + early continue using make_isa_range,
added in https://github.com/llvm/llvm-project/pull/223414.

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


  Commit: 6d1d34cfb6dba451912371f6ba41d759d77bdf7c
      https://github.com/llvm/llvm-project/commit/6d1d34cfb6dba451912371f6ba41d759d77bdf7c
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/test/Analysis/Scalable/source-edit-generation/cpp-bounded-buffers-replacements.cpp
    M clang/test/Analysis/Scalable/source-edit-generation/multi-tu-edits-merge.cpp

  Log Message:
  -----------
  [SSAF] Mark two failing tests as unsupported (#223976)

As a developer of the clang static analyzer, I'm using the build target
`check-clang-analysis` [1] to build and test my changes.

This workflow was recently broken by two new SSAF testcases under
`Analysis/Scalable` that fail on my machine (where I don't build any
SSAF-specific targets and perhaps don't have some SSAF-specific tools).
In both of these tests a `clang-apply-replacements` RUN line fails with
`clang-apply-replacements: symbol lookup error:
clang-apply-replacements: undefined symbol:
_ZN4llvm2cl6OptionC2ENS0_18NumOccurrencesFlagENS0_12OptionHidden`

These two files were added by 77a6638e4f61e1827001cce202d8f785815a341b
and 4b08871f7ffe6ad818147145f8b6103e6c9b2c95.

In this commit I'm marking these two files as unsupported, because I'm
not familiar with SSAF and don't have the capacity to troubleshoot them.
(I'm not using XFAIL because they are presumably passing on some other
machines.)

[1] Before the introduction of SSAF and `Analysis/Scalable`, this target
only invoked tests for the clang static analyzer. See also:
https://discourse.llvm.org/t/taking-ownership-of-clang-test-analysis/84689

-------
I already mentioned this issue on the PR that has (re-)added one of the
failing test files [in a github
comment](https://github.com/llvm/llvm-project/pull/220124#issuecomment-5527847470)
but it was probably overlooked among the many github notifications.


  Commit: 4569873831550f6d66088ce036336323527397f6
      https://github.com/llvm/llvm-project/commit/4569873831550f6d66088ce036336323527397f6
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/Lowering/eh-inflight.cir
    R clang/test/CIR/Transforms/eh-abi-lowering-eh-spec-nyi.cir
    A clang/test/CIR/Transforms/eh-abi-lowering-eh-spec.cir

  Log Message:
  -----------
  [CIR][EH] Implement EH ABI lowering for dynamic exception specification (#223862)

This change implements EH ABI lowering for Itanium targets for the CIR
constructs used to represent dynamic exception specifications. This also
includes minor changes to lower new forms of the
cir.eh.inflight_exception operation to the LLVM dialect.

Code generation support for dynamic exception specification and tests
for complete lowering of generated CIR to LLVM IR will be added in a
follow-up change.

Assisted-by: Cursor / various models


  Commit: e863ca8c67b6ff40c342245738ed5c9eb7687b53
      https://github.com/llvm/llvm-project/commit/e863ca8c67b6ff40c342245738ed5c9eb7687b53
  Author: hidekisaito <hidekido at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/coexec-sched-flavor-classification.mir

  Log Message:
  -----------
  [AMDGPU] Model GFX1250 VALU blocking cycles (#222483)

Some gfx1250 VALU instructions block the VALU pipe for N cycles, and the
CoExec scheduler must model that occupancy. The existing SchedModel
cannot represent this given current modelling constraints (see #202775).

Attach GFX1250BlockingCycles to the VOP instruction definitions and emit
a searchable table so SIInstrInfo::getBlockingCycles() can report the
occupancy. CoExec uses that to classify multi-cycle VALU and to account
for blocking when computing HWUI cycles.

As part of this change, VOPC_Pseudo now inherits from VOP_Pseudo.

Main Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>


  Commit: a3d4579b451804383c49789f963b51631d4b38c7
      https://github.com/llvm/llvm-project/commit/a3d4579b451804383c49789f963b51631d4b38c7
  Author: Yihan Wang <yronglin777 at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/ast-dump-default-init.cpp
    M clang/test/AST/ast-dump-recovery.cpp
    M clang/test/Analysis/lifetime-extended-regions.cpp
    A clang/test/CodeGenCXX/aggregate-default-member-initializers.cpp
    A clang/test/SemaCXX/aggregate-default-member-initializers.cpp
    M clang/test/SemaCXX/cxx2c-placeholder-vars.cpp
    M clang/unittests/AST/ASTExprTest.cpp

  Log Message:
  -----------
  [clang][Sema] Separate aggregate default member initializer evaluation (#219288)

A default member initializer used by a constructor is a separate
full-expression, while one used during aggregate initialization belongs
to the full-expression containing the aggregate initialization.

This patch split the two building paths so aggregate initialization
rebuilds the initializer in the surrounding evaluation context.

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

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: e78fdeba3f9a784ceb0b198140fdc792a0b55845
      https://github.com/llvm/llvm-project/commit/e78fdeba3f9a784ceb0b198140fdc792a0b55845
  Author: gulfemsavrun <gulfem at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/driver/cc1gen_reproducer_main.cpp
    M clang/tools/driver/driver.cpp
    M lld/tools/lld/lld.cpp
    M llvm/cmake/modules/llvm-driver-template.cpp.in
    R llvm/include/llvm/Support/Driver.h
    A llvm/include/llvm/Support/LLVMDriver.h
    M llvm/lib/Support/CMakeLists.txt
    R llvm/lib/Support/Driver.cpp
    R llvm/test/tools/llvm-driver/session-dispatch.test
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llvm-ar/llvm-ar.cpp
    M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
    M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
    M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
    M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
    M llvm/tools/llvm-driver/llvm-driver.cpp
    M llvm/tools/llvm-dwp/llvm-dwp.cpp
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/tools/llvm-ifs/llvm-ifs.cpp
    M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
    M llvm/tools/llvm-lipo/llvm-lipo.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp
    M llvm/tools/llvm-mt/llvm-mt.cpp
    M llvm/tools/llvm-nm/llvm-nm.cpp
    M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-rc/llvm-rc.cpp
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
    M llvm/tools/llvm-size/llvm-size.cpp
    M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
    M llvm/tools/sancov/sancov.cpp
    M llvm/unittests/Support/CMakeLists.txt
    R llvm/unittests/Support/LLVMToolSession/CMakeLists.txt
    R llvm/unittests/Support/LLVMToolSession/LLVMToolSessionTest.cpp

  Log Message:
  -----------
  Revert "[Support] Add ToolSession for in-process tool invocation" (#224368)

Reverts llvm/llvm-project#221996 because it broke Clang driver tests.
1)
https://ci.chromium.org/ui/p/fuchsia/builders/toolchain.ci/clang-host-linux-x64/b8670408702265017009/overview
2)
https://ci.chromium.org/ui/p/fuchsia/builders/toolchain.ci/clang-mac-arm64/b8670408421098418625/overview


  Commit: d230798c345ac225591f7bed53204f4ba5206539
      https://github.com/llvm/llvm-project/commit/d230798c345ac225591f7bed53204f4ba5206539
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    A lldb/test/Shell/SymbolFile/DWARF/self-referential-specification.yaml
    M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp

  Log Message:
  -----------
  [lldb] Detect cycles when following DIE references (#223912)

A DW_TAG_subprogram whose DW_AT_specification points at its own offset
causes both GetDIENamesAndRanges and GetDeclContextDIEContainingDIE to
keep recursing

Track the DIEs already visited, the way the sibling GetAttributes helper
does. GetDIENamesAndRanges also moves to a worklist so a long chain of
distinct specifications no longer costs a stack frame per DIE.

rdar://186891786


  Commit: 123d223e8518f82684e524bf1d86b3b548328214
      https://github.com/llvm/llvm-project/commit/123d223e8518f82684e524bf1d86b3b548328214
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Core/Section.h
    M lldb/source/Core/Section.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp
    M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/ObjectFile/JSON/ObjectFileJSON.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/source/Plugins/ObjectFile/Placeholder/ObjectFilePlaceholder.cpp
    M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
    M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
    M lldb/unittests/Symbol/JSONSymbolTest.cpp
    M lldb/unittests/Symbol/SymbolTest.cpp

  Log Message:
  -----------
  Remove ConstString from Section (#224170)

Section names do benefit from deduplication, but most are small enough
to fit into a std::string without an allocation (i.e. SSO). We trade a
small amount of memory to avoid the cost of a ConstString
lookup/creation.


  Commit: eb500b673762037f0ab3229101aa5d6cca95a1ff
      https://github.com/llvm/llvm-project/commit/eb500b673762037f0ab3229101aa5d6cca95a1ff
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  [Github] Disable AArch64 Premerge (#224367)

Disable AArch64 Premerge for now as the AWS credit renewal has not come
in yet and the foundation is currently paying for this out of pocket. We
have new AArch64 coverage now from MacOS.

Discussed in the infrastructure area team meeting 9/17/26.


  Commit: d4a85ae704015e5df7b607e2accfb4826fb31171
      https://github.com/llvm/llvm-project/commit/d4a85ae704015e5df7b607e2accfb4826fb31171
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang-tools-extra/Maintainers.md
    M clang-tools-extra/clang-tidy/add_new_check.py
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/docs/_static/clang-tools-extra-styles.css
    M clang-tools-extra/docs/clang-change-namespace.md
    M clang-tools-extra/docs/clang-doc.md
    M clang-tools-extra/docs/clang-include-fixer.md
    M clang-tools-extra/docs/clang-reorder-fields.md
    M clang-tools-extra/docs/clang-tidy/checks/list.md
    M clang-tools-extra/docs/clang-tidy/index.rst
    M clang-tools-extra/docs/conf.py
    M clang-tools-extra/docs/pp-trace.md
    M utils/docs/llvm_sphinx/ext/furo.py
    A utils/docs/remove_page_tocs.py

  Log Message:
  -----------
  [clang-tools-extra][docs] Use Furo theme to match clang (#222196)

Adopt the shared Furo configuration for the clang-tools-extra
documentation.

I forgot to commit the `utils/docs/remove_page_tocs.py` helper script
that I used to scrub the TOCs, so I included it in this PR. We can
remove the script later. Anyway, I used it in this PR to remove the TOCs
from clang-tools-extra.

I also ported over the CSS viewport width rules from Clang, but I'm
keeping them separate between all the doc projects that use furo now
(llvm, libc, clang, clang-tools-extra) since different projects have
made different choices.

Clang Furo PR: https://github.com/llvm/llvm-project/pull/214869
RFC:
https://discourse.llvm.org/t/rfc-use-furo-theme-for-clang-docs/91505/7
Preview:
https://clangdocs.staging.reidkleckner.dev/after/clang-tools-extra/docs/


  Commit: ef1330915be676b84e2afcb714b470f763ce97d8
      https://github.com/llvm/llvm-project/commit/ef1330915be676b84e2afcb714b470f763ce97d8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-metadata.ll

  Log Message:
  -----------
  [VPlan] Keep a recipe's metadata when converting it to a single scalar. (#224359)

If metadata applies to each lane, it also trivially applies when
narrowing an operation to just a single lane. Preserve metadata when
narrowing to single-scalar.


  Commit: 9fc5ec3df34d3c6c600845aa246e7bf07764fc57
      https://github.com/llvm/llvm-project/commit/9fc5ec3df34d3c6c600845aa246e7bf07764fc57
  Author: Kamlesh Kumar <kamlesh.kumar at arm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/avoid-ld4.ll
    M llvm/test/CodeGen/AArch64/vector-deinterleave-load.ll

  Log Message:
  -----------
  [AArch64] Support lowering of wider interleaved load (#222998)

After type legalization wider interleaved load gets spllitted into
legal chunked load, perform a dag combine to turn it into interleaved
load if chunked load is contiguous and operand to vector_deinterleave.


  Commit: 10a37743cd3b5a15f800e16d4f8cf34a9e9f1c46
      https://github.com/llvm/llvm-project/commit/10a37743cd3b5a15f800e16d4f8cf34a9e9f1c46
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp
    M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
    M llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp
    M llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp

  Log Message:
  -----------
  tools: Compute the module DataLayout from the triple, not the TargetMachine (#224259)

TargetMachine::createDataLayout is an unreliable cache given the
existence of module flags which change the datalayout, so this should be removed.
Migrate tool users to directly compute the datalayout.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: ef762d75e62ce06378fdfaa8a61ea2af150e6428
      https://github.com/llvm/llvm-project/commit/ef762d75e62ce06378fdfaa8a61ea2af150e6428
  Author: Akhil Goel <akhil.goel at intel.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td

  Log Message:
  -----------
  [SPIR-V] Correct predicated load/store opcode values (#220062)

This PR fixes the `SPV_INTEL_predicated_io` extension instruction
opcodes to match the SPIR-V header definitions.


  Commit: aba79e62699d157a36bb95b3ac5eabb4f8b48e29
      https://github.com/llvm/llvm-project/commit/aba79e62699d157a36bb95b3ac5eabb4f8b48e29
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    A flang/test/Lower/OpenMP/use-device-addr-performance.f90
    M offload/include/omptarget.h
    M offload/libomptarget/exports
    M offload/libomptarget/interface.cpp
    A offload/test/offloading/fortran/target-use-device-addr-opt.f90

  Log Message:
  -----------
  [Flang][OpenMP] Improve use_device_addr code generation (#221265)

Currently, the `use_device_addr` implementation reuses the standard
mapping mechanism, which is suboptimal for code like:

```
SUBROUTINE device_addr_func(x)
    INTEGER, TARGET, INTENT(IN)    :: x(:)
    !$omp target data use_device_addr (x)
        CALL bar_offload(c_loc(x))
```

For such code, Flang maps the temporary descriptor for the x array to
the GPU. This unnecessary mapping is time-consuming and can be a large
bottleneck for Fortran-to-C function wrappers that use `use_device_addr`
to pass a C pointer for offload code.

For `use_device_addr`, we only need to update the base address in the
descriptor that is used inside `use_device_addr`. This is cheaper than
mapping the whole descriptor to the GPU.

Scope of changes:

1) Modified mapping for the use_device_addr clause. Map only the
descriptor and do not check whether it is present on the GPU.
2) Generated a copy of the host descriptor with an updated base address
   for the use_device_addr code region.

---------

Signed-off-by: Dominik Adamski <dominik.adamski at amd.com>


  Commit: e5801a2762497161e23e978ee13fd0698ae25a2f
      https://github.com/llvm/llvm-project/commit/e5801a2762497161e23e978ee13fd0698ae25a2f
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/SourceLocation.h

  Log Message:
  -----------
  Revert "Mix bits in FileID::getHashValue() (#223794)" (#224394)

This reverts commit 9bc655d2852ec31199f2dba25d6f0749953fbe51.

It broke a couple of tests in clang/test/Analysis/html_diagnostics.


  Commit: 2e055b8de1a1b08d2a2523673e2dc3df143ccf2f
      https://github.com/llvm/llvm-project/commit/2e055b8de1a1b08d2a2523673e2dc3df143ccf2f
  Author: Weiwei C <weiwei.chen at modular.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
    A llvm/test/CodeGen/Hexagon/hmx-attr-inline-compat.ll
    A llvm/test/CodeGen/Hexagon/hmx-attr-no-autohvx.ll

  Log Message:
  -----------
  [hexagon] Add `hexagon_hmx` function attribute. (#222340)

- [x] Add `hexagon_hmx` function attribute to be used to annotate hmx
functions.
- [x] Add logic to prevent hmx functions being inlined into hvx
functions to avoid unintended accidental vectorization.


  Commit: 24f753696202a3598d094da38809b1f5208d918f
      https://github.com/llvm/llvm-project/commit/24f753696202a3598d094da38809b1f5208d918f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M .github/workflows/libcxx-benchmark-commit.yml
    M .github/workflows/libcxx-pr-benchmark.yml
    M libcxx/utils/ci/lnt/machines.json

  Log Message:
  -----------
  [libc++] Automatically detect the OS in benchmark jobs (#224386)

This simplifies the machines.json definition: we don't have to
explicitly say what OS we're running on, the job just figures it out.


  Commit: 98039dad349cd3f40b0d39bf436f2b0159ba021c
      https://github.com/llvm/llvm-project/commit/98039dad349cd3f40b0d39bf436f2b0159ba021c
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libcxx/cmake/config-ix.cmake

  Log Message:
  -----------
  [libcxx][libc] Update LLVM-libc link list (#224164)

LLVM-libc provides all the libc functions in `libc.a` and `libm.a`, so
this PR adds the configuration flags that prevent linking
`libpthread.a` and `librt.a` (inside `libc.a`) and `libatomic.a` (inside
compiler-rt).

Assisted-by: Automated tooling, human reviewed.


  Commit: 9b36b09a5b1097e0e0f75d37fe1b8474e916a802
      https://github.com/llvm/llvm-project/commit/9b36b09a5b1097e0e0f75d37fe1b8474e916a802
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-drop-schedule.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-trim-revert-cost.ll

  Log Message:
  -----------
  [SLP][NFC]Add extra tests with missing vectorization, NFC



Reviewers: 

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


  Commit: e710c538b902a65c54f31dd7526eef85a61b0b82
      https://github.com/llvm/llvm-project/commit/e710c538b902a65c54f31dd7526eef85a61b0b82
  Author: DeanSturtevant1 <dsturtevant at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  Revert "[libc][bazel] Expose public inline memory headers and generic/builtin.h in string_memory_utils" (#224406)

Reverts llvm/llvm-project#223439

It was not needed, since the issue it was addressing was fixed by
https://github.com/llvm/llvm-project/commit/ecb96165dc0f95cb81267e1178f7e60a4ab7faa6.

And it was not the right fix.


  Commit: 09c4f1cff36f70684702934ac9700cc53b17d1da
      https://github.com/llvm/llvm-project/commit/09c4f1cff36f70684702934ac9700cc53b17d1da
  Author: neildhar <neildhar at users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
    M llvm/test/Transforms/InstCombine/NVPTX/nvvm-intrins.ll

  Log Message:
  -----------
  [NVPTX] Fold abs into redux intrinsics (#220733)

Fold llvm.fabs into the absolute-value variants of floating-point redux
min/max intrinsics during InstCombine.


  Commit: 08c03a56ce83363088332eb8e1d0cf61b368c877
      https://github.com/llvm/llvm-project/commit/08c03a56ce83363088332eb8e1d0cf61b368c877
  Author: neildhar <neildhar at users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/NVPTX/fmax3.ll

  Log Message:
  -----------
  [NVPTX] Fuse abs into min/max (#220445)

PTX supports a fused abs + min/max, emit that so we don't need to rely
on ptxas to do the fusion.


  Commit: 2f3917f3be099ca83294ecc3f8c78460a7688808
      https://github.com/llvm/llvm-project/commit/2f3917f3be099ca83294ecc3f8c78460a7688808
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libcxx/utils/ci/lnt/run-benchmarks
    M libcxx/utils/test-at-commit

  Log Message:
  -----------
  [libc++] Include some Lit features in LNT submissions (#218043)

The Lit test suite already sniffs out some properties of the library
configuration we are testing / benchmarking. This patch augments the
run-benchmarks script to pick up a few of these detected features so
they can be included in the Machine information contained in
submissions.

This is important to help pin down exactly what is being benchmarked.


  Commit: 16a9145bc71502f988674cddfbf61e6d4da79916
      https://github.com/llvm/llvm-project/commit/16a9145bc71502f988674cddfbf61e6d4da79916
  Author: Aman Maurya <amanmaurya9209 at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/test/AST/ByteCode/records.cpp
    M clang/test/SemaCXX/aggregate-default-member-initializers.cpp

  Log Message:
  -----------
  [clang][test] Update ByteCode test expectations after #219288 (#224389)

### Summary
Fixes CI test failures introduced in #219288:
- In `clang/test/AST/ByteCode/records.cpp`, resolves the existing
`FIXME: See #85601` by updating `static_assert(discarded() == 1)` to
`static_assert(discarded() == 0)` now that temporary destruction timing
in aggregate default member initialization is fixed.
- In `clang/test/SemaCXX/aggregate-default-member-initializers.cpp`,
removes outdated `bytecode-error` and `bytecode-note` annotations in the
`lifetime` namespace that caused `-verify` failures ("diagnostics
expected but not seen") under `-fexperimental-new-constant-interpreter`.

Fixes build breakages on `main` affecting pre-merge CI across subsequent
PRs.

Cc: @yronglin


  Commit: 367adb1b93018af34e3053a7cfd790152bfb27b3
      https://github.com/llvm/llvm-project/commit/367adb1b93018af34e3053a7cfd790152bfb27b3
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libcxx/utils/libcxx/test/features/misc.py

  Log Message:
  -----------
  [libcxx] Update libatomic check (#224162)

This PR is a proper fix for the libatomic workaround. The old system
just checked if adding `-latomic` succeeded, and added it if it worked.
After this change it checks if an example program works without
`-latomic` as well as with `-latomic`. It adds the flag only if the test
passes with `-latomic` and not without.

In short: the new version only adds `-latomic` if it's necessary.

Assisted-by: Automated tooling, human reviews.


  Commit: 28660ab59038ffa169d598d9c567a6ad26de1972
      https://github.com/llvm/llvm-project/commit/28660ab59038ffa169d598d9c567a6ad26de1972
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  [VPlan] Remove dead packScalarIntoVectorizedValue (NFC). (#224391)

packScalarIntoVectorizedValue has no callers. Remove the dead function.


  Commit: d8efed58ca9e324915f80c77524855d40a65d0c7
      https://github.com/llvm/llvm-project/commit/d8efed58ca9e324915f80c77524855d40a65d0c7
  Author: Jiaxun Yang <jiaxun.yang at flygoat.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
    R llvm/test/ExecutionEngine/OrcLazy/emulated-tls.ll
    A llvm/test/ExecutionEngine/OrcLazy/tls.ll
    M llvm/tools/lli/lli.cpp

  Log Message:
  -----------
  [lli] Honor explicit emulated TLS option in ORC mode (#217554)

JITTargetMachineBuilder enables emulated TLS by default, but lli's ORC
path did not forward the existing -emulated-tls option. Consequently,
explicitly passing -emulated-tls=false still produced emulated-TLS
accesses.

Forward an explicitly specified value into the ORC JIT target-machine
options. Leave the builder default unchanged when the command-line
option is omitted.

Extend the existing OrcLazy emulated-TLS test with the false case,
verifying that native lowering is selected instead of
__emutls_get_address.

Rename emulated-tls.ll to tls.ll, and add a TODO to replace the
error-based checks with successful TLS execution tests using the new ORC
runtime.


  Commit: d093631e8ea2e7c9c0c7d866ba6cc62b742d6467
      https://github.com/llvm/llvm-project/commit/d093631e8ea2e7c9c0c7d866ba6cc62b742d6467
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/test/CodeGen/AArch64/aarch64-signedreturnaddress.ll
    M llvm/test/CodeGen/AArch64/ptrauth-tail-call-stackadjust.ll
    M llvm/test/CodeGen/AArch64/sign-return-address-pauthlr-slh.ll
    M llvm/test/CodeGen/AArch64/swifttail-ptrauth.ll

  Log Message:
  -----------
  [AArch64][PAC] Don't move sp adjustments to form better epilogue AUTs (#221009)

This has proven to be pretty fragile, and generally unsound. Instead, we
should treat the location of the PAUTH_EPILOGUE as _the_ location of the
AUT, and accept whatever that means in terms of the codegen we have to
emit for that pseudo at the time we emit it.


  Commit: 877ee5fbc2ee7c9e3cae19428397ac917dc63e7e
      https://github.com/llvm/llvm-project/commit/877ee5fbc2ee7c9e3cae19428397ac917dc63e7e
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/test/CodeGen/DirectX/RawBufferStoreDouble.ll
    A llvm/test/CodeGen/DirectX/ResourceAccess/store-rawbuffer-wide-double.ll

  Log Message:
  -----------
  [DirectX] Fix DXIL expansion of 64-bit ByteAddressBuffer stores (#224136)

Fixes #223558

In llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp we were not doing
Create add with the byte index offsets because were were looking at the
wrong argument.

- Fixes DXIL expansion of 64-bit ByteAddressBuffer stores by advancing
the byte index instead of the poison offset.
- Adds regression coverage for wide double stores with offsets confirmed
as 0, 16, 32, 48.


  Commit: c60745d126c6d521f76e1a6d81a732d53f4b5ad2
      https://github.com/llvm/llvm-project/commit/c60745d126c6d521f76e1a6d81a732d53f4b5ad2
  Author: Shimin Cui <scui at ca.ibm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Object/GOFFObjectFile.cpp

  Log Message:
  -----------
  [GOFFObjectFile] replace snprintf with formatv (#224435)

Use formatv instead of snprintf


  Commit: cd024334327520d4cdf2116f89bb38a02b3a128c
      https://github.com/llvm/llvm-project/commit/cd024334327520d4cdf2116f89bb38a02b3a128c
  Author: SiHuaN <liyongtai at iscas.ac.cn>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  [RISCV] Add OPERAND_UIMM4_PLUS1 to RISCVInstrInfo::verifyInstruction (#224423)


  Commit: 697570d3ca9f99cc30662fc80fd0beb1b715e478
      https://github.com/llvm/llvm-project/commit/697570d3ca9f99cc30662fc80fd0beb1b715e478
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M .github/workflows/containers/github-action-ci-tooling/Dockerfile
    M llvm/utils/git/requirements_linting.txt

  Log Message:
  -----------
  [Github] Bump tooling containers to 26.04 (#224052)

Mainly to pull in a new CMake version.


  Commit: 3d88c0ebbb97d3a6acbc7d5feae608ca42c612ea
      https://github.com/llvm/llvm-project/commit/3d88c0ebbb97d3a6acbc7d5feae608ca42c612ea
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lldb/examples/python/formatter_bytecode.py
    M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterC.txt
    M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterSwift.txt

  Log Message:
  -----------
  [lldb] Add APSInt literal support to formatter_bytecode.py (#223805)

Follow up to #220665.


  Commit: a883d1050d8ed2324bc948ef7effc4393e935f3e
      https://github.com/llvm/llvm-project/commit/a883d1050d8ed2324bc948ef7effc4393e935f3e
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Object/GOFFObjectFile.cpp

  Log Message:
  -----------
  [GOFF] Add missing include (#224441)

Caused by #224435


  Commit: 40762f3830da76955dce975084b63b7bff884288
      https://github.com/llvm/llvm-project/commit/40762f3830da76955dce975084b63b7bff884288
  Author: Shimin Cui <scui at ca.ibm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Object/GOFFObjectFile.cpp

  Log Message:
  -----------
  Revert "[GOFFObjectFile] replace snprintf with formatv (#224435)" (#224444)

This reverts commit c60745d126c6d521f76e1a6d81a732d53f4b5ad2.


  Commit: 65d1a5cadd5b6b2b2f0904fce85ce14c17d3023b
      https://github.com/llvm/llvm-project/commit/65d1a5cadd5b6b2b2f0904fce85ce14c17d3023b
  Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCUtils.cpp
    A flang/test/Transforms/OpenACC/acc-implicit-routine.fir
    M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitRoutine.cpp
    M mlir/test/Dialect/OpenACC/acc-implicit-routine.mlir

  Log Message:
  -----------
  [mlir][OpenACC] Error on external calls without acc routine info (#223815)

Implicit routine can only be applied to procedures defined in the
current compilation unit. Diagnose external callees in compute regions
and existing routines, and treat Fortran intrinsics and `BIND(C)`
procedures as valid device symbols.


  Commit: 797dfd05b0785678235d31cfae91ecf3186747f6
      https://github.com/llvm/llvm-project/commit/797dfd05b0785678235d31cfae91ecf3186747f6
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
    M llvm/test/Transforms/SLPVectorizer/RISCV/check-node-without-vector-user.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/folded-broadcast-cost.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/remark-zext-incoming-for-neg-icmp.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reordered-buildvector-scalars.ll

  Log Message:
  -----------
  Revert "[SLP] More accurately cost RISCV scalar splats" (#224426)

Reverts llvm/llvm-project#213104


  Commit: 899c2614d4635b4826a85d41b02860f2b737861d
      https://github.com/llvm/llvm-project/commit/899c2614d4635b4826a85d41b02860f2b737861d
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M .github/workflows/build-ci-container-tooling.yml

  Log Message:
  -----------
  [Github] Rename CI Tooling Containers to 26.04 (#224447)

697570d3ca9f99cc30662fc80fd0beb1b715e478 made them actually use Ubuntu
26.04, but I forgot to rename them. Do that in this commit. Everything
is hash pinned so nothing should break even if there are real issues.


  Commit: c3bfaa8118a04b41aacd5f39d7cf209957532b62
      https://github.com/llvm/llvm-project/commit/c3bfaa8118a04b41aacd5f39d7cf209957532b62
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp

  Log Message:
  -----------
  [ConstraintElim] Move helper to create constraint row (NFC) (#224417)

Move logic to grate a new row for the constraint system to helper, to
more clearly separate logic, and allow re-use in follow-ups.

This includes minor code reodering in the moved logic.


  Commit: 870d762546ee5c602c7bd0ef6f5d83c6339069a1
      https://github.com/llvm/llvm-project/commit/870d762546ee5c602c7bd0ef6f5d83c6339069a1
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp

  Log Message:
  -----------
  [webkit.UncountedLambdaCapturesChecker] NOESCAPE is ignored in a template function (#223942)

RawPtrRefLambdaCapturesChecker only consults NOESCAPE when it can find a
FunctionDecl for a call. Because a lambda argument is type-dependent, a
call taking one inside a template is dependent, and its callee is often
still unresolved in the template pattern: an UnresolvedLookupExpr for an
unqualified call or a call to a function template, an
UnresolvedMemberExpr for an overloaded member function or a member
function template, and a CXXDependentScopeMemberExpr for a member of a
dependent object. checkParameters never ran for those, so a lambda was
reported even when the parameter it's passed to is annotated with
NOESCAPE. The same happened for a lambda passed to a constructor which
isn't resolved until the instantiation, which appears as a
CXXUnresolvedConstructExpr or as a dependent ParenListExpr /
InitListExpr.

Whether such a lambda can escape isn't known before the enclosing
template is instantiated, so ignore these lambdas and let the
instantiation check them, matching what RetainPtrCtorAdoptChecker
already does. A lambda in a template which is never instantiated is
never used, so not checking it is fine.

Waiting for the instantiation also requires traversing the
instantiations of a generic lambda's call operator.
RecursiveASTVisitor::TraverseLambdaExpr only traverses the lambda's
body, which is a template pattern for a generic lambda, so those
instantiations were never visited and the calls in them were never
resolved. Traverse the body of each specialization, not the
CXXMethodDecl, so that the lambda stays associated with the class
enclosing it and captures of this are still reported.


  Commit: 826f78dee748c53057bf27c297b90964aaaedcfb
      https://github.com/llvm/llvm-project/commit/826f78dee748c53057bf27c297b90964aaaedcfb
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/test/Shell/SymbolFile/NativePDB/rust-unique-name.ll
    M lldb/test/Shell/SymbolFile/NativePDB/unknown-udt-decl.ll

  Log Message:
  -----------
  lldb: Require x86_64 for x86_64-specific NativePDB tests (#224140)

These tests contained x86_64 datalayout and triples, but only
required system-windows. On an aarch64 windows host, %build will
be an incompatible datalayout, so require exactly x86_64 windows
hosts. Alternatively the test could be changed to not have the
datalayout, but I'm not sure if that's correct here.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 45cb52f63cc38f0f8e8ce46df07585b68cbc018f
      https://github.com/llvm/llvm-project/commit/45cb52f63cc38f0f8e8ce46df07585b68cbc018f
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp

  Log Message:
  -----------
  [lldb] Remove remaining ConstString section names in ObjectFileELF (#224407)


  Commit: 01d1d4dacb0e7726a7dc6c24ca10359251caa698
      https://github.com/llvm/llvm-project/commit/01d1d4dacb0e7726a7dc6c24ca10359251caa698
  Author: Federico Bruzzone <federico.bruzzone.i at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/lib/Conversion/ArithToLLVM/CMakeLists.txt
    M mlir/lib/Conversion/ControlFlowToLLVM/CMakeLists.txt
    M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
    M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
    M mlir/test/Conversion/ControlFlowToLLVM/branch.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-load-store-to-llvm.mlir

  Log Message:
  -----------
  [mlir][LowerToLLVM] Pass DataLayoutAnalysis to LowerToLLVMOptions in `ArithToLLVM`, `ControlFlowToLLVM`, and `VectorToLLVM` passes (#206380)

These three conversion passes constructed `LowerToLLVMOptions` without a
`DataLayout`, causing the index bitwidth to be hard-wired to 64 even
when the module declares a narrower index via `dlti.dl_spec`.

```cpp
// Before (all three passes):
LowerToLLVMOptions options(&getContext());
LLVMTypeConverter converter(&getContext(), options);

// After:
const auto &dataLayoutAnalysis = getAnalysis<DataLayoutAnalysis>();
LowerToLLVMOptions options(&getContext(),
                           dataLayoutAnalysis.getAtOrAbove(getOperation()));
LLVMTypeConverter converter(&getContext(), options, &dataLayoutAnalysis);
```

I used AI to investigate this problem and to write the tests.

---------

Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>


  Commit: ad6f8425783ef7dda2d5018143269935998460cd
      https://github.com/llvm/llvm-project/commit/ad6f8425783ef7dda2d5018143269935998460cd
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/RegisterPressure.cpp
    A llvm/test/CodeGen/AMDGPU/schedule-pressure-dead-superreg-live-subreg.mir

  Log Message:
  -----------
  Partially revert "RegisterPressure: Remove dead defs correctly" (#224371)

This partially reverts the lane-mask collector change from #222627
(bde5e74309f6). That flipped the dead-def reconciliation in both
RegisterOperandsCollector::collectInstr (register units) and
collectInstrLanes (lane masks). Instead of removing units covered by a
live def from the dead def set, it removed units covered by a dead def
from the live def set.

The flip regressed targets that track subregister liveness, which use
the
lane-mask collector path. When a live sub-register def overlaps a dead
super-register def, the shared register unit is flagged live on one
operand and dead on another. Removing the live def then drops the
genuinely-live unit, so the cached PressureDiff under-counts it and
trips
the EXPENSIVE_CHECKS pressure cross-check in GCNSchedStrategy.

Restore the original lane-mask path while keeping the new behavior on
the
register-unit path, which is enough to preserve the X86 fixes from
#222627.
This is a targeted workaround. Deadness here is still taken from the
operand
flags, which are not authoritative. The principled fix is to derive
deadness
from LiveIntervals when building the PressureDiff, as the pressure
tracker
already does on the recede path.

Also adds a reduced mir test which triggers the expensive_checks
failure.

Co-authored-by: Claude claude-opus-4.8 <noreply at anthropic.com>


  Commit: ed554f2f540a44ae76ffa54dd785c480765bb4b4
      https://github.com/llvm/llvm-project/commit/ed554f2f540a44ae76ffa54dd785c480765bb4b4
  Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
    M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
    M mlir/test/Conversion/XeGPUToXeVM/failed_conversion.mlir
    A mlir/test/Conversion/XeGPUToXeVM/loadstore_gather_coalesce.mlir
    M mlir/test/Dialect/XeGPU/invalid.mlir
    M mlir/test/Dialect/XeGPU/ops.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout-subgroup-invalid.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
    M mlir/test/Dialect/XeGPU/propagate-layout.mlir
    M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
    M mlir/test/Dialect/XeGPU/sg-to-lane-distribute.mlir
    M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
    M mlir/test/Dialect/XeGPU/xegpu-unroll-patterns.mlir
    M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir

  Log Message:
  -----------
  [mlir][xegpu] Remove chunk_size attribute; infer from types (#205122)

The chunk_size attribute on xegpu.load (LoadGatherOp) and xegpu.store
(StoreScatterOp) was redundant with the operand/result types: the XeVM
lowering never read it, VectorToXeGPU already built these ops with an
empty chunk_size, and the op docs noted it could be inferred from the
type.

Remove the attribute and infer the chunk size from the value/result and
mask types via a computed getChunkSize() op method. The mask carries one
element per lane, so the chunk size is the trailing value dimension when
the value has more elements than the mask, and 1 otherwise. This keeps
the existing op.getChunkSize() call sites working while respecting
library layering (no XeGPUUtils dependency from the IR library).

Update the gather/scatter builders, transforms (propagate-layout,
sg-to-lane, wg-to-sg, unroll), VectorToXeGPU lowerings, and lit tests.
Two invalid.mlir cases that were only invalid because a stated
chunk_size contradicted the type are removed; two others are
reclassified to the type/shape diagnostic.

---------

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


  Commit: e85bbe94d5d595850f790faf9d7a039b9373b679
      https://github.com/llvm/llvm-project/commit/e85bbe94d5d595850f790faf9d7a039b9373b679
  Author: Moazin K. <mkhatti at nvidia.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
    A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-predicate-region-worker-barrier.mlir

  Log Message:
  -----------
  [ACCCGToGPU] Generate a per row barrier for a predicate region inside threadY loop. (#224461)

When a predicate region is inside a threadY (worker) loop, the generated
barrier should be to synchronize all threadsX (vector lanes) for that
threadY.

Previously, this code would generate a barrier for all inactive
dimensions and that can be problematic if we have no outer gang loop
(hence an inactive blockX dim) and trip count for worker loop isn't
divisible by number of workers. This would lead to a barrier for all
threads within the block leading to a deadlock.

Assisted-by: Codex


  Commit: 38c995786a2262f949542191928f1f9f85e7b530
      https://github.com/llvm/llvm-project/commit/38c995786a2262f949542191928f1f9f85e7b530
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 01d1d4d (#224462)

This fixes 01d1d4dacb0e7726a7dc6c24ca10359251caa698 (#206380).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=01d1d4dacb0e7726a7dc6c24ca10359251caa698

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


  Commit: dd0ee5e10da57e2b1ebf0cbf066b32a8ffe92c28
      https://github.com/llvm/llvm-project/commit/dd0ee5e10da57e2b1ebf0cbf066b32a8ffe92c28
  Author: alexey-gusarov <alexey.gusarov at gmail.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
    M lldb/test/API/commands/frame/recognizer/step-through/recognizer.py
    M lldb/test/API/functionalities/step_scripted/Steps.py
    M lldb/test/API/functionalities/step_scripted/TestStepScripted.py
    M lldb/test/API/functionalities/step_scripted/main.c

  Log Message:
  -----------
  [lldb] Read the bool that a scripted thread plan's should_step returns (#215521)

Fixes part (1) of #215189.

`ScriptedThreadPlanPythonInterface::GetRunState()` used
`GetUnsignedIntegerValue()` to read the script's `should_step` return
value. A
Python `bool` arrives as a `StructuredData::Boolean`, so the return
value was
discarded and every scripted thread plan reported `eStateStepping`: a
plan
returning `False` single-stepped exactly like one returning `True`.

The documented contract for `should_step` is a bool
(`lldb/docs/use/tutorials/automating-stepping-logic.md` and
`lldb/examples/python/templates/scripted_thread_plan.py`). Read it as
one; any
other return value is logged and causes the plan to step.

### Behavior change

| `should_step` returns             | before  | after   |
| --------------------------------- | ------- | ------- |
| `True`                            | step    | step    |
| `False`                           | step    | **run** |
| `0`, `1`, or `lldb.eStateRunning` | **run** | step    |
| `lldb.eStateStepping`             | step    | step    |

The integer case is an intentional behavior change. Integers used to be
reinterpreted as a `StateType`, which also made them the only way to
make a
scripted plan run while boolean `False` was being discarded. They are
not part
of the documented `should_step` contract.

The behavior for a missing `should_step` is unchanged by this PR: it
continues
to step.

### In-tree user of the old behavior


`commands/frame/recognizer/step-through/TestFrameRecognizerStepThrough.py`
returns `False` from `should_step` and relied on being single-stepped
anyway.
With `False` honored, its `ThreadPlanRunToAddress` sub-plan handles the
stop
that completes it, so `explains_stop` is not called.

Update the plan to notice completion of the sub-plan in `should_stop`
and call
`SetPlanComplete` there, as described by the `ScriptedThreadPlan`
documentation.

### Testing

`lldb/test/API/functionalities/step_scripted/` covers:

* `should_step == True` stepping one instruction;
* `should_step == False` running to the next breakpoint;
* non-bool integer and `StateType` returns stepping.

The `False` and invalid-return cases fail before this change on both
Linux and
Windows.

### Landing order

This change allows scripted plans returning `False` from `should_step`
to reach
the `SetAutoContinue(true)` path in
`Thread::SetupToStepOverBreakpointIfNeeded()`. #215522 fixes the
independent
thread-plan-stack issue on that path. The two changes are independent,
but are
best landed together.

---

Tool-use disclosure, per the LLVM AI tool policy: this change was
prepared with
the assistance of Claude Code (`Assisted-by:` trailer on the commit).
Everything
in the change was read and reviewed before posting.

Co-authored-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: 846719ae2259eb2829a251fa7ca965976376abbd
      https://github.com/llvm/llvm-project/commit/846719ae2259eb2829a251fa7ca965976376abbd
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lldb/test/API/lang/cpp/libcxx-internals-recognizer/TestLibcxxInternalsRecognizer.py
    M lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
    M lldb/test/API/lang/objc/synthesized-property-accessor/TestSynthesizedPropertyAccessor.py

  Log Message:
  -----------
  [LLDB] Skip tests with older versions of clang (#224468)


  Commit: ea158b1e145680795e08e35426b850ba03c8f5a3
      https://github.com/llvm/llvm-project/commit/ea158b1e145680795e08e35426b850ba03c8f5a3
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/QualTypeMapper.cpp
    M clang/test/CodeGen/AArch64/abi-classify-arg-types.c
    M clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp
    M clang/test/CodeGen/AArch64/args-hfa.c
    M clang/test/CodeGen/AArch64/arguments-hfa-v3.c
    M llvm/include/llvm/ABI/Types.h
    M llvm/lib/ABI/Targets/AArch64.cpp
    M llvm/lib/ABI/Targets/X86.cpp
    M llvm/lib/ABI/Types.cpp
    M llvm/unittests/ABI/AArch64TargetInfoTest.cpp
    M llvm/unittests/ABI/FunctionInfoTest.cpp
    M llvm/unittests/ABI/IRTypeMapperTest.cpp
    M llvm/unittests/ABI/TypesTest.cpp
    M llvm/unittests/ABI/X86TargetInfoTest.cpp

  Log Message:
  -----------
  [LLVMABI][AARCH64] Support homogeneous aggregate arguments (#224138)

This adds support for handling homogeneous aggregate arguments in the
AArch64 implementation of the LLVM ABI library.

This required adding a new field to the llvm::abi::Type class to track
the unadjusted alignment of the field. This meant I needed to make
updates to the CIR calling convention lowering pass, but AArch64 isn't
supported in the CIR pass yet, so that part of the change is strictly
NFC at this point.

I'm removing the aarch64-pc-windows-msvc run lines from the
abi-classify-arg-types.cpp test because the new test cases added would
land in NYI diagnostic in isPermittedToBeHomogeneousAggregate(), and
they weren't adding any unique coverage.

Assisted-by: Cursor / various models


  Commit: 41b7eedb0974528d53e2ecaa950587562be5cb67
      https://github.com/llvm/llvm-project/commit/41b7eedb0974528d53e2ecaa950587562be5cb67
  Author: Petr Hosek <phosek at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/src/__support/OSUtil/baremetal/io.h
    M libc/src/stdio/baremetal/CMakeLists.txt
    A libc/src/stdio/baremetal/fclose.cpp
    A libc/src/stdio/baremetal/fseek.cpp
    A libc/src/stdio/baremetal/fseeko.cpp
    A libc/src/stdio/baremetal/ftell.cpp
    A libc/src/stdio/baremetal/ftello.cpp

  Log Message:
  -----------
  [libc] Embeddeding API for seek and close (#221880)

This change introduces two new symbols to the embedding API hooks:
__llvm_libc_stdio_seek and __llvm_libc_stdio_close. These are used to
implement fclose, fseek, fseeko, ftell and ftello for baremetal.

The implementation was extracted from #221211.

Authored-by: voltur01


  Commit: 6486ab38c00159b3ded94ac2855a5b90311eb61d
      https://github.com/llvm/llvm-project/commit/6486ab38c00159b3ded94ac2855a5b90311eb61d
  Author: Matsu <47756807+khaki3 at users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M flang/test/Fir/OpenACC/acc-fir-map-info-prep-clauses.mlir
    M flang/test/Fir/OpenACC/acc-fir-map-info-prep-types.mlir
    M mlir/include/mlir/Dialect/OpenACC/OpenACCCGEnums.td
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
    M mlir/test/Conversion/OpenACCToLLVM/data-runtime.mlir
    M mlir/test/Conversion/OpenACCToLLVM/data.mlir

  Log Message:
  -----------
  [OpenACC] Add a map flag for the attach/detach clause (#224433)

Example:
```fortran
!$acc enter data create(arr)
p => arr(:,1)
!$acc enter data attach(p)
```

In this code, computeDataClauseMapFlags returns no flag for
acc_attach/detach, so the resulting acc.map_info is indistinguishable
from one formed for a create/delete of the target, and the clause itself
is gone by that point.

Fix: give the attach/detach clause its own map flag.


  Commit: 31f5ae6ba9105531001af6baa8357b6fb5613f46
      https://github.com/llvm/llvm-project/commit/31f5ae6ba9105531001af6baa8357b6fb5613f46
  Author: Matsu <47756807+khaki3 at users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
    A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-predicate-region-active-dims.mlir

  Log Message:
  -----------
  [OpenACC] Honor precomputed active par dims on a predicate region (#224390)

Example:
```mlir
acc.predicate_region {
  memref.store %updated, %shared[] : memref<f64>
} {acc.active_par_dims = #acc<active_par_dims[]>}
```
Code outside a gang-level loop runs on every thread block, so the block
dims are treated as active and never predicated away. That is right for a
redundant computation, but not for an in-place update of memory the whole
launch shares: every block applies it. The attribute above was ignored
here, because only a privatization could state which dims run it
unpredicated.

Fix: honor a precomputed active set on a predicate region too. An empty
set leaves one block and one thread performing the update; listing the
thread dims of the enclosing loops keeps a work-shared update distributing
its iterations. Behavior is unchanged for a region without the attribute.


  Commit: fd606c15d0d3131209357e6eeeee4bba025c45a9
      https://github.com/llvm/llvm-project/commit/fd606c15d0d3131209357e6eeeee4bba025c45a9
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/LookupAndApply.h
    M llvm/include/llvm/ExecutionEngine/Orc/RecordProxy.h
    M llvm/lib/ExecutionEngine/Orc/LookupAndApply.cpp
    M llvm/unittests/ExecutionEngine/Orc/LookupAndApplyTest.cpp

  Log Message:
  -----------
  [ORC] Share one Mangler across a lookupAndApply group (#224285)

LookupPrepareFn now receives a Mangler that lookupAndApply builds once
from the search order's target triple, rather than each recordAddr /
recordProxy constructing its own per entry.


  Commit: b489ab0a5fd38515ae1642eb197c66cb1d6d1eea
      https://github.com/llvm/llvm-project/commit/b489ab0a5fd38515ae1642eb197c66cb1d6d1eea
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    R llvm/test/CodeGen/MLRegAlloc/aarch64-evict-advisor-duplicate-hints.ll
    M llvm/unittests/Target/AArch64/AArch64RegisterInfoTest.cpp

  Log Message:
  -----------
  Revert "[CodeGen][AArch64] Avoid duplicate hints in register allocation (#219007)" (#224451)

This reverts commit 6396f14184cb506420503e0a46fcf681fd91a90a.

Newly added CodeGen/MLRegAlloc/aarch64-evict-advisor-duplicate-hints.ll
is failing downstream CI's where the model name is not `release`.

Link: #219007


  Commit: a56ce734ca42c1fa10e50d3a5b4af336cddd7b5e
      https://github.com/llvm/llvm-project/commit/a56ce734ca42c1fa10e50d3a5b4af336cddd7b5e
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M lldb/source/Symbol/ObjectFile.cpp

  Log Message:
  -----------
  [lldb] Don't dereference a possibly null DataExtractor in FindPlugin (#224347)

Restore the behavior from before e4c83b7b119c, which changed the
parameter from a DataBufferSP the branch guaranteed to be null-or-empty
into a DataExtractorSP it unconditionally dereferences.

No in-tree caller reaches this branch with a null extractor, so there is
no test.

rdar://168105064


  Commit: 75c8398a7dbfd37d5acbf40853783a403c5d16c9
      https://github.com/llvm/llvm-project/commit/75c8398a7dbfd37d5acbf40853783a403c5d16c9
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M .github/workflows/commit-access-greeter.yml
    M .github/workflows/ids-check.yml
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/llvm-abi-tests.yml
    M .github/workflows/merged-prs.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-code-format.yml
    M .github/workflows/pr-code-lint.yml
    M .github/workflows/subscriber.yml

  Log Message:
  -----------
  [Github] Bump non-build jobs to Ubuntu 26.04 (#224471)

Mostly so we pull in a new CMake version for the jobs that need it like
ids.


  Commit: a1334044f870828e552df8cde360b61bd14deab2
      https://github.com/llvm/llvm-project/commit/a1334044f870828e552df8cde360b61bd14deab2
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M .github/workflows/ci-post-commit-analyzer.yml
    M .github/workflows/mlir-spirv-tests.yml
    M .github/workflows/spirv-tests.yml
    M .github/workflows/sycl-tests.yml
    M .github/workflows/test-suite.yml

  Log Message:
  -----------
  [Github] Bump build workflows to Ubuntu 26.04 (#224455)

To pull in the new version of CMake and also now that the 24.04 images
won't recieve any new updates.


  Commit: f909f84555392f8395a916b4c72d03315f1437ad
      https://github.com/llvm/llvm-project/commit/f909f84555392f8395a916b4c72d03315f1437ad
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
    M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir

  Log Message:
  -----------
  [MLIR][XeGPU]  Fix insert_strided_slice distribution divisor for partial-lane dims (#223060)

SgToLaneVectorInsertStridedSlice divided the distributed dimension's
size and offset by the full subgroup size. That divisor holds only when
the dimension spans every lane. When it spans a subset (lane_layout[dim]
< subgroupSize) — say size 2 across 2 lanes — 2 % 16 != 0 made the
pattern reject the op and failing legalization.

This PR divides the dimension size by lane_layout[destDistDim], the
number of lanes actually covering that dimension.

assisted-by-claude

---------

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


  Commit: 08cedc596007ff6bdc8657247fcf21e75cbac75d
      https://github.com/llvm/llvm-project/commit/08cedc596007ff6bdc8657247fcf21e75cbac75d
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M .github/workflows/commit-access-greeter.yml
    M .github/workflows/merged-prs.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/subscriber.yml

  Log Message:
  -----------
  [Github] Fix container references from #224471 (#224490)

I screwed up some of the references (copying and pasting added an extra
sh256:) and they didn't show up because the workflow definitions for all
of these jobs only comes from main.


  Commit: a18489c9bd9aea389c2e3b1cb9b23f79303ca1b1
      https://github.com/llvm/llvm-project/commit/a18489c9bd9aea389c2e3b1cb9b23f79303ca1b1
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M .github/workflows/test-suite.yml

  Log Message:
  -----------
  [Github] Remove additional cmake install from test-suite (#224486)

Now that we are on ubuntu 26.04 we can resolve this todo as the system
CMake is new enough and already installed.


  Commit: 3ac17f2256564f86e6e28394853fb71b1fe41227
      https://github.com/llvm/llvm-project/commit/3ac17f2256564f86e6e28394853fb71b1fe41227
  Author: Andre Sun <andsun9999 at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses-c23.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses.cpp

  Log Message:
  -----------
  [clang-tidy] Fix readability-redundant-parentheses false positive on typeof (#223512)

Preserve the required parentheses around the operand of `typeof`,
`typeof_unqual`, and GNU `__typeof__` by skipping `ParenExpr` nodes
whose immediate parent is a `TypeOfExprTypeLoc`. Redundant inner
parentheses such as those in `typeof((x))` are still diagnosed.

Fixes #220899.


  Commit: 5fa7f81e0a2208b87584f2fec12e09c73105fed1
      https://github.com/llvm/llvm-project/commit/5fa7f81e0a2208b87584f2fec12e09c73105fed1
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M flang/docs/ReleaseNotes.md
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/test/Fir/CUDA/cuda-constructor-2.f90
    M flang/test/Fir/CUDA/cuda-shared-offset.mlir
    M flang/test/Fir/OpenACC/acc-fir-map-info-prep-privatize.mlir
    M flang/test/Fir/box-elesize-canonicalize.fir
    M flang/test/Fir/struct-passing-ppc64le-byval.fir
    M flang/test/Fir/struct-passing-systemz-reference.fir
    A flang/test/Lower/Intrinsics/transfer-rec-tail-pad-llvm.f90
    A flang/test/Lower/Intrinsics/transfer-rec-tail-pad.f90
    M flang/test/Transforms/allocation-placement.fir

  Log Message:
  -----------
  [flang] Fix RecordType sizes, TRANSFER lowering, and BIND(C) ABI on SystemZ/PPC64le (#220377)

### Summary

`fir::getTypeSizeAndAlignment` had two bugs in its `RecordType` branch:

1. **Packed records**: `isPacked()` was ignored. LLVM packed structs
advance by `getTypeAllocSize` per field (not `getTypeStoreSize`), so
each component occupies `alignTo(storeSize, ABIalign)` bytes with no
inter-field or tail padding, and the struct ABI alignment is 1. For
example, a packed `{i32, f64}` on x86-64 is 12 bytes, not 16.

2. **Tail padding**: the unpacked field loop returned the raw summed
size without the final `alignTo(size, align)`. For example, `{i32, i8}`
(sum = 5 bytes, align = 4) was returned as 5 bytes instead of the
correct allocation size 8 bytes.

### Changes

- **`RecordType` Sizing**: Fixed `fir::getTypeSizeAndAlignment` to
respect `isPacked()` and include the final alignment padding for
unpacked records.
- **`TRANSFER` Inline Gate**: Updated `genTransfer` to compare sizes
using `fir::getTypeSizeAndAlignment`, which includes tail padding for
`RecordType`, matching the allocation extent used by Fortran
`STORAGE_SIZE`, descriptor element extent, and the runtime `TRANSFER`
path.
- **Aligned Temporary & Byte Copy**: For `RecordType` sources where
`sourceAlign < resultAlign` (e.g. `{i32, i8}` with 4-byte alignment
transferred to `integer(8)` with 8-byte alignment), copy via `fir.copy`
(a non-overlapping byte copy / `memcpy` of the full allocation extent)
into a result-aligned alloca instead of loading directly from the source
pointer. This avoids UB from over-aligned loads and preserves both
inter-field and tail padding bytes, satisfying F2023 16.9.212.
- **`BIND(C)` / `VALUE` ABI on SystemZ and PPC64le**: The corrected
allocation sizes propagate into `Target.cpp`'s ABI classification,
fixing argument passing for both packed and tail-padded records. In the
SystemZ and PPC64le examples the record layout already included the
padding, but the size query used for argument classification was wrong:
- SystemZ: `{i32, i8}` (allocation size 8 bytes) now correctly passes as
`i64`; `{i16, i8}` (4 bytes) as `i32`.
- PPC64le: `{f128, i8}` (allocation size 32 bytes) now correctly passes
as `[4 x i64]`.

Both now match the C ABI. Programs that pass `BIND(C)` `VALUE`
derived-type arguments of these shapes to C functions were already
producing incorrect results. Programs compiled entirely in Fortran
relying on the old convention must be recompiled.

Assisted-by: IBM Bob


  Commit: 1b1e9d1ea1755187d87bb060b960f8fe1c5e3b95
      https://github.com/llvm/llvm-project/commit/1b1e9d1ea1755187d87bb060b960f8fe1c5e3b95
  Author: Shimin Cui <scui at ca.ibm.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M llvm/lib/Object/GOFFObjectFile.cpp

  Log Message:
  -----------
  Recommit [GOFFObjectFile] replace snprintf with formatv (#224435) (#224489)

Recommit [GOFFObjectFile] replace snprintf with formatv (#224435)


  Commit: 09046d9715378c777ff28bb6c2e1e0b20c7bd1c8
      https://github.com/llvm/llvm-project/commit/09046d9715378c777ff28bb6c2e1e0b20c7bd1c8
  Author: Kewen Meng <Kewen.Meng at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M libc/test/src/mathvec/CMakeLists.txt
    M libc/test/src/mathvec/sinf_test.cpp

  Log Message:
  -----------
  [libc] Fix sinf unit test failures (#224475)

https://github.com/llvm/llvm-project/pull/224339 suppressed the tests
but the executable still runs. This change further suppressed the
executable so lit didn't discover and run it.

Bot kept failing on the libc test:
https://lab.llvm.org/buildbot/#/builders/10/builds/36051

tested locally:
>Total Discovered Tests: 817
  Passed: 817 (100.00%)


  Commit: 04659071744a6153a29860b51c28abf5cc2061c4
      https://github.com/llvm/llvm-project/commit/04659071744a6153a29860b51c28abf5cc2061c4
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
    M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir

  Log Message:
  -----------
  [mlir][xegpu] Fix lane-local classification for packed-lane-data reductions (#223077)

isReductionLaneLocal decided whether a subgroup vector.multi_reduction
reduces within a lane by comparing the result vector type against its
distributed type. This assumes the lane_layout along the non-reduction
dim is always larger than 1, which is not always true.

This PR fixes it by checking the source's lane_layout along the
reduction dimension is 1.

assisted-by-claude

---------

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


  Commit: c36b84c711a2a45aa7ae8bde8eb74ba1fc3214a1
      https://github.com/llvm/llvm-project/commit/c36b84c711a2a45aa7ae8bde8eb74ba1fc3214a1
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
    M llvm/test/CodeGen/AMDGPU/lower-noalias-kernargs.ll

  Log Message:
  -----------
  [AMDGPU] Fix noalias metadata for calls that capture a pointer earlier (#219887)

A call could get `!noalias` against a kernel noalias argument even when
that argument was captured into a global earlier and the call can reach
it that way

Only calls that touch just their own argument pointees are actually safe
to mark this way


  Commit: 90a8d09917f0d508292405a68ae1f6de3b40fd93
      https://github.com/llvm/llvm-project/commit/90a8d09917f0d508292405a68ae1f6de3b40fd93
  Author: chandan singh <36783761+chandankds at users.noreply.github.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
    A llvm/test/Transforms/SampleProfile/pseudo-probe-call-vs-invoke-hash.ll
    A llvm/test/Transforms/SampleProfile/pseudo-probe-cyclic-normal-dest.ll

  Log Message:
  -----------
  [CSSPGO] [Pseudo-Probe] Avoid infinite loop on cyclic invoke destinations (#221630)

SampleProfileProber::getOriginalTerminator() walks invoke normal
destinations (and ignored single-successor blocks) so the CFG hash stays
stable across call-to-invoke conversion. That walk assumes the chain is
acyclic.

Valid IR can have a self-looping invoke (normal dest == the invoke
block). The walk then never returns, and opt -passes=pseudo-probe hangs.

Example Testcase:
```cpp
void f1();
void test() {
  try {
    for (;;)
      f1();
  } catch (...) {}
}
```

This patch walk iteratively and record visited blocks. If the next block
was already seen, stop at the terminator that closes the cycle. Acyclic
invoke continuation chains are unchanged.


  Commit: 9215947c3d1a80640cf1366c0a470f22c72b5128
      https://github.com/llvm/llvm-project/commit/9215947c3d1a80640cf1366c0a470f22c72b5128
  Author: SiHuaN <liyongtai at iscas.ac.cn>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    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] Add scalar saturating add/sub, absolute value and rev intrinsics (#224377)

First batch of the P extension `Scalar Intrinsics` group, covering the
operations that map onto a single existing LLVM IR intrinsic
(llvm.sadd.sat, llvm.uadd.sat, llvm.ssub.sat, llvm.usub.sat, llvm.abs,
llvm.bitreverse) that the backend already selects, so no codegen changes
are needed.


  Commit: d22a72cebb2dce4be4b64bfd196ac85d36f85bd1
      https://github.com/llvm/llvm-project/commit/d22a72cebb2dce4be4b64bfd196ac85d36f85bd1
  Author: PiJoules <leonardchan at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
    M llvm/test/Transforms/RelLookupTableConverter/X86/relative_lookup_table.ll

  Log Message:
  -----------
  [RelLookupTableConverter] Reject volatile loads (#224414)

The pass converts absolute pointer lookup tables to relative lookup
tables and replaces the table load with a call to `@llvm.load.relative`.

However, `@llvm.load.relative` is an intrinsic with `memory(argmem:
read)` and cannot represent volatile access semantics. Replacing a
volatile load with `@llvm.load.relative` drops volatile side effects.


  Commit: ac0c8eb5aa55af2387b6c925de26e159b7a8a271
      https://github.com/llvm/llvm-project/commit/ac0c8eb5aa55af2387b6c925de26e159b7a8a271
  Author: SiHuaN <liyongtai at iscas.ac.cn>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    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] Add packed subvector extract intrinsics (#224429)

Add the Packed Subvector Extract intrinsics:

- `__riscv_pget_i8x8_i8x4`
- `__riscv_pget_u8x8_u8x4`
- `__riscv_pget_i16x4_i16x2`
- `__riscv_pget_u16x4_u16x2`

Each extracts the 32-bit packed subvector selected by a constant index
(0 = low, 1 = high) from a 64-bit packed vector. The index is
range-checked with `__enable_if__`, as for the element extract
intrinsics.

This is header-only: the shuffle is selected without backend changes, so
no new IR intrinsics or builtins are required.


  Commit: 0528425063b731228ef28c3c5e1adb9ba15d0907
      https://github.com/llvm/llvm-project/commit/0528425063b731228ef28c3c5e1adb9ba15d0907
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lld/MachO/DriverUtils.cpp
    M lld/MinGW/Driver.cpp
    M lld/wasm/Driver.cpp

  Log Message:
  -----------
  [lld] Use LLVM_CONSTRUCT_OPT_INFO. NFC (#224503)


  Commit: c9a08bdff6890a073193f23f5b91517e300939f6
      https://github.com/llvm/llvm-project/commit/c9a08bdff6890a073193f23f5b91517e300939f6
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Avoid some unnecessary diagnostic work (#224333)

We emit these diagnostics a lot, but we almost never see them. Try to
short-circuit these functions if nobody will see the diagnostics anyway.


  Commit: 5d7bda4e51049f43d39ce6a35d7c44fa44036509
      https://github.com/llvm/llvm-project/commit/5d7bda4e51049f43d39ce6a35d7c44fa44036509
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp

  Log Message:
  -----------
  [lldb] Turn GetDeclContextDIEContainingDIE into a worklist (NFC) (#224453)

Convert GetDeclContextDIEContainingDIE from a recursive to a worklist
approach, avoiding a stack frame per DIE for long chains. The behavior
remains the same.


  Commit: 3c30abb2a47c83adee8aeaf034727f32b2a05acb
      https://github.com/llvm/llvm-project/commit/3c30abb2a47c83adee8aeaf034727f32b2a05acb
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-09-17 (Thu, 17 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-functions-hotness.ll

  Log Message:
  -----------
  [NFC][ThinLTOBitcodeWriter] Add test for cfi.functions metadata hotness encoding (#223843)

Add pre-commit test coverage establishing the baseline cfi.functions
metadata linkage operand values before implementing hotness encoding.

PR Stack:
* https://github.com/llvm/llvm-project/pull/220776
* https://github.com/llvm/llvm-project/pull/221043
* https://github.com/llvm/llvm-project/pull/221044
* ➤ https://github.com/llvm/llvm-project/pull/223843
* https://github.com/llvm/llvm-project/pull/223846
* https://github.com/llvm/llvm-project/pull/223848
* https://github.com/llvm/llvm-project/pull/221046

Assisted-by: Gemini


  Commit: b2f2c6b539df45710a2fced363370ec508575dca
      https://github.com/llvm/llvm-project/commit/b2f2c6b539df45710a2fced363370ec508575dca
  Author: Zeyi Xu <zeyi2 at nekoarch.cc>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp

  Log Message:
  -----------
  [clang-tidy] Speed up misc-static-initialization-cycle (#224243)

Closes #224219


  Commit: af8039273a760a21b3cf8006ebaa107481227fd6
      https://github.com/llvm/llvm-project/commit/af8039273a760a21b3cf8006ebaa107481227fd6
  Author: Mohammed Ashraf <125150223+Holo-xy at users.noreply.github.com>
  Date:   2026-09-17 (Thu, 17 Sep 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 ParseLexedAttributeTokens (#206689)

This PR is a continuation of the previous [Unify ParseLexedAttribute
PR](https://github.com/llvm/llvm-project/pull/186033)


  Commit: 3d3dbe5fdf4c274c97d5c370218a6f38db5df78d
      https://github.com/llvm/llvm-project/commit/3d3dbe5fdf4c274c97d5c370218a6f38db5df78d
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.cpp

  Log Message:
  -----------
  [ORC] Fix wrong callee in EPCGenericRTDyldMemoryManager dtor (#224493)

The destructor invoked the reserve wrapper with the release signature
when freeing FinalizedAllocs. Call the release wrapper instead.

No testcase. This was spotted by inspection, and this class is expected
to be deprecated shortly.


  Commit: 1ddec116ccd78a04c657a1e8ad43d5afc458d19c
      https://github.com/llvm/llvm-project/commit/1ddec116ccd78a04c657a1e8ad43d5afc458d19c
  Author: Vikram Hegde <Vikram.Hegde at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/Passes.h
    A llvm/include/llvm/CodeGen/ResetMachineFunctionPass.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/ResetMachineFunctionPass.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/Passes/CodeGenPassBuilder.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll

  Log Message:
  -----------
  [CodeGen][NPM] Port ResetMachineFunction to NPM (#222886)

Assisted by: Opus 5


  Commit: d46351c80ee1b1bf356bdb69318069b94853cddf
      https://github.com/llvm/llvm-project/commit/d46351c80ee1b1bf356bdb69318069b94853cddf
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/models/interactive_host.py
    M llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp
    M llvm/test/CodeGen/MLRegAlloc/Inputs/interactive_main.py
    M llvm/test/CodeGen/MLRegAlloc/interactive-mode.ll

  Log Message:
  -----------
  [MLGO] Saturate out-of-range regalloc priority advice (#224062)

Converting the float advice to unsigned is undefined outside `[0, 2^32)`
interval

Negative advice wrapped to near UINT_MAX and flipped the priority order,
NaN or advice below 1.0 made every priority 0


  Commit: 7f35f5f2b2a4976725714beb35e3e0399fc7c4a7
      https://github.com/llvm/llvm-project/commit/7f35f5f2b2a4976725714beb35e3e0399fc7c4a7
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    A libcxx/test/std/containers/associative/map/types.compile.pass.cpp
    R libcxx/test/std/containers/associative/map/types.pass.cpp
    A libcxx/test/std/containers/associative/multimap/types.compile.pass.cpp
    R libcxx/test/std/containers/associative/multimap/types.pass.cpp
    A libcxx/test/std/containers/associative/multiset/types.compile.pass.cpp
    R libcxx/test/std/containers/associative/multiset/types.pass.cpp
    A libcxx/test/std/containers/associative/set/types.compile.pass.cpp
    R libcxx/test/std/containers/associative/set/types.pass.cpp
    A libcxx/test/std/containers/container.adaptors/priority.queue/protected_members.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/types.compile.fail.cpp
    A libcxx/test/std/containers/container.adaptors/priority.queue/types.compile.pass.cpp
    R libcxx/test/std/containers/container.adaptors/priority.queue/types.pass.cpp
    A libcxx/test/std/containers/sequences/array/types.compile.pass.cpp
    R libcxx/test/std/containers/sequences/array/types.pass.cpp
    A libcxx/test/std/containers/sequences/deque/types.compile.pass.cpp
    R libcxx/test/std/containers/sequences/deque/types.pass.cpp
    A libcxx/test/std/containers/sequences/forwardlist/types.compile.pass.cpp
    R libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
    A libcxx/test/std/containers/sequences/list/types.compile.pass.cpp
    R libcxx/test/std/containers/sequences/list/types.pass.cpp
    A libcxx/test/std/containers/sequences/vector.bool/types.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector.bool/types.pass.cpp
    A libcxx/test/std/containers/sequences/vector/types.compile.pass.cpp
    R libcxx/test/std/containers/sequences/vector/types.pass.cpp
    A libcxx/test/std/containers/unord/unord.map/types.compile.pass.cpp
    R libcxx/test/std/containers/unord/unord.map/types.pass.cpp
    A libcxx/test/std/containers/unord/unord.multimap/types.compile.pass.cpp
    R libcxx/test/std/containers/unord/unord.multimap/types.pass.cpp
    A libcxx/test/std/containers/unord/unord.multiset/types.compile.pass.cpp
    R libcxx/test/std/containers/unord/unord.multiset/types.pass.cpp
    A libcxx/test/std/containers/unord/unord.set/types.compile.pass.cpp
    R libcxx/test/std/containers/unord/unord.set/types.pass.cpp
    A libcxx/test/std/containers/views/mdspan/mdspan/types.compile.pass.cpp
    R libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
    A libcxx/test/std/containers/views/views.span/types.compile.pass.cpp
    R libcxx/test/std/containers/views/views.span/types.pass.cpp

  Log Message:
  -----------
  [libc++] Refactor container's types.pass.cpp tests (#223602)

Convert types.pass.cpp to compile-only tests because there is no runtime
component.

---------

Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: A. Jiang <de34 at live.cn>
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 1b5da535082e9f2b7bd469fbaaa1ac9aa65ba562
      https://github.com/llvm/llvm-project/commit/1b5da535082e9f2b7bd469fbaaa1ac9aa65ba562
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

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

  Log Message:
  -----------
  [lldb-server] Fix GetMemoryRegionInfo syntax to include trailing `;` (#224319)

GDBRemoteCommunicationClient::GetMemoryRegionInfo parses fields of this
packet using `StringExtractor::GetNameColonValue`, which expects a `;`
even for the last field. The documentation of the packet doesn't
explicitly say so, but implies these fields should always be
;-terminated. As a result, before this patch, that field was not parsed
at all.


  Commit: 77cb8a9fd7d80e54bad6cbbe8a0e3507c34fe51b
      https://github.com/llvm/llvm-project/commit/77cb8a9fd7d80e54bad6cbbe8a0e3507c34fe51b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
    M mlir/lib/Target/LLVM/ModuleToObject.cpp
    M mlir/lib/Target/LLVMIR/Transforms/TargetUtils.cpp

  Log Message:
  -----------
  mlir: Avoid using TargetMachine::createDataLayout (#224456)


  Commit: 29bddf3dca241381ef55005a3b003ff4e7c44959
      https://github.com/llvm/llvm-project/commit/29bddf3dca241381ef55005a3b003ff4e7c44959
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/docs/tutorial/BuildingAJIT3.md
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.md
    M llvm/examples/Kaleidoscope/Chapter8/toy.cpp

  Log Message:
  -----------
  docs: Compute the DataLayout from the triple in the tutorials (#224458)


  Commit: 7dd3c5f4a6273ea730745b3b97e4fa30b3d7558a
      https://github.com/llvm/llvm-project/commit/7dd3c5f4a6273ea730745b3b97e4fa30b3d7558a
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/test/API/lang/objc/synthesized-property-accessor/TestSynthesizedPropertyAccessor.py

  Log Message:
  -----------
  Require Darwin for TestSynthesizedPropertyAccessor so that it won't fail on every PR. (#224531)


  Commit: 813cfb0b95374a89d08a6b9a6883a26bc426c5d2
      https://github.com/llvm/llvm-project/commit/813cfb0b95374a89d08a6b9a6883a26bc426c5d2
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Integration/RISCV/riscv-target-abi.f90

  Log Message:
  -----------
  flang: Compute the module DataLayout from the triple and ABI (#224419)


  Commit: 42f0538637620524486f7b87db764fa42899f568
      https://github.com/llvm/llvm-project/commit/42f0538637620524486f7b87db764fa42899f568
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCObjectFileInfo.h
    M llvm/lib/MC/MCObjectFileInfo.cpp
    A llvm/test/MC/ELF/section-callgraph.s

  Log Message:
  -----------
  [MC] Remove unused pre-created .llvm.callgraph section (#224369)

getCallGraphSection always creates a per-function SHF_LINK_ORDER
section, so the pre-created one is unused. Its only effect is that
hand-written `.section .llvm.callgraph` silently gets
`SHT_LLVM_CALL_GRAPH`, while the same directive within a group (e.g.
`.pushsection .llvm.callgraph,"?"` after a group member) gets
SHT_PROGBITS.

Remove it so that an omitted type gives SHT_PROGBITS in both cases, like
GNU assembler. Specify `%llvm_call_graph` to get SHT_LLVM_CALL_GRAPH.


  Commit: f17b2d1241b235c5a29e3eda2fd0ecfefee49ec1
      https://github.com/llvm/llvm-project/commit/f17b2d1241b235c5a29e3eda2fd0ecfefee49ec1
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/test/API/lang/objc/synthesized-property-accessor/TestSynthesizedPropertyAccessor.py

  Log Message:
  -----------
  [lldb][test] Add missing import to TestSynthesizedPropertyAccessor (#224543)

The decorators were introduced in 846719ae22 .


  Commit: 2f7f8d1f7c70b6a016cd25d82d4a0a8f43c144aa
      https://github.com/llvm/llvm-project/commit/2f7f8d1f7c70b6a016cd25d82d4a0a8f43c144aa
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

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

  Log Message:
  -----------
  [ORC] Drive EPCGenericRTDyldMemoryManager via proxies (#224532)

Replace its three callSPSWrapper sites (reserve, initialize, release)
with a SimpleMemoryMapBindings handle, matching the memory manager
already used by EPCGenericJITLinkMemoryManager. Dispatch and callee
errors now arrive on a single channel, so the paired error checks
collapse into one.


  Commit: 8d3c2f7eeab5fc3441f20de51bffbdfc015231d6
      https://github.com/llvm/llvm-project/commit/8d3c2f7eeab5fc3441f20de51bffbdfc015231d6
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/test/DebugInfo/X86/fission-ranges.ll
    A llvm/test/DebugInfo/X86/prologue-end-phi-incoming-constant.ll

  Log Message:
  -----------
  [FastISel] Give PHI incoming materializations a debug location (#223677)

When a block only sets up a successor's PHI nodes before falling
through, nothing follows those materializations for flushLocalValueMap
to take a location from, so the loop's line got its first is_stmt entry
inside the header, which is also the back edge target. Use the
terminator's location instead (which branches to the PHI).

The motivation is to fix
https://github.com/llvm/llvm-project/issues/202065 where
compiler generated loops for Fortran array expressions caused
breakpoints on the statement to fire at each iteration inside the loop
body instead of once inside the header.

Assisted-by: AI


  Commit: a543cc18874c79a25948022eeb2299e6dc6fda73
      https://github.com/llvm/llvm-project/commit/a543cc18874c79a25948022eeb2299e6dc6fda73
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/tools.h
    M flang-rt/lib/runtime/assign.cpp
    M flang-rt/lib/runtime/tools.cpp
    M flang/include/flang/Optimizer/Builder/Runtime/Assign.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Optimizer/Support/AllocationPolicy.h
    M flang/include/flang/Runtime/assign.h
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Assign.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopy.cpp
    M flang/lib/Optimizer/Support/AllocationPolicy.cpp
    M flang/test/Fir/allocation-policy-pipeline.fir
    M flang/test/HLFIR/assumed-type-actual-args.f90
    M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
    M flang/test/HLFIR/copy-in-out-codegen.fir
    M flang/test/HLFIR/copy-in-out.fir
    M flang/test/HLFIR/inline-hlfir-copy-stack.fir
    M flang/test/HLFIR/inline-hlfir-copy.fir
    M flang/test/HLFIR/memory-effects.fir
    M flang/test/Lower/HLFIR/assumed-rank-calls.f90
    M flang/test/Lower/HLFIR/call-postponed-associate.f90
    M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
    M flang/test/Lower/HLFIR/calls-assumed-shape.f90
    M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
    M flang/test/Lower/HLFIR/calls-optional.f90
    M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
    M flang/test/Lower/HLFIR/calls-poly-to-nonpoly.f90
    M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/call-copy-in-out.f90
    M flang/test/Lower/components.f90
    M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
    M flang/test/Lower/dummy-argument-optional-2.f90
    M flang/test/Lower/parent-component.f90

  Log Message:
  -----------
  [flang][HLFIR] make copyin/copyout allocation inline (#224063)

This patch moves most allocations of copyin/copyout to the compiler so
that small buffers can be stack allocated, even when the loops are not
inlined. The main motivation is to allow better memory management when
the code ends-up in device region, but this also benefits CPU by giving
more control over allocations.

In the future, we may just consider inlining everything including
copyout, but very early attempts to do so showed that this increased WRF
compile times significantly at O2 for no benefits. Plus, I rather keep
the copy-out inside the runtime only while @eugeneepshteyn is working on
making it "copy on change".

Hence this patch just moves to use `ShallowCopyDirect` for the copy-in
and a new `CopyOutAssignDirect` for the copy-out (so that the new copy
on change policy can be integrated) for non assumed-rank non polymorphic
copy-in/copy-out, and does the allocation inline for the buffer
following the same rules as in `inlineHLFIRCopyin` (i.e. small buffers
on stack, everything else on the heap for now).

A new "mustFree" boolean has to be added as a result to hlfir.copyin and
input from hlfir.copyout to tell if the buffer needs to be deallocated
or not (stack or heap allocated) to avoid having to make assumptions on
how the buffer was allocated in hlfir.copyout codegen.

Assited-by: AI


  Commit: 597b9360616e3a24b11940593a5b475bf1edbaf7
      https://github.com/llvm/llvm-project/commit/597b9360616e3a24b11940593a5b475bf1edbaf7
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/test/CodeGen/SPIRV/pointers/nested-struct-opaque-pointers.ll

  Log Message:
  -----------
  [SPIR-V] Preserve struct name when rebuilding nested types (#224544)

Follow up on comment from
https://github.com/llvm/llvm-project/pull/222968


  Commit: 6578ab22aa65c308c41ac3b0979f65dfb797b311
      https://github.com/llvm/llvm-project/commit/6578ab22aa65c308c41ac3b0979f65dfb797b311
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/tools.h
    M flang-rt/lib/runtime/assign.cpp
    M flang-rt/lib/runtime/tools.cpp
    M flang/include/flang/Optimizer/Builder/Runtime/Assign.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Optimizer/Support/AllocationPolicy.h
    M flang/include/flang/Runtime/assign.h
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Assign.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopy.cpp
    M flang/lib/Optimizer/Support/AllocationPolicy.cpp
    M flang/test/Fir/allocation-policy-pipeline.fir
    M flang/test/HLFIR/assumed-type-actual-args.f90
    M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
    M flang/test/HLFIR/copy-in-out-codegen.fir
    M flang/test/HLFIR/copy-in-out.fir
    M flang/test/HLFIR/inline-hlfir-copy-stack.fir
    M flang/test/HLFIR/inline-hlfir-copy.fir
    M flang/test/HLFIR/memory-effects.fir
    M flang/test/Lower/HLFIR/assumed-rank-calls.f90
    M flang/test/Lower/HLFIR/call-postponed-associate.f90
    M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
    M flang/test/Lower/HLFIR/calls-assumed-shape.f90
    M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
    M flang/test/Lower/HLFIR/calls-optional.f90
    M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
    M flang/test/Lower/HLFIR/calls-poly-to-nonpoly.f90
    M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/call-copy-in-out.f90
    M flang/test/Lower/components.f90
    M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
    M flang/test/Lower/dummy-argument-optional-2.f90
    M flang/test/Lower/parent-component.f90

  Log Message:
  -----------
  Revert "[flang][HLFIR] make copyin/copyout allocation inline" (#224564)

Reverts llvm/llvm-project#224063

Breaks shared library builds


  Commit: 93c5d8dc62aed90249af2a821d6fd86f3aa78425
      https://github.com/llvm/llvm-project/commit/93c5d8dc62aed90249af2a821d6fd86f3aa78425
  Author: Jiaxun Yang <jiaxun.yang at flygoat.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

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

  Log Message:
  -----------
  [ORC][Mips] Fix calling convention handling for lazy calls (#223830)

Move the resolved address into $t9 before jumping to it, as jumping
target is evaluated before delay slot execution.

Correct the o32 stub size to 16 bytes and reserve the required argument
save area around the reentry call for saved registers.

Update resolver sizes to match the emitted instructions.

Validated with existing tests on Mips Linux for both o32 and n64.


  Commit: 4772a40be634e8b343fab504db691c473e12232b
      https://github.com/llvm/llvm-project/commit/4772a40be634e8b343fab504db691c473e12232b
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefSafetyModel.cpp
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm

  Log Message:
  -----------
  Revert "[WebKit checkers] Treat the return value of an instance method as an unsafe pointer origin (llvm#160569)" (#224479)

This reverts commmit d08a2a43abd91865002a42938b60f172527defa3 as it
introduced too many new warnings.


  Commit: af59e6e8eef55e3651dee022bd0874a695637bb2
      https://github.com/llvm/llvm-project/commit/af59e6e8eef55e3651dee022bd0874a695637bb2
  Author: Igor Wodiany <igor.wodiany at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td

  Log Message:
  -----------
  [AMDGPU] Remove `hasSideEffects` from `SI_IF`, `SI_ELSE` and `SI_LOOP` (#224007)

An arbitrary side-effect flag blocks sinking of memory operations due to
the unmodelled-side-effect check returning true. This change has no
effect on other transformations as modeled side effects (EXEC and SCC
defs) are still accounted for and sufficient to gate unsound code
motion. All three instructions are still rejected by `isSafeToMove` as
they carry the terminator flag.

This commit is part of the effort to enhance `MachineSink` on the AMDGPU
target. By itself itself it does not unblock more code motion
opportunities but it is a prerequisite to do so.


  Commit: d9324899756c7c85f0badd387b2138d75a050bb8
      https://github.com/llvm/llvm-project/commit/d9324899756c7c85f0badd387b2138d75a050bb8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGException.cpp

  Log Message:
  -----------
  [CodeGen] Don't use CreateRuntimeFunction() for intrinsics (#224329)

These should just use getIntrinsic().


  Commit: e1c8d715d2b034526808b8b046ba6fcbe950c3de
      https://github.com/llvm/llvm-project/commit/e1c8d715d2b034526808b8b046ba6fcbe950c3de
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    R lld/test/ELF/Inputs/icf-merge-sec.s
    R lld/test/ELF/Inputs/icf-merge.s
    R lld/test/ELF/Inputs/icf-merge2.s
    R lld/test/ELF/Inputs/icf-merge3.s
    R lld/test/ELF/Inputs/icf2.s
    R lld/test/ELF/icf-merge-sec.s
    M lld/test/ELF/icf-merge.s
    A lld/test/ELF/icf-reference-graph.s
    R lld/test/ELF/icf14.s
    R lld/test/ELF/icf2.s
    R lld/test/ELF/icf3.s

  Log Message:
  -----------
  [ELF,test] Reorganize ICF tests by the property they exercise (#224567)

icf-merge.s now covers relocations into SHF_MERGE sections, adding
section symbol addends at and past the end of the section.

icf-reference-graph.s collects reference shapes: the cycle from icf2.s
and icf3.s, a section referencing itself, and chains that differ only
beyond the initial hash's reach. Only the cycle was covered before.


  Commit: 7db8a89e290d8ff44a972b096282c59340a788b7
      https://github.com/llvm/llvm-project/commit/7db8a89e290d8ff44a972b096282c59340a788b7
  Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
    M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
    M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
    M llvm/include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h
    M llvm/include/llvm/CodeGen/GlobalISel/Localizer.h
    M llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h
    M llvm/include/llvm/CodeGen/LiveIntervals.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/RegisterClassInfo.h
    M llvm/include/llvm/CodeGen/Rematerializer.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/DTLTO/DTLTO.h
    M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryScanner.h
    M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/OrcRTBootstrap.h
    M llvm/include/llvm/IR/PassManager.h
    M llvm/include/llvm/MC/MCAsmStreamer.h
    M llvm/include/llvm/MC/MCGOFFObjectWriter.h
    M llvm/include/llvm/Passes/RunCodeGen.h
    M llvm/include/llvm/Support/RWMutex.h
    M llvm/include/llvm/Transforms/Scalar/LogicalSROA.h
    M llvm/include/llvm/Transforms/Utils/FunctionComparator.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h

  Log Message:
  -----------
  [llvm] Adjust LLVM_ABI annotations (#224293)

The automatic LLVM_ABI annotations script has been broken since #208780.
PR #223354 restores its functionality. In the meantime, some API
annotations regressed. This PR aims to fix all of these regressions.

This was applied by calling the updated ids-check-helper.py from #223354
on the public LLVM headers on a macOS host and clang-formatting the
results.

The effort to build LLVM as a dylib is tracked in #109483.


  Commit: 69410be09b4c82f45ed5c9dbe68a326cce9e428f
      https://github.com/llvm/llvm-project/commit/69410be09b4c82f45ed5c9dbe68a326cce9e428f
  Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/alloc-aligned-tuples-gfx1250.mir

  Log Message:
  -----------
  [AMDGPU][CodeGen] Replace non-existent opcodes in gfx1250 test (#223767)

`IMAGE_LOAD_V5_V1` and `IMAGE_SAMPLE_C_CL_O_V4_V8` don't exist on
gfx1250. This keeps the tests' intent without relying on them.


  Commit: b35e49363c57376c40a250b57b4acd0c1138a0dd
      https://github.com/llvm/llvm-project/commit/b35e49363c57376c40a250b57b4acd0c1138a0dd
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/Loads.h
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp

  Log Message:
  -----------
  [MemoryDependenceAnalysis] Migrate `isStorePreservingMemoryLocation` to Loads (NFC) (#223700)

Minor opportunity to expose the helper and move it out of MDA.


  Commit: 1985f37b5d3a314bbcadebc716bd216bca38e8b4
      https://github.com/llvm/llvm-project/commit/1985f37b5d3a314bbcadebc716bd216bca38e8b4
  Author: Jared Wyles <jared.wyles at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake

  Log Message:
  -----------
  [CMake] Do not use llvm-rc without Clang in external projects (#224505)

On Windows, configuring LLVM without Clang but with external projects

i.e. 
```
-DLLVM_ENABLE_PROJECTS=
-DLLVM_ENABLE_RUNTIMES=orc-rt
```

llvm-rc is selected as the rc compiler but requires clang for
pre-processing. Only select llvm-rc for external projects when Clang is
also part of the toolchain, otherwise CMake uses the host rc compiler.


  Commit: ad0072d503a035d3e30fab668695a72d5774556f
      https://github.com/llvm/llvm-project/commit/ad0072d503a035d3e30fab668695a72d5774556f
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/tools.h
    M flang-rt/lib/runtime/assign.cpp
    M flang-rt/lib/runtime/tools.cpp
    M flang/include/flang/Optimizer/Builder/Runtime/Assign.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Optimizer/Support/AllocationPolicy.h
    M flang/include/flang/Runtime/assign.h
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Assign.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopy.cpp
    M flang/lib/Optimizer/Support/AllocationPolicy.cpp
    M flang/lib/Optimizer/Support/CMakeLists.txt
    M flang/test/Fir/allocation-policy-pipeline.fir
    M flang/test/HLFIR/assumed-type-actual-args.f90
    M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
    M flang/test/HLFIR/copy-in-out-codegen.fir
    M flang/test/HLFIR/copy-in-out.fir
    M flang/test/HLFIR/inline-hlfir-copy-stack.fir
    M flang/test/HLFIR/inline-hlfir-copy.fir
    M flang/test/HLFIR/memory-effects.fir
    M flang/test/Lower/HLFIR/assumed-rank-calls.f90
    M flang/test/Lower/HLFIR/call-postponed-associate.f90
    M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
    M flang/test/Lower/HLFIR/calls-assumed-shape.f90
    M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
    M flang/test/Lower/HLFIR/calls-optional.f90
    M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
    M flang/test/Lower/HLFIR/calls-poly-to-nonpoly.f90
    M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/call-copy-in-out.f90
    M flang/test/Lower/components.f90
    M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
    M flang/test/Lower/dummy-argument-optional-2.f90
    M flang/test/Lower/parent-component.f90

  Log Message:
  -----------
  Reland [flang][HLFIR] make copyin/copyout allocation inline (#224063) (#224570)

This patch moves most allocations of copyin/copyout to the compiler so
that small buffers can be stack allocated, even when the loops are not
inlined. The main motivation is to allow better memory management when
the code ends-up in device region, but this also benefits CPU by giving
more control over allocations.

In the future, we may just consider inlining everything including
copyout, but very early attempts to do so showed that this increased WRF
compile times significantly at O2 for no benefits and the copyout runtime
was just modified to do "copy on change" so I do not want to inline it
until more this new approached is tested more broadly.

Hence this patch just moves to use `ShallowCopyDirect` for the copy-in
and a new `CopyOutAssignDirect` for the copy-out (so that the new copy
on change policy can be integrated) for non assumed-rank non polymorphic
copy-in/copy-out, and does the allocation inline for the buffer
following the same rules as in `inlineHLFIRCopyin` (i.e. small buffers
on stack, everything else on the heap for now).

A new "mustFree" boolean has to be added as a result to hlfir.copyin and
input from hlfir.copyout to tell if the buffer needs to be deallocated
or not (stack or heap allocated) to avoid having to make assumptions on
how the buffer was allocated in hlfir.copyout codegen.

Assited-by: AI

Relands #224063 with a CMakeLists.txt change that fixes shared library builds.


  Commit: 6f653e2e40ef7095b5cb04cd0b34d8d5b754301b
      https://github.com/llvm/llvm-project/commit/6f653e2e40ef7095b5cb04cd0b34d8d5b754301b
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/i386/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/grp.yaml
    M libc/src/grp/CMakeLists.txt
    A libc/src/grp/endgrent.cpp
    A libc/src/grp/endgrent.h
    A libc/src/grp/getgrent.cpp
    A libc/src/grp/getgrent.h
    A libc/src/grp/setgrent.cpp
    A libc/src/grp/setgrent.h
    M libc/test/src/grp/CMakeLists.txt
    A libc/test/src/grp/getgrent_test.cpp
    A libc/test/src/grp/grp_test_utils.h

  Log Message:
  -----------
  [libc] Add getgrent, setgrent, and endgrent entrypoints (#224372)

Implement the POSIX group database iteration entrypoints getgrent,
setgrent, and endgrent on top of grp_utils and FlatFileDatabase.

Non-reentrant calls read into a process-global DynamicBuffer that grows
to the high-water mark of the largest group record seen. endgrent closes
the file stream without freeing the buffer so pointers returned prior to
endgrent remain valid until the next non-reentrant call.

* Add getgrent, setgrent, and endgrent entrypoints
* Define getgrent, setgrent, and endgrent in include/grp.yaml
* Expose entrypoints across Linux target architectures
* Add hermetic integration tests in test/src/grp/getgrent_test.cpp

Assisted-by: Automated tooling, human reviewed.


  Commit: 47f4f0fdb9d4f52b5936478f4d43064c877065e3
      https://github.com/llvm/llvm-project/commit/47f4f0fdb9d4f52b5936478f4d43064c877065e3
  Author: Ömer Sinan Ağacan <omer at osa1.net>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/recurrence.ll

  Log Message:
  -----------
  [ValueTracking] Compute known bits for `umin` and `umax` recurrences (#222890)


  Commit: bb50aa72c5eecafc831cc636006fcb926af35fa4
      https://github.com/llvm/llvm-project/commit/bb50aa72c5eecafc831cc636006fcb926af35fa4
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    A libcxx/test/benchmarks/regex.bench.cpp

  Log Message:
  -----------
  [libc++] Add some basic benchmarks for std::regex (#223633)


  Commit: db349a40f94f8d3fe089b396d688f38dcb794ebf
      https://github.com/llvm/llvm-project/commit/db349a40f94f8d3fe089b396d688f38dcb794ebf
  Author: Björn Svensson <bjorn.a.svensson at est.tech>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp

  Log Message:
  -----------
  [clang-tidy] Fix false positive in readability-non-const-parameter for atomic builtins (#221951)

Atomic builtins are represented in the AST by `AtomicExpr` rather than
`CallExpr`, so `readability-non-const-parameter` never analysed their
operands and assumed the pointed-to data was only read. It then
suggested making those pointer parameters point to const, and applying
the fix-it produced code that no longer compiles.

The most visible case is the `expected` operand of a compare-exchange,
which per the C standard must be a pointer to non-const because it
receives the old value when the exchange fails:
https://godbolt.org/z/sovKf3G3c

Before this change the check reported `expected` as a candidate for
pointer-to-const. The GNU builtins are affected the same way, and there
the address operand `obj` was reported too, as were the destination
operand of `__atomic_load()` and the old-value operand of
`__atomic_exchange()`.

Match `atomicExpr()` and mark all of its operands, mirroring how
arguments of ordinary calls are already treated.

---------

Signed-off-by: Björn Svensson <bjorn.a.svensson at est.tech>


  Commit: 24c737781980610b358c351c40eb932a2b68f735
      https://github.com/llvm/llvm-project/commit/24c737781980610b358c351c40eb932a2b68f735
  Author: Julien Villette <julien.villette at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/lib/Target/AArch64/AArch64SchedPredNeoverse.td
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s

  Log Message:
  -----------
  [AArch64][NeoverseV1/V2] Fix extended/shifted-register scheduling for ADD[S]/SUB[S]/AND[S]/BIC[S] (#220920)

Verified with llvm-exegesis on Neoverse V1 and V2 hardwares.

Opcodes                | Before              | After

-----------------------|---------------------|------------------------------
ADDWrx/SUBWrx | 2c (SchedAlias) | IsRealArithExtendW: 1c or 2c
ADDSWrx/SUBSWrx | IsCheapLSL | IsRealArithExtendW: 1c or 2c
ADDSXrx/SUBSXrx | IsCheapLSL | static 2c (always real extend)
ADDSXrx64/SUBSXrx64 | IsCheapLSL | static 1c (always passthrough)
ANDS/BICS Wrs,Xrs      | static 2c           | NeoverseShift0: 1c or 2c

IsCheapLSL checks the shift *amount* (<=4), which is the wrong axis for
the extend-register forms (need the extend *type* instead) and does not
apply to ANDS/BICS (no amount threshold, just shift-present-or-not).
NeoverseNoLSL becomes NeoverseShift0: adding LSR, ASR and ROR in
addition to LSL. Does not apply it on NeoverseV3 and others as it is not
validated using llvm-exegesis on these hardwares.


  Commit: 03ad73a3aa2e1c604b73f8ae11f9b424fa9a8844
      https://github.com/llvm/llvm-project/commit/03ad73a3aa2e1c604b73f8ae11f9b424fa9a8844
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/for-phi-ordering.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    M llvm/test/Transforms/LoopVectorize/phi-cost.ll
    M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
    M llvm/test/Transforms/LoopVectorize/select-reduction.ll

  Log Message:
  -----------
  [LV] Fold invariant reduction phis to their start value. (#223279)

A reduction phi whose backedge value is the phi itself is invariant and
equal to its start value. This can happen when the reduction operation
folds away, e.g. `or X, 0`, `and X, -1`, `add X, 0` or `mul X, 1`.

Clean up such trivial non-reductions early.

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


  Commit: 69ea592d55f3491df20cc58e08c486a47e551340
      https://github.com/llvm/llvm-project/commit/69ea592d55f3491df20cc58e08c486a47e551340
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    A llvm/test/tools/llvm-pdbutil/invalid-yaml.test
    M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp

  Log Message:
  -----------
  [llvm-pdbutil] Print error on invalid YAML (#207528)

From
https://github.com/llvm/llvm-project/pull/207058#discussion_r3522204565:
We should print out an error if we encounter invalid YAML.

With this PR, the error is printed. I included the diagnostics here,
because they provide better error messages and allow you to locate the
error easier.


  Commit: c23e28a79117faf5d6530f19549f602525b72128
      https://github.com/llvm/llvm-project/commit/c23e28a79117faf5d6530f19549f602525b72128
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp

  Log Message:
  -----------
  ExecutionEngine: Compute the DataLayout from the triple and ABI (#224547)


  Commit: db0e752a8833b933b41ec15d8311b37d125f655d
      https://github.com/llvm/llvm-project/commit/db0e752a8833b933b41ec15d8311b37d125f655d
  Author: Zeyi Xu <zeyi2 at nekoarch.cc>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-pointer-arithmetic-in-alloc.cpp

  Log Message:
  -----------
  [clang-tidy] Fix crash in bugprone-misplaced-pointer-arithmetic-in-alloc (#224509)

This commit checks for an empty constructor argument list before
accessing its last element.

Reproducer at: https://godbolt.org/z/Tfvnbhx19

AI Usage: the issue was found by Grok 4.6. Although IMO this is a pretty
uncommon/rare case, less crash-on-valid is always better.


  Commit: 8c62ebfe131b6bdf9d1ab96a680ee0f85ce1b325
      https://github.com/llvm/llvm-project/commit/8c62ebfe131b6bdf9d1ab96a680ee0f85ce1b325
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Host/Host.h
    M lldb/include/lldb/Target/Platform.h
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/Host/aix/Host.cpp
    M lldb/source/Host/emscripten/Host.cpp
    M lldb/source/Host/freebsd/Host.cpp
    M lldb/source/Host/linux/Host.cpp
    M lldb/source/Host/macosx/objcxx/Host.mm
    M lldb/source/Host/netbsd/HostNetBSD.cpp
    M lldb/source/Host/openbsd/Host.cpp
    M lldb/source/Host/windows/Host.cpp
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/TargetProperties.td
    M lldb/test/Shell/lit-lldb-init.in

  Log Message:
  -----------
  [lldb] Make the shell expansion timeout an LLDB setting (#221952)

LLDB launches a small utility program that prints its own arguments to
expand launch arguments. This lldb-argdumper invocation was previously
capped with a hardcoded 10 second timeout, which is low enough that we
kept hitting it on CI bots in random tests:

```
runCmd failed!
>>> error: shell expansion failed (reason: timed out waiting for shell command to complete). consider launching with 'process launch'.
```

This turns the timeout into the new "platform.shell-expand-timeout"
setting (in seconds) so it can be tuned without recompiling. The
default is now three minutes, and a value of 0 disables the timeout
entirely.

The test suite now disables the timeout altogether as it serves
no purpose there.


  Commit: 0d8654095aff13e18701d4cf954d638eda80d25a
      https://github.com/llvm/llvm-project/commit/0d8654095aff13e18701d4cf954d638eda80d25a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/dependent-seeds.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the missed vectorization, NFC



Reviewers: 

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


  Commit: 9390e1be8652bbb4cfc54dd6ffdc1ee044ff77f5
      https://github.com/llvm/llvm-project/commit/9390e1be8652bbb4cfc54dd6ffdc1ee044ff77f5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    A llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-correlated-end.ll

  Log Message:
  -----------
  [SCEV] Bound the max BE count by the range of End - Start. (#222752)

In same cases, like A < A + N, End - Start can give a tighter maximum
bound due to folding that gets missed when just subtracting the ranges.

This improves results in a few cases:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1256.

Found while working on unifying howManyLessThans & howManyGreaterThans.
The latter uses a hand-rolled variant of computeMaxBECountForLT for GT,
which computes the delta like that.

Compile-time increase is in the noise
https://llvm-compile-time-tracker.com/compare.php?from=28f36e6d3912e3f9c50fbf57113f84cd336b7862&to=dfbe4dec46620effd87fe913b26b2f656f4b2750&stat=instructions:u

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


  Commit: 8c013a1947a8c9fbe22fed19fdb2da1b2513aa5e
      https://github.com/llvm/llvm-project/commit/8c013a1947a8c9fbe22fed19fdb2da1b2513aa5e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/dependent-seeds.ll

  Log Message:
  -----------
  [SLP]Do not stop the seed scan when a dependent seed is skipped

The dependency check leaves the current window short, and the
not-enough-instructions exit then ends the whole start-position scan for
the current VF, so later independent operations are never tried. Keep
scanning from the next position when the shortfall was caused by a
skipped dependent seed.

Fixes #224286

Reviewers: 

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


  Commit: 032bea5e405e11122758d8d815d50e41cd3d243b
      https://github.com/llvm/llvm-project/commit/032bea5e405e11122758d8d815d50e41cd3d243b
  Author: Łukasz Plewa <lukasz.plewa at intel.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M libsycl/src/detail/queue_impl.cpp
    M libsycl/src/usm_functions.cpp
    M libsycl/unittests/handler/test_helpers.hpp
    M libsycl/unittests/mock/helpers.cpp
    M libsycl/unittests/mock/helpers.hpp
    M libsycl/unittests/mock/mock.cpp
    M libsycl/unittests/queue/memcpy.cpp
    M libsycl/unittests/usm/alloc.cpp
    M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
    M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
    M offload/languages/kernel/src/LanguageRuntime.cpp
    M offload/liboffload/API/Memory.td
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    M offload/plugins-nextgen/host/src/rtl.cpp
    M offload/plugins-nextgen/level_zero/include/L0Memory.h
    M offload/plugins-nextgen/level_zero/include/L0Plugin.h
    M offload/plugins-nextgen/level_zero/src/L0Context.cpp
    M offload/plugins-nextgen/level_zero/src/L0Device.cpp
    M offload/plugins-nextgen/level_zero/src/L0Memory.cpp
    M offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
    M offload/unittests/Conformance/include/mathtest/DeviceContext.hpp
    M offload/unittests/Conformance/include/mathtest/DeviceResources.hpp
    M offload/unittests/Conformance/lib/DeviceContext.cpp
    M offload/unittests/Conformance/lib/DeviceResources.cpp
    M offload/unittests/OffloadAPI/event/olGetEventElapsedTime.cpp
    M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
    M offload/unittests/OffloadAPI/memory/olGetMemInfo.cpp
    M offload/unittests/OffloadAPI/memory/olGetMemInfoSize.cpp
    M offload/unittests/OffloadAPI/memory/olMemAlloc.cpp
    M offload/unittests/OffloadAPI/memory/olMemAllocAligned.cpp
    M offload/unittests/OffloadAPI/memory/olMemFill.cpp
    M offload/unittests/OffloadAPI/memory/olMemFree.cpp
    M offload/unittests/OffloadAPI/memory/olMemPrefetch.cpp
    M offload/unittests/OffloadAPI/memory/olMemcpy.cpp
    M offload/unittests/OffloadAPI/queue/olLaunchHostFunction.cpp
    M offload/unittests/OffloadAPI/queue/olWaitEvents.cpp

  Log Message:
  -----------
  [offload] add context to olMemAlloc* (#222677)

This is the last part of the context refactor. This patch:
- Adds context param to all memory allocation functions.
- Routes ptr info through the plugins instead of a global map.
- Removes allocation tracking from liboffload.
- olGetMemInfo(OL_MEM_INFO_DEVICE) now returns INVALID_ARGUMENT for host
allocations, which have no per-device affinity.

Assisted-by: Claude Opus 4.7


  Commit: 70ba7b64200af3af7f9d26d66f3b08c8cbb2d357
      https://github.com/llvm/llvm-project/commit/70ba7b64200af3af7f9d26d66f3b08c8cbb2d357
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h

  Log Message:
  -----------
  [VPlan] Implement VPBlockUtils::blocksOnly using make_isa_range (NFC) (#224596)

Use make_isa_range to simplify blocksOnly implementation.


  Commit: b19ba6516266a8c6b1a705aaa2cabb931ad4e2b6
      https://github.com/llvm/llvm-project/commit/b19ba6516266a8c6b1a705aaa2cabb931ad4e2b6
  Author: Federico Bruzzone <federico.bruzzone.i at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
    M llvm/test/Transforms/TailCallElim/shl-accumulator-opt.ll

  Log Message:
  -----------
  [TailRecElim] Handle discarded-call return conflicts with a shift accumulator (#221694)

Fixes a follow-up miscompile from #181331, reported by nikic in
https://github.com/llvm/llvm-project/pull/181331#issuecomment-5509668449,
similar but unrelated to #214503.

`findBaseCaseRetConstant` only scanned live `ret` instructions to check
that a shift accumulator's base case is consistent everywhere. A sibling
call site that discards its own recursive call and returns a fixed
constant is eliminated earlier, so its `ret` is already gone by the time
the scan runs. The scan missed it and `cleanupAndFinalize` would
silently replace that constant with the accumulator value.

With this PR we also check the false-value of already-inserted selects
for consistency, bailing out the accumulator transform on conflict.

---------

Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>


  Commit: 7ed0d7d42019ab5ad6df8fb89e968ecef24b01a5
      https://github.com/llvm/llvm-project/commit/7ed0d7d42019ab5ad6df8fb89e968ecef24b01a5
  Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaOverload.cpp
    M clang/test/CXX/over/over.match/over.match.best/p2.cpp

  Log Message:
  -----------
  [clang][Sema] Fix tautological type check in sameFunctionParameterTypeLists (#224500)

hasSameType had duplicate parameters, which meant we weren't actually
checking if the function signatures are equal, so in the case they
aren't we could incorrectly accept ambiguous overload resolutions.

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


  Commit: 61c6997eec7c8023f8927306d8ed166e3539123b
      https://github.com/llvm/llvm-project/commit/61c6997eec7c8023f8927306d8ed166e3539123b
  Author: Paweł Bylica <pawel at hepcolgum.band>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/Hexagon/autohvx/bf16insert.ll

  Log Message:
  -----------
  [X86][Hexagon] Remove the INSERT_VECTOR_ELT soft promotion workarounds (#223628)

SoftPromoteHalfOperand now handles INSERT_VECTOR_ELT, so neither target
needs to intercept the node on the scalar type to keep the type
legalizer from failing with "Do not know how to soft promote this
operator's operand!".

X86 did exactly what the generic code does: bitcast the vector to its
integer counterpart, insert an i16 and bitcast the result back. Hexagon
built the same vXi16 insert, and that one is still custom lowered
through the regular HVX path.

Both target hooks become unreachable once the operation actions are
gone, because the element operand is promoted to i16 before LegalizeDAG
runs, so drop them as well.

No codegen change: X86/bfloat.ll,
X86/vector-shuffle-combining-avx512bf16.ll and the autohvx tests that
insert into half or bfloat vectors (hfinsert.ll,
build-vector-float-type.ll, splat.ll, calling-conv.ll) all produce
identical output.

The new test `llvm/test/CodeGen/Hexagon/autohvx/bf16insert.ll` covers
the `bf16` path, which nothing exercised before: the existing autohvx
insert tests all use `half`. It uses a variable index so the insert
cannot fold into a `BUILD_VECTOR`. The removal is codegen-neutral there
as well: building `main` with only the `bf16` `setOperationAction`
deleted gives byte-identical output for a v81 `<64 x bfloat>` insert at
both a variable and a constant index.

Follow up to #223612.

Assisted-by: Claude Code


  Commit: 6b7f72c11059e52dad5cf33895af3f2284ab8fc0
      https://github.com/llvm/llvm-project/commit/6b7f72c11059e52dad5cf33895af3f2284ab8fc0
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    A clang/test/CIR/IR/invalid-ptr-mask.cir
    A clang/test/CIR/IR/ptr-mask.cir
    A clang/test/CIR/Lowering/ptr-mask.cir

  Log Message:
  -----------
  [CIR] Add cir.ptr_mask (#224143)

`cir.ptr_mask` ANDs a pointer with an integer mask and gives back a
pointer, lowering to llvm.intr.ptrmask. Paired with `cir.ptr_stride` it
rounds a pointer up to an alignment the way classic's
emitRoundPointerUpToAlignment does, without the round trip through an
integer that would lose provenance.

llvm.ptrmask needs the mask at exactly the target's pointer index width,
so the lowering extends or truncates it first. GEP takes an index of any
width, so `cir.ptr_stride` never needed this.

Assisted-by: Cursor / claude-opus-5


  Commit: 7d65da41171927246d39929704bc79885e15f9f3
      https://github.com/llvm/llvm-project/commit/7d65da41171927246d39929704bc79885e15f9f3
  Author: Levi Laine <61821471+levish0 at users.noreply.github.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Support/ConvertEBCDIC.h
    M llvm/lib/Support/ConvertEBCDIC.cpp
    M llvm/unittests/Support/ConvertEBCDICTest.cpp

  Log Message:
  -----------
  [Support] Correct UTF-8 error handling in ConvertEBCDIC (#185176)

`ConverterEBCDIC::convertToEBCDIC()` previously decoded only ASCII and
UTF-8 sequences beginning with `C2` or `C3`. Consequently, an incomplete
three- or four-byte sequence was reported as
`std::errc::illegal_byte_sequence`, even though the `TextEncoding`
contract uses `std::errc::invalid_argument` for incomplete input.

Decode each UTF-8 sequence using LLVM's shared `convertUTF8Sequence()`
utility before checking whether the decoded code point is supported by
the EBCDIC-1047 conversion table.

The resulting error handling is:
- Incomplete prefixes that can still form valid UTF-8 return
`std::errc::invalid_argument`.
- Malformed UTF-8 returns `std::errc::illegal_byte_sequence`.
- Valid UTF-8 code points outside U+0000 through U+00FF return
`std::errc::illegal_byte_sequence`.

Existing conversions of code points in U+0000 through U+00FF remain
unchanged. The public documentation now also specifies the supported
range, the empty-result precondition, and that a successfully converted
prefix remains in `Result` on error.

Regression tests cover incomplete two-, three-, and four-byte sequences,
malformed UTF-8 prefixes, invalid continuation bytes, and the converted
prefix retained on error.

### Testing
- `SupportTests.exe --gtest_filter=ConverterEBCDIC.*`
- `SupportTests.exe --gtest_filter=Encoding.*`


  Commit: 747c011130b66c197ff5b18892646933f3a1c838
      https://github.com/llvm/llvm-project/commit/747c011130b66c197ff5b18892646933f3a1c838
  Author: Prashanth <ping at starone01.me>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/test/Sema/typo-correction-no-hang.cpp
    M clang/test/Sema/typo-correction.c

  Log Message:
  -----------
  [clang][Sema][Tests] Add test coverage for function-like macro diagnostic edge cases and C++ (#223895)

Add C++ and edge-case test coverage for function-like macro diagnostic

Follow-up to #123495.

Adds regression tests covering cases not exercised by the original PR:
- Macro call with intervening comment/whitespace before '(', confirms
  findNextToken correctly skips these rather than misfiring
- Macro call with '(' across a line break
- Re-#define after #undef, confirms no stale state
- Array-size context (non-assignment expression)
- Variadic function-like macro
- New SemaCXX test confirming the diagnostic fires correctly in C++,
  since the implementation lives in shared SemaExpr.cpp

No behavior change, test coverage only.


  Commit: 6737b06ad3911eb7f3ef35f31307c63845a2a908
      https://github.com/llvm/llvm-project/commit/6737b06ad3911eb7f3ef35f31307c63845a2a908
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Remove unused State::addNotes (#224599)


  Commit: d569554ee8db7de233e0a866ba1df6cc7e5a1a72
      https://github.com/llvm/llvm-project/commit/d569554ee8db7de233e0a866ba1df6cc7e5a1a72
  Author: yahia <yahia.a.abdrabou at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 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/fcntl.yaml
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/fallocate.h
    M libc/src/fcntl/CMakeLists.txt
    A libc/src/fcntl/fallocate.h
    M libc/src/fcntl/linux/CMakeLists.txt
    A libc/src/fcntl/linux/fallocate.cpp
    M libc/test/src/fcntl/CMakeLists.txt
    A libc/test/src/fcntl/linux/CMakeLists.txt
    A libc/test/src/fcntl/linux/fallocate_test.cpp
    M libc/utils/docgen/fcntl.yaml

  Log Message:
  -----------
  [libc] Implement fallocate (#222843)

Implement fallocate function by adding a syscall wrapper.

Assisted-by: gemini (for the tests and macros)


  Commit: 35feca4d8b660134526eeb458179b54ad595abbe
      https://github.com/llvm/llvm-project/commit/35feca4d8b660134526eeb458179b54ad595abbe
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn

  Log Message:
  -----------
  [gn build] Port e78fdeba3f9a (#224615)


  Commit: eebfba998a5ffaedc997bb305e1ab6d0ee378070
      https://github.com/llvm/llvm-project/commit/eebfba998a5ffaedc997bb305e1ab6d0ee378070
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/test/CodeGen/SPIRV/transcoding/func_param_attr.ll

  Log Message:
  -----------
  [SPIR-V] Emit NoCapture function parameter decoration for captures(none) args (#223694)


  Commit: b9b96c85f40bc7ecaa68fb90651e7e973bd2761a
      https://github.com/llvm/llvm-project/commit/b9b96c85f40bc7ecaa68fb90651e7e973bd2761a
  Author: Sergey Semenov <sergey.semenov at intel.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M libsycl/include/sycl/__impl/queue.hpp
    M libsycl/src/detail/queue_impl.cpp
    M libsycl/src/detail/queue_impl.hpp
    M libsycl/src/queue.cpp
    A libsycl/test/usm/Inputs/fill_memset_common.hpp
    A libsycl/test/usm/fill.cpp
    A libsycl/test/usm/memset.cpp
    M libsycl/unittests/mock/helpers.cpp
    M libsycl/unittests/mock/helpers.hpp
    M libsycl/unittests/mock/mock.cpp
    M libsycl/unittests/queue/CMakeLists.txt
    A libsycl/unittests/queue/fill.cpp
    A libsycl/unittests/queue/memset.cpp

  Log Message:
  -----------
  [libsycl] Implement USM fill & memset queue API (#217933)


  Commit: 4cd54e9dbd1c8353366ac3ce0ec605ad271a176e
      https://github.com/llvm/llvm-project/commit/4cd54e9dbd1c8353366ac3ce0ec605ad271a176e
  Author: Advit Arora <advitarora2 at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/FlattenCFG.cpp
    M llvm/test/CodeGen/AMDGPU/scalar-branch-missing-and-exec.ll
    M llvm/test/Transforms/Util/flatten-cfg.ll

  Log Message:
  -----------
  [FlattenCFG] Merge parallel conditions with logical and/or (#218441)

`FlattenParallelAndOr` merges a short-circuit branch pair into one
branch using a bitwise `or`/`and`. Those propagate poison from either
operand, so a condition the source only evaluated behind a guard ends up
feeding an unconditional branch. Emit a logical or/and instead.

`MergeIfRegion` is left alone: `GetIfCondition` only matches when the
second condition already executes on every path, so a poison operand
there is UB before the transform too.

The merged weights compose, but the branch's !prof has the same
staleness problem and longer chains need the product carried through, so
the select is marked explicitly unknown here and the derivation is a
follow-up.

AMDGPU is the only in-tree user. `scalar-branch-missing-and-exec.ll` was
relying on flatten-cfg to build its and-chain, and the select chain
lowers to `s_and_b64 s[0:1], s[0:1], exec` rather than the `s_xor_b64`
it checks for. Nothing is miscompiled, but the test would stop covering
what it was written for, so it now hands the backend the merged
conditions directly. Its CHECK lines are unchanged and it passes on
main.

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


  Commit: dbf4967a1f5c80984aa3b0087067dde352e755a4
      https://github.com/llvm/llvm-project/commit/dbf4967a1f5c80984aa3b0087067dde352e755a4
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/ExecutionEngine/MCJIT/CMakeLists.txt

  Log Message:
  -----------
  [MCJIT] Add dependencies on TargetParser and MC. (#224610)

https://github.com/llvm/llvm-project/pull/224547 added dependencies on
the TargetParser and MC libraries. Update CMakeLists to include the
dependencies, which should fix the link failures caused by PR224547.


  Commit: e6a7b7a45f98c53c81ee4df90503a6e1d00d952b
      https://github.com/llvm/llvm-project/commit/e6a7b7a45f98c53c81ee4df90503a6e1d00d952b
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/abds-neg.ll
    M llvm/test/CodeGen/AArch64/abdu-neg.ll
    M llvm/test/CodeGen/PowerPC/abdu-neg.ll
    M llvm/test/CodeGen/RISCV/abds-neg.ll
    M llvm/test/CodeGen/RISCV/abdu-neg.ll
    M llvm/test/CodeGen/X86/abds-neg.ll
    M llvm/test/CodeGen/X86/abdu-neg.ll

  Log Message:
  -----------
  [LLVM][DAGCombiner] Relax requirements for "min(a,b)-max(a,b) -> -abd(a,b)". (#223725)

The combine "max(a,b)-min(a,b) -> abd(a,b)" has no legality check prior
to legalisation, but the matching "min(a,b)-max(a,b) -> -abd(a,b)"
combine does. This seems inconsistent and removing it does not look to
have any downsides.


  Commit: c02e5de301c6cb20ba5d0942b71ad8c2b412fb99
      https://github.com/llvm/llvm-project/commit/c02e5de301c6cb20ba5d0942b71ad8c2b412fb99
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M mlir/docs/Remarks.md
    M mlir/include/mlir/IR/Remarks.h
    M mlir/lib/IR/Remarks.cpp
    M mlir/test/Pass/remark-final.mlir
    M mlir/unittests/IR/RemarkTest.cpp

  Log Message:
  -----------
  [MLIR] Drain remarks in RemarkEmittingPolicyFinal::finalize() (#224607)

`RemarkEmittingPolicyFinal::finalize()` iterates `postponedRemarks`
without clearing it. `MlirOptMain` calls `finalize()` after printing the
module, and `~RemarkEngine` calls it again when the context is
destroyed, so a YAML or bitstream streamer serializes every remark
twice. With `mlir/test/Pass/remark-final.mlir` the YAML output file
holds 10 records for 5 remarks. The console path hides this because the
diagnostic handler is already gone when the destructor runs.

This change swaps the pending set into a local before emitting. A second
`finalize()` then emits only the remarks reported since the first one. A
consequence worth stating: a `RelatedTo` link resolves only between
remarks drained by the same call. Both behaviours are documented in the
header comment and in `Remarks.md`.

A follow-up will make the emission order of the final policy
deterministic; today it is `DenseSet` iteration order, which is why the
lit test keeps `CHECK-DAG`.

Assisted-by: Claude Code (Claude Fable 5.1). I read and reviewed the
change before opening it.


  Commit: ca7b8dc0df161ae1b36ab97465351acf13e3b633
      https://github.com/llvm/llvm-project/commit/ca7b8dc0df161ae1b36ab97465351acf13e3b633
  Author: Diego Novillo <dnovillo at nvidia.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    A llvm/test/CodeGen/SPIRV/GlobalISel/prelegalizer-switch-case-constant.mir
    A llvm/test/CodeGen/SPIRV/GlobalISel/prelegalizer-switch-case-shared-constant.ll

  Log Message:
  -----------
  [SPIRV] Fix compile abort on a switch case value shared with a module constant (#223548)

This fixes a failure I found when compiling shaders whose switch case
value is also emitted as a module constant. LLVM currently aborts with

```
Assertion `isCImm() && "Wrong MachineOperand accessor"' failed.
```

in `MachineOperand::getCImm`. Three shaders in
[BigWheels](https://github.com/google/bigwheels) and
[Vulkan-Samples](https://github.com/KhronosGroup/Vulkan-Samples) run
into this.

A case operand is a `G_CONSTANT` until the module emits a SPIR-V
constant for the same value, at which point the case register is
replaced with that constant. Both forms have to decode to the case
value, and only `G_CONSTANT` did. The other holds the type in operand 1,
which was read as a `ConstantInt`.

This change decodes the value from either form, walking every 32-bit
literal word so any width survives.

I've added two tests:

- `prelegalizer-switch-case-shared-constant.ll` calls a function
returning `<1 x float>`, so the module emits the constant 1 as the
`OpTypeVectorIdEXT` component count. One of the two case values collides
with it and the other does not, so it covers both forms at 32 bits.
- `prelegalizer-switch-case-constant.mir` tests `i64` and `i128`, and a
null constant of each width.


  Commit: 54a71b0d38b63fc6df48fde0dc5ffd84b9f12a50
      https://github.com/llvm/llvm-project/commit/54a71b0d38b63fc6df48fde0dc5ffd84b9f12a50
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/extract-feeds-address-latency.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with non-profitable vectorization, NFC



Reviewers: 

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


  Commit: cc9548d4a6f8b72f5efe84c968298815faad45dd
      https://github.com/llvm/llvm-project/commit/cc9548d4a6f8b72f5efe84c968298815faad45dd
  Author: Julien Villette <julien.villette at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/test/tools/llvm-mca/AArch64/Apple/M1-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A57-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/HiSilicon/hip12-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Inputs/basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-basic-instructions.s

  Log Message:
  -----------
  [AArch64] Extend llvm-mca basic instructions input tests (#224287)

Tests for extended/shifted-register ADD[S]/SUB[S]/ANDS.


  Commit: 852425505d6290f358f08454544aac688dbb5399
      https://github.com/llvm/llvm-project/commit/852425505d6290f358f08454544aac688dbb5399
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/test/Shell/Recognizer/assert.test

  Log Message:
  -----------
  [lldb][Windows] Skip assert frame recognizer tests on Windows on Arm (#224602)

https://github.com/llvm/llvm-project/pull/224269 introduced the assert
frame recognizers on Windows. This caused a regression on the Windows
ARM64 build bot: `PECallFrameInfo` does not handle ARM64 yet.

This patch skips the test on arm64 Windows.

Tracking issue: https://github.com/llvm/llvm-project/issues/224600


  Commit: a22291abb68744cb0b70978eb506a7c5592a3309
      https://github.com/llvm/llvm-project/commit/a22291abb68744cb0b70978eb506a7c5592a3309
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
    M llvm/test/CodeGen/AMDGPU/rewrite-out-arguments.ll

  Log Message:
  -----------
  [AMDGPU] Strip all incompatible return attrs in RewriteOutArgument (#224608)


  Commit: 9c6a62c49ea9d344cb891db1c1a157fe807c0e26
      https://github.com/llvm/llvm-project/commit/9c6a62c49ea9d344cb891db1c1a157fe807c0e26
  Author: Łukasz Plewa <lukasz.plewa at intel.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/host/src/rtl.cpp
    M offload/plugins-nextgen/level_zero/include/L0Plugin.h
    M offload/plugins-nextgen/level_zero/src/L0Plugin.cpp

  Log Message:
  -----------
  [offload] plumb HostPtr through PluginContextTy::allocate (#224622)

Restore the memory manager pool for libomptarget allocations. Fixes
regression introduced by: #222677

Assisted-By: Claude Opus


  Commit: 6d3f949e16618163ee5d74f580c5273af501b54e
      https://github.com/llvm/llvm-project/commit/6d3f949e16618163ee5d74f580c5273af501b54e
  Author: Marcos Maronas <mmaronas at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    A llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap-non-amd.ll
    A llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap-orderings.ll
    A llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap-oversized.ll
    A llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap-scopes.ll
    A llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap-signatures.ll
    M llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap.ll

  Log Message:
  -----------
  [SPIRV] Translate {uinc/udec}_wrap as opaque intrinsics for AMD (#215507)

Translation of `uinc_wrap` and `udec_wrap` as if they were opaque llvm
intrinsics, so that they can be restored in the reverse translation to
the exact original code. This only applies to AMD targets.

Part 1 of #213685 split.


  Commit: 540ee7cc012dad0bbfcef0352f6f63a60d27554a
      https://github.com/llvm/llvm-project/commit/540ee7cc012dad0bbfcef0352f6f63a60d27554a
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

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

  Log Message:
  -----------
  [lldb] Fix AddCacheData comments (#224383)

Fix the ambiguity  of "substitute" in comments


  Commit: 6c680076986c066a813c29e74a3c1183ea321adb
      https://github.com/llvm/llvm-project/commit/6c680076986c066a813c29e74a3c1183ea321adb
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
    A llvm/test/CodeGen/SPIRV/passes/SPIRVRegularizer-constexpr-metadata.ll
    M llvm/test/CodeGen/SPIRV/pointers/global-ptrtoint.ll

  Log Message:
  -----------
  [SPIR-V] Preserve constexpr vectors as OpSpecConstantComposite (#215794)

Let SPIRVEmitIntrinsics handle these the same as structs/arrays, instead
of eagerly expanding them to runtime insertelement chains


  Commit: c4b7e08e60f5b0918795d246dc39ae834d492009
      https://github.com/llvm/llvm-project/commit/c4b7e08e60f5b0918795d246dc39ae834d492009
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/SourceLocation.h
    M clang/lib/Rewrite/HTMLRewrite.cpp
    M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp

  Log Message:
  -----------
  Call FileID::getOpaqueValue() instead of getHashValue() for file identity (#224510)

The HTML diagnostics and rewriter code calls FileID::getHashValue() to
get a numeric identifier for each file.

#223794 changes getHashValue() so that it is no longer the identity
function, which breaks tests in clang/test/Analysis/html_diagnostics.

Call getOpaqueValue(), which is equivalent to the current implementation
of getHashValue(), from the HTML diagnostics/rewriter code instead. This
is a no-op today; it only matters once #223794 is reapplied.


  Commit: b65f5aca2ba2ca10611c9b5fb6f80bc34619362d
      https://github.com/llvm/llvm-project/commit/b65f5aca2ba2ca10611c9b5fb6f80bc34619362d
  Author: Alex Strelnikov <strel at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/include/CMakeLists.txt
    A libc/include/sys/xattr.yaml
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/flistxattr.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/listxattr.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/llistxattr.h
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/xattr/CMakeLists.txt
    A libc/src/sys/xattr/flistxattr.h
    A libc/src/sys/xattr/linux/CMakeLists.txt
    A libc/src/sys/xattr/linux/flistxattr.cpp
    A libc/src/sys/xattr/linux/listxattr.cpp
    A libc/src/sys/xattr/linux/llistxattr.cpp
    A libc/src/sys/xattr/listxattr.h
    A libc/src/sys/xattr/llistxattr.h
    M libc/test/src/sys/CMakeLists.txt
    A libc/test/src/sys/xattr/CMakeLists.txt
    A libc/test/src/sys/xattr/flistxattr_test.cpp
    A libc/test/src/sys/xattr/listxattr_test.cpp
    A libc/test/src/sys/xattr/llistxattr_test.cpp
    A libc/test/src/sys/xattr/testdata/CMakeLists.txt

  Log Message:
  -----------
  [libc] Add sys/xattr.h and entrypoints flistxattr, listxattr, and llistxattr. (#224357)

The header is non-POSIX, and the entrypoints, as described in
https://man7.org/linux/man-pages/man2/listxattr.2.html, have
Linux-specific signatures. BSD defines `listxattr` and `flistxattr`, but
with an additional parameter.

Assisted-by: Automated tooling, human reviewed.


  Commit: 49eb6d9632a107c25e8673e47623c3dbbecf7d9a
      https://github.com/llvm/llvm-project/commit/49eb6d9632a107c25e8673e47623c3dbbecf7d9a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    A llvm/test/Transforms/LoopVectorize/VPlan/record-execution-frequencies.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-before-after-all.ll
    M llvm/test/Transforms/LoopVectorize/replicate-region-guard-unknown-prof.ll

  Log Message:
  -----------
  [VPlan] Record execution frequencies on VPlan0. (#222337)

Move recording of the execution frequencies from
introduceMasksAndLinearize into a separate recordExecutionFrequencies
transform, run while VPlan0 still mirrors the original loop's CFG.

This more cleanly separates it from the unrelated transform and allows
the frequencies to be used to compute the cost of scalar VPlans:
https://github.com/llvm/llvm-project/pull/196845

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


  Commit: 52216bc4fa17a61dda6c6e9a3e91e6f3bfa17525
      https://github.com/llvm/llvm-project/commit/52216bc4fa17a61dda6c6e9a3e91e6f3bfa17525
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M libc/src/__support/math/setpayloadsig.h
    M libc/src/__support/math/setpayloadsigbf16.h
    M libc/src/__support/math/setpayloadsigf.h
    M libc/src/__support/math/setpayloadsigf128.h
    M libc/src/__support/math/setpayloadsigf16.h
    M libc/src/__support/math/setpayloadsigl.h
    M libc/test/shared/shared_math_constexpr_test.cpp

  Log Message:
  -----------
  [libc] Make setpayloadsig functions constexpr (#223497)

Makes setpayloadsig(f,f16,bf16,f128,etc) function constexpr along with
adding tests for them


  Commit: 6047bfd818b5f4a38654c80012f5661e6b291b29
      https://github.com/llvm/llvm-project/commit/6047bfd818b5f4a38654c80012f5661e6b291b29
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M libc/src/math/docs/add_math_function.md

  Log Message:
  -----------
  [libc][docs] Add doc change for bazel (#223746)

This would include adding bazel entries when we add smoke and MPFR tests
for a function.


  Commit: 33fe720a58f8ccdf53d004c3a242ebdfb38a3747
      https://github.com/llvm/llvm-project/commit/33fe720a58f8ccdf53d004c3a242ebdfb38a3747
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/tools.h
    M flang-rt/lib/runtime/tools.cpp

  Log Message:
  -----------
  [flang-rt] Compile ShallowCopyModifiedSuffix for the device (#224485)

#222101 introduced `ShallowCopyModifiedSuffix` as the callee of
`CopyOutAssign` and deliberately left it outside the offload API group,
with a comment claiming its only caller is host-only. This fix moves the
`ShallowCopyModifiedSuffix` family into the offload API group and marks
it `RT_API_ATTRS`, exactly like the `ShallowCopy` family it mirrors.

Also resolved the merge conflict with #224570 (the reland of #224063):
the new CopyOutAssignDirect entry point needed the same treatment.

Assisted-by: AI


  Commit: c9074cfd0d956c0d3433eb2aea4adc899edc9887
      https://github.com/llvm/llvm-project/commit/c9074cfd0d956c0d3433eb2aea4adc899edc9887
  Author: Ambrose Leeb <aleeb at nvidia.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Parser/cxx2c-expansion-statements.cpp
    M clang/test/SemaCXX/cxx2c-expansion-stmts-control-flow.cpp
    A clang/test/SemaCXX/cxx2c-expansion-stmts-warnings.cpp
    M clang/test/SemaCXX/cxx2c-expansion-stmts.cpp
    M clang/test/SemaCXX/expansion-statements-local-extern-decls.cpp
    A clang/test/SemaCXX/expansion-statements-local-extern-if-constexpr.cpp

  Log Message:
  -----------
  Reapply "[Clang] Fix a number of issues involving expansion statements" (#220375) (#223005)

This reverts 7c44c505cd7688a8994779f1751e0f9b4b95ab4c and relands
#217110.

There were two tests that needed updating: one because a warning that
had previously been erroneously suppressed (because we thought we
weren’t in a function) now works properly, and another because it
crashes due to an unrelated bug. I’ve filed #223003 for the latter and
moved the crash into a separate XFAIL test so it can be reenabled when
the bug is fixed.

The plan was to backport this to the 23 release branch, so still no
release note.


  Commit: c1881649126e88f262290eafa0374c3bc3593acd
      https://github.com/llvm/llvm-project/commit/c1881649126e88f262290eafa0374c3bc3593acd
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M .github/workflows/libcxx-pr-benchmark.yml
    A libcxx/test/configs/installed-libc++.cfg.in
    M libcxx/utils/ci/lnt/run-benchmarks
    M libcxx/utils/ci/run-buildbot
    M libcxx/utils/test-at-commit

  Log Message:
  -----------
  [libc++] Allow specifying a configuration in test-at-commit (#224381)

test-at-commit always generated its own Lit configuration pointing at
the libc++ installation given with --libcxx-installation, which meant it
could only ever test libc++. This patch generalizes this to allow
support passing a custom Lit config, which allows using the script for a
wider array of use cases.


  Commit: 024b25e8bdf3c4e171abbf98e45beb81924c6975
      https://github.com/llvm/llvm-project/commit/024b25e8bdf3c4e171abbf98e45beb81924c6975
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M libcxx/test/configs/stdlib-libstdc++.cfg.in

  Log Message:
  -----------
  [libc++] Locate libstdc++ by querying GCC in the libstdc++ test configuration (#224335)

Instead of hardcoding various paths to locate libstdc++ artifacts, just
provide the compiler and derive all paths from that. This makes it
simpler to run against a pre-installed libstdc++.


  Commit: 8fe013c728a2d29722925e9bebbd454a5e3ad365
      https://github.com/llvm/llvm-project/commit/8fe013c728a2d29722925e9bebbd454a5e3ad365
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/GVN/assume-equal.ll

  Log Message:
  -----------
  [Loads] Fix incorrect replacement of pointers with different provenance (#224281)

isPointerAlwaysReplaceable() uses getUnderlyingObject() to check whether
the two pointers have the same provenance, because in that case the
replacement is always legal. However, getUnderlyingObject() does not
actually guarantee that the provenance is the same: In particular, it
can look through some intrinsics like strip.invariant.group and
launder.invariant.group, which do change the provenance of the pointer.
And replacing the result of those intrinsics with their argument is
indeed incorrect.

Fix this by adding a MustPreserveProvenance argument to the relevant
APIs, and enable it in isPointerAlwaysReplaceable().

Noticed while working on
https://github.com/llvm/llvm-project/pull/224222.


  Commit: 8f68ddfae4b36496d84ba9b7d54cdb0f7fe684d8
      https://github.com/llvm/llvm-project/commit/8f68ddfae4b36496d84ba9b7d54cdb0f7fe684d8
  Author: David Meng <davidmenggx at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-decltype-auto.cpp

  Log Message:
  -----------
  [clang-tidy] Skip `decltype(auto)` variables in misc-const-correctness (#224465)

Since #157319 the check analyzes `auto` variables, which also pulled in
`decltype(auto)`. Its fix-it inserts `const`, but `decltype(auto)`
cannot be combined with other type specifiers, so the fix does not
compile:

```cpp
decltype(auto) x = get_ref();
decltype(auto) const x = get_ref();  // error
```

Exclude such variables from the analysis, as no `const` can be added.

Fixes #223940


  Commit: fce3facdfe49924687eaba7b2239ee101104b2c3
      https://github.com/llvm/llvm-project/commit/fce3facdfe49924687eaba7b2239ee101104b2c3
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/driver/cc1gen_reproducer_main.cpp
    M clang/tools/driver/driver.cpp
    M lld/tools/lld/lld.cpp
    M llvm/cmake/modules/llvm-driver-template.cpp.in
    A llvm/include/llvm/Support/Driver.h
    R llvm/include/llvm/Support/LLVMDriver.h
    M llvm/lib/Support/CMakeLists.txt
    A llvm/lib/Support/Driver.cpp
    A llvm/test/tools/llvm-driver/session-dispatch.test
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llvm-ar/llvm-ar.cpp
    M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
    M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
    M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
    M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
    M llvm/tools/llvm-driver/llvm-driver.cpp
    M llvm/tools/llvm-dwp/llvm-dwp.cpp
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/tools/llvm-ifs/llvm-ifs.cpp
    M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
    M llvm/tools/llvm-lipo/llvm-lipo.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp
    M llvm/tools/llvm-mt/llvm-mt.cpp
    M llvm/tools/llvm-nm/llvm-nm.cpp
    M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-rc/llvm-rc.cpp
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
    M llvm/tools/llvm-size/llvm-size.cpp
    M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
    M llvm/tools/sancov/sancov.cpp
    M llvm/unittests/Support/CMakeLists.txt
    A llvm/unittests/Support/LLVMToolSession/CMakeLists.txt
    A llvm/unittests/Support/LLVMToolSession/LLVMToolSessionTest.cpp

  Log Message:
  -----------
  Reapply [Support] ToolSession for in-process tool invocation (#224515)

This PR Relands #221996, which was approved and merged but reverted in
#224368 after failures in the Fuchsia builders.

This PR contains two commits:

1. The original approved commit, reapplied without changes.
2. A small follow-up fixing the reported failures.

The problem was that a direct Clang invocation was incorrectly marked as
needing a prepended tool name. When Clang launched cc1 out of process,
we produced:

    clang clang -cc1 ...

instead of:

    clang -cc1 ...

This affected `cc-print-proc-stat.c` and the macOS runtime compiler
checks.

The second commit determines whether the session executable already
dispatches to the selected tool before setting `NeedsPrependArg`. It
also adds regression tests for direct invocation and overlapping tool
names.

Tested with the ToolSession unit tests, llvm-driver tests, the
previously failing Clang test, and forced out-of-process cc1
compilation.


  Commit: 64902e09805506f786496030c5307e1a630cfbca
      https://github.com/llvm/llvm-project/commit/64902e09805506f786496030c5307e1a630cfbca
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/combine-mulo.ll

  Log Message:
  -----------
  [DAG] Don't constant fold opaque constants in visitMULO (#224494)

Opaque constants (created for constants hoisted by ConstantHoisting) are
deliberately not folded by FoldConstantArithmetic for binary operations,
so that the hoisted constant is not rematerialized in each user. The MULO
fold in DAGCombiner did not check for this. 

The second test reveals a second opaque constant problem - apparently
our constant RHS canonicalization isn't properly handling opaque
constants. (This change is about three split attempts off of something that
was supposed to be fairly trivial. I decided to stop here.)

Assisted-by: Claude Fable 5.1


  Commit: a7a017ce5515fb3db8c4e175a3ce4a1a5a737140
      https://github.com/llvm/llvm-project/commit/a7a017ce5515fb3db8c4e175a3ce4a1a5a737140
  Author: Yue Huang <2292398666 at qq.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/test/Dialect/ControlFlow/ops.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir

  Log Message:
  -----------
  [MLIR][Parser] Fix result numbers not being allowed in switch statements (#224581)

PR #87658 fixed this for the `case` branch for `cf.switch`, but not the
`default` case. Moreover, `llvm.switch` has the same problem. This PR
fixes them.


  Commit: cb9d4cdf5e415d17aaa54a094939249c15871d2d
      https://github.com/llvm/llvm-project/commit/cb9d4cdf5e415d17aaa54a094939249c15871d2d
  Author: A. Cauble <accauble at users.noreply.github.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/tools/offload-arch/AMDGPUArchByKFD.cpp
    M clang/unittests/offload-arch/OffloadArchTest.cpp

  Log Message:
  -----------
  [offload-arch] Report gfx1250-strict to match rocminfo (#224480)

## Motivation

offload-arch would print gfx1250, but rocminfo reports gfx1250-strict on
revision 0s. We want to print the gfx1250-strict too.

Note: This is based off a [similar PR in
rocm-systems](https://github.com/ROCm/rocm-systems/pull/11639).

## Required Changes

* llvm already can parse the gfx1250 -strict target, so no changes
necessary there.
* offload-arch already printed gfx1250, so just needed to get the ASIC
Revision, which is in bits 25:22 in the capability property.
* If ASIC Revision is 0 and gfx_target_version is gfx1250, then report
"gfx1250-strict"

## Testing

* Tested this on a gfx1250-strict and offload-arch reports correctly.
* Added two unit tests to check for "gfx1250" v "gfx1250-strict"
depending on ASIC revision and guard against accidental parsing of
"capability2"


  Commit: 88e118f2cf5df96d7e0f309414c5d26dc24de308
      https://github.com/llvm/llvm-project/commit/88e118f2cf5df96d7e0f309414c5d26dc24de308
  Author: Le Gia Bao <legiabao7300 at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    A llvm/test/Transforms/LoopVectorize/X86/pr217019.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll

  Log Message:
  -----------
  [x86][CostModel] A runtime stride should cost one ADD on AVX2+ (#219903)

Runtime stride should cost one ADD per iteration. Only when the loop has
no fixed step do we need the AVX2 cut-off.

Closes #217019.


  Commit: 6e25b1ca84812cffd3e373e91a619272d3d2a324
      https://github.com/llvm/llvm-project/commit/6e25b1ca84812cffd3e373e91a619272d3d2a324
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGen/array-init-loop-exprs.cpp
    M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
    A clang/test/CIR/CodeGen/func-member-attrs.cpp
    M clang/test/CIR/CodeGen/global-tls-dyn-init.cpp
    M clang/test/CIR/CodeGen/global-tls-simple-init.cpp
    M clang/test/CIR/CodeGen/global-tls-templates.cpp
    M clang/test/CIR/CodeGen/inherited-ctors.cpp
    M clang/test/CIR/CodeGen/lambda-generic-in-cxx11abi-lambda.cpp
    M clang/test/CIR/CodeGen/lambda-static-invoker-agg-return.cpp
    M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
    M clang/test/CIR/CodeGen/lambda.cpp
    M clang/test/CIR/CodeGen/static-local.cpp
    M clang/test/CIR/CodeGen/vtable-emission.cpp
    M clang/test/CIR/CodeGen/vtable-thunk-undefined-callee.cpp
    M clang/test/CIR/IR/func.cir
    M clang/test/CIR/IR/invalid-func.cir
    M clang/test/CIR/func-linkage.cpp

  Log Message:
  -----------
  [CIR] Correctly pass func self-comdat & alignment (#223773)

Classic codegen does these, and it is important for when these end up
being stored as function pointers, as we discovered on a benchmark.

This patch does 2 things:

1- Properly passes the 'self' 'comdat' feature (that is, when the symbol
    reference is 'self', not when it is a different name, which isn't
    implemented anywhere).  This mirrors what was done for GlobalOp.

2- Properly calculate and pass the 'alignment'/'preferred alignment' for
a function. Only the 'alignment' is passed to LLVM-IR, as the dialect
doesn't support preferred alignment, so a 'missing feature' is left in
place. That functionality isn't important to this patch, but was 'next
to' the alignment work in CodeGenModule.cpp, so it seemed like something
we should handle if at all possible.


  Commit: f98160d33212cb3dcfa123fcc1fbf1563d90dd81
      https://github.com/llvm/llvm-project/commit/f98160d33212cb3dcfa123fcc1fbf1563d90dd81
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/lib/CIR/Lowering/LoweringHelpers.cpp
    M clang/test/CIR/CodeGen/global-address-to-int.c
    M clang/test/CIR/Lowering/const-array-bulk-lowering-fallbacks.cir

  Log Message:
  -----------
  [CIR] Give up when we hit a global-view in dense-element-attr lowering (#224379)

A ptr-to-int conversion can't be converted to an APInt/APFloat, so this
ends up not being able to produce a valid dense element attr. This patch
makes us 'fall back' to the insert-value version of any potential
dense-elements lowering if there is a global view as one of the values.


  Commit: 7817563b3b117119d8f8ae5cbe04d656f9af638b
      https://github.com/llvm/llvm-project/commit/7817563b3b117119d8f8ae5cbe04d656f9af638b
  Author: Akash Manna <akash.manna.mymail at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/test/CodeGen/X86/fast-isel-gep.ll

  Log Message:
  -----------
  [X86] Fix `FastISel` crash on `GEP` with a constant index wider than `64` bits (#223432)

Fixes #220954

When FastISel folds a GEP into an X86 addressing mode, it reads each
constant index with `getSExtValue()` and adds it to the displacement.
That call asserts if the constant has more than 64 significant bits, so
a `getelementptr` with an `i128` index of `2^64` feeding a legal-typed
load crashes at `-O0`. The LangRef says a GEP index is sign-extended or
truncated to the pointer width, and both generic FastISel and
SelectionDAGBuilder already do exactly that (added in 2015 for this same
assertion). The X86 address folder was the one GEP lowering that never
got the same treatment.

The index is now truncated to 64 bits before it is folded, mirroring
`FastISel::selectGetElementPtr`. For the reproducer the index becomes
zero and the load addresses the alloca directly, which is also what
SelectionDAG produces for the same IR. The other integer conversions in
`X86SelectAddress` are already safe: struct indices are
verifier-enforced `i32`, and the folded-add and `Add` paths only match
values whose type already equals the pointer width.


  Commit: f7de7bca9aa0ca5a34bcb96d42b9543eac57f85e
      https://github.com/llvm/llvm-project/commit/f7de7bca9aa0ca5a34bcb96d42b9543eac57f85e
  Author: junfengd-nv <junfengd at nvidia.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M flang/docs/Aliasing.md
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    A flang/test/Lower/HLFIR/visible-cray-pointer-target.f90
    M flang/test/Lower/cray-pointer.f90

  Log Message:
  -----------
  [flang] Mark visible Cray pointer associations as aliasing (#221350)

A visible Cray pointer association (ptr = loc(x) in the same procedure)
can alias x and the pointee. Flang treated them as no-alias and
miscompiled some codes at -O2.

-funsafe-cray-pointers is too broad. Instead, lowering now marks x as
TARGET for that procedure so later FIR passes (including TBAA) see the
aliasing. Default behavior: no-alias is unchanged.


  Commit: c476f80e8f6d7cdaf462230611e3b07da5835da6
      https://github.com/llvm/llvm-project/commit/c476f80e8f6d7cdaf462230611e3b07da5835da6
  Author: elizabethandrews <elizabeth.andrews at intel.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/Headers/__clang_spirv_builtins.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/CodeGenSPIRV/Builtins/generic_cast_to_ptr_explicit.c
    M clang/test/CodeGenSYCL/address-space-conversions.cpp
    M clang/test/CodeGenSYCL/address-space-mangling.cpp
    M clang/test/CodeGenSYCL/amd-address-space-conversions.cpp
    M clang/test/CodeGenSYCL/cuda-address-space-conversions.cpp
    M clang/test/SemaSPIRV/BuiltIns/generic_cast_to_ptr_explicit.c
    M clang/test/SemaSYCL/address-space-conversions.cpp
    A clang/test/SemaSYCL/sycl-address-space-attr-appertainment.cpp
    M clang/test/SemaTemplate/address_space-dependent.cpp

  Log Message:
  -----------
  [clang][SYCL] Implement address space attributes for SYCL (#200849)

This PR adds SYCL address space attributes. These attributes are
intended for use in the implementation of SYCL run-time libraries and
should not be used in any other context.

The following attributes were added - [[clang::sycl_private]],
[[clang::sycl_global]], [[clang::sycl_local]], [[clang::sycl_constant]]
and [[clang::sycl_generic]]. These correspond to the five address spaces
described by SYCL 2020 section 3.8.2, "SYCL device memory model" and
SYCL 2020 section 4.7.7, "Address space classes".

Assisted by Claude

---------

Co-authored-by: Tom Honermann <tom at honermann.net>


  Commit: 2859acaeca642e0f823c87515ed3c5e23d7f5be4
      https://github.com/llvm/llvm-project/commit/2859acaeca642e0f823c87515ed3c5e23d7f5be4
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/SourceLocation.h

  Log Message:
  -----------
  Mix bits in FileID::getHashValue() (#224654)

FileID's identity hash was fine under DenseMap's old quadratic probing,
but #200595 switched DenseMap to linear probing with backward-shift
deletion. FileID's bucket index under an identity hash is just its low
bits, so two runs of file IDs can map to the same buckets, which can
turn into a long clustered probe chain under linear probing.

Multiply by 37 to spread the low bits, which matches
SourceLocation::getHashValue(). This fixes a 2.6x compile-time
regression observed with -Wdocumentation on an ObjC++ file.

Reapplies #223794, which was reverted because it broke tests in
clang/test/Analysis/html_diagnostics. It is safe to reapply now that
#224510 fixed the underlying issue.

rdar://187026883

Co-authored-by: Fred Riss <friss at apple.com>


  Commit: 2d0fcac1b64edbb205696e4c83f5abe98679e027
      https://github.com/llvm/llvm-project/commit/2d0fcac1b64edbb205696e4c83f5abe98679e027
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

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

  Log Message:
  -----------
  [RISCV] Remove unused SDT_RISCVVNBinOp_RM_VL tablegen class. NFC (#224440)


  Commit: 03a6445dd2835ab022aa7b48063bb69668d66fe2
      https://github.com/llvm/llvm-project/commit/03a6445dd2835ab022aa7b48063bb69668d66fe2
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/X86/parity.ll
    M llvm/test/CodeGen/X86/vector-reduce-xor.ll

  Log Message:
  -----------
  [DAG] Constant fold ISD::PARITY (#224387)

Context: Starting a claude assisted sweep for small gaps in SDAG's core
routines, starting with constant folding. This is the first of a small series
of patches covering small obvious seeming gaps. My main motivation
is simply making sure we have full coverage and as an exercise in 
getting myself re-started upstream as I've been inactive for a few
months.

ISD::PARITY was missing from getNode / FoldConstantArithmetic which
meant it wasn't being constant folded at construction. Also implement
the DAG combine so that an already created PARITY node can be folded
if it's arguments become constant. This is the path which actually
triggers outside of type legalization.

Since PARITY doesn't have an IR form, we have to form tests in a way to
let the DAG combine from ctpop form them. This results in somewhat
fragile tests which is unfortunate.  

Assisted-by: Claude Fable 5.1
(By which I mean, entirely written by Claude with guidance from me on
taste)


  Commit: 7dcbc96157933545eaf92a899950299c55dc423d
      https://github.com/llvm/llvm-project/commit/7dcbc96157933545eaf92a899950299c55dc423d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/sibling-loops-different-trip-counts.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with missing vectorization, NFC



Reviewers: 

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


  Commit: 159880277335747a033414bf0c4031ffe0f4be31
      https://github.com/llvm/llvm-project/commit/159880277335747a033414bf0c4031ffe0f4be31
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/test/MC/RISCV/rvv/xsfmm-invalid.s

  Log Message:
  -----------
  [RISCV] Add missing feature to RUN line of xsfmm-invalid.s. NFC (#224473)

This test was supposed to test invalid operands not invalid
instructions.


  Commit: a3d9bdd0c4cef5d81b88c8a8284580b783b614ff
      https://github.com/llvm/llvm-project/commit/a3d9bdd0c4cef5d81b88c8a8284580b783b614ff
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/Instrumentation/CGProfile.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp

  Log Message:
  -----------
  [Transforms] Use make_isa_range for type-filtered loops (NFC) (#224597)

Use make_isa_range (added in
https://github.com/llvm/llvm-project/pull/223414) for dyn_cast/continue
loops.

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


  Commit: 631894f3408aa724e9f6f8ba9eedbc37860ece49
      https://github.com/llvm/llvm-project/commit/631894f3408aa724e9f6f8ba9eedbc37860ece49
  Author: Konstantinos Parasyris <koparasy at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Passes.td
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp

  Log Message:
  -----------
  [CIR] Source LoweringPrepare target facts from the module (#219078)

LoweringPrepare reads a few target-derived facts (guard-variable width,
COMDAT format, _tlv_atexit/__cxa_thread_atexit selection) from the
ASTContext's TargetInfo.

This builds a LowerModule from the module's own cir.triple and reads
those facts from it instead, so target-derived lowering is consistent
with how the module was created rather than with the current invocation.

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


  Commit: 4a5ed6dbeca683034fb553e3eddaac22c0e02e08
      https://github.com/llvm/llvm-project/commit/4a5ed6dbeca683034fb553e3eddaac22c0e02e08
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-sat-clip.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/trunc-sat-clip-sdnode.ll

  Log Message:
  -----------
  [RISCV] Remove combineTruncToVnclip. (#224418)

This is very similar to foldToSaturated but operating on RISCVISD _VL
nodes instead of generic nodes.

combineTruncToVnclip handled some additional cases that the middle end
doesn't consider canonical. This was necessary for VP intrinsics that
skipped middle end canonicalization.

For patterns that saturate a signed value into an unsigned value the
canonical form uses an smax to make negative values positive followed by
a umin.

I have updated the tests to be in canonical form or remove if there was
already a canonical test. I had to update one other transform to emit
code in canonical form.


  Commit: 50c563998bac0a95226d034057c33f0b28019790
      https://github.com/llvm/llvm-project/commit/50c563998bac0a95226d034057c33f0b28019790
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    M llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-functions-hotness.ll

  Log Message:
  -----------
  [ThinLTOBitcodeWriter] Encode hotness into cfi.functions metadata (#223846)

Encode function hotness classification (`Hot`, `Other`, `Cold`, or
`Unknown`) into the upper bits of the linkage operand in `cfi.functions`
metadata.

`CfiFunctionHotness::fromFunction` mirrors `CodeGenPrepare` section
assignment logic using function attributes (`hot`/`cold`),
`ProfileSummaryInfo`, and `BlockFrequencyInfo`. This allows
`LowerTypeTests` to order CFI jump table entries by function hotness so
the jump table lands in a hot section and the hottest target benefits
from last-entry fall-through relaxation.

PR Stack:
* https://github.com/llvm/llvm-project/pull/220776
* https://github.com/llvm/llvm-project/pull/221043
* https://github.com/llvm/llvm-project/pull/221044
* https://github.com/llvm/llvm-project/pull/223843
* ➤ https://github.com/llvm/llvm-project/pull/223846
* https://github.com/llvm/llvm-project/pull/223848
* https://github.com/llvm/llvm-project/pull/221046

Assisted-by: Gemini


  Commit: 194fbc4f8a282920ee7f06bea02dda4b34a1236e
      https://github.com/llvm/llvm-project/commit/194fbc4f8a282920ee7f06bea02dda4b34a1236e
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    R clang/test/Analysis/Checkers/WebKit/unretained-call-args-member.mm

  Log Message:
  -----------
  Revert "[alpha.webkit.UnretainedCallArgsChecker] Emit a warning for a non-const RetainPtr member (#184243)" (#224464)

This reverts bf005a1227a4822c7c2535dd5f5f3626fbe441b2 as it introduced
too many new warnings.


  Commit: 47b54ed6797f4446a3d2878c9a36ae8c872ca7c6
      https://github.com/llvm/llvm-project/commit/47b54ed6797f4446a3d2878c9a36ae8c872ca7c6
  Author: lntue <lntue at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M libc/test/src/math/AddTest.h
    M libc/test/src/math/CeilTest.h
    M libc/test/src/math/CopySignTest.h
    M libc/test/src/math/DivTest.h
    M libc/test/src/math/FAbsTest.h
    M libc/test/src/math/FMaxTest.h
    M libc/test/src/math/FMinTest.h
    M libc/test/src/math/FModTest.h
    M libc/test/src/math/FloorTest.h
    M libc/test/src/math/FmaTest.h
    M libc/test/src/math/FrexpTest.h
    M libc/test/src/math/LdExpTest.h
    M libc/test/src/math/LogbTest.h
    M libc/test/src/math/ModfTest.h
    M libc/test/src/math/MulTest.h
    M libc/test/src/math/NearbyIntTest.h
    M libc/test/src/math/NextAfterTest.h
    M libc/test/src/math/RIntTest.h
    M libc/test/src/math/RemQuoTest.h
    M libc/test/src/math/RoundEvenTest.h
    M libc/test/src/math/RoundTest.h
    M libc/test/src/math/RoundToIntegerTest.h
    M libc/test/src/math/RsqrtTest.h
    M libc/test/src/math/ScalbnTest.h
    M libc/test/src/math/SqrtTest.h
    M libc/test/src/math/SubTest.h
    M libc/test/src/math/TruncTest.h
    M libc/test/src/math/bf16add_test.cpp
    M libc/test/src/math/bf16addf128_test.cpp
    M libc/test/src/math/bf16addf_test.cpp
    M libc/test/src/math/bf16addl_test.cpp
    M libc/test/src/math/bf16div_test.cpp
    M libc/test/src/math/bf16divf128_test.cpp
    M libc/test/src/math/bf16divf_test.cpp
    M libc/test/src/math/bf16divl_test.cpp
    M libc/test/src/math/bf16fma_test.cpp
    M libc/test/src/math/bf16fmaf128_test.cpp
    M libc/test/src/math/bf16fmaf_test.cpp
    M libc/test/src/math/bf16fmal_test.cpp
    M libc/test/src/math/bf16mul_test.cpp
    M libc/test/src/math/bf16mulf128_test.cpp
    M libc/test/src/math/bf16mulf_test.cpp
    M libc/test/src/math/bf16mull_test.cpp
    M libc/test/src/math/bf16sub_test.cpp
    M libc/test/src/math/bf16subf128_test.cpp
    M libc/test/src/math/bf16subf_test.cpp
    M libc/test/src/math/bf16subl_test.cpp
    M libc/test/src/math/ceil_test.cpp
    M libc/test/src/math/ceilbf16_test.cpp
    M libc/test/src/math/ceilf128_test.cpp
    M libc/test/src/math/ceilf16_test.cpp
    M libc/test/src/math/ceilf_test.cpp
    M libc/test/src/math/ceill_test.cpp
    M libc/test/src/math/copysign_test.cpp
    M libc/test/src/math/copysignf_test.cpp
    M libc/test/src/math/copysignl_test.cpp
    M libc/test/src/math/daddl_test.cpp
    M libc/test/src/math/ddivl_test.cpp
    M libc/test/src/math/dfmal_test.cpp
    M libc/test/src/math/dmull_test.cpp
    M libc/test/src/math/dsqrtl_test.cpp
    M libc/test/src/math/dsubl_test.cpp
    M libc/test/src/math/exhaustive/acospif_test.cpp
    M libc/test/src/math/exhaustive/cosf_float_test.cpp
    M libc/test/src/math/exhaustive/fmodbf16_test.cpp
    M libc/test/src/math/exhaustive/lgammaf_test.cpp
    M libc/test/src/math/exhaustive/rsqrtf_test.cpp
    M libc/test/src/math/exhaustive/sinf_float_test.cpp
    M libc/test/src/math/f16add_test.cpp
    M libc/test/src/math/f16addf_test.cpp
    M libc/test/src/math/f16addl_test.cpp
    M libc/test/src/math/f16div_test.cpp
    M libc/test/src/math/f16divf_test.cpp
    M libc/test/src/math/f16divl_test.cpp
    M libc/test/src/math/f16fma_test.cpp
    M libc/test/src/math/f16fmaf_test.cpp
    M libc/test/src/math/f16fmal_test.cpp
    M libc/test/src/math/f16mul_test.cpp
    M libc/test/src/math/f16mulf_test.cpp
    M libc/test/src/math/f16mull_test.cpp
    M libc/test/src/math/f16sqrt_test.cpp
    M libc/test/src/math/f16sqrtf_test.cpp
    M libc/test/src/math/f16sqrtl_test.cpp
    M libc/test/src/math/f16sub_test.cpp
    M libc/test/src/math/f16subf_test.cpp
    M libc/test/src/math/f16subl_test.cpp
    M libc/test/src/math/fabs_test.cpp
    M libc/test/src/math/fabsbf16_test.cpp
    M libc/test/src/math/fabsf16_test.cpp
    M libc/test/src/math/fabsf_test.cpp
    M libc/test/src/math/fabsl_test.cpp
    M libc/test/src/math/fadd_test.cpp
    M libc/test/src/math/faddl_test.cpp
    M libc/test/src/math/fdim_test.cpp
    M libc/test/src/math/fdimf_test.cpp
    M libc/test/src/math/fdiml_test.cpp
    M libc/test/src/math/fdiv_test.cpp
    M libc/test/src/math/fdivl_test.cpp
    M libc/test/src/math/ffma_test.cpp
    M libc/test/src/math/ffmal_test.cpp
    M libc/test/src/math/floor_test.cpp
    M libc/test/src/math/floorbf16_test.cpp
    M libc/test/src/math/floorf128_test.cpp
    M libc/test/src/math/floorf16_test.cpp
    M libc/test/src/math/floorf_test.cpp
    M libc/test/src/math/floorl_test.cpp
    M libc/test/src/math/fmaf16_test.cpp
    M libc/test/src/math/fmaf_test.cpp
    M libc/test/src/math/fmax_test.cpp
    M libc/test/src/math/fmaxf_test.cpp
    M libc/test/src/math/fmaxl_test.cpp
    M libc/test/src/math/fmin_test.cpp
    M libc/test/src/math/fminf_test.cpp
    M libc/test/src/math/fminl_test.cpp
    M libc/test/src/math/fmod_test.cpp
    M libc/test/src/math/fmodf_test.cpp
    M libc/test/src/math/fmul_test.cpp
    M libc/test/src/math/fmull_test.cpp
    M libc/test/src/math/frexp_test.cpp
    M libc/test/src/math/frexpbf16_test.cpp
    M libc/test/src/math/frexpf16_test.cpp
    M libc/test/src/math/frexpf_test.cpp
    M libc/test/src/math/frexpl_test.cpp
    M libc/test/src/math/fsqrt_test.cpp
    M libc/test/src/math/fsqrtl_test.cpp
    M libc/test/src/math/fsub_test.cpp
    M libc/test/src/math/fsubl_test.cpp
    M libc/test/src/math/generic_sqrt_test.cpp
    M libc/test/src/math/generic_sqrtf_test.cpp
    M libc/test/src/math/generic_sqrtl_test.cpp
    M libc/test/src/math/ldexp_test.cpp
    M libc/test/src/math/ldexpf_test.cpp
    M libc/test/src/math/ldexpl_test.cpp
    M libc/test/src/math/llrint_test.cpp
    M libc/test/src/math/llrintbf16_test.cpp
    M libc/test/src/math/llrintf16_test.cpp
    M libc/test/src/math/llrintf_test.cpp
    M libc/test/src/math/llrintl_test.cpp
    M libc/test/src/math/llround_test.cpp
    M libc/test/src/math/llroundbf16_test.cpp
    M libc/test/src/math/llroundf16_test.cpp
    M libc/test/src/math/llroundf_test.cpp
    M libc/test/src/math/llroundl_test.cpp
    M libc/test/src/math/logb_test.cpp
    M libc/test/src/math/logbf_test.cpp
    M libc/test/src/math/logbl_test.cpp
    M libc/test/src/math/lrint_test.cpp
    M libc/test/src/math/lrintbf16_test.cpp
    M libc/test/src/math/lrintf16_test.cpp
    M libc/test/src/math/lrintf_test.cpp
    M libc/test/src/math/lrintl_test.cpp
    M libc/test/src/math/lround_test.cpp
    M libc/test/src/math/lroundbf16_test.cpp
    M libc/test/src/math/lroundf16_test.cpp
    M libc/test/src/math/lroundf_test.cpp
    M libc/test/src/math/lroundl_test.cpp
    M libc/test/src/math/modf_test.cpp
    M libc/test/src/math/modff_test.cpp
    M libc/test/src/math/modfl_test.cpp
    M libc/test/src/math/nearbyint_test.cpp
    M libc/test/src/math/nearbyintbf16_test.cpp
    M libc/test/src/math/nearbyintf16_test.cpp
    M libc/test/src/math/nearbyintf_test.cpp
    M libc/test/src/math/nearbyintl_test.cpp
    M libc/test/src/math/nextafter_test.cpp
    M libc/test/src/math/nextafterf128_test.cpp
    M libc/test/src/math/nextafterf_test.cpp
    M libc/test/src/math/nextafterl_test.cpp
    M libc/test/src/math/remquo_test.cpp
    M libc/test/src/math/remquobf16_test.cpp
    M libc/test/src/math/remquof16_test.cpp
    M libc/test/src/math/remquof_test.cpp
    M libc/test/src/math/remquol_test.cpp
    M libc/test/src/math/rint_test.cpp
    M libc/test/src/math/rintbf16_test.cpp
    M libc/test/src/math/rintf16_test.cpp
    M libc/test/src/math/rintf_test.cpp
    M libc/test/src/math/rintl_test.cpp
    M libc/test/src/math/round_test.cpp
    M libc/test/src/math/roundbf16_test.cpp
    M libc/test/src/math/roundeven_test.cpp
    M libc/test/src/math/roundevenbf16_test.cpp
    M libc/test/src/math/roundevenf16_test.cpp
    M libc/test/src/math/roundevenf_test.cpp
    M libc/test/src/math/roundevenl_test.cpp
    M libc/test/src/math/roundf128_test.cpp
    M libc/test/src/math/roundf16_test.cpp
    M libc/test/src/math/roundf_test.cpp
    M libc/test/src/math/roundl_test.cpp
    M libc/test/src/math/rsqrtf_test.cpp
    M libc/test/src/math/scalbn_test.cpp
    M libc/test/src/math/scalbnf128_test.cpp
    M libc/test/src/math/scalbnf_test.cpp
    M libc/test/src/math/scalbnl_test.cpp
    M libc/test/src/math/smoke/AddTest.h
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/CanonicalizeTest.h
    M libc/test/src/math/smoke/CeilTest.h
    M libc/test/src/math/smoke/CopySignTest.h
    M libc/test/src/math/smoke/DivTest.h
    M libc/test/src/math/smoke/FAbsTest.h
    M libc/test/src/math/smoke/FDimTest.h
    M libc/test/src/math/smoke/FMaxTest.h
    M libc/test/src/math/smoke/FMaximumMagNumTest.h
    M libc/test/src/math/smoke/FMaximumMagTest.h
    M libc/test/src/math/smoke/FMaximumNumTest.h
    M libc/test/src/math/smoke/FMaximumTest.h
    M libc/test/src/math/smoke/FMinTest.h
    M libc/test/src/math/smoke/FMinimumMagNumTest.h
    M libc/test/src/math/smoke/FMinimumMagTest.h
    M libc/test/src/math/smoke/FMinimumNumTest.h
    M libc/test/src/math/smoke/FMinimumTest.h
    M libc/test/src/math/smoke/FModTest.h
    M libc/test/src/math/smoke/FloorTest.h
    M libc/test/src/math/smoke/FmaTest.h
    M libc/test/src/math/smoke/FrexpTest.h
    M libc/test/src/math/smoke/FromfpTest.h
    M libc/test/src/math/smoke/FromfpxTest.h
    M libc/test/src/math/smoke/GetPayloadTest.h
    M libc/test/src/math/smoke/ILogbTest.h
    M libc/test/src/math/smoke/IsCanonicalTest.h
    M libc/test/src/math/smoke/IsNanTest.h
    M libc/test/src/math/smoke/IsSignalingTest.h
    M libc/test/src/math/smoke/LdExpTest.h
    M libc/test/src/math/smoke/LogbTest.h
    M libc/test/src/math/smoke/ModfTest.h
    M libc/test/src/math/smoke/MulTest.h
    M libc/test/src/math/smoke/NearbyIntTest.h
    M libc/test/src/math/smoke/NextAfterTest.h
    M libc/test/src/math/smoke/NextDownTest.h
    M libc/test/src/math/smoke/NextTowardTest.h
    M libc/test/src/math/smoke/NextUpTest.h
    M libc/test/src/math/smoke/RIntTest.h
    M libc/test/src/math/smoke/RemQuoTest.h
    M libc/test/src/math/smoke/RoundEvenTest.h
    M libc/test/src/math/smoke/RoundTest.h
    M libc/test/src/math/smoke/RoundToIntegerTest.h
    M libc/test/src/math/smoke/ScalbnTest.h
    M libc/test/src/math/smoke/SetPayloadSigTest.h
    M libc/test/src/math/smoke/SetPayloadTest.h
    M libc/test/src/math/smoke/SqrtTest.h
    M libc/test/src/math/smoke/SubTest.h
    M libc/test/src/math/smoke/TotalOrderMagTest.h
    M libc/test/src/math/smoke/TotalOrderTest.h
    M libc/test/src/math/smoke/TruncTest.h
    M libc/test/src/math/smoke/UfromfpTest.h
    M libc/test/src/math/smoke/UfromfpxTest.h
    M libc/test/src/math/smoke/bf16add_test.cpp
    M libc/test/src/math/smoke/bf16addf128_test.cpp
    M libc/test/src/math/smoke/bf16addf_test.cpp
    M libc/test/src/math/smoke/bf16addl_test.cpp
    M libc/test/src/math/smoke/bf16div_test.cpp
    M libc/test/src/math/smoke/bf16divf128_test.cpp
    M libc/test/src/math/smoke/bf16divf_test.cpp
    M libc/test/src/math/smoke/bf16divl_test.cpp
    M libc/test/src/math/smoke/bf16fma_test.cpp
    M libc/test/src/math/smoke/bf16fmaf128_test.cpp
    M libc/test/src/math/smoke/bf16fmaf_test.cpp
    M libc/test/src/math/smoke/bf16fmal_test.cpp
    M libc/test/src/math/smoke/bf16mul_test.cpp
    M libc/test/src/math/smoke/bf16mulf128_test.cpp
    M libc/test/src/math/smoke/bf16mulf_test.cpp
    M libc/test/src/math/smoke/bf16mull_test.cpp
    M libc/test/src/math/smoke/bf16sub_test.cpp
    M libc/test/src/math/smoke/bf16subf128_test.cpp
    M libc/test/src/math/smoke/bf16subf_test.cpp
    M libc/test/src/math/smoke/bf16subl_test.cpp
    M libc/test/src/math/smoke/bfloat16_add_test.cpp
    M libc/test/src/math/smoke/bfloat16_div_test.cpp
    M libc/test/src/math/smoke/bfloat16_mul_test.cpp
    M libc/test/src/math/smoke/bfloat16_sub_test.cpp
    M libc/test/src/math/smoke/canonicalize_test.cpp
    M libc/test/src/math/smoke/canonicalizebf16_test.cpp
    M libc/test/src/math/smoke/canonicalizef128_test.cpp
    M libc/test/src/math/smoke/canonicalizef16_test.cpp
    M libc/test/src/math/smoke/canonicalizef_test.cpp
    M libc/test/src/math/smoke/canonicalizel_test.cpp
    M libc/test/src/math/smoke/cbrtf16_test.cpp
    M libc/test/src/math/smoke/ceil_test.cpp
    M libc/test/src/math/smoke/ceilbf16_test.cpp
    M libc/test/src/math/smoke/ceilf128_test.cpp
    M libc/test/src/math/smoke/ceilf16_test.cpp
    M libc/test/src/math/smoke/ceilf_test.cpp
    M libc/test/src/math/smoke/ceill_test.cpp
    M libc/test/src/math/smoke/copysign_test.cpp
    M libc/test/src/math/smoke/copysignbf16_test.cpp
    M libc/test/src/math/smoke/copysignf128_test.cpp
    M libc/test/src/math/smoke/copysignf16_test.cpp
    M libc/test/src/math/smoke/copysignf_test.cpp
    M libc/test/src/math/smoke/copysignl_test.cpp
    M libc/test/src/math/smoke/daddf128_test.cpp
    M libc/test/src/math/smoke/daddl_test.cpp
    M libc/test/src/math/smoke/ddivf128_test.cpp
    M libc/test/src/math/smoke/ddivl_test.cpp
    M libc/test/src/math/smoke/dfmaf128_test.cpp
    M libc/test/src/math/smoke/dfmal_test.cpp
    M libc/test/src/math/smoke/dmulf128_test.cpp
    M libc/test/src/math/smoke/dmull_test.cpp
    M libc/test/src/math/smoke/dsqrtf128_test.cpp
    M libc/test/src/math/smoke/dsqrtl_test.cpp
    M libc/test/src/math/smoke/dsubf128_test.cpp
    M libc/test/src/math/smoke/dsubl_test.cpp
    M libc/test/src/math/smoke/erff16_test.cpp
    M libc/test/src/math/smoke/expbf16_test.cpp
    M libc/test/src/math/smoke/f16add_test.cpp
    M libc/test/src/math/smoke/f16addf128_test.cpp
    M libc/test/src/math/smoke/f16addf_test.cpp
    M libc/test/src/math/smoke/f16addl_test.cpp
    M libc/test/src/math/smoke/f16div_test.cpp
    M libc/test/src/math/smoke/f16divf128_test.cpp
    M libc/test/src/math/smoke/f16divf_test.cpp
    M libc/test/src/math/smoke/f16divl_test.cpp
    M libc/test/src/math/smoke/f16fma_test.cpp
    M libc/test/src/math/smoke/f16fmaf128_test.cpp
    M libc/test/src/math/smoke/f16fmaf_test.cpp
    M libc/test/src/math/smoke/f16fmal_test.cpp
    M libc/test/src/math/smoke/f16mul_test.cpp
    M libc/test/src/math/smoke/f16mulf128_test.cpp
    M libc/test/src/math/smoke/f16mulf_test.cpp
    M libc/test/src/math/smoke/f16mull_test.cpp
    M libc/test/src/math/smoke/f16sqrt_test.cpp
    M libc/test/src/math/smoke/f16sqrtf128_test.cpp
    M libc/test/src/math/smoke/f16sqrtf_test.cpp
    M libc/test/src/math/smoke/f16sqrtl_test.cpp
    M libc/test/src/math/smoke/f16sub_test.cpp
    M libc/test/src/math/smoke/f16subf128_test.cpp
    M libc/test/src/math/smoke/f16subf_test.cpp
    M libc/test/src/math/smoke/f16subl_test.cpp
    M libc/test/src/math/smoke/fabs_test.cpp
    M libc/test/src/math/smoke/fabsbf16_test.cpp
    M libc/test/src/math/smoke/fabsf128_test.cpp
    M libc/test/src/math/smoke/fabsf16_test.cpp
    M libc/test/src/math/smoke/fabsf_test.cpp
    M libc/test/src/math/smoke/fabsl_test.cpp
    M libc/test/src/math/smoke/fadd_test.cpp
    M libc/test/src/math/smoke/faddf128_test.cpp
    M libc/test/src/math/smoke/faddl_test.cpp
    M libc/test/src/math/smoke/fdim_test.cpp
    M libc/test/src/math/smoke/fdimbf16_test.cpp
    M libc/test/src/math/smoke/fdimf128_test.cpp
    M libc/test/src/math/smoke/fdimf16_test.cpp
    M libc/test/src/math/smoke/fdimf_test.cpp
    M libc/test/src/math/smoke/fdiml_test.cpp
    M libc/test/src/math/smoke/fdiv_test.cpp
    M libc/test/src/math/smoke/fdivf128_test.cpp
    M libc/test/src/math/smoke/fdivl_test.cpp
    M libc/test/src/math/smoke/ffma_test.cpp
    M libc/test/src/math/smoke/ffmaf128_test.cpp
    M libc/test/src/math/smoke/ffmal_test.cpp
    M libc/test/src/math/smoke/floor_test.cpp
    M libc/test/src/math/smoke/floorbf16_test.cpp
    M libc/test/src/math/smoke/floorf128_test.cpp
    M libc/test/src/math/smoke/floorf16_test.cpp
    M libc/test/src/math/smoke/floorf_test.cpp
    M libc/test/src/math/smoke/floorl_test.cpp
    M libc/test/src/math/smoke/fma_test.cpp
    M libc/test/src/math/smoke/fmabf16_test.cpp
    M libc/test/src/math/smoke/fmaf16_test.cpp
    M libc/test/src/math/smoke/fmaf_test.cpp
    M libc/test/src/math/smoke/fmax_test.cpp
    M libc/test/src/math/smoke/fmaxbf16_test.cpp
    M libc/test/src/math/smoke/fmaxf128_test.cpp
    M libc/test/src/math/smoke/fmaxf16_test.cpp
    M libc/test/src/math/smoke/fmaxf_test.cpp
    M libc/test/src/math/smoke/fmaximum_mag_num_test.cpp
    M libc/test/src/math/smoke/fmaximum_mag_numbf16_test.cpp
    M libc/test/src/math/smoke/fmaximum_mag_numf128_test.cpp
    M libc/test/src/math/smoke/fmaximum_mag_numf16_test.cpp
    M libc/test/src/math/smoke/fmaximum_mag_numf_test.cpp
    M libc/test/src/math/smoke/fmaximum_mag_numl_test.cpp
    M libc/test/src/math/smoke/fmaximum_mag_test.cpp
    M libc/test/src/math/smoke/fmaximum_magbf16_test.cpp
    M libc/test/src/math/smoke/fmaximum_magf128_test.cpp
    M libc/test/src/math/smoke/fmaximum_magf16_test.cpp
    M libc/test/src/math/smoke/fmaximum_magf_test.cpp
    M libc/test/src/math/smoke/fmaximum_magl_test.cpp
    M libc/test/src/math/smoke/fmaximum_num_test.cpp
    M libc/test/src/math/smoke/fmaximum_numbf16_test.cpp
    M libc/test/src/math/smoke/fmaximum_numf128_test.cpp
    M libc/test/src/math/smoke/fmaximum_numf16_test.cpp
    M libc/test/src/math/smoke/fmaximum_numf_test.cpp
    M libc/test/src/math/smoke/fmaximum_numl_test.cpp
    M libc/test/src/math/smoke/fmaximum_test.cpp
    M libc/test/src/math/smoke/fmaximumbf16_test.cpp
    M libc/test/src/math/smoke/fmaximumf128_test.cpp
    M libc/test/src/math/smoke/fmaximumf16_test.cpp
    M libc/test/src/math/smoke/fmaximumf_test.cpp
    M libc/test/src/math/smoke/fmaximuml_test.cpp
    M libc/test/src/math/smoke/fmaxl_test.cpp
    M libc/test/src/math/smoke/fmin_test.cpp
    M libc/test/src/math/smoke/fminbf16_test.cpp
    M libc/test/src/math/smoke/fminf128_test.cpp
    M libc/test/src/math/smoke/fminf16_test.cpp
    M libc/test/src/math/smoke/fminf_test.cpp
    M libc/test/src/math/smoke/fminimum_mag_num_test.cpp
    M libc/test/src/math/smoke/fminimum_mag_numbf16_test.cpp
    M libc/test/src/math/smoke/fminimum_mag_numf128_test.cpp
    M libc/test/src/math/smoke/fminimum_mag_numf16_test.cpp
    M libc/test/src/math/smoke/fminimum_mag_numf_test.cpp
    M libc/test/src/math/smoke/fminimum_mag_numl_test.cpp
    M libc/test/src/math/smoke/fminimum_mag_test.cpp
    M libc/test/src/math/smoke/fminimum_magbf16_test.cpp
    M libc/test/src/math/smoke/fminimum_magf128_test.cpp
    M libc/test/src/math/smoke/fminimum_magf16_test.cpp
    M libc/test/src/math/smoke/fminimum_magf_test.cpp
    M libc/test/src/math/smoke/fminimum_magl_test.cpp
    M libc/test/src/math/smoke/fminimum_num_test.cpp
    M libc/test/src/math/smoke/fminimum_numbf16_test.cpp
    M libc/test/src/math/smoke/fminimum_numf128_test.cpp
    M libc/test/src/math/smoke/fminimum_numf16_test.cpp
    M libc/test/src/math/smoke/fminimum_numf_test.cpp
    M libc/test/src/math/smoke/fminimum_numl_test.cpp
    M libc/test/src/math/smoke/fminimum_test.cpp
    M libc/test/src/math/smoke/fminimumbf16_test.cpp
    M libc/test/src/math/smoke/fminimumf128_test.cpp
    M libc/test/src/math/smoke/fminimumf16_test.cpp
    M libc/test/src/math/smoke/fminimumf_test.cpp
    M libc/test/src/math/smoke/fminimuml_test.cpp
    M libc/test/src/math/smoke/fminl_test.cpp
    M libc/test/src/math/smoke/fmod_test.cpp
    M libc/test/src/math/smoke/fmodbf16_test.cpp
    M libc/test/src/math/smoke/fmodf128_test.cpp
    M libc/test/src/math/smoke/fmodf16_test.cpp
    M libc/test/src/math/smoke/fmodf_test.cpp
    M libc/test/src/math/smoke/fmodl_test.cpp
    M libc/test/src/math/smoke/fmul_test.cpp
    M libc/test/src/math/smoke/fmulf128_test.cpp
    M libc/test/src/math/smoke/fmull_test.cpp
    M libc/test/src/math/smoke/frexp_test.cpp
    M libc/test/src/math/smoke/frexpbf16_test.cpp
    M libc/test/src/math/smoke/frexpf128_test.cpp
    M libc/test/src/math/smoke/frexpf16_test.cpp
    M libc/test/src/math/smoke/frexpf_test.cpp
    M libc/test/src/math/smoke/frexpl_test.cpp
    M libc/test/src/math/smoke/fromfp_test.cpp
    M libc/test/src/math/smoke/fromfpbf16_test.cpp
    M libc/test/src/math/smoke/fromfpf128_test.cpp
    M libc/test/src/math/smoke/fromfpf16_test.cpp
    M libc/test/src/math/smoke/fromfpf_test.cpp
    M libc/test/src/math/smoke/fromfpl_test.cpp
    M libc/test/src/math/smoke/fromfpx_test.cpp
    M libc/test/src/math/smoke/fromfpxbf16_test.cpp
    M libc/test/src/math/smoke/fromfpxf128_test.cpp
    M libc/test/src/math/smoke/fromfpxf16_test.cpp
    M libc/test/src/math/smoke/fromfpxf_test.cpp
    M libc/test/src/math/smoke/fromfpxl_test.cpp
    M libc/test/src/math/smoke/fsqrt_test.cpp
    M libc/test/src/math/smoke/fsqrtf128_test.cpp
    M libc/test/src/math/smoke/fsqrtl_test.cpp
    M libc/test/src/math/smoke/fsub_test.cpp
    M libc/test/src/math/smoke/fsubf128_test.cpp
    M libc/test/src/math/smoke/fsubl_test.cpp
    M libc/test/src/math/smoke/generic_sqrt_test.cpp
    M libc/test/src/math/smoke/generic_sqrtf128_test.cpp
    M libc/test/src/math/smoke/generic_sqrtf_test.cpp
    M libc/test/src/math/smoke/generic_sqrtl_test.cpp
    M libc/test/src/math/smoke/getpayload_test.cpp
    M libc/test/src/math/smoke/getpayloadbf16_test.cpp
    M libc/test/src/math/smoke/getpayloadf128_test.cpp
    M libc/test/src/math/smoke/getpayloadf16_test.cpp
    M libc/test/src/math/smoke/getpayloadf_test.cpp
    M libc/test/src/math/smoke/getpayloadl_test.cpp
    M libc/test/src/math/smoke/ilogb_test.cpp
    M libc/test/src/math/smoke/ilogbbf16_test.cpp
    M libc/test/src/math/smoke/ilogbf128_test.cpp
    M libc/test/src/math/smoke/ilogbf16_test.cpp
    M libc/test/src/math/smoke/ilogbf_test.cpp
    M libc/test/src/math/smoke/ilogbl_test.cpp
    M libc/test/src/math/smoke/iscanonical_test.cpp
    M libc/test/src/math/smoke/iscanonicalbf16_test.cpp
    M libc/test/src/math/smoke/iscanonicalf128_test.cpp
    M libc/test/src/math/smoke/iscanonicalf16_test.cpp
    M libc/test/src/math/smoke/iscanonicalf_test.cpp
    M libc/test/src/math/smoke/iscanonicall_test.cpp
    M libc/test/src/math/smoke/isnanf128_test.cpp
    M libc/test/src/math/smoke/isnanf16_test.cpp
    M libc/test/src/math/smoke/issignaling_test.cpp
    M libc/test/src/math/smoke/issignalingbf16_test.cpp
    M libc/test/src/math/smoke/issignalingf128_test.cpp
    M libc/test/src/math/smoke/issignalingf16_test.cpp
    M libc/test/src/math/smoke/issignalingf_test.cpp
    M libc/test/src/math/smoke/issignalingl_test.cpp
    M libc/test/src/math/smoke/ldexp_test.cpp
    M libc/test/src/math/smoke/ldexpbf16_test.cpp
    M libc/test/src/math/smoke/ldexpf128_test.cpp
    M libc/test/src/math/smoke/ldexpf16_test.cpp
    M libc/test/src/math/smoke/ldexpf_test.cpp
    M libc/test/src/math/smoke/ldexpl_test.cpp
    M libc/test/src/math/smoke/llogb_test.cpp
    M libc/test/src/math/smoke/llogbbf16_test.cpp
    M libc/test/src/math/smoke/llogbf128_test.cpp
    M libc/test/src/math/smoke/llogbf16_test.cpp
    M libc/test/src/math/smoke/llogbf_test.cpp
    M libc/test/src/math/smoke/llogbl_test.cpp
    M libc/test/src/math/smoke/llrint_test.cpp
    M libc/test/src/math/smoke/llrintbf16_test.cpp
    M libc/test/src/math/smoke/llrintf128_test.cpp
    M libc/test/src/math/smoke/llrintf16_test.cpp
    M libc/test/src/math/smoke/llrintf_test.cpp
    M libc/test/src/math/smoke/llrintl_test.cpp
    M libc/test/src/math/smoke/llround_test.cpp
    M libc/test/src/math/smoke/llroundbf16_test.cpp
    M libc/test/src/math/smoke/llroundf128_test.cpp
    M libc/test/src/math/smoke/llroundf16_test.cpp
    M libc/test/src/math/smoke/llroundf_test.cpp
    M libc/test/src/math/smoke/llroundl_test.cpp
    M libc/test/src/math/smoke/logb_test.cpp
    M libc/test/src/math/smoke/logbbf16_test.cpp
    M libc/test/src/math/smoke/logbf128_test.cpp
    M libc/test/src/math/smoke/logbf16_test.cpp
    M libc/test/src/math/smoke/logbf_test.cpp
    M libc/test/src/math/smoke/logbl_test.cpp
    M libc/test/src/math/smoke/lrint_test.cpp
    M libc/test/src/math/smoke/lrintbf16_test.cpp
    M libc/test/src/math/smoke/lrintf128_test.cpp
    M libc/test/src/math/smoke/lrintf16_test.cpp
    M libc/test/src/math/smoke/lrintf_test.cpp
    M libc/test/src/math/smoke/lrintl_test.cpp
    M libc/test/src/math/smoke/lround_test.cpp
    M libc/test/src/math/smoke/lroundbf16_test.cpp
    M libc/test/src/math/smoke/lroundf128_test.cpp
    M libc/test/src/math/smoke/lroundf16_test.cpp
    M libc/test/src/math/smoke/lroundf_test.cpp
    M libc/test/src/math/smoke/lroundl_test.cpp
    M libc/test/src/math/smoke/modf_test.cpp
    M libc/test/src/math/smoke/modfbf16_test.cpp
    M libc/test/src/math/smoke/modff128_test.cpp
    M libc/test/src/math/smoke/modff16_test.cpp
    M libc/test/src/math/smoke/modff_test.cpp
    M libc/test/src/math/smoke/modfl_test.cpp
    M libc/test/src/math/smoke/nanbf16_test.cpp
    M libc/test/src/math/smoke/nearbyint_test.cpp
    M libc/test/src/math/smoke/nearbyintbf16_test.cpp
    M libc/test/src/math/smoke/nearbyintf128_test.cpp
    M libc/test/src/math/smoke/nearbyintf16_test.cpp
    M libc/test/src/math/smoke/nearbyintf_test.cpp
    M libc/test/src/math/smoke/nearbyintl_test.cpp
    M libc/test/src/math/smoke/nextafter_test.cpp
    M libc/test/src/math/smoke/nextafterbf16_test.cpp
    M libc/test/src/math/smoke/nextafterf128_test.cpp
    M libc/test/src/math/smoke/nextafterf16_test.cpp
    M libc/test/src/math/smoke/nextafterf_test.cpp
    M libc/test/src/math/smoke/nextafterl_test.cpp
    M libc/test/src/math/smoke/nextdown_test.cpp
    M libc/test/src/math/smoke/nextdownbf16_test.cpp
    M libc/test/src/math/smoke/nextdownf128_test.cpp
    M libc/test/src/math/smoke/nextdownf16_test.cpp
    M libc/test/src/math/smoke/nextdownf_test.cpp
    M libc/test/src/math/smoke/nextdownl_test.cpp
    M libc/test/src/math/smoke/nexttoward_test.cpp
    M libc/test/src/math/smoke/nexttowardbf16_test.cpp
    M libc/test/src/math/smoke/nexttowardf16_test.cpp
    M libc/test/src/math/smoke/nexttowardf_test.cpp
    M libc/test/src/math/smoke/nexttowardl_test.cpp
    M libc/test/src/math/smoke/nextup_test.cpp
    M libc/test/src/math/smoke/nextupbf16_test.cpp
    M libc/test/src/math/smoke/nextupf128_test.cpp
    M libc/test/src/math/smoke/nextupf16_test.cpp
    M libc/test/src/math/smoke/nextupf_test.cpp
    M libc/test/src/math/smoke/nextupl_test.cpp
    M libc/test/src/math/smoke/remquo_test.cpp
    M libc/test/src/math/smoke/remquobf16_test.cpp
    M libc/test/src/math/smoke/remquof128_test.cpp
    M libc/test/src/math/smoke/remquof16_test.cpp
    M libc/test/src/math/smoke/remquof_test.cpp
    M libc/test/src/math/smoke/remquol_test.cpp
    M libc/test/src/math/smoke/rint_test.cpp
    M libc/test/src/math/smoke/rintbf16_test.cpp
    M libc/test/src/math/smoke/rintf128_test.cpp
    M libc/test/src/math/smoke/rintf16_test.cpp
    M libc/test/src/math/smoke/rintf_test.cpp
    M libc/test/src/math/smoke/rintl_test.cpp
    M libc/test/src/math/smoke/round_test.cpp
    M libc/test/src/math/smoke/roundbf16_test.cpp
    M libc/test/src/math/smoke/roundeven_test.cpp
    M libc/test/src/math/smoke/roundevenbf16_test.cpp
    M libc/test/src/math/smoke/roundevenf128_test.cpp
    M libc/test/src/math/smoke/roundevenf16_test.cpp
    M libc/test/src/math/smoke/roundevenf_test.cpp
    M libc/test/src/math/smoke/roundevenl_test.cpp
    M libc/test/src/math/smoke/roundf128_test.cpp
    M libc/test/src/math/smoke/roundf16_test.cpp
    M libc/test/src/math/smoke/roundf_test.cpp
    M libc/test/src/math/smoke/roundl_test.cpp
    M libc/test/src/math/smoke/scalbln_test.cpp
    M libc/test/src/math/smoke/scalblnbf16_test.cpp
    M libc/test/src/math/smoke/scalblnf128_test.cpp
    M libc/test/src/math/smoke/scalblnf16_test.cpp
    M libc/test/src/math/smoke/scalblnf_test.cpp
    M libc/test/src/math/smoke/scalblnl_test.cpp
    M libc/test/src/math/smoke/scalbn_test.cpp
    M libc/test/src/math/smoke/scalbnbf16_test.cpp
    M libc/test/src/math/smoke/scalbnf128_test.cpp
    M libc/test/src/math/smoke/scalbnf16_test.cpp
    M libc/test/src/math/smoke/scalbnf_test.cpp
    M libc/test/src/math/smoke/scalbnl_test.cpp
    M libc/test/src/math/smoke/setpayload_test.cpp
    M libc/test/src/math/smoke/setpayloadbf16_test.cpp
    M libc/test/src/math/smoke/setpayloadf128_test.cpp
    M libc/test/src/math/smoke/setpayloadf16_test.cpp
    M libc/test/src/math/smoke/setpayloadf_test.cpp
    M libc/test/src/math/smoke/setpayloadl_test.cpp
    M libc/test/src/math/smoke/setpayloadsig_test.cpp
    M libc/test/src/math/smoke/setpayloadsigbf16_test.cpp
    M libc/test/src/math/smoke/setpayloadsigf128_test.cpp
    M libc/test/src/math/smoke/setpayloadsigf16_test.cpp
    M libc/test/src/math/smoke/setpayloadsigf_test.cpp
    M libc/test/src/math/smoke/setpayloadsigl_test.cpp
    M libc/test/src/math/smoke/sqrt_test.cpp
    M libc/test/src/math/smoke/sqrtbf16_test.cpp
    M libc/test/src/math/smoke/sqrtf128_test.cpp
    M libc/test/src/math/smoke/sqrtf16_test.cpp
    M libc/test/src/math/smoke/sqrtf_test.cpp
    M libc/test/src/math/smoke/sqrtl_test.cpp
    M libc/test/src/math/smoke/totalorder_test.cpp
    M libc/test/src/math/smoke/totalorderbf16_test.cpp
    M libc/test/src/math/smoke/totalorderf128_test.cpp
    M libc/test/src/math/smoke/totalorderf16_test.cpp
    M libc/test/src/math/smoke/totalorderf_test.cpp
    M libc/test/src/math/smoke/totalorderl_test.cpp
    M libc/test/src/math/smoke/totalordermag_test.cpp
    M libc/test/src/math/smoke/totalordermagbf16_test.cpp
    M libc/test/src/math/smoke/totalordermagf128_test.cpp
    M libc/test/src/math/smoke/totalordermagf16_test.cpp
    M libc/test/src/math/smoke/totalordermagf_test.cpp
    M libc/test/src/math/smoke/totalordermagl_test.cpp
    M libc/test/src/math/smoke/trunc_test.cpp
    M libc/test/src/math/smoke/truncbf16_test.cpp
    M libc/test/src/math/smoke/truncf128_test.cpp
    M libc/test/src/math/smoke/truncf16_test.cpp
    M libc/test/src/math/smoke/truncf_test.cpp
    M libc/test/src/math/smoke/truncl_test.cpp
    M libc/test/src/math/smoke/ufromfp_test.cpp
    M libc/test/src/math/smoke/ufromfpbf16_test.cpp
    M libc/test/src/math/smoke/ufromfpf128_test.cpp
    M libc/test/src/math/smoke/ufromfpf16_test.cpp
    M libc/test/src/math/smoke/ufromfpf_test.cpp
    M libc/test/src/math/smoke/ufromfpl_test.cpp
    M libc/test/src/math/smoke/ufromfpx_test.cpp
    M libc/test/src/math/smoke/ufromfpxbf16_test.cpp
    M libc/test/src/math/smoke/ufromfpxf128_test.cpp
    M libc/test/src/math/smoke/ufromfpxf16_test.cpp
    M libc/test/src/math/smoke/ufromfpxf_test.cpp
    M libc/test/src/math/smoke/ufromfpxl_test.cpp
    M libc/test/src/math/sqrt_test.cpp
    M libc/test/src/math/sqrtbf16_test.cpp
    M libc/test/src/math/sqrtf128_test.cpp
    M libc/test/src/math/sqrtf_test.cpp
    M libc/test/src/math/sqrtl_test.cpp
    M libc/test/src/math/trunc_test.cpp
    M libc/test/src/math/truncbf16_test.cpp
    M libc/test/src/math/truncf128_test.cpp
    M libc/test/src/math/truncf16_test.cpp
    M libc/test/src/math/truncf_test.cpp
    M libc/test/src/math/truncl_test.cpp

  Log Message:
  -----------
  [libc][math][NFC] Fix duplicated class names in math tests. (#224666)

This might cause ODR issues when we put all the tests together into a
single test.

Assisted-by: Gemini


  Commit: 6eba5341de433bf9f6c7e8ccd81ee5ab84f5e125
      https://github.com/llvm/llvm-project/commit/6eba5341de433bf9f6c7e8ccd81ee5ab84f5e125
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/uArch/uArchBase.h
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
    M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir

  Log Message:
  -----------
  [mlir][xegpu] Derive load_nd lane_data from the hardware block variant (#223164)

setupLoadNdAnchorLayout copied lane_data from the consumer layout. But
lane_data follows from the element width and the block variant the
hardware will use, not from what the consumer wants.

This PR adds get2DBlockLoadLaneData, deriving lane_data from the packing
size the uArch already reports: the load's packed format size along the
innermost dim for a regular 2d block load, the general packed format
size along the second-innermost dim for transform (VNNI), or along the
innermost dim for transpose.

On the fallback path, where the consumer's inst_data is not a usable
block, also pick the variant that can host that lane_data. DPAS_MX
scales land here: width 16 for an 8-bit scale cannot spread 16 lanes of
2 elements over 32 columns, so it is loaded transformed, packing down
the column instead.

scale_a inst_data = [16, 32], lane_layout = [16, 1], lane_data = [1, 4],
order = [0, 1]
scale_b  inst_data = [32, 16], lane_layout = [1, 16], lane_data = [4, 1]

Also correct the uArch table: an 8-bit regular block load packs two
elements per lane, so 16 lanes need 32 columns. Its supported width is
32, not {16, 32}.

assisted-by-claude

---------

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


  Commit: 452343dc0e7509e0a763389e7aee478e9c29b45e
      https://github.com/llvm/llvm-project/commit/452343dc0e7509e0a763389e7aee478e9c29b45e
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Passes.h
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Lowering/CIRPasses.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    A clang/test/CodeGen/AArch64/abi-lowering-matrix-ha-compat23.c
    M llvm/include/llvm/ABI/TargetInfo.h
    M llvm/lib/ABI/TargetInfo.cpp
    M llvm/lib/ABI/Targets/AArch64.cpp
    M llvm/lib/ABI/Targets/BPF.cpp
    M llvm/lib/ABI/Targets/X86.cpp
    M llvm/unittests/ABI/X86TargetInfoTest.cpp

  Log Message:
  -----------
  [LLVMABI] Add Clang 23 compatible handling for matrix types (#224121)

This change updates the LLVM ABI library to enable Clang 23 compatible
classification of matrix types when the `-fclang-abi-compt=23` option is
used. Clang versions 23 and earlier did not accept matrix types as base
types for homogeneous aggregates, but the current version does. The LLVM
ABI library use the new behavior when isHomogeneousAggregate was
introduced there. This change adds an ABICompatInfo setting to allow
version 23 compatibility to be implemented.

This change also moves X86-specific ABI compatibility options into an
X86-specific subclass of ABICompatInfo.

Assisted-by: Cursor / various models


  Commit: 05d706e9a816dbf9eff31f47869f53d6fe796089
      https://github.com/llvm/llvm-project/commit/05d706e9a816dbf9eff31f47869f53d6fe796089
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/FPUtil/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/complex/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl

  Log Message:
  -----------
  [bazel][test][libc] Add tags to tests marking full-build compatibility (#224457)


  Commit: 6789cbc35c9ee33207c9cbef5a8dd132c72ee067
      https://github.com/llvm/llvm-project/commit/6789cbc35c9ee33207c9cbef5a8dd132c72ee067
  Author: Martin Schlipf <martin.schlipf at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/test/CodeGen/WebAssembly/clear-cache.ll

  Log Message:
  -----------
  [WebAssembly] Diagnose llvm.clear_cache instead of aborting (#224579)

Lowering llvm.clear_cache for WebAssembly called report_fatal_error, so
an unsupported-but-known construct aborted the compiler and printed
"PLEASE submit a bug report", with no indication of which function was
responsible.

Use the fail() helper already used a few hundred lines earlier in the
same file for nest arguments, inalloca arguments and
consecutive-register arguments. That reports a DiagnosticInfoUnsupported
naming the function, and lets the compiler exit with an error rather
than a crash.

Before:
  LLVM ERROR: llvm.clear_cache is not supported on wasm
PLEASE submit a bug report to
https://github.com/llvm/llvm-project/issues/
  <stack dump>

After:
  error: <unknown>:0:0: in function clear_cache void (ptr, ptr):
      llvm.clear_cache is not supported on wasm

This is reached from flang, where passing an internal procedure as an
actual argument requires a trampoline, whose setup emits
llvm.clear_cache.

Assisted-by: Claude


  Commit: 1ca4b1fd048ea5c2d4ad6d321b05c39f50a10e7e
      https://github.com/llvm/llvm-project/commit/1ca4b1fd048ea5c2d4ad6d321b05c39f50a10e7e
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lld/MachO/InputFiles.cpp
    A lld/test/MachO/coincident-alt-entry.s

  Log Message:
  -----------
  [lld][MachO] Keep coincident alt entries with their atom (#224466)

When an N_ALT_ENTRY precedes a regular symbol at the same address, LLD
attached it one past the end of the preceding atom. This could misdirect
references after atom reordering and suppress valid ICF.

```
  _previous:
    ret

  .alt_entry target.alt
  target.alt:
  .globl _target
  _target:
    mov w0, #42
    ret

  _main:
    b target.alt
```

Mach-O records the local target.alt before the external _target at the
same address. LLD previously attached target.alt to the preceding atom
before _target created a new atom:
```
  old: [_previous ... target.alt] [_target ...] [_main ...]
  new: [_previous ...] [target.alt, _target ...] [_main ...]
```

The fix examines the complete equal-address group: a regular symbol
makes that address an atom boundary for every coincident symbol, while
alt-only groups keep their interior-entry behavior.
Detecting the group in place rather than sorting regular symbols first
preserves symbol order, so the ordinary symbol keeps the body size and
the alt entry stays a zero-sized alias, matching ld-prime; it also
avoids conflicting with the existing extern-weak same-address tiebreak.


  Commit: f98bf7b005c268504e36df0a7da3a2170f698119
      https://github.com/llvm/llvm-project/commit/f98bf7b005c268504e36df0a7da3a2170f698119
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/reduce-or-bitpack-split.ll

  Log Message:
  -----------
  [SLP]Fix crash when all split reduction parts are reduced in tree

A split or-reduction whose every vector part is modeled as a bitfield
pack (or another reduced bitcast root) leaves no vector value for the
final reduction combine, so the accumulated VecRes stays null and the
unconditional final combine hits an assertion. Skip the combine when
no vector part was accumulated.

Fixes https://github.com/llvm/llvm-project/pull/219731#issuecomment-5732717976

Reviewers: 

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


  Commit: 020f32f70d3e78c4d74efecd739066c22c3396c7
      https://github.com/llvm/llvm-project/commit/020f32f70d3e78c4d74efecd739066c22c3396c7
  Author: lntue <lntue at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M libc/src/__support/math/acosf.h
    M libc/test/src/math/exhaustive/acosf_test.cpp
    M libc/test/src/math/exhaustive/acoshf_test.cpp
    M libc/test/src/math/exhaustive/acospif_test.cpp
    M libc/test/src/math/exhaustive/asinf_test.cpp
    M libc/test/src/math/exhaustive/asinhf_test.cpp
    M libc/test/src/math/exhaustive/asinpif_test.cpp
    M libc/test/src/math/exhaustive/atanf_float_test.cpp
    M libc/test/src/math/exhaustive/atanf_test.cpp
    M libc/test/src/math/exhaustive/atanhf_test.cpp
    M libc/test/src/math/exhaustive/bfloat16_test.cpp
    M libc/test/src/math/exhaustive/cbrtf_test.cpp
    M libc/test/src/math/exhaustive/cosf_float_test.cpp
    M libc/test/src/math/exhaustive/cosf_test.cpp
    M libc/test/src/math/exhaustive/coshf_test.cpp
    M libc/test/src/math/exhaustive/cospif_test.cpp
    M libc/test/src/math/exhaustive/erff_test.cpp
    M libc/test/src/math/exhaustive/exp10f_test.cpp
    M libc/test/src/math/exhaustive/exp10m1f_test.cpp
    M libc/test/src/math/exhaustive/exp2f_test.cpp
    M libc/test/src/math/exhaustive/exp2m1f_test.cpp
    M libc/test/src/math/exhaustive/expf_static_rounding_test.cpp
    M libc/test/src/math/exhaustive/expf_test.cpp
    M libc/test/src/math/exhaustive/expm1f_test.cpp
    M libc/test/src/math/exhaustive/f16sqrtf_test.cpp
    M libc/test/src/math/exhaustive/fmodbf16_test.cpp
    M libc/test/src/math/exhaustive/fmodf16_test.cpp
    M libc/test/src/math/exhaustive/log10f_test.cpp
    M libc/test/src/math/exhaustive/log1pf_test.cpp
    M libc/test/src/math/exhaustive/log2f_test.cpp
    M libc/test/src/math/exhaustive/logf_test.cpp
    M libc/test/src/math/exhaustive/sincosf_test.cpp
    M libc/test/src/math/exhaustive/sinf_float_test.cpp
    M libc/test/src/math/exhaustive/sinf_test.cpp
    M libc/test/src/math/exhaustive/sinhf_test.cpp
    M libc/test/src/math/exhaustive/sinpif_test.cpp
    M libc/test/src/math/exhaustive/sqrtf_test.cpp
    M libc/test/src/math/exhaustive/tanf_test.cpp
    M libc/test/src/math/exhaustive/tanhf_test.cpp
    M libc/test/src/math/exhaustive/tanpif_test.cpp

  Log Message:
  -----------
  [libc][math][NFC] Fix "Postive" typo in exhaustive test folder. (#224687)


  Commit: e532cc7fe8d4a4508c089595542a5824e0107cb9
      https://github.com/llvm/llvm-project/commit/e532cc7fe8d4a4508c089595542a5824e0107cb9
  Author: Timur Baidusenov <timurbaidusenov at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp

  Log Message:
  -----------
  [LoopBoundSplit][NFC] Merge analyzeICmp() into hasProcessableCondition() (#224563)

Split out of #221604 as requested. The merge was suggested by nikic in
the review of #167227.


  Commit: 3d8cf5a360f42a1573581141754ed7793645ca14
      https://github.com/llvm/llvm-project/commit/3d8cf5a360f42a1573581141754ed7793645ca14
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
    M llvm/test/TableGen/AMDGPUTargetDefErrors.td
    A llvm/test/TableGen/AMDGPUTargetDefGenericFeatures.td
    M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp

  Log Message:
  -----------
  [AMDGPU][NFC] Allow selected generic features on any covered GPU  (#223177)

Add `AMDGPUGenericAnyFeature` so individual feature classes can require
support from at least one covered GPU. Check explicitly marked features
even when they are not frontend-visible, while retaining the all-member
check for ordinary frontend-visible features.

Follow implied features using their own validation rules. Require named
generic targets to cover at least one concrete AMDGPU GPU, rejecting
self references, other generic targets, pseudo targets, and invalid 
members.

Cover partial support, missing support, exact numeric-feature
membership, backend-only features, implications, and malformed 
coverage lists with TableGen tests. Generated target definitions 
remain unchanged.


  Commit: f18795ec50fe7da1f1fec2b80e19771fb788143d
      https://github.com/llvm/llvm-project/commit/f18795ec50fe7da1f1fec2b80e19771fb788143d
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lld/ELF/Writer.cpp
    M lld/test/ELF/linkerscript/nobits-offset.s

  Log Message:
  -----------
  [ELF] Don't reserve file bytes for NOBITS followed only by empty sections (#224523)

An empty section after .bss in the same PT_LOAD gets `first->offset +
os->addr - first->addr`, which reserves size(.bss) file bytes. This
makes p_filesz = p_memsz, defeating the NOBITS size optimization.

Give such sections the running offset instead.

Fix #78261


  Commit: a06d9165905ce89b5ffef2bbb84c886d60a9b8bf
      https://github.com/llvm/llvm-project/commit/a06d9165905ce89b5ffef2bbb84c886d60a9b8bf
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    A llvm/test/Transforms/MergeFunc/coff-weak-alias-object.ll
    A llvm/test/Transforms/MergeFunc/coff-weak-alias.ll

  Log Message:
  -----------
  [MergeFunctions] keep the symbol of a function an alias points at on COFF (#222024)

On COFF an alias is a weak external, which must name the symbol it
resolves to. When that target is local there is no such name, so
`WinCOFFWriter::assignSectionNumbers` invents a
`.weak.<alias>.default.<sym>` fallback named after unrelated contents of
the object. Two objects defining the same alias then disagree and the
link fails with `LNK1227` (hit building the Swift toolchain on Windows).

MergeFunctions reaches that state when the function an alias points at
is replaced by, or aliased to, an internal one. On COFF, decline both:
keep a thunk so the alias goes on naming an external definition. The
merge still happens, and non-COFF is untouched.


  Commit: 01ef3ffcdc4e9f75ba31bcbde41520874243bc1a
      https://github.com/llvm/llvm-project/commit/01ef3ffcdc4e9f75ba31bcbde41520874243bc1a
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/LowerTypeTests/cfi-jumptable-hotness-summary.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-jumptable-hotness.ll

  Log Message:
  -----------
  [NFC][LowerTypeTests] Expand tests for CFI jump table hotness ordering (#223848)

Expand pre-commit test coverage to establish the baseline CFI jump table
layout before implementing hotness-based reordering in
https://github.com/llvm/llvm-project/pull/221046.

We expand these tests to verify we accurately track hotness data
originating from `cfi.functions` metadata, BlockFrequencyInfo (BFI)
counts, and IR function attributes (hot/cold). By covering these inputs,
we ensure the correct hotness tier is propagated for layout decisions
across different profile sources and LTO targets.

These tests verify the baseline declaration-order layout where functions
within each strict type are placed without hotness consideration, making
the subsequent reordering diff explicit and easy to review.

PR Stack:
* https://github.com/llvm/llvm-project/pull/220776
* https://github.com/llvm/llvm-project/pull/221043
* https://github.com/llvm/llvm-project/pull/221044
* https://github.com/llvm/llvm-project/pull/223843
* https://github.com/llvm/llvm-project/pull/223846
* ➤ https://github.com/llvm/llvm-project/pull/223848
* https://github.com/llvm/llvm-project/pull/221046

Assisted-by: Gemini


  Commit: 30ae0c3f59647fd5d0e07d00c916c4f19ff54835
      https://github.com/llvm/llvm-project/commit/30ae0c3f59647fd5d0e07d00c916c4f19ff54835
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/lib/Options/DriverOptions.cpp
    M llvm/include/llvm/Option/OptTable.h
    M llvm/include/llvm/Option/Option.h
    M llvm/lib/Option/OptTable.cpp
    M llvm/unittests/Option/OptionParsingTest.cpp
    M llvm/unittests/Option/Opts.td
    M llvm/utils/TableGen/OptionParserEmitter.cpp

  Log Message:
  -----------
  [Option] Shrink Info from 60 to 40 bytes (#224374)

Drop ID, which is the entry's 1-based position, and narrow
PrefixesOffset and SubCommandIDsOffset to 16 bits like GroupID and
AliasID.

Move help text variants to a side table. The .td HelpTextForVariants
class allows one variant per option and only 5 clang options use it,
yet every entry carries a 12-byte std::array of visibility lists. Store
(visibility mask, text offset) pairs in a separate table, indexed by a
16-bit field in the entry's padding.

clang's table shrinks from 232 KB to 155 KB and Options.inc from 1.70 MB
to 1.29 MB. --help output is unchanged.

Aided by Opus 5


  Commit: 1e592bb44245a9ae44115fe78be1b07251dc3d9e
      https://github.com/llvm/llvm-project/commit/1e592bb44245a9ae44115fe78be1b07251dc3d9e
  Author: Arth Srivastava <arthsrivastava1 at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
    A flang/test/Transforms/DoConcurrent/nested_derived_type_device.f90
    A offload/test/offloading/fortran/do-concurrent-to-omp-nested-derived-type.f90

  Log Message:
  -----------
  [Flang][OpenMP] Support nested derived types in DO CONCURRENT device conversion (#218963)

Fixes #218760.

When converting `DO CONCURRENT` loops to OpenMP device targets, Flang
previously aborted whenever a live-in derived type contained a nested
derived-type component.

Nested derived types containing only non-allocatable components do not
require special handling: mapping the containing record covers the
storage of its nested components. When a nested component contains an
allocatable member, however, an implicit mapper is required to properly
map the dynamically allocated storage.

This patch removes the unconditional nested-record NYI and updates the
implicit mapper check to recurse through the Fortran element type of
derived-type components. In particular, this handles array-valued nested
derived-type components, which are lowered as `fir::SequenceType`.

Tests are added in
`flang/test/Transforms/DoConcurrent/nested_derived_type_device.f90` to
verify plain record mapping, nested implicit mapper generation, and
chained mappers for array components. An AMDGPU offload test is also
added in
`offload/test/offloading/fortran/do-concurrent-to-omp-nested-derived-type.f90`
to verify device kernel execution and the computed results.

Reusing visible user-defined default declare mappers for derived-type
live-ins remains a separate pre-existing limitation in
`DoConcurrentConversion` and is not addressed by this patch.

---------

Co-authored-by: agozillon <Andrew.Gozillon at amd.com>


  Commit: 27609069988d7387676fed58b7a891438c2c71d3
      https://github.com/llvm/llvm-project/commit/27609069988d7387676fed58b7a891438c2c71d3
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/TargetMachineC.cpp

  Log Message:
  -----------
  llvm-c: Compute the DataLayout from the triple and ABI (#224588)

Drop a use of createDataLayout

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 320c702a73f4b0a592a2273346a8d56a38d71f4c
      https://github.com/llvm/llvm-project/commit/320c702a73f4b0a592a2273346a8d56a38d71f4c
  Author: PiJoules <leonardchan at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp

  Log Message:
  -----------
  [NFC][RelLookupTableConverter] Get IndexWidth directly from GEP type (#224454)

`Load->getPointerOperand()` is always the `GEP` prior to it, so just
reuse the GEP rather than querying the Load again.


  Commit: 0c2bb8a4d53282ce67190ce1071b0e649c2b98c7
      https://github.com/llvm/llvm-project/commit/0c2bb8a4d53282ce67190ce1071b0e649c2b98c7
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/combine-mul.ll
    M llvm/test/CodeGen/X86/combine-mulo.ll

  Log Message:
  -----------
  [DAG] Canonicalize a non-opaque constant to the RHS of MUL over an opaque one (#224685)

Fix a case noticed in #224494 where we fail to canonicalize a non-opaque
constant to the RHS when both operands are constant, but one of them is
opaque. ("opaque" means created by ConstantHoisting)

We probably have many other instances of this issue, and I do not plan
to pursue this area further.

Assisted-by: Claude Fable 5.1


  Commit: 1e02641babceb803e3b568e8dfbe5036f0f15f0f
      https://github.com/llvm/llvm-project/commit/1e02641babceb803e3b568e8dfbe5036f0f15f0f
  Author: PiJoules <leonardchan at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGVTables.cpp
    A clang/test/CodeGenCXX/RelativeVTablesABI/deleted-virtual-method.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp

  Log Message:
  -----------
  [clang][CodeGen] Emit offsets to __cxa_pure/deleted_virtual under relative vtables (#224148)

Previously, pure and deleted virtual functions were emitted as null (0)
in relative vtables as a temporary workaround for PR43094 (#42439).
Before dso_local_equivalent, taking relative offsets to external runtime
functions required generating local symbols, which caused LLD COMDAT
group merging conflicts for classes defined across multiple TUs.

With dso_local_equivalent, we can now emit direct relative offsets to
__cxa_pure_virtual and __cxa_deleted_virtual without generating local
aliases or encountering COMDAT signature clashes.


  Commit: 88bc022497e32208f0ba4e65719ba18063a01b4c
      https://github.com/llvm/llvm-project/commit/88bc022497e32208f0ba4e65719ba18063a01b4c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/sibling-loops-different-trip-counts.ll

  Log Message:
  -----------
  [SLP]Fix loop-aware cost for gathers crossing sibling-loop boundaries

Scale such gathers by the common parent nest, not by the sibling's
trip count.

Fixes #209325

Reviewers: 

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


  Commit: a327107c7acd3c2e8ae232402d572ab4c777d464
      https://github.com/llvm/llvm-project/commit/a327107c7acd3c2e8ae232402d572ab4c777d464
  Author: Ömer Sinan Ağacan <omer at osa1.net>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
    A llvm/test/Transforms/AggressiveInstCombine/trunc_umin_umax.ll

  Log Message:
  -----------
  [AggressiveInstCombine] Add `umin` and `umax` to `TruncInstCombine` graph (#222914)


  Commit: b2ff0e8eae8236e7555afa6026e0cf251af8c4ae
      https://github.com/llvm/llvm-project/commit/b2ff0e8eae8236e7555afa6026e0cf251af8c4ae
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  llvm: Update Attributor maintainers (#224693)

;-(


  Commit: ae374f89dafb3ad6f534064688cb023d5bfafca1
      https://github.com/llvm/llvm-project/commit/ae374f89dafb3ad6f534064688cb023d5bfafca1
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/source/Target/Process.cpp
    M lldb/test/API/functionalities/process_save_core_minidump/size_mismatch/TestProcessSaveCoreMinidumpSizeMismatch.py

  Log Message:
  -----------
  [lldb] Remove the unused Process::ReadMemoryInChunks (#224656)

`Process::ReadMemoryInChunks` and its `ReadMemoryChunkCallback` typedef
have no callers left in the tree, no unit tests, and no SB API exposure.
This commit removes it.

The method was added in commit f869d6efeec8 (#129307) for the minidump
writer, which was its only caller.  Then, commit 7f04a40a220e (#212641)
replaced that call with a direct loop over `ReadMemoryFromInferior` in
`MinidumpFileBuilder::ReadWriteMemoryInChunks`, leaving this method
dead.

This commit also drop the reference to this method from the description
of
`TestProcessSaveCoreMinidumpSizeMismatch.py`. The test is unchanged.


  Commit: 216acfbf7b4599b41a56a9023b024678b6d202af
      https://github.com/llvm/llvm-project/commit/216acfbf7b4599b41a56a9023b024678b6d202af
  Author: alexey-gusarov <alexey.gusarov at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Target/ThreadPlan.h
    M lldb/source/Target/Thread.cpp
    A lldb/test/API/functionalities/thread_plan/step_over_breakpoint_site/Makefile
    A lldb/test/API/functionalities/thread_plan/step_over_breakpoint_site/TestStepOverBreakpointSite.py
    A lldb/test/API/functionalities/thread_plan/step_over_breakpoint_site/main.c
    A lldb/test/API/functionalities/thread_plan/step_over_breakpoint_site/run_to_address_plan.py

  Log Message:
  -----------
  [lldb] Don't consult the plan stack for a stop an auto-continue will discard (#215522)

Fixes part (2) of #215189. The sibling PR for part (1) is #215521. The
two are
independent, but are best landed together.

When a completed thread plan auto-continues, `Thread::ShouldStop()`
still
consults subsequent plans and then discards their stop decisions. Those
calls
can change the state of the plans being consulted. In the failing case,
`ThreadPlanRunToAddress` loses the breakpoint it was running to, so the
process
runs past the requested address.

This does not require a scripted plan:

```python
# thread stopped on an enabled breakpoint site
thread.RunToAddress(next_instruction_address)   # before: process runs away
```

`ThreadPlan.h` already says that an auto-continuing plan overrides the
`ShouldStop` of subsequently processed plans. Tighten that contract so
their
`ShouldStop` is not consulted at all, and make `Thread::ShouldStop()`
follow it
by ending the plan walk after popping the auto-continuing plan.

The subsequent plans therefore keep their state, and an unexecuted
`BreakpointSite` at the current PC is hit normally on the following
resume.

### Testing

Adds
`lldb/test/API/functionalities/thread_plan/step_over_breakpoint_site/`
with coverage for:

* `RunToAddress` from an enabled breakpoint site;
* the same plan queued by a scripted thread plan;
* the stepped-over breakpoint being hit again on a later pass;
* `RunToAddress` with the PC already off the breakpoint site;
* a target two instructions away;
* a user breakpoint at the target address.

The first three fail before the change on both Linux and Windows. The
remaining
three pass before and after the change and cover the surrounding
behavior.

Whole `check-lldb` passes on both Linux x86_64 and Windows x86_64 with 0
failed
and 0 unresolved tests.

macOS is not covered because no host was available.

---

Tool-use disclosure, per the LLVM AI tool policy: this change was
prepared with
the assistance of Claude Code (`Assisted-by:` trailer on the commit).
Everything
was read and reviewed before posting.

rdar://184560595


  Commit: 5f23b5e1475236f51e614ea971e22bf800fbe7c8
      https://github.com/llvm/llvm-project/commit/5f23b5e1475236f51e614ea971e22bf800fbe7c8
  Author: Augusto Noronha <anoronha at apple.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
    M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h
    A lldb/test/API/functionalities/unwind/outlined-prologue/Makefile
    A lldb/test/API/functionalities/unwind/outlined-prologue/TestOutlinedPrologueUnwind.py
    A lldb/test/API/functionalities/unwind/outlined-prologue/main.c
    M lldb/unittests/UnwindAssembly/ARM64/CMakeLists.txt
    M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp

  Log Message:
  -----------
  [lldb] Follow serial outlined functions when scanning for an unwind plan (#222800)

For code-size-constrained builds the compiler's instruction outliner
finds
identical instruction sequences across functions, moves them into a
single
OUTLINED_FUNCTION_<n>, and has every user call it. Instructions from a
function's prologue, body or epilogue may all be outlined.

lldb's instruction-emulation UnwindPlan creator scans the instructions
of a
function and, following the ABI's calling convention, assumes a call
leaves the
stack and registers in a known state. That assumption does not hold for
outlined functions: when prologue and epilogue instructions are outlined
out of
the function body, the UnwindPlan misses those register spills and
restores,
which leads to inaccurate variable tracking in the caller's frames.

This patch looks for call instructions in the function body, and when
the
callee is an OUTLINED_FUNCTION_<n> it evaluates the callee's
instructions too,
folding the UnwindPlan-relevant state changes -- register saves,
restores, CFA
changes -- into the plan of the function being scanned.

Only straight-line helpers are followed: a single basic block whose sole
control flow is the terminator returning to the caller. Anything else
has more
than one path through the callee is skipped entirely. In practice that
means
mid-function outlined code, which rarely changes the unwind state.
Outlined
prologues, the common and important case, are covered.

Assisted-by: Claude

rdar://187149822


  Commit: fedbd3bdbe650fce8fe92a020698cc2db55a4ed7
      https://github.com/llvm/llvm-project/commit/fedbd3bdbe650fce8fe92a020698cc2db55a4ed7
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp

  Log Message:
  -----------
  [CIR][NFC] Fix compilation error CIRGenModule (#224694)

Fix deduced conflicting types for parameter when calling std::max with
unsigned long and unsigned long long, can be fixed by
`std::max(f.getAlignment().value_or(1), 2ull)` but in this line, the
alignment is always less than 2 because of the parent if condition, so
max is always 2


  Commit: b91795ba4d79b109cc8abe3d1d8255379b217754
      https://github.com/llvm/llvm-project/commit/b91795ba4d79b109cc8abe3d1d8255379b217754
  Author: Kewen Meng <Kewen.Meng at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M libsycl/src/detail/queue_impl.cpp
    M libsycl/src/usm_functions.cpp
    M libsycl/unittests/handler/test_helpers.hpp
    M libsycl/unittests/mock/helpers.cpp
    M libsycl/unittests/mock/helpers.hpp
    M libsycl/unittests/mock/mock.cpp
    M libsycl/unittests/queue/memcpy.cpp
    M libsycl/unittests/usm/alloc.cpp
    M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
    M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
    M offload/languages/kernel/src/LanguageRuntime.cpp
    M offload/liboffload/API/Memory.td
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    M offload/plugins-nextgen/host/src/rtl.cpp
    M offload/plugins-nextgen/level_zero/include/L0Memory.h
    M offload/plugins-nextgen/level_zero/include/L0Plugin.h
    M offload/plugins-nextgen/level_zero/src/L0Context.cpp
    M offload/plugins-nextgen/level_zero/src/L0Device.cpp
    M offload/plugins-nextgen/level_zero/src/L0Memory.cpp
    M offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
    M offload/unittests/Conformance/include/mathtest/DeviceContext.hpp
    M offload/unittests/Conformance/include/mathtest/DeviceResources.hpp
    M offload/unittests/Conformance/lib/DeviceContext.cpp
    M offload/unittests/Conformance/lib/DeviceResources.cpp
    M offload/unittests/OffloadAPI/event/olGetEventElapsedTime.cpp
    M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
    M offload/unittests/OffloadAPI/memory/olGetMemInfo.cpp
    M offload/unittests/OffloadAPI/memory/olGetMemInfoSize.cpp
    M offload/unittests/OffloadAPI/memory/olMemAlloc.cpp
    M offload/unittests/OffloadAPI/memory/olMemAllocAligned.cpp
    M offload/unittests/OffloadAPI/memory/olMemFill.cpp
    M offload/unittests/OffloadAPI/memory/olMemFree.cpp
    M offload/unittests/OffloadAPI/memory/olMemPrefetch.cpp
    M offload/unittests/OffloadAPI/memory/olMemcpy.cpp
    M offload/unittests/OffloadAPI/queue/olLaunchHostFunction.cpp
    M offload/unittests/OffloadAPI/queue/olWaitEvents.cpp

  Log Message:
  -----------
  Revert "[offload] add context to olMemAlloc*" (#224703)

Revert: https://github.com/llvm/llvm-project/pull/222677 and
https://github.com/llvm/llvm-project/pull/224622

Bot has been down: https://lab.llvm.org/buildbot/#/builders/234

errors:
```
Failed Tests (5):
  libomptarget :: amdgpu-amd-amdhsa :: tools/omp-kernel-replay/record-replay-advanced.cpp
  libomptarget :: amdgpu-amd-amdhsa :: tools/omp-kernel-replay/record-replay-basic.cpp
  libomptarget :: amdgpu-amd-amdhsa :: tools/omp-kernel-replay/record-replay-diff-teams-threads.cpp
  libomptarget :: amdgpu-amd-amdhsa :: tools/omp-kernel-replay/record-replay-diff-threads.cpp
  libomptarget :: amdgpu-amd-amdhsa :: tools/omp-kernel-replay/record-replay-ir-bitcode.cpp
```

After revert:
```
Total Discovered Tests: 3643
  Skipped          :   84 (2.31%)
  Unsupported      :  529 (14.52%)
  Passed           : 3026 (83.06%)
  Expectedly Failed:    4 (0.11%)
```


  Commit: 4cc7b28c66c88d69e7a778b0a33449c9b57640ed
      https://github.com/llvm/llvm-project/commit/4cc7b28c66c88d69e7a778b0a33449c9b57640ed
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  Exclude tailcallelim test (#224708)

keeping the bot green. This failure was introduced in PR #221694, but
tailcallelimination isn't yet clean wrt profcheck


  Commit: b2b38d4b335293edca03764dd2bcfa314a880933
      https://github.com/llvm/llvm-project/commit/b2b38d4b335293edca03764dd2bcfa314a880933
  Author: geoffreygaren <ggaren at apple.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp

  Log Message:
  -----------
  [WebKit Checkers][NFC] Extract hasPublicMethodInHierarchy from isSmartPtrCompatible (#224697)

So we can reuse it in borrow checking.

hasPublicMethodInHierarchy identifies RefCounted via 'ref' and 'deref'
public
member functions.

Borrow checking will identify CanBorrow via a 'crashIfBorrowed' public
member
function.

Assisted-by: Claude


  Commit: f29371ad92f1b47279a3b46f7d336f3e48fa4538
      https://github.com/llvm/llvm-project/commit/f29371ad92f1b47279a3b46f7d336f3e48fa4538
  Author: Keshav Vinayak Jha <31160700+keshavvinayak01 at users.noreply.github.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-abi-attribute-hints.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-implicit-args.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-sret.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-amdgcn.workitem.id.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ballot.i64.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-and-s1.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-anyext.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-brcond.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-freeze.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbanklegalize.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sadde.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-select.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sext.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ssube.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sub.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-trunc.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uadde.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-usube.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-zext.mir
    M llvm/test/CodeGen/AMDGPU/build_vector.gfx11plus.ll
    M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.gfx11plus.ll
    M llvm/test/CodeGen/AMDGPU/fma-mix.gfx11plus.ll
    M llvm/test/CodeGen/AMDGPU/fma.f16.gfx11plus.ll
    M llvm/test/CodeGen/AMDGPU/indirect-addressing-term.ll
    M llvm/test/CodeGen/AMDGPU/permlane16_opsel.ll
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.gfx11plus.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll

  Log Message:
  -----------
  [AMDGPU] Use integer LLTs for work-item IDs (#224519)

Type work-item ID preloaded values and special entry-function live-ins
as i32, matching the intrinsic result and the existing GlobalISel and
SelectionDAG lowering. This prevents an s32 live-in type from reaching
the divergent G_AND and lets VgprToVccCopy preserve its source LLT
directly.

The original failure was a GlobalISel cannot-select abort on a 32-bit
VGPR G_AND produced from `llvm.amdgcn.workitem.id.x`. This follows up
#220987 by fixing the type at its producer instead of coercing it in
register-bank legalization.

A lot of tests need to be migrated because of this, owing to the
Extended LLTs change in https://github.com/llvm/llvm-project/pull/207419

Assisted-by: Codex

Signed-off-by: Keshav Vinayak Jha <keshavvinayakjha at gmail.com>
Co-authored-by: GPT-5 <noreply at openai.com>


  Commit: 551af79c903169d0ee3ac35222a5af175424205d
      https://github.com/llvm/llvm-project/commit/551af79c903169d0ee3ac35222a5af175424205d
  Author: Michael G. Kazakov <mike.kazakov at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M libcxx/docs/ReleaseNotes/24.rst
    M libcxx/docs/Status/Cxx17Papers.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__memory/pstl.h
    M libcxx/include/__pstl/backend_fwd.h
    M libcxx/include/__pstl/backends/default.h
    M libcxx/include/__pstl/backends/libdispatch.h
    M libcxx/include/__pstl/backends/serial.h
    M libcxx/include/__pstl/backends/std_thread.h
    M libcxx/include/__pstl/cpu_algos/for_each.h
    A libcxx/include/__pstl/cpu_algos/uninitialized_algorithms.h
    M libcxx/include/module.modulemap.in
    M libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
    M libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp
    A libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/pstl.uninitialized_copy.pass.cpp
    A libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/pstl.uninitialized_copy_n.pass.cpp
    A libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/pstl.uninitialized_move.pass.cpp
    A libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/pstl.uninitialized_move_n.pass.cpp

  Log Message:
  -----------
  [libc++][pstl] Implementation of parallel std::uninitialized_(copy|move)(_n) based on parallel __for_each (#223229)

This PR adds an implementation of parallel versions of
`std::uninitialized_copy`, `std::uninitialized_copy_n`,
`std::uninitialized_move` and `std::uninitialized_move_n`.

Implementations are mostly one-liners under the hood, but require
dealing with iterator ranges, hence `std::uninitialized_copy` and
`std::uninitialized_move` are implemented in `cpu_algos`.
`std::uninitialized_copy_n` and `std::uninitialized_move_n` are
implemented in the `default` backend.

Fixes #103640
Fixes #134592
Fixes #134593
Part of #99938


  Commit: 25e00ff449d6c2a2d21a0b109f576be88847ce1f
      https://github.com/llvm/llvm-project/commit/25e00ff449d6c2a2d21a0b109f576be88847ce1f
  Author: DeanSturtevant1 <dsturtevant at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/include/clang/AST/DeclBase.h
    M clang/lib/AST/DeclBase.cpp

  Log Message:
  -----------
  [Clang] Move DeclContext::getEnclosingFunction/castEnclosingFunction out of line (#224711)

In DeclBase.h, clang::FunctionDecl is only forward-declared. Commit
c9074cfd0d95 defined getEnclosingFunction() and castEnclosingFunction()
inline in DeclBase.h, which instantiates dyn_cast<FunctionDecl> and
cast<FunctionDecl> on an incomplete type when DeclBase.h is compiled
standalone (e.g. with -fmodules / header units).

Move the non-const definitions to DeclBase.cpp where FunctionDecl is
complete, and delegate the const overloads via const_cast, matching
getOuterLexicalRecordContext() and
getEnclosingNonExpansionStatementContext().

Change prepared by Jetski and reviewed by me.


  Commit: a6d5d3f8bacba58aaba3a9eb65b5b91dcce5b505
      https://github.com/llvm/llvm-project/commit/a6d5d3f8bacba58aaba3a9eb65b5b91dcce5b505
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleave-with-gaps.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-access-low-vf.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-vscale-x-UF-step.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll

  Log Message:
  -----------
  [VPlan] Remove dead per-lane loop from VPScalarIVStepsRecipe::execute. (#224399)

replicateByVF already materializes every lane of a VPScalarIVStepsRecipe
as its own single-scalar clone, folding the lane offset into the clone's
start index (addLaneToStartIndex).

During execute, each VPScalarIVStepsRecipe has exactly its single lane
used.

Replace it with the lane-0 body and an assert. Note that this removes a
few redundant add start, 0.

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


  Commit: 660dbc9ef14ec76259b82a6d8118d4850d3b7d3d
      https://github.com/llvm/llvm-project/commit/660dbc9ef14ec76259b82a6d8118d4850d3b7d3d
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AVR/AVRFrameLowering.cpp
    M llvm/lib/Target/AVR/AVRISelLowering.cpp
    M llvm/lib/Target/AVR/AVRISelLowering.h
    A llvm/test/CodeGen/AVR/frameaddress.ll
    A llvm/test/CodeGen/AVR/returnaddress.ll

  Log Message:
  -----------
  [AVR] Implement selection of 'ISD::RETURNADDR' and 'ISD::FRAMEADDR' (#222909)


  Commit: 1680496f872c941249f555d8a5e555f17dd4fb76
      https://github.com/llvm/llvm-project/commit/1680496f872c941249f555d8a5e555f17dd4fb76
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUFeatures.td
    A llvm/test/TableGen/AMDGPUTargetDefGenericClassification.td
    M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp

  Log Message:
  -----------
  [AMDGPU] Classify generic-target features (#223179)

Classify features used by generic targets but absent from some covered
GPUs as AMDGPUGenericAnyFeature. This covers the gfx11 workarounds,
gfx12.5 register fixup and WMMA timing, and LDS size and bank count.

Derive the classified features directly from the SubtargetFeature
subclass and preserve their existing predicates. Keep RequiresCOV6 
outside this policy because it is specific to generic targets and 
absent from their covered GPUs.

Test the real target definitions, missing support for classified
features, and the existing all-member requirement for instruction
capabilities.


  Commit: ab76cce30b9d16bed79fc4658562e53dd129aefe
      https://github.com/llvm/llvm-project/commit/ab76cce30b9d16bed79fc4658562e53dd129aefe
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/mad-mix-fptrunc-rounding-bf16.ll
    A llvm/test/CodeGen/AMDGPU/mad-mix-fptrunc-rounding.ll

  Log Message:
  -----------
  [NFC][AMDGPU] Add tests for fptrunc folded into V_MAD/FMA_MIX (#219723)

V_MAD/FMA_MIX{LO,HI} compute the multiply or multiply-add in f32, round
that to f32, and then convert the f32 result to the 16-bit destination.
That is the same pair of roundings the IR performs, so the instructions
are a bit-exact match for an fptrunc of an f32 multiply or multiply-add
and need no contract flag.

The tests pin that across gfx803, gfx900, gfx906, gfx90a and gfx1100
with +real-true16 for f16, and gfx1250 in both true16 modes for bf16.
Where a shape appears both unflagged and with contract, the two must
select the same instructions.

Assisted-By: Claude Code Opus 5


  Commit: 841dbaab188ecfa756d4c946f33b58758d34d339
      https://github.com/llvm/llvm-project/commit/841dbaab188ecfa756d4c946f33b58758d34d339
  Author: Ian Anderson <iana at apple.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Darwin.cpp
    A clang/test/Driver/darwin-static-lib-universal.c
    M clang/test/Driver/darwin-static-lib.c

  Log Message:
  -----------
  [clang][driver][darwin] Add more libtool arguments used by SwiftBuild (#224428)

SwiftBuild passes -l to libtool, but I didn't catch it the first time
around because it's not in the xcspec. It is in the unit test though. Go
through all of the linker arguments and inputs and add the missing ones
supported by libtool.

Assisted-by: Claude Code

rdar://187418335


  Commit: eefe7721b114a71c94c966b1792ebd3b2fb8544e
      https://github.com/llvm/llvm-project/commit/eefe7721b114a71c94c966b1792ebd3b2fb8544e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/decompose-signed-preconditions.ll
    M llvm/test/Transforms/ConstraintElimination/induction-exit-condition-or-and.ll
    M llvm/test/Transforms/ConstraintElimination/materialize-flags.ll
    M llvm/test/Transforms/ConstraintElimination/reproducer-remarks.ll

  Log Message:
  -----------
  [ConstraintElim] Add signed no-wrap rule for sub to isKnownNoWrap. (#224621)

Port the existing logic from usub_sat simplification to isKnownNoWrap:
Op0 - Op1 does not wrap signed if Op1 is non-negative and Op0 s>= Op1.

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

This is in preparation to update simplifications to also use
isKnownNoWrap.

Improves results in a few cases
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1358.

Compile-time impact is in the noise:

https://llvm-compile-time-tracker.com/compare.php?from=0401d338f425ab4d85738d48e9f5432685bf70fb&to=5f9d1cae5fe4222b9ddaf59605e12420df09808e&stat=instructions:u

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


  Commit: 4a2306bb4be443d8ca89844d1625d0de01a924e8
      https://github.com/llvm/llvm-project/commit/4a2306bb4be443d8ca89844d1625d0de01a924e8
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll

  Log Message:
  -----------
  [RISCV] Lower VECTOR_INTERLEAVE 4 and 8 with Zvzip via DAGCombiner (#223861)

This is the second take of #222432, and to some extent #222750
The full context of why moving to this implementation can be found here:
https://github.com/llvm/llvm-project/pull/222432#discussion_r3992576835

Basically, #222432 has the downside of generating redundant
vslideup/down, as no DAG combine would be run in between different
operation lowering. Although #222750 tried to address that problem, the
fact that it has to call RAUW in the middle of lowering might result in
unexpected result.

This iteration of approach use a DAG combine to break
vector_interleave4/8 into vector_interleave2 early in the ISel, so that
any redundant insert/extract_subvector or concat_vectors should be
cleaned up automatically. Though some redundant pairs of vslideup/down
still show up but they are relatively easy to clean up, which will be
done in the following patch.


  Commit: 34eeb2320ff2b991ddb3e3511bbe01ba14478d93
      https://github.com/llvm/llvm-project/commit/34eeb2320ff2b991ddb3e3511bbe01ba14478d93
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/lib/CodeGen/LibcallLoweringInfo.cpp
    M llvm/lib/CodeGen/ShadowStackGCLowering.cpp

  Log Message:
  -----------
  [CodeGen] Remove unused pass creation functions (NFC) (#224646)

createBranchFolder:
Introduced on July 9, 2026 in commit
f1daa4cd5377d61c6b12d59188048259d646e395 without any callers.

createShadowStackGCLoweringPass:
The last caller was removed on July 7, 2021 in commit
0fdb25cd954c7d0d082379374092929e06184206.

createLibcallLoweringInfoWrapper:
Introduced on January 16, 2026 in commit
539412914a391d4dd2b74a959afcf1ac49f9e47a without any callers.

Assisted-by: Antigravity


  Commit: e8cd5ce3183244e9f8d95e3211d106b056c89c75
      https://github.com/llvm/llvm-project/commit/e8cd5ce3183244e9f8d95e3211d106b056c89c75
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/test/API/commands/frame/var-dil/expr/Comparison/TestFrameVarDILExprComparison.py

  Log Message:
  -----------
  [lldb] Skip TestFrameVarDILExprComparison with DWARF < 4 (#224755)

The test relies on scoped enum types, which need DW_AT_enum_class and
thus DWARF 4 or newer.


  Commit: fd823ddc6faa0f34c799d21449b54bc4492decc2
      https://github.com/llvm/llvm-project/commit/fd823ddc6faa0f34c799d21449b54bc4492decc2
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/AArch64/use-old-text-zero-padding.c

  Log Message:
  -----------
  [BOLT] Zero all stale bytes in reused file region (#222515)

`--use-old-text` reuses an input file region for new content. We have
only zeroed the padding that followed each newly written section in
#202375, which may leave stale bytes from input in front of the new
content. This could happen if the region is not on the new alignment
boundary, or when `--hot-functions-at-end` is used.

Replace the section name based forward scan with an interval coverage
over the region - collect the file extents of sections that contain
output bytes and then zero all the remaining holes.

Assisted-by: opus


  Commit: 53ff33af0943139d83938c582c8c154665a40716
      https://github.com/llvm/llvm-project/commit/53ff33af0943139d83938c582c8c154665a40716
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/test/API/android/platform/TestDefaultCacheLineSize.py
    M lldb/test/API/commands/process/reverse-continue/TestReverseContinueCommandNotSupported.py
    M lldb/test/API/commands/watchpoints/multiple_hits/TestMultipleHits.py
    M lldb/test/API/functionalities/postmortem/minidump/TestMiniDump.py
    M lldb/test/API/functionalities/process_save_core/TestProcessSaveCore.py
    M lldb/test/API/functionalities/process_save_core_minidump/partial_read/TestProcessSaveCoreMinidumpPartialRead.py
    M lldb/test/API/functionalities/process_save_core_minidump/size_mismatch/TestProcessSaveCoreMinidumpSizeMismatch.py
    M lldb/test/API/functionalities/reverse-execution/TestReverseExecutionNotSupported.py
    M lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
    M lldb/test/API/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py
    M lldb/test/API/functionalities/thread/crash_during_step/TestCrashDuringStep.py
    M lldb/test/API/lang/c/local_variables/TestLocalVariables.py
    M lldb/test/API/lang/cpp/class_static/TestStaticVariables.py
    M lldb/test/API/lang/objc/foundation/TestObjCMethods.py
    M lldb/test/API/lang/objc/objc-ivar-offsets/TestObjCIvarOffsets.py
    M lldb/test/API/lang/objc/objc-static-method/TestObjCStaticMethod.py
    M lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py
    M lldb/test/API/lang/objc/objc-struct-return/TestObjCStructReturn.py
    M lldb/test/API/lang/objc/objc-super/TestObjCSuper.py
    M lldb/test/API/python_api/findvalue_duplist/TestSBFrameFindValue.py
    M lldb/test/API/python_api/lldbutil/frame/TestFrameUtils.py
    M lldb/test/API/python_api/objc_type/TestObjCType.py
    M lldb/test/API/python_api/process/TestProcessAPI.py
    M lldb/test/API/python_api/thread/TestThreadAPI.py
    M lldb/test/API/python_api/value/empty_class/TestValueAPIEmptyClass.py
    M lldb/test/API/python_api/watchpoint/TestSetWatchpoint.py
    M lldb/test/API/python_api/watchpoint/TestWatchpointIgnoreCount.py
    M lldb/test/API/python_api/watchpoint/TestWatchpointIter.py
    M lldb/test/API/python_api/watchpoint/TestWatchpointRead.py

  Log Message:
  -----------
  [LLDB] Convert straightforward test launches to lldbutil (NFC) (#224404)

Replace the CreateTarget + breakpoint + LaunchSimple + stop-assert
boilerplate with the matching lldbutil.run_to_*_breakpoint helper at 35
call sites where the translation needs no extra arguments.

Besides being shorter, the helpers check that the breakpoint resolved to
at least one location and that the process stopped at that specific
breakpoint, which most of the original code did not do.

It also improves und unifies the error reporting when the launch fails.

Assisted-by: Claude


  Commit: 666edf2186f29fae04fd38cd0f93608cd0ec06e0
      https://github.com/llvm/llvm-project/commit/666edf2186f29fae04fd38cd0f93608cd0ec06e0
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/test/API/functionalities/conditional_break/TestConditionalBreak.py
    M lldb/test/API/functionalities/return-value/TestReturnValue.py
    M lldb/test/API/lang/cpp/dynamic-value/TestCppValueCast.py
    M lldb/test/API/lang/objc/foundation/TestObjectDescriptionAPI.py
    M lldb/test/API/linux/add-symbols/TestTargetSymbolsAddCommand.py
    M lldb/test/API/linux/mix-dwo-and-regular-objects/TestMixedDwarfBinary.py
    M lldb/test/API/macosx/safe-to-func-call/TestSafeFuncCalls.py
    M lldb/test/API/python_api/class_members/TestSBTypeClassMembers.py
    M lldb/test/API/python_api/frame/TestFrames.py
    M lldb/test/API/python_api/frame/inlines/TestInlinedFrame.py
    M lldb/test/API/python_api/symbol-context/TestSymbolContext.py
    M lldb/test/API/python_api/target/TestTargetAPI.py
    M lldb/test/API/python_api/type/TestTypeList.py
    M lldb/test/API/python_api/value/TestValueAPI.py
    M lldb/test/API/python_api/value/linked_list/TestValueAPILinkedList.py
    M lldb/test/API/python_api/watchpoint/condition/TestWatchpointConditionAPI.py

  Log Message:
  -----------
  [LLDB] Convert test launches with extra arguments to lldbutil (NFC) (#224412)

Replace the CreateTarget + breakpoint + LaunchSimple + stop-assert
boilerplate with the matching lldbutil.run_to_*_breakpoint helper at 19
call sites.

Besides being shorter, the helpers check that the breakpoint resolved to
at least one location and that the process stopped at that specific
breakpoint, which most of the original code did not do.

It also improves and unifies the error reporting when the launch fails.

Note for reviewers: In this patch, all invocations passed additional
arguments that needed to be carried over to the lldbutil replacement.

Assisted-by: Claude


  Commit: 8282b18b2e998d215698c327184d87c63dc0c4e6
      https://github.com/llvm/llvm-project/commit/8282b18b2e998d215698c327184d87c63dc0c4e6
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/test/API/python_api/lldbutil/iter/TestLLDBIterator.py
    M lldb/test/API/python_api/lldbutil/iter/TestRegistersIterator.py
    M lldb/test/API/python_api/watchpoint/watchlocation/TestSetWatchlocation.py
    M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py

  Log Message:
  -----------
  [LLDB] Convert multi-threaded test launches to lldbutil (NFC) (#224415)

Replace the CreateTarget + breakpoint + LaunchSimple + stop-assert
boilerplate with the matching lldbutil.run_to_*_breakpoint helper at 7
call sites.

Besides being shorter, the helpers check that the breakpoint resolved to
at least one location and that the process stopped at that specific
breakpoint, which most of the original code did not do.

It also improves and unifies the error reporting when the launch fails.

Note for reviewers: These inferiors are multi-threaded and the original
code used get_stopped_thread(), which tolerates several threads stopping
at once. The helpers require exactly one by default, so every call here
passes only_one_thread=False to preserve the previous behavior. Without
it TestLLDBIterator fails with "Expected 1 thread to stop at breakpoint,
3 did" - but only under load, which makes this easy to miss when running
a single test.

Assisted-by: Claude


  Commit: 5fbeec8d587bcb6c33cd0c194b60981e6357ded6
      https://github.com/llvm/llvm-project/commit/5fbeec8d587bcb6c33cd0c194b60981e6357ded6
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/or-disjoint-copyable-self-op.ll

  Log Message:
  -----------
  [SLP]Drop disjoint flag for copyable lanes modeled as op(V, V)

or disjoint(V, V) is poison unless V is zero, so propagating the
flag from the scalar instructions miscompiles the synthesized
self-op lanes. Keep it for identity-modeled and zero lanes.

Fixes https://github.com/llvm/llvm-project/pull/220252#issuecomment-5736121992

Reviewers: 

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


  Commit: d93df21ccc49e4796126614cea7097d4ee433a41
      https://github.com/llvm/llvm-project/commit/d93df21ccc49e4796126614cea7097d4ee433a41
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbutil.py
    M lldb/test/API/commands/watchpoints/watchpoint_events/TestWatchpointEvents.py
    M lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
    M lldb/test/API/functionalities/thread/thread_specific_break_plus_condition/TestThreadSpecificBpPlusCondition.py
    M lldb/test/API/functionalities/unwind/sigtramp/TestSigtrampUnwind.py
    M lldb/test/API/linux/thread/create_during_instruction_step/TestCreateDuringInstructionStep.py
    M lldb/test/API/macosx/add-dsym/TestAddDsymDownload.py
    M lldb/test/API/python_api/thread/TestThreadAPI.py

  Log Message:
  -----------
  [LLDB] Convert the remaining test launches to lldbutil (NFC) (#224416)

Replace the CreateTarget + breakpoint + LaunchSimple + stop-assert
boilerplate with the matching lldbutil.run_to_*_breakpoint helper.

Besides being shorter, the helpers check that the breakpoint resolved to
at least one location and that the process stopped at that specific
breakpoint, which most of the original code did not do.

It also improves and unifies the error reporting when the launch fails.

Note for reviewers: These did not follow the common pattern and had to
be converted by hand, so they are worth a closer look than the earlier
batches:

- Five of them called get_threads_stopped_at_breakpoint() and indexed
the resulting list. The helper already returns the single stopped
thread, so the list, its length assertions and the [0] subscript all
collapse into it.
- TestSigtrampUnwind checked the stop state with an if/fail block rather
than an assertion.
- TestAddDsymDownload built its target from self.exe, which is just
getBuildArtifact("a.out"), so it needs no exe_name argument.
- TestThreadAPI looks up the thread inside a while loop, so only the
target creation and launch could be folded into the helper.

Assisted-by: Claude


  Commit: 7662a0e1c4034bd13ca46dd72c5e0f0d2614b6f5
      https://github.com/llvm/llvm-project/commit/7662a0e1c4034bd13ca46dd72c5e0f0d2614b6f5
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/LowerTypeTests/cfi-jumptable-hotness-summary.ll

  Log Message:
  -----------
  [NFC][LowerTypeTests] Update CFI jump table summary tests (#224761)

Update CHECK lines to match the new jump table layout in

* https://github.com/llvm/llvm-project/pull/221046

Implementation will not recognize `critical`.

Assisted-by: Gemini


  Commit: 3fa94abb2f19065bd280a737558b6fd01f8a4168
      https://github.com/llvm/llvm-project/commit/3fa94abb2f19065bd280a737558b6fd01f8a4168
  Author: Paul Osmialowski <pawel.osmialowski at arm.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M compiler-rt/cmake/config-ix.cmake

  Log Message:
  -----------
  [compiler-rt] Fix the use of COMPILER_RT_BUILTINS_LIBRARY (#224681)

When `COMPILER_RT_BUILTINS_LIBRARY` is set and a path to the builtins
library is being provided, it is still not being used, causing an
error in the COMPILER_RT_TARGET_HAS_ATOMICS test:

```
    ld.lld: error: undefined symbol: __aarch64_cas8_acq_rel
    >>> referenced by src.cxx
    >>>               CMakeFiles/cmTC_7f91d.dir/src.cxx.o:(main)
    ld.lld: error: undefined symbol: __aarch64_ldadd8_acq_rel
    >>> referenced by src.cxx
    >>>               CMakeFiles/cmTC_7f91d.dir/src.cxx.o:(main)
    >>> referenced by src.cxx
    >>>               CMakeFiles/cmTC_7f91d.dir/src.cxx.o:(main)
    clang++: error: linker command failed with exit code 1
```

Although it is visible in the
build/runtimes/runtimes-bins/CMakeFiles/CMakeConfigureLog.yaml log,
it is being ignored. This causes a cascade of subtle problems down the
line, including a faulty PGO instrumentation code being injected into
instrumented binaries, which causes race conditions whenever the
instrumented code is multi-threaded (a stub is being used instead of
the real atomics).


  Commit: 87a926c0d736192ad8e149759347bfa8bd46d636
      https://github.com/llvm/llvm-project/commit/87a926c0d736192ad8e149759347bfa8bd46d636
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenException.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    A clang/test/CIR/CodeGen/ehspec-noexcept.cpp
    A clang/test/CIR/CodeGen/ehspec.cpp
    M clang/test/CIR/CodeGen/rtti-qualfn.cpp
    M clang/test/CIR/IR/invalid-try-catch.cir
    M clang/test/CIR/IR/try-catch.cir
    M clang/test/CIR/Transforms/eh-abi-lowering-eh-spec.cir
    M clang/test/CIR/Transforms/flatten-eh-spec.cir

  Log Message:
  -----------
  [CIR][EH] Implement codegen for dynamic exception specification (#224375)

This implements CIR generation for C++ functions with dynamic exception
specifications. The exception filter is implemented as a cir.try
operation that wraps the entire function body. CFG flattening and EH ABI
lowerting were implemented in previous changes, so they are already in
place.

This also adds an NYI diagnostic for functions marked `noexcept`. That
will be implemented in a follow-up change, but the new diagnostic forced
updates to a few tests that were using that form.

Assisted-by: Cursor / various models


  Commit: 4c31f641d008e0fe03d84cdc05e5000c1b530729
      https://github.com/llvm/llvm-project/commit/4c31f641d008e0fe03d84cdc05e5000c1b530729
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Analysis/CIRAliasAnalysis.h
    M clang/include/clang/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.h
    M clang/lib/CIR/Dialect/Analysis/CIRAliasAnalysis.cpp
    M clang/lib/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.cpp
    M clang/test/CIR/Analysis/alias-analysis-underlying-object.cir
    M clang/test/CIR/lib/Analysis/TestCIRAliasAnalysis.cpp

  Log Message:
  -----------
  [CIR]  Add object offset calculation for basic AA (#219047)

This adds code to compute the offset of a pointer into a base object
when the base object is computed by CIR's basic alias analysis. The
offset will be used in a future change to determine partial alias, but
at this point the analysis still reports MayAlias for objects with
different offsets.

Assisted-by: Cursor / various models


  Commit: 0c2f772be92289447f477552e232cbc5306c4659
      https://github.com/llvm/llvm-project/commit/0c2f772be92289447f477552e232cbc5306c4659
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-functions-hotness.ll

  Log Message:
  -----------
  [LowerTypeTests] Add -reorder-cfi-jump-tables-profiles kill switch (#224752)

Add `-reorder-cfi-jump-tables-profiles` (default: true) to allow
disabling CFI jump table hotness metadata generation and profiling
queries introduced in 50c563998bac.

When set to false, `createCfiFunctionsMetadata` avoids querying
`ProfileSummaryInfo` and `BlockFrequencyInfo`, leaving hotness bits in
`cfi.functions` metadata as 0 (unknown).

Assisted-by: Gemini


  Commit: 400cdf6f379c0177e6259eeaf65ea8efa93326b3
      https://github.com/llvm/llvm-project/commit/400cdf6f379c0177e6259eeaf65ea8efa93326b3
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
    M mlir/test/Conversion/VectorToXeGPU/transfer-write-to-xegpu.mlir

  Log Message:
  -----------
  [mlir][VectorToXeGPU] Lower out-of-bounds 1-D transfers (#220490)

A vector.transfer_read / vector.transfer_write whose vector is 1-D and
whose access is out of bounds was not lowered.

This PR now builds a real in-bounds mask instead of handing
xegpu.load/xegpu.store an all-ones one. An element is in bounds when its
index is still inside the memref dimension it reads, i.e. i < dim(d) -
indices[d], and dimensions the transfer already declares in-bounds are
left alone. Since masked-off lanes of an xegpu.load hold unspecified
values rather than zeros, a read adds an arith.select to fill them with
the transfer's padding.

It also lowers a transfer_read of a single-element vector (any rank) to
a scalar xegpu.load, when that vector is only ever extracted to a
scalar. The load takes a scalar offset and a scalar mask, and the mask
is what keeps an out-of-bounds transfer from touching memory; because a
masked-off load is unspecified, the padding is applied with an
arith.select, as the scattered path already does. This avoids
special-casing single-element vectors in layout propagation: a scalar
consumer requests no layout, so the one-lane xegpu.load would otherwise
be left without one.

---------

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


  Commit: 3dc4cbeae3ebb2a6091fe86851f62615970ea17d
      https://github.com/llvm/llvm-project/commit/3dc4cbeae3ebb2a6091fe86851f62615970ea17d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/loop-accumulator-reduction.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with three-exit blocks, NFC



Reviewers: 

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


  Commit: d5574d64020b82246940b2c086e8ba88e454b0b2
      https://github.com/llvm/llvm-project/commit/d5574d64020b82246940b2c086e8ba88e454b0b2
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    M llvm/lib/Target/SPIRV/SPIRV.h
    M llvm/lib/Target/SPIRV/SPIRVCodeGenPassBuilder.cpp
    R llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.cpp
    A llvm/lib/Target/SPIRV/SPIRVLegalizeResourceBinding.cpp
    M llvm/lib/Target/SPIRV/SPIRVPassRegistry.def
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
    R llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizeImplicitBinding.ll
    A llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizeResourceBinding-Implicit.ll

  Log Message:
  -----------
  [SPIRV] Rename pass to SPIRVLegalizeResourceBinding (#224747)

Rename `SPIRVLegalizeImplicitBinding` pass to
`SPIRVLegalizeResourceBinding` since it will soon be extended to handle
heap resource bindings as well. Renaming is as a separate PR will make
the upcoming change easier to review.

Related to #208054


  Commit: 3e93e9368f9167e5129f369194db08edcdf167d6
      https://github.com/llvm/llvm-project/commit/3e93e9368f9167e5129f369194db08edcdf167d6
  Author: Konstantinos Parasyris <koparasy at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
    M clang/lib/CIR/FrontendAction/CMakeLists.txt
    A clang/test/CIR/CodeGenSYCL/offload-include-binary.cpp

  Log Message:
  -----------
  [CIR][SYCL] Embed and register offloaded device binary on host path (#224692)


  Commit: 265c5b66a632bcf2cdc6a4886a250b176532502b
      https://github.com/llvm/llvm-project/commit/265c5b66a632bcf2cdc6a4886a250b176532502b
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

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

  Log Message:
  -----------
  [scudo] Fix AllocatorCacheMaxResidentBytesDisabled test (#224698)

The test made an implicit assumption about how the maps were created. On
a device where the page size is much greater than 4096, the test fails
because of the hard-coded limits. Make the limits and values depend on
page size to avoid this problem.


  Commit: 761d96637c2041f09317920b246e5584941bbafb
      https://github.com/llvm/llvm-project/commit/761d96637c2041f09317920b246e5584941bbafb
  Author: Konstantinos Parasyris <koparasy at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    A clang/test/CIR/IR/invalid-static-local-info.cir
    M clang/test/CIR/IR/invalid-static-local.cir
    M clang/test/CIR/IR/invalid-tls.cir
    M clang/test/CIR/IR/static-local-info.cir
    M clang/test/CIR/IR/static-local.cir

  Log Message:
  -----------
  [CIR] Harden static-local lowering against malformed .cir (#224744)

Enforce that a `static_local_guard` is always paired with a
`static_local_info` attribute via a GlobalOp verifier.


  Commit: bb3517e72ee6d7d06c30589bcbfb01773ce90ed6
      https://github.com/llvm/llvm-project/commit/bb3517e72ee6d7d06c30589bcbfb01773ce90ed6
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 3e93e93 (#224771)

This fixes 3e93e9368f9167e5129f369194db08edcdf167d6 (#224692).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=3e93e9368f9167e5129f369194db08edcdf167d6

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


  Commit: 2dbfa63d18daa18e4c9a633ec812d03b6587e4fb
      https://github.com/llvm/llvm-project/commit/2dbfa63d18daa18e4c9a633ec812d03b6587e4fb
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M lldb/source/Expression/IRExecutionUnit.cpp

  Log Message:
  -----------
  [lldb] Get IRExecutionUnit mangling-mode from llvm::Module. (#224595)

Get the mangling mode (IRExecutionUnit::m_strip_underscore) from the
llvm::Module at IRExecutionUnit construction time, rather than getting
it from the llvm::ExecutionEngine in GetRunnableInfo.

This is a step towards decoupling IRExecutionUnit from
llvm::ExecutionEngine / MCJIT.


  Commit: ddce820dd2226ad07e974d8773b591e144841c4b
      https://github.com/llvm/llvm-project/commit/ddce820dd2226ad07e974d8773b591e144841c4b
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    A llvm/tools/llvm-jitlink/ConnectionUtils.h
    M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  [llvm-jitlink] Rework out-of-process launch/connect options (#224632)

Replace -oop-executor and -oop-executor-connect, which were mutually
exclusive and each parsed their own ad hoc connection syntax, with two
orthogonal options built on the shared ConnectionSpec parser:

  -oop-launch [<path>]  Launch an out-of-process executor (default:
                        llvm-jitlink-executor).

  -oop-connect <spec>   How to connect to the executor, whether or not
                        it was launched by llvm-jitlink.

Either may be used alone (matching the old -oop-executor and
-oop-executor-connect behavior) or combined, e.g. to have llvm-jitlink
bind and listen while the executor it launches dials back in:

  llvm-jitlink -oop-launch -oop-connect=tcp:listen=127.0.0.1:0 a.o

Both llvm-jitlink and llvm-jitlink-executor now parse connection
descriptors with ConnectionSpec (<transport>[:<action>]=<descriptor>)
instead of bespoke per-side parsing, and support the same three specs in
both directions: fd=<sockfd>, tcp:connect=<host>:<port>, and
tcp:listen=<host>:<port>.

For the reverse-connect case (llvm-jitlink listens, the executor
connects back), llvm-jitlink binds and resolves the listening port
before launching the executor, so it can hand the executor the concrete
port -- including when an OS-assigned ephemeral port ("0") was
requested. The host in a tcp:listen spec is now also honored as the bind
address (previously always wildcard-bound); an empty host still requests
a wildcard bind.

These changes will be used to support interaction with, and testing of,
the ORC runtime's new OGRE (ORC General-purpose Runtime Environment)
executor.


  Commit: 38fbfd2cf7e2a64ec91b6327a8daee26b7e64611
      https://github.com/llvm/llvm-project/commit/38fbfd2cf7e2a64ec91b6327a8daee26b7e64611
  Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Pass.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.h
    M llvm/lib/SandboxIR/Pass.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
    M llvm/test/Transforms/SandboxVectorizer/EndToEnd/seed_bundle_cross_erasure.ll
    M llvm/test/Transforms/SandboxVectorizer/Passes/BundleVec/top_down.ll
    M llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec_load_seeds.ll
    M llvm/test/Transforms/SandboxVectorizer/Passes/SeedCollection/seed_collection_loads.ll
    M llvm/unittests/SandboxIR/PassTest.cpp

  Log Message:
  -----------
  [SanbdoxIR][SandboxVec] AuxPassArgs for auxiliary pass arguments (#224450)

This patch implements helper classes for handling the pass auxiliary
arguments. These classes handle the parsing of the auxiliary argument
string such that the passes themselves won't have to deal with it.

We currently only support boolean arguments that are false by default.
If an argument shows up in the string then it is set to true.

Example:
```
AuxPassArgsRegistry ArgsRegistry; // The "parent" of the arguments
AuxPassArg Arg1 = ArgsRegistry.createArg("arg1");
AuxPassArg Arg2 = ArgsRegistry.createArg("arg2");
...
ArgsRegistry.parse("arg1"); // From this point on (bool)Arg1 evaluates to true.

```

This patch is also removing the `cl::opt<std::string> CollectSeeds` for
the SeedCollection and replaces it with AuxPassArgs. So we are now
specifying the seeds in the pass pipeline like:
```
-sbvec-passes="seed-collection(loads,stores,enable-diff-types)"
```


  Commit: f8f4816496f6126f371350819d48017d1c330b56
      https://github.com/llvm/llvm-project/commit/f8f4816496f6126f371350819d48017d1c330b56
  Author: Andy Lim <andysjlim at chromium.org>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    A llvm/test/MC/COFF/ir-to-imgrel-reject.ll
    M llvm/test/MC/COFF/ir-to-imgrel.ll

  Log Message:
  -----------
  [TargetLowering][COFF] Allow GlobalAlias in lowerRelativeReference (#220674)

In commit 2b321e2f293a (#203171), splitAndWriteThinLTOBitcode was
updated to create a GlobalAlias with external linkage for promoted
internal globals instead of renaming them directly.

When generating COFF object files on Windows (such as MSVC RTTI
CompleteObjectLocator structures), relative references against
@__ImageBase (e.g. sub (ptrtoint @alias to i64), (ptrtoint @__ImageBase
to i64))
are lowered to IMAGE_REL_AMD64_ADDR32NB (VK_COFF_IMGREL32) relocations
in TargetLoweringObjectFileCOFF::lowerRelativeReference.

Previously, lowerRelativeReference checked `!isa<GlobalObject>(LHS)`,
which rejected GlobalAlias instances. As a result,
lowerRelativeReference returned nullptr, and AsmPrinter fell back to
emitting a raw MC subtraction expression. This caused
WinCOFFObjectWriter
to fail with:
\"error: symbol '__ImageBase' can not be undefined in a subtraction
expression\"
because @__ImageBase is an undefined external symbol resolved at link
time.
Fix this by checking !LHS->getAliaseeObject() instead of
`!isa<GlobalObject>(LHS)`, allowing GlobalAliases whose underlying
aliasee is a GlobalObject to be lowered to VK_COFF_IMGREL32.

*Note: AI assistance was used for creating the PR and review feedback
exploration.*


  Commit: 5e88b5a0b03eeae47f4806390a29fd19c025770d
      https://github.com/llvm/llvm-project/commit/5e88b5a0b03eeae47f4806390a29fd19c025770d
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/LowerTypeTests/cfi-jumptable-hotness-summary.ll

  Log Message:
  -----------
  [NFC][LowerTypeTests] Add RUN line for -reorder-cfi-jump-tables-profiles=false (#224779)

Update CHECK lines to match the new jump table layout in

* https://github.com/llvm/llvm-project/pull/224779

Assisted-by: Gemini


  Commit: d34ec23ae133f5e4c63da1a864f1e7ff4362cc07
      https://github.com/llvm/llvm-project/commit/d34ec23ae133f5e4c63da1a864f1e7ff4362cc07
  Author: Krisitan Erik Olsen <kristian.erik at outlook.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    R clang/test/CodeGenCXX/GH211943.cpp
    M clang/test/CodeGenCXX/builtin-dump-struct.cpp

  Log Message:
  -----------
  [Clang][NFC] Move GH211943 test into existing builtin-dump-struct test file (#224421)

Follow-up to #212377 per post-commit review by @shafik.
Moves the regression test from a standalone GH211943.cpp into the
existing CodeGenCXX/builtin-dump-struct.cpp under a namespace GH211943
block, guarded by #ifdef TEST_WERROR with a second RUN line.


  Commit: 3228e8f8c3abd58c02f8143d2a4f921f392146c6
      https://github.com/llvm/llvm-project/commit/3228e8f8c3abd58c02f8143d2a4f921f392146c6
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/test/Transforms/LowerTypeTests/cfi-jumptable-hotness-summary.ll

  Log Message:
  -----------
  [LowerTypeTests] Reorder CFI jump table entries based on hotness (#221046)

Order CFI jump table entries by function hotness. We use `cfi.functions`
metadata in ThinLTO, or `BlockFrequencyInfo` / function entry counts in
full LTO.

We want the hottest function to be optimized by the last entry thing for
SHT_LLVM_CFI_JUMP_TABLE. The linker deletes the final branch in the jump
table and moves the table directly before that target function so it
falls through.

This also ensures the jump table lands in a hot section (.text.hot)
instead of a cold section (.text.unlikely). Type contiguity is
preserved.

This PR reliably improves the performance of our server binary by 0.2%,
and some smaller binaries up to 5%.

PR Stack:
* https://github.com/llvm/llvm-project/pull/220776
* https://github.com/llvm/llvm-project/pull/221043
* https://github.com/llvm/llvm-project/pull/221044
* https://github.com/llvm/llvm-project/pull/223843
* https://github.com/llvm/llvm-project/pull/223846
* https://github.com/llvm/llvm-project/pull/223848
* ➤ https://github.com/llvm/llvm-project/pull/221046

Assisted-by: Gemini


  Commit: 2adfaf804d3488859b81a837b0dda263da6cb855
      https://github.com/llvm/llvm-project/commit/2adfaf804d3488859b81a837b0dda263da6cb855
  Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/unittests/SandboxIR/TypesTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement PointerType::getAddressSpace() (#224751)

This patch implements PointerType::getAddressSpace() in Sandbox IR,
mirroring LLVM IR.


  Commit: 61b0646cdbd154b316ec12f022c586dedc493294
      https://github.com/llvm/llvm-project/commit/61b0646cdbd154b316ec12f022c586dedc493294
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

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

  Log Message:
  -----------
  [LowerTypeTests] Apply kill switch to CFI jump table reordering (#224782)

This is follow up to #221046, for which I failed to upload rebased
version.

* https://github.com/llvm/llvm-project/pull/221046


  Commit: 40a6a441e7a945ca964619cfa2c328120cb9dae5
      https://github.com/llvm/llvm-project/commit/40a6a441e7a945ca964619cfa2c328120cb9dae5
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/lib/Options/DriverOptions.cpp
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M lld/COFF/Driver.h
    M lld/COFF/DriverUtils.cpp
    M lld/ELF/Driver.h
    M lld/ELF/DriverUtils.cpp
    M lld/MachO/Driver.h
    M lld/MachO/DriverUtils.cpp
    M lld/MinGW/Driver.cpp
    M lld/wasm/Driver.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/tools/driver/Driver.cpp
    M lldb/tools/lldb-dap/tool/lldb-dap.cpp
    M lldb/tools/lldb-server/lldb-gdbserver.cpp
    M lldb/tools/lldb-server/lldb-platform.cpp
    M llvm/examples/OptSubcommand/llvm-hello-sub.cpp
    M llvm/include/llvm/Option/OptTable.h
    M llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp
    M llvm/lib/Option/OptTable.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llvm-cas/llvm-cas.cpp
    M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
    M llvm/tools/llvm-cvtres/llvm-cvtres.cpp
    M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
    M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
    M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
    M llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp
    M llvm/tools/llvm-dwp/llvm-dwp.cpp
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/tools/llvm-ifs/llvm-ifs.cpp
    M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
    M llvm/tools/llvm-lipo/llvm-lipo.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp
    M llvm/tools/llvm-mt/llvm-mt.cpp
    M llvm/tools/llvm-nm/llvm-nm.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-rc/llvm-rc.cpp
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
    M llvm/tools/llvm-size/llvm-size.cpp
    M llvm/tools/llvm-strings/llvm-strings.cpp
    M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
    M llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp
    M llvm/tools/sancov/sancov.cpp
    M llvm/unittests/Option/OptionMarshallingTest.cpp
    M llvm/unittests/Option/OptionParsingTest.cpp
    M llvm/unittests/Option/OptionSubCommandsTest.cpp
    M llvm/utils/TableGen/OptionParserEmitter.cpp

  Log Message:
  -----------
  [Option] Emit the Info table from TableGen. NFC (#224508)

Each tool expands OPTION into an Info array and passes it with up to
five side tables to GenericOptTable or PrecomputedOptTable, so a new
side table touches every tool.

Emit the Info table from TableGen with numeric group and alias IDs and
bundle all tables into an OptTable::Tables aggregate under one
OPTTABLE_CODE block, so a tool just constructs OptTable(OptionTables).
Every table now uses the precomputed prefix union, which removes
GenericOptTable and PrecomputedOptTable.

Aided by Opus 5


  Commit: a312cb0c81cf1e4cf1a3bc469b15bd5216c59469
      https://github.com/llvm/llvm-project/commit/a312cb0c81cf1e4cf1a3bc469b15bd5216c59469
  Author: Weiwei C <weiwei.chen at modular.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/IR/PassTimingInfo.cpp

  Log Message:
  -----------
  [llvm][timing] Reset recycled timer with different names. (#218492)

Legacy pass-manager timers are keyed by the pass instance pointer and
the map entry outlives the pass, so a pass allocated at a recycled
address inherits the previous pass's timer and reports its time under
that pass's name. When a recycled instance which has different name can
end up having leftover name comes from whichever target ran before.
Re-create the timer when the name no longer matches.

fixes: #218491


  Commit: f43368b4d45ee410d4fe944e9ea3e13822af7c04
      https://github.com/llvm/llvm-project/commit/f43368b4d45ee410d4fe944e9ea3e13822af7c04
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M clang/lib/Interpreter/IncrementalExecutor.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h
    A llvm/include/llvm/ExecutionEngine/Orc/SharedMemoryMap.h
    A llvm/include/llvm/ExecutionEngine/Orc/SharedMemoryMapSPS.h
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp
    A llvm/lib/ExecutionEngine/Orc/SharedMemoryMapSPS.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/ExecutionEngine/Orc/SharedMemoryMapperTest.cpp

  Log Message:
  -----------
  [ORC] Drive SharedMemoryMapper via proxies (#224786)

Add a SharedMemoryMapBindings handle (SharedMemoryMap.h) and its SPS
proxy specs (SharedMemoryMapSPS.h), mirroring SimpleMemoryMap, and bind
SharedMemoryMapper to it in place of its four callSPSWrapperAsync sites.
Dispatch and callee errors now share one channel, dropping the per-call
SerializationErr handling. Updates the llvm-jitlink and clang-repl
factories and the unit test.


  Commit: 851eb5a97ba67b4e8ebec39fb821c144db67a10a
      https://github.com/llvm/llvm-project/commit/851eb5a97ba67b4e8ebec39fb821c144db67a10a
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/examples/python/templates/scripted_process.py
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedProcessInterface.h
    M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
    M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
    M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
    A lldb/test/API/functionalities/scripted_process/addressable_bits_scripted_process.py

  Log Message:
  -----------
  [lldb/Interpreter] Let a Scripted Process report its addressable bits (#224701)


  Commit: 3ff9abe8930acc7b4c4e2387c1357ca6f2d15c00
      https://github.com/llvm/llvm-project/commit/3ff9abe8930acc7b4c4e2387c1357ca6f2d15c00
  Author: Sharjeel Khan <sharjeelkhan at google.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.cpp
    M llvm/test/MC/AArch64/LFI/guard-elim.s
    M llvm/test/MC/AArch64/LFI/return.s

  Log Message:
  -----------
  [LFI][AArch64] Do not flush deferred LR guards on temporary labels (#224776)

In function epilogues with unwinding enabled, DWARF CFI directives
between restoring x30 and autiasp trigger
MCObjectStreamer::emitCFILabel, which emits temporary labels. onLabel
assumed all labels were branch targets and flushed DeferredLRGuard,
emitting `add x30, x27, w30, uxtw` before autiasp. Because w30
zero-extends, this stripped the PAC signature from x30 and caused PAC
exceptions on hardware with FEAT_FPAC.

Fix it by not flushing the deferred LR guard on temporary symbols in
onLabel. Also, update AArch64InstrInfo::getLFIInstSizeInBytes to return
8 for RET to fix the size assertion failure in +assertions builds, which
occurs because RET did not account for the deferred LR guard that can
precede the return instruction.

Assisted-by: Gemini


  Commit: 3834f58744a7be80b5869c07fe576ff8f23e2315
      https://github.com/llvm/llvm-project/commit/3834f58744a7be80b5869c07fe576ff8f23e2315
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Only call getSource() if we diagnose (#224663)

We can avoid this if we only return false anyway. Also rename a
variable.


  Commit: da72f2c5766a0cc1dc81aa6a27de34316b83b68f
      https://github.com/llvm/llvm-project/commit/da72f2c5766a0cc1dc81aa6a27de34316b83b68f
  Author: Brad Smith <brad at comstyle.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/lib/Support/Unix/Path.inc

  Log Message:
  -----------
  [Support] Only enable use of /proc/self/fd on Linux (#222497)

Only enable the use of /proc/self/fd on OSes that provide
the compatible /proc/self/fd interface.


  Commit: d0358264a15b7279e4a1500a0dadbf43fab881ed
      https://github.com/llvm/llvm-project/commit/d0358264a15b7279e4a1500a0dadbf43fab881ed
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Flip a boolean flag meaning (#224649)

We only use this flag once, when passing it to
`setFoldFailureDiagnostic()` (where we invert it), so it doesn't make
sense to call it IsCCEDiag.


  Commit: 7192e07bea4fbad5e83b1e952072b0c4ddde4d3a
      https://github.com/llvm/llvm-project/commit/7192e07bea4fbad5e83b1e952072b0c4ddde4d3a
  Author: Minsoo Choo <minsoochoo0122 at proton.me>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

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

  Log Message:
  -----------
  [lldb][FreeBSDKernel] Load unrelocated FreeBSD kernel sections (#223589)

Even though displacement is zero, we need to mark the module as loaded.

Fixes: 62d06083ef186abe610de4742c62c84c2f97fcd0


  Commit: 041328e3314e5f0aea3d88f6bd8257ecccd89984
      https://github.com/llvm/llvm-project/commit/041328e3314e5f0aea3d88f6bd8257ecccd89984
  Author: Minsoo Choo <minsoochoo0122 at proton.me>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp

  Log Message:
  -----------
  [lldb][FreeBSDKernel] Avoid null dereference probing FreeBSD kernels (#223590)

CheckForKernelImageAtAddress() accepts an optional read_error pointer,
but dereferenced it unconditionally in many code paths. If read_error is
null, point read_error to a dummy local variable to prevent null
dereference.

Fixes: b3cc4804d45d6b612ac9b3cc47ebbb0da44ebc60


  Commit: 3088d0aace62a33925ade51e238b9a1ae7ff30c0
      https://github.com/llvm/llvm-project/commit/3088d0aace62a33925ade51e238b9a1ae7ff30c0
  Author: Minsoo Choo <minsoo at minsoo.io>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

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

  Log Message:
  -----------
  [lldb][FreeBSDKernel] Support cross-architecture FreeBSD kernel cores (#223593)

FreeBSD's kvm_open(3) man page states that a valid resolver is required
to debug non-native kernel images as libkvm needs to map symbol names to
kernel virtual addresses. Since ProcessFreeBSDKernelCore aims to debug
kernel image and core dump from any architectures, pass a valid resolver
to kvm_open2().

Assisted-by: GPT


  Commit: 0da016867d1fd3d7938895ec36a9775fe26e1919
      https://github.com/llvm/llvm-project/commit/0da016867d1fd3d7938895ec36a9775fe26e1919
  Author: Minsoo Choo <minsoo at minsoo.io>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

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

  Log Message:
  -----------
  Revert "[lldb][FreeBSDKernel] Support cross-architecture FreeBSD kernel cores" (#224799)

Reverts llvm/llvm-project#223593

Merged by mistake.


  Commit: c38a7054a1d889d428a24481f699927a8707b28e
      https://github.com/llvm/llvm-project/commit/c38a7054a1d889d428a24481f699927a8707b28e
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Utility/DataExtractor.h
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
    M lldb/source/Utility/DataExtractor.cpp
    M lldb/source/ValueObject/ValueObject.cpp
    A lldb/test/Shell/ObjectFile/MachO/unterminated-symbol-name.yaml
    M lldb/unittests/Utility/DataExtractorTest.cpp

  Log Message:
  -----------
  [lldb] Bound DataExtractor::PeekCStr to the data it reads from (#224452)

PeekCStr only validated the first byte without checking for a terminator.
Every caller then treated the result as a C string, so an unterminated
string table let strlen run past the mapping, causing a crash or
security bug.

Return an optional StringRef, produced only when the terminator lies
within the data. The length comes along with it, so callers no longer
rescan, and an absent string stays distinct from an empty one.

ValueObject was the only caller that wanted an unterminated buffer. It
scans fixed size chunks of inferior memory, so it now asks for bytes with
PeekData and bounds its own scan.

rdar://186891223


  Commit: e80cb508f0ab3b916873b8a4939203cd5d36901a
      https://github.com/llvm/llvm-project/commit/e80cb508f0ab3b916873b8a4939203cd5d36901a
  Author: geoffreygaren <ggaren at apple.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp

  Log Message:
  -----------
  [WebKit Checkers][NFC] Extract hasGuardian from isPtrOriginSafe in RawPtrRefLocalVarsChecker (#224726)

So an upcoming borrow checker can skip it.

(A guardian variable is an independent declaration that ensures a
lifetime. Borrow checking does not accept guardian variables because
they do not convey `lifetimebound` links.)

Assisted-by: Claude


  Commit: 18f24365f1e6ffde585e35c110d2039c082b2091
      https://github.com/llvm/llvm-project/commit/18f24365f1e6ffde585e35c110d2039c082b2091
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py

  Log Message:
  -----------
  [lldb/test] Register the addressable_bits_scripted_process module with the script interpreter (#224803)

`test_scripted_process_addressable_bits` imported
`addressable_bits_scripted_process` into the test process, which makes
the module's constants available to the test but tells lldb's own script
interpreter nothing about it, so
`SBLaunchInfo::SetScriptedProcessClassName()` had nothing to resolve:

```
  error: failed to create ScriptedProcess: failed to create script object:
  Could not find script class:
  addressable_bits_scripted_process.AddressableBitsScriptedProcess
```

Import the file with `command script import` the way the other scripted
process tests in this file do.


  Commit: e35f904c32ed5c5b7960f4576d94708d6611256e
      https://github.com/llvm/llvm-project/commit/e35f904c32ed5c5b7960f4576d94708d6611256e
  Author: Konstantinos Parasyris <koparasy at gmail.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenSYCL.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGenSYCL/kernel-caller-attributes.cpp

  Log Message:
  -----------
  [CIR][SYCL] Emit attributes on the SYCL kernel caller (#224667)

Emit norecurse, mustprogress, and sycl-module-id.

This matches the classic behavior that is specific to the SYCL kernel
caller.

---------

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


  Commit: 223038799f33d911ee40001be87ada922b2e8d22
      https://github.com/llvm/llvm-project/commit/223038799f33d911ee40001be87ada922b2e8d22
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/MutableBox.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SeparateAllocatableAssign.cpp
    M flang/test/HLFIR/opt-bufferization-dealloc-conflict.fir
    M flang/test/HLFIR/separate-allocatable-assign.fir

  Log Message:
  -----------
  [flang][cuda] Split realloc for host-accessible CUDA Fortran allocatable assigns (#224195)

Allow SeparateAllocatableAssign to peel reallocation off hlfir.assign
for
managed, pinned, and unified allocatables, using cuf.alloc/cuf.free so
the
CUDA Fortran allocator is honored. Device (and other
non-host-accessible)
storage still keeps the runtime realloc path as well as derived-type.

Drop the extra op-level MemFree on cuf.free so OptimizedBufferization
can
see the freed pointer. Without that, a valueless Free effect between the
elemental and the assign forced a temporary for cases such as
`a = int(ran*100)` on a managed allocatable in the example below.

```
subroutine foo(n, a, ran)
  integer :: n
  real, managed, allocatable :: a(:)
  real, allocatable :: ran(:)
  allocate(a(n))
  allocate(ran(n))
  call random_number(ran)
  a = int(ran*100)
end subroutine
```


  Commit: 6f516d1c555462cf20404cb0da9c58716fd618db
      https://github.com/llvm/llvm-project/commit/6f516d1c555462cf20404cb0da9c58716fd618db
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    M flang/test/Fir/CUDA/cuda-constructor-2.f90

  Log Message:
  -----------
  [flang][cuda] Emit cuda sentinel only when compiling main (#224507)

The sentinel must be added only when the `PROGRAM` is build in the TU.


  Commit: 3efbad6ac0ed21cff03201f50bd37f15060d36e1
      https://github.com/llvm/llvm-project/commit/3efbad6ac0ed21cff03201f50bd37f15060d36e1
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M clang/lib/Options/DriverOptions.cpp
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M lld/COFF/DriverUtils.cpp
    M lld/ELF/DriverUtils.cpp
    M lld/MachO/DriverUtils.cpp
    M lld/MinGW/Driver.cpp
    M lld/wasm/Driver.cpp
    M lldb/tools/driver/Driver.cpp
    M lldb/tools/lldb-dap/tool/lldb-dap.cpp
    M lldb/tools/lldb-server/lldb-gdbserver.cpp
    M lldb/tools/lldb-server/lldb-platform.cpp
    M llvm/examples/OptSubcommand/llvm-hello-sub.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llvm-cas/llvm-cas.cpp
    M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
    M llvm/tools/llvm-cvtres/llvm-cvtres.cpp
    M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
    M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
    M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
    M llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp
    M llvm/tools/llvm-dwp/llvm-dwp.cpp
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/tools/llvm-ifs/llvm-ifs.cpp
    M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
    M llvm/tools/llvm-lipo/llvm-lipo.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp
    M llvm/tools/llvm-mt/llvm-mt.cpp
    M llvm/tools/llvm-nm/llvm-nm.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-rc/llvm-rc.cpp
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
    M llvm/tools/llvm-size/llvm-size.cpp
    M llvm/tools/llvm-strings/llvm-strings.cpp
    M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
    M llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp
    M llvm/tools/sancov/sancov.cpp
    M llvm/unittests/Option/OptionParsingTest.cpp
    M llvm/unittests/Option/OptionSubCommandsTest.cpp
    M llvm/utils/TableGen/OptionParserEmitter.cpp

  Log Message:
  -----------
  [Option] Replace the OptionTables object with a function. NFC (#224805)

The generated `Tables` holds seven addresses, so needs dynamic
relocations in PIE and shared library builds:

```
static constexpr llvm::opt::OptTable::Tables OptionTables = {
    OptionStrTable, OptionPrefixesTable, OptionPrefixesUnion, ...};
...
  FooOptTable() : OptTable(OptionTables) {}
```

Emit a function instead. The caller builds the aggregate on the stack
from PC-relative addresses, which the linker resolves:

```
static constexpr llvm::opt::OptTable::Tables optionTables() {
  return {OptionStrTable, OptionPrefixesTable, OptionInfoTable, ...};
}
...
  FooOptTable() : OptTable(optionTables()) {}
```

Derive the prefix union from the prefix table in the constructor and
drop the emitted OptionPrefixesUnion.

Aided by Opus 5


  Commit: 9109452a428a5042ff62879be68445f8b88637d4
      https://github.com/llvm/llvm-project/commit/9109452a428a5042ff62879be68445f8b88637d4
  Author: Lucas Chollet <lucas.chollet at free.fr>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/lost_wakeup.pass.cpp

  Log Message:
  -----------
  [libcxx] Avoid a busy-loop in atomic's lost_wakeup.pass.cpp (#211242)

Fixes #207763
On single-core or heavily loaded systems, using this_thread::yield()
prevents the notifier from burning all its allocated time on the
busy-loop.

The measurements were done on my Linux box, the time is the one reported
by lit. To isolate the test on a single core I used the following
commands:

export LIT_FILTER="wait/lost_wakeup.pass.cpp"
taskset -c 0 ninja -C build check-cxx

| Configuration  | Linux futex |             | Fallback |             |
| -------------- | ----------- | ----------- | -------- | ----------- |
|                | Normal      | Pinned core | Normal   | Pinned core |
| Before         | 1.50s       | 8.44s       | 1.57s    | 301.02s     |
| With yield     | 1.73s       | 7.36s       | 1.64s    | 8.88s       |

Both configurations are with the `run < 10` change.


  Commit: 7d091d586808a91300e653d8ba06dd8406f0fdeb
      https://github.com/llvm/llvm-project/commit/7d091d586808a91300e653d8ba06dd8406f0fdeb
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Option/OptTable.h
    M llvm/lib/Option/OptTable.cpp
    M llvm/utils/TableGen/OptionParserEmitter.cpp

  Log Message:
  -----------
  [Option] Derive the prefix union in the constructor. NFC (#224813)

The union is a function of the prefix table, so compute it in the
OptTable constructor instead of emitting OptionPrefixesUnion and
carrying it in Tables.

LLM-aided, extracted from #224805


  Commit: 88c7a2aa1172f8d30df1e756816aec4d8da447c2
      https://github.com/llvm/llvm-project/commit/88c7a2aa1172f8d30df1e756816aec4d8da447c2
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
    M llvm/test/CodeGen/AMDGPU/dual-source-blend-export.ll
    M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll
    M llvm/test/CodeGen/AMDGPU/wqm.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/mbcnt-wave32-optimizations.ll

  Log Message:
  -----------
  [AMDGPU] Always optimize out llvm.amdgcn.mbcnt.hi in wave32 mode (#224573)

The instruction v_mbcnt_hi_u32_b32 does nothing useful in wave32 mode so
we can always optimize it regardless of the workgroup size.


  Commit: b3ef5fedd9920cf1c678f4da5743a6714d078f87
      https://github.com/llvm/llvm-project/commit/b3ef5fedd9920cf1c678f4da5743a6714d078f87
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-18 (Fri, 18 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Option/OptTable.h
    M llvm/include/llvm/Option/Option.h
    M llvm/lib/Option/OptTable.cpp
    M llvm/utils/TableGen/OptionParserEmitter.cpp

  Log Message:
  -----------
  [Option] Shrink Info from 40 to 24 bytes (#224807)

Few options set MetaVar, AliasArgs, Values, help text variants, or
subcommands (12%, 4%, 4%, 0.1%, 0.06% of 6955 options), yet every entry
carries all five. Move them to a deduplicated InfoExtra side table
reached by a 16-bit offset; row 0 serves options that set none. Narrow
Visibility to 16 bits; clang uses seven.

clang's table shrinks from 155 KB to 93 KB plus 4 KB of extras.

Aided by Opus 5


  Commit: 8a371cab6bd49f58f6285e4db7f58c3427ca8c8b
      https://github.com/llvm/llvm-project/commit/8a371cab6bd49f58f6285e4db7f58c3427ca8c8b
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M orc-rt/include/orc-rt/bedrock/sps/SimpleRemoteCA.h
    M orc-rt/lib/bedrock/sps/SimpleRemoteCA.cpp
    M orc-rt/test/unit/bedrock/sps/SimpleRemoteCATest.cpp

  Log Message:
  -----------
  [orc-rt] In SimpleRemoteCA, carry tag field as uint64_t (#224814)

A message's tag field is a 64-bit value on the wire, so carry it as a
uint64_t inside SimpleRemoteCA and only convert to an ExecutorAddr or
ResultKind only where needed, with validation.


  Commit: 73641283fc038d819b5a0d3e5fd1315d501ff9e1
      https://github.com/llvm/llvm-project/commit/73641283fc038d819b5a0d3e5fd1315d501ff9e1
  Author: Brad Smith <brad at comstyle.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/lib/Target/Mips/Mips.td
    M llvm/lib/Target/Mips/MipsSubtarget.cpp

  Log Message:
  -----------
  [Mips] Remove experimental warning bits in a few places (#223230)

- Remove the warning message "warning: MIPS-I support is experimental" from
  MipsSubtarget.cpp. The warning can interfere with build systems that do not
  expect diagnostic output on stderr.
- Remove experimental / highly experimental from a few MIPS processors.
  MIPS I is on track and the rest I wouldn't consider experimental anymore.


  Commit: 991d80d79b9d56b75c4d2bd07bf124e710dcbfaa
      https://github.com/llvm/llvm-project/commit/991d80d79b9d56b75c4d2bd07bf124e710dcbfaa
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Option/OptTable.h
    M llvm/lib/Option/OptTable.cpp
    M llvm/utils/TableGen/OptionParserEmitter.cpp

  Log Message:
  -----------
  [Option] Store the StringTable by value. NFC (#224818)

Suggested by
https://github.com/llvm/llvm-project/pull/224805#discussion_r4052408942

A StringTable is just a StringRef. Hold it by value and build it from
the storage array in optionTables(), so the generated OptionStrTable
object (16 bytes of .data.rel.ro and a relocation per table) is
unreferenced and discarded, and string lookups skip a load.

Aided by Opus 5


  Commit: 2bb259ab4b5d826fe5d886ee2f39a3df57ab209c
      https://github.com/llvm/llvm-project/commit/2bb259ab4b5d826fe5d886ee2f39a3df57ab209c
  Author: Zihao Wang <rekind133 at outlook.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/partial-reduction-sub.ll
    M llvm/test/CodeGen/X86/vector-partial-reduce-sumla.ll

  Log Message:
  -----------
  [SelectionDAG] Allow PARTIAL_REDUCE_SUMLA in getPartialReduceMLS (#220886)

foldPartialReduceMLAMulOp turns

    partial_reduce_*mla(acc, neg(mul(sext(a), zext(b))), splat(1))

into a PARTIAL_REDUCE_SUMLA node and, because of the negation, builds it
through SelectionDAG::getPartialReduceMLS. That helper only accepted
UMLA
and SMLA, so the mixed-sign case hit its "Unexpected opcode" assertion
whenever the target marks SUMLA as legal or custom for the transformed
types. The loop vectorizer produces exactly this shape for a reduction
chain that mixes adds and subs, e.g.

    acc += (int)s8_a[i] * (int)u8_b[i];
    acc -= (int)s8_c[i] * (int)u8_d[i];

so this crashed at -O2 in builds with assertions enabled on AArch64 with
+dotprod, and since #205373 also on X86 with AVX512-VNNI (release builds
already generated correct code).

The identity used by getPartialReduceMLS,

partial_reduce_mls acc, lhs, rhs <=> -(partial_reduce_mla -acc, lhs,
rhs)

does not depend on the signedness of the inputs, so SUMLA can simply be
accepted. Add AArch64 tests for the SVE and NEON usdot forms, and for
the two-udot expansion used without +i8mm.


  Commit: a9bd24af19ba92329881ea5bf73f90508e16dd5f
      https://github.com/llvm/llvm-project/commit/a9bd24af19ba92329881ea5bf73f90508e16dd5f
  Author: Ricardo Jesus <rjj at nvidia.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    A llvm/test/Analysis/CostModel/AArch64/mulh.ll
    A llvm/test/Analysis/CostModel/AArch64/sve-mulh.ll
    A llvm/test/Analysis/CostModel/RISCV/mulh.ll
    M llvm/test/Analysis/CostModel/X86/arith-mulh.ll

  Log Message:
  -----------
  [TTI] Add basic costs for llvm.[su]mulh. (#224002)

Defaults to the expansion (trunc ((ext(A) * ext(B)) >> BW)).


  Commit: 3dcd66d0110335d7d1a5921fd085914b66ffbd3c
      https://github.com/llvm/llvm-project/commit/3dcd66d0110335d7d1a5921fd085914b66ffbd3c
  Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
    M mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize-conv.mlir
    M mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize.mlir
    M mlir/test/Dialect/SCF/for-loop-peeling-front.mlir
    M mlir/test/Dialect/SCF/for-loop-peeling.mlir
    M mlir/test/Dialect/SparseTensor/sparse_vector_peeled.mlir

  Log Message:
  -----------
  [mlir][scf] Do not peel an iteration out of an empty loop (#223257)


  Commit: a986c0984aa7ec77636fdc085f4228fec5a4a600
      https://github.com/llvm/llvm-project/commit/a986c0984aa7ec77636fdc085f4228fec5a4a600
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M mlir/include/mlir/IR/PatternMatch.h
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/IR/PatternMatch.cpp
    M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    A mlir/test/Dialect/LLVMIR/invoke-operand-segments.mlir
    A mlir/test/Transforms/region-branch-operand-segments.mlir
    A mlir/test/Transforms/remove-dead-values-llvm-call-segments.mlir
    A mlir/test/Transforms/remove-dead-values-return-segments.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [MLIR] Preserve operand segment sizes when removing dead inputs (#223154)

`RemoveDeadRegionBranchOpSuccessorInputs` was calling `eraseOperands`
and ignoring potential `AttrSizedOperandSegments`. Trying to use
`populateRegionBranchOpInterfaceCanonicalizationPatterns` on downstream
control flow op with it resulted in broken IR. Update the segments sizes
if present.

Also fix LLVM dialect `CallOp` and `InvokeOp` `getArgOperandsMutable`
which were dropping segment sizes and a parser bug uncovered by the
tests.

Code was vibed and then edited, tests were vibed and not particularly
edited.


  Commit: 534934c01f8c977ec1b7f381c71bedf1ff9e6a5e
      https://github.com/llvm/llvm-project/commit/534934c01f8c977ec1b7f381c71bedf1ff9e6a5e
  Author: Guy David <guyda96 at gmail.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    A llvm/test/CodeGen/AArch64/early-ifcvt-fpr128.ll
    A llvm/test/CodeGen/AArch64/early-ifcvt-fpr128.mir

  Log Message:
  -----------
  [AArch64] If-convert diamonds merging a 128-bit vector (#220616)

canInsertSelect handles GPRs via csel and 32/64-bit FPRs via fcsel, but
returns false for everything else. For example, EarlyIfConversion
flattens a diamond merging a v4i16 but leaves the equivalent v4i32
branchy.

We can create a conditional select similarly to how vector selects are
lowered in the backend by spreading the condition into an all-1's /
all-0's mask and use a bit select.

Assisted-by: Opus 5.0


  Commit: c0c563526ba92ab7e1afc49be2742d5ef0f8b86a
      https://github.com/llvm/llvm-project/commit/c0c563526ba92ab7e1afc49be2742d5ef0f8b86a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp

  Log Message:
  -----------
  [ConstraintElim] Add isNoWrap overload taking opcode + ops (NFC). (#224758)

Add overload that is independent of an IR value/instruction, and only
takes opcode + operands.

This prepares for using it in saturating/overflowing op simplification
in follow-ups.

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


  Commit: f8de1a4a91af108860545b696cce9b2ef8d8fa09
      https://github.com/llvm/llvm-project/commit/f8de1a4a91af108860545b696cce9b2ef8d8fa09
  Author: azwolski <antoni.zwolski at intel.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/shuffle-lane-permute-cycle.ll

  Log Message:
  -----------
  [X86] Prevent legalization cycles in lane-permute shuffle lowering (#224265)

When a cross-lane shuffle reproduces the original mask, trying a finer
sublane size can produce a decomposition that legalization transforms
back into the original shuffle. This causes legalization to cycle
indefinitely.

Stop trying finer sublane sizes when this condition is detected, and add
a regression test for the shuffle that previously caused `llc` to hang.

Fixes #224266


  Commit: 02299633334a4c7c5f7d8a8ebf593b66f7e6f13e
      https://github.com/llvm/llvm-project/commit/02299633334a4c7c5f7d8a8ebf593b66f7e6f13e
  Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mul.i24.ll

  Log Message:
  -----------
  [AMDGPU] Add tests for zero MUL_I24 operands. NFC (#224536)

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>


  Commit: 8fef76f77072537ea9d124df3d95a90671a2c02d
      https://github.com/llvm/llvm-project/commit/8fef76f77072537ea9d124df3d95a90671a2c02d
  Author: GTaf <auredu94 at gmail.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers-invalid-decl-no-crash.cpp

  Log Message:
  -----------
  [clang-tidy] Add null-checking in Use designated Initializer check (#220093)

Part of #219739

This null check should avoid null dereferencing crash in the Use
designated Initializer check.

AI has been used in this contribution to understand the code as I'm a
beginner to the codebase. The problem understanding and proposed fix is
mine.


  Commit: 02e6ae3a2812d6dd3707f8818cbf124d0a3ee0df
      https://github.com/llvm/llvm-project/commit/02e6ae3a2812d6dd3707f8818cbf124d0a3ee0df
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/ASTMerge/class-template-partial-spec/test.cpp

  Log Message:
  -----------
  [clang][bytecode] Lazily evaluate static variables (#208794)

They usually go through `evaluateAsInitializer()`, which is where we
register them as global variables. But if they're imported, they don't.
Just try to evaluate them in `VisitMemberExpr()`.


  Commit: 3830f77512eaebae7a24aa04f75ad37a9facea5d
      https://github.com/llvm/llvm-project/commit/3830f77512eaebae7a24aa04f75ad37a9facea5d
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    A llvm/docs/MarkedUpDisassembly.md
    R llvm/docs/MarkedUpDisassembly.rst
    A llvm/docs/MeetupGuidelines.md
    R llvm/docs/MeetupGuidelines.rst
    A llvm/docs/MemTagSanitizer.md
    R llvm/docs/MemTagSanitizer.rst
    A llvm/docs/MemoryModelRelaxationAnnotations.md
    R llvm/docs/MemoryModelRelaxationAnnotations.rst
    A llvm/docs/PCSectionsMetadata.md
    R llvm/docs/PCSectionsMetadata.rst
    A llvm/docs/Projects.md
    R llvm/docs/Projects.rst
    A llvm/docs/Proposals/GitHubMove.md
    R llvm/docs/Proposals/GitHubMove.rst
    A llvm/docs/Proposals/TestSuite.md
    R llvm/docs/Proposals/TestSuite.rst
    A llvm/docs/Proposals/VectorPredication.md
    R llvm/docs/Proposals/VectorPredication.rst
    A llvm/docs/QualGroup.md
    R llvm/docs/QualGroup.rst
    A llvm/docs/ReleaseProcess.md
    R llvm/docs/ReleaseProcess.rst
    A llvm/docs/ScudoHardenedAllocator.md
    R llvm/docs/ScudoHardenedAllocator.rst
    A llvm/docs/Security.md
    R llvm/docs/Security.rst
    A llvm/docs/SecurityTransparencyReports.md
    R llvm/docs/SecurityTransparencyReports.rst
    A llvm/docs/SegmentedStacks.md
    R llvm/docs/SegmentedStacks.rst
    A llvm/docs/StackMaps.md
    R llvm/docs/StackMaps.rst
    A llvm/docs/Statepoints.md
    R llvm/docs/Statepoints.rst
    A llvm/docs/SupportPolicy.md
    R llvm/docs/SupportPolicy.rst
    A llvm/docs/SystemLibrary.md
    R llvm/docs/SystemLibrary.rst
    A llvm/docs/TableGen/BackEnds.md
    R llvm/docs/TableGen/BackEnds.rst
    A llvm/docs/TableGen/BackGuide.md
    R llvm/docs/TableGen/BackGuide.rst
    A llvm/docs/TableGen/ProgRef.md
    R llvm/docs/TableGen/ProgRef.rst
    A llvm/docs/TransformMetadata.md
    R llvm/docs/TransformMetadata.rst
    A llvm/docs/TypeMetadata.md
    R llvm/docs/TypeMetadata.rst
    A llvm/docs/UndefinedBehavior.md
    R llvm/docs/UndefinedBehavior.rst
    A llvm/docs/VectorizationPlan.md
    R llvm/docs/VectorizationPlan.rst
    A llvm/docs/XRay.md
    R llvm/docs/XRay.rst
    A llvm/docs/XRayExample.md
    R llvm/docs/XRayExample.rst
    A llvm/docs/XRayFDRFormat.md
    R llvm/docs/XRayFDRFormat.rst
    A llvm/docs/YamlIO.md
    R llvm/docs/YamlIO.rst

  Log Message:
  -----------
  [LLVM][docs] Rename remaining reST docs to Markdown (batch 11) (#223098)

Tracking issue: #201242
See the [migration guide] for more information. 

[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This is the initial straight rename commit. It will probably break the
docs build, but it has to be a separate PR for blame preservation
purposes.

The stacked conversion and cleanup is in #223100.


  Commit: 7c55ad084c8b1503cafa42c60d88bff65919c9fa
      https://github.com/llvm/llvm-project/commit/7c55ad084c8b1503cafa42c60d88bff65919c9fa
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/docs/MarkedUpDisassembly.md
    M llvm/docs/MeetupGuidelines.md
    M llvm/docs/MemTagSanitizer.md
    M llvm/docs/MemoryModelRelaxationAnnotations.md
    M llvm/docs/PCSectionsMetadata.md
    M llvm/docs/Projects.md
    M llvm/docs/Proposals/GitHubMove.md
    M llvm/docs/Proposals/TestSuite.md
    M llvm/docs/Proposals/VectorPredication.md
    M llvm/docs/QualGroup.md
    M llvm/docs/ReleaseProcess.md
    M llvm/docs/ScudoHardenedAllocator.md
    M llvm/docs/Security.md
    M llvm/docs/SecurityTransparencyReports.md
    M llvm/docs/SegmentedStacks.md
    M llvm/docs/StackMaps.md
    M llvm/docs/Statepoints.md
    M llvm/docs/SupportPolicy.md
    M llvm/docs/SystemLibrary.md
    M llvm/docs/TableGen/BackEnds.md
    M llvm/docs/TableGen/BackGuide.md
    M llvm/docs/TableGen/ProgRef.md
    M llvm/docs/TransformMetadata.md
    M llvm/docs/TypeMetadata.md
    M llvm/docs/UndefinedBehavior.md
    M llvm/docs/VectorizationPlan.md
    M llvm/docs/XRay.md
    M llvm/docs/XRayExample.md
    M llvm/docs/XRayFDRFormat.md
    M llvm/docs/YamlIO.md

  Log Message:
  -----------
  [LLVM][docs] Finish MyST migration for remaining docs (batch 11) (#223100)

Migration notes:

- I left several eval-rest blocks in `TableGen/ProgRef` which uses EBNF
production lists to define grammars. This apparently doesn't work in
myst.
- Accidental list blockquotes were converted to native lists. The
project-layout and Makefile entries in `Projects` are native definition
lists.

Tracking issue: #201242
See the [migration guide] for more information. 

[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is a stacked PR based on #223098, which is a standalone commit that
renames *.rst -> *.md before this PR lands for history preservation
purposes.

This was prepared with rst2myst plus LLM-assisted cleanup.


  Commit: 82b9a76acb072b5ee6dc5dd123d30b883fcc4222
      https://github.com/llvm/llvm-project/commit/82b9a76acb072b5ee6dc5dd123d30b883fcc4222
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    A libc/cmake/modules/compiler_features/check_float80.cpp
    M libc/test/src/CMakeLists.txt
    M libc/test/src/__support/FPUtil/CMakeLists.txt
    M libc/test/src/__support/FPUtil/float80_test.cpp
    M libc/utils/MPFRWrapper/CMakeLists.txt
    M libc/utils/MPFRWrapper/MPCommon.cpp
    M libc/utils/MPFRWrapper/MPCommon.h

  Log Message:
  -----------
  [libc] Enables MPFR for float80 and adds tests for it (#223800)

This temporarily only enables them where its natively avaialble i.e
where long double is float80 (x86)


  Commit: 0cf45d08f5d412cdc8681709d960e65a2757e5a6
      https://github.com/llvm/llvm-project/commit/0cf45d08f5d412cdc8681709d960e65a2757e5a6
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    A clang/test/Analysis/inlining-final-methods.cpp

  Log Message:
  -----------
  [analyzer] Confidently inline final methods (#224070)

When the analyzer sees a virtual method call, it usually splits two
execution paths: one where the method is inlined, and one where it is
evaluated conservatively (i.e. invalidates stuff and returns a conjured
symbol) to represent the possibility that an overriding method is called
from a more derived class.

This commit disables this logic in the case when the method
corresponding to the (static or known dynamic) type of the object is
`final` (or the type of the object is `final`), because in these cases
we can definitely know that it is the method that is actually called.

Fixes #222960.


  Commit: 27ba493781215910f560b36cd5b3b2f6c93ec5a3
      https://github.com/llvm/llvm-project/commit/27ba493781215910f560b36cd5b3b2f6c93ec5a3
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/AccelTable.h
    M llvm/include/llvm/CodeGen/AsmPrinterHandler.h
    M llvm/include/llvm/CodeGen/DIE.h
    M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
    M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h

  Log Message:
  -----------
  [AsmPrinter] Remove dead functions, types, and member variables (NFC) (#224819)

AccelTable::addEntries:
Added on November 18, 2023 in commit
b00e2f2a5f3e48fbbe2324b0b371e5657ccd969c without a definition or any
callers.

Dwarf5AccelTableWriter::Header::AbbrevTableSize:
Added on April 4, 2018 in commit
6088c23431239ff7653ec0acc74e97f4d2771834 without any uses.

ExceptionSymbolProvider:
The last uses were removed on November 22, 2022 in commit
4af73d7ebb5bf4bc2045d15ae0f4ebce56f2d86f.

DIEInteger::setValue:
The last uses were removed on May 27, 2015 in commit
e7e1d0c706826a009698341e36f8c5a44ff1571c.

DIEExpr::getValue:
Added on July 2, 2013 in commit
396ba8b495640d7a1d8ff38e70f145bb25d109df without any callers.

DIELabel::getValue:
The last uses were removed on December 5, 2013 in commit
c31fe2de4a824858c1d13a42d6fa68a5597cadb3.

CodeViewDebug::FunctionInfo::ParamSize:
Added on October 1, 2018 in commit
9ea2c01264eac590bf149cbb882a1f1bd1c2bc1b without any uses.

DwarfDebug::StringTypeLocMap / getStringTypeLoc / addStringTypeLoc:
Added on August 20, 2020 in commit
f91d18eaa946b2d2ea5a9334fb099c3e409ad2d1 without any callers.

DwarfUnit::hasContent:
The last uses were removed on November 9, 2006 in commit
97f89b11b392941f7f6f14d92024d00ad4bdbf7a.

DwarfUnit::setIndexTyDie:
The last use was removed on November 2, 2014 in commit
871c2d9d63273e326dd7fac1ce70cd0a0b604b81.

Assisted-by: Antigravity


  Commit: 1c0fc1d0d8ae0d7e3cbce522466ec1b136c056a8
      https://github.com/llvm/llvm-project/commit/1c0fc1d0d8ae0d7e3cbce522466ec1b136c056a8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/constraint-overflow.ll

  Log Message:
  -----------
  [ConstraintElim] Use SubOverflow instead of MulOverflow + AddOverflow. (#224840)

getRowForLessEqual used MulOverflow to negate the constant offset, then
AddOverflow to add the result. MulOverflow by -1 can overflow, if the
other constant is INT64_MIN.

We can directly use SubOverflow, avoiding the extra multiply operation
and potential overflow.

This improves results in some edge cases. I do not think it will trigger
in practice, but it is also simpler and cheaper.

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


  Commit: 2747501774ba93685fc460abafb395e585a86b13
      https://github.com/llvm/llvm-project/commit/2747501774ba93685fc460abafb395e585a86b13
  Author: lntue <lntue at google.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M libc/src/__support/math/CMakeLists.txt
    M libc/src/__support/math/exp10f.h
    A libc/src/__support/math/exp10f_double_eval.h
    A libc/src/__support/math/exp10f_float_eval.h
    M libc/src/__support/math/exp2f.h
    A libc/src/__support/math/exp2f_double_eval.h
    A libc/src/__support/math/exp2f_float_eval.h
    A libc/src/__support/math/exp2f_float_utils.h
    M libc/src/__support/math/expf.h
    A libc/src/__support/math/expf_double_eval.h
    A libc/src/__support/math/expf_float_eval.h
    M libc/src/__support/math/expf_integer_eval.h
    M libc/src/math/generic/expf.cpp
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/exhaustive/CMakeLists.txt
    M libc/test/src/math/exhaustive/exhaustive_test.h
    M libc/test/src/math/exhaustive/exhaustive_test_static_rounding.h
    M libc/test/src/math/exhaustive/exp10f_test.cpp
    M libc/test/src/math/exhaustive/exp2f_test.cpp
    R libc/test/src/math/exhaustive/expf_static_rounding_test.cpp
    M libc/test/src/math/exhaustive/expf_test.cpp
    M libc/test/src/math/exp10f_test.cpp
    M libc/test/src/math/exp2f_test.cpp
    R libc/test/src/math/expf_static_rounding_test.cpp
    M libc/test/src/math/expf_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/exp10f_test.cpp
    M libc/test/src/math/smoke/exp2f_test.cpp
    R libc/test/src/math/smoke/expf_static_rounding_test.cpp
    M libc/test/src/math/smoke/expf_test.cpp

  Log Message:
  -----------
  [libc][math] Add code size optimized float-only options for exp*f funtions. (#224735)

- Add float-only implementations for expf, exp2f, and exp10f optimized
for code-size.
- Reorganize function selections:
  - `src/__support/math/func.h` - select implementation
- `src/__support/math/func_<type>_eval.h` - implementation with `<type>`
as intermediate computational type.
- keep different `<type>-eval` in `type_eval` namespace, so that all
options are available to be tested.
- Update smoke, unit, exhaustive tests to test all variants.

Assisted-by: Gemini is used for code size analysis and test refactoring.

---------

Co-authored-by: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>


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

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

  Log Message:
  -----------
  [Bazel] Fixes 82b9a76 (#224841)

This fixes 82b9a76acb072b5ee6dc5dd123d30b883fcc4222 (#223800).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=82b9a76acb072b5ee6dc5dd123d30b883fcc4222

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


  Commit: 8c8740bd92197171d5873f77a66bb68217926fb2
      https://github.com/llvm/llvm-project/commit/8c8740bd92197171d5873f77a66bb68217926fb2
  Author: lntue <lntue at google.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M libc/docs/headers/math/index.rst
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/frac128.h
    A libc/src/__support/frac256.h
    M libc/src/__support/frac64.h
    M libc/src/__support/macros/attributes.h
    M libc/src/__support/math/CMakeLists.txt
    M libc/src/__support/math/exp10.h
    M libc/src/__support/math/exp2.h
    M libc/src/__support/math/pow.h
    A libc/src/__support/math/pow_accurate_128.h
    A libc/src/__support/math/pow_accurate_256.h
    A libc/src/__support/math/pow_fast.h
    A libc/src/__support/math/pow_utils.h
    M libc/test/src/math/pow_test.cpp
    M libc/test/src/math/smoke/pow_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Make pow function correctly rounded for all rounding modes. (#222827)

Fix overflow issues reported by Paul Zimmermann.
  
Algorithm overview:
Evaluate mainly as:
```
x^y = 2^(y * log2(x))
```

- Fast path:
  - Compute `log2(x) = e_x + log2(m_x)` in double-double precision.
- Scale `y * log2(x)` and evaluate `2^(y * log2(x)) = 2^hi * 2^mid *
2^lo`
    using a 64-entry lookup table for `2^mid` and a degree-5 polynomial
    evaluated with Estrin's scheme for `2^lo`.
  - Perform Ziv's rounding test.
  
- 128-bit accurate path (pow_accurate_128.h):
  - If the fast path Ziv's test fails, recompute `log2` and `exp2` using
    fixed-point arithmetic with Frac128 and Frac64.
- Evaluate degree-15 polynomial for `log2` and degree-11 polynomial for
    exp2 with minimax coefficients generated by Sollya.
  - Use Horner scheme in 2 steps: higher degree terms are evaluated
    with 64-bit precision before combining into 128-bit precision.
- Detect exact and midpoint rounding boundaries using algorithm
described in
Lauter, C. and Lefevre, V., "Rounding Boundary Cases for Values of the
Exponential and Power Functions," IEEE Trans. Comput. 58(8):1063-1074.

- 256-bit accurate path (pow_accurate_256.h):
- If the 128-bit result fails the Ziv's test, recompute using 256-bit
fixed-point
    arithmetic with Frac256.
- Evaluate degree-31 polynomial for `log2` and degree-21 polynomial for
`exp2` using Horner scheme in 3 steps (64-bit -> 128-bit -> 256-bit).
  - Share the 64-entry table `EXP2_MID_FRAC256` with the 128-bit path.

- Add `Frac256` class in `libc/src/__support/frac256.h` for unsigned
256-bit
  fixed-point arithmetic.

Assisted-by: Gemini was used for debugging, performance analysis, and
refactoring.


  Commit: 0a0e6fce450fdd2b543367511c9513b6f38d47c0
      https://github.com/llvm/llvm-project/commit/0a0e6fce450fdd2b543367511c9513b6f38d47c0
  Author: lntue <lntue at google.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M libc/test/src/mathvec/CMakeLists.txt
    M libc/test/src/mathvec/exhaustive/CMakeLists.txt
    M libc/test/src/mathvec/exhaustive/exp10f_test.cpp
    M libc/test/src/mathvec/exhaustive/exp2f_test.cpp
    M libc/test/src/mathvec/exhaustive/expf_test.cpp
    M libc/test/src/mathvec/exp10f_test.cpp
    M libc/test/src/mathvec/exp2f_test.cpp
    M libc/test/src/mathvec/expf_test.cpp

  Log Message:
  -----------
  [libc][mathvec]  Explicitly test against scalar double precision versions for exp*f. (#224854)

This fixes mathvec tests failures on amdgpu for
https://github.com/llvm/llvm-project/pull/224735.


  Commit: f4149f6f16c716241036b2d01b6e9a28f6fb5325
      https://github.com/llvm/llvm-project/commit/f4149f6f16c716241036b2d01b6e9a28f6fb5325
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/ARM/vlldm-vlstm-uops.mir

  Log Message:
  -----------
  ARM: Fix mixed dead and not-dead LR operands in vlldm-vlstm-uops.mir (#224825)

This operand list had LR listed twice, once from its implicit-defs on
the instruction definition, and another in the variadic argument list.
One had a dead flag, and the other didn't which should be a verifier
error in the future, so remove the redundant operand.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 0e2786dcb5b28f754a1144c27e708d1c42676af9
      https://github.com/llvm/llvm-project/commit/0e2786dcb5b28f754a1144c27e708d1c42676af9
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/i386/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/grp.yaml
    M libc/src/grp/CMakeLists.txt
    A libc/src/grp/getgrgid_r.cpp
    A libc/src/grp/getgrgid_r.h
    A libc/src/grp/getgrnam_r.cpp
    A libc/src/grp/getgrnam_r.h
    M libc/src/grp/grp_utils.cpp
    M libc/src/grp/grp_utils.h
    M libc/test/src/grp/CMakeLists.txt
    A libc/test/src/grp/getgrgid_r_test.cpp
    A libc/test/src/grp/getgrnam_r_test.cpp

  Log Message:
  -----------
  [libc] Add getgrnam_r and getgrgid_r entrypoints (#224722)

Add the reentrant group database lookup entrypoints getgrnam_r and
getgrgid_r along with grp::find_by_name and grp::find_by_gid in
grp_utils.

Each lookup opens a ScopedFlatFileDatabase<struct group> stream so that
reentrant lookups do not disturb an in-progress getgrent iteration.
Track group_file_path alongside the iteration database so scoped streams
opened by reentrant lookups honour test path overrides.

* Add getgrnam_r and getgrgid_r entrypoints
* Add find_by_name and find_by_gid lookup helpers in grp_utils
* Define getgrnam_r and getgrgid_r in include/grp.yaml
* Add hermetic unit tests for getgrnam_r and getgrgid_r

Assisted-by: Automated tooling, human reviewed.


  Commit: 123c5db6b4e9ca0ae665db29585fe3d8757c5570
      https://github.com/llvm/llvm-project/commit/123c5db6b4e9ca0ae665db29585fe3d8757c5570
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M .github/workflows/libclang-abi-tests.yml

  Log Message:
  -----------
  workflows/libclang-abi-tests: Cache baseline results (#213503)

This way we don't need to recompute them on every run.


  Commit: acd9cda52648d3acd68096697eba217226875930
      https://github.com/llvm/llvm-project/commit/acd9cda52648d3acd68096697eba217226875930
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/utils/release/github-upload-release.py

  Log Message:
  -----------
  github-upload-release: Create draft releases (#209876)

https://discourse.llvm.org/t/rfc-enabling-immutable-releases-v2/91180


  Commit: c89ca1ba3d3fc40343656851fe669dc80282dfdf
      https://github.com/llvm/llvm-project/commit/c89ca1ba3d3fc40343656851fe669dc80282dfdf
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/extracted-subfields.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with a missed vectorization, NFC



Reviewers: 

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


  Commit: fd2f25d59643fac8c3249c3a48c25565df9af8f2
      https://github.com/llvm/llvm-project/commit/fd2f25d59643fac8c3249c3a48c25565df9af8f2
  Author: geoffreygaren <ggaren at apple.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp

  Log Message:
  -----------
  [WebKit Checkers][NFC] Thread the sink type through the local vars checker (#224862)

So an upcoming borrow checker can track assignment through indirection.

For example, in `out = &vec`, where `out`'s declared type is
`Vector<char>*&`, the relevant sink type is `Vector<char>*`.

Assisted-by: Claude


  Commit: b03138a9bf86f311d6549133325ec74f102933d0
      https://github.com/llvm/llvm-project/commit/b03138a9bf86f311d6549133325ec74f102933d0
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel

  Log Message:
  -----------
  [bazel] Fix the build after 8c8740bd92197171d5873f77a66bb68217926fb2/2747501774ba93685fc460abafb395e585a86b13 (#224868)


  Commit: 1843845752ab38a87af6fccef55ac236c2b70dd7
      https://github.com/llvm/llvm-project/commit/1843845752ab38a87af6fccef55ac236c2b70dd7
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUFeatures.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/R600Processors.td
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/occupancy-levels.ll
    A llvm/test/TableGen/AMDGPUTargetDefLDSAllocGranularity.td
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AMDGPU] Add `getLDSAllocGranule` to TargetParser (#220051)


  Commit: e3adc74921633fe089d78cb234faab892405f68c
      https://github.com/llvm/llvm-project/commit/e3adc74921633fe089d78cb234faab892405f68c
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 551af79c9031 (#224870)


  Commit: 0ada78bc80f9a0dc46910bfd2997315d1679f707
      https://github.com/llvm/llvm-project/commit/0ada78bc80f9a0dc46910bfd2997315d1679f707
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn

  Log Message:
  -----------
  [gn build] Port f43368b4d45e (#224871)


  Commit: e31da6ab711d043a785b340d6d9add76debd237d
      https://github.com/llvm/llvm-project/commit/e31da6ab711d043a785b340d6d9add76debd237d
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn

  Log Message:
  -----------
  [gn build] Port fce3facdfe49 (#224872)


  Commit: c37874b85b4d29fe40780ac847a628cfb4a28fe1
      https://github.com/llvm/llvm-project/commit/c37874b85b4d29fe40780ac847a628cfb4a28fe1
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-19 (Sat, 19 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/CodeGen/MachineOperand.h
    M llvm/lib/CodeGen/DetectDeadLanes.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/ProcessImplicitDefs.cpp
    M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
    M llvm/test/CodeGen/AMDGPU/dead-lane.mir
    A llvm/test/CodeGen/AMDGPU/detect-dead-lanes-tied-undef.mir
    M llvm/test/CodeGen/AMDGPU/early-lis-two-address-regsequence-undef.mir
    M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.mir
    M llvm/test/CodeGen/X86/freeze.ll
    A llvm/test/CodeGen/X86/process-implicit-defs-tied-undef.mir
    M llvm/test/CodeGen/X86/regallocfast-undef-tied-use.mir
    A llvm/test/MachineVerifier/tied-undef-use.mir

  Log Message:
  -----------
  [CodeGen] Reject undef tied use sharing a virtual register with another read (#222832)

A virtual use operand, tied to a def of a different register, sharing
the register with another read, carries obligation that is hard to
follow by passes. For example, twoaddressinstruction would use different
physical registers, breaking the expectation of the `IsUndef` flag:

```
define void @f() {
  %y = freeze i32 undef
  %m = mul i32 %y, %y
  call void asm sideeffect "# use $0", "{cx}"(i32 %m)
  ret void
}

%2 = IMUL32rr undef %1(tied-def 0), undef %1   ; before twoaddressinstruction
%2 = IMUL32rr undef %2(tied-def 0), undef %1   ; after
imull %eax, %ecx                               ; different regs
```

RegAllocFast had the same issue until #222249. Let's just reject the
shape to retire the obligation. `%0 = XOR undef %0, undef %0` stays
legal, since rewriting that tie changes nothing.

ProcessImplicitDefs and DetectDeadLanes stop producing the rejected
form: such reads keep their IMPLICIT_DEF. Physical registers are
unaffected, so post-RA expansions like Expand2AddrUndef keep
`$eax = XOR32rr undef $eax, undef $eax`.

Aided by Opus 5


  Commit: b1aa74ddcb34e88a2ab1a0a1d2a1295a8c487a33
      https://github.com/llvm/llvm-project/commit/b1aa74ddcb34e88a2ab1a0a1d2a1295a8c487a33
  Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp

  Log Message:
  -----------
  [RISCV][XQCI] Add a test that shows getInstSizeInBytes returning an incorrect instruction size. NFC (#224787)

Follow up to https://github.com/llvm/llvm-project/pull/223913 that shows
`getInstSizeInBytes` returning an incorrect instruction size of 2 when
the 6 byte `Xqci` instruction compresses to a 4 byte instruction.

An AI agent assisted in the generation of the test.


  Commit: 761561a0b41fb35e6d52b3498e8ca20073753b18
      https://github.com/llvm/llvm-project/commit/761561a0b41fb35e6d52b3498e8ca20073753b18
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py

  Log Message:
  -----------
  [lldb/test] Skip test_scripted_process_addressable_bits on Windows (#224878)

This test is the first one in its directory to reach `self.build()` on
Windows, where the Makefile only knows how to build a dylib, so linking
the test binary fails on an undefined `baz` symbol.

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


  Commit: 780937f68bfd726b3e45dd2de14d0d152e075147
      https://github.com/llvm/llvm-project/commit/780937f68bfd726b3e45dd2de14d0d152e075147
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    A clang/test/AST/ByteCode/Inputs/default-ctor.cppm
    A clang/test/AST/ByteCode/module-default-ctor.cpp

  Log Message:
  -----------
  [clang][bytecode] Add a special opcode for trivial default initializers (#224839)

Trivial default initializers from modules are not implicitly defined in
the AST, so we would diagnose the attached test case as an undefined
constructor. Do what the current interpreter does and special-case this.

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


  Commit: c4f702aed65d0f9af31f60849846b2bb31d8fbb0
      https://github.com/llvm/llvm-project/commit/c4f702aed65d0f9af31f60849846b2bb31d8fbb0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Remove unnecessary pointer type checks in CheckLoad/CheckStore (#224884)

Only check the pointer type once.


  Commit: 08daaa8e376a5dcd9be7894dbd071920a7de154a
      https://github.com/llvm/llvm-project/commit/08daaa8e376a5dcd9be7894dbd071920a7de154a
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M libcxx/include/__flat_map/flat_map.h
    M libcxx/include/__flat_map/flat_multimap.h
    M libcxx/include/__flat_set/flat_multiset.h
    M libcxx/include/__flat_set/flat_set.h
    M libcxx/include/queue
    M libcxx/include/stack
    A libcxx/test/std/containers/container.adaptors/flat.map/types.verify.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/types.verify.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multiset/types.verify.cpp
    A libcxx/test/std/containers/container.adaptors/flat.set/types.verify.cpp
    R libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.verify.cpp
    R libcxx/test/std/containers/container.adaptors/priority.queue/types.compile.fail.cpp
    A libcxx/test/std/containers/container.adaptors/priority.queue/types.verify.cpp
    R libcxx/test/std/containers/container.adaptors/queue/queue.defn/empty.verify.cpp
    R libcxx/test/std/containers/container.adaptors/queue/queue.defn/types.compile.fail.cpp
    A libcxx/test/std/containers/container.adaptors/queue/queue.defn/types.verify.cpp
    R libcxx/test/std/containers/container.adaptors/stack/stack.defn/empty.verify.cpp
    R libcxx/test/std/containers/container.adaptors/stack/stack.defn/types.compile.fail.cpp
    A libcxx/test/std/containers/container.adaptors/stack/stack.defn/types.verify.cpp

  Log Message:
  -----------
  [libc++] Update container adaptors' type verification tests (#224810)

1. Improves the error message for LWG2566.
2. Converts related compile.fail.cpp tests to verify.cpp tests.
3. Updates all related tests.
4. Removes some redundant tests (e.g. `[[nodiscard]]` is tested
elsewhere).

References:
- https://wg21.link/lwg2566
- https://wg21.link/container.adaptors
- https://wg21.link/flat.map.overview#7
- https://wg21.link/flat.map.overview#8
- https://wg21.link/flat.multimap.overview#7
- https://wg21.link/flat.multimap.overview#8
- https://wg21.link/flat.multiset.overview#7
- https://wg21.link/flat.multiset.overview#8
- https://wg21.link/flat.set.overview#7
- https://wg21.link/flat.set.overview#8

---------

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


  Commit: 383f4cf28f19443bd4aacc7cda9d08ae6cacfa0c
      https://github.com/llvm/llvm-project/commit/383f4cf28f19443bd4aacc7cda9d08ae6cacfa0c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    A llvm/include/llvm/ExecutionEngine/Orc/Dlfcn.h
    A llvm/include/llvm/ExecutionEngine/Orc/DlfcnSPS.h
    A llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/DlfcnSPSCI.h
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp

  Log Message:
  -----------
  [ORC] Drive LLJIT dlopen/dlupdate/dlclose via proxies (#224881)

Add Dlfcn proxies (Dlfcn.h), their SPS specs (DlfcnSPS.h) and CI
descriptors (DlfcnSPSCI.h), and route ORCPlatformSupport's three
callSPSWrapper sites through them via recordProxy.


  Commit: d9d4b55c9157bb86b8a0bd93011bed82f67cc51f
      https://github.com/llvm/llvm-project/commit/d9d4b55c9157bb86b8a0bd93011bed82f67cc51f
  Author: Cyrus Ding <91178148+dingcyrus at users.noreply.github.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v2i16.ll
    M llvm/test/CodeGen/NVPTX/insert-vector-elt-shuffle-i8.ll
    M llvm/test/CodeGen/X86/bfloat.ll

  Log Message:
  -----------
    [DAG] canCreateUndefOrPoison/isGuaranteedNotToBeUndefOrPoison - SCALAR_TO_VECTOR upper elements are poison (#217185)

ISD::SCALAR_TO_VECTOR documents its upper elements (1..N-1) as poison,
  not undef. Update both helpers to use includesPoison(Kind) instead of
  includesUndef(Kind) when those elements are demanded, so PoisonOnly
  queries correctly report that the upper elements can create poison and
  are not guaranteed to be poison-free.

AI assistance was used for code review analysis and local build
verification.

  Fixes #217028


  Commit: 2ef90337355eee4384d4ac61bf038175a24583ab
      https://github.com/llvm/llvm-project/commit/2ef90337355eee4384d4ac61bf038175a24583ab
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/DynamicAllocator.h
    M clang/lib/AST/ByteCode/InterpState.h

  Log Message:
  -----------
  [clang][bytecode] Use InterpState's allocator in DynamicAllocator (#224893)

This saves us yet another BumpPtrAllocator.


  Commit: 6e505dbe194cd2cfb43e6de90e1e109d448800c9
      https://github.com/llvm/llvm-project/commit/6e505dbe194cd2cfb43e6de90e1e109d448800c9
  Author: Demo_mod <gaurvansh133 at gmail.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M clang/test/Parser/decltype-crash.cpp

  Log Message:
  -----------
  [clang][test] Add regression test for invalid 'int decltype {}' (#224855)

The parser crash on `int decltype {}` was fixed by #211221, but the test
it added only covers the `= 0` forms. Add the brace-init form reported
in the issue.

Fixes #165246


  Commit: 67cb38c384b5e4a3a75b436259a6e20c8d9fbffd
      https://github.com/llvm/llvm-project/commit/67cb38c384b5e4a3a75b436259a6e20c8d9fbffd
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
    M llvm/test/Transforms/HipStdPar/math-fixup.ll

  Log Message:
  -----------
  [HIPSTDPAR] Add `sincos` support (#224620)

The math fixup pass for `hipstdpar` only supported standard library math
functions. Due to #194616, combining `sin` + `cos` into `sincos` becomes
possible, so whilst `sincos` itself is not (yet) a standard library
interface, it has to be handled as well. This extends the set of covered
intrinsics to include it.


  Commit: aa6b03ed5a9ffe5ba6f0d945fac9961884b5c6ed
      https://github.com/llvm/llvm-project/commit/aa6b03ed5a9ffe5ba6f0d945fac9961884b5c6ed
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Context.h
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.h
    M clang/lib/AST/ByteCode/InterpState.cpp
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/AST/ByteCode/Inputs/module.modulemap
    A clang/test/AST/ByteCode/Inputs/redecl1.h
    A clang/test/AST/ByteCode/module-redecl1.cpp
    M clang/test/Modules/pr102360.cppm
    M clang/test/Modules/redecl-add-after-load.cpp

  Log Message:
  -----------
  [clang][bytecode] Notify bytecode interpreter after deserializing constant global declarations (#198062)

The problem looks something like this:

```c++
extern const int m;
constexpr int getm() { return m; }

const int m = 12;
static_assert(getm() == 12);
```

The generated bytecode for `getm()` references a global variable stored
in `interp::Program`. This variable is uninitialized when the bytecode
is generated, but since it's extern, that's not diagnosed (because it
might be initialized later).

When we parse the redeclaration of `m` on line 4, we evaluate its
initializer via `Expr::EvaluateAsInitializer`, which makes the bytecode
interpreter aware that `m` has been redeclared. It will create a new
global for the new declaration and make the previous global point to the
new one. When the bytecode is then evaluated in the `static_assert`,
there is no problem.

However, when the redeclaration isn't part of the TU but gets
de-serialized via a module (which is the case in
`test/Modules/redecl-add-after-load.cpp`), we don't call
`EvaluateAsInitializer`, we don't even necessarily de-serialize the
initializer expression at all. So the bytecode interpreter doesn't know
about the new declaration and the static_assert ultimately fails because
`m` is not initialized.

Marking this as a draft PR since I'm not sure this is the best way to do
this and if bytecode-specific things in other parts of the code base are
tolerated.


  Commit: 5363b70ced4a88258e90a4d93e7887bf9614e53e
      https://github.com/llvm/llvm-project/commit/5363b70ced4a88258e90a4d93e7887bf9614e53e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/PowerPC/extracted-subfields-be.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extracted-subfields.ll

  Log Message:
  -----------
  [SLP][NFC]Add extra tests for bitcasts-based vectorization, NFC



Reviewers: 

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


  Commit: 335793850c499195d9af75715bbbe84ce272666b
      https://github.com/llvm/llvm-project/commit/335793850c499195d9af75715bbbe84ce272666b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h

  Log Message:
  -----------
  [SCEV] Increase RewriteMap default size (NFC). (#224864)

The old automatic default of 4 inline buckets meant that in practice we
were frequently hitting the grow path to 64 buckets, causing unnecessary
memory traffic.

SCEVRewriteVisitor is used each time loop guards are applied and the new
default improves compile-time slightly for SCEV-heavy workloads. Geomean
improves by -0.03%, but mafft and lencod see bigger wins:

https://llvm-compile-time-tracker.com/compare.php?from=7c55ad084c8b1503cafa42c60d88bff65919c9fa&to=c1f14fba38c4cd7b282709d8bd9481d28642b2c6&stat=instructions:u

It mostly makes applying loop guards cheaper, making it easier to use in
more places in the future.

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


  Commit: 99da24b8fd7141c0eb02292e183bc5e97eb55a87
      https://github.com/llvm/llvm-project/commit/99da24b8fd7141c0eb02292e183bc5e97eb55a87
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

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

  Log Message:
  -----------
  [X86] getPSHUFShuffleMask - use PSHUFD/LW/HW decodes directly. NFC. (#224900)

Don't bother going through getTargetShuffleMask and checking for a
repeated lane mask when all we care about is the mask[4] permute mask -
PSHUFLW/HW don't even need the full 128-bit lane mask!


  Commit: f28f0baf480125fd1a0b70c39c316778e3794b13
      https://github.com/llvm/llvm-project/commit/f28f0baf480125fd1a0b70c39c316778e3794b13
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/test/CodeGen/X86/apx/optimize-compare-multipred.mir

  Log Message:
  -----------
  [X86][APX] Fix EFLAGS reuse across cycles (#223613)

optimizeCompareInstr's multi-predecessor NF reuse (added in
ab39c491430e) did not scan the below-CmpInstr region of CmpMBB when
CmpMBB was on a CFG cycle: that region is on the back-edge path but is
scanned by neither the caller nor the helper's predecessor walk. A
non-NF-convertible EFLAGS clobber there (e.g. an unrelated CMP feeding a
JCC, as in the reproducer below with VUCOMISS/CTEST/COPY-\$eflags) still
let the helper delete the redundant compare and mark \$eflags live-in on
CmpMBB. That broke the reused EFLAGS on iteration 2+ and tripped
X86FlagsCopyLowering's SuccMBB == TestMBB self-loop check with a fatal
report_fatal_error when a preexisting COPY \$eflags save/restore sat in
the cycle.

Reproducer: https://godbolt.org/z/s58j5zxqd

Detect CmpMBB on a cycle via a forward-reachability BFS on its
successors and, when so, scan from just after CmpInstr to the block's
end: bail on any non-NF-convertible EFLAGS clobber, stage NF-convertible
ones. The rest of the helper is unchanged.

Tests exercise the bail paths (selfloop_shadow_below,
twoblock_cycle_shadow_below, threeblock_cycle_shadow_below,
selfloop_nfconvertible_below_cap), the positive stage-and-succeed path
(selfloop_nfconvertible_below), and the CmpMBB-not-on-cycle skip path
(multipred_above_cmpmbb).

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

Assisted by Claude Code.


  Commit: 35a11e0d32bd6f8f4eb343a5aeeee1ef401828b8
      https://github.com/llvm/llvm-project/commit/35a11e0d32bd6f8f4eb343a5aeeee1ef401828b8
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M orc-rt/lib/bedrock/sys/posix/DynamicLibrary.cpp
    M orc-rt/lib/bedrock/sys/posix/Memory.cpp
    M orc-rt/lib/bedrock/sys/posix/PageSize.cpp
    M orc-rt/lib/bedrock/sys/posix/SocketHandle.cpp

  Log Message:
  -----------
  [orc-rt] Drop emacs mode lines from .cpp files. (#224928)

These aren't needed for .cpp files where emacs can infer the mode from
the file extension.


  Commit: 1e469c741cf0f4c80fdff8749336366a8a5699a4
      https://github.com/llvm/llvm-project/commit/1e469c741cf0f4c80fdff8749336366a8a5699a4
  Author: Zeyi Xu <zeyi2 at nekoarch.cc>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    M llvm/test/MC/RISCV/corev/XCVsimd-invalid.s
    M llvm/test/MC/RISCV/corev/XCVsimd.s

  Log Message:
  -----------
  [RISCV] Fix immediate operand ranges for XCVsimd instructions (#224876)

See link:

-
https://docs.openhwgroup.org/projects/cv32e40p-user-manual/en/latest/instruction_set_extensions.html#simd-bit-manipulation-operations
-
https://docs.openhwgroup.org/projects/cv32e40p-user-manual/en/latest/instruction_set_extensions.html#simd-shuffle-and-pack-operations


  Commit: 04865d44edd515cd20ae7037f176e23d2b155544
      https://github.com/llvm/llvm-project/commit/04865d44edd515cd20ae7037f176e23d2b155544
  Author: knickish <knickish at gmail.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/lib/Target/M68k/M68kInstrData.td
    M llvm/test/CodeGen/M68k/inline-asm.ll
    M llvm/test/MC/M68k/Data/Classes/MxMoveCCR.s
    M llvm/test/MC/M68k/Data/Classes/MxMoveSR.s

  Log Message:
  -----------
  [M68k] Add Imm source for MOVE to CCR/SR (#207590)

closes #165077, just adds the imm addressing mode to MOVE to SR/CCR


  Commit: fbc222615d759435d4848e54987053fe5b614ce3
      https://github.com/llvm/llvm-project/commit/fbc222615d759435d4848e54987053fe5b614ce3
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/Target/M68k/M68kInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kInstrInfo.h

  Log Message:
  -----------
  CodeGen: Pass instruction and operand index to isPCRelRegisterOperandLegal (#219420)

Replace the MachineOperand argument to the
TargetInstrInfo::isPCRelRegisterOperandLegal hook with the containing
instruction and operand index. The M68k implementation only used the
operand
to recover its parent instruction and operand number, so this drops the
dependence on MachineOperand::getParent().

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 0de53b0cf6500ad29ba50f64daccf0d6b91fc1fb
      https://github.com/llvm/llvm-project/commit/0de53b0cf6500ad29ba50f64daccf0d6b91fc1fb
  Author: hev <wangrui at loongson.cn>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchMemoryBarrierOpt.cpp
    M llvm/test/CodeGen/LoongArch/memory-barrier-opt.ll

  Log Message:
  -----------
  [LoongArch] Drop asm part from memory barrier optimization pass (#223656)

Drop the inline asm part from #218597, which violates inline assembly
semantics.


  Commit: 0b44c51c08dcc096f1f1a48532c3da31ceccb036
      https://github.com/llvm/llvm-project/commit/0b44c51c08dcc096f1f1a48532c3da31ceccb036
  Author: Mattéo Rizza Murgier <matteo.rizza-murgier at sipearl.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    A llvm/test/CodeGen/AArch64/sve-vector-interleave-legalize.ll

  Log Message:
  -----------
  [SDAG] Handle widened operands for scalable PromoteIntRes_CONCAT_VECTORS (#224274)


  Commit: 5640ecf3d362b9f3bf5d2d9f98631f2c1f0da5c8
      https://github.com/llvm/llvm-project/commit/5640ecf3d362b9f3bf5d2d9f98631f2c1f0da5c8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPULibFunc.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/GCNRegPressure.h
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
    M llvm/lib/Target/AMDGPU/R600ISelLowering.h
    M llvm/lib/Target/AMDGPU/R600InstrInfo.h
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIMachineScheduler.h

  Log Message:
  -----------
  [AMDGPU] Remove dead function and method declarations (NFC) (#224889)

createLowerWWMCopiesPass:
Added on July 28, 2023 in commit
4d42e8b5d1fa87e49768d100dd1bc53515391e89 without a definition or any
callers.

createAMDGPUReserveWWMRegsPass:
Added on September 30, 2024 in commit
ac0f64f06d67a93817ccd9a3c529ad40920115c9 without a definition or any
callers.

createAMDGPUStructurizeCFGPass:
The definition and callers were removed on June 19, 2013 in commit
d46fce11412636ec9cca038e1f2b1addf1690f00.

AMDGPUTargetLowering::LowerSTORE:
The definition was split into R600TargetLowering::LowerSTORE and
SITargetLowering::LowerSTORE on February 11, 2016 in commit
952456631458e638fdcc2509611c356bf0aa2bed.

AMDGPULibFuncBase::Param::mangleItanium,
AMDGPUMangledLibFunc::mangleName:
Added on August 11, 2017 in commit
7f37794ebd2c6c36224597800e4d1e5a99ad80e9 without definitions or any
callers.

AMDGPUTargetMachine::getSubtargetImpl():
The 0-argument overload definition and callers were removed on June
27, 2016 in commit 59c0ffa22ad2d0b3948c545b4eb442173a71633a.

GCNRPTracker::bumpDeadDefs:
Added on October 9, 2024 in commit
17bc959961aa5792821516b547100316fc886ab4 without a definition or any
callers.

PreRARematStage::ScoredRemat::rematerialize (3-argument overload):
The definition and callers were removed on April 11, 2026 in commit
42127fa2775ca9102d4be00cafbe0fcd6f25299d.

GCNSubtarget::getMaxLocalMemSizeWithWaveCount:
Moved to base class AMDGPUCommonSubtarget (now AMDGPUSubtarget) on
June 28, 2018 in commit c5a154db48c3cd9e16b5c74977d506415414daf7.

AMDGPUInstPrinter::printRegOperand (2-argument overload):
The definition and callers were removed on April 8, 2015 in commit
d7e6f13671e4f36c038b1a671697196b7b72db27.

AMDGPUInstPrinter::printLiteral, printLast, printNeg, printOMOD,
printRel, printUpdateExecMask, printUpdatePred, printWrite,
printBankSwizzle, printRSel, printCT, printKCache:
The definitions and callers were removed on June 28, 2018 in commit
c5a154db48c3cd9e16b5c74977d506415414daf7 after moving to
R600InstPrinter in commit a096b126285422933800f776b6eb830d40fed335.

R600TargetLowering::getSubtarget:
The definition and callers were removed on June 28, 2018 in commit
c5a154db48c3cd9e16b5c74977d506415414daf7.

R600InstrInfo::isFlagSet:
Added on December 11, 2012 in commit
75aadc2813824e18449e08a99690a6f886fadf13 without a definition or any
callers.

SIFixSGPRCopies::prepareRegSequenceAndPHIs:
Added on September 7, 2022 in commit
2e8817b90a9aa38c681ca1bb9075f9e8eed3f6e8 without a definition or any
callers.

SIScheduleBlockScheduler::schedule:
Added on January 13, 2016 in commit
02c3291566ff670d3fe1a7a20ba866cbe4c48266 without a definition or any
callers.

Assisted-by: Antigravity


  Commit: 52500486a0b723a1d9528e3098901702da837c3d
      https://github.com/llvm/llvm-project/commit/52500486a0b723a1d9528e3098901702da837c3d
  Author: Jiaxun Yang <jiaxun.yang at flygoat.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
    M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
    M llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
    M llvm/lib/Target/Mips/MipsSubtarget.cpp
    M llvm/test/CodeGen/Mips/cconv/arguments-float.ll
    M llvm/test/CodeGen/Mips/cconv/arguments-struct.ll
    M llvm/test/CodeGen/Mips/cconv/arguments-varargs.ll
    M llvm/test/CodeGen/Mips/cconv/arguments.ll
    M llvm/test/CodeGen/Mips/cconv/callee-saved-float.ll
    M llvm/test/CodeGen/Mips/cconv/callee-saved.ll
    M llvm/test/CodeGen/Mips/cconv/memory-layout.ll
    A llvm/test/CodeGen/Mips/cconv/o32-fp64-gpr-moves.ll
    A llvm/test/CodeGen/Mips/cconv/o32-mips64.ll
    M llvm/test/CodeGen/Mips/cconv/reserved-space.ll
    M llvm/test/CodeGen/Mips/cconv/return-float.ll
    M llvm/test/CodeGen/Mips/cconv/return-hard-float.ll
    M llvm/test/CodeGen/Mips/cconv/return-struct.ll
    M llvm/test/CodeGen/Mips/cconv/return.ll
    M llvm/test/CodeGen/Mips/cconv/stack-alignment.ll

  Log Message:
  -----------
  [Mips] Fix O32 lowering on 64-bit CPUs (#224937)

Use 32-bit GPR lowering for O32 while preserving the selected ISA and
FPR mode. Handle FP64 transfers through the stack when high-half moves
are unavailable.


  Commit: fa360c3b8dbfd8a449364b7a6e454878bcf00eb9
      https://github.com/llvm/llvm-project/commit/fa360c3b8dbfd8a449364b7a6e454878bcf00eb9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    A llvm/test/Transforms/ConstraintElimination/mul-with-overflow.ll
    A llvm/test/Transforms/ConstraintElimination/uadd-with-overflow.ll
    M llvm/test/Transforms/ConstraintElimination/usub-with-overflow.ll

  Log Message:
  -----------
  [ConstraintElim] Simplify all overflow intrinsics using isKnownNoWrap. (#224848)

Use isKnownNoWrap overload added in
https://github.com/llvm/llvm-project/pull/224758 to simplify all
supported overflowing math intrinsics.

Enables additional simplifications in a few more cases in 
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1368.

And more simplifications in Swift, which uses overflow intrinsics
extensively.

Compile-time impact in the noise:
https://llvm-compile-time-tracker.com/compare.php?from=7a02bcc9189b467efbb071ab25d99273fefc54da&to=9a224fd59f971aa94b0e3509dcceae3bffb7ec81&stat=instructions:u

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


  Commit: 66155d8a7409128e8c427cf5642847e01e40cb37
      https://github.com/llvm/llvm-project/commit/66155d8a7409128e8c427cf5642847e01e40cb37
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h

  Log Message:
  -----------
  [SelectionDAG] Document that ISD::ADDE/SUBE/ADDC/SUBC use glue. NFC (#224765)


  Commit: 51d290508d4dd980c3ba03bcc873926c41c6e591
      https://github.com/llvm/llvm-project/commit/51d290508d4dd980c3ba03bcc873926c41c6e591
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

  Log Message:
  -----------
  [DAGCombiner] Restrict combineOrOfSetCCToUSUBOCarry to ZeroOrOneBooleanContent. (#224759)

We need to ensure the carry in matches boolean contents. We are checking
MaskedValueIsZero which is only valid for ZeroOrOneBooleanContent.

We could check ComputeNumSignBits for ZeroOrNegativeOneBooleanContent,
but no in tree target supports USUBO_CARRY and
ZeroOrNegativeOneBooleanContent.

This was an oversight in #223396 due to incorrect documentation for
USUBO_CARRY. I will fix that in a separate patch.


  Commit: ffe46933084f1340211b1e4078d2920996b8e038
      https://github.com/llvm/llvm-project/commit/ffe46933084f1340211b1e4078d2920996b8e038
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h

  Log Message:
  -----------
  [SelectionDAG] Document that UADDO/USUBO_CARRRY follow getBooleanContents. NFC (#224764)

Use 'true' instead of '1'.

Follow up from post commit discussion in #223396.


  Commit: c2e0c82edaa4f9a5b5615b67d3ed1768556222ff
      https://github.com/llvm/llvm-project/commit/c2e0c82edaa4f9a5b5615b67d3ed1768556222ff
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td

  Log Message:
  -----------
  [RISCV] Add UImmLsbZeroAsmOperand class to use isUImmShifted<N, S> as the PredicateMethod. NFC (#224789)

Allows us to remove some wrappers from RISCVAsmParser.


  Commit: 27eb38144a2bc40e989cdefb8265b6eb7aedb21b
      https://github.com/llvm/llvm-project/commit/27eb38144a2bc40e989cdefb8265b6eb7aedb21b
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-nullptr.rst
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-t.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp

  Log Message:
  -----------
  [clang-tidy] Add detection of decltype(nullptr) => std::nullptr_t to modernize-use-nullptr (#224591)

Hidden behind an option switch, but on by default.


  Commit: d0dc3b038f526cf85fb707cc821f4db33d3cfbcb
      https://github.com/llvm/llvm-project/commit/d0dc3b038f526cf85fb707cc821f4db33d3cfbcb
  Author: William Tran-Viet <wtranviet at proton.me>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__iterator/static_packed_bounded_iter.h
    M libcxx/include/module.modulemap.in
    A libcxx/test/libcxx/iterators/static_packed_bounded_iter/arithmetic.pass.cpp
    A libcxx/test/libcxx/iterators/static_packed_bounded_iter/assert.pass.cpp
    A libcxx/test/libcxx/iterators/static_packed_bounded_iter/comparison.pass.cpp
    A libcxx/test/libcxx/iterators/static_packed_bounded_iter/ctor.pass.cpp
    A libcxx/test/libcxx/iterators/static_packed_bounded_iter/dereference.pass.cpp
    A libcxx/test/libcxx/iterators/static_packed_bounded_iter/layout.compile.pass.cpp
    A libcxx/test/libcxx/iterators/static_packed_bounded_iter/types.compile.pass.cpp
    A libcxx/test/libcxx/iterators/static_packed_bounded_iter/valid.verify.cpp

  Log Message:
  -----------
  [libc++] Add a compact, bounded iterator (#208271)

- By taking advantage of unused alignment bits for a pointer of type `T`
and the static capacity known at compile time, we can make a compact
bounded iterator who's size == `sizeof(T*)` by stuffing a counter inside
those bits.
- This new iterator type is `static_packed_bounded_iterator<class _Ptr, size_t _RangeCapacity>` and is only valid if:
  - `_Ptr` is a pointer 
- `_RangeCapacity` is <= `(1 << (bit_width(alignof(T)) - 1)) - 1`. The
extra -1 is required, because we need to represent the end position past
the last element.

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 32080ffd98b12a7f4733181790b21ff62f9f31ba
      https://github.com/llvm/llvm-project/commit/32080ffd98b12a7f4733181790b21ff62f9f31ba
  Author: techmetx11 <114311037+techmetx11 at users.noreply.github.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/lib/Target/M68k/M68kInstrControl.td
    A llvm/test/MC/M68k/Control/Classes/MxDBcc.s

  Log Message:
  -----------
  [M68k][MC] Add support for DBcc instructions (#193930)


  Commit: 1d655b0b72ce2a328e9cb307dfce3048c5700d7a
      https://github.com/llvm/llvm-project/commit/1d655b0b72ce2a328e9cb307dfce3048c5700d7a
  Author: knickish <knickish at gmail.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/lib/Target/M68k/M68kInstrControl.td
    R llvm/test/MC/M68k/Control/Classes/MxDBcc.s

  Log Message:
  -----------
  [M68k][MC] Revert "Add support for DBcc instructions" (#224950)"

llvm/llvm-project#193930 [broke m68k
builds](https://github.com/llvm/llvm-project/pull/193930#issuecomment-5751632991),
reverting


  Commit: 4ffcaf61b123ba27c71daf8da7f8eb03ffdd748b
      https://github.com/llvm/llvm-project/commit/4ffcaf61b123ba27c71daf8da7f8eb03ffdd748b
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M lldb/source/API/SBProgress.cpp
    M lldb/source/Core/Progress.cpp
    M lldb/unittests/API/CMakeLists.txt
    A lldb/unittests/API/SBProgressTest.cpp

  Log Message:
  -----------
  [lldb][SBAPI] Fix crash when calling SBProgress constructor. (#224176)

Fix crash when calling SBProgress constructor with nullptr.


  Commit: 8692dda92022dc121e720b8f096e9dfdd6c00282
      https://github.com/llvm/llvm-project/commit/8692dda92022dc121e720b8f096e9dfdd6c00282
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/docs/CommandLine.md
    M llvm/include/llvm/Support/CommandLine.h
    M llvm/lib/Support/CommandLine.cpp

  Log Message:
  -----------
  [Support] Remove cl::multi_val (#224959)

Nothing uses it: the last user, llvm-nm, moved to OptTable. The feature
would block migration to TableGen based representation.

LLM-aided


  Commit: be9e98270a4948e43b6555c7a5908bc9644209f1
      https://github.com/llvm/llvm-project/commit/be9e98270a4948e43b6555c7a5908bc9644209f1
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M libc/include/sys/mman.yaml
    M libc/src/sys/mman/linux/mlock2.cpp
    M libc/src/sys/mman/mlock2.h

  Log Message:
  -----------
  [libc] Fix mlock, mlock2, and munlock signatures (#224905)

Updated libc/include/sys/mman.yaml so the first parameter of mlock,
mlock2, and munlock is const void * rather than void *.

Updated libc/src/sys/mman/mlock2.h and
libc/src/sys/mman/linux/mlock2.cpp so the flags parameter is unsigned
int rather than int.

Assisted-by: Automated tooling, human reviewed.


  Commit: f28e7b16b90e3b6e7b38a3399b279308f636f172
      https://github.com/llvm/llvm-project/commit/f28e7b16b90e3b6e7b38a3399b279308f636f172
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    A llvm/test/Analysis/CostModel/AArch64/speculative-load.ll
    A llvm/test/Analysis/CostModel/X86/speculative-load.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/early-exit-with-speculative-load-basic.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/early-exit-with-speculative-load-load-types.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/early-exit-with-speculative-load-safety.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/early-exit-with-speculative-load-scalable.ll
    A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/early-exit-with-speculative-load-oracle.ll
    M llvm/test/Transforms/LoopVectorize/unsupported_early_exit.ll

  Log Message:
  -----------
  [LV] Add tests for early-exit loops with faulting loads (NFC). (#224762)

Pre-committing the tests for using @llvm.speculative.load intrinsic in
LoopVectorize.


  Commit: cd5a0a4f07c92c65b23436d38b5aa8aa150f06dc
      https://github.com/llvm/llvm-project/commit/cd5a0a4f07c92c65b23436d38b5aa8aa150f06dc
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M libc/src/__support/File/file.cpp
    M libc/src/__support/File/file.h

  Log Message:
  -----------
  [libc] Move File::close out of line to file.cpp (#224901)

Moved File::close from src/__support/File/file.h into
src/__support/File/file.cpp and removed #include
"src/__support/CPP/new.h" from file.h, matching Dir::close in
src/__support/File/dir.h.

src/__support/CPP/new.h renames global operator delete via __asm__ to
__llvm_libc_delete (which calls free) for the entire translation unit
without renaming operator new. Including new.h in file.h leaked this
replacement operator delete into unit test translation units that
include file.h, causing an AddressSanitizer alloc-dealloc-mismatch in
Test::createCallable during death tests.

Assisted-by: Automated tooling, human reviewed.


  Commit: 480adef267b7e225ea52b11d0e1b8516657309ff
      https://github.com/llvm/llvm-project/commit/480adef267b7e225ea52b11d0e1b8516657309ff
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M lldb/bindings/interface/SBStringListExtensions.i
    A lldb/test/API/python_api/sbstringlist/TestSBStringList.py

  Log Message:
  -----------
  [lldb] Implement the `__repr__` method for SBStringList. (#224134)

It was annoying to working with `SBStringList` from the lldb python
repl, because printing it out will produce something like. 
`<lldb.SBStringList; proxy of <Swig Object of type 'lldb::SBStringList
*' at 0x10556a7b0> >`.

This also implicitly implements `str(SBStringList)`.
Extend the `__getitem__` behaviour to cover integer slices. Add test
cases.


  Commit: b9be4cc5100477dd5580e11808df046c08bc525b
      https://github.com/llvm/llvm-project/commit/b9be4cc5100477dd5580e11808df046c08bc525b
  Author: Matt <MattPD at users.noreply.github.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/test/Transforms/LoopInterchange/memory-instr-ratio.ll

  Log Message:
  -----------
  [LoopInterchange] Avoid overflow in the memory-instruction ratio check (#214920)

populateDependencyMatrix bails out if MaxMemInstrRatio * NumInsts is
less than NumMemInstr * NumMemInstr. Both products are computed in
32-bit unsigned arithmetic and can wrap, e.g., with
-loop-interchange-max-mem-instr-ratio=2147483648 and 20 instructions the
left product wraps to 0 and the pass rejects an otherwise eligible nest.

Compute both products in uint64_t instead, which cannot overflow as all
three operands are 32 bits wide.

Assisted-by: Claude Opus 5, GPT-5.6 Sol, GPT-6 Astra, Claude Fable 5.1.

Co-authored-by: Matt P. Dziubinski <matt-p.dziubinski at hpe.com>


  Commit: e1eb257d03f78c66d6055fe4b34ac5b02ab507b0
      https://github.com/llvm/llvm-project/commit/e1eb257d03f78c66d6055fe4b34ac5b02ab507b0
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/CodeGenTargetMachineImpl.h
    M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/ARC/ARCTargetMachine.cpp
    M llvm/lib/Target/ARM/ARMTargetMachine.cpp
    M llvm/lib/Target/AVR/AVRTargetMachine.cpp
    M llvm/lib/Target/BPF/BPFTargetMachine.cpp
    M llvm/lib/Target/CSKY/CSKYTargetMachine.cpp
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
    M llvm/lib/Target/M68k/M68kTargetMachine.cpp
    M llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
    M llvm/lib/Target/Mips/MipsTargetMachine.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
    M llvm/lib/Target/VE/VETargetMachine.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Target/X86/X86TargetMachine.cpp
    M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
    M llvm/lib/Target/Xtensa/XtensaTargetMachine.cpp
    M llvm/unittests/CodeGen/MFCommon.inc

  Log Message:
  -----------
  CodeGen: Move DataLayout computation to CodeGenTargetMachineImpl's ctor (#224894)


  Commit: 5c0b781b08ac55ceb4432631add3f8965146ae86
      https://github.com/llvm/llvm-project/commit/5c0b781b08ac55ceb4432631add3f8965146ae86
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi-bf16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll

  Log Message:
  -----------
  [NFC][AMDGPU] Add tests for fpround of fadd and fsub feeding the mix instructions (#224909)

The f32 mix patterns already fold fadd and fsub into v_mad_mix_f32 and
v_fma_mix_f32, but the f16 and bf16 forms only fold fmul, so a half or
bfloat result still pays for a separate convert.

Also cover the denormal modes an f16 result depends on and an f16
source feeding an f16 or bf16 mix. The existing mad-mix-lo and
mad-mix-hi functions now flush denormals for every type rather than
for f32 alone.

Assisted-by: Claude Code Opus 5


  Commit: 6e5b86fa50d16d9d3d7cec16aebb88e449e3ee32
      https://github.com/llvm/llvm-project/commit/6e5b86fa50d16d9d3d7cec16aebb88e449e3ee32
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h

  Log Message:
  -----------
  [VPlan] Add VPBlockUtils::replaceSuccessor helper (NFC). (#224970)

Add a helper to redirect a single edge, keeping the successor order and
updating the predecessor links of both the old and new successor. Use it
in insertBlockBefore.


  Commit: b3154dfe4786e9e6e14f9810a8af62728a9edcd0
      https://github.com/llvm/llvm-project/commit/b3154dfe4786e9e6e14f9810a8af62728a9edcd0
  Author: Nina Zhang <nizhang8888 at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    A llvm/test/Transforms/LoopUnroll/AMDGPU/partial-unroll-threshold.ll

  Log Message:
  -----------
  [AMDGPU] Add partial unroll threshold function attribute (#223291)

This change adds an `amdgpu-partial-unroll-threshold` function attribute
for controlling
`TargetTransformInfo::UnrollingPreferences::PartialThreshold` on a
per-function basis.

The existing `amdgpu-unroll-threshold` function attribute initializes
`UP.Threshold`, which is used for decisions about full
unrolling. However, there is currently no corresponding AMDGPU function
attribute for configuring `UP.PartialThreshold`
independently. As a result, clients of the AMDGPU backend cannot provide
an independent per-function cost threshold for partial and runtime
unrolling.

When present, the new attribute sets the base value of
`UP.PartialThreshold` for loops in that function. This allows the cost
threshold for partial and runtime unrolling to be configured
independently of the threshold used for full unrolling. Functions that
do not use the new attribute retain their existing behavior.

The AMDGPU function attribute documentation is updated accordingly. A
regression test sets `amdgpu-unroll-threshold` to zero and
`amdgpu-partial-unroll-threshold` to 30, then verifies that the loop is
partially unrolled by a factor of two without being fully unrolled.


  Commit: c1b15b54ee18d35be275f04de1a5d0c5d1cd67e3
      https://github.com/llvm/llvm-project/commit/c1b15b54ee18d35be275f04de1a5d0c5d1cd67e3
  Author: he32 <he at uninett.no>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M clang/lib/Basic/Targets/M68k.cpp
    M llvm/lib/TargetParser/TargetDataLayout.cpp

  Log Message:
  -----------
  [M68k][NetBSD] Fix alignments for NetBSD/m68k. (#207602)

Linux/m68k uses the ABI from Sun Microsystems for a.out on m68k, which
aligns ints/objects/pointers/stack on 16-bit boundaries.

NetBSD/m68k on the other hand uses the ABI from SVR4 for m68k, which
aligns ints/objects/pointers/stack on 32-bit boundaries.

This is a follow-up of
https://github.com/M680x0/issues/issues/13


  Commit: 0bd330675f9eb08126e467505a0800f167084473
      https://github.com/llvm/llvm-project/commit/0bd330675f9eb08126e467505a0800f167084473
  Author: Mintsuki <36459316+Mintsuki at users.noreply.github.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/test/Driver/baremetal.cpp
    M clang/test/Driver/loongarch-toolchain.c

  Log Message:
  -----------
  [clang][Driver] Use the bare-metal toolchain for LoongArch (#223703)

Clang did not handle loongarch32-\*-none-elf and loongarch64-\*-none-elf
in the
bare-metal toolchain, so these targets fell back to the generic ELF
toolchain,
which links by running gcc. Any -fuse-ld or --ld-path option is
forwarded to
gcc, and linking fails when there is no gcc. On a host whose gcc does
not target
LoongArch, which is the usual case when cross compiling, gcc drives the
linker
for the host, and the link fails with errors such as "a.o is
incompatible with
elf_x86_64". The generic ELF toolchain also searches /usr/local/include
and
/usr/include of the host.

The other bare-metal targets, Arm, AArch64, RISC-V, PowerPC, and x86
since
25f0d08bafa4, use the bare-metal toolchain, which runs the selected
linker
directly and does not search host include directories.

Handle LoongArch there as well. As the GNU toolchain does for LoongArch,
and the
bare-metal toolchain already does for RISC-V, pass -X to the linker, and
--no-relax with -mno-relax.

Assisted-by: Claude Code (Claude Opus 5)

Signed-off-by: Mintsuki <mintsuki at protonmail.com>


  Commit: f970f59a9d4e6b8738547d01bc33e8a12df5244b
      https://github.com/llvm/llvm-project/commit/f970f59a9d4e6b8738547d01bc33e8a12df5244b
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/AST/Type.cpp
    A clang/test/Modules/concept-specialization-deserialization.cppm
    M clang/unittests/Serialization/LoadSpecLazilyTest.cpp

  Log Message:
  -----------
  [C++20] [Modules] Profiling non dependent noexcept expression by pointer (#224528)

Another approach to solve
https://github.com/llvm/llvm-project/issues/191361 and
https://github.com/llvm/llvm-project/issues/224180 than
https://github.com/llvm/llvm-project/pull/222148

I want to avoid competing PR but I do feel the original one's approach
seems too workaround. And I want to emphasize that, in my experience,
finding the root cause is much more harder than find the solution to me.
Many thanks to @ispeters

For the approach itself, I described them in the comments of the PR.

Note that the real problem is we were profiling something is not
completely deserialized, so that even if it is not crash, the logic is
not correct.


  Commit: 316d12deb7725d55f90c01b72799df18a7d71d81
      https://github.com/llvm/llvm-project/commit/316d12deb7725d55f90c01b72799df18a7d71d81
  Author: Trevor Gross <tg at trevorgross.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M compiler-rt/lib/builtins/extendhfsf2.c
    M compiler-rt/lib/builtins/fp_extend.h
    M compiler-rt/lib/builtins/fp_trunc.h
    M compiler-rt/lib/builtins/truncsfhf2.c
    M llvm/include/llvm/IR/RuntimeLibcalls.td

  Log Message:
  -----------
  [compiler-rt] Use integers for __gnu_h2f_ieee and __gnu_f2h_ieee (#220167)

In libgcc, these conversion routines use integers in the signature. In
practice compiler-rt's definition has worked because the AAPCS calling
convention passes and returns floats the same as the same-sized integer,
but this may not be the case on all platforms. Thus, update the
signatures to match GCC.

This new version calls the inlined functions directly., changing the
generated code from:

    00000000 <__extendhfsf2>:
       0:   ee100a10        vmov    r0, s0
       4:   e1a01000        mov     r1, r0
      <snip>
      60:   e1800001        orr     r0, r0, r1
      64:   ee000a10        vmov    s0, r0
      68:   e12fff1e        bx      lr

    0000006c <__gnu_h2f_ieee>:
      6c:   e92d4800        push    {fp, lr}
      70:   ee000a10        vmov    s0, r0
      74:   ebfffffe        bl      0 <__extendhfsf2>
      78:   ee100a10        vmov    r0, s0
      7c:   e8bd8800        pop     {fp, pc}

To:

    00000000 <__extendhfsf2>:
       0:   ee100a10        vmov    r0, s0
       4:   e1a01000        mov     r1, r0
      <snip>
      60:   e1800001        orr     r0, r0, r1
      64:   ee000a10        vmov    s0, r0
      68:   e12fff1e        bx      lr

    0000006c <__gnu_h2f_ieee>:
      6c:   e1a01000        mov     r1, r0
      70:   e7e42550        ubfx    r2, r0, #10, #5
      <snip>
      c8:   e1800001        orr     r0, r0, r1
      cc:   e12fff1e        bx      lr

This avoids an unnecessary indirection and register shuffle when calling
`__gnu_h2f_ieee`. It does mean the code is effectively duplicated
however, since any given target will only ever use `__gnu_h2f_ieee` or
`__extendhfsf2` but never mix them, this is an improvement in the final
binary. (The same logic applies to `__gnu_f2h_ieee` and `__truncsfhf2`.)


  Commit: bf73ea1468d190513fb887ffad08b36a1986b12c
      https://github.com/llvm/llvm-project/commit/bf73ea1468d190513fb887ffad08b36a1986b12c
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
    M llvm/include/llvm/CodeGen/RegAllocPriorityAdvisor.h
    M llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp
    M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
    M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
    M llvm/test/CodeGen/MLRegAlloc/default-eviction-advisor.ll
    M llvm/test/CodeGen/MLRegAlloc/default-priority-advisor.ll

  Log Message:
  -----------
  [MLGO] Diagnose unavailable ML advisors under the new pass manager (#224585)

Without an ML model there is no release or development advisor

The legacy pass manager says so and uses the default advisor, but the
new one just crashed


  Commit: 328836b340124fc45e8529d64bbd11d1de03d228
      https://github.com/llvm/llvm-project/commit/328836b340124fc45e8529d64bbd11d1de03d228
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

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

  Log Message:
  -----------
  [CIR][ABI] Honor abi::ArgInfo::CanBeFlattened in the call-conv lowering (#220579)

**Summary:**
- CanBeFlattened landed on abi::ArgInfo in main
(llvm/llvm-project#220558).
- Consume the abi::ArgInfo::CanBeFlattened flag in the CIR
call-convention lowering bridge.

Assisted by: Claude Opus 4.8


  Commit: 5005bb7eb5d8517e9b476d94760269356a7e87d9
      https://github.com/llvm/llvm-project/commit/5005bb7eb5d8517e9b476d94760269356a7e87d9
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Check diagnosing() before calling diagnoseUnknownDecl() (#224906)

We can save some small preparations this way, e.g. calling
`getRootVarDecl()`.


  Commit: 5e9e32dfeb4376adfe5e118080c73b170429e83a
      https://github.com/llvm/llvm-project/commit/5e9e32dfeb4376adfe5e118080c73b170429e83a
  Author: lrzlin <linrunze at loongson.cn>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchRegisterInfo.cpp
    M llvm/test/CodeGen/LoongArch/emergency-spill-slot.ll
    A llvm/test/CodeGen/LoongArch/frame-base-dedup-la32.mir
    A llvm/test/CodeGen/LoongArch/frame-base-dedup-la64.mir
    M llvm/test/CodeGen/LoongArch/stack-clash-prologue.ll

  Log Message:
  -----------
  [LoongArch] Introduce PseudoAddUpperImm to deduplicate stack-frame base address materialization (#217250)

This is largely inspired by
https://github.com/llvm/llvm-project/pull/211748, except some LoongArch
specific changes, which includes merge 12-bit signed immediate into
`ld/st` instructions while materializing the frame index first to
generate a `lu12i.w + add` combo if we could, instead of a `lu12i.w +
ori + add`. So that we could use a `PseudoAddUpperImm` to replace them
for `MachineLateInstrsCleanup` to deduplicate them later on.
 
This patch improves SPEC CPU2026 `709.cactus_r` performance by 27% (from
1.64 to 2.09).

**edit:** After replacing some `ld/st` with `ldptr/stptr` as long as
their address offset could not fit in 12-bit imm but could fit in 14-bit
one, the `709.cactus_r` slightly improved from **2.09** to **2.16**,
however this is done by `-O3 -mlasx`, with `-O3 -mlsx`, the score
remains at **2.31**, which shows its bottleneck is no longer on address
materialization.


  Commit: c1324c4b3404119e3128874351eebb3400c2b5c0
      https://github.com/llvm/llvm-project/commit/c1324c4b3404119e3128874351eebb3400c2b5c0
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Semantics/check-allocate.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/tools.cpp
    A flang/test/Lower/CUDA/cuda-gpu-managed-components-order.cuf
    A flang/test/Lower/CUDA/cuda-gpu-managed-components.cuf

  Log Message:
  -----------
  [flang][cuda] Implicitly attribute ALLOCATABLE/POINTER components as managed (#223087)

Under `-gpu=mem:managed`, `resolve-names` implicitly attributes
allocatables and
pointers declared in an ordinary scope as managed.

Apply the same attribution to components in `Post(ComponentDecl)`. An
explicitly
attributed component keeps its own attribute, and a translation unit
without
CUDA Fortran enabled is left alone.


  Commit: a3d0da5c2c3cbfc1fc2d569700fd1a6b30c751dc
      https://github.com/llvm/llvm-project/commit/a3d0da5c2c3cbfc1fc2d569700fd1a6b30c751dc
  Author: Yangyu Chen <cyy at cyyself.name>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/cmov-unpredictable-flag.mir
    A llvm/test/CodeGen/X86/cmov-unpredictable-mem.mir

  Log Message:
  -----------
  [X86] Preserve node flags when combineCMov rebuilds a CMOV (#223469)


  Commit: 5a50c15fa686c9c49b78631ac42b133340867ae3
      https://github.com/llvm/llvm-project/commit/5a50c15fa686c9c49b78631ac42b133340867ae3
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-20 (Sun, 20 Sep 2026)

  Changed paths:
    M llvm/docs/CommandLine.md
    M llvm/include/llvm/Support/CommandLine.h
    M llvm/lib/Support/CommandLine.cpp
    M llvm/unittests/Support/CommandLineTest.cpp
    M mlir/include/mlir/Pass/PassOptions.h

  Log Message:
  -----------
  [Support] Remove cl::Sink (#224953)

Nothing uses it: the last users, clang's offloading linker wrappers,
moved to OptTable. The feature would block migration to TableGen based
representation. An unknown option is now always an error.

LLM-aided


  Commit: 32150a848d65af432361296bd4a2d7b7de6f01e1
      https://github.com/llvm/llvm-project/commit/32150a848d65af432361296bd4a2d7b7de6f01e1
  Author: Amit Tiwari <Amit.Tiwari at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/include/clang/AST/OpenMPClause.h
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Serialization/ASTReader.cpp

  Log Message:
  -----------
  [Clang][OpenMP] NFC: Eliminate `Create/CreateEmpty` for scalar clause (#224935)

Use a normal constructor when the clause has a fixed size.
Keep `Create/CreateEmpty` only when the object needs extra tail storage.

Covers: `looprange, full, partial, bind, depobj, align`


  Commit: c64686f1f0cce966ac00480dc4d1a91702536145
      https://github.com/llvm/llvm-project/commit/c64686f1f0cce966ac00480dc4d1a91702536145
  Author: Amit Tiwari <Amit.Tiwari at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp

  Log Message:
  -----------
  [Clang][OpenMP][NFC] Use `getLimitedValue` for loop transform counts  (#224940)

Use `getLimitedValue()` when reading integer counts for `unroll, split,
interchange, fuse` transforms.

It avoids direct `getZExtValue()` calls and follows the existing OpenMP
count handling style.


  Commit: ea52030d57087b910f6fcfe0fa5206969b48ffbd
      https://github.com/llvm/llvm-project/commit/ea52030d57087b910f6fcfe0fa5206969b48ffbd
  Author: Zeyi Xu <zeyi2 at nekoarch.cc>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/test/MC/RISCV/corev/XCVbitmanip-invalid.s
    M llvm/test/MC/RISCV/corev/XCVbitmanip.s

  Log Message:
  -----------
  [RISCV][MC] Reject invalid combined immediates for `cv.insert` (#224985)

The CV32E40P specification requires `Is3 + Is2 < 32` for `cv.insert`.
This commit fixes the MC part problem in LLVM.

Link:
https://github.com/openhwfoundation/cv32e40p/blob/cv32e40p_v1.8.3/docs/source/instruction_set_extensions.rst#L600-L604


  Commit: 3eaddb5735f63ac1bfe5e27400f457fc38435fb4
      https://github.com/llvm/llvm-project/commit/3eaddb5735f63ac1bfe5e27400f457fc38435fb4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SystemZ/CMakeLists.txt
    M llvm/lib/Target/SystemZ/SystemZ.h
    A llvm/lib/Target/SystemZ/SystemZAlignGlobals.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
    M llvm/test/CodeGen/SystemZ/la-01.ll

  Log Message:
  -----------
  [SystemZ] Try to align globals to at least 2 bytes (#224586)

s390x has a minimum ABI alignment of 2 for globals. However, private
globals introduced by optimizations (including directly in the frontend
in the case of promotion of large const variables) are not required to
respect this ABI alignment. To avoid having to go through GOT to load an
unaligned addressed, we should try to raise the alignment of such
globals in the backend. This is done through a new SystemZ-specific
module pass.


  Commit: 7d8c2a2f3436df5c564b61b75cd472f2c4a18a7e
      https://github.com/llvm/llvm-project/commit/7d8c2a2f3436df5c564b61b75cd472f2c4a18a7e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/test/CodeGenCXX/new_hot_cold.cpp
    M clang/test/CodeGenCXX/operator-new.cpp

  Log Message:
  -----------
  [Clang] Do not apply inaccessiblememonly to ::operator new() (#224316)

Do not apply `memory(inaccessiblemem: readwrite, errnomem: write)` to
`::operator new()` style calls (as opposed to `new T`). This matches the
cases where we mark the call as `builtin`, i.e. we only consider it
inaccessiblememonly in the cases where the allocation is also elidable.

I've left the old `noalias` handling alone, so that part keeps being
applied to `::operator new()` as before. Let me know if I should move
that to EmitNewDeleteCall() as well.


  Commit: 01e57356732a91d804114acf4cb389d89e9f9635
      https://github.com/llvm/llvm-project/commit/01e57356732a91d804114acf4cb389d89e9f9635
  Author: Aleksandr Platonov <platonov.aleksandr at huawei.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang-tools-extra/clangd/Diagnostics.cpp
    M clang-tools-extra/clangd/Diagnostics.h
    M clang-tools-extra/clangd/FeatureModule.h
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/unittests/FeatureModulesTests.cpp

  Log Message:
  -----------
  [clangd] Extend FeatureModule hooks (#221054)

Feature modules may need to participate at points in AST construction
that `beforeExecute()` and `sawDiagnostic()` cannot represent.

This PR adds:
- `beforePPCallbacks()` for installing preprocessing observers before
clangd starts collecting include and macro events.
- `afterExecute()` for work that needs a completed AST after token
collection and traversal-scope restriction.
- `finalizeDiagnostic()` for transformations that need the complete
diagnostic, including its notes and fixes.

For example, clang-tidy needs to register preprocessing callbacks before
preamble events are replayed, run AST matchers after clangd restricts
the traversal scope, and process diagnostics after their notes and fixes
are attached.

These changes prepare moving the clang-tidy implementation into a
FeatureModule.
RFC:
https://discourse.llvm.org/t/rfc-clangd-move-clang-tidy-integration-into-a-featuremodule/91707


  Commit: 1784573db1506040f89bc476fc490ce104206380
      https://github.com/llvm/llvm-project/commit/1784573db1506040f89bc476fc490ce104206380
  Author: ArdenYang <ardenyang0125 at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M mlir/lib/Target/LLVMIR/LoopAnnotationImporter.cpp
    M mlir/lib/Target/LLVMIR/LoopAnnotationTranslation.cpp
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    M mlir/test/Target/LLVMIR/Import/metadata-loop.ll
    M mlir/test/Target/LLVMIR/loop-metadata.mlir

  Log Message:
  -----------
  [mlir][LLVMIR] Fix loop follow-up metadata import and export (#223376)

## Problem

MLIR currently exports loop follow-up metadata by wrapping its
properties in an additional self-referencing loop ID:

```llvm
!1 = !{!"llvm.loop.unroll.followup_unrolled", !2}
!2 = distinct !{!2, !3}
!3 = !{!"llvm.loop.mustprogress"}
```

LLVM expects the properties directly after the follow-up name:

```llvm
!1 = !{!"llvm.loop.unroll.followup_unrolled", !3}
!3 = !{!"llvm.loop.mustprogress"}
```

`makeFollowupLoopID` copies the follow-up operands without unwrapping a
nested loop ID. Consequently, properties such as
`llvm.loop.mustprogress` inside the extra wrapper are not recognized as
properties of the resulting loop.

## Changes

- Export follow-up properties directly, excluding the temporary loop
ID's self-reference.
- Update import to read direct property lists.
- Preserve explicitly empty follow-ups, multiple properties, nested
follow-ups, and debug locations.
- Diagnose malformed follow-up metadata and detect cycles to prevent
infinite recursion.

An explicitly empty follow-up is different from an absent follow-up: it
specifies an empty configuration instead of leaving the transformation
to use its default follow-up attributes. Import therefore preserves it
as a non-null, empty `LoopAnnotationAttr`.

This patch corrects MLIR's representation of existing LLVM follow-up
metadata. It does not change LLVM's transformation policies or introduce
automatic attribute inheritance.

## Testing

Built `mlir-translate`, `FileCheck`, `count`, and `not` on Linux using a
Release build with assertions enabled.

All three targeted regression tests passed:

- `mlir/test/Target/LLVMIR/loop-metadata.mlir`
- `mlir/test/Target/LLVMIR/Import/metadata-loop.ll`
- `mlir/test/Target/LLVMIR/Import/import-failure.ll`

`git diff --check` also passed. The full MLIR test suite was not run.

Assisted-by: OpenAI Codex

---------

Co-authored-by: yangzihan <yangzihan at sunmmio.com>


  Commit: fe62ed5134de05e1ac19ce914b15797c95eee0dd
      https://github.com/llvm/llvm-project/commit/fe62ed5134de05e1ac19ce914b15797c95eee0dd
  Author: Dharuni R Acharya <125176188+DharuniRAcharya at users.noreply.github.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/wmma-ptx94-sm100f.py
    A llvm/test/CodeGen/NVPTX/wmma-ptx94-sm110f.py
    A llvm/test/CodeGen/NVPTX/wmma-ptx94-sm120f.py
    A llvm/test/CodeGen/NVPTX/wmma-ptx94-sm90a.py
    M llvm/test/CodeGen/NVPTX/wmma.py

  Log Message:
  -----------
  [NVPTX] Add support for ldmatrix extensions introduced in PTX 9.4 (#224264)

This patch adds support for `.s8.s4` types for `ldmatrix` instruction 
for `.m8n16` shape introduced in PTX 9.4.

PTX ISA Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#warp-level-matrix-instructions-ldmatrix

---------

Signed-off-by: DharuniRAcharya <dharunira at nvidia.com>


  Commit: 8f0baab45375336f4c972c4800376a4938da0d97
      https://github.com/llvm/llvm-project/commit/8f0baab45375336f4c972c4800376a4938da0d97
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp

  Log Message:
  -----------
  [ORC] Drive COFFPlatform bootstrap calls via proxies (#225007)

Replace the three callSPSWrapper sites in bootstrapCOFFRuntime (platform
bootstrap, register_jitdylib, register_object_sections) with Proxy
dispatch. CI descriptors are kept local to the .cpp, since these are
COFFPlatform specific.


  Commit: 5612c2710b855cccaa277890a281fdd43f3ee92b
      https://github.com/llvm/llvm-project/commit/5612c2710b855cccaa277890a281fdd43f3ee92b
  Author: Timur Baidusenov <timurbaidusenov at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    A llvm/test/Transforms/GVNSink/pseudo-probe.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-emit-macho.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-emit.ll

  Log Message:
  -----------
  [IR] Mark llvm.pseudoprobe arguments as immarg (#224669)

Per LangRef, llvm.pseudoprobe requires constant integer arguments.
Enforce this by marking them as immarg.

In particular, this prevents invalid sinking of llvm.pseudprobe calls in
GVNSink, which would introduce a phi node for a pseudoprobe argument.

Fixes #166306.


  Commit: 2ef17d9c2d8090771aecac3e2e0738eeedd38768
      https://github.com/llvm/llvm-project/commit/2ef17d9c2d8090771aecac3e2e0738eeedd38768
  Author: David Green <david.green at arm.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/lowmaskedlanes.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-basic.ll
    M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
    A llvm/test/CodeGen/X86/masked-store-illegal-type.ll
    M llvm/test/CodeGen/X86/pr179489.ll
    M llvm/test/CodeGen/X86/pr46532.ll

  Log Message:
  -----------
  [DAG] Optimize masked store of constant lane mask to standard store (#224255)

A masked store with a constant mask enabling the first n lanes can be
lowered to a standard store of size n.

For example a masked store with masks `<1, 1, 0, 0>` or a scalable store
with mask `llvm.get.active.lane.mask.v4i1.i32(i32 0, i32 2)`

This is a recommit of #223665 with a legal type check to protect against
v1f64 stores on X86 with +avx512.


  Commit: 42b886e3f1b8c0f90f69ec16d2945dde8bfeae06
      https://github.com/llvm/llvm-project/commit/42b886e3f1b8c0f90f69ec16d2945dde8bfeae06
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/docs/CommandLine.md
    M llvm/lib/Support/CommandLine.cpp
    M llvm/unittests/Support/CommandLineTest.cpp
    M mlir/test/Dialect/SparseTensor/external_direct.mlir

  Log Message:
  -----------
  [Support] Accept only true, false, 1 and 0 for cl::opt<bool> (#224975)

For these internal developer options, accepting `-flag=` (empty
value)/`-flag=True`/`-flag=FALSE` is a weird quirk. To the best of my
knowledge, they are nearly never used. Drop the spellings. In the
future, we will migrate to `-flag`/`-no-flag` (or their double-dash
form).

LLM-aided


  Commit: 50a32fcc14d36ecddf3b602530f0e615be9c9aa8
      https://github.com/llvm/llvm-project/commit/50a32fcc14d36ecddf3b602530f0e615be9c9aa8
  Author: Mariya Podchishchaeva <Mariya.Podchishchaeva at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/TargetLowering.cpp
    A clang/test/CIR/CodeGen/target-lowering-dead-block.cpp

  Log Message:
  -----------
  [CIR] Unreacheable blocks should be target lowered (#224609)

Similar to CXXABILowering and LowerToLLVM, target lowering should also
transform unreacheable blocks to avoid legalization failures.


  Commit: 3c85ce724f447a7c2e439d05817b440cb872edd3
      https://github.com/llvm/llvm-project/commit/3c85ce724f447a7c2e439d05817b440cb872edd3
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/test/CodeGen/LoongArch/test_bl_fixupkind.mir

  Log Message:
  -----------
  LoongArch: Simplify handling of call pseudo operands when expanding. (#224824)

copyImplicitOperands isn't really intended for the call instruction case
where there are also variadic operands. This avoids duplicating the R1
implicit-def operand when expanding calls. This avoids having mixed dead
and not dead flags on the same register, which will fail a future
verifier check.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 8f223ba273618835333666ada2a0c3145010f15b
      https://github.com/llvm/llvm-project/commit/8f223ba273618835333666ada2a0c3145010f15b
  Author: Jared Wyles <jared.wyles at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M orc-rt/CMakeLists.txt
    M orc-rt/include/orc-rt-c/support/Compiler.h
    M orc-rt/include/orc-rt-internal/tools/OptionParser.h
    M orc-rt/include/orc-rt/support/BitmaskEnum.h
    M orc-rt/include/orc-rt/support/Error.h
    M orc-rt/include/orc-rt/support/ExecutorAddress.h
    M orc-rt/include/orc-rt/support/bit.h
    M orc-rt/lib/bedrock/CMakeLists.txt
    M orc-rt/lib/bedrock/sps/AllSPSCI.cpp
    A orc-rt/lib/bedrock/sys/windows/DynamicLibrary.cpp
    A orc-rt/lib/bedrock/sys/windows/Memory.cpp
    M orc-rt/test/unit/CMakeLists.txt
    M orc-rt/test/unit/Inputs/RTTICrossDylibTestLib.cpp
    M orc-rt/test/unit/Inputs/RTTICrossDylibTestLib.h
    M orc-rt/test/unit/bedrock/ExecutorProcessInfoTest.cpp
    M orc-rt/test/unit/bedrock/InProcessControllerAccessTest.cpp
    M orc-rt/test/unit/bedrock/NativeDylibManagerTest.cpp
    M orc-rt/test/unit/bedrock/SimpleNativeMemoryMapTest.cpp
    M orc-rt/test/unit/bedrock/sps/NativeDylibManagerSPSCITest.cpp
    M orc-rt/test/unit/bedrock/sps/SimpleNativeMemoryMapSPSCITest.cpp
    M orc-rt/test/unit/bedrock/sps/SimpleRemoteCATest.cpp
    M orc-rt/test/unit/bedrock/sys/TargetTripleTest.cpp
    M orc-rt/test/unit/support/CallableTraitsHelperTest.cpp
    M orc-rt/test/unit/support/ErrorExceptionInteropTest.cpp
    M orc-rt/test/unit/support/bit-test.cpp
    M orc-rt/test/unit/tools/OptionParserTest.cpp

  Log Message:
  -----------
  [orc-rt] msvc portability (#224512)

1. designated initializers are not supported under c++17 in msvc. Clang
seems to support them.
2. Fixed constexpr issues requiring everything to be constexpr in msvc.
Mostly the bit changes.
3. Add stubs for all the platform specific code, they will land in
separate patches.
4. Enabling RTTI/Exceptions for lib and tests. 
5. Disable and fix up tests so they can compile and pass, future PRs
will enable and make work properly.
6. Fixed some protection issues in simpleCA.
7. Removed posix only files and darwin only files. 

Various other small fixes as necessary to get compiling.


  Commit: b67d4ccd1ecdecb5a625e41ee9035eac5ae14652
      https://github.com/llvm/llvm-project/commit/b67d4ccd1ecdecb5a625e41ee9035eac5ae14652
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

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

  Log Message:
  -----------
  [VPlan] Move getConstantStride to vputils (NFC). (#224972)

Move the helper from VPlanTransforms.cpp to vputils, so it can also be
used from other VPlan files.


  Commit: cf40ab1dc19aa9b42e0725fec1e5cf34f898a4d4
      https://github.com/llvm/llvm-project/commit/cf40ab1dc19aa9b42e0725fec1e5cf34f898a4d4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    R clang/test/CodeGen/WebAssembly/exception-model-flag.c
    M clang/test/CodeGen/WebAssembly/wasm-exception-model-flag-parse-ir-input.ll
    M clang/test/CodeGen/exception-model-flag.c
    M clang/test/CodeGenCXX/builtins-eh-wasm.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp
    M clang/test/CodeGenObjC/wasm32-eh-arc.m
    M clang/test/CodeGenObjC/wasm32-eh.m
    M clang/test/CodeGenObjCXX/wasm32-eh-objcxx.mm
    M clang/test/Driver/wasm-toolchain.c
    M llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.mir
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
    M llvm/test/CodeGen/WebAssembly/eh-lsda.ll
    M llvm/test/CodeGen/WebAssembly/eh-option-errors.ll
    M llvm/test/CodeGen/WebAssembly/exception-legacy.ll
    M llvm/test/CodeGen/WebAssembly/exception-legacy.mir
    M llvm/test/CodeGen/WebAssembly/exception.ll
    M llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll
    M llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj.ll
    M llvm/test/CodeGen/WebAssembly/null-streamer.ll
    M llvm/test/CodeGen/WebAssembly/wasm-eh-em-sjlj-error.ll
    M llvm/test/CodeGen/WebAssembly/wasm-eh-invalid-personality.ll
    M llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
    M llvm/test/CodeGen/WebAssembly/wasm-eh-sjlj-setjmp-within-catch.ll

  Log Message:
  -----------
  WebAssembly: Remove -wasm-enable-eh cl::opt in favor of -exception-model=wasm (#224313)

The -wasm-enable-eh backend flag was redundant with
-exception-model=wasm: every caller paired the two, and the model already 
carries the intent.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 0b665c8649f49dc8e44bec3540694b1662c16ea9
      https://github.com/llvm/llvm-project/commit/0b665c8649f49dc8e44bec3540694b1662c16ea9
  Author: Yangyu Chen <cyy at cyyself.name>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/X86/cmov-unpredictable-flag.mir
    M llvm/test/CodeGen/X86/cmov-unpredictable-mem.mir

  Log Message:
  -----------
  [X86] Fix cmov-unpredictable MIR tests under expensive checks (#225011)

The machine functions have no body, so the MIR parser sets NoVRegs and
leaves TracksLiveness unset, and the verifier rejects the vregs created
by instruction selection. Declare tracksRegLiveness: true and noVRegs:
false, and add -verify-machineinstrs to the RUN lines.

Fixes https://lab.llvm.org/buildbot/#/builders/187/builds/23887 after
#223469 (commit a3d0da5c2c3cbfc1fc2d569700fd1a6b30c751dc).

Assisted-by: Claude Code:claude-fable-5-1


  Commit: 3783db502a743ff25462590010c4d91d17c918b3
      https://github.com/llvm/llvm-project/commit/3783db502a743ff25462590010c4d91d17c918b3
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

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

  Log Message:
  -----------
  [lldb] [NFC] Fix unused variable warning in MemoryCache::InsertPartialLine (#224973)

A Release build (assertions disabled) warns:

```
lldb/source/Target/Memory.cpp:144:18: warning: unused variable 'line_size' [-Wunused-variable]
  144 |   const uint32_t line_size = m_L2_cache.GetLineByteSize();
      |                  ^~~~~~~~~
```

`line_size` was read only inside the `assert` that checks a partial-line
insert does not cross a cache line boundary. `assert` expands to nothing
when `NDEBUG` is defined, so the variable becomes unused in that
configuration.

`llvm/docs/CodingStandards.md` covers this shape directly:
```
In the first case, the call to `V.size()` is only useful for the assert,
and we don't want it executed when assertions are disabled.  Code like
this should move the call into the assert itself.
```
so call `GetLineByteSize()` in the assert and drop the local.

Verified by building `lldb/source/Target/Memory.cpp` with
`-DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=OFF`: the warning
above reproduces before this change and is gone after it, with a clean
rebuild of the same object file.


  Commit: 462f83ce4fff5d7fef0e6beb6b8bb2e568a5d13f
      https://github.com/llvm/llvm-project/commit/462f83ce4fff5d7fef0e6beb6b8bb2e568a5d13f
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    M clang/test/CodeGen/builtin-clear-padding-codegen.c
    M clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp

  Log Message:
  -----------
  [Clang] Fix padding clearing logic for packed boolean vectors in big endian (#224033)

The memory layout of packed boolean vectors in big endian mode is quite
involved. This patch adds support for determining the occupied bits of
this type in big endian mode, so that the correct bits are cleared as
padding.


  Commit: 622e816cb4bf94ea99e2f1763c5c16b061ec80e2
      https://github.com/llvm/llvm-project/commit/622e816cb4bf94ea99e2f1763c5c16b061ec80e2
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_with_stores.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fmax-without-fast-math-flags.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fmin-without-fast-math-flags.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-non-native-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/early_exit_with_stores.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/interleave-conditional-scalar-assignment-vplan.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-any-of.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_with_stores.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-fmaxnum-reductions.ll
    M llvm/test/Transforms/LoopVectorize/fcmp-uno-fold-interleave.ll
    M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
    M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags.ll
    M llvm/test/Transforms/LoopVectorize/fmin-without-fast-math-flags.ll
    M llvm/test/Transforms/LoopVectorize/interleave_uncountable_exits.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-non-const-iv-start.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/minmax_reduction.ll
    M llvm/test/Transforms/LoopVectorize/scalarized_conditional_ops_uncountable_exits.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp.ll
    A llvm/test/Transforms/LoopVectorize/single-early-exit-anyof-fold.ll
    M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-hint.ll
    M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
    M llvm/test/Transforms/LoopVectorize/tail_fold_uncountable_exits.ll

  Log Message:
  -----------
  [VPlan] Fix VPInstruction::AnyOf combine undoing freeze (#223640)

There is an any-of combine for unrolled VPlans which does:

any-of (fcmp uno A, A), (fcmp uno B, B), ...-> any-of (fcmp uno A, B)

However any-of implicitly freezes each individual operand and this means
we go from `freeze (fcmp uno A, A)` to `freeze (fcmp uno A, B)` which
isn't sound: https://alive2.llvm.org/ce/z/UdQM7C

This causes miscompiles today with early exit loops that are unrolled,
see the attached test case in single-early-exit-anyof-fold.ll.

This fixes it by explicitly modelling the freeze in VPlan. There are
three places where we use AnyOf:

1) early exit loops: the freeze needs to be applied per-lane, so apply
it as `(any-of (freeze (combined-conds-to-exit)))`
2) handleMaxMinNumReductions: we need to freeze the operands to the
min/max reductions earlier since they have multiple uses introduced and
we don't check the values aren't undef
3) handleFindLastReductions: we need to freeze Cond itself since it's
got multiple uses, but I plan on fixing this in a separate PR

Fable 5.1 was used to help generate the tests


  Commit: 3c8ed91159b2144284672cf490cedd7befaba3fa
      https://github.com/llvm/llvm-project/commit/3c8ed91159b2144284672cf490cedd7befaba3fa
  Author: Marton Moro <moro.marton at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/rvv/combine-vmnot-setcc.ll

  Log Message:
  -----------
  [RISCV] Fold vmnot.m of an integer compare into the compare (#222553)

Fold a mask NOT of an integer vector compare into the compare by
inverting
the condition code, so `vmsne.vi` + `vmnot.m` becomes `vmseq.vi`:

    (vmxor_vl (setcc_vl a, b, cc), vmset_vl) -> (setcc_vl a, b, !cc)

Only `SETCC_VL` with integer operands, one use and an undef passthru is
handled. The NOT also flips the masked-off lanes, which the inverted compare
would copy unchanged from the passthru, so the passthru must be undef.
The mask can be anything. FP compares are excluded since the inverse of an
ordered compare is unordered.

Fixes #222158


  Commit: 723be9c6fceee293c9695aa07c4f9389534934e6
      https://github.com/llvm/llvm-project/commit/723be9c6fceee293c9695aa07c4f9389534934e6
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Analysis/DataFlow/LivenessAnalysis.h
    M mlir/include/mlir/Transforms/Passes.td
    M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
    M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    A mlir/test/Transforms/isolated-region-branch-canonicalize.mlir
    A mlir/test/Transforms/remove-dead-values-function-root.mlir
    A mlir/test/Transforms/remove-dead-values-nested-root.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [MLIR] `remove-dead-values` and RegionBranchOp canononicalizations fixes around the `IsolatedFromAbove` ops (#224831)

I have a downstream op which is both `RegionBranchOpInterface` and
`IsolatedFromAbove`, trying use `remove-dead-values` on it and
especially trying to use this op as pass root uncovered various issues.

* `LivenessAnalysis` were treating yielded values as dead
* `RegionBranchOpInterface` canonicalization were just asserting on
`IsolatedFromAbove`
* When rooting on `func.func` it would leave callers invalid.
* Subsequent canonicalization could reach outside the scope.


  Commit: 9e36e5a44bb5ade74202b01246cab4231d202972
      https://github.com/llvm/llvm-project/commit/9e36e5a44bb5ade74202b01246cab4231d202972
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/Modules/pr72038.cppm

  Log Message:
  -----------
  [C++20] [Modules] Don't check redeclaration for TagUseKind::Referencekind declaration (#194546)

Close https://github.com/llvm/llvm-project/issues/72038

The reason of the issue is ISO forbids redeclaration between GMF and the
module purview.

But "struct kevent evt;" was thought to be declaration than triggers the
above issue.

In this patch, we simply not checking for cases of TagUseKind::Reference
declaration.


  Commit: 16ff0ec65655a16f9a01c20d059d1e6ddb27f6b9
      https://github.com/llvm/llvm-project/commit/16ff0ec65655a16f9a01c20d059d1e6ddb27f6b9
  Author: Tomohiro Kashiwada <kikairoya at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/SemaCXX/dllexport.cpp
    M clang/test/SemaCXX/dllimport.cpp

  Log Message:
  -----------
  Revert "[Clang] Warn about ignored dllimport on explicit instantiations" (#224971)

Reverts llvm/llvm-project#191392

Causes wrong warnings on libc++
(https://github.com/llvm/llvm-project/pull/191392#issuecomment-5752359615).


  Commit: 3d144ccf9a49b8d0f73bc32b03dd1adb2cf33830
      https://github.com/llvm/llvm-project/commit/3d144ccf9a49b8d0f73bc32b03dd1adb2cf33830
  Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M mlir/lib/ExecutionEngine/ArmSMEStubs.cpp
    M mlir/lib/ExecutionEngine/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Fix ArmSME ABI stub exports (#224629)

Previously, the `MLIR_ARMSMEABISTUBS_EXPORTED` macro would expand to
`__declspec(dllimport)` when building LLVM as a dylib on Windows. This
would cause a build failure since it is an incorrect annotation on a
function definition.

The intent here is to always export the symbol, so these changes use the
`LLVM_ALWAYS_EXPORT` macro, which properly expands to the right
attribute depending on the compiler / platform.

The effort to build LLVM as a dylib is tracked in #109483.


  Commit: 1758952bc409011b935ed814b36e9339f65ee006
      https://github.com/llvm/llvm-project/commit/1758952bc409011b935ed814b36e9339f65ee006
  Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/include/llvm/DTLTO/DTLTO.h
    M llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/SandboxIR/Region.h
    M llvm/include/llvm/Support/SMTAPI.h
    M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
    M llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h

  Log Message:
  -----------
  [llvm] Adjust remaining LLVM_ABI annotation issues (#224619)

Following up from #224293. Some annotations cannot be automatically
adjusted by the ids-check-helper and idt:
* Only headers under llvm/include are parsed. Source files and internal
headers are not.
* Headers are parsed in release mode, so debug-only declarations are
invisible.
* idt ignores private declarations.

These were found while performing a dylib build on Windows.

The effort to build LLVM as a dylib is tracked in #109483.


  Commit: 468d2e73112a8e9f5fae4e21ad53526a7dc03262
      https://github.com/llvm/llvm-project/commit/468d2e73112a8e9f5fae4e21ad53526a7dc03262
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/docs/InternalsManual.md

  Log Message:
  -----------
  [Clang] Document when to use ExtWarn and Extension (#223440)


  Commit: 419a152df732336ffac80a676a81b3cd0560936b
      https://github.com/llvm/llvm-project/commit/419a152df732336ffac80a676a81b3cd0560936b
  Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M flang/docs/OpenMPSupport.md
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/ops.mlir
    A mlir/test/Target/LLVMIR/openmp-dispatch.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Support for dispatch construct with clauses nocontext & novariants (#215877)

Support for dispatch construct with clauses nocontext & novariants clauses in MLIR

This patch adds the omp.dispatch operation to the OpenMP dialect, along
with the nocontext and novariants clauses, the verifier, and LLVM IR
translation. It is limited to the MLIR layer. Flang lowering follows in
later patches.

Part 1 of 3 of the !$omp dispatch support.
This is derived from
[203320](https://github.com/llvm/llvm-project/pull/203320) (split into 3
parts).

This also Fixes[
#203317](https://github.com/llvm/llvm-project/issues/203317)

---------

Co-authored-by: Sunil Kuravinakop <kuravina at pe31.hpc.amslabs.hpecorp.net>


  Commit: 40f30ea173b50c130c01d843b612f9563ca63930
      https://github.com/llvm/llvm-project/commit/40f30ea173b50c130c01d843b612f9563ca63930
  Author: Rohan Shenoy <RohanRadhesh.Shenoy at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/test/CodeGen/X86/expand-vp-int-intrinsics.ll
    M llvm/test/CodeGen/X86/inc-of-add.ll
    M llvm/test/CodeGen/X86/masked-udiv.ll
    M llvm/test/CodeGen/X86/masked-urem.ll
    M llvm/test/CodeGen/X86/sub-of-not.ll
    M llvm/test/CodeGen/X86/vector-bo-select.ll
    M llvm/test/CodeGen/X86/vector-shift-lut.ll

  Log Message:
  -----------
  [X86] Prefer sub-of-not for vector inc-of-add (#207695)

Avoids lengthening the dependency chain for vector conditional
increments by preferring sub-of-not for vectors. Keeps existing
inc-of-add for scalars.

Fixes #167441


  Commit: 16cbb06c5ce1f1632b6d02346147caa17093e788
      https://github.com/llvm/llvm-project/commit/16cbb06c5ce1f1632b6d02346147caa17093e788
  Author: unexpectedlydefined <91391114+unexpectedlydefined at users.noreply.github.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-dwarfdump.md
    M llvm/test/tools/llvm-dwarfdump/X86/Inputs/coverage-opt.ll
    M llvm/test/tools/llvm-dwarfdump/X86/Inputs/coverage.ll
    M llvm/test/tools/llvm-dwarfdump/X86/coverage.test
    M llvm/tools/llvm-dwarfdump/Coverage.cpp
    M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
    M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.h

  Log Message:
  -----------
  [llvm-dwarfdump][LineCov] Add --variable-coverage-maybe-undefined option (#220855)

This patch adds a `--variable-coverage-maybe-undefined` flag to
llvm-dwarfdump as part of the recently implemented feature that measures
DWARF coverage of local variables in terms of source lines. This causes
the IR-level analysis to consider variables live if they are defined on
any path, and therefore include lines where the variable may be
undefined. By default, variables must be defined on all paths to be
counted.

Additionally, it includes fixes for a few issues found by @SLTozer and
myself after merging the previous patches:
- Variables not present in the DWARF information that appear in the
baseline are now included in the output.
- The assertion that there are no `undef`/`poison` variable locations in
the IR has been removed, as in some circumstances it is possible to have
a `#dbg_declare(poison)` at `-O0`.
- A small error where entries were inserted into the file name map while
iterating through it has been fixed.


  Commit: 4b99afb361a8cfd45fc17aebc637688661e9e472
      https://github.com/llvm/llvm-project/commit/4b99afb361a8cfd45fc17aebc637688661e9e472
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M mlir/include/mlir/IR/Remarks.h

  Log Message:
  -----------
  [MLIR][NFC] Drop sentinel leftovers from DenseMapInfo<Remark> (#224612)

`DenseMap` no longer uses sentinel keys, and the `getEmptyKey` and
`getTombstoneKey` members of `DenseMapInfo<Remark>` were removed in
#200633 and #201991. Two leftovers stayed behind, the `"<EMPTY_KEY>"`
comparison at the top of `isEqual` and the static dummy `MLIRContext`
that used to back the sentinel remarks.

The comparison is also wrong. A remark literally named `<EMPTY_KEY>`
compares unequal to any other remark, including one with a matching
hash, which breaks the hash and equality contract. This change removes
both leftovers and adds a comment saying what the specialization
compares, which is location, remark name, combined category name and
kind.

No behaviour change for any remark with a normal name. Existing Remark
unit tests and `mlir/test/Pass/remark-final.mlir` cover the
specialization through `RemarkEmittingPolicyFinal`.

Assisted-by: Claude Code (Claude Fable 5.1).


  Commit: cdae908ca061cc4bbf0d43a428107770102d460f
      https://github.com/llvm/llvm-project/commit/cdae908ca061cc4bbf0d43a428107770102d460f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPMemoryUtils.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/externally-used-copyables.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/elementwise-fma-operand1.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/non-commutative-second-arg-only-copyable.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reduced-copyable-element.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-indices.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/non-power-2-subvector-extract.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-multi-same-nodes.ll

  Log Message:
  -----------
  [SLP]Pass operand info and context to TTI cost queries

Feed operand value info, the context instruction, cast context hints,
and the actual select condition predicate to the TTI cost queries, so
target discounts that depend on them (fused fmul/fma pricing, folded
read-modify-write, constant or uniform operands) apply to both scalar
and vector sides of the SLP cost model. Also make the reversed-store
query describe the stored value instead of the pointer, per the
getMemoryOpCost contract.

Assisted-by: Cursor

Reviewers: RKSimon, bababuck

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


  Commit: 56e8f0393c6ace765f7ae8ca28bfe07151082a5b
      https://github.com/llvm/llvm-project/commit/56e8f0393c6ace765f7ae8ca28bfe07151082a5b
  Author: Jiaxun Yang <jiaxun.yang at flygoat.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Target/Target.td
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
    M llvm/lib/Target/Mips/Mips.td
    M llvm/lib/Target/Mips/MipsFastISel.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsMachineFunction.cpp
    M llvm/lib/Target/Mips/MipsOptimizePICCall.cpp
    M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
    M llvm/lib/Target/Mips/MipsRegisterInfo.td
    M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
    M llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
    A llvm/test/CodeGen/Mips/named-register-aliases.ll
    M llvm/test/MC/Mips/mips-register-names-invalid.s
    M llvm/test/MC/Mips/mips64-register-names-n32-n64.s
    A llvm/test/TableGen/MatchRegisterAltNameWithIndex.td
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

  Log Message:
  -----------
  [Mips] Introduce ABI-specific register names and accessors (#224284)

To accommodate the P32/P64 ABIs, we need to separate machine registers
from ABI register names and calling-convention roles. The existing
register IDs use OABI names, even when another ABI assigns a different
role to the same physical register.

As a first step, describe OABI, NABI and PABI names with
RegAltNameIndices. Extend TableGen's AsmMatcherEmitter with the opt-in
ShouldEmitMatchRegisterAltNameWithIndex flag, which generates
MatchRegisterAltName(StringRef, unsigned AltIdx). It matches only names
associated with the selected index, allowing the same spelling to
identify different registers across ABIs.

Use the indexed matcher in shared MIPS register lookup for the assembler
and named-register lowering, retaining compatibility aliases and
diagnostics for deprecated spellings.

Add ABI accessors for argument, temporary, saved and return registers,
backed by shared register lists, and use them in lowering code. Keep the
existing register IDs and assembly/MIR spellings for now, with a TODO
for ABI-independent IDs.


  Commit: 72e9d33d2945504159c8d316d12c187fc706b156
      https://github.com/llvm/llvm-project/commit/72e9d33d2945504159c8d316d12c187fc706b156
  Author: Valeriy Savchenko <vsavchenko at apple.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/AArch64/arm64-zip.ll
    A llvm/test/CodeGen/AArch64/vselect-widen-mask-tree.ll
    M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll
    M llvm/test/CodeGen/X86/freeze-vector.ll
    A llvm/test/CodeGen/X86/vselect-widen-mask-tree.ll

  Log Message:
  -----------
  Reapply "[SelectionDAG] Recurse through mask expression trees in WidenVSELECTMask" (#217307)

WidenVSELECTMask currently handles only two mask shapes: a bare SETCC
or a single AND/OR/XOR of exactly two SETCCs. Anything deeper bails out
to the generic condition widening path, which often introduces
unnecessary narrow/widen roundtrips (xtn+sshll on AArch64,
packssdw+vpmovsxwd on X86).

Replace the hand-coded cases with a recursive widenMaskTree that walks
through SETCC, AND/OR/XOR, FREEZE, VECTOR_SHUFFLE, SELECT/VSELECT, and
all-ones/all-zeros BUILD_VECTORs.

I had to revert #188085 earlier this year. This PR resolves the flagged
issue and cleans up suggested approach to avoid that class of potential
errors.


  Commit: 0da8b0febd7d9105a7bd8e38c576a6a469e2c40c
      https://github.com/llvm/llvm-project/commit/0da8b0febd7d9105a7bd8e38c576a6a469e2c40c
  Author: Nathan Corbyn <n_corbyn at apple.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

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

  Log Message:
  -----------
  [MachineScheduler](NFC) Remove separate handling for non-alias loads and stores (#224310)

The separate handling of non-alias loads and stores was always extra
complexity with no pay off. Remove this.

Split from #205689


  Commit: d64a0a9effc7704962e21ede22eb0f5ba24e4390
      https://github.com/llvm/llvm-project/commit/d64a0a9effc7704962e21ede22eb0f5ba24e4390
  Author: Nathan Corbyn <n_corbyn at apple.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/StackColoring.cpp
    M llvm/lib/Transforms/Utils/MemoryOpRemark.cpp

  Log Message:
  -----------
  [ValueTracking] Make `getUnderlyingObjectsForCodegen()` preserve unidentified objects (#224584)

In some situations, it is useful to inspect the underlying objects of a
memory operation, even if they may alias with one another. A concrete
example comes from the approach to schedule DAG construction I've been
developing (see #205689) where these objects are used to infer that a
class of control dependencies between memory operations is redundant,
whereby eliminating the compile time cost of recording them. Update
`getUnderlyingObjectsForCodegen()` to return these objects.

Split from https://github.com/llvm/llvm-project/pull/205689


  Commit: 466df937833ef60bc9f549a01059869ca7143d32
      https://github.com/llvm/llvm-project/commit/466df937833ef60bc9f549a01059869ca7143d32
  Author: Cheng-Chieh Liu <jay87406 at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Support/APFloat.cpp
    M llvm/unittests/ADT/APFloatTest.cpp

  Log Message:
  -----------
  [APFloat] Fix sign bit corrupting exponent in unsigned FP8 formats (#223286)

`convertIEEEFloatToAPInt` unconditionally ORs the sign bit into the top
bit of the encoded value. `Float8E8M0FNU` and `Float8E5M3FNU` have no
sign bit (`hasSignedRepr = false`), so that top bit actually belongs to
the exponent field. Encoding a value with sign set therefore corrupts
the exponent, in one case colliding with the reserved NaN bit pattern.

Guard the OR with `hasSignedRepr`, matching the existing check in the
decode path (`initFromIEEEAPInt`).

Extend `ConvertLosesUnrepresentableSignAndZero` to also check
`bitcastToAPInt()` after dropping an unrepresentable sign, using `-1.0`
instead of `-2.0` so the corruption is actually visible in the bits.


  Commit: 8472e4556c064de7251ac82e0993bdaf05978841
      https://github.com/llvm/llvm-project/commit/8472e4556c064de7251ac82e0993bdaf05978841
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-syntax.cpp
    M flang/test/Semantics/OpenMP/allocate_do1.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/depend05.f90
    M flang/test/Semantics/OpenMP/depobj-construct-v52.f90
    M flang/test/Semantics/OpenMP/from-clause-v45.f90
    M flang/test/Semantics/OpenMP/map-modifiers-v60.f90
    M flang/test/Semantics/OpenMP/to-clause-v45.f90
    M flang/test/Semantics/OpenMP/uses-allocators-version50.f90
    M flang/test/Semantics/OpenMP/uses-allocators-version51.f90

  Log Message:
  -----------
  [flang][OpenMP] Reword some diagnostic messages, NFC (#224945)

Instead of "something...something in OpenMP vX.Y on SOME clause" say
"something...something on SOME clause in OpenMP vX.Y".


  Commit: 038f5968616a3b466e790084bc72eab62d6a6743
      https://github.com/llvm/llvm-project/commit/038f5968616a3b466e790084bc72eab62d6a6743
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/externally-used-copyables.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/non-power-of-2-with-adjusted-gathers.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/revec-non-pow2.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction-i1-mask.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/remark-zext-incoming-for-neg-icmp.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/cmp-ptr-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-cmp-swapped-pred.ll
    M llvm/test/Transforms/SLPVectorizer/X86/entries-different-vf.ll
    M llvm/test/Transforms/SLPVectorizer/X86/fabs-cost-softfp.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder-vf-to-resize.ll
    M llvm/test/Transforms/SLPVectorizer/zext-incoming-for-neg-icmp.ll

  Log Message:
  -----------
  [SLP]Cost-based choice of the i1 reduction form

i1 reductions (and/or of <n x i1>, add of zexted <n x i1>) can be
emitted as the plain target reduction or in the bitcast-based form
(bitcast to the scalar int type plus a compare for and/or, plus ctpop
for add). Choose the cheaper form by cost, estimating the bitcast-based
form from its emitted components; the ctpop form is estimated as the
cheaper of the scalar bitcast+ctpop and the vector ctpop on the mask
type.

Fixes #40657

Reviewers: michaelselehov, RKSimon, bababuck

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


  Commit: 7818c91f7151a50df614fae9211eedfbfd32e938
      https://github.com/llvm/llvm-project/commit/7818c91f7151a50df614fae9211eedfbfd32e938
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h
    M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
    M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
    M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
    M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
    M llvm/test/CodeGen/PowerPC/convert-ri-addi-to-ri.mir
    M llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs-out-of-range.mir
    M llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs.mir
    M llvm/test/CodeGen/PowerPC/fixup-kill-dead-flag-crash.mir
    M llvm/test/CodeGen/PowerPC/fold-rlwinm.mir
    M llvm/test/CodeGen/PowerPC/fold-rot-and-peephole.mir
    M llvm/test/CodeGen/PowerPC/jump-tables-collapse-rotate-remove-SrcMI.mir
    M llvm/test/CodeGen/PowerPC/mi-peephole-forwarding-undef.mir
    M llvm/test/CodeGen/PowerPC/mi-peephole.mir
    M llvm/test/CodeGen/PowerPC/peephole-combineRLWINM-liveness.mir
    M llvm/test/CodeGen/PowerPC/peephole-counter-XToI.mir
    M llvm/test/CodeGen/PowerPC/peephole-counter-perOp.mir
    M llvm/test/CodeGen/PowerPC/peephole-livevars-tracking.mir
    M llvm/test/CodeGen/PowerPC/peephole-miscompile-extswsli.mir
    M llvm/test/CodeGen/PowerPC/rlwinm_rldicl_to_andi.mir
    M llvm/test/CodeGen/PowerPC/sext_elimination.mir

  Log Message:
  -----------
  PowerPC: Remove LiveVariables dependency from PPCMIPeephole (#222416)

PPCMIPeephole only used LiveVariables to keep kill/dead flags valid
after its transforms, and made no real use of the analysis.

A later LiveVariables run recomputes those flags from scratch anyway, so
just clear possbly stale kill/dead flags on changed registers.

PPCMIPeephole was the only user of LiveVariables at this point in the
pipeline, so also drop the explicit LiveVariables run before
PPCTLSDynamicCallPass, whose comment references a > 10 year old build
bot failure.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: 61978757eca575e2743471ddf7bcfb7e3a3979e4
      https://github.com/llvm/llvm-project/commit/61978757eca575e2743471ddf7bcfb7e3a3979e4
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/test/CodeGen/SPIRV/AtomicBuiltinsFloat.ll
    M llvm/test/CodeGen/SPIRV/atomicrmw-storage-class-semantics.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
    A llvm/test/CodeGen/SPIRV/fence-shader.ll
    M llvm/test/CodeGen/SPIRV/fence.ll
    M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
    M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchange_cl20.ll

  Log Message:
  -----------
  [SPIR-V] Add storage class bits to fence and generic atomic semantics (#223023)

A barrier only orders the memory it names, and we named none, so fences
ordered nothing

Name every class the target can reach, generic pointers had the same gap
in atomics


  Commit: 87c971d36345c0ff4f7a7ae75080bd55e83e4fca
      https://github.com/llvm/llvm-project/commit/87c971d36345c0ff4f7a7ae75080bd55e83e4fca
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-root.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/loop-accumulator-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll

  Log Message:
  -----------
  [SLP]Emit loop-carried horizontal reductions as loop vector accumulator

A reduction whose root is the backedge value of a loop accumulator phi
is emitted as a lane-wise vector accumulator in the loop plus a single
reduction in the exit blocks, instead of a horizontal reduction on every
iteration. The loop-carried dependency chain becomes lane-wise and the
reduction is paid once per loop execution.

Note: It is partial vectorization within the loop, LV cannot handle it.
SLP already does something similar with multi-register reductions,
this adds another level - phi-based loop accumulator reductions.

Reviewers: RKSimon, bababuck

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


  Commit: 92d07f56b285805edb4ea6ca0d348b2b0f80aa2d
      https://github.com/llvm/llvm-project/commit/92d07f56b285805edb4ea6ca0d348b2b0f80aa2d
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/MemoryAccessSPSCI.h

  Log Message:
  -----------
  [ORC] Mangle memory-access CI names as C rather than Verbatim (#225066)

Flip the memory-access wrapper descriptors (MemoryAccessSPSCI.h) from
Verbatim to C., so their names carry the target's C mangling (a leading
'_' on Darwin, no-op elsewhere). First step of moving the ORC runtime
controller-interface names to C to match an upcoming runtime change. The
controller (recordProxy) and the in-tree executor (OrcRTBootstrap,
mangledCopy) mangle these same specs, so they stay in sync; nothing else
defines these names.


  Commit: dca7629f289f3dc92efb80557463f08d56255365
      https://github.com/llvm/llvm-project/commit/dca7629f289f3dc92efb80557463f08d56255365
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp

  Log Message:
  -----------
  clang-sycl-linker: Compute the DataLayout from the triple (#224376)

Seed the module's DataLayout from the target triple directly rather than
from TargetMachine::createDataLayout().

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: df7b30abf4f1976b17c4d2c1a7177608c64dc529
      https://github.com/llvm/llvm-project/commit/df7b30abf4f1976b17c4d2c1a7177608c64dc529
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M libcxx/include/__vector/vector.h

  Log Message:
  -----------
  [libc++] Don't pass the sentinel to vector::__{insert,init}_with_size (#224583)

We don't make use of the sentinel anymore, so we don't need to pass it
around.

This was originally part of #214132. However, that patch has a difficult
to track down performance issue. I'm splitting it up to make the search
easier.


  Commit: a9f4d3ff18c554d29bbabc546f9a9df0376701e0
      https://github.com/llvm/llvm-project/commit/a9f4d3ff18c554d29bbabc546f9a9df0376701e0
  Author: Vikash Gupta <Vikash.Gupta at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-vector-compress.mir

  Log Message:
  -----------
  [GlobalISel] Add G_VECTOR_COMPRESS support of computeKnownBits & computeNumSignBits (#223967)

Port the value tracking for ISD::VECTOR_COMPRESS to the GlobalISel
G_VECTOR_COMPRESS. Each result lane is either a lane of the source or
the passthrough operand, so:
  - KnownBits is the intersection of the source and passthrough and,
  - the number of sign bits is the minimum of the two.


  Commit: f10b0b1554d31fdea2dd3963e179fa75ea2e262e
      https://github.com/llvm/llvm-project/commit/f10b0b1554d31fdea2dd3963e179fa75ea2e262e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/Interpreter/DeviceOffload.cpp
    M clang/lib/Interpreter/Wasm.cpp

  Log Message:
  -----------
  [clang][Interpreter] Do not overwrite the module's DataLayout (#224027)

The incremental CUDA device and Wasm executors reset the module's
DataLayout from TargetMachine::createDataLayout() before codegen. These 
modules are produced by clang's own CodeGen, so already have a datalayout so 
this is redundant. This also avoids using the TargetMachine copy of the datalayout, 
which will eventually be removed.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: d3d2960ebb9d98850662a6ce53864b10c4f94586
      https://github.com/llvm/llvm-project/commit/d3d2960ebb9d98850662a6ce53864b10c4f94586
  Author: Alex Duran <alejandro.duran at intel.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/liboffload/CMakeLists.txt
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/libomptarget/CMakeLists.txt

  Log Message:
  -----------
  [offload][omp] link libomptarget against liboffload (#221730)

This first creates a static version of liboffload and links
libomptarget against it instead of linking the plugins directly. This
allows libomptarget to access the plugins both directly and through
liboffload in the subsequent PRs to starte the migration to liboffload.

Assisted by Claude.


  Commit: f5dd45d427bee1a958cfcd35b1155da9391cc4e1
      https://github.com/llvm/llvm-project/commit/f5dd45d427bee1a958cfcd35b1155da9391cc4e1
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/exit-value-nowrap-flags.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-correlated-end.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count13.ll

  Log Message:
  -----------
  [SCEV] Use computeMaxBECountForLT for howManyGreaterThans. (#224863)

Instead of checking for overflow of IV > RHS we can instead check ~IV <
~RHS.

This allows removing canIVOverflowOnGT, by extending canIVOverflowOnLT
and computeMaxBECountForLT to invert the operands if needed, replacing
hand rolled logic in howManyGreaterThans.

This improves results in some cases, because computeMaxBECountForLT
covers some additional cases:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1371.

This is also the last step in preparation for using howManyLessThans for
howManyGreaterThans.

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


  Commit: 94eb926803f2fa755b3f487a4220e13ac7348c83
      https://github.com/llvm/llvm-project/commit/94eb926803f2fa755b3f487a4220e13ac7348c83
  Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M libsycl/include/sycl/__impl/queue.hpp
    M libsycl/src/detail/global_objects.cpp
    M libsycl/src/detail/global_objects.hpp
    M libsycl/src/detail/queue_impl.hpp
    M libsycl/src/queue.cpp
    M libsycl/unittests/event/async_handler.cpp

  Log Message:
  -----------
  [libsycl] Integrate context to async handlers. (#224050)

Assisted-by: Claude Code.

---------

Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>


  Commit: 233f1108a8235fe4568f7eae5ace8ae492825e94
      https://github.com/llvm/llvm-project/commit/233f1108a8235fe4568f7eae5ace8ae492825e94
  Author: Jared Wyles <jared.wyles at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M orc-rt/lib/bedrock/sys/windows/TargetTriple.cpp
    M orc-rt/test/unit/bedrock/sys/TargetTripleTest.cpp

  Log Message:
  -----------
  [orc-rt] Implement Windows target triple detection (#224514)

Adds Windows target triple detection for ORC-RT.

Currently supports x86-64 MSVC targets only. ARM64 will be added once
tested on that platform.


  Commit: 0a40cb2bbd3d7887947c9f4a8a4a0d031e0ac76c
      https://github.com/llvm/llvm-project/commit/0a40cb2bbd3d7887947c9f4a8a4a0d031e0ac76c
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M libc/src/__support/CPP/CMakeLists.txt
    R libc/src/__support/CPP/vector.h
    M libc/test/src/__support/CPP/CMakeLists.txt
    R libc/test/src/__support/CPP/vector_test.cpp

  Log Message:
  -----------
  [libc][CPP][NFC] Remove unused cpp::vector container (#224976)

Removed cpp::vector (added in 5afbbd04803c) and its unit tests.

The group and password database entrypoints now pack auxiliary pointer
arrays into the trailing scratch space of DynamicBuffer (7252edd9aa82),
leaving cpp::vector with no callers in the codebase.

Assisted-by: Automated tooling, human reviewed.


  Commit: 69172de43c4cdf4fa9de7826f6f3e4174b33a0f2
      https://github.com/llvm/llvm-project/commit/69172de43c4cdf4fa9de7826f6f3e4174b33a0f2
  Author: Alex Duran <alejandro.duran at intel.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.h
    M clang/test/OpenMP/bug60602.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/nvptx_lambda_capturing.cpp
    A clang/test/OpenMP/nvptx_target_teams_ompx_bare_kernel_environment_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/target_default_codegen.cpp
    M clang/test/OpenMP/target_dyn_groupprivate_codegen.cpp
    M clang/test/OpenMP/target_map_member_expr_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_num_threads_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_strict_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_if_openmp52_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_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
    A clang/test/OpenMP/target_teams_host_kernel_environment_codegen.cpp
    M clang/test/OpenMP/target_teams_map_codegen.cpp
    M clang/test/OpenMP/target_teams_num_teams_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_if_openmp52_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/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [clang][flang][omp] Always generate a kernel environment (#223772)

Currently OpenMP doesn't generate a Kernel Enviroment for host kernels
or ompx_bare kernels. This causes the runtime to have special handling
for this cases.

This patch ensures that a Kernel Environment is always generated which
will allow to simplify the RTL handling.

Done mostly by Claude.


  Commit: 3e4b32a108999591908ca254ac53aa81d7a1acb9
      https://github.com/llvm/llvm-project/commit/3e4b32a108999591908ca254ac53aa81d7a1acb9
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/CMakeLists.txt
    A llvm/cmake/WiXPerMachinePatch.xml
    M llvm/docs/ReleaseNotes.md
    M llvm/utils/release/build_llvm_release.bat

  Log Message:
  -----------
  workflows/release-binaries: Improve Windows installer (#220414)

The Windows WiX installer was missing two things for its setup:

1. The "product ID" which is used to uninstall any previous installed
LLVM versions. This avoids having versions living side-by-side with each
new release. I've reused the same GUID as the current 23.1.0 Win64
installer, to continue that "line" of product. The AArch64 installation
and any prior LLVM version (NSIS) before 23.1.0 will need to be
uninstalled manually, if we want to avoid side-by-side installatin.

2. A "per machine" scope which avoids messy installations which are
installed globally, but cannot be uninstalled globally, and available
only for the current user. After this PR, the installation is available
/ uninstallable to all users on the machine.

Since LLVM currently requires cmake 3.20 for building, and hasn't been
bumped yet to 3.31, also provide a workaround for the WiX scope setup.

Added a release note to signify that users would need to uninstall the
previous versions manually.

Assisted by Claude Opus 5.


  Commit: bc9e7ae8e828ffa5f59f700a8a0d5fb54e0f6ba9
      https://github.com/llvm/llvm-project/commit/bc9e7ae8e828ffa5f59f700a8a0d5fb54e0f6ba9
  Author: Kamlesh Kumar <kamlesh.kumar at arm.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/AArch64/vector-interleave-consecutive-splats.ll

  Log Message:
  -----------
  [SelectionDAG] fold interleave of contiguous splats (#224318)

When operands of vector_interleave is splats and each splat's is from a
contiguous source , interleave operations can be folded to shuffles of
source of splat.
i.e.
interleave(splat(S[J]), splat(S[J+1]), splat(S[J+2]), ..., splat(S[J +
Factor - 1]))
can be folded to
shuffles (S[J], S[J+1], S[J+Factor -1], S[J]....)


  Commit: 04b52bf1dc212b3af60d3d071defa4e034ece382
      https://github.com/llvm/llvm-project/commit/04b52bf1dc212b3af60d3d071defa4e034ece382
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGen/ternary.cpp
    M clang/test/CIR/Lowering/ternary.cir

  Log Message:
  -----------
  [CIR] Fix assertion with pointer offset in ternary (#224724)

Ternary lowers into some blocks, so the values that come into it end up
being block arguments, so there is no defining op for them. As a result,
the 'optimization' of the zero/subtract isn't really possible. THis
patch uses a dyn_cast_if_present instead of a dyn_cast to make sure we
don't hit that.


  Commit: ddc7d4b3b43be5ef26671c19035761fb84a40388
      https://github.com/llvm/llvm-project/commit/ddc7d4b3b43be5ef26671c19035761fb84a40388
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/test/CodeGen/Hexagon/copy-to-combine-const64.mir
    M llvm/test/CodeGen/MIR/Hexagon/bundled-call-site-info.mir

  Log Message:
  -----------
  Hexagon: Don't duplicate the PC def when converting a return to L4_return (#225059)


  Commit: 1dfe26e2259d80c442f0b4be66198316e2b8229d
      https://github.com/llvm/llvm-project/commit/1dfe26e2259d80c442f0b4be66198316e2b8229d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/LTO/LTOCodeGenerator.cpp
    M llvm/test/LTO/ARM/runtime-library-subtarget.ll
    A llvm/test/LTO/RISCV/merged-module-datalayout.ll
    M llvm/test/LTO/X86/cfi_endproc.ll
    M llvm/test/LTO/X86/linkonce_odr_func.ll

  Log Message:
  -----------
  LTO: Stop overwriting the merged module's DataLayout (#223987)

LTOCodeGenerator::optimize() unconditionally reset the merged module's
DataLayout from TargetMachine::createDataLayout(). The merged module
already carries the correct DataLayout since IRMover propagates the source
module's layout into the empty destination. The module should be the source of
truth for its DataLayout.

Recomputing it from the TargetMachine is also latently wrong, since the
DataLayout depends on the target-abi module flag which the
TargetMachine's cached DataLayout cannot account for.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 8bc1cbb53e6476adfc57b7ccbdda80837ac034f9
      https://github.com/llvm/llvm-project/commit/8bc1cbb53e6476adfc57b7ccbdda80837ac034f9
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/SimpleNativeMemoryMapSPSCI.h
    M llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp

  Log Message:
  -----------
  [ORC] Mangle SimpleNativeMemoryMap CI names as C (#225074)

Flip the SimpleNativeMemoryMap memory-manager descriptors (instance +
reserve/initialize/deinitialize/release) from Verbatim to C, so their
names carry the target's C mangling. The controller and in-tree executor
mangle the same specs, and no other provider defines these names, so
they stay in sync; nothing else defines these names.

Also update the CreateFromExecutionSession test to use the process
triple so that its name mangling matches the target mangling above.


  Commit: 8bc145f7c62d6d426ebfba7d2e297b4ecc9d4dd7
      https://github.com/llvm/llvm-project/commit/8bc145f7c62d6d426ebfba7d2e297b4ecc9d4dd7
  Author: Domenic Nutile <domenic.nutile at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_err.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_t16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop2.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_features.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop2-real16.txt

  Log Message:
  -----------
  [AMDGPU][MC] Upstream gfx11 true16 disassembler test coverage (#223823)

Upstream new gfx11 disassembler test cases, mostly covering true16
operand
(.l/.h) and op_sel decoding that had no upstream coverage.


  Commit: 95b14f3dd3db293caec8b51fad2a93373b07c587
      https://github.com/llvm/llvm-project/commit/95b14f3dd3db293caec8b51fad2a93373b07c587
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M libsycl/test/usm/memset.cpp

  Log Message:
  -----------
  [libsycl][lit] Disable usm/memset.cpp (#225093)

Sporadically failing, see
https://github.com/llvm/llvm-project/issues/225092.

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>


  Commit: fd4bcc57cd7f2aabc409768097a976edc40ff05b
      https://github.com/llvm/llvm-project/commit/fd4bcc57cd7f2aabc409768097a976edc40ff05b
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/test/CodeGen/AMDGPU/clamp-omod-special-case.mir

  Log Message:
  -----------
  [AMDGPU] Do not fold clamp when only one max source has modifiers (#224517)

Fix isClamp to bail if either max source has a modifier, not only when
both do. Previously `max(x, |x|)` was wrongly folded as if it were x


  Commit: b569f8d694e9cec6fef18dfde2f2a76bc9f84983
      https://github.com/llvm/llvm-project/commit/b569f8d694e9cec6fef18dfde2f2a76bc9f84983
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    A flang/test/Lower/OpenMP/DelayedPrivatization/target-firstprivate-nested-allocatable-mapper.f90

  Log Message:
  -----------
  [Flang][FIR] Handle SequenceTypes in isRecordWithAllocatableMember (#224048)

Currently isRecordWithAllocatableMember does not handle sequence types,
either at the top level on the input type or in subsequent nestings, it
will effectively skip them. This is quite different to how
isRecordWithDescriptorMember handles these cases, as it does in fact
unwrap sequence types to correctly dictate if there are descriptor
members inside of a record type.

This PR simply aims to align the behaviour with
isRecordWithDescriptorMember, as there are several locations where
isRecordWithAllocatableMember is being used and the expectation is that
it will indicate if there's an allocatable member inside of the record
type irrespective of sequence types being part of the equation.


  Commit: 1e635d09d53d4a8656ed92bfa139a19f1012cd3d
      https://github.com/llvm/llvm-project/commit/1e635d09d53d4a8656ed92bfa139a19f1012cd3d
  Author: Jared Wyles <jared.wyles at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M orc-rt/lib/bedrock/sys/windows/CPUFeatures.cpp
    M orc-rt/test/unit/bedrock/sys/CPUFeaturesTest.cpp

  Log Message:
  -----------
  [orc-rt] Implement Windows CPU feature detection (#224516)

Adds Windows CPU feature detection for ORC-RT.

Currently supports x86-64 using the Windows/MSVC CPU feature interfaces.
Additional architectures can be added as needed.


  Commit: 975b5d2336389fbf282e38158d84aa1e14a8a304
      https://github.com/llvm/llvm-project/commit/975b5d2336389fbf282e38158d84aa1e14a8a304
  Author: Zibi Sarbinowski <zibi at ca.ibm.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/test/Driver/systemz-features.cpp
    M clang/test/Sema/zvector.c

  Log Message:
  -----------
  [SystemZ][z/OS] Extend systemz-features.cpp and zvector.c with z/OS RUN lines (#224733)

Add `s390x-ibm-zos` RUN lines to
`clang/test/Driver/systemz-features.cpp`
covering the default, `-mhtm`/`-mno-htm`, and `-mvx`/`-mno-vx` cases.
The `-mvx` z/OS lines require `-march=arch11` because the default z/OS
CPU (zEC12) pre-dates vector support.

Add a second RUN in `clang/test/Sema/zvector.c` using triple
`s390x-ibm-zos` with `-target-cpu z13` so the file is exercised under
the z/OS code path.

These test extensions were carved out from
https://github.com/llvm/llvm-project/pull/223026 per reviewer request
(@uweigand): the extra test runs are good additions but are not related
to the i128 XPLINK64 change.


  Commit: 9028ff14b18ea678683a4960306051044160bb67
      https://github.com/llvm/llvm-project/commit/9028ff14b18ea678683a4960306051044160bb67
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-09-21 (Mon, 21 Sep 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/sched.yaml
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/aarch64/clone.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/clone.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/riscv/clone.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/x86_64/clone.h
    M libc/src/__support/threads/linux/CMakeLists.txt
    M libc/src/__support/threads/linux/thread.cpp
    M libc/src/pthread/CMakeLists.txt
    M libc/src/sched/CMakeLists.txt
    A libc/src/sched/clone.h
    M libc/src/sched/linux/CMakeLists.txt
    A libc/src/sched/linux/clone.cpp
    M libc/src/threads/CMakeLists.txt
    M libc/test/src/sched/CMakeLists.txt
    A libc/test/src/sched/linux/CMakeLists.txt
    A libc/test/src/sched/linux/clone_test.cpp

  Log Message:
  -----------
  [libc] Implement clone(2) and use it in thread spawning (#224257)

This patch implements an internal clone syscall wrapper and uses it both
to implement the public clone(2) entry point and to spawn new threads in
libc's thread implementation.

Previously, thread creation in thread.cpp invoked the raw SYS_clone
syscall directly, requiring target-specific inline assembly or register
variables and subtle tricks with __builtin_frame_address to pass
arguments to start_thread in the newly spawned thread.

By introducing an inline assembly clone wrapper that sets up func and
arg on the child stack and jumps to the entry function upon clone
returning in the child, we can simplify start_thread to a normal
function taking a single void * argument and eliminate the frame pointer
hacks as well as the need to compile thread.cpp with
-fno-omit-frame-pointer or optimizations.

The public clone(2) entrypoint delegates to this wrapper after unpacking
its varargs and validating pointers (returning EINVAL like glibc).

A particularly tricky aspect of this patch is the invalidation of the
cached thread IDs. As with fork(), we do this in the parent, but we
cannot do this safely for clone() in all situations. The problematic
case is where the user does not set a custom TLS block (which means the
child uses the parent's block), does not clone the address space (no
copy-on-write), and does not suspend the parent (vfork semantics). In
this case, we just give up and don't touch the thread ID. For this
particular flag, most of the operations in the child are not safe, so
we're assuming the user is prepared for such a restricted environment.

Support is implemented for x86_64, aarch64, and riscv. The
architecture-specific assembly is split out into detail::clone_impl
inside per-architecture headers.

Assisted-by: Gemini


  Commit: 6b07a4d1c81ea6cdcc1e569299b0a2a628e49f70
      https://github.com/llvm/llvm-project/commit/6b07a4d1c81ea6cdcc1e569299b0a2a628e49f70
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseTentative.cpp
    A clang/test/Parser/ms-lambda-capture.clcpp
    A clang/test/Parser/ms-lambda-capture.cpp
    A clang/test/Parser/ms-lambda-capture.hip
    A clang/test/ParserHLSL/ms-lambda-capture.hlsl

  Log Message:
  -----------
  [clang] Disambiguate lambdas from Microsoft attributes (#214247)

With -fms-extensions, a CUDA/HIP lambda capture list can be consumed as
a Microsoft attribute list. This causes attributed lambdas used in
direct initialization to be misparsed as function declarators.

Tentatively inspect the tokens following the capture list and any
trailing attributes to identify lambdas before parsing Microsoft
attributes.

Assisted by: Cursor / Claude Opus 4.8


  Commit: 86bd6bf6adbb266d2f4f5e0625d57e6b983220fb
      https://github.com/llvm/llvm-project/commit/86bd6bf6adbb266d2f4f5e0625d57e6b983220fb
  Author: Finn Plummer <mail at inbelic.dev>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/docs/DirectX/SemanticSignatures.md
    M llvm/include/llvm/Frontend/HLSL/SemanticSignaturePacking.h
    M llvm/lib/Frontend/HLSL/SemanticSignaturePacking.cpp
    M llvm/unittests/Frontend/HLSLSemanticSignaturePackingTest.cpp

  Log Message:
  -----------
  [HLSLSemanticSignatures] Implement the prefix packing of elements (#218062)

Implements the prefix packing algorithm.

Resolves: #204889.

Assisted by: Claude Opus 5 and GPT-5.6 Sol


  Commit: 16f37d13492079a0740837e1d04f3841f13fcfa4
      https://github.com/llvm/llvm-project/commit/16f37d13492079a0740837e1d04f3841f13fcfa4
  Author: Igor Wodiany <igor.wodiany at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp

  Log Message:
  -----------
  [IR] Use `uint64_t` when assigning `getZExtValue` into `I` (#224648)

This prevents a potential multiplication overflow when a constant is
later built with `ConstantInt::get()`. This fixes an issues reported by
a CodeQL scan.


  Commit: 35006688eb78eb5b601e282d21701f430d737888
      https://github.com/llvm/llvm-project/commit/35006688eb78eb5b601e282d21701f430d737888
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-09-21 (Mon, 21 Sep 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/sched.yaml
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    R libc/src/__support/OSUtil/linux/syscall_wrappers/aarch64/clone.h
    R libc/src/__support/OSUtil/linux/syscall_wrappers/clone.h
    R libc/src/__support/OSUtil/linux/syscall_wrappers/riscv/clone.h
    R libc/src/__support/OSUtil/linux/syscall_wrappers/x86_64/clone.h
    M libc/src/__support/threads/linux/CMakeLists.txt
    M libc/src/__support/threads/linux/thread.cpp
    M libc/src/pthread/CMakeLists.txt
    M libc/src/sched/CMakeLists.txt
    R libc/src/sched/clone.h
    M libc/src/sched/linux/CMakeLists.txt
    R libc/src/sched/linux/clone.cpp
    M libc/src/threads/CMakeLists.txt
    M libc/test/src/sched/CMakeLists.txt
    R libc/test/src/sched/linux/CMakeLists.txt
    R libc/test/src/sched/linux/clone_test.cpp

  Log Message:
  -----------
  Revert "[libc] Implement clone(2) and use it in thread spawning" (#225111)

Reverts llvm/llvm-project#224257: Fails to build on risc-v.


  Commit: 525d9e9db6a49f39c4eaaad879d0464b70991ef5
      https://github.com/llvm/llvm-project/commit/525d9e9db6a49f39c4eaaad879d0464b70991ef5
  Author: William Tran-Viet <wtranviet at proton.me>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M libcxx/include/__iterator/capacity_aware_iterator.h
    M libcxx/include/__optional/optional.h
    M libcxx/include/__optional/optional_ref.h
    M libcxx/test/libcxx/iterators/capacity_aware_iter/arithmetic.pass.cpp
    M libcxx/test/libcxx/iterators/capacity_aware_iter/assert.pass.cpp
    M libcxx/test/libcxx/iterators/capacity_aware_iter/comparison.pass.cpp
    M libcxx/test/libcxx/iterators/capacity_aware_iter/contiguous.verify.cpp
    M libcxx/test/libcxx/iterators/capacity_aware_iter/dereference.pass.cpp
    M libcxx/test/libcxx/iterators/capacity_aware_iter/types.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Remove `_Tag` template parameter from __capacity_aware_iterator (#224983)

Since it was decided that `_Tag`'s benefit of preventing iterator mixups
didn't outweigh the added compile times and extra template
instantiations, remove it and all locations that used
`__capacity_aware_iterator` (so just `optional`).


  Commit: 050b5650ff5c905a8d80beb31244c72f8551ba5b
      https://github.com/llvm/llvm-project/commit/050b5650ff5c905a8d80beb31244c72f8551ba5b
  Author: Anirudh Mathur <126768505+anirudhmathur12 at users.noreply.github.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaTemplate.cpp
    A clang/test/SemaCXX/GH220525.cpp

  Log Message:
  -----------
  [Clang][Sema] Don't treat error-recovery dependence as genuine template dependence in ActOnTag (#221440)

When a template argument fails to resolve (e.g. a namespace name used
where a value is expected), Sema substitutes a RecoveryExpr with a
dependent type so downstream code can recover gracefully. This
error-induced dependence was being conflated with genuine template
parameter dependence in ActOnTag's handling of TagUseKind::Reference/
Friend, causing computeDeclContext to report failure the same way it
would for an actually-dependent nested-name-specifier. This tripped an
assert in ActOnExplicitInstantiation that assumes dependent names can't
reach explicit instantiation, when in fact the diagnostic had already
been emitted at the point the RecoveryExpr was created.

Fixes #220525


  Commit: c0a7197865180e8aee11f96fd84e3c1037b69d20
      https://github.com/llvm/llvm-project/commit/c0a7197865180e8aee11f96fd84e3c1037b69d20
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes aa6b03e (#224915)

This fixes aa6b03ed5a9ffe5ba6f0d945fac9961884b5c6ed (#198062).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=aa6b03ed5a9ffe5ba6f0d945fac9961884b5c6ed

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


  Commit: aec1f9ce37aea8005a3b1a5d4acf4988d6487813
      https://github.com/llvm/llvm-project/commit/aec1f9ce37aea8005a3b1a5d4acf4988d6487813
  Author: Jan André Reuter <j.reuter at fz-juelich.de>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    A offload/test/ompt/host_op_id_emi.c

  Log Message:
  -----------
  [Offload][OMPT][NFC] Add test for `host_op_id` consistency (#201144)

Add test to ensure that `host_op_id` is correctly passed for external
monitoring interface callbacks. A set `host_op_id` during
`ompt_scope_begin` should show up during `ompt_scope_end`.

This catches cases like 2c8ca9679e85e466e8d7105027df322d03c45e3d, where
a nested `data_op` callback caused an incorrect `host_op_id` on the
outer `ompt_scope_end` event (fixed by
9de6f9e7c8d1faabf7e7e49ba49e6d6f3af21373).

---------

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


  Commit: 5ed8a18c43ad9d328df1cfa08e3377933e6ea398
      https://github.com/llvm/llvm-project/commit/5ed8a18c43ad9d328df1cfa08e3377933e6ea398
  Author: David Zbarsky <dzbarsky at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

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

  Log Message:
  -----------
  [Bazel] Give musl LLVM tools 8 MiB worker stacks (#223989)

LLVM 23 ThinLTO can overflow musl's 128 KiB default pthread stack in
`DSEState::eliminateRedundantStoresViaDominatingConditions`, crashing
`ld.lld` on valid input. Add `-Wl,-z,stack-size=8388608` to
`Support.linkopts` for musl Bazel builds, using the
`@rules_cc//cc/libc:musl` constraint already used by `config.bzl`. [musl
supports increasing default pthread stacks through
`PT_GNU_STACK`](https://wiki.musl-libc.org/functional-differences-from-glibc.html).

Downstream validation on LLVM 23.1.0 in
https://github.com/hermeticbuild/hermetic-llvm/pull/753 reproduced the
crash with a captured link and a synthetic 1000-block ThinLTO input. A
musl linker rebuilt with the same linker option advertised an 8 MiB
`GNU_STACK` and passed both cases.

On this upstream branch, Buildifier, `git diff --check`, and
`llvm-check-pr-format` pass (no changed C/C++ files). No fresh
upstream-main LLVM build was performed.

AI tool disclosure: Co-authored with OpenAI Codex.


  Commit: 3eb0f2b9251df770a0140d140d17bc6e53f69e44
      https://github.com/llvm/llvm-project/commit/3eb0f2b9251df770a0140d140d17bc6e53f69e44
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ADT/TrieRawHashMap.h
    M llvm/include/llvm/CodeGen/MIRFSDiscriminator.h
    M llvm/include/llvm/CodeGen/MIRSampleProfile.h
    M llvm/include/llvm/CodeGen/ModuloSchedule.h
    M llvm/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h
    M llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h
    M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.h
    M llvm/include/llvm/DebugInfo/PDB/Native/InfoStreamBuilder.h
    M llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
    M llvm/include/llvm/ExecutionEngine/Orc/Layer.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachO.h
    M llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h
    M llvm/include/llvm/Frontend/HLSL/RootSignatureValidations.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/MC/TargetRegistry.h
    M llvm/include/llvm/Object/DXContainer.h
    M llvm/include/llvm/Object/GOFF.h
    M llvm/include/llvm/ProfileData/GCOV.h
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/include/llvm/Support/CommandLine.h
    M llvm/include/llvm/Support/DebugCounter.h
    M llvm/include/llvm/Support/FileSystem.h
    M llvm/include/llvm/TargetParser/XtensaTargetParser.h

  Log Message:
  -----------
  [llvm] Remove declarations without definitions (NFC) (#225020)

ThreadSafeTrieRawHashMapBase::getImpl in
llvm/include/llvm/ADT/TrieRawHashMap.h: Added on October 29, 2024 in
commit b510cdb895b9188e5819c4c85a6dab22a4d14385 without a definition or
any callers.

MIRAddFSDiscriminators::getNumFSBBs and
MIRAddFSDiscriminators::getNumFSSamples in
llvm/include/llvm/CodeGen/MIRFSDiscriminator.h: Added on May 18, 2021 in
commit 886629a8c9e58752627d8ae7abf6fa93191a3df8 without definitions or
any callers.

MIRProfileLoaderPass::init in
llvm/include/llvm/CodeGen/MIRSampleProfile.h: Added on August 18, 2021
in commit 5fdaaf7fd8f35ac9c9de50a45b09e29c7b0d48c4 without a definition
or any callers.

ModuloScheduleExpanderMVE::generateKernelPhi in
llvm/include/llvm/CodeGen/ModuloSchedule.h: Added on June 12, 2024 in
commit 0c5319e546321d7a766999e49e0ccf801ff2b3dc without a definition or
any callers.

codeview::DebugFrameDataSubsection::setFrames in
llvm/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h: Added
on June 14, 2017 in commit a8cfc29c9a3e39a18f576a2820a7a259654fe953
without a definition or any callers.

gsym::DwarfTransformer::parse in
llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h: Added on
February 11, 2020 in commit 19602b71949db1f840b262558c832c5f73722c7e
without a definition or any callers.

logicalview::LVLogicalVisitor::printMemberAttributes (both overloads) in
llvm/include/llvm/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.h:
Added on February 27, 2023 in commit
e7950fceb1e7f82370f6cff80b258e552eb410a6 without definitions or any
callers.

pdb::InfoStreamBuilder::finalize in
llvm/include/llvm/DebugInfo/PDB/Native/InfoStreamBuilder.h: Added on
January 20, 2017 in commit 60667ca0b2b95ee25dace3f8627feda5a904cd8f
without a definition or any callers.

orc::SimpleCompiler::manglingOptionsForTargetMachine in
llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h: Added on
January 21, 2020 in commit ce2207abaf9a925b35f15ef92aaff6b301ba6d22
without a definition or any callers.

orc::DLLImportDefinitionGenerator::getTargetPointerSize and
orc::DLLImportDefinitionGenerator::getEndianness in
llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h: The definitions
and callers were removed on January 14, 2025 in commit
4eaff6c58ae2f130ac8d63cf2c87bbb483114876.

orc::IRMaterializationUnit::getInitSymbol in
llvm/include/llvm/ExecutionEngine/Orc/Layer.h: Added on December 16,
2019 in commit 85fb997659b55101b58e3545733e581bf4ed9cf2 without a
definition or any callers.

orc::loadMachOLinkableFile in
llvm/include/llvm/ExecutionEngine/Orc/MachO.h: Added on August 28, 2024
in commit 7a4013f029c4d360a9374ff49b5d17479fcb03df without a definition
or any callers (when renaming loadMachORelocatableObject in the header
while leaving the definition in MachO.cpp named
loadMachORelocatableObject).

RuntimeDyldChecker::getSectionLoadAddress in
llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h: The definition
and callers were removed on April 8, 2019 in commit
941f247d30c447903107aa614ea46fb1e4019698.

hlsl::rootsig::verifyRangeType in
llvm/include/llvm/Frontend/HLSL/RootSignatureValidations.h: The
definition and caller were removed on September 10, 2025 in commit
9e778f6cd155f64896a9a0580e96aa4814ca999b.

FenceInst::Init in llvm/include/llvm/IR/Instructions.h: Added on
July 25, 2011 in commit fee02c6c1378f7244e05157aa9b07da77061fb64 without
a definition or any callers.

initializeDXILMetadataAnalysisWrapperPrinterPass and
initializeLogicalSROALegacyPassPass in
llvm/include/llvm/InitializePasses.h:
initializeDXILMetadataAnalysisWrapperPrinterPass was added on August 12,
2024 in commit 03e6675fc78783d0d0b0a784eccbd5ff19de23a2, and
initializeLogicalSROALegacyPassPass was added on July 20, 2026 in commit
03b5c5285eaf0acdc1dc30c5be6e0a7cefeab16f, both without definitions or
any callers.

createCustomBehaviour, createInstrPostProcess, and
createInstrumentManager in llvm/include/llvm/MC/TargetRegistry.h:
createCustomBehaviour and createInstrPostProcess were added on July 24,
2021 in commit dbed061bf13b74cbbe6de3062f7f50481dd45ac4, and
createInstrumentManager was added on November 4, 2022 in commit
98e342dca23729dd4e9cdc5f25c647d617b94283, all without definitions or any
callers (only the corresponding methods on Target were defined).

object::DXContainer::parseSignature in
llvm/include/llvm/Object/DXContainer.h: Added on October 5, 2023 in
commit 9f87522b121a08b97aff433e8b53dec1acf7c9d0 without a definition or
any callers.

object::Record::getContinuousData and
object::{TXTRecord,HDRRecord,ESDRecord,RLDRecord,ENDRecord}::getData in
llvm/include/llvm/Object/GOFF.h: RLDRecord::getData was added on
April 28, 2023 in commit 2fa6bcf02f1585df3af6d0081215e23c07421f43
without a definition or any callers; the definitions and callers of
Record::getContinuousData, TXTRecord::getData, HDRRecord::getData,
ESDRecord::getData, and ENDRecord::getData were removed on August 13,
2026 in commit 5f59554a392283f9f047b51ca5e562179e2e37d8.

GCOVBlock::getLineCount in llvm/include/llvm/ProfileData/GCOV.h: The
definition and callers were removed on September 13, 2020 in commit
4d7b19454397103620394dcceaf29592ef195231.

sandboxir::CmpInst::createCommon in
llvm/include/llvm/SandboxIR/Instruction.h: Added on September 4, 2024 in
commit 840da2e8ba7e0f77938adfc6f6d315137542a1b8 without a definition or
any callers.

cl::expandResponseFiles (4-argument overload) in
llvm/include/llvm/Support/CommandLine.h: Added on August 22, 2022 in
commit b934be2c059a99351d08069bb80155e49f047b6e without a definition or
any callers.

DebugCounter::parseChunks in llvm/include/llvm/Support/DebugCounter.h:
The definition and callers were removed on January 5, 2026 in commit
7f9a00e59c569110ac2bdaa5f21d26eff9c1de65.

sys::fs::status_known (2-argument overload) in
llvm/include/llvm/Support/FileSystem.h: Added on November 24, 2010 in
commit 96bcfcf2c2907519cd765debce94082f421f0829 without a definition or
any callers.

Xtensa::getCPUFeatures and Xtensa::fillValidCPUList in
llvm/include/llvm/TargetParser/XtensaTargetParser.h: Added on August 12,
2025 in commit 48da8489f2c1d416658527f6b806d618abd5ab73 without matching
definitions or any callers (XtensaTargetParser.cpp defined overloads
taking std::vector<StringRef> & instead of
SmallVectorImpl<StringRef> &).

Assisted-by: Antigravity


  Commit: 7ff51d0e1895b0b27556e3da3b15142555ce0b07
      https://github.com/llvm/llvm-project/commit/7ff51d0e1895b0b27556e3da3b15142555ce0b07
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M mlir/test/Integration/Dialect/XeGPU/WG/simple_3d_gemm.mlir
    M mlir/test/Integration/Dialect/XeGPU/WG/simple_3d_mxfp_gemm.mlir
    M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm.mlir
    M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_dequantizeB_F4.mlir
    M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_quantizeA_F4.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Update WG integration tests to strict property syntax (#222457)

XeGPU enabled strict properties in its assembly format (b73a8b8d8c17),
so inherent attributes such as the `layout`/`layout_*` operands of
load_nd, store_nd, prefetch_nd, dpas and dpas_mx must be spelled in a
prop-dict (`<{...}>`) instead of the discardable attr-dict (`{...}`).
Several workgroup level integration tests were missed by that update and
now fail to parse.


  Commit: 64dad8b0453e32472bc47c5874145b06950c9aa1
      https://github.com/llvm/llvm-project/commit/64dad8b0453e32472bc47c5874145b06950c9aa1
  Author: leovance <leovancekang at outlook.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
    M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp

  Log Message:
  -----------
  [mlir][OpenACC][NFC] Fix par_width syntax in code examples (#222291)

Update the acc.predicate_region documentation and the ACCCGToGPU example
to use the explicit par_dim(...) syntax required since #217298.

These examples still use the old attribute-dictionary spelling. This is
a documentation-only change; operation definitions and lowering behavior
are unchanged.


  Commit: 39e01e7fab62551ff1b4f6407af80ba011948c1e
      https://github.com/llvm/llvm-project/commit/39e01e7fab62551ff1b4f6407af80ba011948c1e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp

  Log Message:
  -----------
  [SCEV] Move getSCEVAtExit() into ScalarEvolution (#225102)

Exit value replacement only needs to know the value at a specific exit,
while getSCEVAtScope() provides one that is valid at *any* exit. It has
some custom code to at least handle the case of addrecs.

Uplift this code into SCEV as getSCEVAtExit(). For now it just does the
same thing the code in LoopUtils did.


  Commit: 267f92f79b2de95202af0df2b4488a004e0639a5
      https://github.com/llvm/llvm-project/commit/267f92f79b2de95202af0df2b4488a004e0639a5
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td

  Log Message:
  -----------
  [CIR][NFC] Fix VectorType element-type description (#224827)

Fix the VectorType element-type description


  Commit: 4f611fa8e0c770753d5006d2cb934cde9a8a6831
      https://github.com/llvm/llvm-project/commit/4f611fa8e0c770753d5006d2cb934cde9a8a6831
  Author: Anshul Nigham <nigham at google.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

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

  Log Message:
  -----------
  Fix bazel build for clang/unittests:serialization_tests (#225134)

Fixes https://github.com/llvm/llvm-project/pull/224528 (commit
f970f59a9d4e) by adding missing //clang:ast dependency.


  Commit: 2e7f48adb2c1ec1fdd15486289583e4e1668bb56
      https://github.com/llvm/llvm-project/commit/2e7f48adb2c1ec1fdd15486289583e4e1668bb56
  Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BundleVec.h
    M llvm/test/Transforms/SandboxVectorizer/Passes/BundleVec/aux_arg.ll

  Log Message:
  -----------
  [SandboxVec][BottomUpVec][NFC] Use AuxPassArg for BundleVec pass aux args (#224777)

This patch replaces the original logic that processes the bundle-vec
auxiliary arguments with the AuxPassArg classes.


  Commit: 78563625bdce600d1a4af2905ed42c17ff881a94
      https://github.com/llvm/llvm-project/commit/78563625bdce600d1a4af2905ed42c17ff881a94
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/CUFCommon.h
    M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Optimizer/Builder/CUFCommon.cpp
    M flang/lib/Optimizer/Support/Utils.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
    A flang/lib/Optimizer/Transforms/CUDA/CUFDuplicateDeviceFunc.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFPredefinedVarToGPU.cpp
    M flang/test/Fir/CUDA/cuda-device-func-transform-aio.mlir
    A flang/test/Fir/CUDA/cuda-device-func-transform-copies.mlir
    A flang/test/Fir/CUDA/cuda-duplicate-device-func.mlir

  Log Message:
  -----------
  [flang][cuda] duplicate host_device procedures early and outline the copies under their original name (#224400)

An `attributes(host,device)` procedure is lowered as a single
`func.func`, which `cuf-transform-device-func` clones into the GPU
module at the end of the FIR pipeline. By then the optimizer has already
placed the one body under the host policy, so with `-fstack-arrays` an
automatic array stays a `fir.alloca` and overflows the device stack at
run time:

```fortran
attributes(host,device) integer function sumauto(n)
  integer :: auto(n)
  ...
end function

attributes(global) subroutine kern(a, n)
  a(1) = sumauto(n)          ! device call
end subroutine
```

Procedures reached from device code only through such a procedure, and
device bodies inlined into a kernel, have the same problem.

This adds `cuf-duplicate-device-func`, meant to run before the FIR
optimizer. Every `host_device` procedure, and every procedure without a
device attribute that device code reaches through calls or procedure
references, gets a device copy in the host module, and device code is
redirected to it while host code keeps the original:

```mlir
func.func @sumauto(...) attributes {cuf.proc_attr = #cuf.cuda_proc<host_device>} {
  %auto = fir.alloca !fir.array<?xi32>, %n        // host copy, unchanged
}
func.func @sumauto.device(...) attributes {cuf.proc_attr = #cuf.cuda_proc<device>,
    cuf.device_copy_of = @sumauto,
    fir.allocation_policy = #fir.allocation_policy<stack_arrays = false, ...>} {
  %auto = fir.alloca !fir.array<?xi32>, %n        // placed to the heap by the optimizer
}
func.func @kern(...) attributes {cuf.proc_attr = #cuf.cuda_proc<global>} {
  fir.call @sumauto.device(...)                    // was @sumauto
}
```

The optimizer then treats the two as ordinary functions with their own
policies, and inlining a copy into a kernel carries the heap allocation
along. Declarations are not copied, so runtime calls keep their real
names and the descriptor I/O check in `cuf-transform-device-func` still
fires.

`cuf-transform-device-func` recognizes the `cuf.device_copy_of` marker,
outlines the copy under the original name, since device symbol names are
the cross-unit ABI, restores the original names inside outlined code and
`cuf.kernel` regions, leaves the `host_device` original in the host
module and erases the copy:

```mlir
func.func @sumauto(...) { %auto = fir.alloca ... }         // host module
gpu.module @cuda_device_mod {
  gpu.func @sumauto(...) { %auto = fir.allocmem ... }      // the copy, renamed back
  gpu.func @kern(...) kernel { fir.call @sumauto(...) }
}
```

Without markers the pass behaves as before, so it is correct in either
pipeline order.

The device code gathering is factored out of `cuf-transform-device-func`
into `cuf::collectDeviceCode`, shared by both passes.
`fir::getPresentedFunction` and `fir::getPresentedCallee` let
diagnostics and remarks report a copy as the procedure it copies, and
`fir::getPresentableFunctionName` uses them, so a remark inside
`@sumauto.device` names `sumauto`. Lowering and the copies share
`cuf::setDeviceAllocationPolicy`.


  Commit: 37f85ad1b302a993a6b2d3afd0a031baf64e7d9c
      https://github.com/llvm/llvm-project/commit/37f85ad1b302a993a6b2d3afd0a031baf64e7d9c
  Author: Adam Magier <adam.a.magier.foss at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-when-nullptr-is-defined.c
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
    M clang/test/CodeGen/catch-pointer-overflow-volatile.c
    M clang/test/CodeGen/catch-pointer-overflow.c
    M clang/test/CodeGen/ubsan-pointer-overflow.c

  Log Message:
  -----------
  [clang][CodeGen] Use ptrtoaddr for the pointer-overflow check (#223446)

Since 052dde9c3a62 ("[SCEV] Do not represent ptrtoint as ptrtoaddr")
SCEV treats the check's ptrtoint as opaque, so IndVarSimplify no longer
infers nuw on the reconstructed address and InstCombine no longer folds
the comparison. Provably safe checks now survive to run time.

ptrtoaddr is correct here: the address is only compared against the
recomputed one and passed to the handler, and is dead otherwise. This is
unlike the pointer subtraction in d7594bf4caa5 (reverted in
fcd814ae4357), whose result is a user-visible value that can be used to
reconstruct a pointer, e.g. via -(nullptr - ptr).

The result type becomes DL.getAddressType(), so the offset arithmetic is
done in the address width rather than the pointer width. They coincide
in every address space the check is emitted in on in-tree targets, and
where they do not the diagnostics are unaffected: EmitCheckValue
zero-extends a narrower argument to IntPtrTy before the handler call.

Assisted-by: Kiro CLI / Claude Opus 5


  Commit: d6da65a5b9822dbdc8764c933334cf609655a63c
      https://github.com/llvm/llvm-project/commit/d6da65a5b9822dbdc8764c933334cf609655a63c
  Author: Yian Su <yiansu.developer at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
    A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-thread-private-storage-remark.mlir

  Log Message:
  -----------
  [mlir][openacc] Report privates using thread-private storage (#224398)

ACCCGToGPU reports privates it places in GPU shared memory, but says
nothing when a private is given per-thread storage instead. Collect
those names too and emit a matching remark.


  Commit: cb9286833f2b6bac93edcc258289b54b4681037b
      https://github.com/llvm/llvm-project/commit/cb9286833f2b6bac93edcc258289b54b4681037b
  Author: Nishant Patel <nishant.b.patel at intel.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPeepHoleOptimizer.cpp
    M mlir/test/Dialect/XeGPU/peephole-optimize.mlir

  Log Message:
  -----------
  [mlir][xegpu] Fold memref offset in peephole create_nd_tdesc rewrite (#224459)

XeGPUCreateNdDescOpPattern in peephole optimization only extracted
strided metadata for dynamic-shape
memrefs, but hasStaticShapeAndStrides() ignores the offset — so a
static-shape memref with a nonzero or dynamic offset (e.g. from a
subview) would silently read from offset 0. This PR changes it to always
extract and fold the offset into the base pointer.


Assisted by Claude


  Commit: 4791c3055214978d6acc5184bf236d75fc75ee23
      https://github.com/llvm/llvm-project/commit/4791c3055214978d6acc5184bf236d75fc75ee23
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/test/Analysis/ScalarEvolution/exit-value-nowrap-flags.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/nsw.ll
    M llvm/test/Analysis/ScalarEvolution/ranges.ll
    M llvm/test/Transforms/IndVarSimplify/exit-value-nowrap-flags.ll

  Log Message:
  -----------
  [SCEV] Propagate a recurrence's nuw flag to mul in exit value. (#224974)

Follow-up to #217378. The same reasoning applies to the multiply emitted
as well:

A recurrence's exit value is its closed form Start + BTC * Step. The
multiply does not wrap, if the recurrence does not wrap: the recurrence
reached iteration BTC, so the value it computes there is the value the
recurrence had, and that did not wrap.

Alive2 Proof: https://alive2.llvm.org/ce/z/S3_sRh

Also includes small SCEVExpander changes to thread through operands as
SCEVUse.

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


  Commit: 5e14ef5d10879eafe6b412278d6d851719e62c88
      https://github.com/llvm/llvm-project/commit/5e14ef5d10879eafe6b412278d6d851719e62c88
  Author: Jian Li <hellothedreamer at 126.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.md
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/clmulr-rv32.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/clmulr-rv64.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
    M llvm/test/TableGen/get-named-operand-idx.td

  Log Message:
  -----------
  [RISCV][GlobalISel] Add G_CLMULR support (#224525)

Add G_CLMULR to represent reversed carry-less multiplication in generic
Machine IR.

Translate llvm.riscv.clmulr to G_CLMULR and mark it legal for native
XLEN scalar types when Zbc is available.


  Commit: 31c70556b20ad72bcb91525448bd0821c90efc27
      https://github.com/llvm/llvm-project/commit/31c70556b20ad72bcb91525448bd0821c90efc27
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M flang/docs/Extensions.md
    M flang/include/flang/Parser/options.h
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Parser/parsing.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    A flang/test/Preprocessing/fixed-c-comment01.F
    A flang/test/Preprocessing/fixed-c-comment02.F
    A flang/test/Preprocessing/fixed-c-comment03.f
    A flang/test/Preprocessing/fixed-c-comment04.f
    A flang/test/Preprocessing/fixed-c-comment05.f
    A flang/test/Preprocessing/free-c-comment01.f90
    M flang/tools/bbc/bbc.cpp
    M flang/tools/f18-parse-demo/f18-parse-demo.cpp

  Log Message:
  -----------
  [flang] Accept C-style comments in label fields (#207012)

The main goal of this patch is to make multi-language header files
easier to write and use in fixed format sources. For this reason, and
for simplicity, C-style comments after labels, directives and OpenMP
conditional compilation sentinels are not supported.

Fixes #127426

Assisted-by: Claude Opus 5


  Commit: 854a9b8d7036ef52490edfb644f30ba043a0f238
      https://github.com/llvm/llvm-project/commit/854a9b8d7036ef52490edfb644f30ba043a0f238
  Author: Janet Yang <qxy11 at meta.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M .ci/green-dragon/lldb-ubuntu.groovy
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/docs/resources/build.md
    M lldb/include/lldb/Host/Config.h.cmake
    R lldb/include/lldb/Host/LZMA.h
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Host/CMakeLists.txt
    R lldb/source/Host/common/LZMA.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/test/CMakeLists.txt
    M lldb/test/Shell/lit.cfg.py
    M lldb/test/Shell/lit.site.cfg.py.in
    M llvm/CMakeLists.txt
    M llvm/cmake/config-ix.cmake
    M llvm/cmake/modules/LLVMConfig.cmake.in
    M llvm/docs/CMake.md
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/Config/llvm-config.h.cmake
    M llvm/include/llvm/Support/Compression.h
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Support/Compression.cpp
    M llvm/test/CMakeLists.txt
    M llvm/test/lit.site.cfg.py.in
    M llvm/unittests/Support/CompressionTest.cpp
    M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
    M llvm/utils/gn/secondary/lldb/test/BUILD.gn
    M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
    M llvm/utils/lit/lit/llvm/config.py
    M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/third-party/BUILD.bazel
    M utils/bazel/llvm_configs/llvm-config.h.cmake

  Log Message:
  -----------
  [Support][lldb] Port xz (lzma) decompression from LLDB into LLVM (#220092)

### Summary
LLDB's `lldb_private::lzma` is currently the only xz decompressor in the
tree. It reads the ELF `.gnu_debugdata` (MiniDebugInfo) section, whose
embedded symbol table can sometimes be the only source of function names
in a stripped binary. Move it to `'llvm::compression::xz` so that other
tools like llvm-gsymutil can use it.
- Only decompression is implemented and it's kept out of
`compression::Format` since it's not written by LLVM and is produced by
an extra packaging step. It also doesn't model the schemes usable for
SHF_COMPRESSED sections, which are self-describing via some type of
`ELFCOMPRESS_*` constant, which doesn't exist for XZ.
- Reformats the ported code to LLVM standards, but avoids other
functional changes unless a comment was specifically made on the PR to
address it. There is a latent bug in the ported code where
`lzma_index_buffer_decode()` was passed a pointer to the stream index
but the size of the whole stream, which could've caused it to
technically read past the end of the buffer. Valid streams aren't
currently affected since the index is self-delimiting and CRC-checked,
so this will just be addressed in a following PR.
- `LLDB_ENABLE_LZMA` is replaced by `LLVM_ENABLE_LZMA`, and is default
to ON globally. Cases where LLDB_ENABLE_LZMA and LLVM_ENABLE_LZMA are in
disagreement will fail, and otherwise, uses of LLDB_ENABLE_LZMA will
result in deprecation warnings.
- In the Bazel overlay, @llvm-project//lldb:lzma=system flag can no
longer work for the same reason, so it is replaced by
-- at llvm-project//third-party:llvm_enable_lzma=true via a new
//third-party:lzma target alongside the existing zlib and zstd wrappers.

### Testing
Added a unit test testing the decompression 
Existing LLDB unit tests of minidebuginfo still passing
Tested with `LLVM_ENABLE_LZMA` both on and off, check-llvm, and
check-lldb-shell are clean.


  Commit: bbbcb2eb4f793af95ba9380a2c8be1e33cb6fdb2
      https://github.com/llvm/llvm-project/commit/bbbcb2eb4f793af95ba9380a2c8be1e33cb6fdb2
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/AArch64/abi-classify-arg-types.c
    M clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp
    M clang/test/CodeGen/AArch64/abi-classify-return-types.c
    M clang/test/CodeGen/AArch64/abi-classify-return-types.cpp
    M llvm/include/llvm/ABI/TargetInfo.h
    M llvm/include/llvm/ABI/Types.h
    M llvm/lib/ABI/TargetInfo.cpp
    M llvm/lib/ABI/Targets/AArch64.cpp
    M llvm/lib/ABI/Types.cpp
    M llvm/unittests/ABI/AArch64TargetInfoTest.cpp
    M llvm/unittests/ABI/TypesTest.cpp

  Log Message:
  -----------
  [LLVMABI][AARCH64] Handle conditions for ignoring empty types (#224476)

This adds AArch64 ABI library handling to decide when empty records and
zero-sized (non-SVE) types can be ignored as arguments and return types.
These are always ignored as return types, but the argument handling
depends on the language and ABI kind.

Assisted-by: Cursor / various models


  Commit: f5bd36ecc87a5024feeced94815518438f7344a0
      https://github.com/llvm/llvm-project/commit/f5bd36ecc87a5024feeced94815518438f7344a0
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/test/CodeGen/AMDGPU/amdpal-metadata-agpr-register-count.ll

  Log Message:
  -----------
  [AMDGPU] Do not count AGPRs twice in the wave dispatch VGPR minimum (#225110)

The minimum applies to arch VGPRs, but it was taken against the total,
which already counts AGPRs


  Commit: 520af5f67f9f6d9a5a250b04de27020b100076d3
      https://github.com/llvm/llvm-project/commit/520af5f67f9f6d9a5a250b04de27020b100076d3
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/test/CIR/CodeGen/attr-musttail-ehspec-errors.cpp
    M clang/test/CIR/CodeGen/ehspec-noexcept.cpp

  Log Message:
  -----------
  [CIR] Implement exception-related musttail diagnostics (#224778)

When a musttail call occurs in a function that was marked noexcept or
has a dynamic exception specification, we must report a diagnostic to
the user saying that the call is not supported in this case. This change
adds such a diagnostic for CIR codegen.

Assisted-by: Cursor / claude-opus-5


  Commit: f12afd1dcfdaddc197aeb950c0d7eead6d7d96f6
      https://github.com/llvm/llvm-project/commit/f12afd1dcfdaddc197aeb950c0d7eead6d7d96f6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/test/CodeGen/AArch64/blr-bti-preserves-operands.mir
    M llvm/test/CodeGen/AArch64/expand-blr-rvmarker-pseudo.mir
    M llvm/test/CodeGen/AArch64/kcfi-bti.ll

  Log Message:
  -----------
  AArch64: Don't duplicate the branch's implicit defs in call pseudo expansion (#225064)

These pseudo expansions started with an implicit LR def and are replaced
with a new instruction with a different LR def. Previously this would copy the
old instruction's operand list, merging with the newly build instruction def
list. Avoid creating a redundant def with inconsistent dead flags. This avoids
failing a future verifier check.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: f0159c871942b821eb54f057a7739b4269f72b46
      https://github.com/llvm/llvm-project/commit/f0159c871942b821eb54f057a7739b4269f72b46
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/include/clang/AST/DeclContextInternals.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/Basic/FileEntry.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/ASTMatchers/ASTMatchFinder.cpp
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
    M clang/lib/Index/FileIndexRecord.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp

  Log Message:
  -----------
  [clang] Migrate away from PointerUnion::dyn_cast (NFC) (#225022)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
where the operands are known to be nonnull.

The operands are known to be nonnull in one of three ways:

- Preceding checks: A null check, assertion, or dereference a few
  lines above guarantees the PointerUnion is nonnull.

- Downstream code: The else or fallthrough branch unconditionally
  calls cast<...>, dereferences the pointer, or reaches
  llvm_unreachable.

- By construction: In DeclContextInternals.h, FileEntry.h,
  FileIndexRecord.cpp, and LifetimeSafety/Checker.cpp, only nonnull
  pointers are ever stored in the PointerUnion.

Assisted-by: Antigravity


  Commit: 8c5c2ccf47434b4c948e5b875c977bef4d15c84e
      https://github.com/llvm/llvm-project/commit/8c5c2ccf47434b4c948e5b875c977bef4d15c84e
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/EHScopeStack.h
    M clang/test/CodeGen/compound-literal-lifetime.c

  Log Message:
  -----------
  [clang][CodeGen] Exempt lifetime marker cleanups in musttail check (#224731)

PR #219045 started emitting @llvm.lifetime.start and @llvm.lifetime.end
markers for block-scoped compound literals in C via
pushCleanupAfterFullExpr<CallLifetimeEnd>.

When a compound literal is evaluated inside a conditional branch,
pushCleanupAfterFullExpr wraps CallLifetimeEnd inside
EHScopeStack::ConditionalCleanup, which did not override
EHScopeStack::Cleanup::isRedundantBeforeReturn(). Consequently,
CodeGenFunction::EmitCall rejected [[clang::musttail]] calls when a
conditional compound literal was in scope at -O1 and above.

Because EHScopeStack::ConditionalCleanup wraps cleanups by composition,
virtual methods on EHScopeStack::Cleanup other than Emit() do not work
for conditional cleanups. Replace the virtual
EHScopeStack::Cleanup::isRedundantBeforeReturn() method with a
StackRestore bit on CleanupKind/EHCleanupScope alongside the existing
LifetimeMarker bit, and check EHCleanupScope::isRedundantBeforeReturn()
in CodeGenFunction::EmitCall.

Assisted-by: Gemini
Fixes: 93b2629d1d1f ("[clang][CodeGen] Emit lifetime markers for
block-scoped compound literals in C (#219045)")
Fixes: https://github.com/llvm/llvm-project/issues/224337


  Commit: 2c429b568e1ffa1ee7e88444fac6375d46c5d979
      https://github.com/llvm/llvm-project/commit/2c429b568e1ffa1ee7e88444fac6375d46c5d979
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp

  Log Message:
  -----------
  WebAssembly: Don't duplicate implicit CALL operands in LowerCallResults (#225069)

When recombining the CALL_PARAMS/CALL_RESULTS pseudo-pair into a real
CALL, LowerCallResults copied CallParams.uses() onto the new instruction.
uses() includes the implicit operands (implicit-def $arguments and the implicit
$sp32/$sp64 uses), which the freshly created CALL already carries. This
resulted in a duplicated implicit-def of $arguments. This avoids a
future verifier error.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 6460a5605d9b73640b25bd5987dea597cd648f47
      https://github.com/llvm/llvm-project/commit/6460a5605d9b73640b25bd5987dea597cd648f47
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sme-streaming-mode-landingpads.ll

  Log Message:
  -----------
  AArch64: Fix duplicating VG def operands in isel pseudo expansion (#225113)

Previously MSRpstatePseudo's handling would produce a duplicate VG operand. 
AdjustInstrPostInstrSelection added an implicit VG use/def and an FPMR def. It's 
dubious to introduce a def in the output which wasn't already present in the input, 
so fix the missing FPMR def. Also guard against re-introducing the operands for 
instructions which already have the defs. Ideally  there would not be any of these m
anual def add calls, but that is a larger fix.

This removes the duplicate operand and fixes potentially inconsistent
dead flags, avoiding a failure in a future verifier check.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 150f8999285d07bdebc6a73dfdeae520dbdf1468
      https://github.com/llvm/llvm-project/commit/150f8999285d07bdebc6a73dfdeae520dbdf1468
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td

  Log Message:
  -----------
  [AMDGPU][NFC] Introduce TDMInsts feature for tensor load/store (#225123)


  Commit: 82fb38ef98afbc21ca58c0591209e48cd6d83b37
      https://github.com/llvm/llvm-project/commit/82fb38ef98afbc21ca58c0591209e48cd6d83b37
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/trimmed-subtree-schedule.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test for deleted nodes but still scheduled, NFC



Reviewers: 

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


  Commit: 9d73c09b090939b0a94c2d156519f173734e98a0
      https://github.com/llvm/llvm-project/commit/9d73c09b090939b0a94c2d156519f173734e98a0
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    A llvm/test/CodeGen/AMDGPU/mad-mix-bf16-t16-inline-imm.mir

  Log Message:
  -----------
  [AMDGPU] Use a bf16 operand profile for v_fma_mix_bf16_t16 (#224910)

Assisted-by: Claude Code Opus 5


  Commit: 583e39e96333beb6b5809c94cc0607025938644b
      https://github.com/llvm/llvm-project/commit/583e39e96333beb6b5809c94cc0607025938644b
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
    A llvm/test/tools/llvm-dwarfdump/X86/apple-names-overflowing-entry-count.s

  Log Message:
  -----------
  [DebugInfo] Fix 32-bit overflow in AppleAcceleratorTable::equal_range (#224866)

Computing the end offset overflowed 32 bits before widening to 64 bits.
Because SameNameIterator stops on exact equality, a wrapped offset
caused an infinite loop.

Compute the product in 64 bits and return an empty range if the end
offset exceeds the section size.

rdar://186839483


  Commit: cde11153fcbda7fce2299c6fe463f21cfb4a6208
      https://github.com/llvm/llvm-project/commit/cde11153fcbda7fce2299c6fe463f21cfb4a6208
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M flang-rt/unittests/Runtime/Assign.cpp

  Log Message:
  -----------
  [flang-rt][unittests] Define MAP_ANONYMOUS fallback for AIX in Assign tests (#224675)

We ran into 
```
flang-rt/unittests/Runtime/Assign.cpp:497:21: error: use of undeclared identifier 'MAP_ANONYMOUS'
  497 |       MAP_PRIVATE | MAP_ANONYMOUS, -1, 0)};
  ```
  
On AIX, `flang-rt` is built with `_XOPEN_SOURCE=700` and without `_ALL_SOURCE`, which prevents `<sys/mman.h> `from exposing `MAP_ANONYMOUS` / `MAP_ANON`. Provide a fallback definition so mmap unit tests introduced in PR #222101 compile successfully on AIX.


  Commit: 4648d33f8e759d7557fb5bb8a0978023fa67306b
      https://github.com/llvm/llvm-project/commit/4648d33f8e759d7557fb5bb8a0978023fa67306b
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
    M lldb/unittests/Process/minidump/MinidumpParserTest.cpp

  Log Message:
  -----------
  [lldb] Bounds check minidump location descriptors (#223911)

MinidumpParser::GetModuleUUID sliced the file with the RVA and DataSize
taken straight from a module's CvRecord. ArrayRef::slice asserts, but a
build without assertions still reads out of bounds.

Route both through MinidumpFile::getRawData, which range checks in 64
bits, and log the error rather than returning a slice that looks valid.

rdar://186889966
rdar://186890172


  Commit: b33f5efbfbfe621d77d90308c01f4a31ccf18fb1
      https://github.com/llvm/llvm-project/commit/b33f5efbfbfe621d77d90308c01f4a31ccf18fb1
  Author: Domenic Nutile <domenic.nutile at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_features.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][MC] Upstream gfx12 true16 disassembler test coverage (#223825)

Upstream new gfx12 disassembler test cases, covering true16 operand
(.l/.h)
and op_sel decoding for f16 opcodes that had no upstream coverage:


  Commit: 5301245b7d20fc4871a3253fd235a31e69f1bdfb
      https://github.com/llvm/llvm-project/commit/5301245b7d20fc4871a3253fd235a31e69f1bdfb
  Author: Akash Manna <akash.manna.mymail at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86InstrFragments.td
    A llvm/test/CodeGen/X86/pr222714.ll

  Log Message:
  -----------
  [X86] Don't drop a redundant 32-bit `and` whose users were selected as def32 (#223750)

Fixes #222714

Nothing was wrong with the IR or the DAG combines here; the `and %idx,
1` survived all the way into instruction selection. Isel selects users
before operands, so the `zext` of the (narrowed, i32) `and` had already
been turned into a `SUBREG_TO_REG` through the `def32` pattern, which
assumes the i32 producer zeroes the upper 32 bits. When isel then
reached the `and`, `shrinkAndImmediate` noticed via known bits that the
mask was redundant and replaced the `and` with its operand — a
`truncate` of a 64-bit `cmov`. That truncate is just a subregister copy,
so the already-emitted `SUBREG_TO_REG` ended up reading the whole 64-bit
register, and the upper bits went straight into the scaled address. The
`_BitInt(98)` is a red herring; the same thing happens with plain `i64`.

The `def32` predicate now lives in `X86DAGToDAGISel::isDef32` (the
PatLeaf calls it), and `shrinkAndImmediate` only drops a 32-bit `and`
when its operand satisfies that predicate. Otherwise it returns false
and the `and` is selected as a normal 32-bit instruction, which zeroes
the upper half as the users expect.


  Commit: b0d31f40189dbdcf8b62e2c6ef79b039c5202aba
      https://github.com/llvm/llvm-project/commit/b0d31f40189dbdcf8b62e2c6ef79b039c5202aba
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [clang][OpenMP] ORDERED clause is allowed on FOR in 4.5+ (#225106)

Several compound directives containing FOR were missing the ORDERED
clause in the set of allowed (once) clauses.


  Commit: 832df12314030ea46e1ea506cabd98d805ae7ce7
      https://github.com/llvm/llvm-project/commit/832df12314030ea46e1ea506cabd98d805ae7ce7
  Author: Yonah Goldberg <ygoldberg at nvidia.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
    M llvm/test/Transforms/SROA/phi-and-select.ll
    A llvm/test/Transforms/SROA/phi-store.ll

  Log Message:
  -----------
  [SROA] Enable alloca promotion for stores through pointer PHIs (#222893)

A store to an alloca through a phi-node prevents promotion of that
alloca in mem2reg. Mem2reg requires all users of the alloca to be
loads/stores. Fixes https://github.com/llvm/llvm-project/issues/202670.

The following is a motivating example:

```llvm
define i32 @store_to_phi(i1 %cond, i32 %value) {
entry:
  %a = alloca i32, align 4
  %b = alloca i32, align 4
  store i32 0, ptr %a, align 4
  store i32 0, ptr %b, align 4
  br i1 %cond, label %left, label %right

left:
  br label %merge

right:
  br label %merge

merge:
  %ptr = phi ptr [ %a, %left ], [ %b, %right ]
  store i32 %value, ptr %ptr, align 4
  %a.value = load i32, ptr %a, align 4
  %b.value = load i32, ptr %b, align 4
  %result = add i32 %a.value, %b.value
  ret i32 %result
}
```

To promote, we can rewrite this so that we store on each branch, before
the phi:

```llvm
define i32 @store_to_phi(i1 %cond, i32 %value) {
entry:
  %a = alloca i32, align 4
  %b = alloca i32, align 4
  store i32 0, ptr %a, align 4
  store i32 0, ptr %b, align 4
  br i1 %cond, label %left, label %right

left:
  store i32 %value, ptr %a, align 4
  br label %merge

right:
  store i32 %value, ptr %b, align 4
  br label %merge

merge:
  %a.value = load i32, ptr %a, align 4
  %b.value = load i32, ptr %b, align 4
  %result = add i32 %a.value, %b.value
  ret i32 %result
}
```

Now we can promote.

```llvm
define i32 @store_to_phi(i1 %cond, i32 %value) {
entry:
  br i1 %cond, label %left, label %right

left:
  br label %merge

right:
  br label %merge

merge:
  %a.value = phi i32 [ %value, %left ], [ 0, %right ]
  %b.value = phi i32 [ 0, %left ], [ %value, %right ]
  %result = add i32 %a.value, %b.value
  ret i32 %result
}
```

Later optimizations can reduce this to just `ret i32 %value`.

You can't always move the store directly into the phi's direct
predecessor. You can only do this if that predecessor's only has one
successor. Consider the following example:

```llvm
define void @store_to_phi_split_edge(
    i1 %choose_right, i1 %take_store, i32 %value, ptr %out) {
entry:
  %a = alloca i32, align 4
  br i1 %choose_right, label %right, label %left

left:
  br label %merge

right:
  br i1 %take_store, label %merge, label %exit

merge:
  %ptr = phi ptr [ %a, %left ], [ %out, %right ]
  store i32 %value, ptr %ptr, align 4
  br label %exit

exit:
  ret void
}
```

If we moved the store into the `right` branch, then we will now execute
the store when `right` branches directly to `exit`, whereas previously
we didn't. We fix this by splitting the `right` branch:

```llvm
define void @store_to_phi_split_edge(
    i1 %choose_right, i1 %take_store, i32 %value, ptr %out) {
entry:
  %a = alloca i32, align 4
  br i1 %choose_right, label %right, label %left

left:
  store i32 %value, ptr %a, align 4
  br label %merge

right:
  br i1 %take_store, label %right.to.merge, label %exit

right.to.merge:
  store i32 %value, ptr %out, align 4
  br label %merge

merge:
  br label %exit

exit:
  ret void
}
```

AI assisted.


  Commit: eaab73d4bbaafa471f2216d58172126d2fd7c2b6
      https://github.com/llvm/llvm-project/commit/eaab73d4bbaafa471f2216d58172126d2fd7c2b6
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    A clang/test/CIR/CodeGen/noinline-available-externally-skip.cpp

  Log Message:
  -----------
  [CIR] Correct the behavior of 'shouldEmitFunction' with always/noinline (#224378)

These attributes modified the linkage of functions in certain cases that
caused us to, ironically, skip emitting something when we picked it up
via PCH during self-build. This patch just copies/pastes the code from
classic codegen.


  Commit: 5dfe8605911e3f0f43fe2b5c08b4ffc23f2af37a
      https://github.com/llvm/llvm-project/commit/5dfe8605911e3f0f43fe2b5c08b4ffc23f2af37a
  Author: Pranav Kant <prka at google.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/CMakeLists.txt
    M clang/include/clang/Config/config.h.cmake
    M clang/lib/Interpreter/IncrementalExecutor.cpp
    M llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h

  Log Message:
  -----------
  [clang-repl] Add CLANG_ENABLE_EMUTLS_GET_ADDRESS cmake option (#217700)

Guard the extern "C" declaration and reference to __emutls_get_address
in IncrementalExecutor.cpp behind a new CMake option
CLANG_ENABLE_EMUTLS_GET_ADDRESS, which is OFF by default.

This prevents link errors in environments/runtimes where
__emutls_get_address is not available.

Replace all other guards with the new cmake option.


  Commit: 16dcf47ee4fb8a9cb6dd8759e7be6599d935b618
      https://github.com/llvm/llvm-project/commit/16dcf47ee4fb8a9cb6dd8759e7be6599d935b618
  Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMachObjectWriter.cpp
    M llvm/test/MC/RISCV/riscv-relocs-macho-data.s
    M llvm/test/MC/RISCV/riscv-relocs-macho.s

  Log Message:
  -----------
  [RISC-V][Mach-O] Fix bogus 12-bit range check on subtraction expressions. (#222205)

Assembling a subtraction expression whose offset does not fit in a
signed 12-bit integer, such as

    .word _a - _b + 5000

failed with a misleading diagnostic:

    error: AUIPC out of range of corresponding %pcrel_lo instruction

The check was copied from the %pcrel_lo path, where 12 bits is a real
constraint because the offset is inlined in the immediate field of an
addi or an lw. For data, the addend is stored inline in the bytes
being relocated, and a .word has all 32 bits available to hold it.

Drop the check. No extra relocation record is needed; the
offset is simply written in the data, as otool reports in the tests:

    .long 5000 @ KIND_DATA


  Commit: 5306fce6c317c13a5889e6909a7e3c959747fb02
      https://github.com/llvm/llvm-project/commit/5306fce6c317c13a5889e6909a7e3c959747fb02
  Author: R-Goc <ryszardgoc at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
    A clang/lib/CIR/CodeGen/CIRGenMicrosoftCXXABI.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerMicrosoftCXXABI.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
    A clang/test/CIR/CodeGen/cxx-msvc-abi.cpp

  Log Message:
  -----------
  [CIR] Add initial Microsoft C++ ABI support in ClangIR (#221038)

Stub out Microsoft C++ ABI support for ClangIR CodeGen and dialect
lowering:
- Stub out CIRGenMicrosoftCXXABI.
- Stub out LowerMicrosoftCXXABI to integrate into the TargetLowering
pass in CIR dialect transforms.
- Add error.NYI extensively.
- Add a minimal test file, mainly so that it is in tree.

Assisted-by: Gemini:gemini-3.8-flash-high


  Commit: 88c276ca9da8385ceb0b343db45f9f6f4dbaf8dd
      https://github.com/llvm/llvm-project/commit/88c276ca9da8385ceb0b343db45f9f6f4dbaf8dd
  Author: Yonah Goldberg <ygoldberg at nvidia.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/Loads.h
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/test/Transforms/InstCombine/atomic.ll

  Log Message:
  -----------
  [InstCombine] Preserve elementwise atomic access sizes (#223897)

There are two cases where instcombine currently will change the atomic
access size of an unordered elementwise atomic. Note that, for example,
`load atomic elementwise <4 x i32>` and `load atomic elementwise <2 x
i64>` do not have equivalent semantics. The former has 4 atomic accesses
and the latter has 2. Rewriting the former to the latter can introduce
mixed-size, concurrent, atomic accesses, which race in LLVM. Without
`elementwise`, rewriting _is_ legal.

The two cases are:

1. `mergeStoreIntoSuccessor`:

```
/// Try to transform:
///   if () { *P = v1; } else { *P = v2 }
/// or:
///   *P = v1; if () { *P = v2; }
/// into a phi node with a store in the successor.
```

You can't do this if the stores have different atomic access sizes.

2. Load CSE and load-to-store forwarding. These are also illegal if the
memory operations in question have different atomic access sizes.

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

AI assisted.


  Commit: 364f1c3d236c2cf3c15c0d4b119e7cdd05d1b945
      https://github.com/llvm/llvm-project/commit/364f1c3d236c2cf3c15c0d4b119e7cdd05d1b945
  Author: Daniel Cederman <cederman at gaisler.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/test/CodeGen/Sparc/sparc-vaarg.c
    M clang/test/CodeGen/Sparc/sparcv8-abi.c

  Log Message:
  -----------
  [Sparc][clang] Match GCC's SPARC V8 vector argument passing (#222254)

Pass floating-point vectors and vectors larger than 64 bits indirectly.

Assisted-by: Codex


  Commit: 37e2c3bc9610b7952405ddd7c3557c93e933e554
      https://github.com/llvm/llvm-project/commit/37e2c3bc9610b7952405ddd7c3557c93e933e554
  Author: Konstantinos Parasyris <koparasy at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    A clang/test/CIR/CodeGen/lowering-lang-options.cpp
    A clang/test/CIR/IR/lowering-lang-options.cir

  Log Message:
  -----------
  [CIR] Serialize lowering-relevant LangOptions as #cir.lowering_lang_options  (#224757)

Post-CIRGen lowering (LoweringPrepare, CallConvLowering) 
reads a handful of LangOptions flags that have no 
triple/module representation. A reloaded `.cir`
module has no live `clang::LangOptions`, so those flags must be
serialized for the file to be self-describing and lower the
same way it was compiled.

Add a module-level aggregate attribute `#cir.lowering_lang_options`
holding the LangOpts facts lowering consumes: "exceptions, 
threadsafe_statics, cuda, cuda_is_device, hip, gpu_rdc, openmp, 
openmp_is_target_device, and clang_abi_compat". Target-derived
facts (size_t width, CXXABI, comdat, char/pointer/atomic width,
SDK version, fp formats) are **NOT** stored: they are
rebuilt from `cir.triple`

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


  Commit: 27b50fc8e7908bc969635c61a96d6d3f08f79941
      https://github.com/llvm/llvm-project/commit/27b50fc8e7908bc969635c61a96d6d3f08f79941
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Support/InternalNames.h
    M flang/lib/Optimizer/Support/InternalNames.cpp
    M flang/unittests/Optimizer/InternalNamesTest.cpp

  Log Message:
  -----------
  [flang] Add option to exclude array literals from isCompilerGenerated (#225164)

This is used to register variables under -gpu=mem:unified and array
literals can stay as device resident.


  Commit: 2e2655f10d1a05bb585e172083b448a25a5b7434
      https://github.com/llvm/llvm-project/commit/2e2655f10d1a05bb585e172083b448a25a5b7434
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/test/CodeGen/AMDGPU/mad-mix-fptrunc-rounding.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll

  Log Message:
  -----------
  [AMDGPU] Require flushed FP16 denormals for the mad-mix f16 results (#224911)

v_mad_mixlo_f16 and v_mad_mixhi_f16 are the unfused gfx900 forms and flush 16-bit denormals, so a denormal half result is written as zero even when the FP16 mode asks for it to be kept, while the patterns only required the FP32 mode to flush and that is the one a HIP compile turns off on its own.

Assisted-by: Claude Code Opus 5


  Commit: e7b5aa9b5734121f94527261320fcbdb573f37f4
      https://github.com/llvm/llvm-project/commit/e7b5aa9b5734121f94527261320fcbdb573f37f4
  Author: Jelle Schühmacher <schuehmacher at roofline.ai>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp

  Log Message:
  -----------
  [mlir][linalg] Fix exponential walk of tensor.extract indices (#222319)

`isLoopInvariantIdx` showed exponential runtime behavior. Replaced with
a worklist and a visited set.

Encountered in iree-org/iree#24886.

Assisted-by: Claude

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


  Commit: 1492dbc61765111d035eb5a27ea71e7527a8c6c0
      https://github.com/llvm/llvm-project/commit/1492dbc61765111d035eb5a27ea71e7527a8c6c0
  Author: Adam Magier <adam.a.magier.foss at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/test/CodeGen/ubsan-pointer-overflow-constant-fold.c

  Log Message:
  -----------
  [clang][CodeGen] Compute the pointer-overflow offset from the index list (#225139)

Follow up to #223446. EmitGEPOffsetInBytes recreated the offset by
walking the GEP value that EmitCheckedInBoundsGEP had just created. That
required a separate path for the case where CreateGEP folded the result,
because a folded GEP need not be a GEP at all: `gep(null, 1)` becomes
`inttoptr(1)`, and `gep(@g, 0)` becomes `@g`.

Pass ElemTy and IdxList instead and walk those directly. This removes
the constant path, the cast to GEPOperator, and two asserts that
restated the caller's own behaviour.

This is not quite NFC. The constant path reported OffsetOverflows as
false unconditionally, so a constant GEP whose byte offset wrapped to
exactly zero satisfied the TotalOffset == Zero early return and emitted
no check. The unified path computes the flag, so such a GEP now emits
one. It is provably valid, since TotalOffset == 0 makes the computed
address equal the base, so this is extra IR at -O0 rather than a change
in behaviour.

Add constant-base cases to ubsan-pointer-overflow-constant-fold.c,
including the wraps-to-zero case: it passes before this change only
because no check is emitted at all.

Assisted-by: Kiro CLI / Claude Opus 5


  Commit: b09f78de3c4163d6c52971c185dcf4ed66015d06
      https://github.com/llvm/llvm-project/commit/b09f78de3c4163d6c52971c185dcf4ed66015d06
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

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

  Log Message:
  -----------
  [WebAssembly] Remove an unnecessary variable (NFC) (#224962)

That `CPI` had a use when first written in
https://github.com/llvm/llvm-project/commit/99d60e0dabcf20f4db683da83cde905b7a1373de
but after
https://github.com/llvm/llvm-project/commit/445f4e74841e87da06743a4c126b09c9b9b05124
it's not necessary to cast it anymore.


  Commit: 0b04288569e3daff0c42e302d6e024056eedb895
      https://github.com/llvm/llvm-project/commit/0b04288569e3daff0c42e302d6e024056eedb895
  Author: Adam Magier <adam.a.magier.foss at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:

  Log Message:
  -----------
  [clang][CodeGen] Compute the pointer-overflow offset from the index list (#225139)

Follow up to #223446. EmitGEPOffsetInBytes recreated the offset by
walking the GEP value that EmitCheckedInBoundsGEP had just created. That
required a separate path for the case where CreateGEP folded the result,
because a folded GEP need not be a GEP at all: `gep(null, 1)` becomes
`inttoptr(1)`, and `gep(@g, 0)` becomes `@g`.

Pass ElemTy and IdxList instead and walk those directly. This removes
the constant path, the cast to GEPOperator, and two asserts that
restated the caller's own behaviour.

This is not quite NFC. The constant path reported OffsetOverflows as
false unconditionally, so a constant GEP whose byte offset wrapped to
exactly zero satisfied the TotalOffset == Zero early return and emitted
no check. The unified path computes the flag, so such a GEP now emits
one. It is provably valid, since TotalOffset == 0 makes the computed
address equal the base, so this is extra IR at -O0 rather than a change
in behaviour.

Add constant-base cases to ubsan-pointer-overflow-constant-fold.c,
including the wraps-to-zero case: it passes before this change only
because no check is emitted at all.

Assisted-by: Kiro CLI / Claude Opus 5


  Commit: ae22af25cef652dd1741ae720c29d2ecdf627037
      https://github.com/llvm/llvm-project/commit/ae22af25cef652dd1741ae720c29d2ecdf627037
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/Passes/CodeGenPassBuilder.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp

  Log Message:
  -----------
  WebAssembly: Move target EH passes into backend (#225172)

Currently the wasm-specific EH lowering passes are added in the
generic pass configs, driven by the TargetOptions ExceptionModel.
As preparation for driving this process off the IR flag, move these
pass runs into the target. There should be no change in the relative
pass ordering.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>


  Commit: 0b0043c2fc93b64b82a8136f97d9dcc60c05d40f
      https://github.com/llvm/llvm-project/commit/0b0043c2fc93b64b82a8136f97d9dcc60c05d40f
  Author: Julian Brown <julian.brown at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M .ci/all_requirements.txt
    M .ci/compute_projects.py
    M .ci/compute_projects_test.py
    M .ci/generate_test_report_lib.py
    M .ci/green-dragon/lldb-ubuntu.groovy
    M .ci/metrics/Dockerfile
    M .ci/metrics/metrics.py
    M .ci/utils.sh
    M .git-blame-ignore-revs
    M .github/new-prs-labeler.yml
    M .github/workflows/build-ci-container-tooling.yml
    M .github/workflows/build-ci-container.yml
    M .github/workflows/ci-post-commit-analyzer.yml
    M .github/workflows/commit-access-greeter.yml
    M .github/workflows/commit-access-review.yml
    M .github/workflows/containers/github-action-ci-tooling/Dockerfile
    M .github/workflows/containers/github-action-ci-windows/Dockerfile
    M .github/workflows/containers/github-action-ci/Dockerfile
    M .github/workflows/containers/libc/Dockerfile
    M .github/workflows/get-llvm-version/action.yml
    M .github/workflows/ids-check.yml
    M .github/workflows/issue-write.yml
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libc-overlay-tests.yml
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/libcxx-benchmark-commit.yml
    A .github/workflows/libcxx-benchmark-cron.yml
    M .github/workflows/libcxx-pr-benchmark.yml
    M .github/workflows/libcxx-pr-conformance-tests.yaml
    M .github/workflows/libcxx-pr-test-tools.yml
    M .github/workflows/llvm-abi-tests.yml
    M .github/workflows/merged-prs.yml
    M .github/workflows/mlir-spirv-tests.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-code-format.yml
    M .github/workflows/pr-code-lint.yml
    M .github/workflows/premerge.yaml
    M .github/workflows/release-asset-audit.yml
    M .github/workflows/release-binaries-all.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-documentation.yml
    R .github/workflows/release-doxygen.yml
    M .github/workflows/release-tasks.yml
    M .github/workflows/spirv-tests.yml
    M .github/workflows/subscriber.yml
    M .github/workflows/sycl-tests.yml
    M .github/workflows/test-suite.yml
    M .github/workflows/upload-release-artifact/action.yml
    M .mailmap
    M CODE_OF_CONDUCT.md
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Core/Exceptions.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Core/Relocation.h
    M bolt/include/bolt/Passes/LivenessAnalysis.h
    M bolt/include/bolt/Passes/LongJmp.h
    M bolt/include/bolt/Profile/Heatmap.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/include/bolt/Utils/Utils.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Core/Exceptions.cpp
    M bolt/lib/Core/Relocation.cpp
    M bolt/lib/Passes/AArch64RelaxationPass.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/FixRISCVCallsPass.cpp
    M bolt/lib/Passes/IdenticalCodeFolding.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Passes/MCF.cpp
    M bolt/lib/Passes/ReorderData.cpp
    M bolt/lib/Profile/CMakeLists.txt
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/Heatmap.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/AArch64/CMakeLists.txt
    M bolt/lib/Target/RISCV/CMakeLists.txt
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    A bolt/lib/Target/RISCV/RISCVMCSymbolizer.cpp
    A bolt/lib/Target/RISCV/RISCVMCSymbolizer.h
    M bolt/lib/Target/X86/CMakeLists.txt
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    M bolt/lib/Utils/Utils.cpp
    M bolt/runtime/common.h
    M bolt/runtime/instr.cpp
    M bolt/runtime/sys_aarch64.h
    A bolt/test/AArch64/adr-relaxation-large-non-simple.s
    A bolt/test/AArch64/edge-weight-estimation-fixes.s
    A bolt/test/AArch64/materialize-constant.s
    A bolt/test/AArch64/merge-text-sections.s
    A bolt/test/AArch64/relax-exp.s
    M bolt/test/AArch64/use-old-text-zero-padding.c
    M bolt/test/AArch64/validate-branch-target.s
    A bolt/test/RISCV/call-link-register.s
    A bolt/test/RISCV/call-relocation-pair.s
    A bolt/test/RISCV/cond-tail-call.s
    A bolt/test/RISCV/conditional-tail-call-relocs.s
    A bolt/test/RISCV/conditional-tail-call-zibi.s
    A bolt/test/RISCV/conditional-tail-call.s
    A bolt/test/RISCV/ifunc.s
    A bolt/test/RISCV/invert-branch-zibi.s
    A bolt/test/RISCV/plt-call.test
    M bolt/test/RISCV/relax.s
    M bolt/test/RISCV/reloc-bb-split-rv32.s
    M bolt/test/RISCV/reloc-bb-split.s
    A bolt/test/RISCV/reloc-got-moved-rv32.s
    A bolt/test/RISCV/reloc-got-moved.s
    M bolt/test/RISCV/reloc-got.s
    A bolt/test/RISCV/reloc-pcrel-moved-rv32.s
    A bolt/test/RISCV/reloc-pcrel-moved.s
    M bolt/test/RISCV/reloc-pcrel-rv32.s
    M bolt/test/RISCV/reloc-pcrel.s
    A bolt/test/RISCV/relr.s
    A bolt/test/RISCV/unsymbolized-call-edge.s
    A bolt/test/RISCV/unsymbolized-call-entry.s
    A bolt/test/RISCV/unsymbolized-call.s
    A bolt/test/RISCV/unsymbolized-long-jump.s
    A bolt/test/RISCV/weak-undefined-tail-call.s
    A bolt/test/X86/code-section-order-injected.s
    M bolt/test/X86/heatmap-preagg.test
    A bolt/test/X86/icp-pic.s
    A bolt/test/X86/shrinkwrapping-byte-access.s
    M bolt/test/X86/validate-branch-target.s
    M bolt/test/runtime/RISCV/basic-instrumentation.s
    A bolt/test/runtime/X86/lsda-absolute-udata4.test
    A bolt/test/runtime/X86/rela-plt-order.c
    M bolt/test/runtime/setup-race.cpp
    M bolt/test/runtime/thin-archive.c
    M bolt/test/safe-icf-relative-vtable.cpp
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/CMakeLists.txt
    M bolt/unittests/Core/MCPlusBuilder.cpp
    M bolt/unittests/Core/MemoryMaps.cpp
    M bolt/unittests/Profile/CMakeLists.txt
    M bolt/unittests/Profile/PerfScripts.cpp
    M clang-tools-extra/CMakeLists.txt
    M clang-tools-extra/Maintainers.md
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py
    M clang-tools-extra/clang-tidy/.clang-tidy
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
    M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
    M clang-tools-extra/clang-tidy/add_new_check.py
    M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/PointerArithmeticOnPolymorphicObjectCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
    A clang-tools-extra/clang-tidy/llvm/InvalidRegexPatternCheck.cpp
    A clang-tools-extra/clang-tidy/llvm/InvalidRegexPatternCheck.h
    M clang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
    M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
    M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNoexceptCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
    A clang-tools-extra/clang-tidy/modernize/UseToUnderlyingCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseToUnderlyingCheck.h
    M clang-tools-extra/clang-tidy/performance/InefficientAlgorithmCheck.cpp
    A clang-tools-extra/clang-tidy/portability/AvoidPragmaCommentCheck.cpp
    A clang-tools-extra/clang-tidy/portability/AvoidPragmaCommentCheck.h
    M clang-tools-extra/clang-tidy/portability/CMakeLists.txt
    M clang-tools-extra/clang-tidy/portability/PortabilityTidyModule.cpp
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp
    M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
    M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.h
    M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
    M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
    A clang-tools-extra/clang-tidy/readability/RedundantZeroInitializerCheck.cpp
    A clang-tools-extra/clang-tidy/readability/RedundantZeroInitializerCheck.h
    M clang-tools-extra/clang-tidy/readability/TrailingCommaCheck.cpp
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
    M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/clangd/AST.cpp
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/CompileCommands.cpp
    M clang-tools-extra/clangd/Config.h
    M clang-tools-extra/clangd/ConfigCompile.cpp
    M clang-tools-extra/clangd/ConfigFragment.h
    M clang-tools-extra/clangd/ConfigYAML.cpp
    M clang-tools-extra/clangd/Diagnostics.cpp
    M clang-tools-extra/clangd/Diagnostics.h
    M clang-tools-extra/clangd/DumpAST.cpp
    M clang-tools-extra/clangd/FeatureModule.h
    M clang-tools-extra/clangd/FindSymbols.cpp
    M clang-tools-extra/clangd/FindTarget.cpp
    M clang-tools-extra/clangd/Hover.cpp
    M clang-tools-extra/clangd/IncludeCleaner.cpp
    M clang-tools-extra/clangd/IncludeFixer.cpp
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/clangd/ModulesBuilder.h
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/ParsedAST.h
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/Preamble.h
    M clang-tools-extra/clangd/Selection.cpp
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/index/YAMLSerialization.cpp
    M clang-tools-extra/clangd/refactor/tweaks/ExpandDeducedType.cpp
    M clang-tools-extra/clangd/refactor/tweaks/ExtractFunction.cpp
    M clang-tools-extra/clangd/test/remote-index/pipeline_helper.py
    M clang-tools-extra/clangd/unittests/ASTTests.cpp
    M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
    M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
    M clang-tools-extra/clangd/unittests/ExpectedTypeTest.cpp
    M clang-tools-extra/clangd/unittests/FeatureModulesTests.cpp
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/clangd/unittests/HoverTests.cpp
    M clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp
    M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
    M clang-tools-extra/clangd/unittests/InsertionPointTests.cpp
    M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
    M clang-tools-extra/clangd/unittests/PreambleTests.cpp
    M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
    M clang-tools-extra/clangd/unittests/SerializationTests.cpp
    M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
    M clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/ExtractFunctionTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/docs/_static/clang-tools-extra-styles.css
    M clang-tools-extra/docs/clang-change-namespace.md
    M clang-tools-extra/docs/clang-doc.md
    M clang-tools-extra/docs/clang-include-fixer.md
    M clang-tools-extra/docs/clang-reorder-fields.md
    M clang-tools-extra/docs/clang-tidy/QueryBasedCustomChecks.rst
    A clang-tools-extra/docs/clang-tidy/checks/altera/single-work-item-barrier.md
    R clang-tools-extra/docs/clang-tidy/checks/altera/single-work-item-barrier.rst
    A clang-tools-extra/docs/clang-tidy/checks/altera/struct-pack-align.md
    R clang-tools-extra/docs/clang-tidy/checks/altera/struct-pack-align.rst
    A clang-tools-extra/docs/clang-tidy/checks/altera/unroll-loops.md
    R clang-tools-extra/docs/clang-tidy/checks/altera/unroll-loops.rst
    A clang-tools-extra/docs/clang-tidy/checks/android/comparison-in-temp-failure-retry.md
    R clang-tools-extra/docs/clang-tidy/checks/android/comparison-in-temp-failure-retry.rst
    A clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.md
    R clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-realloc-usage.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-realloc-usage.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-semicolon.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-semicolon.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-string-compare.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-string-compare.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/swapped-arguments.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/swapped-arguments.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/switch-missing-default-case.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/switch-missing-default-case.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/tagged-union-member-count.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/tagged-union-member-count.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-optional-access.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-optional-access.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-string-to-number-conversion.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-string-to-number-conversion.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/undefined-memory-manipulation.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/undefined-memory-manipulation.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-code-paths.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-code-paths.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-exception-at-new.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-exception-at-new.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unique-ptr-array-mismatch.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unique-ptr-array-mismatch.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-to-allow-exceptions.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-to-allow-exceptions.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-local-non-trivial-variable.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-local-non-trivial-variable.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-raii.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-raii.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-return-value.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-return-value.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/concurrency/mt-unsafe.md
    R clang-tools-extra/docs/clang-tidy/checks/concurrency/mt-unsafe.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-enum-class.rst
    A clang-tools-extra/docs/clang-tidy/checks/fuchsia/statically-constructed-objects.md
    R clang-tools-extra/docs/clang-tidy/checks/fuchsia/statically-constructed-objects.rst
    A clang-tools-extra/docs/clang-tidy/checks/fuchsia/temporary-objects.md
    R clang-tools-extra/docs/clang-tidy/checks/fuchsia/temporary-objects.rst
    A clang-tools-extra/docs/clang-tidy/checks/fuchsia/trailing-return.md
    R clang-tools-extra/docs/clang-tidy/checks/fuchsia/trailing-return.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.md
    A clang-tools-extra/docs/clang-tidy/checks/llvm/invalid-regex-pattern.md
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-nullptr.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-to-underlying.md
    A clang-tools-extra/docs/clang-tidy/checks/portability/avoid-pragma-comment.md
    A clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/avoid-unconditional-preprocessor-if.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/avoid-unconditional-preprocessor-if.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/braces-around-statements.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/braces-around-statements.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/const-return-type.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/const-return-type.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/duplicate-include.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/duplicate-include.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/else-after-return.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/else-after-return.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/function-cognitive-complexity.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/function-cognitive-complexity.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/function-size.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/function-size.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/identifier-length.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/identifier-length.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-ifelse-braces.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-ifelse-braces.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/isolate-declaration.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/isolate-declaration.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/magic-numbers.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/magic-numbers.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/make-member-function-const.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/make-member-function-const.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/misleading-indentation.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/misleading-indentation.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/named-parameter.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/named-parameter.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/non-const-parameter.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/non-const-parameter.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/operators-representation.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/operators-representation.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/qualified-auto.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/qualified-auto.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-access-specifiers.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/redundant-access-specifiers.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-casting.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/redundant-casting.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-control-flow.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/redundant-control-flow.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-declaration.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/redundant-declaration.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-inline-specifier.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/redundant-inline-specifier.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-zero-initializer.md
    M clang-tools-extra/docs/clang-tidy/index.rst
    M clang-tools-extra/docs/conf.py
    M clang-tools-extra/docs/pp-trace.md
    M clang-tools-extra/include-cleaner/CMakeLists.txt
    M clang-tools-extra/include-cleaner/lib/Analysis.cpp
    M clang-tools-extra/include-cleaner/lib/AnalysisInternal.h
    M clang-tools-extra/include-cleaner/lib/FindHeaders.cpp
    M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
    M clang-tools-extra/include-cleaner/lib/IncludeSpeller.cpp
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
    M clang-tools-extra/modularize/Modularize.cpp
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/utility
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-coro-unknown.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-treat-functions-without-specification-as-throwing.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-short.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/macro-parentheses.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-pointer-arithmetic-in-alloc.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/pointer-arithmetic-on-polymorphic-object-all.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/pointer-arithmetic-on-polymorphic-object-decl-only.cpp
    A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward-cxx20.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/use-enum-class.cpp
    A clang-tools-extra/test/clang-tidy/checkers/llvm/invalid-regex-pattern.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-decltype-auto.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers-invalid-decl-no-crash.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-noexcept-unparsed-exception-spec.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-t.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-to-underlying-custom-function.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-to-underlying-imprecise-casts.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-to-underlying-invalid-config.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-to-underlying.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-algorithm.cpp
    A clang-tools-extra/test/clang-tidy/checkers/portability/avoid-pragma-comment.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/hungarian-notation1/.clang-tidy
    M clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value-allow-refs-combined.c
    A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value-allow-refs.c
    A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value-allow-refs.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity-alias.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-allow-trailing-underscore.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-lambda-capture.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-typedef-inherit-anon-tag-config.c
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-typedef-inherit-anon-tag-config.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses-c23.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-zero-initializer.c
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-zero-initializer.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx11.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx20.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma.c
    M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-diff.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
    M clang/CMakeLists.txt
    M clang/Maintainers.md
    M clang/bindings/python/.git_archival.txt
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/HLSL.cmake
    M clang/cmake/modules/CMakeLists.txt
    M clang/cmake/modules/ClangConfig.cmake.in
    M clang/docs/AMDGPUSupport.md
    M clang/docs/AddressSanitizer.md
    M clang/docs/AllocToken.md
    A clang/docs/AutomaticReferenceCounting.md
    R clang/docs/AutomaticReferenceCounting.rst
    A clang/docs/Block-ABI-Apple.md
    R clang/docs/Block-ABI-Apple.rst
    A clang/docs/BlockLanguageSpec.md
    R clang/docs/BlockLanguageSpec.rst
    M clang/docs/BoundsSafety.md
    M clang/docs/BoundsSafetyAdoptionGuide.md
    M clang/docs/BoundsSafetyImplPlans.md
    A clang/docs/CIR/ABILowering.md
    R clang/docs/CIR/ABILowering.rst
    A clang/docs/CIR/CleanupAndEHDesign.md
    R clang/docs/CIR/CleanupAndEHDesign.rst
    A clang/docs/CIR/CodeDuplication.md
    R clang/docs/CIR/CodeDuplication.rst
    M clang/docs/CMakeLists.txt
    M clang/docs/CXXTypeAwareAllocators.md
    M clang/docs/ClangFormatStyleOptions.md
    M clang/docs/ClangLinkerWrapper.md
    M clang/docs/ClangNVLinkWrapper.md
    M clang/docs/ClangOffloadBundler.md
    M clang/docs/ClangSYCLLinker.md
    M clang/docs/ClangTransformerTutorial.md
    A clang/docs/CommandGuide/clang.md
    R clang/docs/CommandGuide/clang.rst
    A clang/docs/CommandGuide/diagtool.md
    R clang/docs/CommandGuide/diagtool.rst
    A clang/docs/ConstantInterpreter.md
    R clang/docs/ConstantInterpreter.rst
    M clang/docs/ControlFlowIntegrity.md
    A clang/docs/ControlFlowIntegrityDesign.md
    R clang/docs/ControlFlowIntegrityDesign.rst
    M clang/docs/DataFlowAnalysisIntro.md
    M clang/docs/DataFlowSanitizer.md
    A clang/docs/DataFlowSanitizerDesign.md
    R clang/docs/DataFlowSanitizerDesign.rst
    M clang/docs/DebuggingCoroutines.md
    M clang/docs/DriverInternals.md
    M clang/docs/FAQ.md
    M clang/docs/FunctionEffectAnalysis.md
    M clang/docs/HIPSupport.md
    A clang/docs/HLSL/AvailabilityDiagnostics.md
    R clang/docs/HLSL/AvailabilityDiagnostics.rst
    A clang/docs/HLSL/EntryFunctions.md
    R clang/docs/HLSL/EntryFunctions.rst
    A clang/docs/HLSL/ExpectedDifferences.md
    R clang/docs/HLSL/ExpectedDifferences.rst
    A clang/docs/HLSL/FunctionCalls.md
    R clang/docs/HLSL/FunctionCalls.rst
    A clang/docs/HLSL/HLSLIRReference.md
    R clang/docs/HLSL/HLSLIRReference.rst
    A clang/docs/HLSL/HLSLSupport.md
    R clang/docs/HLSL/HLSLSupport.rst
    A clang/docs/HLSL/ResourceTypes.md
    R clang/docs/HLSL/ResourceTypes.rst
    A clang/docs/HardwareAssistedAddressSanitizer.md
    A clang/docs/HardwareAssistedAddressSanitizerDesign.md
    R clang/docs/HardwareAssistedAddressSanitizerDesign.rst
    M clang/docs/InternalsManual.md
    A clang/docs/ItaniumMangleAbiTags.md
    R clang/docs/ItaniumMangleAbiTags.rst
    A clang/docs/LLVMExceptionHandlingCodeGen.md
    R clang/docs/LLVMExceptionHandlingCodeGen.rst
    M clang/docs/LanguageExtensions.md
    M clang/docs/LeakSanitizer.md
    M clang/docs/LibASTImporter.md
    M clang/docs/LibASTMatchers.md
    M clang/docs/LifetimeSafety.md
    A clang/docs/MatrixTypes.md
    R clang/docs/MatrixTypes.rst
    M clang/docs/MemorySanitizer.md
    M clang/docs/MisExpect.md
    M clang/docs/Modules.md
    A clang/docs/ObjectiveCLiterals.md
    R clang/docs/ObjectiveCLiterals.rst
    A clang/docs/OffloadingDesign.md
    R clang/docs/OffloadingDesign.rst
    M clang/docs/OpenCLSupport.md
    M clang/docs/OpenMPSupport.md
    M clang/docs/OverflowBehaviorTypes.md
    A clang/docs/PCHInternals.md
    R clang/docs/PCHInternals.rst
    M clang/docs/PointerAuthentication.md
    M clang/docs/RISCVSupport.md
    M clang/docs/RealtimeSanitizer.md
    M clang/docs/ReleaseNotes.md
    M clang/docs/SYCLSupport.md
    M clang/docs/SafeBuffers.md
    M clang/docs/SafeStack.md
    M clang/docs/SanitizerCoverage.md
    M clang/docs/SanitizerSpecialCaseList.md
    M clang/docs/SanitizerStats.md
    A clang/docs/ScalableStaticAnalysis/developer-docs/ForceLinkerHeaders.md
    R clang/docs/ScalableStaticAnalysis/developer-docs/ForceLinkerHeaders.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/HowToExtend.md
    R clang/docs/ScalableStaticAnalysis/developer-docs/HowToExtend.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/SummaryExtractionInternals.md
    R clang/docs/ScalableStaticAnalysis/developer-docs/SummaryExtractionInternals.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/index.md
    R clang/docs/ScalableStaticAnalysis/developer-docs/index.rst
    A clang/docs/ScalableStaticAnalysis/user-docs/SourceEditGeneration.md
    R clang/docs/ScalableStaticAnalysis/user-docs/SourceEditGeneration.rst
    A clang/docs/ScalableStaticAnalysis/user-docs/SummaryExtraction.md
    R clang/docs/ScalableStaticAnalysis/user-docs/SummaryExtraction.rst
    M clang/docs/ShadowCallStack.md
    M clang/docs/SourceBasedCodeCoverage.md
    M clang/docs/StandardCPlusPlusModules.md
    M clang/docs/StructureProtection.md
    M clang/docs/ThinLTO.md
    M clang/docs/ThreadSanitizer.md
    M clang/docs/Toolchain.md
    M clang/docs/TypeSanitizer.md
    M clang/docs/UndefinedBehaviorSanitizer.md
    M clang/docs/UsersManual.md
    M clang/docs/WarningSuppressionMappings.md
    A clang/docs/_static/custom.css
    A clang/docs/analyzer/checkers.md
    R clang/docs/analyzer/checkers.rst
    M clang/docs/analyzer/conf.py
    A clang/docs/analyzer/developer-docs.md
    R clang/docs/analyzer/developer-docs.rst
    A clang/docs/analyzer/developer-docs/DebugChecks.md
    R clang/docs/analyzer/developer-docs/DebugChecks.rst
    A clang/docs/analyzer/developer-docs/IPA.md
    R clang/docs/analyzer/developer-docs/IPA.rst
    A clang/docs/analyzer/developer-docs/InitializerLists.md
    R clang/docs/analyzer/developer-docs/InitializerLists.rst
    A clang/docs/analyzer/developer-docs/PerformanceInvestigation.md
    R clang/docs/analyzer/developer-docs/PerformanceInvestigation.rst
    A clang/docs/analyzer/developer-docs/RegionStore.md
    R clang/docs/analyzer/developer-docs/RegionStore.rst
    A clang/docs/analyzer/developer-docs/Statistics.md
    R clang/docs/analyzer/developer-docs/Statistics.rst
    A clang/docs/analyzer/developer-docs/nullability.md
    R clang/docs/analyzer/developer-docs/nullability.rst
    A clang/docs/analyzer/user-docs.md
    R clang/docs/analyzer/user-docs.rst
    A clang/docs/analyzer/user-docs/Annotations.md
    R clang/docs/analyzer/user-docs/Annotations.rst
    A clang/docs/analyzer/user-docs/CommandLineUsage.md
    R clang/docs/analyzer/user-docs/CommandLineUsage.rst
    A clang/docs/analyzer/user-docs/CrossTranslationUnit.md
    R clang/docs/analyzer/user-docs/CrossTranslationUnit.rst
    A clang/docs/analyzer/user-docs/FAQ.md
    R clang/docs/analyzer/user-docs/FAQ.rst
    A clang/docs/analyzer/user-docs/FilingBugs.md
    R clang/docs/analyzer/user-docs/FilingBugs.rst
    A clang/docs/analyzer/user-docs/Installation.md
    R clang/docs/analyzer/user-docs/Installation.rst
    A clang/docs/analyzer/user-docs/TaintAnalysisConfiguration.md
    R clang/docs/analyzer/user-docs/TaintAnalysisConfiguration.rst
    A clang/docs/analyzer/user-docs/UsingWithXCode.md
    R clang/docs/analyzer/user-docs/UsingWithXCode.rst
    M clang/docs/conf.py
    A clang/docs/index.md
    R clang/docs/index.rst
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/APValue.h
    M clang/include/clang/AST/ASTConcept.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/ComputeDependence.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclContextInternals.h
    M clang/include/clang/AST/DeclFriend.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/DependenceFlags.h
    M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/ExprConcepts.h
    M clang/include/clang/AST/ExprObjC.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/AST/GlobalDecl.h
    M clang/include/clang/AST/HLSLResource.h
    M clang/include/clang/AST/JSONNodeDumper.h
    M clang/include/clang/AST/NestedNameSpecifier.h
    M clang/include/clang/AST/NestedNameSpecifierBase.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/PrettyPrinter.h
    M clang/include/clang/AST/PropertiesBase.td
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Redeclarable.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/AST/TemplateName.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/AST/TypeBase.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/include/clang/Analysis/AnyCall.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    R clang/include/clang/Analysis/FlowSensitive/DataflowValues.h
    M clang/include/clang/Analysis/ProgramPoint.h
    M clang/include/clang/Basic/AArch64CodeGenUtils.h
    M clang/include/clang/Basic/ABIVersions.def
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/include/clang/Basic/AllDiagnosticKinds.inc
    M clang/include/clang/Basic/AllDiagnostics.h
    M clang/include/clang/Basic/AtomicLineLogger.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/BuiltinTraits.td
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAArch64.td
    M clang/include/clang/Basic/BuiltinsAArch64NeonSVEBridge.def
    M clang/include/clang/Basic/BuiltinsAArch64NeonSVEBridge_cg.def
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
    M clang/include/clang/Basic/BuiltinsNVPTX.td
    M clang/include/clang/Basic/BuiltinsPPC.def
    M clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/include/clang/Basic/BuiltinsX86_64.td
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/DarwinSDKInfo.h
    M clang/include/clang/Basic/DebugOptions.def
    M clang/include/clang/Basic/DeclNodes.td
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Basic/Diagnostic.td
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    A clang/include/clang/Basic/DiagnosticCodeGen.h
    A clang/include/clang/Basic/DiagnosticCodeGenKinds.td
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticDocs.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticIDs.h
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/FileEntry.h
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Basic/HLSLIntrinsics.td
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/OffloadArch.h
    M clang/include/clang/Basic/OpenMPKinds.def
    M clang/include/clang/Basic/PointerAuthOptions.h
    M clang/include/clang/Basic/SanitizerSpecialCaseList.h
    M clang/include/clang/Basic/SourceLocation.h
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TargetOptions.h
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Basic/riscv_vector_common.td
    A clang/include/clang/CIR/Dialect/Analysis/CIRAliasAnalysis.h
    A clang/include/clang/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.h
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
    M clang/include/clang/CIR/Dialect/IR/CIROpenCLAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
    M clang/include/clang/CIR/Dialect/Passes.h
    M clang/include/clang/CIR/Dialect/Passes.td
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
    M clang/include/clang/CIR/LowerToLLVM.h
    M clang/include/clang/CIR/LoweringHelpers.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/CodeGen/BackendUtil.h
    M clang/include/clang/CodeGen/ConstantInitBuilder.h
    M clang/include/clang/CodeGen/ModuleBuilder.h
    A clang/include/clang/CodeGenUtils/CodeGenUtils.h
    M clang/include/clang/Config/config.h.cmake
    M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
    M clang/include/clang/DependencyScanning/ModuleDepCollector.h
    M clang/include/clang/Driver/Action.h
    M clang/include/clang/Driver/CommonArgs.h
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/ModulesDriver.h
    M clang/include/clang/Driver/Tool.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Driver/Types.def
    M clang/include/clang/Driver/Types.h
    M clang/include/clang/Edit/EditedSource.h
    M clang/include/clang/ExtractAPI/API.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendAction.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/include/clang/Frontend/PrecompiledPreamble.h
    M clang/include/clang/Frontend/SSAFOptions.h
    M clang/include/clang/InstallAPI/FileList.h
    M clang/include/clang/Lex/DependencyDirectivesScanner.h
    M clang/include/clang/Lex/HeaderSearch.h
    M clang/include/clang/Lex/HeaderSearchOptions.h
    M clang/include/clang/Lex/Lexer.h
    M clang/include/clang/Lex/MacroInfo.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Lex/PreprocessorOptions.h
    M clang/include/clang/Options/ClangOptionDocs.td
    M clang/include/clang/Options/FlangOptions.td
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevel.h
    M clang/include/clang/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlow.h
    M clang/include/clang/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
    M clang/include/clang/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.h
    M clang/include/clang/ScalableStaticAnalysis/BuiltinAnchorSources.def
    M clang/include/clang/ScalableStaticAnalysis/Core/ASTEntityMapping.h
    M clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/EntityLinker.h
    M clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/MultiArchStaticLibrary.h
    M clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/StaticLibrary.h
    M clang/include/clang/ScalableStaticAnalysis/Core/Model/BuildNamespace.h
    M clang/include/clang/ScalableStaticAnalysis/Core/Support/FormatProviders.h
    M clang/include/clang/ScalableStaticAnalysis/SourceTransformation/Transformation.h
    M clang/include/clang/ScalableStaticAnalysis/SourceTransformation/TransformationRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/Transformations/CppBoundedBuffers.h
    M clang/include/clang/ScalableStaticAnalysis/Tool/Utils.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/ExternalSemaSource.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaAMDGPU.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Sema/SemaSwift.h
    M clang/include/clang/Sema/SemaWasm.h
    M clang/include/clang/Sema/Template.h
    M clang/include/clang/Sema/TemplateDeduction.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/StaticAnalyzer/Checkers/BoundsChecking.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
    R clang/include/clang/StaticAnalyzer/Core/PathSensitive/SummaryManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/include/clang/Support/Compiler.h
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/include/clang/Tooling/Inclusions/HeaderIncludes.h
    M clang/lib/AST/APValue.cpp
    M clang/lib/AST/ASTConcept.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTDumper.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/ASTTypeTraits.cpp
    M clang/lib/AST/ByteCode/Boolean.h
    M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    M clang/lib/AST/ByteCode/ByteCodeEmitter.h
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Context.h
    M clang/lib/AST/ByteCode/DeclOrExpr.h
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/DynamicAllocator.cpp
    M clang/lib/AST/ByteCode/DynamicAllocator.h
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.h
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.h
    M clang/lib/AST/ByteCode/Frame.h
    A clang/lib/AST/ByteCode/FrameAllocator.h
    M clang/lib/AST/ByteCode/Function.cpp
    M clang/lib/AST/ByteCode/Function.h
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/IntegralAP.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBlock.cpp
    M clang/lib/AST/ByteCode/InterpBlock.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    A clang/lib/AST/ByteCode/InterpBuiltinObjectSize.cpp
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/InterpFrame.h
    M clang/lib/AST/ByteCode/InterpHelpers.h
    M clang/lib/AST/ByteCode/InterpState.cpp
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ByteCode/MemberPointer.cpp
    M clang/lib/AST/ByteCode/MemberPointer.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/PrimType.h
    M clang/lib/AST/ByteCode/Primitives.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/Program.h
    M clang/lib/AST/ByteCode/Record.cpp
    M clang/lib/AST/ByteCode/Record.h
    M clang/lib/AST/ByteCode/Source.cpp
    M clang/lib/AST/ByteCode/Source.h
    M clang/lib/AST/ByteCode/State.cpp
    M clang/lib/AST/ByteCode/State.h
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/CommentSema.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclFriend.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/DeclarationName.cpp
    M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/ExprConstShared.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    A clang/lib/AST/GlobalDecl.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/NestedNameSpecifier.cpp
    M clang/lib/AST/ODRDiagsEmitter.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/QualTypeNames.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/ASTMatchers/ASTMatchFinder.cpp
    M clang/lib/Analysis/AnalysisDeclContext.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
    M clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp
    M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
    M clang/lib/Analysis/LifetimeSafety/Loans.cpp
    M clang/lib/Analysis/LifetimeSafety/Origins.cpp
    M clang/lib/Analysis/PathDiagnostic.cpp
    M clang/lib/Analysis/RetainSummaryManager.cpp
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/AtomicLineLogger.cpp
    M clang/lib/Basic/CodeGenOptions.cpp
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/DarwinSDKInfo.cpp
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/IdentifierTable.cpp
    M clang/lib/Basic/LangOptions.cpp
    M clang/lib/Basic/OffloadArch.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Basic/TargetID.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/Sparc.cpp
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CIR/CodeGen/Address.h
    M clang/lib/CIR/CodeGen/CIRGenAsm.cpp
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
    M clang/lib/CIR/CodeGen/CIRGenCUDARuntime.cpp
    M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.h
    M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenDeclCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenException.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    A clang/lib/CIR/CodeGen/CIRGenFixedPointBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
    M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
    A clang/lib/CIR/CodeGen/CIRGenMicrosoftCXXABI.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenOpenACCRecipe.cpp
    M clang/lib/CIR/CodeGen/CIRGenOpenACCRecipe.h
    M clang/lib/CIR/CodeGen/CIRGenOpenMPRuntime.cpp
    M clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenSYCL.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    M clang/lib/CIR/CodeGen/CIRGenerator.cpp
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/CodeGen/EHScopeStack.h
    M clang/lib/CIR/CodeGen/TargetInfo.cpp
    M clang/lib/CIR/CodeGen/TargetInfo.h
    A clang/lib/CIR/CodeGen/Targets/AArch64.cpp
    M clang/lib/CIR/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CIR/CodeGen/Targets/SPIRV.cpp
    A clang/lib/CIR/Dialect/Analysis/CIRAliasAnalysis.cpp
    A clang/lib/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.cpp
    A clang/lib/CIR/Dialect/Analysis/CMakeLists.txt
    M clang/lib/CIR/Dialect/CMakeLists.txt
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIROpenCLAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/IR/CMakeLists.txt
    M clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
    M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/lib/CIR/Dialect/Transforms/GotoSolver.cpp
    M clang/lib/CIR/Dialect/Transforms/HoistAllocas.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerMicrosoftCXXABI.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
    A clang/lib/CIR/FrontendAction/CIRDiagnosticHandler.cpp
    A clang/lib/CIR/FrontendAction/CIRDiagnosticHandler.h
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
    M clang/lib/CIR/FrontendAction/CMakeLists.txt
    M clang/lib/CIR/Interfaces/CMakeLists.txt
    M clang/lib/CIR/Lowering/CIRPasses.cpp
    M clang/lib/CIR/Lowering/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMOpenCLMetadata.cpp
    A clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMOpenCLMetadata.h
    M clang/lib/CIR/Lowering/LoweringHelpers.cpp
    M clang/lib/CMakeLists.txt
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/ABIInfo.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGBuiltin.h
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.h
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTT.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenSYCL.cpp
    M clang/lib/CodeGen/ConstantInitBuilder.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/EHScopeStack.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
    M clang/lib/CodeGen/QualTypeMapper.cpp
    M clang/lib/CodeGen/QualTypeMapper.h
    M clang/lib/CodeGen/SwiftCallingConv.cpp
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
    M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
    M clang/lib/CodeGen/TargetBuiltins/X86.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/DirectX.cpp
    M clang/lib/CodeGen/Targets/LoongArch.cpp
    M clang/lib/CodeGen/Targets/Mips.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/WebAssembly.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    A clang/lib/CodeGenUtils/CMakeLists.txt
    A clang/lib/CodeGenUtils/CodeGenUtils.cpp
    M clang/lib/CrossTU/CrossTranslationUnit.cpp
    M clang/lib/DependencyScanning/ModuleDepCollector.cpp
    M clang/lib/Driver/Action.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ModulesDriver.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/Tool.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Arch/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Arch/AMDGPU.h
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.h
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Clang.h
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Cygwin.cpp
    M clang/lib/Driver/ToolChains/Cygwin.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.h
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    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/HIPUtility.h
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/Haiku.cpp
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/SPIRV.cpp
    M clang/lib/Driver/ToolChains/SYCL.cpp
    M clang/lib/Driver/ToolChains/SYCL.h
    M clang/lib/Driver/ToolChains/Solaris.cpp
    M clang/lib/Driver/ToolChains/UEFI.cpp
    M clang/lib/Driver/ToolChains/VEToolchain.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/Driver/Types.cpp
    M clang/lib/Edit/EditedSource.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/DefinitionBlockSeparator.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/DiagnosticRenderer.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
    M clang/lib/Frontend/PrintPreprocessedOutput.cpp
    M clang/lib/Frontend/Rewrite/InclusionRewriter.cpp
    M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
    M clang/lib/Frontend/TextDiagnostic.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/__clang_cuda_math.h
    M clang/lib/Headers/__clang_gpu_builtin_vars.h
    M clang/lib/Headers/__clang_gpu_device_functions.h
    M clang/lib/Headers/__clang_gpu_intrinsics.h
    A clang/lib/Headers/__clang_gpu_runtime_wrapper.h
    M clang/lib/Headers/__clang_hip_runtime_wrapper.h
    M clang/lib/Headers/__clang_spirv_builtins.h
    M clang/lib/Headers/altivec.h
    M clang/lib/Headers/amxavx512intrin.h
    M clang/lib/Headers/arm_acle.h
    M clang/lib/Headers/arm_neon_sve_bridge.h
    M clang/lib/Headers/avxintrin.h
    M clang/lib/Headers/bmi2intrin.h
    M clang/lib/Headers/cpuid.h
    M clang/lib/Headers/emmintrin.h
    A clang/lib/Headers/hip_wrappers/hip/device_functions.h
    A clang/lib/Headers/hip_wrappers/hip/hip_runtime.h
    M clang/lib/Headers/hlsl.h
    M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
    M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/intrin.h
    M clang/lib/Headers/riscv_packed_simd.h
    M clang/lib/Headers/xmmintrin.h
    M clang/lib/Index/FileIndexRecord.cpp
    M clang/lib/Index/IndexBody.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Index/IndexTypeSourceInfo.cpp
    M clang/lib/Index/IndexingAction.cpp
    M clang/lib/InstallAPI/DirectoryScanner.cpp
    M clang/lib/InstallAPI/Frontend.cpp
    M clang/lib/InstallAPI/HeaderFile.cpp
    M clang/lib/Interpreter/DeviceOffload.cpp
    M clang/lib/Interpreter/IncrementalAction.cpp
    M clang/lib/Interpreter/IncrementalAction.h
    M clang/lib/Interpreter/IncrementalExecutor.cpp
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Interpreter/IncrementalParser.h
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/Value.cpp
    M clang/lib/Interpreter/Wasm.cpp
    M clang/lib/Lex/DependencyDirectivesScanner.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPExpressions.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Options/DriverOptions.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Rewrite/HTMLRewrite.cpp
    M clang/lib/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
    M clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowExtractor.cpp
    M clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowFormat.cpp
    M clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
    M clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
    M clang/lib/ScalableStaticAnalysis/Core/ASTEntityMapping.cpp
    M clang/lib/ScalableStaticAnalysis/Core/EntityLinker/EntityLinker.cpp
    M clang/lib/ScalableStaticAnalysis/Core/Model/BuildNamespace.cpp
    M clang/lib/ScalableStaticAnalysis/Core/TUSummary/TUSummaryExtractor.cpp
    M clang/lib/ScalableStaticAnalysis/Frontend/SourceTransformationFrontendAction.cpp
    M clang/lib/ScalableStaticAnalysis/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/lib/ScalableStaticAnalysis/SourceTransformation/CMakeLists.txt
    M clang/lib/ScalableStaticAnalysis/SourceTransformation/TransformationRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/SourceTransformation/Transformations/CppBoundedBuffers.cpp
    M clang/lib/ScalableStaticAnalysis/Tool/Utils.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaAccess.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaBoundsSafety.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpand.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaSwift.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/SemaTypeTraits.cpp
    M clang/lib/Sema/SemaWasm.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/ModuleManager.cpp
    M clang/lib/Serialization/TemplateArgumentHasher.cpp
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BoundsChecking.cpp
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DanglingPtrDeref.cpp
    M clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.h
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RunLoopAutoreleaseLeakChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/TaggedUnionModeling.h
    M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UseAfterLifetimeEnd.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefSafetyModel.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
    M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Frontend/ModelConsumer.cpp
    M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/lib/Testing/TestAST.cpp
    M clang/lib/Tooling/CommonOptionsParser.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
    M clang/lib/Tooling/Syntax/Tokens.cpp
    A clang/test/APINotes/Inputs/Headers/RedeclAnnotation.apinotes
    A clang/test/APINotes/Inputs/Headers/RedeclAnnotation.h
    A clang/test/APINotes/Inputs/Headers/RedeclDefinition.h
    M clang/test/APINotes/Inputs/Headers/WhereParametersSema.apinotes
    M clang/test/APINotes/Inputs/Headers/WhereParametersSema.h
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/redecl-after-definition.c
    A clang/test/APINotes/swift-attr-redeclaration.cpp
    M clang/test/APINotes/swift-import-as.cpp
    M clang/test/APINotes/where-parameters-sema.cpp
    A clang/test/AST/ByteCode/Inputs/default-ctor.cppm
    A clang/test/AST/ByteCode/Inputs/module.modulemap
    A clang/test/AST/ByteCode/Inputs/redecl1.h
    M clang/test/AST/ByteCode/builtin-functions.cpp
    A clang/test/AST/ByteCode/builtin-object-size-codegen-cxx23.cpp
    M clang/test/AST/ByteCode/builtin-object-size-codegen.c
    M clang/test/AST/ByteCode/builtin-object-size-codegen.cpp
    M clang/test/AST/ByteCode/c.c
    M clang/test/AST/ByteCode/codegen.c
    M clang/test/AST/ByteCode/complex.c
    M clang/test/AST/ByteCode/cxx11.cpp
    M clang/test/AST/ByteCode/cxx14.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/cxx23.cpp
    M clang/test/AST/ByteCode/cxx26.cpp
    M clang/test/AST/ByteCode/cxx2a.cpp
    M clang/test/AST/ByteCode/dynamic-cast.cpp
    R clang/test/AST/ByteCode/enable_if.c
    M clang/test/AST/ByteCode/enums.cpp
    M clang/test/AST/ByteCode/initializer_list.cpp
    M clang/test/AST/ByteCode/invalid.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/AST/ByteCode/memberpointers.cpp
    A clang/test/AST/ByteCode/module-default-ctor.cpp
    A clang/test/AST/ByteCode/module-redecl1.cpp
    M clang/test/AST/ByteCode/records.cpp
    A clang/test/AST/ByteCode/strings.cpp
    M clang/test/AST/ByteCode/virtual-bases.cpp
    M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
    A clang/test/AST/HLSL/MultiSampledTextures-AST.hlsl
    M clang/test/AST/HLSL/Textures-AST.hlsl
    M clang/test/AST/HLSL/Textures-scalar-AST.hlsl
    M clang/test/AST/HLSL/Textures-shorthand-AST.hlsl
    M clang/test/AST/HLSL/Textures-vector-AST.hlsl
    M clang/test/AST/absurdly_big_struct.cpp
    M clang/test/AST/ast-dump-default-init.cpp
    M clang/test/AST/ast-dump-expr-json.c
    A clang/test/AST/ast-dump-pack-indexing-template.cpp
    M clang/test/AST/ast-dump-recovery.cpp
    M clang/test/AST/ast-dump-traits.cpp
    A clang/test/AST/ast-dump-visibility.cpp
    A clang/test/AST/ast-print-decomposition.cpp
    A clang/test/AST/ast-print-deducing-this.cpp
    A clang/test/AST/ast-print-pack-indexing-template.cpp
    A clang/test/AST/attr-swift_attr-redeclaration.c
    A clang/test/AST/friend-template-decl.cpp
    M clang/test/AST/undocumented-attrs.cpp
    M clang/test/ASTMerge/class-template-partial-spec/test.cpp
    M clang/test/ASTSYCL/ast-dump-sycl-kernel-call-stmt.cpp
    M clang/test/Analysis/ArrayBound/verbose-tests.c
    A clang/test/Analysis/Checkers/WebKit/call-args-checked-unique-ptr.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-counted-unique-ptr.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
    M clang/test/Analysis/Checkers/WebKit/unchecked-call-arg.cpp
    M clang/test/Analysis/Checkers/WebKit/unchecked-lambda-captures.cpp
    A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-inline-namespace.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
    R clang/test/Analysis/Checkers/WebKit/unretained-call-args-member.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
    M clang/test/Analysis/Scalable/PointerFlow/external-inline-function-in-multi-tu.test
    M clang/test/Analysis/Scalable/PointerFlow/lref-to-rref-cast.test
    M clang/test/Analysis/Scalable/PointerFlow/multi-decl-contributor.cpp
    M clang/test/Analysis/Scalable/PointerFlow/multi-dim-pointer-flow-constraint.test
    A clang/test/Analysis/Scalable/PointerFlow/unsafe-buffer-reachable-cast-cycle.test
    A clang/test/Analysis/Scalable/TypeConstrainedPointers/unsafe-buffer-reachable-excludes-type-constrained-main.cpp
    A clang/test/Analysis/Scalable/TypeConstrainedPointers/unsafe-buffer-reachable-excludes-type-constrained-new-delete.cpp
    M clang/test/Analysis/Scalable/help.cpp
    M clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/TestTransformation.cpp
    M clang/test/Analysis/Scalable/source-edit-generation/cli-errors.cpp
    M clang/test/Analysis/Scalable/source-edit-generation/coexistence.cpp
    A clang/test/Analysis/Scalable/source-edit-generation/cpp-bounded-buffers-replacements.cpp
    M clang/test/Analysis/Scalable/source-edit-generation/downgradable-errors.cpp
    M clang/test/Analysis/Scalable/source-edit-generation/happy-path.cpp
    A clang/test/Analysis/Scalable/source-edit-generation/lit.local.cfg
    A clang/test/Analysis/Scalable/source-edit-generation/multi-tu-conflict-edits-merge.cpp
    A clang/test/Analysis/Scalable/source-edit-generation/multi-tu-edits-merge.cpp
    M clang/test/Analysis/Scalable/source-edit-generation/write-failure.cpp
    A clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/empty-pairs.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/libord-reversed.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/libtwo-2arch.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-linux.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-x86_64.json
    M clang/test/Analysis/Scalable/ssaf-linker/help.test
    M clang/test/Analysis/Scalable/ssaf-linker/io.test
    M clang/test/Analysis/Scalable/ssaf-linker/linking-errors.test
    M clang/test/Analysis/Scalable/ssaf-linker/linking.test
    M clang/test/Analysis/Scalable/ssaf-linker/time.test
    M clang/test/Analysis/Scalable/ssaf-linker/verbose.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/conflict-text-q-offset-30.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/conflict-text-y.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/conflict-text-z.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/empty.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/internal-conflict.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/non-overlapping-a.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/non-overlapping-b.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/range-overlap-cluster-of-three.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/range-overlap-distinct-offsets.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/single-non-zero-length-replacement.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/single-replacement-offset-30.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/single-replacement.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/single-zero-length-insert.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/bad-args.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/conflict-preserves-unrelated-zero-length-insert.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/conflict-stderr-without-sarif.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/empty-input.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/help.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/identical-overlap.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/malformed-yaml.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/no-conflict-sarif-empty.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/non-overlapping.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/order-invariance.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/parent-dir-missing.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/pre-dedup-identical-non-zero-length.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/pre-dedup-zero-length-insert.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/range-overlap-cluster-of-three-sarif.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/range-overlap-conflict-sarif.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/sarif-out-parent-dir-missing.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/single-input-internal-conflict.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/single-input.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/three-input-all-conflict.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/three-input-conflict-sarif.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/two-conflicts-different-offsets-sarif.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/two-input-conflict-sarif.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/two-input-conflict.test
    M clang/test/Analysis/anonymous-decls.cpp
    M clang/test/Analysis/bitwise-shift-common.c
    M clang/test/Analysis/cfg.cpp
    A clang/test/Analysis/constant-function-pointer.cpp
    M clang/test/Analysis/cstring-syntax.c
    A clang/test/Analysis/ctu/import_incomplete_array_auto_return_type.cpp
    A clang/test/Analysis/ctu/invalid-lambda-type-equivalence.cpp
    A clang/test/Analysis/ctu/stu-workremaining-with-ctu-calls.cpp
    A clang/test/Analysis/ctu/stu-workremaining.cpp
    M clang/test/Analysis/cxx-dynamic-memory-analysis-order.cpp
    M clang/test/Analysis/dangling-ptr-deref.cpp
    M clang/test/Analysis/debug-lifetime-bound.cpp
    M clang/test/Analysis/diagnostics/macros.cpp
    A clang/test/Analysis/diagnostics/sarif-macro-expansion.c
    M clang/test/Analysis/dtor-array.cpp
    A clang/test/Analysis/explicit-lambda-capture.cpp
    A clang/test/Analysis/html_diagnostics/highlight-range-mapping.cpp
    A clang/test/Analysis/inlining-final-methods.cpp
    M clang/test/Analysis/lifetime-bound.cpp
    M clang/test/Analysis/lifetime-extended-regions.cpp
    M clang/test/Analysis/pointer-sub.c
    M clang/test/Analysis/stack-frame-context-revision.cpp
    A clang/test/Analysis/stdlibraryfunction-darwin.c
    A clang/test/Analysis/z3/z3-constraint-liveness.c
    M clang/test/C/C11/n1285_1.c
    M clang/test/C/C23/n2508.c
    M clang/test/C/C2y/n3259.c
    M clang/test/C/C2y/n3260.c
    M clang/test/C/C2y/n3273.c
    M clang/test/C/C2y/n3298.c
    M clang/test/C/C2y/n3353.c
    M clang/test/C/C2y/n3409.c
    M clang/test/C/C2y/n3410.c
    M clang/test/C/C2y/n3457.c
    A clang/test/CIR/Analysis/alias-analysis-modref.cir
    A clang/test/CIR/Analysis/alias-analysis-underlying-object.cir
    A clang/test/CIR/Analysis/alias-analysis.cir
    M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
    A clang/test/CIR/CodeGen/aarch64-ls64-inline-asm-nyi.c
    M clang/test/CIR/CodeGen/agg-atomic-cast.c
    M clang/test/CIR/CodeGen/alloc-size.c
    M clang/test/CIR/CodeGen/amdgpu-call-addrspace-cast.cpp
    M clang/test/CIR/CodeGen/amdgpu-stack-alloca-array-decay.cpp
    M clang/test/CIR/CodeGen/annotate-attribute.cpp
    M clang/test/CIR/CodeGen/arg-attrs.cpp
    M clang/test/CIR/CodeGen/array-ctor.cpp
    M clang/test/CIR/CodeGen/array-init-loop-exprs.cpp
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/CodeGen/asm-label-redirect.c
    M clang/test/CIR/CodeGen/assign-operator.cpp
    A clang/test/CIR/CodeGen/atomic-fn-nyi.c
    M clang/test/CIR/CodeGen/atomic-libcall.c
    M clang/test/CIR/CodeGen/atomic-scoped.c
    M clang/test/CIR/CodeGen/atomic-thread-fence.c
    M clang/test/CIR/CodeGen/atomic.c
    A clang/test/CIR/CodeGen/attr-musttail-ehspec-errors.cpp
    M clang/test/CIR/CodeGen/attr-musttail.cpp
    M clang/test/CIR/CodeGen/attr-noundef.cpp
    M clang/test/CIR/CodeGen/attr-target-x86.c
    A clang/test/CIR/CodeGen/avx512-error.c
    M clang/test/CIR/CodeGen/base-init-eh.cpp
    M clang/test/CIR/CodeGen/base-to-derived.cpp
    M clang/test/CIR/CodeGen/basic.c
    M clang/test/CIR/CodeGen/bind-temporary-lvalue.cpp
    M clang/test/CIR/CodeGen/binop.cpp
    A clang/test/CIR/CodeGen/bitfield-unaligned-expensive-access.c
    M clang/test/CIR/CodeGen/bitfield-union.c
    M clang/test/CIR/CodeGen/bitfields.c
    M clang/test/CIR/CodeGen/bitfields.cpp
    M clang/test/CIR/CodeGen/bitfields_be.c
    A clang/test/CIR/CodeGen/bitint-record-layout.c
    M clang/test/CIR/CodeGen/bitint-split-storage-nyi.c
    M clang/test/CIR/CodeGen/bitint.c
    M clang/test/CIR/CodeGen/builtin-atomic-is-lock-free.c
    A clang/test/CIR/CodeGen/builtin-clear-padding-codegen.c
    M clang/test/CIR/CodeGen/builtin-cpu-is-cputype.c
    M clang/test/CIR/CodeGen/builtin-cpu-is-subtype.c
    M clang/test/CIR/CodeGen/builtin-cpu-is-vendor.c
    A clang/test/CIR/CodeGen/call-conv-lowering-flag.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-abi-compat.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-atomic.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-avx.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-bitint.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty.cpp
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-fnptr.c
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-indirect.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-member-ptr.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-packed.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-padded.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-sret-res-attrs.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-union-bitfield.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-union-bitfield.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-union-no-span.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-union-tail-padding.c
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-variadic.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-vptr.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-zero-width-bitfield.c
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64.c
    M clang/test/CIR/CodeGen/call-no-decl.c
    M clang/test/CIR/CodeGen/call.c
    M clang/test/CIR/CodeGen/call.cpp
    M clang/test/CIR/CodeGen/callsite-inline-attributes.cpp
    M clang/test/CIR/CodeGen/cast.c
    M clang/test/CIR/CodeGen/cast.cpp
    M clang/test/CIR/CodeGen/choose-expr.cpp
    M clang/test/CIR/CodeGen/class.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional.cpp
    M clang/test/CIR/CodeGen/cleanup-derived-to-base-ref.cpp
    M clang/test/CIR/CodeGen/cleanup-scope-goto-out.cpp
    M clang/test/CIR/CodeGen/cleanup-scope-goto-within.cpp
    M clang/test/CIR/CodeGen/cleanup.cpp
    M clang/test/CIR/CodeGen/cmp.cpp
    M clang/test/CIR/CodeGen/complex-atomic-cast.c
    M clang/test/CIR/CodeGen/complex-builtins.cpp
    M clang/test/CIR/CodeGen/complex-cast.cpp
    M clang/test/CIR/CodeGen/complex-compound-assignment.cpp
    A clang/test/CIR/CodeGen/complex-libcall-abi-global-init.cpp
    A clang/test/CIR/CodeGen/complex-libcall-abi.c
    M clang/test/CIR/CodeGen/complex-mul-div.cpp
    M clang/test/CIR/CodeGen/complex-plus-minus.cpp
    M clang/test/CIR/CodeGen/complex-unary.cpp
    M clang/test/CIR/CodeGen/complex.cpp
    M clang/test/CIR/CodeGen/compound_literal.c
    M clang/test/CIR/CodeGen/compound_literal.cpp
    M clang/test/CIR/CodeGen/concept-specialization.cpp
    M clang/test/CIR/CodeGen/const-label-addr.c
    M clang/test/CIR/CodeGen/constant-expr.cpp
    M clang/test/CIR/CodeGen/convert-incomplete-type.cpp
    M clang/test/CIR/CodeGen/count-of.c
    M clang/test/CIR/CodeGen/ctor-alias.cpp
    M clang/test/CIR/CodeGen/ctor-null-init.cpp
    M clang/test/CIR/CodeGen/ctor.cpp
    M clang/test/CIR/CodeGen/cxx-abi-lowering-string-array.cpp
    M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
    A clang/test/CIR/CodeGen/cxx-msvc-abi.cpp
    M clang/test/CIR/CodeGen/cxx-rewritten-binary-operator.cpp
    M clang/test/CIR/CodeGen/cxx-special-member-attr.cpp
    M clang/test/CIR/CodeGen/cxx-traits.cpp
    A clang/test/CIR/CodeGen/cxx20-module-initializer.cppm
    M clang/test/CIR/CodeGen/deferred-fn-defs.cpp
    M clang/test/CIR/CodeGen/delegating-ctor.cpp
    A clang/test/CIR/CodeGen/delete-array-aligned.cpp
    M clang/test/CIR/CodeGen/delete-destroying.cpp
    M clang/test/CIR/CodeGen/delete.cpp
    A clang/test/CIR/CodeGen/destructor-vtable-reinit-strict.cpp
    A clang/test/CIR/CodeGen/destructor-vtable-reinit.cpp
    M clang/test/CIR/CodeGen/destructors.cpp
    M clang/test/CIR/CodeGen/dtor-alias.cpp
    M clang/test/CIR/CodeGen/dtors.cpp
    M clang/test/CIR/CodeGen/dumb-record.cpp
    A clang/test/CIR/CodeGen/ehspec-noexcept.cpp
    A clang/test/CIR/CodeGen/ehspec.cpp
    M clang/test/CIR/CodeGen/embed-expr.c
    M clang/test/CIR/CodeGen/empty-union.c
    M clang/test/CIR/CodeGen/empty-union.cpp
    M clang/test/CIR/CodeGen/enum-bool.cpp
    M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
    A clang/test/CIR/CodeGen/fixed-point-arith.cpp
    A clang/test/CIR/CodeGen/fixed-point-conversions.cpp
    M clang/test/CIR/CodeGen/fixed-point-literal.c
    M clang/test/CIR/CodeGen/flexible-array-init.c
    M clang/test/CIR/CodeGen/forrange.cpp
    M clang/test/CIR/CodeGen/forward-decls.cpp
    A clang/test/CIR/CodeGen/fp-contract-on-pragma.cpp
    A clang/test/CIR/CodeGen/fp-contract-pragma.cpp
    A clang/test/CIR/CodeGen/fp-contract.c
    M clang/test/CIR/CodeGen/func-linkage-weak-import.c
    A clang/test/CIR/CodeGen/func-member-attrs.cpp
    M clang/test/CIR/CodeGen/function-to-pointer-decay.c
    M clang/test/CIR/CodeGen/generic-selection.c
    A clang/test/CIR/CodeGen/global-address-to-int.c
    M clang/test/CIR/CodeGen/global-array-dtor.cpp
    M clang/test/CIR/CodeGen/global-ctor-dtor.cpp
    M clang/test/CIR/CodeGen/global-decomp-decls.cpp
    M clang/test/CIR/CodeGen/global-init-coerced-return.cpp
    M clang/test/CIR/CodeGen/global-init.cpp
    A clang/test/CIR/CodeGen/global-ptr-flat-offset.c
    A clang/test/CIR/CodeGen/global-replace-record-array.c
    M clang/test/CIR/CodeGen/global-section.c
    M clang/test/CIR/CodeGen/global-temp-dtor.cpp
    M clang/test/CIR/CodeGen/global-tls-dyn-init.cpp
    A clang/test/CIR/CodeGen/global-tls-dynamic-vs-static.cpp
    M clang/test/CIR/CodeGen/global-tls-simple-init.cpp
    M clang/test/CIR/CodeGen/global-tls-templates.cpp
    M clang/test/CIR/CodeGen/gnu-null.cpp
    M clang/test/CIR/CodeGen/if.cpp
    M clang/test/CIR/CodeGen/implicit-value-init-expr.cpp
    M clang/test/CIR/CodeGen/inherited-ctors.cpp
    M clang/test/CIR/CodeGen/initializer-list-two-pointers.cpp
    M clang/test/CIR/CodeGen/inline-cxx-func.cpp
    M clang/test/CIR/CodeGen/instantiate-init.cpp
    M clang/test/CIR/CodeGen/kr-func-promote.c
    M clang/test/CIR/CodeGen/label-values.c
    M clang/test/CIR/CodeGen/label.c
    M clang/test/CIR/CodeGen/lambda-dtor-field.cpp
    A clang/test/CIR/CodeGen/lambda-generic-in-cxx11abi-lambda.cpp
    M clang/test/CIR/CodeGen/lambda-static-invoker-agg-return.cpp
    M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
    M clang/test/CIR/CodeGen/lambda.cpp
    A clang/test/CIR/CodeGen/lifetime-marker.cpp
    M clang/test/CIR/CodeGen/local-const-aggregate-name-clash.cpp
    A clang/test/CIR/CodeGen/local-ptr-flat-offset.cpp
    A clang/test/CIR/CodeGen/local-static-temp-dtor.cpp
    M clang/test/CIR/CodeGen/loop-cond-cleanup.cpp
    M clang/test/CIR/CodeGen/loop-cond-var-cleanup.cpp
    M clang/test/CIR/CodeGen/loop.cpp
    A clang/test/CIR/CodeGen/lowering-lang-options.cpp
    M clang/test/CIR/CodeGen/member-functions.cpp
    M clang/test/CIR/CodeGen/mms-bitfields.c
    M clang/test/CIR/CodeGen/multi-vtable.cpp
    M clang/test/CIR/CodeGen/namespace.cpp
    M clang/test/CIR/CodeGen/new-delete-deactivation.cpp
    M clang/test/CIR/CodeGen/new-null.cpp
    M clang/test/CIR/CodeGen/new.cpp
    M clang/test/CIR/CodeGen/no-odr-use.cpp
    M clang/test/CIR/CodeGen/no-proto-fn-ptr-global-init.c
    M clang/test/CIR/CodeGen/no-unique-address.cpp
    M clang/test/CIR/CodeGen/noexcept.cpp
    M clang/test/CIR/CodeGen/nofpclass.c
    A clang/test/CIR/CodeGen/noinline-available-externally-skip.cpp
    M clang/test/CIR/CodeGen/non-scalar-lval-return.cpp
    M clang/test/CIR/CodeGen/non-type-template-param.cpp
    M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
    M clang/test/CIR/CodeGen/nrvo.cpp
    M clang/test/CIR/CodeGen/nullptr-init.cpp
    M clang/test/CIR/CodeGen/opaque.c
    M clang/test/CIR/CodeGen/opaque.cpp
    M clang/test/CIR/CodeGen/pack-indexing.cpp
    M clang/test/CIR/CodeGen/paren-init-list.cpp
    M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
    M clang/test/CIR/CodeGen/partial-array-cleanup.cpp
    M clang/test/CIR/CodeGen/pass-object-size.c
    A clang/test/CIR/CodeGen/pointer-to-data-member-indirect-field.cpp
    M clang/test/CIR/CodeGen/pointer-to-data-member.cpp
    M clang/test/CIR/CodeGen/pointer-to-empty-data-member.cpp
    M clang/test/CIR/CodeGen/pointer-to-member-func-cast.cpp
    M clang/test/CIR/CodeGen/pointer-to-member-func-cmp.cpp
    M clang/test/CIR/CodeGen/pointer-width-32bit.cpp
    M clang/test/CIR/CodeGen/ptrdiff.c
    M clang/test/CIR/CodeGen/ptrdiff.cpp
    A clang/test/CIR/CodeGen/record-member-kinds.c
    A clang/test/CIR/CodeGen/record-member-kinds.cpp
    M clang/test/CIR/CodeGen/record-type-metadata.cpp
    M clang/test/CIR/CodeGen/record-with-padded-union.cpp
    M clang/test/CIR/CodeGen/record-zero-init-padding.c
    M clang/test/CIR/CodeGen/replace-global.cpp
    M clang/test/CIR/CodeGen/requires-expr.cpp
    M clang/test/CIR/CodeGen/restrict-noalias.c
    M clang/test/CIR/CodeGen/ret-attrs.cpp
    M clang/test/CIR/CodeGen/rtti-member-pointer.cpp
    M clang/test/CIR/CodeGen/rtti-qualfn.cpp
    M clang/test/CIR/CodeGen/size-of-vla.cpp
    M clang/test/CIR/CodeGen/source-loc.cpp
    A clang/test/CIR/CodeGen/spirv-target-lowering-as.cpp
    M clang/test/CIR/CodeGen/statement-exprs.c
    A clang/test/CIR/CodeGen/static-local-guard-abort.cpp
    A clang/test/CIR/CodeGen/static-local-info.cpp
    M clang/test/CIR/CodeGen/static-local-nested-reference.cpp
    M clang/test/CIR/CodeGen/static-local.cpp
    M clang/test/CIR/CodeGen/static-members.cpp
    A clang/test/CIR/CodeGen/static-vla-pointer.c
    M clang/test/CIR/CodeGen/stmt-expr.cpp
    M clang/test/CIR/CodeGen/struct-init.cpp
    M clang/test/CIR/CodeGen/struct.c
    M clang/test/CIR/CodeGen/struct.cpp
    M clang/test/CIR/CodeGen/switch.cpp
    A clang/test/CIR/CodeGen/target-builtin-error-2.c
    A clang/test/CIR/CodeGen/target-builtin-error-3.c
    A clang/test/CIR/CodeGen/target-builtin-error.c
    A clang/test/CIR/CodeGen/target-builtin-noerror.c
    A clang/test/CIR/CodeGen/target-features-error-2.c
    A clang/test/CIR/CodeGen/target-features-error-3.c
    A clang/test/CIR/CodeGen/target-features-error-4.c
    A clang/test/CIR/CodeGen/target-features-error-5.c
    A clang/test/CIR/CodeGen/target-features-error.c
    A clang/test/CIR/CodeGen/target-features-no-error-2.c
    A clang/test/CIR/CodeGen/target-features-no-error.c
    A clang/test/CIR/CodeGen/target-lowering-dead-block.cpp
    M clang/test/CIR/CodeGen/temp-param-obj-decl.cpp
    M clang/test/CIR/CodeGen/template-specialization.cpp
    M clang/test/CIR/CodeGen/temporary-materialization.cpp
    M clang/test/CIR/CodeGen/ternary-throw.cpp
    M clang/test/CIR/CodeGen/ternary.cpp
    M clang/test/CIR/CodeGen/thread-local-in-func.cpp
    M clang/test/CIR/CodeGen/three-way-cmp.cpp
    M clang/test/CIR/CodeGen/throws.cpp
    M clang/test/CIR/CodeGen/thunks.cpp
    A clang/test/CIR/CodeGen/tls-model-func-scope.cpp
    M clang/test/CIR/CodeGen/tls-model.cpp
    M clang/test/CIR/CodeGen/tls.c
    M clang/test/CIR/CodeGen/trivial-abi.cpp
    M clang/test/CIR/CodeGen/try-catch.cpp
    M clang/test/CIR/CodeGen/typedef.c
    M clang/test/CIR/CodeGen/unary.cpp
    M clang/test/CIR/CodeGen/union-agg-init.c
    M clang/test/CIR/CodeGen/union-agg-init.cpp
    A clang/test/CIR/CodeGen/union-init-padding-array.c
    M clang/test/CIR/CodeGen/union.c
    M clang/test/CIR/CodeGen/union.cpp
    M clang/test/CIR/CodeGen/unions-with-zero-init.cpp
    M clang/test/CIR/CodeGen/var-arg-aggregate.c
    M clang/test/CIR/CodeGen/var_arg.c
    M clang/test/CIR/CodeGen/variable-decomposition.cpp
    M clang/test/CIR/CodeGen/variable-template-specialization.cpp
    M clang/test/CIR/CodeGen/vbase.cpp
    A clang/test/CIR/CodeGen/vector-bool.cpp
    M clang/test/CIR/CodeGen/vector-ext-element.cpp
    M clang/test/CIR/CodeGen/vector-ext.cpp
    A clang/test/CIR/CodeGen/vector-strict-fp.cpp
    M clang/test/CIR/CodeGen/vector.cpp
    M clang/test/CIR/CodeGen/virtual-destructor-calls.cpp
    M clang/test/CIR/CodeGen/virtual-fn-calls-eh.cpp
    M clang/test/CIR/CodeGen/virtual-function-calls.cpp
    M clang/test/CIR/CodeGen/vla.c
    M clang/test/CIR/CodeGen/vtable-emission.cpp
    M clang/test/CIR/CodeGen/vtable-linkage-explicit-instantiation.cpp
    M clang/test/CIR/CodeGen/vtable-nyi-nonconvertible-functype.cpp
    A clang/test/CIR/CodeGen/vtable-thunk-undefined-callee.cpp
    M clang/test/CIR/CodeGen/vtt.cpp
    R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
    R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_len.c
    A clang/test/CIR/CodeGenBuiltins/Inputs/stdbit.h
    M clang/test/CIR/CodeGenBuiltins/NVPTX/builtins-nvptx-sync.cu
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv32-zknd.c
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv64-zknd.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx10_2_512bf16-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx10_2bf16-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceIntrin.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceMinMaxIntrin.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512f16c-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vbmi2-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vlbf16-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vlbw-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vlfp16-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vlvbmi2-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vlvp2intersect-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vp2intersect-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/bmi-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/keylocker.c
    M clang/test/CIR/CodeGenBuiltins/X86/lzcnt-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/rd-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/sqrt-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/sse2-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/vec-set-builtins.c
    M clang/test/CIR/CodeGenBuiltins/builtin-address-of.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-bcopy.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-constant-p.c
    M clang/test/CIR/CodeGenBuiltins/builtin-fcmp-sse.c
    M clang/test/CIR/CodeGenBuiltins/builtin-fpclassify.c
    M clang/test/CIR/CodeGenBuiltins/builtin-isfpclass.c
    M clang/test/CIR/CodeGenBuiltins/builtin-isinf-sign.c
    A clang/test/CIR/CodeGenBuiltins/builtin-maxnum-minnum.c
    M clang/test/CIR/CodeGenBuiltins/builtin-memchr.c
    M clang/test/CIR/CodeGenBuiltins/builtin-offset-of.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-prefetch.c
    M clang/test/CIR/CodeGenBuiltins/builtin-printf.cpp
    A clang/test/CIR/CodeGenBuiltins/builtin-stdc-bit-nyi.c
    A clang/test/CIR/CodeGenBuiltins/builtin-stdc-bit.c
    A clang/test/CIR/CodeGenBuiltins/builtin-sync.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp
    M clang/test/CIR/CodeGenBuiltins/builtins-elementwise-bool-nyi.c
    M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
    M clang/test/CIR/CodeGenBuiltins/setjmp.c
    M clang/test/CIR/CodeGenCUDA/address-spaces.cu
    M clang/test/CIR/CodeGenCUDA/builtins-nvvm-atomic.cu
    A clang/test/CIR/CodeGenCUDA/builtins-nvvm-fma-oob.cu
    A clang/test/CIR/CodeGenCUDA/builtins-nvvm-half.cu
    A clang/test/CIR/CodeGenCUDA/builtins-nvvm-ldu-ldg.cu
    R clang/test/CIR/CodeGenCUDA/builtins-nvvm-ldu.cu
    M clang/test/CIR/CodeGenCUDA/builtins-nvvm-math.cu
    M clang/test/CIR/CodeGenCUDA/device-stub.cu
    M clang/test/CIR/CodeGenCUDA/kernel-call.cu
    A clang/test/CIR/CodeGenCUDA/launch-bounds.cu
    M clang/test/CIR/CodeGenCUDA/surface.cu
    A clang/test/CIR/CodeGenCUDA/template-class-static-member.cu
    A clang/test/CIR/CodeGenCUDA/texture.cu
    A clang/test/CIR/CodeGenCUDA/uniform-work-group-size.cu
    M clang/test/CIR/CodeGenCXX/global-refs.cpp
    A clang/test/CIR/CodeGenCXX/init-priority-attr.cpp
    M clang/test/CIR/CodeGenCXX/typeid-most-derived.cpp
    M clang/test/CIR/CodeGenCXX/typeid-should-throw.cpp
    M clang/test/CIR/CodeGenCXX/typeid.cpp
    M clang/test/CIR/CodeGenCXX/uncopyable-args.cpp
    M clang/test/CIR/CodeGenCXX/vtable-linkage.cpp
    M clang/test/CIR/CodeGenCXX/vtable-pure-deleted-funcs.cpp
    M clang/test/CIR/CodeGenCXX/x86_64-arguments.cpp
    M clang/test/CIR/CodeGenCXX/zero_init_bases.cpp
    A clang/test/CIR/CodeGenCoroutines/coro-alloc.cpp
    M clang/test/CIR/CodeGenCoroutines/coro-builtins.cpp
    M clang/test/CIR/CodeGenCoroutines/coro-task.cpp
    A clang/test/CIR/CodeGenHIP/amdgcnspirv-kernel.hip
    A clang/test/CIR/CodeGenHIP/atomic-classify.hip
    A clang/test/CIR/CodeGenHIP/builtin-bool-result.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx10.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx11.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx1250-load-tr.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx1250.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx9.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx950-read-tr.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx950.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-global-load-tr-w32.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-global-load-tr-w64.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-s-prefetch-inst-nyi.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-vi-f16.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-wave32.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-wave64.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
    A clang/test/CIR/CodeGenHIP/cleanup-alloca-addrspace.hip
    A clang/test/CIR/CodeGenHIP/ternary-struct-addrspace.hip
    M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
    M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
    M clang/test/CIR/CodeGenOpenACC/atomic-write.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-copyin-copyout-create.c
    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-copyin-copyout-create.c
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause-templates.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-templates.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.cpp
    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.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/data-copy-copyin-copyout-create.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-deviceptr.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/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-coerced-ctor.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-anon-ns.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-bind.c
    M clang/test/CIR/CodeGenOpenACC/routine-bind.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-clauses.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-device_type.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-globals.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-globals2.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-locals.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-members.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-ns.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-templ.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/CodeGenOpenCL/address-space-conversions.cl
    M clang/test/CIR/CodeGenOpenCL/address-space-local-var.clcpp
    A clang/test/CIR/CodeGenOpenCL/address-spaces.cl
    A clang/test/CIR/CodeGenOpenCL/kernel-arg-info-single-as.cl
    A clang/test/CIR/CodeGenOpenCL/kernel-arg-info.cl
    A clang/test/CIR/CodeGenOpenCL/kernel-arg-metadata.cl
    A clang/test/CIR/CodeGenOpenCL/source-language.cl
    A clang/test/CIR/CodeGenOpenCL/version.cl
    M clang/test/CIR/CodeGenOpenMP/barrier.c
    M clang/test/CIR/CodeGenOpenMP/decl-not-yet-implemented.c
    M clang/test/CIR/CodeGenOpenMP/emit-device-functions.cpp
    M clang/test/CIR/CodeGenOpenMP/not-yet-implemented.c
    M clang/test/CIR/CodeGenOpenMP/omp-llvmir.c
    M clang/test/CIR/CodeGenOpenMP/omp-module-attrs.c
    M clang/test/CIR/CodeGenOpenMP/parallel.c
    M clang/test/CIR/CodeGenOpenMP/target-host-op-filtering.c
    M clang/test/CIR/CodeGenOpenMP/target-map-llvm-device.c
    M clang/test/CIR/CodeGenOpenMP/target-map-llvm-host.c
    M clang/test/CIR/CodeGenOpenMP/target-map.c
    M clang/test/CIR/CodeGenSYCL/kernel-call-stmt.cpp
    A clang/test/CIR/CodeGenSYCL/kernel-caller-address-space.cpp
    A clang/test/CIR/CodeGenSYCL/kernel-caller-attributes.cpp
    M clang/test/CIR/CodeGenSYCL/kernel-caller-entry-point.cpp
    A clang/test/CIR/CodeGenSYCL/offload-include-binary.cpp
    A clang/test/CIR/Diagnostics/mlir-error-routing.cu
    M clang/test/CIR/Driver/clangir.c
    M clang/test/CIR/IR/address-space.cir
    M clang/test/CIR/IR/array-ctor.cir
    M clang/test/CIR/IR/array-dtor.cir
    M clang/test/CIR/IR/bitfield_info.cir
    M clang/test/CIR/IR/builtin-int-cast.cir
    M clang/test/CIR/IR/catch-param.cir
    M clang/test/CIR/IR/cleanup-scope.cir
    A clang/test/CIR/IR/clear-padding.cir
    M clang/test/CIR/IR/const-record-flexible-array.cir
    M clang/test/CIR/IR/const-record-union.cir
    M clang/test/CIR/IR/construct-catch-param.cir
    M clang/test/CIR/IR/copy.cir
    M clang/test/CIR/IR/dynamic-cast.cir
    A clang/test/CIR/IR/enum-attrs.cir
    M clang/test/CIR/IR/fenv.cir
    M clang/test/CIR/IR/func-attrs.cir
    M clang/test/CIR/IR/func.cir
    M clang/test/CIR/IR/global-init.cir
    M clang/test/CIR/IR/global.cir
    M clang/test/CIR/IR/inline-attrs.cir
    M clang/test/CIR/IR/invalid-array-structor.cir
    A clang/test/CIR/IR/invalid-bitfield-member.cir
    M clang/test/CIR/IR/invalid-call.cir
    M clang/test/CIR/IR/invalid-cast.cir
    A clang/test/CIR/IR/invalid-cleanup-scope-musttail.cir
    M clang/test/CIR/IR/invalid-const-record.cir
    M clang/test/CIR/IR/invalid-construct-catch-param.cir
    M clang/test/CIR/IR/invalid-data-member.cir
    M clang/test/CIR/IR/invalid-delete-array.cir
    M clang/test/CIR/IR/invalid-dyn-cast.cir
    M clang/test/CIR/IR/invalid-func.cir
    M clang/test/CIR/IR/invalid-lang-attr.cir
    M clang/test/CIR/IR/invalid-loop-cleanup.cir
    A clang/test/CIR/IR/invalid-memchr.cir
    A clang/test/CIR/IR/invalid-offload-container.cir
    M clang/test/CIR/IR/invalid-opencl-kernel-arg-metadata.cir
    A clang/test/CIR/IR/invalid-ptr-mask.cir
    A clang/test/CIR/IR/invalid-record-member-kinds.cir
    A clang/test/CIR/IR/invalid-static-local-info.cir
    M clang/test/CIR/IR/invalid-static-local.cir
    M clang/test/CIR/IR/invalid-struct.cir
    M clang/test/CIR/IR/invalid-tls.cir
    M clang/test/CIR/IR/invalid-try-catch.cir
    M clang/test/CIR/IR/invalid-type-info.cir
    A clang/test/CIR/IR/invalid-version.cir
    M clang/test/CIR/IR/invalid-vtable.cir
    M clang/test/CIR/IR/libc-memchr.cir
    M clang/test/CIR/IR/loop-cleanup.cir
    A clang/test/CIR/IR/lowering-lang-options.cir
    M clang/test/CIR/IR/method-attr.cir
    M clang/test/CIR/IR/module.cir
    A clang/test/CIR/IR/offload-container.cir
    M clang/test/CIR/IR/openacc.cir
    M clang/test/CIR/IR/opencl-kernel-arg-metadata.cir
    A clang/test/CIR/IR/ptr-mask.cir
    A clang/test/CIR/IR/static-local-info.cir
    M clang/test/CIR/IR/static-local.cir
    M clang/test/CIR/IR/struct.cir
    M clang/test/CIR/IR/try-catch.cir
    A clang/test/CIR/IR/version.cir
    M clang/test/CIR/IR/vtable-addrpt.cir
    M clang/test/CIR/IR/vtable-attr.cir
    M clang/test/CIR/IR/vtt-addrpoint.cir
    M clang/test/CIR/Lowering/address-space.cir
    M clang/test/CIR/Lowering/alloca.cir
    M clang/test/CIR/Lowering/array.cpp
    M clang/test/CIR/Lowering/basic.cpp
    M clang/test/CIR/Lowering/binop-fp.cir
    M clang/test/CIR/Lowering/builtin-int-cast.cir
    M clang/test/CIR/Lowering/calling-conv.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/Lowering/copy-skip-tail-padding.cir
    M clang/test/CIR/Lowering/eh-inflight.cir
    M clang/test/CIR/Lowering/fenv.cir
    M clang/test/CIR/Lowering/func-simple.cpp
    M clang/test/CIR/Lowering/goto.cir
    M clang/test/CIR/Lowering/lifetime.cir
    M clang/test/CIR/Lowering/local-vars.cpp
    M clang/test/CIR/Lowering/module-asm.cir
    M clang/test/CIR/Lowering/omp-target-map.cir
    A clang/test/CIR/Lowering/opencl-kernel-arg-metadata.cir
    A clang/test/CIR/Lowering/opencl-version-metadata.cir
    M clang/test/CIR/Lowering/poison.cir
    A clang/test/CIR/Lowering/ptr-mask.cir
    M clang/test/CIR/Lowering/select.cir
    M clang/test/CIR/Lowering/stack-save-restore.cir
    M clang/test/CIR/Lowering/strictfp.cir
    M clang/test/CIR/Lowering/struct.cir
    M clang/test/CIR/Lowering/ternary.cir
    A clang/test/CIR/Lowering/unlowered-address-spaces.cir
    M clang/test/CIR/Lowering/vtt-addrpoint.cir
    M clang/test/CIR/Tools/warn-default-triple.cir
    M clang/test/CIR/Transforms/abi-lowering/byval-sret-arg-attr-lowering.cir
    M clang/test/CIR/Transforms/abi-lowering/coerce-int-to-record.cir
    M clang/test/CIR/Transforms/abi-lowering/coerce-record-return-larger.cir
    M clang/test/CIR/Transforms/abi-lowering/coerce-record-to-int.cir
    M clang/test/CIR/Transforms/abi-lowering/coerce-record-to-record-via-memory.cir
    M clang/test/CIR/Transforms/abi-lowering/declaration-rewrite.cir
    M clang/test/CIR/Transforms/abi-lowering/direct-flatten.cir
    A clang/test/CIR/Transforms/abi-lowering/dropped-return-res-attrs.cir
    M clang/test/CIR/Transforms/abi-lowering/expand-struct-arg.cir
    M clang/test/CIR/Transforms/abi-lowering/extend-signed-arg.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-byval.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-call-classification-attr.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-call-test-target.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-call.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-non-byval-forward-param.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-non-byval-nyi.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-return-sret.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-aggregate-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-bitfield.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-bitint.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-complex.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-empty-class.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-get-global.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-incomplete-record-declaration.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-indirect-try-call-nyi.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-int-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-record-packed.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-scalars.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-struct-direct-offset.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-struct-direct.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-struct-indirect.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-struct-padded.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-union-coerce-shapes.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-union.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-variadic-call.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-variadic-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-vector.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-vptr.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-wide-floats.cir
    M clang/test/CIR/Transforms/builtin-int-cast-fold.cir
    M clang/test/CIR/Transforms/canonicalize-cleanup-scope.cir
    M clang/test/CIR/Transforms/canonicalize.cir
    A clang/test/CIR/Transforms/constant-load-fold.cir
    A clang/test/CIR/Transforms/constant-load-fold.cpp
    M clang/test/CIR/Transforms/cxx-abi-lowering-attrs.cir
    M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch-invalid.cir
    M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch.cir
    A clang/test/CIR/Transforms/eh-abi-lowering-eh-spec.cir
    M clang/test/CIR/Transforms/eh-abi-lowering-itanium.cir
    M clang/test/CIR/Transforms/flatten-cleanup-scope-eh.cir
    M clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
    A clang/test/CIR/Transforms/flatten-cleanup-scope-musttail.cir
    M clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
    A clang/test/CIR/Transforms/flatten-eh-spec.cir
    M clang/test/CIR/Transforms/flatten-loop-cleanup.cir
    M clang/test/CIR/Transforms/flatten-preserve-attrs.cir
    M clang/test/CIR/Transforms/flatten-throwing-in-cleanup.cir
    M clang/test/CIR/Transforms/flatten-try-op.cir
    M clang/test/CIR/Transforms/hoist-allocas.cir
    M clang/test/CIR/Transforms/idiom-recognizer.cpp
    M clang/test/CIR/Transforms/lib-opt.cpp
    M clang/test/CIR/Transforms/mem2reg.cir
    M clang/test/CIR/Transforms/omp-mark-declare-target.cir
    M clang/test/CIR/Transforms/pure-ptr-arithmetic.cir
    M clang/test/CIR/func-linkage.cpp
    M clang/test/CIR/func-simple.cpp
    A clang/test/CIR/lib/Analysis/CMakeLists.txt
    A clang/test/CIR/lib/Analysis/TestCIRAliasAnalysis.cpp
    A clang/test/CIR/lib/CMakeLists.txt
    A clang/test/CIR/lib/lit.local.cfg
    M clang/test/CMakeLists.txt
    M clang/test/CXX/basic/basic.link/p3.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/namespace.qual/p2.cpp
    M clang/test/CXX/class.access/class.friend/p3-cxx0x.cpp
    R clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.depend/p1.cpp
    R clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.depend/p2.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.stc/p2.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-1y.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-generic-lambda-1y.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p5.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.auto.deduct/p2.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct.default/p4.cpp
    M clang/test/CXX/dcl/dcl.fct/p17.cpp
    R clang/test/CXX/dcl/dcl.spec/dcl.type/dcl.type.general/p2.cpp
    M clang/test/CXX/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg10xx.cpp
    M clang/test/CXX/drs/cwg17xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg19xx.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/test/CXX/drs/cwg20xx.cpp
    M clang/test/CXX/drs/cwg22xx.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg2947.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/CXX/drs/cwg4xx.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/test/CXX/expr/expr.post/expr.type.conv/p1-2b.cpp
    M clang/test/CXX/expr/expr.unary/expr.new/p14.cpp
    M clang/test/CXX/module/basic/basic.link/module-declaration.cpp
    M clang/test/CXX/module/cpp.pre/p1.cpp
    M clang/test/CXX/over/over.load/p2-0x.cpp
    M clang/test/CXX/over/over.match/over.match.best/p2.cpp
    M clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
    M clang/test/CXX/stmt.stmt/stmt.select/p3.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp
    M clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
    M clang/test/CXX/temp/temp.decls/temp.friend/p5.cpp
    A clang/test/CXX/temp/temp.decls/temp.friend/p6.cpp
    M clang/test/ClangScanDeps/P1689.cppm
    A clang/test/ClangScanDeps/depscan-log-path.c
    A clang/test/ClangScanDeps/logging-driver-flag.c
    M clang/test/ClangScanDeps/logging-simple-by-name.c
    M clang/test/ClangScanDeps/logging-simple.c
    A clang/test/ClangScanDeps/modules-context-hash-ignore-search-path.c
    A clang/test/ClangScanDeps/modules-ignore-search-path-optimize-args.c
    A clang/test/ClangScanDeps/p1689-module-map.cppm
    M clang/test/CodeCompletion/attr.cpp
    A clang/test/CodeCompletion/dependent-base-alias-template.cpp
    A clang/test/CodeCompletion/module-partitions.cpp
    M clang/test/CodeGen/64bit-swiftcall.c
    A clang/test/CodeGen/AArch64/abi-classify-arg-types.c
    A clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp
    A clang/test/CodeGen/AArch64/abi-classify-return-types.c
    A clang/test/CodeGen/AArch64/abi-classify-return-types.cpp
    A clang/test/CodeGen/AArch64/abi-lowering-matrix-ha-compat23.c
    M clang/test/CodeGen/AArch64/args-hfa.c
    M clang/test/CodeGen/AArch64/args.cpp
    M clang/test/CodeGen/AArch64/arguments-hfa-v3.c
    M clang/test/CodeGen/AArch64/byval-temp.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_untyped.c
    M clang/test/CodeGen/AArch64/lit.local.cfg
    A clang/test/CodeGen/AArch64/matrix-hfa.c
    R clang/test/CodeGen/AArch64/neon-fcvt-intrinsics.c
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    M clang/test/CodeGen/AArch64/neon-ldst-one.c
    M clang/test/CodeGen/AArch64/neon-misc.c
    R clang/test/CodeGen/AArch64/neon-vget.c
    M clang/test/CodeGen/AArch64/neon/f16-getset.c
    M clang/test/CodeGen/AArch64/neon/getset.c
    M clang/test/CodeGen/AArch64/neon/intrinsics.c
    A clang/test/CodeGen/AArch64/neon/load.c
    M clang/test/CodeGen/AArch64/neon/perm.c
    M clang/test/CodeGen/AArch64/neon/rounding-v8.5.c
    A clang/test/CodeGen/AArch64/neon/rounding.c
    M clang/test/CodeGen/AArch64/neon/subtraction.c
    M clang/test/CodeGen/AArch64/neon/vpaddl.c
    M clang/test/CodeGen/AArch64/neon/widen.c
    M clang/test/CodeGen/AArch64/poly64.c
    M clang/test/CodeGen/AArch64/pure-scalable-args-empty-union.c
    M clang/test/CodeGen/AArch64/pure-scalable-args.c
    M clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
    M clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    A clang/test/CodeGen/AArch64/sve/dup.c
    A clang/test/CodeGen/AArch64/sve/len.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_pfalse.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_psel.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_psel_svcount.c
    M clang/test/CodeGen/AArch64/targetattr.c
    R clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
    M clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
    A clang/test/CodeGen/ARM/matrix-hfa.c
    R clang/test/CodeGen/Inputs/memprof.exe
    R clang/test/CodeGen/Inputs/memprof.memprofraw
    R clang/test/CodeGen/Inputs/pgotestclang.profraw
    A clang/test/CodeGen/Inputs/pgotestclang.proftext
    R clang/test/CodeGen/Inputs/pgotestir.profraw
    A clang/test/CodeGen/Inputs/riscv-ilp32e-no-datalayout.ll
    R clang/test/CodeGen/Inputs/update_memprof_inputs.sh
    M clang/test/CodeGen/LoongArch/abi-lp64d.c
    M clang/test/CodeGen/LoongArch/bitint.c
    M clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
    M clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
    M clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
    M clang/test/CodeGen/LoongArch/lasx/builtin.c
    A clang/test/CodeGen/LoongArch/target-abi-module-flag.c
    A clang/test/CodeGen/Mips/fixed-register-global.c
    A clang/test/CodeGen/Mips/variadic-aggregate.c
    M clang/test/CodeGen/PR44896.ll
    A clang/test/CodeGen/PowerPC/aix-vec-extabi-module-flag.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-p9vector.c
    A clang/test/CodeGen/PowerPC/matrix-hfa.c
    M clang/test/CodeGen/PowerPC/ppc64-vector.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
    M clang/test/CodeGen/RISCV/bitint.c
    M clang/test/CodeGen/RISCV/builtin-cpu-is.c
    M clang/test/CodeGen/RISCV/riscv-abi.cpp
    M clang/test/CodeGen/RISCV/riscv-cf-protection.c
    M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
    M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp
    M clang/test/CodeGen/RISCV/riscv32-abi.c
    M clang/test/CodeGen/RISCV/riscv32-vararg.c
    M clang/test/CodeGen/RISCV/riscv64-abi.c
    M clang/test/CodeGen/RISCV/riscv64-vararg.c
    M clang/test/CodeGen/RISCV/rvp-intrinsics.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabd.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabdu.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabs.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vwabda.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vwabdau.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabd.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabdu.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabs.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vwabda.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vwabdau.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabd.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabdu.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabs.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vwabda.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vwabdau.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabd.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabdu.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabs.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vwabda.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vwabdau.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vunzipe.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vunzipo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vzip.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vunzipe.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vunzipo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vzip.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vunzipe.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vunzipo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vzip.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vunzipe.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vunzipo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vzip.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vpaire.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vpairo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vunzipe.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vunzipo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/non-overloaded/vzip.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vpaire.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vpairo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vunzipe.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vunzipo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/non-policy/overloaded/vzip.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpaire.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vpairo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vunzipe.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vunzipo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/non-overloaded/vzip.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpaire.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vpairo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vunzipe.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vunzipo.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvzip/policy/overloaded/vzip.c
    M clang/test/CodeGen/Sparc/sparc-complex-abi.c
    M clang/test/CodeGen/Sparc/sparc-vaarg.c
    M clang/test/CodeGen/Sparc/sparcv8-abi.c
    M clang/test/CodeGen/Sparc/sparcv9-abi.c
    M clang/test/CodeGen/Sparc/sparcv9-vaarg.c
    A clang/test/CodeGen/Sparc/variadic-aggregate.c
    M clang/test/CodeGen/SystemZ/sync-builtins-i128-16Al.c
    M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
    M clang/test/CodeGen/SystemZ/systemz-abi.c
    M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
    M clang/test/CodeGen/SystemZ/zos-abi.c
    M clang/test/CodeGen/WebAssembly/wasm-exception-model-flag-parse-ir-input.ll
    A clang/test/CodeGen/WebAssembly/wasm-global-export.c
    A clang/test/CodeGen/WebAssembly/wasm-global-import.c
    A clang/test/CodeGen/WebAssembly/wasm-import-error.c
    M clang/test/CodeGen/X86/avx-builtins.c
    M clang/test/CodeGen/X86/cx-complex-range.c
    A clang/test/CodeGen/X86/matrix-vectorcall.c
    M clang/test/CodeGen/X86/mmx-builtins.c
    M clang/test/CodeGen/X86/newpm.c
    M clang/test/CodeGen/X86/sse-builtins.c
    M clang/test/CodeGen/X86/sse2-builtins.c
    M clang/test/CodeGen/X86/x86_32-arguments-win32.c
    A clang/test/CodeGen/X86/x86_32-vaarg.c
    M clang/test/CodeGen/X86/x86_64-arguments-win32.c
    M clang/test/CodeGen/X86/x86_64-arguments.c
    A clang/test/CodeGen/X86/x86_64-atomic-abi.c
    A clang/test/CodeGen/X86/x86_64-empty-cxx-member-abi.cpp
    A clang/test/CodeGen/X86/x86_64-union-abi.c
    A clang/test/CodeGen/X86/x86_64-union-empty-member-abi.cpp
    A clang/test/CodeGen/X86/x86_64-unnamed-bitfield-abi-compat.c
    M clang/test/CodeGen/aapcs64-align.cpp
    M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_dup_neonq.c
    M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_get_neonq.c
    M clang/test/CodeGen/aarch64_neon_sve_bridge_intrinsics/acle_neon_sve_bridge_set_neonq.c
    A clang/test/CodeGen/amdgpu-builtin-is-invocable-subarch.c
    M clang/test/CodeGen/amdgpu-builtin-is-invocable.c
    A clang/test/CodeGen/amdgpu-builtin-processor-is-subarch.c
    M clang/test/CodeGen/amdgpu-builtin-processor-is.c
    M clang/test/CodeGen/arm-aapcs-vfp.c
    M clang/test/CodeGen/arm-abi-vector.c
    M clang/test/CodeGen/arm-eabi.c
    A clang/test/CodeGen/arm-eabihf-no-fpregs.c
    M clang/test/CodeGen/arm-neon-vld.c
    M clang/test/CodeGen/arm-swiftcall.c
    A clang/test/CodeGen/arm-target-abi-module-flag.c
    M clang/test/CodeGen/arm64-abi-vector.c
    M clang/test/CodeGen/arm64-arguments.c
    M clang/test/CodeGen/arm64-microsoft-arguments.cpp
    M clang/test/CodeGen/arm64-microsoft-intrinsics.c
    M clang/test/CodeGen/arm64ec-varargs.c
    M clang/test/CodeGen/arm_acle.c
    M clang/test/CodeGen/armv7k-abi.c
    M clang/test/CodeGen/asan-unified-lto.ll
    M clang/test/CodeGen/atomic-arm64.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
    M clang/test/CodeGen/attr-counted-by-for-pointers.c
    A clang/test/CodeGen/attr-counted-by-or-null-for-pointers.c
    M clang/test/CodeGen/attr-counted-by-with-sanitizers.c
    M clang/test/CodeGen/attr-counted-by-without-sanitizers.c
    A clang/test/CodeGen/attr-noinline-always-inline.cpp
    M clang/test/CodeGen/attr-noundef.cpp
    M clang/test/CodeGen/attr-sized-by-for-pointers.c
    A clang/test/CodeGen/attr-sized-by-or-null-for-pointers.c
    M clang/test/CodeGen/attr-target-mv.c
    R clang/test/CodeGen/attr-target-x86-mmx.c
    M clang/test/CodeGen/attr-target-x86.c
    M clang/test/CodeGen/builtin-clear-padding-codegen.c
    A clang/test/CodeGen/builtin-frame-address-arg-type.c
    A clang/test/CodeGen/builtin-prefetch-arg-type.c
    M clang/test/CodeGen/builtin-stdc-bit-functions.c
    M clang/test/CodeGen/builtins-arm.c
    M clang/test/CodeGen/builtins-arm64.c
    M clang/test/CodeGen/builtins-nvptx.c
    M clang/test/CodeGen/builtins-wasm.c
    A clang/test/CodeGen/call-graph-section-definition-noprototype.c
    A clang/test/CodeGen/call-graph-section-noprototype.c
    M clang/test/CodeGen/call-graph-section.c
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-when-nullptr-is-defined.c
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
    M clang/test/CodeGen/catch-pointer-overflow-volatile.c
    M clang/test/CodeGen/catch-pointer-overflow.c
    M clang/test/CodeGen/cfstring2.c
    A clang/test/CodeGen/compound-assign-atomic-fp-fallback.c
    A clang/test/CodeGen/compound-assign-atomic-fp.c
    A clang/test/CodeGen/compound-literal-lifetime.c
    M clang/test/CodeGen/cx-complex-range.c
    M clang/test/CodeGen/dwarf-version.c
    M clang/test/CodeGen/enum-bool.cpp
    A clang/test/CodeGen/exception-model-flag.c
    M clang/test/CodeGen/ext-int-cc.c
    A clang/test/CodeGen/fake-use-msvc-dtor.cpp
    M clang/test/CodeGen/fp128_complex.c
    M clang/test/CodeGen/glibc_ptr_align.c
    M clang/test/CodeGen/isfpclass.c
    A clang/test/CodeGen/kcfi-hexagon.c
    A clang/test/CodeGen/keep-inline-functions.c
    A clang/test/CodeGen/keep-inline-functions.cpp
    A clang/test/CodeGen/keep-inline-functions.cppm
    M clang/test/CodeGen/link-builtin-bitcode.c
    M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
    M clang/test/CodeGen/memprof.cpp
    M clang/test/CodeGen/mingw-long-double.c
    M clang/test/CodeGen/mips64-padding-arg.c
    M clang/test/CodeGen/ms-setjmp.c
    M clang/test/CodeGen/ms_abi.c
    M clang/test/CodeGen/nvptx_attributes.c
    A clang/test/CodeGen/openacc-invalid-stmt.cpp
    M clang/test/CodeGen/pass-by-value-noalias.c
    M clang/test/CodeGen/pgo-instrumentation.c
    M clang/test/CodeGen/pr4349.c
    M clang/test/CodeGen/ptr-subtract-stable.c
    M clang/test/CodeGen/ptrauth-in-c-struct.c
    M clang/test/CodeGen/regcall.c
    M clang/test/CodeGen/regcall4.c
    A clang/test/CodeGen/riscv-ir-datalayout-preserve.ll
    M clang/test/CodeGen/stack-protector-guard.c
    A clang/test/CodeGen/swiftcall-single-element-vector.c
    M clang/test/CodeGen/systemz-charset.cpp
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/CodeGen/target-data.c
    A clang/test/CodeGen/thread-model.c
    M clang/test/CodeGen/ubsan-function-sugared.cpp
    M clang/test/CodeGen/ubsan-function.cpp
    M clang/test/CodeGen/ubsan-pointer-overflow-constant-fold.c
    M clang/test/CodeGen/ubsan-pointer-overflow.c
    M clang/test/CodeGen/vectorcall.c
    M clang/test/CodeGen/vla.c
    M clang/test/CodeGen/win-fp128.c
    M clang/test/CodeGen/win64-i128.c
    M clang/test/CodeGen/windows-seh-arg-capture-crash.cpp
    M clang/test/CodeGen/windows-swiftcall.c
    M clang/test/CodeGenCUDA/Inputs/cuda.h
    M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
    M clang/test/CodeGenCUDA/amdgpu-kernel-attrs.cu
    M clang/test/CodeGenCUDA/anon-ns.cu
    M clang/test/CodeGenCUDA/atomic-options.hip
    M clang/test/CodeGenCUDA/device-stub.cu
    M clang/test/CodeGenCUDA/device-var-linkage.cu
    M clang/test/CodeGenCUDA/fp-contract.cu
    A clang/test/CodeGenCUDA/hip-cuid-incremental.hip
    M clang/test/CodeGenCUDA/managed-var.cu
    M clang/test/CodeGenCUDA/offload_via_llvm.cu
    M clang/test/CodeGenCUDA/offloading-entries.cu
    A clang/test/CodeGenCUDA/pure_deleted_virtual.cu
    A clang/test/CodeGenCUDA/sqrtf-precise.cu
    M clang/test/CodeGenCUDA/static-device-var-rdc.cu
    M clang/test/CodeGenCUDASPIRV/kernel-cc.cu
    A clang/test/CodeGenCXX/GH128985.cpp
    R clang/test/CodeGenCXX/GH211943.cpp
    A clang/test/CodeGenCXX/Inputs/embed-data.txt
    A clang/test/CodeGenCXX/RelativeVTablesABI/deleted-virtual-method.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
    A clang/test/CodeGenCXX/aggregate-default-member-initializers.cpp
    M clang/test/CodeGenCXX/aix-alignment.cpp
    M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
    M clang/test/CodeGenCXX/arm-cc.cpp
    M clang/test/CodeGenCXX/arm-pcs.cpp
    M clang/test/CodeGenCXX/arm-swiftcall.cpp
    M clang/test/CodeGenCXX/attr-target-mv-inalloca.cpp
    M clang/test/CodeGenCXX/blocks.cpp
    M clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp
    M clang/test/CodeGenCXX/builtin-dump-struct.cpp
    M clang/test/CodeGenCXX/builtins-eh-wasm.cpp
    M clang/test/CodeGenCXX/constructor-attr.cpp
    M clang/test/CodeGenCXX/copy-initialization.cpp
    M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
    M clang/test/CodeGenCXX/cxx1z-copy-omission.cpp
    M clang/test/CodeGenCXX/cxx1z-inline-variables.cpp
    M clang/test/CodeGenCXX/derived-to-base-conv.cpp
    M clang/test/CodeGenCXX/dllexport-ctor-closure-nested.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/empty-nontrivially-copyable.cpp
    M clang/test/CodeGenCXX/fastcall.cpp
    M clang/test/CodeGenCXX/homogeneous-aggregates.cpp
    M clang/test/CodeGenCXX/inalloca-lambda.cpp
    M clang/test/CodeGenCXX/inalloca-overaligned.cpp
    M clang/test/CodeGenCXX/inalloca-vector.cpp
    M clang/test/CodeGenCXX/inheriting-constructor.cpp
    A clang/test/CodeGenCXX/mangle-concept-template-param.cpp
    M clang/test/CodeGenCXX/mangle-concept.cpp
    M clang/test/CodeGenCXX/member-function-pointer-calls.cpp
    M clang/test/CodeGenCXX/microsoft-abi-arg-order.cpp
    M clang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
    M clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
    M clang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
    M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors2.cpp
    A clang/test/CodeGenCXX/module-initializer-elision.cpp
    M clang/test/CodeGenCXX/ms-property.cpp
    A clang/test/CodeGenCXX/msvc-global-delete-llvm-used.cpp
    M clang/test/CodeGenCXX/new_hot_cold.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    M clang/test/CodeGenCXX/operator-new.cpp
    M clang/test/CodeGenCXX/optnone-pragma-optimize-off.cpp
    M clang/test/CodeGenCXX/pass-by-value-noalias.cpp
    M clang/test/CodeGenCXX/powerpc-byval.cpp
    M clang/test/CodeGenCXX/pragma-loop-pr27643.cpp
    M clang/test/CodeGenCXX/pragma-loop-predicate.cpp
    M clang/test/CodeGenCXX/pragma-loop.cpp
    M clang/test/CodeGenCXX/pragma-unroll.cpp
    M clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
    A clang/test/CodeGenCXX/ptrauth-vtable-in-vtt.cpp
    M clang/test/CodeGenCXX/regcall.cpp
    M clang/test/CodeGenCXX/regcall4.cpp
    M clang/test/CodeGenCXX/regparm.cpp
    A clang/test/CodeGenCXX/riscv-mangle-vls-cc.cpp
    M clang/test/CodeGenCXX/static-init-3.cpp
    M clang/test/CodeGenCXX/temporaries.cpp
    A clang/test/CodeGenCXX/top-level-stmt-local-names.cpp
    M clang/test/CodeGenCXX/trivial_abi.cpp
    M clang/test/CodeGenCXX/uncopyable-args.cpp
    M clang/test/CodeGenCXX/wasm-args-returns.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp
    M clang/test/CodeGenCXX/windows-x86-swiftcall.cpp
    A clang/test/CodeGenCXX/windows-x86_64-varargs.cpp
    M clang/test/CodeGenCXX/x86_32-arguments.cpp
    M clang/test/CodeGenCoroutines/coro-destructor-of-final_suspend.cpp
    M clang/test/CodeGenCoroutines/coro-params.cpp
    M clang/test/CodeGenCoroutines/coro-unhandled-exception.cpp
    M clang/test/CodeGenHIP/amdgcnspirv-uses-amdgpu-abi.cpp
    M clang/test/CodeGenHIP/amdgpu-barrier-type.hip
    M clang/test/CodeGenHIP/amdgpu-flat-atomic-fadd.hip
    M clang/test/CodeGenHIP/amdgpu-global-atomic-fadd.hip
    M clang/test/CodeGenHIP/builtins-make-buffer-rsrc.hip
    M clang/test/CodeGenHIP/hip-cumode.hip
    M clang/test/CodeGenHIP/hipspv-kernel.cpp
    M clang/test/CodeGenHIP/offload-pgo-sections.hip
    M clang/test/CodeGenHIP/sanitize-undefined-null.hip
    M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
    A clang/test/CodeGenHLSL/BasicFeatures/MatrixComparisonOperators.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/StructPassing.hlsl
    M clang/test/CodeGenHLSL/HLSLControlFlowHint.hlsl
    M clang/test/CodeGenHLSL/builtins/ConstantBuffer.hlsl
    M clang/test/CodeGenHLSL/builtins/InterlockedAdd.hlsl
    A clang/test/CodeGenHLSL/builtins/InterlockedAnd.hlsl
    A clang/test/CodeGenHLSL/builtins/InterlockedMin.hlsl
    M clang/test/CodeGenHLSL/builtins/InterlockedOr.hlsl
    M clang/test/CodeGenHLSL/builtins/InterlockedXor.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-Interlocked.hlsl
    M clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedAdd.hlsl
    A clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedAnd.hlsl
    A clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedMin.hlsl
    M clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedOr.hlsl
    M clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedXor.hlsl
    A clang/test/CodeGenHLSL/builtins/RWTexture-Interlocked.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedAdd.hlsl
    A clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedAnd.hlsl
    A clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedMin.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedOr.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedXor.hlsl
    M clang/test/CodeGenHLSL/builtins/abs.hlsl
    M clang/test/CodeGenHLSL/builtins/acos.hlsl
    A clang/test/CodeGenHLSL/builtins/acos_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/asdouble.hlsl
    M clang/test/CodeGenHLSL/builtins/asin.hlsl
    A clang/test/CodeGenHLSL/builtins/asin_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/atan.hlsl
    M clang/test/CodeGenHLSL/builtins/atan2.hlsl
    A clang/test/CodeGenHLSL/builtins/atan_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    A clang/test/CodeGenHLSL/builtins/ceil_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/clamp.hlsl
    M clang/test/CodeGenHLSL/builtins/clip.hlsl
    M clang/test/CodeGenHLSL/builtins/cos.hlsl
    A clang/test/CodeGenHLSL/builtins/cos_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/cosh.hlsl
    A clang/test/CodeGenHLSL/builtins/cosh_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/countbits.hlsl
    M clang/test/CodeGenHLSL/builtins/ddx-coarse.hlsl
    M clang/test/CodeGenHLSL/builtins/ddx-fine.hlsl
    M clang/test/CodeGenHLSL/builtins/ddx.hlsl
    M clang/test/CodeGenHLSL/builtins/ddy-coarse.hlsl
    M clang/test/CodeGenHLSL/builtins/ddy-fine.hlsl
    M clang/test/CodeGenHLSL/builtins/ddy.hlsl
    R clang/test/CodeGenHLSL/builtins/degrees-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/degrees.hlsl
    A clang/test/CodeGenHLSL/builtins/degrees_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/dot.hlsl
    M clang/test/CodeGenHLSL/builtins/exp.hlsl
    M clang/test/CodeGenHLSL/builtins/exp2.hlsl
    A clang/test/CodeGenHLSL/builtins/exp2_mat.hlsl
    A clang/test/CodeGenHLSL/builtins/exp_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/f16tof32.hlsl
    M clang/test/CodeGenHLSL/builtins/f32tof16.hlsl
    M clang/test/CodeGenHLSL/builtins/firstbitlow.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    A clang/test/CodeGenHLSL/builtins/floor_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/fma.hlsl
    M clang/test/CodeGenHLSL/builtins/frac.hlsl
    A clang/test/CodeGenHLSL/builtins/frac_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
    M clang/test/CodeGenHLSL/builtins/isinf-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/isinf.hlsl
    A clang/test/CodeGenHLSL/builtins/isinf_mat-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/isinf_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/isnan.hlsl
    A clang/test/CodeGenHLSL/builtins/isnan_mat-overloads.hlsl
    A clang/test/CodeGenHLSL/builtins/isnan_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/ldexp.hlsl
    R clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M clang/test/CodeGenHLSL/builtins/log.hlsl
    M clang/test/CodeGenHLSL/builtins/log10.hlsl
    A clang/test/CodeGenHLSL/builtins/log10_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/log2.hlsl
    A clang/test/CodeGenHLSL/builtins/log2_mat.hlsl
    A clang/test/CodeGenHLSL/builtins/log_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/mad.hlsl
    M clang/test/CodeGenHLSL/builtins/max.hlsl
    A clang/test/CodeGenHLSL/builtins/max_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/min.hlsl
    A clang/test/CodeGenHLSL/builtins/min_mat.hlsl
    R clang/test/CodeGenHLSL/builtins/normalize-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/normalize.hlsl
    M clang/test/CodeGenHLSL/builtins/pow.hlsl
    R clang/test/CodeGenHLSL/builtins/radians-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/radians.hlsl
    A clang/test/CodeGenHLSL/builtins/radians_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/rcp.hlsl
    A clang/test/CodeGenHLSL/builtins/rcp_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
    M clang/test/CodeGenHLSL/builtins/round.hlsl
    A clang/test/CodeGenHLSL/builtins/round_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
    A clang/test/CodeGenHLSL/builtins/rsqrt_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/saturate.hlsl
    A clang/test/CodeGenHLSL/builtins/saturate_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/select.hlsl
    M clang/test/CodeGenHLSL/builtins/sign.hlsl
    M clang/test/CodeGenHLSL/builtins/sin.hlsl
    A clang/test/CodeGenHLSL/builtins/sin_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/sinh.hlsl
    A clang/test/CodeGenHLSL/builtins/sinh_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
    M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
    A clang/test/CodeGenHLSL/builtins/sqrt_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
    M clang/test/CodeGenHLSL/builtins/step.hlsl
    M clang/test/CodeGenHLSL/builtins/tan.hlsl
    A clang/test/CodeGenHLSL/builtins/tan_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/tanh.hlsl
    A clang/test/CodeGenHLSL/builtins/tanh_mat.hlsl
    M clang/test/CodeGenHLSL/builtins/trunc.hlsl
    A clang/test/CodeGenHLSL/builtins/trunc_mat.hlsl
    M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
    A clang/test/CodeGenHLSL/resources/ByteAddressBuffers-matrix-legacy-order.hlsl
    M clang/test/CodeGenHLSL/resources/ConstantBufferT-struct-passing.hlsl
    M clang/test/CodeGenHLSL/resources/ConstantBufferT.hlsl
    A clang/test/CodeGenHLSL/resources/Local-Resources/array.hlsl
    A clang/test/CodeGenHLSL/resources/Local-Resources/consolidated_assignments.hlsl
    A clang/test/CodeGenHLSL/resources/Local-Resources/init_from_global_array_dynamic_index.hlsl
    A clang/test/CodeGenHLSL/resources/Local-Resources/static_local.hlsl
    A clang/test/CodeGenHLSL/resources/Local-Resources/ternary_lvalue_unambiguous.hlsl
    A clang/test/CodeGenHLSL/resources/MultiSampledTextures-Load.hlsl
    A clang/test/CodeGenHLSL/resources/MultiSampledTextures-default-explicit-binding.hlsl
    A clang/test/CodeGenHLSL/resources/MultiSampledTextures-default.hlsl
    M clang/test/CodeGenHLSL/resources/NonUniformResourceIndex.hlsl
    M clang/test/CodeGenHLSL/resources/StructuredBuffers-constructors.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-CalculateLevelOfDetail.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-Gather.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-GetDimensions.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-Load.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-Mips.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-Sample.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-SampleBias.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-SampleCmp.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-SampleCmpLevelZero.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-SampleGrad.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-SampleLevel.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-Subscript.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-default-explicit-binding.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-default.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-shorthand-contexts.hlsl
    M clang/test/CodeGenHLSL/resources/TypedBuffers-constructor.hlsl
    M clang/test/CodeGenHLSL/resources/cbuffer_struct_passing.hlsl
    M clang/test/CodeGenHLSL/resources/cbuffer_struct_passing_with_resources.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-global-multi-dim.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-global-unbounded.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-global.hlsl
    M clang/test/CodeGenHLSL/resources/res-array-rw-counter.hlsl
    M clang/test/CodeGenHLSL/semantics/DispatchThreadID-noindex.hlsl
    M clang/test/CodeGenHLSL/semantics/SV_GroupID-noindex.hlsl
    M clang/test/CodeGenHLSL/semantics/SV_GroupThreadID-noindex.hlsl
    M clang/test/CodeGenHLSL/semantics/SV_Position.ps.hlsl
    M clang/test/CodeGenHLSL/semantics/SV_Position.vs.hlsl
    M clang/test/CodeGenHLSL/semantics/SV_Target.ps.hlsl
    M clang/test/CodeGenHLSL/semantics/SV_VertexID.vs.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic-struct-2-output.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic.arbitrary.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic.array.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic.array.output.hlsl
    A clang/test/CodeGenHLSL/semantics/semantic.bool.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic.explicit-location-output-struct.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic.explicit-location.hlsl
    A clang/test/CodeGenHLSL/semantics/semantic.input.hlsl
    A clang/test/CodeGenHLSL/semantics/semantic.output.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic.struct.output.hlsl
    M clang/test/CodeGenHLSL/sret_output.hlsl
    M clang/test/CodeGenObjC/arc-ternary-op.m
    M clang/test/CodeGenObjC/gnustep2-ivar-offset.m
    A clang/test/CodeGenObjC/gnustep2-wasm32-nil.m
    M clang/test/CodeGenObjC/pass-by-value-noalias.m
    M clang/test/CodeGenObjC/property-aggregate.m
    A clang/test/CodeGenObjC/wasm32-eh-arc.m
    A clang/test/CodeGenObjC/wasm32-eh.m
    M clang/test/CodeGenObjC/weak-in-c-struct.m
    M clang/test/CodeGenObjCXX/arc-forwarded-lambda-call.mm
    M clang/test/CodeGenObjCXX/block-in-template-inst.mm
    M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
    M clang/test/CodeGenObjCXX/property-dot-copy-elision.mm
    M clang/test/CodeGenObjCXX/property-objects.mm
    M clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
    A clang/test/CodeGenObjCXX/wasm32-eh-objcxx.mm
    M clang/test/CodeGenOpenCL/address-spaces-conversions.cl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel-linking.cl
    M clang/test/CodeGenOpenCL/amdgpu-env-amdgcn.cl
    M clang/test/CodeGenOpenCL/amdgpu-ieee.cl
    M clang/test/CodeGenOpenCL/amdgpu-xnack-any-only.cl
    M clang/test/CodeGenOpenCL/backend-unsupported-warning.ll
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx13.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-async-load-lds.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-make-buffer-rsrc.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-add.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-s-buffer-load.cl
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx942.cl
    M clang/test/CodeGenOpenCL/nullptr.cl
    M clang/test/CodeGenOpenCL/size_t.cl
    M clang/test/CodeGenSPIRV/Builtins/generic_cast_to_ptr_explicit.c
    M clang/test/CodeGenSYCL/address-space-conversions.cpp
    M clang/test/CodeGenSYCL/address-space-mangling.cpp
    M clang/test/CodeGenSYCL/amd-address-space-conversions.cpp
    M clang/test/CodeGenSYCL/cuda-address-space-conversions.cpp
    M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
    A clang/test/CodeGenSYCL/offload-include-binary.cpp
    M clang/test/DebugInfo/CXX/debug-info.cpp
    M clang/test/DebugInfo/CXX/limited-ctor.cpp
    M clang/test/DebugInfo/CXX/verbose-trap.cpp
    A clang/test/DebugInfo/DynamicDebugging/EndToEnd/X86/globalopt.c
    A clang/test/DebugInfo/DynamicDebugging/EndToEnd/X86/lit.local.cfg
    A clang/test/DebugInfo/DynamicDebugging/EndToEnd/X86/obj-emission-target/lit.local.cfg
    A clang/test/DebugInfo/DynamicDebugging/EndToEnd/X86/obj-emission-target/no-target.c
    A clang/test/DebugInfo/DynamicDebugging/EndToEnd/X86/section.c
    A clang/test/DebugInfo/DynamicDebugging/attr-outer-tail-pad.c
    A clang/test/DebugInfo/DynamicDebugging/attr-outer.c
    A clang/test/DebugInfo/DynamicDebugging/compiler-used.cpp
    A clang/test/DebugInfo/DynamicDebugging/embed.c
    A clang/test/DebugInfo/DynamicDebugging/inner-attrs.c
    A clang/test/DebugInfo/DynamicDebugging/profile-coverage.c
    A clang/test/DebugInfo/DynamicDebugging/symbols-functions.cpp
    A clang/test/DebugInfo/DynamicDebugging/symbols-globals.cpp
    A clang/test/DebugInfo/DynamicDebugging/symbols-internal-comdat.cpp
    M clang/test/DebugInfo/Generic/attr-nodebug2.c
    M clang/test/DebugInfo/Generic/cc.c
    M clang/test/DebugInfo/Generic/codeview-buildinfo.c
    M clang/test/DebugInfo/Generic/debug-label-inline.c
    M clang/test/DebugInfo/ObjC/nontrivial-c-struct-exception.m
    A clang/test/DebugInfo/ObjC/property-backing-storage.m
    A clang/test/DebugInfo/X86/debug-info-static-locals.cpp
    A clang/test/DebugInfo/X86/debug-info-thread-locals.cpp
    A clang/test/Driver/Inputs/basic_cross_cygwin_tree/usr/i686-pc-msys/lib/crt0.o
    A clang/test/Driver/Inputs/basic_cross_cygwin_tree/usr/lib/crt0.o
    A clang/test/Driver/Inputs/basic_cross_cygwin_tree/usr/lib/gcc/i686-pc-msys/10/crtend.o
    A clang/test/Driver/Inputs/basic_cross_cygwin_tree/usr/lib/gcc/x86_64-pc-cygwin/10/crtend.o
    A clang/test/Driver/Inputs/basic_cross_cygwin_tree/usr/x86_64-pc-cygwin/lib/crt0.o
    A clang/test/Driver/Inputs/basic_cygwin_tree/usr/lib/crt0.o
    A clang/test/Driver/Inputs/basic_cygwin_tree/usr/lib/default-manifest.o
    A clang/test/Driver/Inputs/basic_cygwin_tree/usr/lib/gcc/i686-pc-cygwin/10/crtend.o
    A clang/test/Driver/Inputs/basic_cygwin_tree/usr/lib/gcc/x86_64-pc-msys/10/crtend.o
    A clang/test/Driver/Inputs/install_tree_without_libcxx/bin/.keep
    A clang/test/Driver/Inputs/install_tree_without_libcxx/include/.keep
    A clang/test/Driver/Inputs/install_tree_without_libcxx/lib/.keep
    A clang/test/Driver/Inputs/mingw_msys2_tree/msys64/mingw32/lib/default-manifest.o
    A clang/test/Driver/Inputs/musl_ssp_tree/usr/lib/libssp_nonshared.a
    A clang/test/Driver/Inputs/object0.o
    A clang/test/Driver/Inputs/resource_dir_amdgpu_legacy_triple/lib/amdgcn-amd-amdhsa/libclang_rt.builtins.a
    A clang/test/Driver/Inputs/resource_dir_amdgpu_major_version/lib/amdgpu9-amd-amdhsa-llvm/libclc.bc
    A clang/test/Driver/Inputs/resource_dir_amdgpu_subarch_triples/lib/amdgpu10.30-amd-amdhsa-llvm/libclang_rt.profile.a
    A clang/test/Driver/Inputs/resource_dir_amdgpu_subarch_triples/lib/amdgpu10.30-amd-amdhsa-llvm/libclang_rt.ubsan_minimal.a
    A clang/test/Driver/Inputs/resource_dir_amdgpu_subarch_triples/lib/amdgpu10.30-amd-amdhsa-llvm/libclc.bc
    A clang/test/Driver/Inputs/resource_dir_amdgpu_subarch_triples/lib/amdgpu10.30-amd-amdhsa-llvm/libflang_rt.runtime.a
    A clang/test/Driver/Inputs/resource_dir_amdgpu_triples/lib/amdgpu-amd-amdhsa-llvm/gfx90a/libclc.bc
    A clang/test/Driver/Inputs/resource_dir_amdgpu_triples/lib/amdgpu-amd-amdhsa-llvm/libclang_rt.profile.a
    A clang/test/Driver/Inputs/resource_dir_amdgpu_triples/lib/amdgpu-amd-amdhsa-llvm/libclang_rt.ubsan_minimal.a
    A clang/test/Driver/Inputs/resource_dir_amdgpu_triples/lib/amdgpu-amd-amdhsa-llvm/libclc.bc
    A clang/test/Driver/Inputs/resource_dir_amdgpu_triples/lib/amdgpu-amd-amdhsa-llvm/libflang_rt.runtime.a
    A clang/test/Driver/Inputs/resource_dir_amdgpu_triples/lib/amdgpu-amd-amdhsa/gfx90a/libclc.bc
    A clang/test/Driver/Inputs/resource_dir_amdgpu_triples/lib/amdgpu-amd-amdhsa/libclang_rt.profile.a
    A clang/test/Driver/Inputs/resource_dir_amdgpu_triples/lib/amdgpu-amd-amdhsa/libclang_rt.ubsan_minimal.a
    A clang/test/Driver/Inputs/resource_dir_amdgpu_triples/lib/amdgpu-amd-amdhsa/libclc.bc
    A clang/test/Driver/Inputs/resource_dir_amdgpu_triples/lib/amdgpu-amd-amdhsa/libflang_rt.runtime.a
    A clang/test/Driver/Inputs/resource_dir_amdgpu_triples/lib/amdgpu10.30-amd-amdhsa/libclang_rt.profile.a
    A clang/test/Driver/Inputs/resource_dir_amdgpu_triples/lib/amdgpu10.30-amd-amdhsa/libclang_rt.ubsan_minimal.a
    A clang/test/Driver/Inputs/resource_dir_amdgpu_triples/lib/amdgpu10.30-amd-amdhsa/libclc.bc
    A clang/test/Driver/Inputs/resource_dir_amdgpu_triples/lib/amdgpu10.30-amd-amdhsa/libflang_rt.runtime.a
    A clang/test/Driver/Inputs/resource_dir_with_amdgpu_per_target_subdir/lib/amdgpu-amd-amdhsa/libclang_rt.ubsan_standalone.a
    A clang/test/Driver/Inputs/resource_dir_with_amdgpu_per_target_subdir/lib/x86_64-unknown-linux-gnu/libclang_rt.ubsan_offload.a
    A clang/test/Driver/Inputs/resource_dir_with_amdgpu_per_target_subdir/lib/x86_64-unknown-linux-gnu/libclang_rt.ubsan_standalone.a
    A clang/test/Driver/aarch64-mcpu-no-feat.c
    M clang/test/Driver/aarch64-ptrauth.c
    M clang/test/Driver/aarch64-security-options.c
    M clang/test/Driver/aix-ld.c
    M clang/test/Driver/amdgpu-hip-system-arch.c
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Driver/amdgpu-multilib.yaml
    A clang/test/Driver/amdgpu-offload-arch-subarch-names.c
    M clang/test/Driver/amdgpu-openmp-gpu-max-threads-per-block.c
    M clang/test/Driver/amdgpu-openmp-sanitize-options.c
    M clang/test/Driver/amdgpu-openmp-system-arch-fail.c
    A clang/test/Driver/amdgpu-openmp-targets-triple-compat.c
    M clang/test/Driver/amdgpu-openmp-toolchain.c
    A clang/test/Driver/amdgpu-subarch-diag.hip
    A clang/test/Driver/amdgpu-subarch-library-paths.cl
    A clang/test/Driver/amdgpu-subarch-march-diag.cl
    A clang/test/Driver/amdgpu-subarch-resource-dir.cl
    M clang/test/Driver/amdgpu-unwind.cl
    M clang/test/Driver/amdgpu-validate-sanitize.cl
    M clang/test/Driver/amdgpu-xnack-sramecc-flags.c
    M clang/test/Driver/arch-specific-libdir-rpath.c
    M clang/test/Driver/arm-sb.c
    M clang/test/Driver/atomic-options.hip
    M clang/test/Driver/baremetal.cpp
    M clang/test/Driver/cl-denorms-are-zero.cl
    M clang/test/Driver/cl-offload.cu
    M clang/test/Driver/clang_f_opts.c
    M clang/test/Driver/cuda-bad-arch.cu
    M clang/test/Driver/cuda-bindings.cu
    M clang/test/Driver/cuda-external-tools.cu
    M clang/test/Driver/cuda-flush-denormals-to-zero.cu
    M clang/test/Driver/cuda-openmp-driver.cu
    M clang/test/Driver/cuda-options.cu
    M clang/test/Driver/cuda-phases.cu
    M clang/test/Driver/cuda-short-ptr.cu
    M clang/test/Driver/cuda-via-liboffload.cu
    M clang/test/Driver/cygwin.cpp
    A clang/test/Driver/darwin-default-deployment-target.c
    A clang/test/Driver/darwin-static-lib-universal.c
    M clang/test/Driver/darwin-static-lib.c
    A clang/test/Driver/dxc_fspv_use_legacy_buffer_matrix_order.hlsl
    A clang/test/Driver/dynamic-debugging-flags.c
    M clang/test/Driver/eabi.c
    M clang/test/Driver/entry.s
    A clang/test/Driver/fkeep-inline-functions.c
    A clang/test/Driver/flang/lit.local.cfg
    M clang/test/Driver/freebsd-include-paths.c
    M clang/test/Driver/freebsd.cpp
    A clang/test/Driver/fsanitize-undefined-offload.c
    M clang/test/Driver/ftime-trace-offload.cpp
    M clang/test/Driver/fuchsia.c
    M clang/test/Driver/gpu-exceptions.cpp
    M clang/test/Driver/gpu-libc.c
    M clang/test/Driver/hip-autolink.hip
    M clang/test/Driver/hip-binding.hip
    M clang/test/Driver/hip-code-object-version.hip
    R clang/test/Driver/hip-cuid-hash.hip
    M clang/test/Driver/hip-cuid.hip
    M clang/test/Driver/hip-default-gpu-arch.hip
    M clang/test/Driver/hip-dependent-options.hip
    R clang/test/Driver/hip-device-compile.hip
    M clang/test/Driver/hip-device-libs-llvm-env.hip
    M clang/test/Driver/hip-fpie-option-freebsd.hip
    M clang/test/Driver/hip-fpie-option.hip
    M clang/test/Driver/hip-gsplit-dwarf-options.hip
    M clang/test/Driver/hip-gz-options.hip
    M clang/test/Driver/hip-host-cpu-features.hip
    M clang/test/Driver/hip-include-path.hip
    R clang/test/Driver/hip-link-bc-to-bc.hip
    R clang/test/Driver/hip-link-bundle-archive.hip
    M clang/test/Driver/hip-link-offload-binary.c
    R clang/test/Driver/hip-link-save-temps.hip
    R clang/test/Driver/hip-link-shared-library.hip
    R clang/test/Driver/hip-link-static-library.hip
    M clang/test/Driver/hip-macros.hip
    M clang/test/Driver/hip-offload-arch.hip
    R lldb/test/Shell/RPC/Generator/Inputs/SBDummy.h

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/8de2f80ea824...0b0043c2fc93

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