[all-commits] [llvm/llvm-project] fce3fa: Reapply [Support] ToolSession for in-process tool ...

Adam Smith via All-commits all-commits at lists.llvm.org
Wed Sep 23 15:26:32 PDT 2026


  Branch: refs/heads/users/adams381/cir-callconv-byval-slot-copy
  Home:   https://github.com/llvm/llvm-project
  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: 8e635116824243b37aa1cce4a38b0203fad0a0e6
      https://github.com/llvm/llvm-project/commit/8e635116824243b37aa1cce4a38b0203fad0a0e6
  Author: 1s <zishun.yi.dev at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  [clang][FreeBSD] Enable KASAN and KMSAN for riscv64 (#202288)

enables KASAN and KMSAN for the riscv64 freebsd target in the Clang
driver.

The corresponding FreeBSD kernel runtime support for riscv64 KASAN is
currently under active review.

Depends on: https://reviews.freebsd.org/D57381

Co-authored-by: aokblast <aokblast at FreeBSD.org>


  Commit: 9906c580517b6e22df73a6f7206de551e4883a52
      https://github.com/llvm/llvm-project/commit/9906c580517b6e22df73a6f7206de551e4883a52
  Author: geoffreygaren <ggaren at apple.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

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

  Log Message:
  -----------
  [WebKit Checkers] Trace through temporaries in tryToFindPtrOrigin (#224877)

RefPtr checking skips temporaries, reporting a path through any
temporary as unsafe. This is mostly correct, but not always. For
example, the following is a false positive:

    // makeKey() returns a temporary
    RefCountable* p = condition(makeKey()) ? guardian.ptr() : nullptr;

In the upcoming Borrow checker, it's even more important to trace
through temporaries because not tracing an expression can drop a
`lifetimebound` link, resulting in false **negatives**.

This patch adds tracing through temporaries. The logic is:

* In function call arguments, temporaries are lifetime safe because the
full expression does not end until the call returns

* In ranged for loops, temporaries are lifetime safe because lifetime
extends past the full expression to the duration of the loop (C++ P2718)

    * Otherwise, temporaries are not lifetime safe

Assisted-by: Claude


  Commit: fbbf5d2daec93118bb5e478b7d6089fbbb857f94
      https://github.com/llvm/llvm-project/commit/fbbf5d2daec93118bb5e478b7d6089fbbb857f94
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/test/CodeGen/NVPTX/volatile-local.ll

  Log Message:
  -----------
  [NVPTX] Preserve volatile on atomic local loads and stores (#224719)

Local loads and stores discard atomic ordering during instruction
selection, but volatile accesses with acquire, release, or seq_cst
ordering also lose the volatile qualifier. Preserve volatile for all
valid load/store orderings when local volatile instructions are
supported. Follow up to #217764.


  Commit: 4a49d09c3358c6ac54362d9a8ef8075a4b121114
      https://github.com/llvm/llvm-project/commit/4a49d09c3358c6ac54362d9a8ef8075a4b121114
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

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

  Log Message:
  -----------
  [DebugInfo] Fix overflow in DWARFDebugLine::SectionParser (#224770)

Adding a DWARF64 unit length can overflow and wrap back into the
section, causing an infinite loop. Saturate the addition so an
overflowing offset fails the bounds check.

rdar://186810393


  Commit: 06c7e8db78adf3a5478362ba80d6bb7f25b936b0
      https://github.com/llvm/llvm-project/commit/06c7e8db78adf3a5478362ba80d6bb7f25b936b0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

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

  Log Message:
  -----------
  [SelectionDAG] Simplify computeKnownBits for EXTRACT_ELEMENT using KnownBits::extractBits. NFC (#225168)


  Commit: e7302d9069f007ce968f6eac0a95d0f34cfc1152
      https://github.com/llvm/llvm-project/commit/e7302d9069f007ce968f6eac0a95d0f34cfc1152
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-09-21 (Mon, 21 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
    A llvm/test/Transforms/SLPVectorizer/RISCV/reordered-gather.ll

  Log Message:
  -----------
  [SLP] Reland: More accurately cost RISCV scalar splats (#224766)

Originally #213104, reverted due to assertion failure in cases of
reordered gather nodes.

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: 434b00aa1d89d276b826f40afd132308ee19277f
      https://github.com/llvm/llvm-project/commit/434b00aa1d89d276b826f40afd132308ee19277f
  Author: Domenic Nutile <domenic.nutile at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    A llvm/test/MC/AMDGPU/gfx11_asm_opsel.s
    A llvm/test/MC/AMDGPU/gfx11_asm_t16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_features.s
    M llvm/test/MC/AMDGPU/gfx12_asm_features.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s

  Log Message:
  -----------
  [AMDGPU][MC] Upstream gfx11/gfx12 true16 assembler test coverage (#223826)

Upstream new assembler test cases, covering true16 .l/.h operands and
op_sel
handling that had no upstream coverage.


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

  Changed paths:
    M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
    M clang/test/CIR/CodeGen/union.c

  Log Message:
  -----------
  [CIR] Regenerate CHECK lines for two callconv opt-out tests (#225189)

Neither `union.c` nor `paren-list-agg-init.cpp` is blocked by the
calling convention lowering pass any more, and both compile clean with
it running. Remove the `-fno-clangir-call-conv-lowering` opt-out and
update their CHECK lines. The coerced parameters and returns they now
pin match classic.

The bodies still differ, since CIR round-trips the record through a
fresh coerce slot, so those fragments move to the `LLVMCIR` and `OGCG`
prefixes the file already declares. Four `define` lines in
`paren-list-agg-init.cpp` wildcarded their return type and now pin it.

Assisted-by: Cursor / claude-opus-5


  Commit: 418bede1ebba8990349df1e17306a05bb3d75e51
      https://github.com/llvm/llvm-project/commit/418bede1ebba8990349df1e17306a05bb3d75e51
  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/NativeDylibManagerSPSCI.h
    M llvm/unittests/ExecutionEngine/Orc/EPCGenericDylibManagerTest.cpp

  Log Message:
  -----------
  [ORC] Mangle NativeDylibManager CI names as C (#225096)

Flip the NativeDylibManager descriptors (instance + load/lookup) from
Verbatim to C, so their names carry the target's C mangling. Served by
the in-tree SimpleExecutorDylibManager; controller and executor mangle
the same specs and nothing else defines these names.

Also give the CreateFromExecutionSession test EPC the process triple,
matching the memory-manager fix (its bootstrap symbols were keyed with
the process triple but the EPC had an empty target triple).


  Commit: 82cf8d465a76e9fda817906a4405fb7d18eb84d5
      https://github.com/llvm/llvm-project/commit/82cf8d465a76e9fda817906a4405fb7d18eb84d5
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/ConnectionSpec.h
    M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/ExecutionEngine/Orc/ConnectionSpecTest.cpp

  Log Message:
  -----------
  [ORC] Rename ConnectionSpec's fd transport to socket:adopt (#225075)

A ConnectionSpec's transport field says what kind of thing the
descriptor names, and "fd" named a representation rather than a kind. It
also left no room for a pipe transport, which takes two descriptors and
a different server.

The transport becomes "socket", and adopting a handed-over handle
becomes an explicit "adopt" action rather than the absence of one. So
"tcp" names an endpoint to reach while "socket" names a handle already
held, and a spec states how the process came by its channel -- worth
spelling out, since "adopt", "connect" and "listen" do not carry the
same trust.

llvm-jitlink-executor takes "socket:adopt=<fd>" in place of "fd=<fd>"
and rejects any other action for that transport. The spec is an internal
handoff from llvm-jitlink in every in-tree use, so nothing else needed
updating. The class comment is rewritten around the same split and stops
describing transports that do not exist yet.

Matches the scheme the ORC runtime uses for its connector registry.


  Commit: 9696514f547989b2688e73a987fb676d71f570aa
      https://github.com/llvm/llvm-project/commit/9696514f547989b2688e73a987fb676d71f570aa
  Author: Alex Duran <alejandro.duran at intel.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/test/OpenMP/nvptx_target_teams_ompx_bare_kernel_environment_codegen.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [clang][openmp] Avoid generating geometry for Bare kernels (#225185)

Don't use the information from num_teams or thread_limit clauses to
initialize the Kernel Environment of bare kernels. They only support one
single dimension and for NVIDIA (only) we generate a "nnvm.maxntid"
attribute which is incompatible with the multi-dimensional launch that
happens at runtime.

Fixes a regression introduced by #223772


  Commit: e22f06e20c56cb71c00acd5372c512f54616b884
      https://github.com/llvm/llvm-project/commit/e22f06e20c56cb71c00acd5372c512f54616b884
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi-bf16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll

  Log Message:
  -----------
  [AMDGPU] Do not match an f16 extension as a bf16 mix source (#224912)

Assisted-by: Claude Code Opus 5


  Commit: 32636ffa83325ca3b3c1ae3342d66abe053ddf87
      https://github.com/llvm/llvm-project/commit/32636ffa83325ca3b3c1ae3342d66abe053ddf87
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/test/CIR/CodeGen/bitfields.cpp
    M clang/test/CIR/CodeGenCXX/uncopyable-args.cpp

  Log Message:
  -----------
  [CIR] Drop the stale callconv opt-out from two CIR tests (#225180)

`bitfields.cpp` was waiting on padded, packed and over-aligned record
shapes. `uncopyable-args.cpp` was waiting on parameters of an empty or
tag class. Both files now compile and check clean with the pass running,
so the `-fno-clangir-call-conv-lowering` opt-out and its TODO header are
removed and the tests exercise the pass as written. Neither file changes
a CHECK directive.

Assisted-by: Cursor / claude-opus-5


  Commit: d9b61968481a0cc6fbbef744eeecab16ff9d0c18
      https://github.com/llvm/llvm-project/commit/d9b61968481a0cc6fbbef744eeecab16ff9d0c18
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/DebugInfo/GSYM/ObjectFileTransformer.cpp
    A llvm/test/tools/llvm-gsymutil/X86/macho-symbol-stubs.yaml

  Log Message:
  -----------
  Add support for mach-o symbol stubs. (#225155)

This patch add support for making symbols from the symbol stubs in
mach-o files. Symbol stubs are found in sections that whose type is
S_SYMBOL_STUBS and using these setions along with the indirect symbol
table, we can make symbols for the PLT entries for external functions.
Some crashes occur in these stubs and previous to this fix those
addresses might be incorrecty associated with the last real symbol from
the symbol table and cause confusion and incorrect stack attributions in
symbolication workflows.


  Commit: 54cfa2b76494491dc2e0780b7a5ffea9e55ea529
      https://github.com/llvm/llvm-project/commit/54cfa2b76494491dc2e0780b7a5ffea9e55ea529
  Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Value.h
    M llvm/lib/SandboxIR/Value.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement Value::stripAndAccumulateConstantOffsets() (#224784)

This patch implements the Sandbox IR version of
Value::stripAndAccumulateConstantOffsets(), mirroring LLVM IR.


  Commit: 3374bc31c4e293bb7037abdffacb2308e7ca2ebd
      https://github.com/llvm/llvm-project/commit/3374bc31c4e293bb7037abdffacb2308e7ca2ebd
  Author: Adam Smith <adams at nvidia.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/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/CIRTransformUtils.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    M clang/test/CIR/CodeGen/call.c
    M clang/test/CIR/CodeGen/side-effect.cpp
    M clang/test/CIR/IR/call.cir
    M clang/test/CIR/IR/enum-attrs.cir
    A clang/test/CIR/IR/invalid-effect-attrs.cir
    A clang/test/CIR/Lowering/memory-effects.cir
    M clang/test/CIR/Transforms/flatten-preserve-attrs.cir
    M clang/test/CIR/Transforms/idiom-recognizer.cpp

  Log Message:
  -----------
  [CIR] Split side_effect into memory effects, nounwind, and willreturn (#223890)

`side_effect` was carrying three facts at once. It described the memory
a callee may touch, and it was also the only thing lowering derived
`nounwind` and `willreturn` from, so any callee with a known memory
effect got both. That is wrong for one that can throw, and `willreturn`
had no other representation in CIR at all.

`const`, `pure` and `noalias` now record the three separately, and the
enum is replaced by a structured `#cir.memory_effects` carrying the same
six ModRef slots as the LLVM dialect. It has no keyword syntax of its
own, so on an operation it sits in the attribute dictionary.

The only change in emitted IR is for `__declspec(noalias)`, which the
old enum could not express, and which now gets
`inaccessibleOrArgMemOnly` and `nounwind` to match classic. Everything
else lowers exactly as it did.

Assisted-by: Cursor / claude-opus-5


  Commit: febbf39f76caf3224dda67a5be9f92787356fdc8
      https://github.com/llvm/llvm-project/commit/febbf39f76caf3224dda67a5be9f92787356fdc8
  Author: Kewen Meng <Kewen.Meng at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M offload/ci/hip-tpl.py

  Log Message:
  -----------
  [CI][AMDGPU] Add clean up step for HIP test (#224177)

The bot failed because the GPU core dumps took all the disk space. Added
a step in the HIP build script to clean them up before building the
tests in each run.


  Commit: 5dc57157f12f0ff676e823d9b4d98b45c07e5df2
      https://github.com/llvm/llvm-project/commit/5dc57157f12f0ff676e823d9b4d98b45c07e5df2
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M .github/workflows/libcxx-pr-test-tools.yml

  Log Message:
  -----------
  Partially revert "[libcxx] Move premerge jobs to k8s mode runner set (#221395)" (#224717)

This patch partially reverts commit 028cdb4b9ec09: it only reverts
changing the runner set for the libcxx-pr-test-tools.yml workflow, which
started failing for an unknown reason since the change.

This is temporary until we figure out the problem and switch the
workflow again.


  Commit: 04d36008ff346d1ff9deded1cdf275fb2fb28c69
      https://github.com/llvm/llvm-project/commit/04d36008ff346d1ff9deded1cdf275fb2fb28c69
  Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/test/AST/ByteCode/module-default-ctor.cpp

  Log Message:
  -----------
  [clang][test] Write obj file into %t in ByteCode/module-default-ctor.cpp (#225192)


  Commit: 83af6956eda8e52d6dfbac143da5d5bd62fff9fe
      https://github.com/llvm/llvm-project/commit/83af6956eda8e52d6dfbac143da5d5bd62fff9fe
  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/llvm/BUILD.bazel

  Log Message:
  -----------
  [Bazel] Fixes d9b6196 (#225223)

This fixes d9b61968481a0cc6fbbef744eeecab16ff9d0c18 (#225155).

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

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


  Commit: f677d3f38f45f318df47d5b5dd59a20c71d6a9bc
      https://github.com/llvm/llvm-project/commit/f677d3f38f45f318df47d5b5dd59a20c71d6a9bc
  Author: Alina Sbirlea <asbirlea at google.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    A llvm/test/Transforms/ConstraintElimination/pointer-tighten-ne.ll

  Log Message:
  -----------
  [ConstraintElimination] Allow pointer types in tightenBoundUsingNe (#223215)

Allow pointer types in ConstraintInfo::tightenBoundUsingNe() for the
unsigned system. When A != B is known and the system already implies A
u>= B, tighten the bound to strict inequality A u> B (symmetrically, A
u<= B becomes A u< B).

Added lit tests in
llvm/test/Transforms/ConstraintElimination/pointer-tighten-ne.ll.


  Commit: d3620a08fe99370161844c11d3a288d64583446f
      https://github.com/llvm/llvm-project/commit/d3620a08fe99370161844c11d3a288d64583446f
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOPDInstructions.td
    M llvm/test/MC/AMDGPU/gfx1250_asm_unsupported.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vopd_errs.s

  Log Message:
  -----------
  [AMDGPU][MC] Remove two VOPD instructions from gfx1250 and gfx13 (#225199)

V_DUAL_DOT2ACC_F32_F16 and V_DUAL_DOT2ACC_F32_BF16 were removed from
both gfx1250 and gfx13.

Fixes LCOMPILER-2684.


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

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

  Log Message:
  -----------
  [VPlan] Don't require single-pred blocks on path to loop region (NFC). (#225208)

Generalize getVectorLoopRegion logic to not on single
predecessor/successor chain. This won't hold once the epilogue skeleton
is also modeled in VPlan.

Instead stop at any block with multiple predecessors. In plain CFG form,
that is the loop header, in region-based CFG the scalar preheader.

Currently NFC, but preparation to fully model epilogue vectorization in
VPlan natively.


  Commit: dc0abebc8e834bceea9a467f07e124ab944e9be9
      https://github.com/llvm/llvm-project/commit/dc0abebc8e834bceea9a467f07e124ab944e9be9
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-09-21 (Mon, 21 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
    R llvm/utils/lit/tests/Inputs/rerun-failed-serially-retries/lit.cfg
    R llvm/utils/lit/tests/Inputs/rerun-failed-serially-retries/needs-four-attempts.py
    R llvm/utils/lit/tests/Inputs/rerun-failed-serially/always-fails.py
    R llvm/utils/lit/tests/Inputs/rerun-failed-serially/fails-once.py
    R llvm/utils/lit/tests/Inputs/rerun-failed-serially/lit.cfg
    R llvm/utils/lit/tests/rerun-failed-serially.py

  Log Message:
  -----------
  Revert "[lit] Add --rerun-failed-serially <REGEX> mechanism (#223504)" (#225205)

This reverts commit 49923e950b3e8f0adb693aa68b99df6a2479418b.

People reported flakyness in the LIT test for this lit change.


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

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-vaarg-non-pod-nyi.cpp
    M clang/test/CIR/CodeGen/complex.cpp
    M clang/test/CIR/CodeGen/var-arg-aggregate.c
    A clang/test/CIR/CodeGen/var-arg-direct-offset.cpp
    A clang/test/CIR/CodeGen/var-arg-empty.c
    A clang/test/CIR/CodeGen/var-arg-int128.c
    A clang/test/CIR/CodeGen/var-arg-long-double.c
    A clang/test/CIR/CodeGen/var-arg-vector.c
    M clang/test/CIR/CodeGen/var_arg.c
    A clang/test/CIR/Transforms/abi-lowering/x86_64-vaarg-valist-shape-nyi.cir
    M llvm/include/llvm/ABI/FunctionInfo.h
    M llvm/lib/ABI/Targets/X86.cpp
    M mlir/include/mlir/ABI/ABIRewriteContext.h

  Log Message:
  -----------
  [CIR] Expand callee-side va_arg on x86_64 (#222420)

CallConvLowering now classifies every `cir.va_arg` on its own, as an
unnamed argument with a full register budget, and expands it in place. A
fetch that fits the budget reads from the saved register area, and
everything else reads the overflow area and bumps the cursor. An
aggregate, an x87 long double, and an `__int128` all lower correctly
now. Each fetch reads at the alignment the argument area gives it, which
for an over-aligned record is higher than its type reports.

A non-trivially-copyable type still reports NYI.

`rewriteVAArg` takes the register demand from the ABI library rather
than rebuilding it from the shape of the coerced type. The library
computes it in `classifyArgumentType` as the `NeededInt` and `NeededSSE`
out-parameters and used to drop it, so `llvm::abi::ArgInfo` and
`mlir::abi::ArgClassification` now carry it. Expanding a `cir.va_arg`
needs the inputs to that decision rather than its result, because the
choice has to become a runtime branch on the va_list cursor.

Assisted-by: Cursor / claude-opus-5


  Commit: 6854d299e83c7b08d0450bcc85f13a84d3b5a29e
      https://github.com/llvm/llvm-project/commit/6854d299e83c7b08d0450bcc85f13a84d3b5a29e
  Author: Kunal Dubey <xakep8 at protonmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    A clang/test/CIR/CodeGenBuiltins/builtin-stdc-bit-c2y.c

  Log Message:
  -----------
  [CIR] Lowering for the C2Y `stdc` bit builtins  (#218852)

Implemented CIR lowering for the C2Y `stdc` bit builtins currently
covered by this PR.

This adds support for:

- `stdc_rotate_left_*` / `__builtin_stdc_rotate_left`
- `stdc_rotate_right_*` / `__builtin_stdc_rotate_right`
- `stdc_memreverse8u8/u16/u32/u64`
- `stdc_memreverse8` / `__builtin_stdc_memreverse8`

The rotate builtins lower to `cir.rotate`, which then lowers to the LLVM
funnel-shift intrinsics.

For `stdc_memreverse8`, CIR matches classic CodeGen behavior:

- sizes `0` and `1` are no-ops, while still evaluating the pointer
argument
- sizes `2`, `4`, and `8` lower to load / byte-swap / store
- other constant sizes and dynamic sizes fall back to a
`stdc_memreverse8` library call through the isLibFunction path

Reference to discussion in PR #214931
[here](https://github.com/llvm/llvm-project/pull/214931#discussion_r3769544573)


  Commit: 6fe7d97e974d96b0962fdb5f5d975ffa42c9b0ad
      https://github.com/llvm/llvm-project/commit/6fe7d97e974d96b0962fdb5f5d975ffa42c9b0ad
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/RISCV/target-abi-valid.ll

  Log Message:
  -----------
  [RISC-V] Test ELF e_flags for llc -target-abi without module flag (#225128)

Verify that `llc -filetype=obj -target-abi=...` sets the ELF header
`e_flags`
according to `-target-abi` even when the input IR has no `"target-abi"`
module
flag and the enabled extensions (such as `+d`) would default to a
different ABI.

This commit was created with the help of AI tools


  Commit: 215a9b006a007b315af5c4bb3f669353029da44c
      https://github.com/llvm/llvm-project/commit/215a9b006a007b315af5c4bb3f669353029da44c
  Author: Taufiq Rahman <taufiqrx8 at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/Support/RISCVISAUtils.h
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Update the canonical extension order (#192392)

Fixes #192357.

Update the canonical order of one-letter standard RISC-V extensions in
RISCVISAUtils::AllStdExts to match the updated specification order,
where `p` moves after `v`.


  Commit: 31b28f55900649668bb3dad18ab90f6ce7a77c51
      https://github.com/llvm/llvm-project/commit/31b28f55900649668bb3dad18ab90f6ce7a77c51
  Author: Konstantinos Parasyris <koparasy at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.h
    M clang/lib/CIR/Lowering/CIRPasses.cpp
    A clang/test/CIR/CodeGenCUDA/lowering-lang-options.cu

  Log Message:
  -----------
  [CIR] Consume serialized LangOptions in post-CIRGen lowering (#225224)

Post-CIRGen lowering (LoweringPrepare, CallConvLowering) read a handful
of LangOptions facts from a live clang::LangOptions via the pass's
ASTContext. That prevented a reloaded .cir from lowering the same way it
was compiled, since a serialized module has no ASTContext. PR #224757
serialized those facts onto the module as #cir.lowering_lang_options;
this change makes lowering consume them from there.

To make sure the `lowering_lang_options` attribute is always available,
I moved the constrction of langOpts from release to the constructor. The
overall approach is very close to `LowerModule::getTarget()`

Currently there is still a reliance to `astContext` which I plan to
remove in upcoming PRs. The reliance blocks consuming .cir as an input
and test `cir-opt` with some of such passes.

---------

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


  Commit: 69ddc4658fe6742c023043a4760194c530bc86c8
      https://github.com/llvm/llvm-project/commit/69ddc4658fe6742c023043a4760194c530bc86c8
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
    M llvm/test/CodeGen/AMDGPU/coexec-block-carried-latency.mir
    M llvm/test/CodeGen/AMDGPU/coexec-sched-ds-fifo.mir
    M llvm/test/CodeGen/AMDGPU/coexec-sched-effective-stall.mir

  Log Message:
  -----------
  [AMDGPU] Add MemoryPipeline scheduling to Coexec sched (#192325)

This adds two pieces to the new scheduler:

Stalls between ds_load and fence
tryAsyncPipe
For both of these pieces we are making some assumptions about the
pipelining of memory instructions in the incoming IR. Namely, that the
long latency memory operations are pipelined and the shorter latency
memory operations (e.g. ds_loads) aren't. Moreover, this assumes that
any user added waitcnts appear directly before fences. These assumptions
are compensating for the fact that we don't have any analysis of the
pipeline available during scheduling.

Stalls between ds_load and fence
The main concept here is that when legalizing the fences we will insert
wait_dscnts for any outstanding ds_load instructions. By teaching the
scheduler about the stall between these instructions, we can hide
latency between ds_load -> wait_dscnt. A common idiom is:

wait_loadcnt
fence
signal
fence

Since waitcnts are often included with fences, we also add stalls for
these waitcnt instructions.

tryAsyncPipe
This helps us to acheive good memory pipelining without having good
memory pipeline modelling. This assumes the pipeline has been well
designed and amdgpu-barrier-signal-wait-latency is set appropriately.
Then, this heuristic will schedule memory pipeline components as soon as
the stalls are cleared. It will, for example, keep waitcnt and fence
instructions together, and will schedule load instructions as soon as
registers from previous iterations have been consumed (ensuring max
latency between load -> consumer). It errs on the side of hiding too
much latency for long latency loads.

---------

Co-authored-by: Austin Kerbow <Austin.Kerbow at amd.com>


  Commit: 2ce662d124ddf4081993c7980986207444a51305
      https://github.com/llvm/llvm-project/commit/2ce662d124ddf4081993c7980986207444a51305
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M .github/workflows/containers/libc/Dockerfile

  Log Message:
  -----------
  [Github] Bump libc container to Ubuntu 26.04 (#225212)


  Commit: d43ef1b381ca458bb34c1e79b050db5d3d834abd
      https://github.com/llvm/llvm-project/commit/d43ef1b381ca458bb34c1e79b050db5d3d834abd
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/test/CodeGen/DirectX/RawBufferLoadDouble.ll
    A llvm/test/CodeGen/DirectX/ResourceAccess/load-rawbuffer-wide-double.ll
    M llvm/test/CodeGen/DirectX/TextureLoad.ll

  Log Message:
  -----------
  [DirectX] Fix RawBuffer Loads of double vectors (#224695)

fixes https://github.com/llvm/llvm-project/issues/224684

We need to do the same change we did for Raw Buffer Stores
(https://github.com/llvm/llvm-project/issues/223558) in
https://github.com/llvm/llvm-project/pull/224136 by Create add with the
byte index offsets because were were looking at the wrong argument.


  Commit: 33fcd70991316e238e63684cd4018f618d690668
      https://github.com/llvm/llvm-project/commit/33fcd70991316e238e63684cd4018f618d690668
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/CodeGenHLSL/builtins/InterlockedMax.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-Interlocked.hlsl
    A clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedMax.hlsl
    M clang/test/CodeGenHLSL/builtins/RWTexture-Interlocked.hlsl
    A clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedMax.hlsl
    A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedMax-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedMax-sm65-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/InterlockedMax-errors.hlsl

  Log Message:
  -----------
  [HLSL] Add `InterlockedMax` function and resource methods (#222160)

This PR adds the `InterlockedMax` standalone function and resource
methods.
It mimics the implementation of the `InterlockedMin` function and
resource
methods.

Like `min`, `max` is signedness aware. A signed operand lowers to
`atomicrmw max` and an unsigned operand lowers to `atomicrmw umax`. This
matches DXC, which selects between the `IMax` and `UMax` atomic binary
operations.

The PR also adds the 64-bit `InterlockedMax64` methods, which DXIL gates
on
shader model 6.6.

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


  Commit: d28da7e5238e8bd81c609ef19170dc6b73ee48ac
      https://github.com/llvm/llvm-project/commit/d28da7e5238e8bd81c609ef19170dc6b73ee48ac
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedCommandPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.cpp
    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/ScriptedHookPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStackFrameRecognizerPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStringSummaryPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSyntheticChildrenPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSyntheticChildrenPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.cpp
    M lldb/source/Target/ScriptedThreadPlan.cpp
    M lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
    M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py

  Log Message:
  -----------
  [lldb] Make ScriptedPythonInterface::Dispatch return llvm::Expected<T> (#224988)

Until now, `Dispatch` returned the extracted value and reported failure
through a `Status &` out-parameter, which leaves the two outcomes
indistinguishable at the value level: a Python method that returns
`None` and one that raises both hand back a default-constructed `T`.
Only `error` told them apart, and because the signature advertises the
value, call sites reached for the value and dropped the error.

Three real instances of that:

- `ScriptedHookPythonInterface::HandleStop` returned `true` whenever the
object was null, discarding the backtrace of a raising `handle_stop`
(fixed separately).
- `GetStatusFromMethod` discarded `Dispatch<Status>`'s return value, so
the `SBError` returned by `ScriptedProcess.launch/attach/resume` and the
three `ScriptedPlatform` entry points was ignored entirely: a `launch()`
returning `SBError("no such file")` reported success.
- `GetThreadPlanMetadataForStepType` string-matched the exception text
to guess whether the method existed, with a FIXME asking for exactly
this.

This switches `Dispatch`, `CallStaticMethod` and
`ExtractValueFromPythonObject` to `llvm::Expected<T>` and drop the
out-parameter. `CheckStructuredDataObject` becomes dead and is removed.

An absent method now yields `UnimplementedError`. Three helpers let each
call site state its intent: `DispatchToOptional` for optional methods a
script may legitimately omit, which reports an unimplemented method as
`std::nullopt` and lets every other failure propagate; `LogAndDefault`
for entry points whose return type cannot express failure, which logs
the error and falls back to a default-constructed value instead of
discarding it; and `LogAndError`, which builds and logs the errors
`Dispatch` returns itself.

Widening the `LogAndDefault` entry points to `Expected` touches every
caller in ScriptedThread/ScriptedProcess/ScriptedFrame and is left as
follow-up.

This patch stops at the interface layer deliberately: it is about
surfacing the error and the Python exception out of `Dispatch` and into
the scripted interface classes. That has to happen to all of them at
once, because they share the same dispatch entry point, which is why
this touches every interface class together. Carrying those exceptions
the rest of the way to the user is per-extension work, and lands as a
follow-up PR for each extension.

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


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

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

  Log Message:
  -----------
  [CIR][NFC] Route target facts in LoweringPrepare through LowerModule (#225236)

LowerModule already rebuilds a full clang::TargetInfo
from the module's cir.triple and exposes getTarget() 
and getCXXABIKind(). The changes are a pure routing
change: no new attribute and no CIRGen change, 
since every routed fact is derivable from the triple,
that is already included in the module.

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


  Commit: 26c90e1588af2d70ac7cf9b51a01ea56acd9f2cc
      https://github.com/llvm/llvm-project/commit/26c90e1588af2d70ac7cf9b51a01ea56acd9f2cc
  Author: Andy Lim <andysjlim at chromium.org>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/test/MC/COFF/ir-to-imgrel.ll

  Log Message:
  -----------
  [TargetLowering][COFF] Only check shouldAssumeDSOLocal on GlobalVariable in lowerRelativeReference (#225160)

In #220674, a check was added to lowerRelativeReference requiring that
LHS be dso_local to prevent image-relative relocations for dllimport
variables. However, this check was applied unconditionally to all
GlobalObjects, including functions.

On Windows COFF, dllimport functions are valid targets for
image-relative relocations because the linker provides import thunks in
the local image. In particular, MSVC C++ exception handling metadata
(ThrowInfo and CatchableType) references imported copy constructors and
destructors via image-relative offsets when throwing exception types
across DLL boundaries. Rejecting them caused compilation failures in
downstream projects like PyTorch with:
"error: symbol '__ImageBase' can not be undefined in a subtraction
expression"

Restrict the shouldAssumeDSOLocal check to GlobalVariables only.


  Commit: d024790161549c4e45828da9fb0ea74be5786403
      https://github.com/llvm/llvm-project/commit/d024790161549c4e45828da9fb0ea74be5786403
  Author: Anshul Nigham <nigham at google.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/test/AST/ByteCode/module-redecl1.cpp

  Log Message:
  -----------
  [clang][test] Fix module cache path in module-redecl1.cpp (#225241)

Fixes commit aa6b03ed5a9ffe5ba6f0d945fac9961884b5c6ed

Use `-fmodules-cache-path=%t` instead of `Inputs/` which fails in
read-only test sandboxes due to permission errors when writing compiled
module files. Also clean `%t` before execution and remove redundant
`-cc1`, matching the RUN lines in
test/Modules/redecl-add-after-load.cpp.


  Commit: 7c47f4218d453031fb5e27b1f99846220e62536b
      https://github.com/llvm/llvm-project/commit/7c47f4218d453031fb5e27b1f99846220e62536b
  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/CallSPSCI.h

  Log Message:
  -----------
  [ORC] Mangle Call CI names as C (#225227)

Flip the Call descriptors (call_main, call_void_void, call_int32_void,
call_int32_int32) from Verbatim to C, so their names carry the target's
C mangling. Served by the in-tree OrcRTBootstrap; controller and
executor mangle the same specs and nothing else defines these names.


  Commit: 4c36312084fea422bec96f1bdb599b38b144289d
      https://github.com/llvm/llvm-project/commit/4c36312084fea422bec96f1bdb599b38b144289d
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Expression/LLVMUserExpression.h
    M lldb/source/Expression/LLVMUserExpression.cpp
    M lldb/test/API/commands/expression/memory-allocation/TestMemoryAllocSettings.py

  Log Message:
  -----------
  [lldb] Refactor PrepareToExecuteJITExpression (#224888)

Refactor the body of PrepareToExecuteJITExpression into two methods:
AllocateInterpreterStackFrame and AllocateAndMaterializeStruct.

This change is purely mechanical, but improves readability and sets up a
future refactor: AllocateAndMaterializeStruct is generic expression
setup and should remain where it is, but AllocateInterpreterStackFrame
is only needed on the interpreter path and can be sunk into that path in
a future commit.

---------

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>


  Commit: bc06d87e23554f439b4010c3d88082bf5b6dfb7b
      https://github.com/llvm/llvm-project/commit/bc06d87e23554f439b4010c3d88082bf5b6dfb7b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/utils/TableGen/AsmWriterEmitter.cpp

  Log Message:
  -----------
  [TableGen] Extract instruction grouping in AsmWriterEmitter (NFC) (#222498)

This patch extracts instruction similarity grouping into
groupInstructions, a helper function that returns an array of
InstructionGroup structs in AsmWriterEmitter.

Currently, EmitInstructions performs both instruction grouping
(scanning for instructions differing in at most one operand) and code
emission in a single step while popping elements from the Instructions
vector.

This patch decouples grouping from code emission:

- groupInstructions clusters similar instructions into
  InstructionGroups.

- emitInstructions emits the case labels and dispatches to
  emitInstructionOperands for each group.

This patch produces byte-identical output for all targets while
preparing for a subsequent patch that will call asm writer helper
functions through a function pointer table instead of emitting a large
switch statement.

Assisted-by: Antigravity


  Commit: 86f4728feefee41e53c1037b5918fb18e12a4696
      https://github.com/llvm/llvm-project/commit/86f4728feefee41e53c1037b5918fb18e12a4696
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    A llvm/test/ThinLTO/X86/cfi-import-internal-coroutine.ll
    A llvm/test/Transforms/LowerTypeTests/promoted-internal.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-icall-static-inline-asm.ll
    A llvm/test/Transforms/ThinLTOBitcodeWriter/cfi_dso_local_equivalent.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/comdat.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
    M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll

  Log Message:
  -----------
  Reapply "[CFI] Create an external linkage alias instead of promoting i… (#220339) (#225173)

There were 3 issues with the original commit:

1. handling of `dso_local_equivalent`. This was subsequently addressed in PR #222036 as an independent fix. An earlier version of the fix, 220450, had an extra test, cfi_dso_local_equivalent.ll, which is specific to the interaction between this patch and dso_local_equivalent. That test is re-introduced here.
2. a COFF issue discovered through the original pass, uncovered on Chromium builds, and fixed by @andysjlim in PR #220674. Thank you!
3. an issue we discovered in google downstream, involving coroutines. See the `cfi-import-internal-coroutine.ll`, and the difference between the first version and the second version of this PR (in Graphite) (<- AI was used here)


  Commit: a2fdb8fe0d09dbc1d543c3381f0ddacdf7054c5e
      https://github.com/llvm/llvm-project/commit/a2fdb8fe0d09dbc1d543c3381f0ddacdf7054c5e
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/test/OffloadTools/clang-sycl-linker/basic.ll
    M clang/test/OffloadTools/clang-sycl-linker/options.ll
    M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp

  Log Message:
  -----------
  [clang-sycl-linker] Make temp files land relative to cwd with unique names (#224506)

Derive the CodeGen/AOT stem from -o's basename instead of its full
path, so these intermediates land in cwd alongside the .bc temps
instead of splitting -save-temps output across two directories.

Route them through createTempFile instead of building
`<stem>_<index>.ext` directly, so parallel invocations sharing an
output basename don't collide. Its random suffix also makes
`_<index>` redundant, so drop it; `--spirv-dump-device-code` keeps its
index since it has no random suffix and still needs one.

---------

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


  Commit: d6d73f1ab347574f51e03076a1c7cccd7dbfbdce
      https://github.com/llvm/llvm-project/commit/d6d73f1ab347574f51e03076a1c7cccd7dbfbdce
  Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dot.ll

  Log Message:
  -----------
  [AMDGPU][InstCombine] Add dot zero/constant folding tests. NFC (#225001)

<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: 4a358b89216a4fa56b08355d2b00f694657f64ba
      https://github.com/llvm/llvm-project/commit/4a358b89216a4fa56b08355d2b00f694657f64ba
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
    M llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizePointerCast.ll
    A llvm/test/CodeGen/SPIRV/pointers/byte-address-buffer-long-vector.ll

  Log Message:
  -----------
  [SPIR-V] Fix wrong element inferred for long vectors when using ByteAdressBuffer (#222220)

fixes #222214

On the offload tests we recently switch the long vector tests from using
StructuredBuffer element loads and stores to ByteAddressBuffer vector
loads and stores With StructuredBuffer you can see we use the right type
for the vector https://hlsl.godbolt.org/z/jYhd57jvn

However with ByteAddressBuffer instead of a float vector we are infering
incorrectly an int vector https://hlsl.godbolt.org/z/KMnxfv8z6

The Fix is to use spv_bitcast instead of an llvm ir bitcast. An ordinary
LLVM bitcast i32 to float becomes a same-size GlobalISel operation. Both
i32 and float use the same low-level type, s32, so
legalization/coalescing can eliminate the bitcast. switching to
spv_bitcast solves this because it forces a `buildAssignType` which will
preserve the type and allows us to distinguish ints from floats.


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

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
    M mlir/lib/Dialect/OpenACC/Transforms/ACCDeclareCtorDtorConversion.cpp
    A mlir/test/Dialect/OpenACC/acc-declare-ctor-dtor-extra.mlir

  Log Message:
  -----------
  [mlir][openacc] Add extra-constructors option to declare ctor conversion (#225194)

Allow acc-declare-ctor-dtor-conversion to declare extra runtime
functions
and call them from a generated constructor. Entries are separated in two
list,
one list where the functions are always added and one where the
functions are
added only if entry-point-name is present in the module. 

The extra functions stay external declarations. This is used to generate
sentinel in different compilation mode.


  Commit: 281308d5666eff4b00ac743d2623dd4f018754ca
      https://github.com/llvm/llvm-project/commit/281308d5666eff4b00ac743d2623dd4f018754ca
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/Options.td
    M lld/ELF/Symbols.cpp
    M lld/docs/ld.lld.1
    M lld/test/ELF/common-archive-lookup.s
    M lld/test/ELF/warn-backrefs.s

  Log Message:
  -----------
  [ELF] Remove --fortran-common (#220813)

--fortran-common implements a legacy linker rule that lets a COMMON
symbol extract an archive member providing a STB_GLOBAL definition,
departing from the rule that only an undefined symbol extracts a member.

The option has defaulted to off since LLVM 15, complicates parallel
symbol resolution, and is deemed unneeded.

Close: #205015
Link: https://discourse.llvm.org/t/removal-of-fortran-common-option/91553


  Commit: 41b7eabb4564f09d7bd7ba54d8f7a38a8f449621
      https://github.com/llvm/llvm-project/commit/41b7eabb4564f09d7bd7ba54d8f7a38a8f449621
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/24.rst
    M libcxx/docs/Status/Cxx26Papers.csv
    M libcxx/include/__type_traits/is_within_lifetime.h
    M libcxx/include/version
    M libcxx/test/libcxx/utilities/meta/is_within_lifetime.verify.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/utilities/meta/meta.const.eval/is_within_lifetime.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Implement P3450R1: Extend `std::is_within_lifetime` (#201053)

The implementing approach only requires the initial form of
`__builtin_is_within_lifetime` taking one pointer to the object
(necessary for P2641R4), along with `__builtin_constant_p` which is used
for the changes in this paper.

In the future, `__builtin_is_within_lifetime` is possibly enhanced to
additionally take a type, but the library implementation does not need
to be blocked on such improvement.


  Commit: ce06ac932eca6a403fa2f1f84fc5724fd30dc562
      https://github.com/llvm/llvm-project/commit/ce06ac932eca6a403fa2f1f84fc5724fd30dc562
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M llvm/unittests/Option/OptionMarshallingTest.cpp
    M llvm/utils/TableGen/OptionParserEmitter.cpp

  Log Message:
  -----------
  [Option] Remove OPTTABLE_STR_TABLE_CODE (#224822)

Its two users read OptionStrTable to spell an option. The unittest now
compares option IDs. lldb prepends '-' to the name it reads, which has
been the prefixed name since 501f92d34382 (2023), so it passes
"--mmacos-version-min=<ver>", which the driver rejects and drops; spell
it with the driver option table instead.

Aided by Opus 5


  Commit: b4ed7af4ada75884a9b2bcaaea8691c8b286b136
      https://github.com/llvm/llvm-project/commit/b4ed7af4ada75884a9b2bcaaea8691c8b286b136
  Author: saloni-shinde-Q <saloshin at qti.qualcomm.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Target/Target.td
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/test/MC/RISCV/priv-invalid.s
    M llvm/test/MC/RISCV/rv32d-invalid.s
    M llvm/test/MC/RISCV/rv32zclsd-invalid.s
    M llvm/test/MC/RISCV/rv32zdinx-invalid.s
    M llvm/test/MC/RISCV/rv32zfh-invalid.s
    M llvm/test/MC/RISCV/rv32zfinx-invalid.s
    M llvm/test/MC/RISCV/rv32zhinx-invalid.s
    M llvm/test/MC/RISCV/rv32zhinxmin-invalid.s
    M llvm/test/MC/RISCV/rv64d-invalid.s
    M llvm/test/MC/RISCV/rv64f-invalid.s
    M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
    M llvm/test/MC/RISCV/rv64zdinx-invalid.s
    M llvm/test/MC/RISCV/rv64zfh-invalid.s
    M llvm/test/MC/RISCV/rv64zfinx-invalid.s
    M llvm/test/MC/RISCV/rv64zhinx-invalid.s
    M llvm/test/MC/RISCV/rv64zhinxmin-invalid.s
    M llvm/test/MC/RISCV/tlsdesc.s
    M llvm/test/MC/RISCV/xqcia-invalid.s
    M llvm/test/MC/RISCV/xqciac-invalid.s
    M llvm/test/MC/RISCV/xqciio-invalid.s
    M llvm/test/MC/RISCV/xqcili-invalid.s
    M llvm/test/MC/RISCV/xqcilo-invalid.s
    M llvm/test/MC/RISCV/xqcilo-pseudos-invalid.s
    M llvm/test/MC/RISCV/xqcilsm-invalid.s
    A llvm/test/TableGen/AsmMatcherPrioritizeFeature.td
    A llvm/test/TableGen/AsmMatcherPrioritizeFeatureErrors.td
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

  Log Message:
  -----------
  [RISCV][MC] Prioritize features in MultiMismatchFallback (#215737)

Add the `PrioritizeFeatureInMultipleNearMisses` AsmParser option and
enable it for RISCV.

When an instruction has both missing features and multiple invalid
operands, prioritize the feature entry when populating `MultiMismatchFallback` so
that diagnostics identify the missing extension.

Keep the existing `MultiMismatchFallback` behavior unchanged for targets
that do not enable the option.


This change was assisted by AI.


  Commit: d677e53ba64a897a7575706c4782f9575e5ec914
      https://github.com/llvm/llvm-project/commit/d677e53ba64a897a7575706c4782f9575e5ec914
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ABI/TargetInfo.h
    M llvm/lib/ABI/TargetInfo.cpp
    M llvm/lib/ABI/Targets/X86.cpp
    M llvm/unittests/ABI/CMakeLists.txt
    A llvm/unittests/ABI/TargetInfoTest.cpp
    M llvm/utils/gn/secondary/llvm/unittests/ABI/BUILD.gn

  Log Message:
  -----------
  [ABI] Hoist isSingleElementStruct into TargetInfo and fix array reduction (#224994)

Changes:
- Move `isSingleElementStruct` from `X86_64TargetInfo` into the shared
`TargetInfo` base so other targets can reuse it, and restore the
`isAggregateTypeForABI` guard from classic CodeGen so a multi-element
array field no longer reduces (e.g. struct { short a[2]; } stays i32
instead of [2 x i16]).
- Add unit tests for the reduction in to new test file `TargetInfoTest`.

Relates to : https://github.com/llvm/llvm-project/issues/220471

Assisted by: claude opus 4.8


  Commit: 76301e4aa9a9dc28f0074eb9ef591e299dc319bc
      https://github.com/llvm/llvm-project/commit/76301e4aa9a9dc28f0074eb9ef591e299dc319bc
  Author: Wenju He <wenju.he at intel.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/include/llvm/LTO/Config.h
    M llvm/lib/LTO/LTOBackend.cpp

  Log Message:
  -----------
  [LTO] Add PassBuilderCallback to Config (#224896)

This allows LTO backend to register PassBuilder extension point
callbacks, mirroring the existing PreCodeGenPassesHook.


  Commit: fd979c6266fa98c5a55c2d27af697c110838c1bc
      https://github.com/llvm/llvm-project/commit/fd979c6266fa98c5a55c2d27af697c110838c1bc
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M llvm/include/llvm/ABI/FunctionInfo.h
    M llvm/unittests/ABI/FunctionInfoTest.cpp

  Log Message:
  -----------
  [ABI] Add IndirectAliased kind to abi::ArgInfo (#225005)

Changes:
- Mirror `clang::CodeGen::ABIArgInfo::IndirectAliased:` an indirect
argument whose pointer may alias an object referenced elsewhere and is
never byval.
- Add the kind, a `getIndirectAliased` factory, an `isIndirectAliased`
predicate, and widens the indirect align/addrspace/realign accessors to
both kinds.
- Add unit tests in FunctionInfoTest.

Relates to : https://github.com/llvm/llvm-project/issues/220471

Assisted by: claude opsu 4.8


  Commit: 1f825d419c8129aa11212cd598f3f72ee38d3c44
      https://github.com/llvm/llvm-project/commit/1f825d419c8129aa11212cd598f3f72ee38d3c44
  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/lldb/source/Plugins/BUILD.bazel

  Log Message:
  -----------
  [Bazel] Fixes ce06ac9 (#225288)

This fixes ce06ac932eca6a403fa2f1f84fc5724fd30dc562 (#224822).

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

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


  Commit: c73350f61f140739545fa9427ab0547d7463d573
      https://github.com/llvm/llvm-project/commit/c73350f61f140739545fa9427ab0547d7463d573
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
    M llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll
    M llvm/test/MC/AArch64/directives-case_insensitive.s
    A llvm/test/MC/AArch64/tls-auth-relocs.s

  Log Message:
  -----------
  [PAC][ELF] Support R_AARCH64_AUTH_TLSDESC_CALL relocation (#198327)

The R_AARCH64_AUTH_TLSDESC_CALL is introduced to allow linker relaxation
of AUTH TLSDESC call sequences for non-preemptible undefined weak
symbols.

The lld patch introducing the relaxation: #194636

Corresponding ARM docs PR:
https://github.com/ARM-software/abi-aa/pull/395


  Commit: 13c5814d8006ab386881cf7f9387f4dd44e79d94
      https://github.com/llvm/llvm-project/commit/13c5814d8006ab386881cf7f9387f4dd44e79d94
  Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    R clang/test/CodeGen/AArch64/neon-ldst-one.c
    M clang/test/CodeGen/AArch64/neon/load.c
    M clang/test/CodeGen/AArch64/poly64.c

  Log Message:
  -----------
  [CIR][AArch64] Upstream load (vld[234]_*/vld[234]q_*) NEON builtins (#220476)

Related to https://github.com/llvm/llvm-project/issues/185382

CIR lowering for load intrinsics (`vld[234]_*`/`vld[234]q_*`)

(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#stride)

Port tests:
- `clang/test/CodeGen/AArch64/neon-intrinsics.c`
- `clang/test/CodeGen/AArch64/neon-ldst-one.c`
- `clang/test/CodeGen/AArch64/poly64.c`

to `clang/test/CodeGen/AArch64/neon/load.c`


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

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp

  Log Message:
  -----------
  [ORC] Mangle GDBJITRegistrar alloc-action CI names as C (#225275)

Flip RegisterJITLoaderGDBAllocActionName and its deregister counterpart
from Verbatim to C, so their names carry the target's C mangling. The
register action is served in-tree by llvm_orc_registerJITLoaderGDBAlloc-
Action (DefaultHostBootstrapValues, via mangledCopy of the same spec)
and resolved by the debugger-support plugins through the same spec, so
both sides stay in sync.


  Commit: 6faaea17bcd9f69c0e409e66d56422314988392b
      https://github.com/llvm/llvm-project/commit/6faaea17bcd9f69c0e409e66d56422314988392b
  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/SharedMemoryMapperSPSCI.h

  Log Message:
  -----------
  [ORC] Mangle SharedMemoryMapper CI names as C (#225277)

Flip the SharedMemoryMapper descriptors (instance +
reserve/initialize/deinitialize/release) from Verbatim to C, so their
names carry the target's C mangling. Served by the in-tree
ExecutorSharedMemoryMapperService; controller and executor mangle the
same specs and nothing else defines these names.


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

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp

  Log Message:
  -----------
  [ORC] Mangle MachOUnwindInfoRegistrar CI names as C (#225278)

Flip the MachOUnwindInfoRegistrar register/deregister-sections
descriptors from Verbatim to C, so their names carry the target's C
mangling. Served in-tree by UnwindInfoManager (via mangledCopy of the
same specs) and resolved by UnwindInfoRegistrationPlugin through the
same specs, so both sides stay in sync; nothing else defines them.


  Commit: 4c377436c5d688196ee97ee6888d1d96894efc60
      https://github.com/llvm/llvm-project/commit/4c377436c5d688196ee97ee6888d1d96894efc60
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M .github/workflows/build-libc-container.yml

  Log Message:
  -----------
  [Github] Rename libc container to 26.04 (#225297)

The last commit bumped it to 26.04, but I forgot to rename it.


  Commit: dc21109c01ad1d52f105f892794b1995e449751b
      https://github.com/llvm/llvm-project/commit/dc21109c01ad1d52f105f892794b1995e449751b
  Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.md
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    A llvm/lib/Target/RISCV/RISCVInstrInfoXqccmi.td
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/features-info.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    A llvm/test/MC/RISCV/xqccmi-invalid.s
    A llvm/test/MC/RISCV/xqccmi-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add assembler support for the Qualcomm Xqccmi vendor extension (#225119)

This patch adds support for assembling and disassembling the Qualcomm
Xqccmi 16-bit Instruction Lookup Table vendor extension. The extension
has a single `qc.cm.ilut` instruction which executes one or two
instructions from an instruction lookup table. The encoding overlaps
with `c.fld`, making `Xqccmi` and `Zcd` mutually exclusive.

The extension also adds two CSR's `qc.itba` and `qc.itdec` that contain
the lookup table base address and the leading double entries count
respectively.

Spec:
https://github.com/qualcomm/riscv-unified-db/releases#release-Xqccmi-0.2.0

Assisted by gpt-5.6-luna.


  Commit: 22fc5f54fa0e1a16b68126329afbebcc39960311
      https://github.com/llvm/llvm-project/commit/22fc5f54fa0e1a16b68126329afbebcc39960311
  Author: Zeyi Xu <zeyi2 at nekoarch.cc>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    A llvm/test/MC/Disassembler/RISCV/xcvbitmanip-invalid.txt

  Log Message:
  -----------
  [RISCV][MC] Reject invalid combined immediates for cv.insert in the disassembler (#225269)

Follow up of #224985


  Commit: d11b9adc9bd2a1c8142ff134d04275c4cfce34b0
      https://github.com/llvm/llvm-project/commit/d11b9adc9bd2a1c8142ff134d04275c4cfce34b0
  Author: Amit Tiwari <Amit.Tiwari at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/lib/Sema/SemaOpenMP.cpp
    A clang/test/OpenMP/collapse_ordered_instantiation_dependent.cpp

  Log Message:
  -----------
  [Clang][OpenMP] Delay `collapse/ordered` nest walk until instantiation (#225052)

Do not fold `collapse` and `ordered` counts in `checkOpenMPLoop` until
the expression is no longer instantiation-dependent.

Clause parsing already waits. The loop walker did not. A count like
`sizeof(sizeof(T() + T()))` was folded in the template, so Clang could
walk the wrong number of loops before instantiation.


  Commit: 94f5dd0eb25ed97603af1d0a501c412fcfea6696
      https://github.com/llvm/llvm-project/commit/94f5dd0eb25ed97603af1d0a501c412fcfea6696
  Author: Amit Tiwari <Amit.Tiwari at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M openmp/runtime/src/CMakeLists.txt
    M openmp/runtime/src/dllexports
    M openmp/runtime/src/i18n/en_US.txt
    A openmp/runtime/src/kmp_device_env.cpp
    A openmp/runtime/src/kmp_device_env.h
    M openmp/runtime/src/kmp_runtime.cpp
    M openmp/runtime/src/kmp_settings.cpp
    A openmp/runtime/test/env/omp_default_device_all_rejected.c
    A openmp/runtime/test/env/omp_denylist_extra_coverage.c
    A openmp/runtime/test/env/omp_num_threads_all_demo.c
    A openmp/runtime/test/env/omp_num_threads_all_host.c
    A openmp/runtime/test/env/omp_num_threads_all_set_defaults.c
    A openmp/runtime/test/env/omp_num_threads_dev_all_fallback.c
    A openmp/runtime/test/env/omp_num_threads_dev_invalid.c
    A openmp/runtime/test/env/omp_num_threads_dev_overflow.c
    A openmp/runtime/test/env/omp_num_threads_dev_resolve.c
    A openmp/runtime/test/env/omp_num_threads_host_overrides_all.c
    A openmp/runtime/test/env/omp_num_threads_host_vs_device.c
    A openmp/runtime/test/env/omp_num_threads_warnings_off.c

  Log Message:
  -----------
  [libomp] OpenMP 6.0 Device-Scope Environment Variables  (#197191)

The patch introduces `_ALL` `_DEV` `_DEV_<id>` env var suffixes to the
LLVM's OpenMP host runtime `libomp`. The eligible-list env var currently
supports `OMP_NUM_THREADS`.

Assisted by Claude Opus 4.7 / Claude 4.6 Sonnet


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

  Changed paths:
    M orc-rt/test/unit/bedrock/ExecutorProcessInfoTest.cpp

  Log Message:
  -----------
  [orc-rt] Fix unit test. (#225299)

Use !! to convert EPI to bool, and ExecutorProcessInfo::pageSize() to
get the page size (ExecutorProcessInfo::PageSize is private).


  Commit: 5587ab44938b396a01268f118fad8b32a59104a3
      https://github.com/llvm/llvm-project/commit/5587ab44938b396a01268f118fad8b32a59104a3
  Author: Dark Steve <Prasoon.Mishra at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-trivial-select.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/pr138509.ll
    A llvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-header-phi.ll

  Log Message:
  -----------
  [SimpleLoopUnswitch] Allow trivial unswitch when exit LCSSA is a header PHI (#222962)

Trivial unswitch bails on a common loop shape: a loop-invariant branch
in the header that exits the loop returning a loop-carried value.

```
  int acc = 0;
  for (...) {
    if (c)
      return acc;
    acc++;
  }
```

After loop-rotate the `if` sits in the header, and the exit reads the
header PHI `%acc`. Trivial unswitch hoists the branch into the
preheader, so the exit value must be available there. It only accepts
loop-invariant values, and `%acc` is not one, so it gives up. But `%acc`
is safe here: the branch is invariant, so if the loop exits it exits on
the first iteration, before the latch runs. On that edge `%acc` still
holds its entry value, 0.

This is not specific to the header. The same holds for any invariant
branch whose block dominates the latch, so every header PHI still holds
its entry value.

Allow the unswitch in these cases. When an exit's LCSSA incoming is a
header PHI (and the branch's block dominates the latch), replace it with
the value the PHI takes from the preheader (its entry value), which
keeps SSA valid.


  Commit: 9ac223e87234e44464d9c43ee7de188173043306
      https://github.com/llvm/llvm-project/commit/9ac223e87234e44464d9c43ee7de188173043306
  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/openmp/runtime/src/BUILD.bazel

  Log Message:
  -----------
  [Bazel] Fixes 94f5dd0 (#225300)

This fixes 94f5dd0eb25ed97603af1d0a501c412fcfea6696 (#197191).

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

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


  Commit: 9c0960684778fcfb8308a37a992633cceb3ee48c
      https://github.com/llvm/llvm-project/commit/9c0960684778fcfb8308a37a992633cceb3ee48c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    A orc-rt/include/orc-rt/bedrock/ConnectionSpec.h
    M orc-rt/lib/bedrock/CMakeLists.txt
    A orc-rt/lib/bedrock/ConnectionSpec.cpp
    M orc-rt/test/unit/CMakeLists.txt
    A orc-rt/test/unit/bedrock/ConnectionSpecTest.cpp

  Log Message:
  -----------
  [orc-rt] Add ConnectionSpec, a connection-string parser (#225304)

Parses the string a process is given to describe the connection it
should establish with its peer:

  <transport>[:<action>]=<descriptor>

Checking is punctuation only: the transport and action are opaque tokens
and the descriptor's syntax belongs to the transport, so a spec parses
without knowing which transports this process was built with.

The grammar is LLVM's (#225075), so the same vocabulary reaches an
orc-rt executor and an LLVM controller. A registry mapping transports to
the connectors that implement them will be added in a follow-up commit.


  Commit: 639d199326c1ae95d8b2fa26390d45ade0f20a19
      https://github.com/llvm/llvm-project/commit/639d199326c1ae95d8b2fa26390d45ade0f20a19
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    R llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_optimizations_mul_one.ll
    A llvm/test/CodeGen/AMDGPU/atomic_optimizations_mul_one.ll

  Log Message:
  -----------
  [AMDGPU] Constant folding for wave-reduce intrinsics (#212755)

Relates to: https://github.com/llvm/llvm-project/pull/193142
A missed optimization opportunity.
While most constants to `add`, `sub` and `xor` wave reductions
cannot be folded, some identity constants(0, 1) can do with
some special handling.


  Commit: d2d28852845aaf0588a4c4a9db341cb217440247
      https://github.com/llvm/llvm-project/commit/d2d28852845aaf0588a4c4a9db341cb217440247
  Author: Zinovy Nis <zinovy.nis at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-demorgan.cpp

  Log Message:
  -----------
  [clang-tidy] Fix De Morgan for overloaded comparisons (#221432)

Before my patch:


(https://source.chromium.org/chromium/chromium/src/+/main:base/trace_event/memory_allocator_dump.cc;l=174)

```diff
-  if (!(name == rhs.name && units == rhs.units &&
-        entry_type == rhs.entry_type)) {
+  if (!name == rhs.name || !units == rhs.units ||
+        entry_type != rhs.entry_type) {
```

With the patch:

```diff
-  if (!(name == rhs.name && units == rhs.units &&
-        entry_type == rhs.entry_type)) {
+  if (name != rhs.name || units != rhs.units ||
+        entry_type != rhs.entry_type) {
```

Tests were written with the assistance of ChatGPT 5.6 Terra


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

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/Thumb2/mve-vctp.ll

  Log Message:
  -----------
  [ARM] Fix swapped condition in PerformVSetCCToVCTPCombine. (#225112)

This was swapping the wrong condition to a SETUGT. Came up in #224857.

Also remove vctp64 as we cannot fold 64bit integers to vctp.


  Commit: 9517d7182766f9d16dda05a97464660e27ce91f3
      https://github.com/llvm/llvm-project/commit/9517d7182766f9d16dda05a97464660e27ce91f3
  Author: Jack Styles <jack.styles at arm.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/AArch64/low-trip-count-body-size-limit.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count-ic-3.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count-body-size-limit.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/small-trip-count-vf-plus-one.ll

  Log Message:
  -----------
  [LoopVectorize] Improve Vectorization of Low Trip Count Loops (#195823)

Currently, Small Loops with Trip Counts less than 16, and in situations
where the Trip Count (TC) is less than the Tail Folding Threshold are
harder to vectorize, its only possible where no epilogue will be
emitted. However, for loops with large bodies and small trip counts this
can be counterproductive to performance, often failing to vectorize
entirely. This is more prevalent with targets where
`getMinTripCountTailFoldingThreshold()` returns a value greater than 0.

To address this, the Small Loops where the TC == VF + 1 can now
vectorize, leading to a vectorized iteration (or loop if interleaving is
required) and a single scalar iteration. Later passes can then remove
the loop's entirely.

Testing an with OpenSource Fortran HPC Benchmark which includes multiple
loops with small trip counts, but large loop bodies, has shown
significant improvement to runtime after these changes.

Assisted-by: Claude Sonnet 4.6/Codex


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

  Changed paths:
    M llvm/lib/Transforms/Utils/LowerVectorIntrinsics.cpp
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  [CodeGen][ProfCheck] Mark scalable intrinsic expansion loop with unknown weights (#225050)


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

  Changed paths:
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/test/CodeGenCXX/strict-vtable-pointers.cpp

  Log Message:
  -----------
  [Clang] Stop using strip.invariant.group (#225072)

Clang currently emits calls to llvm.strip.invariant.group under
`-fstrict-vtable-pointers` whenever a pointer to a dynamic object is
used in a comparison or might be used in a comparison through operations
we cannot track.

The purpose of the llvm.strip.invariant.group intrinsic is to make sure
that if we have a dominating condition like `a ==
launder.invariant.group(a)`, we don't end up replacing the latter with
the former, as that would allow the optimizer to assume that the memory
stays invariant, despite going through a launder operation (e.g. on
placement new).

However, since this was introduced, we've come to the understanding that
replacing pointers based on equality comparison is generally only legal
if they have the same provenance, and stopped doing such replacements.
The specific strip.invariant.group/launder.invariant.group case was
still buggy due to an implementation bug, but this was fixed in
https://github.com/llvm/llvm-project/pull/224281.

As such, I believe that we no longer need to emit
llvm.strip.invariant.group in Clang. I plan to also remove the LLVM
intrinsic in a followup.


  Commit: 999b8c4e6b781768cb2bdd5595c89587dd92cef5
      https://github.com/llvm/llvm-project/commit/999b8c4e6b781768cb2bdd5595c89587dd92cef5
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    R orc-rt/test/regression/darwin/check-rt-process-info.test
    M orc-rt/test/regression/lit.cfg.py

  Log Message:
  -----------
  [orc-rt] Make check-rt-process-info.test test more generic. (#225314)

Add %host-arch and %host-os substitutions to orc-rt-lit's config, and
use them to make the regression test platform agnostic.


  Commit: 1833848c3e6ddc1d670cc0adea027867b9ed742b
      https://github.com/llvm/llvm-project/commit/1833848c3e6ddc1d670cc0adea027867b9ed742b
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/Wasm.cpp

  Log Message:
  -----------
  [clang-repl] Support wasm64 execution (#225311)

Emscripten-forge is adding wasm64 builds on its emscripten 6-x branch
which exposed two wasm32 hardcoded assumptions in clang-repl's
WebAssembly execution path.

`IncrementalCompilerBuilder::CreateCpp()` currently hardcodes
`wasm32-unknown-emscripten`, even when clang-repl itself is built for
wasm64.

Once Clang emits a wasm64 object, the in-process linker must also select
the correct emulation. `wasm-ld` defaults to wasm32 and otherwise fails
in `InputFile::checkArch()` with:

```text
must specify -mwasm64 to process wasm64 object files
```

The pipeline is this 
```
lldMain
  → lld::wasm::link
  → LinkerDriver::linkerMain
  → createFiles
  → addFile
  → createObjectFile
  → ObjFile::ObjFile
  → InputFile::checkArch
  → fatal: must specify -mwasm64 to process wasm64 object files
```

This patch introduces 2 atomic patches fixing the only 2 buggy sources !


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp
    A llvm/test/CodeGen/AArch64/aarch64-fix-cortex-a53-835769-debug.ll

  Log Message:
  -----------
  [AArch64] Fix position of nop inserted for +fix-cortex-a53-835769 under debug. (#224830)

Make sure that the position of the nop added for +fix-cortex-a53-835769
is not dependant on debug instructions at the start of the block.

Fixes #224661


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

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

  Log Message:
  -----------
  [X86] Move PSHUF(SHIFT(X,C0),C1) -> SHIFT(PSHUF(X,C1),C0) to canonicalizeShuffleWithOp (#225313)

No need for this to be in combineTargetShuffle, and we can generalize it
to work with more shuffles in a future patch.


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

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/AST/ByteCode/invalid.cpp
    M clang/test/SemaCXX/aggregate-default-member-initializers.cpp

  Log Message:
  -----------
  [clang][bytecode] Mark fields as being initialized, even without running a ctor for them (#225295)

To fix the diagnostics.


  Commit: 4acbf9b61c3f0579def4ebd1c1abca1048c4c378
      https://github.com/llvm/llvm-project/commit/4acbf9b61c3f0579def4ebd1c1abca1048c4c378
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    A clang/include/clang/CodeGenUtils/CallUtils.h
    A clang/include/clang/CodeGenUtils/ClassUtils.h
    A clang/include/clang/CodeGenUtils/ExprUtils.h
    A clang/include/clang/CodeGenUtils/FunctionUtils.h
    A clang/include/clang/CodeGenUtils/ItaniumCXXABIUtils.h
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGenUtils/CMakeLists.txt
    A clang/lib/CodeGenUtils/CallUtils.cpp
    A clang/lib/CodeGenUtils/ClassUtils.cpp
    A clang/lib/CodeGenUtils/ExprUtils.cpp
    A clang/lib/CodeGenUtils/FunctionUtils.cpp
    A clang/lib/CodeGenUtils/ItaniumCXXABIUtils.cpp

  Log Message:
  -----------
  [CIR][CodeGen][NFCI] Move shared AST-only helpers into CodeGenUtils (#223418)

Follow-up to PR #221001. Ten more helpers that both CodeGens had
equivalent copies of, several of them already marked "should be shared"
in
CIR.

Instead of growing CodeGenUtils.h, each helper goes in a header named
for
the classic CodeGen file it came from, with the CGExpr*.cpp family
sharing
ExprUtils.h. CIR's files mirror the classic ones, so the grouping reads
the
same from both sides.

CIR's getNoFPClassTestMask returned unsigned where classic returns
llvm::FPClassTest; the shared version keeps the classic return type.

Assisted-by: Claude Code (Claude Fable 5.1).


  Commit: b2ccaab8ea618082b73d23201963dce0a1c03937
      https://github.com/llvm/llvm-project/commit/b2ccaab8ea618082b73d23201963dce0a1c03937
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/include/llvm/IR/Attributes.h
    M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
    A llvm/test/Instrumentation/TypeSanitizer/instrumented-args-exts.ll

  Log Message:
  -----------
  [TypeSanitizer] Properly add ext attributes on arguments where needed. (#224366)

The TypeSanitizer should add extension attributes to arguments when inserting
instrumented calls.

This also adds getExtAttrForBoolParam() (and initBoolExtensionsForTriple()) in
TargetLibraryInfo.


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

  Changed paths:
    M llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
    M llvm/test/CodeGen/ARM/cmse-harden-call-returned-values.ll
    A llvm/test/CodeGen/Thumb2/thumb2-reduce-size-cpsr.mir

  Log Message:
  -----------
  ARM: Track CPSR liveness in Thumb2SizeReduction without kill flags (#223068)

Thumb2SizeReduction narrows a 32-bit instruction to its flag-setting
16-bit form only when CPSR is dead afterwards. It determined this from
kill flags on CPSR operands. Kill flags have been semi-deprecated
for over a decade, so avoid relying on them. Liveness should be
evaluated as a reverse walk over a block.

The existing forward walk over the block is still necessary as a
separate step for the different A9 avoidCPSRPartialUpdate optimization.

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


  Commit: b9f108134ca91564e2319ad391904b46fe5af33c
      https://github.com/llvm/llvm-project/commit/b9f108134ca91564e2319ad391904b46fe5af33c
  Author: Hadong Lee <hdchris765 at snu.ac.kr>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    A llvm/test/Transforms/LoopLoadElim/mixed-width-clobber.ll

  Log Message:
  -----------
  [LoopLoadElim] Fix miscompile caused by incorrect store-to-load forwarding across mixed-width clobbers (#224833)

When LoopLoadElimination finds a non-forwardable Store -> Load
dependence, it currently handles it with continue and drops it entirely.
Although that store cannot provide a forwarded value itself, it may
partially clobber the value of another forwarding candidate before the
target load.

This change adds the load to LoadsWithUnsafeDependence when such a
dependence is found, preventing forwarding for that load.

The tests cover zero-distance and non-zero-distance clobbers, including
when a later full-width store overwrites the clobber.

Fixes #224832


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

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/test/Transforms/IndVarSimplify/exit-value-nowrap-flags.ll

  Log Message:
  -----------
  [SCEVExpander] Keep use flags when expanding adds to GEPs (#225148)

Update expandAddToGEP to accept and thread through operands as SCEVUse.

This properly use SCEVUse flags when expanding GEPs.

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


  Commit: 8ce031e29bd3df7000f4e7dba9267d83d438ea81
      https://github.com/llvm/llvm-project/commit/8ce031e29bd3df7000f4e7dba9267d83d438ea81
  Author: Jack Styles <jack.styles at arm.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

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

  Log Message:
  -----------
  [AArch64] Add costs of Promoted types for compressstore (#220257)

When using SVE, types that are not 128bit widths will be promoted to be
legal SVE Types. Currently, when using
llvm.masked.compressstore these types are marked as invalid for SVE Only
but these are legal types. Fixed width 128bit types are also excluded
and would be enabled by this change.

Enable these types whether they are promoted or legal types.


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

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp

  Log Message:
  -----------
  [SCEV] Strip WrapPredicate::getImpliedFlags (NFC) (#225137)

The code in SCEVWrapPredicate::getImplied is dead, as we would never add
an increment wrap-predicate to begin with, when the much stronger
invariant of nuw/nsw is available on the AddRec. This also strips the
hasNoOverflow user.


  Commit: 9073b4d71e9d66c495df5f6ec42ab0279326f762
      https://github.com/llvm/llvm-project/commit/9073b4d71e9d66c495df5f6ec42ab0279326f762
  Author: Marcin Radomski <marcin at mradomski.pl>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/test/Transforms/Mem2Reg/ignore-droppable.ll
    M llvm/test/Transforms/Mem2Reg/ignore-lifetime.ll

  Log Message:
  -----------
  [PromoteMemToReg] Hoist removeIntrinsicUsers into a pre-pass before promotion (#224617)

Calling removeIntrinsicUsers(AI) inside the per-alloca promotion loop in
PromoteMem2Reg::run() inserts StoreInst(undef) instructions into basic
blocks after LargeBlockInfo (LBI) has already cached instruction indices
for those blocks during earlier iterations. Every subsequent
LBI.getInstructionIndex query on newly inserted StoreInst(undef)
instructions misses in LBI.InstNumbers and triggers a full O(|BB|) basic
block rescan, resulting in O(K * |BB|) compilation time blowup in
promoteSingleBlockAlloca when a basic block contains K scoped allocas.

Hoist removeIntrinsicUsers(AI) into a pre-pass loop over all Allocas
upfront in PromoteMem2Reg::run() before the main AllocaNum promotion
loop begins so all synthetic StoreInst(undef) instructions are inserted
prior to LBI caching.

Attached test verifies this PR doesn't change the behavior compared to
HEAD.

This improves the compile time of some CUDA kernels
(https://github.com/llvm/llvm-project/pull/191909#issuecomment-5569614846)
by ~9x.

Assisted-by: Gemini


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

  Changed paths:
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/test/CodeGen/ARM/cmse-vlldm-no-reorder.mir

  Log Message:
  -----------
  ARM: Don't duplicate the LR def when expanding call pseudos (#225062)

Several pseudo expansions in ARMExpandPseudoInsts built a real call and then 
copied the pseudo's operands onto the new instruction. Each of these call opcodes 
declares LR as an implicit-def, but the original instruction already had that. The original 
def may have been marked as dead, so the result would be a redundant operand with an 
inconsistent dead flag. This avoids a failure in a future verifier check.

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


  Commit: 32531790756e61174d7bebb7c0543f643298f596
      https://github.com/llvm/llvm-project/commit/32531790756e61174d7bebb7c0543f643298f596
  Author: Milin Bhade <mbhade at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/load_store.ll
    A llvm/test/Analysis/CostModel/X86/nonpow2-load-fold.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-7.ll
    M llvm/test/Transforms/SLPVectorizer/X86/nonpow2-shared-weight-reduction.ll

  Log Message:
  -----------
  [X86] Correct folded insert costs for partial vector loads (#220174)

The SLP vectorizer can form non-power-of-two trees, including width-3
trees, but relies on target costs to determine profitability: #194189

X86 getMemoryOpCost overestimated non-power-of-two vector loads by
counting a folded PINSR*(mem) chunk as both a memory operation and a
separate lane insertion.

Recognize non-0th folded load-insert chunks and charge each once.
Leading sub-dword loads, stores, and 8-byte chunks remain unchanged.


  Commit: 977f915470ae98b3e7ee0fcb5555b773b31785a0
      https://github.com/llvm/llvm-project/commit/977f915470ae98b3e7ee0fcb5555b773b31785a0
  Author: oltolm <oleg.tolmatcev at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp

  Log Message:
  -----------
  [llvm-pdbutil] Avoid reading EC names from non-EC modules (#223253)

The module dumper resolves the PDB and source file name indices for
every module, even when the module does not contain Edit and Continue
information. If the DBI stream has no EC names table, `dump --modules`
fails with:

Unexpected error processing modules: Stream Error: The stream is too
short
  to perform the requested operation.

Only resolve and print the EC names when the module's EC flag is set.


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

  Changed paths:
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/test/Transforms/LoopVectorize/scev-check-unknown-prof.ll

  Log Message:
  -----------
  [SCEVExpander] Mark selects with unknown profile. (#224362)

SCEVExpander creates selects when expanding min/max expressions for
pointers and predicates. In neither case there is any information on how
likely either arm of the select is. Annotate with unknown profile.

This is part of addressing the remaining profcheck failures in
LoopVectorize: https://github.com/llvm/llvm-project/issues/161235.

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


  Commit: bbff6d83b2b538fc7e76813a5217affb398f8b86
      https://github.com/llvm/llvm-project/commit/bbff6d83b2b538fc7e76813a5217affb398f8b86
  Author: Aman Maurya <amanmaurya9209 at gmail.com>
  Date:   2026-09-22 (Tue, 22 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/sys/stat/CMakeLists.txt
    M libc/src/sys/stat/linux/CMakeLists.txt
    A libc/src/sys/stat/linux/mkfifoat.cpp
    A libc/src/sys/stat/mkfifoat.h
    M libc/test/src/sys/stat/CMakeLists.txt
    A libc/test/src/sys/stat/mkfifoat_test.cpp

  Log Message:
  -----------
  [libc] Implement mkfifoat in sys/stat (#224628)

### Summary
Implement the standard POSIX.1-2008 function `mkfifoat` in
`<sys/stat.h>`.

Fixes #224587

### Changes
- Added `mkfifoat` function specification to
`libc/include/sys/stat.yaml`.
- Added internal header `libc/src/sys/stat/mkfifoat.h`.
- Implemented `mkfifoat` in `libc/src/sys/stat/linux/mkfifoat.cpp` using
the existing `linux_syscalls::mknodat`.
- Registered `mkfifoat` entrypoint in `libc/src/sys/stat/CMakeLists.txt`
and `libc/src/sys/stat/linux/CMakeLists.txt`.
- Added entrypoint across Linux targets (`x86_64`, `aarch64`, `riscv`).
- Added hermetic unit tests in
`libc/test/src/sys/stat/mkfifoat_test.cpp` using `cpp::scope_exit`
cleanup and C++ `static_cast<mode_t>`.

### Testing
- Built and passed hermetic unit test
`libc.test.src.sys.stat.mkfifoat_test` (4/4 tests passed).
- Verified sibling tests (`mkfifo_test`, `fstat_test`).
- Ran `generate-libc-headers` and verified generated `sys/stat.h`.
- Verified `docgen.py sys/stat.h` output marks `mkfifoat` as
implemented.
- Ran `clang-format` on all touched C++ files.


  Commit: 24cc35cc98486cc156170505ff1952d54713374f
      https://github.com/llvm/llvm-project/commit/24cc35cc98486cc156170505ff1952d54713374f
  Author: Aman Maurya <amanmaurya9209 at gmail.com>
  Date:   2026-09-22 (Tue, 22 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/sys/stat/CMakeLists.txt
    A libc/src/sys/stat/fstatat.h
    M libc/src/sys/stat/linux/CMakeLists.txt
    A libc/src/sys/stat/linux/fstatat.cpp
    M libc/test/src/sys/stat/CMakeLists.txt
    A libc/test/src/sys/stat/fstatat_test.cpp

  Log Message:
  -----------
  [libc] Implement fstatat in sys/stat (#224334)

### Summary
Implement the standard POSIX.1-2008 function `fstatat` in
`<sys/stat.h>`.

Fixes #224327

### Changes
- Added `fstatat` function specification to
`libc/include/sys/stat.yaml`.
- Added internal header `libc/src/sys/stat/fstatat.h`.
- Implemented `fstatat` in `libc/src/sys/stat/linux/fstatat.cpp` using
the existing `internal::stat_via_statx`.
- Registered `fstatat` entrypoint in `libc/src/sys/stat/CMakeLists.txt`
and `libc/src/sys/stat/linux/CMakeLists.txt`.
- Added entrypoint across Linux targets (`x86_64`, `aarch64`, `riscv`).
- Added hermetic unit tests in
`libc/test/src/sys/stat/fstatat_test.cpp`.

### Testing
- Built and passed hermetic unit test
`libc.test.src.sys.stat.fstatat_test` (5/5 tests passed).
- Verified stat-family suite (`stat_test`, `lstat_test`, `fstat_test`,
`fstatat_test`).
- Ran `generate-libc-headers` and verified generated `sys/stat.h`.
- Verified `docgen.py` output marks `fstatat` as implemented.
- Ran `clang-format` on all touched C++ files.

---------

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


  Commit: 99988429d395e95a8f994c5307371911145d2c1d
      https://github.com/llvm/llvm-project/commit/99988429d395e95a8f994c5307371911145d2c1d
  Author: rgal <russell.gallop at sony.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/lib/Options/OptionUtils.cpp
    A clang/test/Driver/ps4-ps5-resource-path.cpp

  Log Message:
  -----------
  Remove .. from clang resource path when specified with CLANG_RESOURCE_DIR  (#216996)

As discussed here:
https://discourse.llvm.org/t/removing-clang-version-number-from-resource-dir-in-a-distribution/90234

If a distributor wishes to have stable include paths across LLVM
versions, then they can build with `CLANG_RESOURCE_DIR=../lib/clang`.
This results in a slightly untidy include path (E.g.`C:\Program
Files\LLVM\bin\..\lib\clang\include`). This removes the ".." to make it
`C:\Program Files\LLVM\lib\clang\include` in this configuration.

Also added test. This uses "SIE" vendor. Since
https://github.com/llvm/llvm-zorg/commit/eac6791821f5104eb4c2b32f39ef5d20cda535a9,
PS4 and PS5 buildbots use this configuration and define the vendor so
the lack of version number and ".." should be tested on at least these
buildbots.


  Commit: f8e7ce4f4624daf1415f908d12e0415a83e26757
      https://github.com/llvm/llvm-project/commit/f8e7ce4f4624daf1415f908d12e0415a83e26757
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/AArch64/compress-idioms.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/compress-idioms.ll
    A llvm/test/Transforms/LoopVectorize/X86/compress-idioms.ll
    A llvm/test/Transforms/LoopVectorize/compress-idioms-negative-tests.ll
    A llvm/test/Transforms/LoopVectorize/compress-idioms.ll
    A llvm/test/Transforms/LoopVectorize/compress-store-vec-epilogue.ll

  Log Message:
  -----------
  [LV] Pre-commit compressing pattern tests (NFC) (#225109)

This patch pre-commits tests for #214491.


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

  Changed paths:
    M llvm/test/Analysis/CostModel/X86/shuffle-broadcast.ll
    A llvm/test/Analysis/CostModel/X86/shuffle-mask-broadcast.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll

  Log Message:
  -----------
  [NFC][CostModel][X86] Add cost tests for vXi1 mask broadcasts (#225070)


  Commit: 4faf0ae1d518d97381ed195c5e12d3923f770152
      https://github.com/llvm/llvm-project/commit/4faf0ae1d518d97381ed195c5e12d3923f770152
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-09-22 (Tue, 22 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/struct___pthread_cleanup_frame.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/pthread-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct___pthread_cleanup_frame.h
    M libc/include/pthread.yaml
    M libc/src/__support/threads/CMakeLists.txt
    A libc/src/__support/threads/cleanup_stack.h
    M libc/src/__support/threads/thread.cpp
    M libc/src/__support/threads/thread_attributes.h
    M libc/src/pthread/CMakeLists.txt
    A libc/src/pthread/__pthread_cleanup_pop.cpp
    A libc/src/pthread/__pthread_cleanup_pop.h
    A libc/src/pthread/__pthread_cleanup_push.cpp
    A libc/src/pthread/__pthread_cleanup_push.h
    M libc/test/integration/src/pthread/CMakeLists.txt
    A libc/test/integration/src/pthread/pthread_cleanup_test.cpp
    M libc/utils/docgen/pthread.yaml
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/startup/linux/BUILD.bazel

  Log Message:
  -----------
  [libc] Implement pthread_cleanup_push and pthread_cleanup_pop (#223427)

This patch implements the core POSIX thread cleanup mechanism
(pthread_cleanup_push and pthread_cleanup_pop).

POSIX allows these functions to be implemented as macros opening and
closing a lexical block. We allocate an automatic
__pthread_cleanup_frame structure on the stack in the push macro and
unlink it in the pop macro, calling helper functions
(__pthread_cleanup_push and __pthread_cleanup_pop) to link/unlink the
frame on the thread's cleanup_stack.

The stack is drained in LIFO order during thread termination in
call_atexit_callbacks before running __cxa_thread_atexit and TSS key
destructors.

It's worth noting that GLIBC implements this functionality in a much
more complicated way. The cleanup functions are registered with the
unwinding machinery so that throwing an exception (or even just
returning) from the push/pop blocks triggers evaluation of the cleanup
handlers. This behavior is not required (though not forbidden either) by
POSIX, which states that all of these result in undefined behavior. The
cleanup handlers are only run upon explicit
pthread_cleanup_pop(non_zero) or pthread_exit. POSIX also requires
running them on thread cancellation, but we don't implement cancellation
(yet).

*Another* thing worth noting is that this PR causes a couple of headers
to not compile in overlay mode (because I do not provide a definition of
__pthread_cleanup_frame in that case). These are threading headers which
are never supposed to be used in overlay mode (we can't overlay that),
and this is most visible in the bazel build, where I had to mark those
targets as incompatible. There are ways to work around this (the
simplest being providing a placeholder definition of the type for
overlay mode), but that's something I'd like to avoid if possible.

Assisted-by: Gemini


  Commit: 394c8dd1493308cb9add77b18987aee2219a65c1
      https://github.com/llvm/llvm-project/commit/394c8dd1493308cb9add77b18987aee2219a65c1
  Author: Chris Kennelly <ckennelly at ckennelly.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    A llvm/test/Transforms/AggressiveInstCombine/lower-table-based-lowbits-mask-n32.ll
    A llvm/test/Transforms/AggressiveInstCombine/lower-table-based-lowbits-mask.ll

  Log Message:
  -----------
  [AggressiveInstCombine] Fold low-bits mask table loads to arithmetic (#222509)

Recognize a load from a constant "low bits mask" table

```
  static const uintN_t tbl[K] = { 0, 1, 3, 7, ... }; // tbl[j] == (1 << j) - 1
  ... x & tbl[i] ...
```

and replace the load with the equivalent arithmetic mask (1 << i) - 1.
This is the target-independent form of the X86 combineAndLoadToBZHI DAG
combine: on X86 with BMI2 the surrounding and still selects to a single
bzhi.

Assisted-by: Claude Code


  Commit: 24fbe6a64a112c3ab90dab54e08969f2e2640436
      https://github.com/llvm/llvm-project/commit/24fbe6a64a112c3ab90dab54e08969f2e2640436
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/BasicAliasAnalysis.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    A llvm/test/Analysis/BasicAA/gep-minabs-different-scale.ll

  Log Message:
  -----------
  [BasicAA] Extend two-variable MinAbsVarIndex heuristic to different scales (#218639)

When performing offset-based reasoning via the min abs heuristic, the
existing two-variables case requires equal absolute scaling factors.
This may be generalized to different scales by factoring the offset as
`GCD*(C0*V0 - C1*V1)`, and relying on cached KnownBits to prove that the
cofactor products differ.

Proof: https://alive2.llvm.org/ce/z/RC4LwD.

Co-authored-by: Alex MacLean <amaclean at nvidia.com>


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

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
    M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp

  Log Message:
  -----------
  [ORC] Remove unused rt_alt UnwindInfoManager CI names (#225329)

The rt_alt UnwindInfoManager register/deregister action names were added
as a step towards supporting an "ORC-runtime-lite" API within LLVM, but
have not been used so far. This patch removes them, rather than leaving
them to drift. Replacements can be added as part of a coherent design
when ORC-runtime-lite is revisited.


  Commit: a2c203465c5c687117f6a73aaa0e580ea4a02258
      https://github.com/llvm/llvm-project/commit/a2c203465c5c687117f6a73aaa0e580ea4a02258
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-22 (Tue, 22 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] Add MsgHeader, the SimpleRemote stream header (#225336)

A SimpleRemote message carries an opcode, a sequence number, a tag and a
payload. MsgHeader is how a byte-stream transport puts those on the
wire: four little-endian uint64 fields, size first, followed by the
payload.

Adding MsgHeader to SimpleRemoteCA makes it easy for stream-based
transports to reuse.


  Commit: 031866ff849401f9f42c5fba1e9a84ece38dadbc
      https://github.com/llvm/llvm-project/commit/031866ff849401f9f42c5fba1e9a84ece38dadbc
  Author: Timur Golubovich <timur.golubovich at intel.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/test/CodeGen/X86/x86-64-intrcc.ll

  Log Message:
  -----------
  [X86] Don't double count the interrupt stack alignment push in StackSize (#224029)

emitPrologue pushes a slot to give an error-code handler the
return-address parity the frame layout assumes, but StackSize counted
that push as well. NumBytes derives from StackSize, so the subq grew by
8 too and left RSP at 8 mod 16 at every call. Object addresses are
unchanged.

Fixes #44560, fixes #50195

---------

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


  Commit: a22714d1867d7941681c129ea1a37c85541a1ad4
      https://github.com/llvm/llvm-project/commit/a22714d1867d7941681c129ea1a37c85541a1ad4
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
    M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/ProgressEvent.cpp
    M lldb/tools/lldb-dap/ProgressEvent.h
    M lldb/tools/lldb-dap/Protocol/ProtocolEvents.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolEvents.h
    M lldb/unittests/DAP/CMakeLists.txt
    A lldb/unittests/DAP/ProgressEventTest.cpp
    M lldb/unittests/DAP/ProtocolEventsTest.cpp

  Log Message:
  -----------
  [lldb-dap] Refactor handling progress events. (#224957)

lldb-dap now only uses one thread to receive and throttle received
progress events.
For every progress with a progressId, we delay reporting the progress
for 1000ms until we have recieved a new progress and only send an update
if the progress has a new version after 250ms.

This means for every progress integration test we do nothing for at
least 1250ms. The previous `TestDAP_progress` runs for at least 8s
regardless of how fast the computer is.

Moved most of the test to unittest where we can simulate progress delays
and time passing. We now have only one `TestDAP_progress` test to verify
the client receives progress Events.

When the ProgressEventThread reports a new progressEvent, the reporter
then.
- Create or update the `PendingProgress` with that progressId.
- Determines the action to take based on the ProgressState,
k_start_delay and k_update_interval.
- Sends the apropriate Event based on the action calculated.

Migrate the API test to the new infrastructure.
Add unit tests for the ProgressEventReporter and protocol progressXXXX
POD.


  Commit: d3cce170b16abfb9cf54de4e92e5b28fdd21f0fa
      https://github.com/llvm/llvm-project/commit/d3cce170b16abfb9cf54de4e92e5b28fdd21f0fa
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    A lld/test/ELF/aarch64-reloc-pauth-undef-weak-dso.s
    A lld/test/ELF/aarch64-reloc-pauth-undef-weak-pie.s
    A lld/test/ELF/aarch64-reloc-pauth-undef-weak.s
    M lld/test/ELF/aarch64-tlsdesc-pauth.s

  Log Message:
  -----------
  [PAC][lld] Do not emit AUTH relocs against undef weak non-preemptible symbols (#194636)

Undefined weak non-preemptible symbols should be statically resolved and
not signed.

See the corresponding relaxation described in docs:

https://github.com/ARM-software/abi-aa/blob/6e0d6611ac977628af7b2444ff841e76931a3557/design-documents/pauthabi-tls.rst

Previously, a dynamic relocation against such symbols was emitted, which
is not a correct behavior.

The patch also implements support for `R_AARCH64_AUTH_TLSDESC_CALL`
relocation since it's required for the described mandatory relaxation.

See also: https://github.com/ARM-software/abi-aa/pull/391

Depends on: #198327

Resolves #173296


  Commit: 750b967f7bf80e08306a42c5d1cfd26d5d1ba56a
      https://github.com/llvm/llvm-project/commit/750b967f7bf80e08306a42c5d1cfd26d5d1ba56a
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    A flang/test/Transforms/debug-omp-target-internal-proc.fir

  Log Message:
  -----------
  [flang][debug] Do not scope device subprograms at the host procedure. (#225121)

A target device module holds the internal procedures and the outlined
target regions, but not the host procedure they are contained in, which
only the host runs. Scoping them at it leaves a DW_TAG_subprogram with
no code as their parent, and a debugger does not look inside such a
subtree, so the variables of a device internal procedure, and of a
kernel outlined from one, cannot be read even though they are in the
DWARF.

Scope them at the file instead when compiling for the device. Nothing on
the device reads a variable through the host procedure's scope. An
omp.target region is IsolatedFromAbove, so a variable of the host that
the region uses is brought in as one of the region's own arguments
rather than through host association, and a declare target internal
procedure that does need the host association tuple cannot be called
from a target region at all, because passing the tuple in would be the
same violation. Only the name qualification is lost: a frame prints
"add" rather than "test::add", and the full nesting is still in the
linkage name.

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

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


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

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/AArch64/reassociate-fma-pairs.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/extracts-folded-into-fmul-users-no-credit.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/fadd-with-gathered-fmul-operands.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/fma-candidates-after-store-chains.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/fma-chain-no-alt-node-reduction.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/fmul-constant-lane-fmuladd-combine.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/reduction-root-multi-use-fma.ll
    A llvm/test/Transforms/SLPVectorizer/X86/fmul-fused-into-scalar-fadd.ll
    A llvm/test/Transforms/SLPVectorizer/X86/fsub-fmul-rhs-combine.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-fadd-with-sub.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reassoc-flattened-copyable-operand.ll
    M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-buildvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/select-logical-or-and-i1-vector.ll

  Log Message:
  -----------
  [SLP][NFC]Add/update tests for fma-based transfromations, NFC



Reviewers: 

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


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

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaOpenMP.cpp
    A clang/test/OpenMP/for_collapse_stmt_expr_codegen.cpp
    M clang/test/OpenMP/for_loop_messages.cpp

  Log Message:
  -----------
  [clang][OpenMP] Fix statement expressions in loop bounds being emitted more than once (#224939)

Fixes #153987

When Sema builds the helper expressions for an OpenMP loop, a bound that
evaluates to a constant is reused directly instead of being captured
into a `.capture_expr.` variable, so the same expression node is spliced
into the init, update, final and precondition helpers. That is fine for
`10 + 1`, but a statement expression like `({int a = 0; 0;})` declares a
variable, and emitting the shared node several times re-declares `a` and
trips `Decl already exists in LocalDeclMap!` in CodeGen. The report only
looked like a bytecode-interpreter issue because the old evaluator
happened to refuse `({float a = 0; a;})` and the new one didn't; the
unused-variable form crashes with both.

The capture decision now treats any expression containing a statement
expression as non-constant, so it goes through the existing capture
path: evaluated once in the pre-init statement, with every helper
reading the captured value. A bound of a non-rectangular loop can't be
captured at all, since it is re-evaluated at every use and the original
condition doubles as the body guard, so a statement expression there is
now rejected with an error, as GCC already does.


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

  Changed paths:
    M clang/test/Sema/constant-builtins-2.c

  Log Message:
  -----------
  [clang][bytecode] Add a bytecode RUN line for constant-builtins-2.c (#225305)

So changes to this file correctly trigger changes to the bytecode
interpreter.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/runtime-alias-checks.ll

  Log Message:
  -----------
  [SLP]Fix SCEV type mismatch when a checked base crosses a cross-width addrspacecast

getUnderlyingObject strips addrspacecast, so a base object can have a
different address type than the access pointer, mixing SCEV types in the
bounds computation.

Fixes #225280

Reviewers: 

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


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

  Changed paths:
    M flang/docs/ModFiles.md
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Support/Fortran-features.h
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Support/Fortran-features.cpp
    M flang/test/Parser/cuf-sanity-tree.CUF
    A flang/test/Semantics/CUDA/cuda-managed-implicit-modfile.cuf

  Log Message:
  -----------
  [flang][cuda] Record implicit managed attribution in module files (#224601)

An implicit attribute the compiler applied under `-gpu=mem:managed` is
written into the module file the same way a user-written one is, so a
reader cannot tell them apart. It then treats the attribute as a user
requirement: allocating such a component in a DEVICE object is rejected,
and the memory space the user did ask for on the object no longer wins.

Spell the distinction in the module file as `MANAGED(IMPLICIT)`,
modelled on `INTENT(IN)`: CUDA-data-attr gains an optional parenthesized
qualifier, carried by a new CUDADataAttrSpec parse-tree node in AttrSpec
and ComponentAttrSpec. ATTRIBUTES(...) keeps the bare attribute, so the
qualifier cannot be written there.

The attribute itself is still written out, so a component keeps the same
memory space no matter which options a consumer is compiled with.

Also stop an implicitly applied attribute from making a module a definer
of CUDA symbols. Without this, adding `-gpu=mem:managed` to a module's
build rejects its OpenACC-only consumers over an attribute the user
never wrote.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/reduction-same-vals-i1.ll

  Log Message:
  -----------
  [SLP]Fix APInt assertion in emitReusedOps for narrow types

The repeat count of a reused scalar may not fit the reduction element
type (e.g. count 2 in i1), tripping the APInt isUIntN assertion when
building the to-mul scale constant. Truncate the count to the element
bitwidth; the modular reduction arithmetic keeps the result equivalent.

Fixes #225279

Reviewers: 

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


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

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    A llvm/test/CodeGen/X86/lzcnt-cmp-null-deref.mir

  Log Message:
  -----------
  [X86] Fix null dereference in optimizeCompareInstr after lzcnt/tzcnt (#224282)

#210069 added `LTZCNTInst` to the exit condition of the backward scan of
`optimizeCompareInstr()`:

```c++
    if (MI || Sub || LTZCNTInst)
      break;
```

but it assigns `MI = LTZCNTInst` only inside the *forward* scan's
"EFLAGS is
used by this instruction" branch. When the forward scan never reaches
that
branch, both `MI` and `Sub` stay null.
However later code was built on the idea that one of them is not null.
 
Added a MIR test that would crash before but gets fixed by this
additional check.

Used AI for code review and comment/PR/test formatting/writing


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

  Changed paths:
    M clang/test/CodeGenCXX/cfi-stats.cpp
    M llvm/include/llvm/IR/Constants.h
    M llvm/lib/CodeGen/GlobalMerge.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Transforms/Utils/SanitizerStats.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-lds-test-asan.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-lds-test.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-lower-all.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multi-static-dynamic-indirect-access-asan.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multi-static-dynamic-indirect-access.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multiple-blocks-return-asan.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multiple-blocks-return.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-indirect-access-asan.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-indirect-access.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-lds-test-asan.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-lds-test.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-asan.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-function-param-asan.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-function-param.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-lower-all.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-O0.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-no-heap-ptr.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-asan.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-atomic-cmpxchg-asan.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-atomicrmw-asan.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-memintrinsic-asan.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-vector-ptrs.ll
    M llvm/test/CodeGen/AMDGPU/lower-indirect-lds-references.ll
    M llvm/test/CodeGen/AMDGPU/lower-kernel-and-module-lds.ll
    M llvm/test/CodeGen/AMDGPU/lower-kernel-lds-super-align.ll
    M llvm/test/CodeGen/AMDGPU/lower-kernel-lds.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-with-noalias.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-constantexpr.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-precise-allocate-to-module-struct.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-single-var-unambiguous.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds.ll
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/Transforms/GlobalMerge/alignment-2.ll
    M llvm/test/Transforms/GlobalMerge/alignment.ll
    M llvm/test/Transforms/GlobalMerge/basic.ll
    M llvm/test/Transforms/GlobalMerge/guid.ll
    M llvm/test/Transforms/GlobalMerge/macho-symbols.ll
    M llvm/test/Transforms/GlobalMerge/private-global.ll
    M llvm/test/Transforms/GlobalMerge/used.ll
    M llvm/unittests/IR/ConstantsTest.cpp

  Log Message:
  -----------
  [IR] Add ConstantExpr::getGetElementPtr() accepting DataLayout (#224652)

This overload takes GEP indices but produces a canonical i8 GEP in
ptradd representation. This is intended as a simple migration path for
places currently using `ConstantExpr::getGetElementPtr()` which cannot
be trivially replaced by `ConstantExpr::getPtrAdd()`.

This method is fallible, because something like `(getelementptr i32, ptr
@p, i64 CONST_EXPR)` can't be represented in ptradd form, because there
is no multiply constant expression. Not supporting this for constant
expressions is intentional, as we would not be able to emit a
relocatable expression for this anyway.

I have migrated a couple of sample usages in this PR. These are all
simple usages where the fallibility is not relevant.

The further plan here is to migrate everything (including IRBuilder) to
this new API, and then deprecated the one without the DataLayout
argument.


  Commit: cec2eeb8ff2f1075b036d9bfd06c365d006bc972
      https://github.com/llvm/llvm-project/commit/cec2eeb8ff2f1075b036d9bfd06c365d006bc972
  Author: Yutong Zhu <y25zhu at uwaterloo.ca>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/test/Sema/compare.c

  Log Message:
  -----------
  [Clang] Fix assertion "unsigned range includes negative?" in AnalyzeComparison during Sema of vector comparison with mismatched signed/unsigned types and __builtin_convertvector  (#182627)

The ``TryGetExprRange`` function now checks if the operand is an unsigned
vector when computing the ranges.

Fixes #173614


  Commit: 25aac605a4f1fc72bd1dcf0bb8d64fbfe2db3aa9
      https://github.com/llvm/llvm-project/commit/25aac605a4f1fc72bd1dcf0bb8d64fbfe2db3aa9
  Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/utils/lit/lit/TestRunner.py
    M llvm/utils/lit/lit/builtin_commands/cat.py
    M llvm/utils/lit/lit/builtin_commands/diff.py

  Log Message:
  -----------
  [lit] Use text mode when opening text files on z/OS (#217434)

On z/OS, we rely on autoconversion to read files correctly, and this
requires files to be opened as text.

The following change https://github.com/llvm/llvm-project/pull/208024
changed the streams to be read and piped as binary resulting in some
test regressions due to unreadable output. This patch restores the
functionality of opening and reading as a text stream.


  Commit: c4045dbc18c6637ebc218fe1a82ee62288613c2c
      https://github.com/llvm/llvm-project/commit/c4045dbc18c6637ebc218fe1a82ee62288613c2c
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/test/Sema/compare.c

  Log Message:
  -----------
  Revert "[Clang] Fix assertion "unsigned range includes negative?" in AnalyzeComparison during Sema of vector comparison with mismatched signed/unsigned types and __builtin_convertvector " (#225389)

Reverts llvm/llvm-project#182627

Post-commit CI found issues:
https://lab.llvm.org/buildbot/#/builders/225/builds/19103


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

  Changed paths:
    M llvm/test/tools/llvm-extract/recursive.ll
    A llvm/test/tools/llvm-extract/verify-input.ll
    M llvm/tools/llvm-extract/llvm-extract.cpp

  Log Message:
  -----------
  llvm-extract: Fix not verifying input file (#225378)

Copy the behavior from opt, and add a -disable-verify flag.


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

  Changed paths:
    M .github/workflows/libcxx-pr-conformance-tests.yaml

  Log Message:
  -----------
  [Github] Bump libcxx CI container (#225268)


  Commit: 565f3f73eef2220bfa80a1894bab29fd6e579a2d
      https://github.com/llvm/llvm-project/commit/565f3f73eef2220bfa80a1894bab29fd6e579a2d
  Author: Matt Davis <mattd at nvidia.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/Dwarf.h
    A llvm/test/DebugInfo/X86/unknown-source-language.ll

  Log Message:
  -----------
  [Dwarf] Don't crash in dwarf::isC() on vendor-defined languages (#223739)

isC() enumerates SourceLanguage and falls off the end of the switch into
llvm_unreachable("Unknown language kind."). DW_LANG_lo_user and
DW_LANG_hi_user are both explicit cases, but every vendor-defined code
strictly between them is not, so any of them aborts an asserts-enabled
build.

Assisted-by: LLM

---------

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


  Commit: 93e1bed81a47c0b3c3df6de2d5f7d7e4f450ae87
      https://github.com/llvm/llvm-project/commit/93e1bed81a47c0b3c3df6de2d5f7d7e4f450ae87
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/docs/OpenMPSupport.md
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaStmt.cpp
    A clang/test/OpenMP/structured-bindings-ast.cpp
    A clang/test/OpenMP/structured-bindings-codegen.cpp
    A clang/test/OpenMP/structured-bindings-messages.cpp
    A clang/test/OpenMP/structured-bindings-nontemporal.cpp
    A clang/test/OpenMP/structured-bindings-target-map-different-types.cpp
    A clang/test/OpenMP/structured-bindings-template-instantiation.cpp
    M clang/test/SemaCXX/decomposition-openmp.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [OpenMP] Support capturing structured bindings in OpenMP regions. (#190832)

This patch adds support for capturing structured bindings (C++20) in
`OpenMP` parallel regions, which previously resulted in an error:

  `error: capturing a structured binding is not yet supported in OpenMP`


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

  Changed paths:
    A orc-rt/include/orc-rt/bedrock/sps/SimpleRemoteCAOverSocket.h
    M orc-rt/lib/bedrock/CMakeLists.txt
    A orc-rt/lib/bedrock/sys/posix/sps/SimpleRemoteCAOverSocket.cpp
    M orc-rt/test/unit/CMakeLists.txt
    A orc-rt/test/unit/bedrock/sps/SimpleRemoteCAOverSocketTest.cpp

  Log Message:
  -----------
  [orc-rt] Add a SimpleRemote transport over POSIX sockets (#225393)

A ControllerAccess speaking SimpleRemote over a connected stream socket.
The wire format matches LLVM's SimpleRemoteEPC. POSIX only -- Windows
needs a counterpart alongside the other sys/posix sources.

It owns a reactor thread built on poll(2) over the connection and a wake
socket. IO is non-blocking, so reads and writes resume wherever a
partial transfer stopped. The reactor is the only thread that sends;
callers on other threads append to a queue and wake it.

Reached through createSimpleRemoteCAOverSocket; the implementation is
file-local to the POSIX translation unit, so a Windows version needs no
header change.

The unit test drives it over a real socket pair, playing the controller
on the far end: framing, partial transfers, teardown ordering and the
malformed-message paths. The fixture owns the pair and the Session, so a
test body starts at the interesting part. It installs no on-disconnect
handler: Session reports the disconnect reason through reportError when
none is set, so a test that ends abnormally without asking for the error
fails rather than passing quietly.


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

  Changed paths:
    M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
    M llvm/lib/CodeGen/ModuloSchedule.cpp

  Log Message:
  -----------
  [CodeGen] Prevent potential multiplication overflow (#224665)

This fixes a number of issues reported by a CodeQL scan in the `CodeGen`
directory.


  Commit: 86a9a1bd8bcc53762454b7d0aadd17820bbc56d7
      https://github.com/llvm/llvm-project/commit/86a9a1bd8bcc53762454b7d0aadd17820bbc56d7
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCastOps.td
    M mlir/lib/Dialect/SPIRV/IR/CastOps.cpp
    M mlir/test/Dialect/SPIRV/IR/cast-ops.mlir
    M mlir/test/Target/SPIRV/cast-ops.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Let FConvert cast between same width types (#225349)

The spec requires the component type to differ, not the width, so casts
like f16 to bf16 are legal

Prerequisite for https://github.com/llvm/llvm-project/pull/212817


  Commit: 55676019676cae0565d8771252f05bc2a222a0a0
      https://github.com/llvm/llvm-project/commit/55676019676cae0565d8771252f05bc2a222a0a0
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    A llvm/test/MC/AArch64/retired-feature-names.s
    A llvm/test/MC/AArch64/retired-register-names.s

  Log Message:
  -----------
  [AArch64] Prevent reuse of retired architecture names (#221782)

Add negative tests preventing reuse of retired feature and system register names.

When system registers or feature names are retired, they should be appended to
this file, to ensure they're never re-used in future. `FEAT_MPAMv2` and `FEAT_TME`
are the two features which have been intentionally retired so far.


  Commit: 5d8e28af588d12e374bdbe5ed62cfa9dc1fc3f06
      https://github.com/llvm/llvm-project/commit/5d8e28af588d12e374bdbe5ed62cfa9dc1fc3f06
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    A orc-rt/include/orc-rt/bedrock/ConnectorRegistry.h
    A orc-rt/include/orc-rt/bedrock/SocketConnector.h
    M orc-rt/lib/bedrock/CMakeLists.txt
    A orc-rt/lib/bedrock/ConnectorRegistry.cpp
    A orc-rt/lib/bedrock/sys/posix/SocketConnector.cpp

  Log Message:
  -----------
  [orc-rt] Add ConnectorRegistry and the socket:adopt connector (#225398)

Maps the transport named by a ConnectionSpec to the connector that
establishes it. Connectors are registered manually, so they are only
available -- and for static archive builds, only linked -- if explicitly
requested.

Clients can connect a Session to a controller by passing a
ConnectionSpec for a registered transport (provided that the
ConnectionSpec is well-formed as defined by that transport).

This commit introduces a "socket:adopt" connector, which takes a stream
socket that this process already holds and attaches a
SocketSimpleRemoteCA for it.


  Commit: 2dbb7d6c55600791b7a26d0bf1ebc8daa278247d
      https://github.com/llvm/llvm-project/commit/2dbb7d6c55600791b7a26d0bf1ebc8daa278247d
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Lower arith.convertf operation (#212817)

Lower arith.convertf (same-bitwidth casts like f16<->bf16) to
spirv.FConvert


  Commit: 58dd2be9a4b535b5467b432ebd6b77e03a93b5de
      https://github.com/llvm/llvm-project/commit/58dd2be9a4b535b5467b432ebd6b77e03a93b5de
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/Protocol/DAPTypes.h
    M lldb/tools/lldb-dap/Variables.cpp
    M lldb/tools/lldb-dap/Variables.h
    M lldb/unittests/DAP/DAPTypesTest.cpp
    M lldb/unittests/DAP/ProtocolTypesTest.cpp

  Log Message:
  -----------
  [lldb-dap][NFC] Simplify using var_ref_t directly. (#225187)

Make var_ref_t printable, update functions that requires var_ref_t to
use var_ref_t instead of integers.


  Commit: db17738290efb586b9700bbecef3a82084a9c5f4
      https://github.com/llvm/llvm-project/commit/db17738290efb586b9700bbecef3a82084a9c5f4
  Author: Purna Chandra <vennelapurnachandra2006 at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/MultipleInheritanceCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/test/clang-tidy/checkers/misc/multiple-inheritance.cpp

  Log Message:
  -----------
  [clang-tidy] Fix infinite loop in misc-multiple-inheritance (#220223)

This PR contains the fix for the infinite loop in
`misc-multiple-inheritance`. The checker was getting stuck in an
infinite cycle when it encountered circular inheritance. I fixed this by
adding a visited map (`InterfaceMap.try_emplace(Node, false)`) to break
the cycle during the DFS traversal.

Part of #213948.


  Commit: 355b371c0b15e5c5bf29459342a64d5487231500
      https://github.com/llvm/llvm-project/commit/355b371c0b15e5c5bf29459342a64d5487231500
  Author: Łukasz Plewa <lukasz.plewa at intel.com>
  Date:   2026-09-22 (Tue, 22 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* (#224930)

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.
   
Re-land of #222677 + #224622, which were reverted together in #224703.

Assisted-by: Claude Opus 4.7


  Commit: ee7f51a7d00f05662716d20e451c9c25c0fe79ee
      https://github.com/llvm/llvm-project/commit/ee7f51a7d00f05662716d20e451c9c25c0fe79ee
  Author: purnima shrivastava <purnimashrivastava05 at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  Fix recursive DI variant part (#225373)

`mlir::translateModuleToLLVMIR` could leave recursive `DICompositeType`
metadata unresolved when the composite used `DW_TAG_variant_part`.

`DW_TAG_variant_part` was not emitted as a distinct `DICompositeType`,
unlike other recursive composite type tags. This change adds it to the
distinct path and adds a regression test covering the recursive
variant-part case.

Testing:

* `mlir/test/Target/LLVMIR/llvmir-debug.mlir`
* `ninja -C build check-mlir`

Fixes: #225151

Co-authored-by: Purnima Shrivastava <purnimashrivastava05 at .com>


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

  Changed paths:
    M clang/test/CodeGen/AMDGPU/amdgcn-av-non-atomic.cpp
    M clang/test/CodeGen/AMDGPU/amdgcn-av-none-amdgpu-atomic.cpp
    M clang/test/CodeGen/AMDGPU/amdgcn-av-none-attr.cpp
    M clang/test/CodeGenCUDA/amdgpu-bf16.cu
    M clang/test/CodeGenHIP/hipspv-kernel.cpp
    M clang/test/CodeGenOpenCL/amdgpu-debug-info-pointer-address-space.cl
    M clang/test/CodeGenOpenCL/opencl_types.cl
    M clang/test/CodeGenOpenCL/spir_version.cl
    M clang/test/OpenMP/amdgcn_save_temps.c
    M clang/test/SemaHIP/atomic-init.hip

  Log Message:
  -----------
  clang/AMDGPU: Use subarch triples in more cc1 tests (#225391)


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

  Changed paths:
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/always_uniform.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/atomics.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/b42473-r1-crash.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/branch-after-join.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/control-flow-intrinsics.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/hidden_diverge.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/hidden_loopdiverge.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/inline-asm.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/interp_f16.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/branch-outside.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/diverged-entry-basic.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/diverged-entry-headers-nested.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/diverged-entry-headers.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/exit-divergence.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/hidden-post-dom.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/irreducible-1.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/reducible-headers.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/join-at-loop-exit.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/kernel-args.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/llvm.amdgcn.buffer.atomic.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/llvm.amdgcn.image.atomic.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/no-return-blocks.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/nodivergencesource.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/phi-undef.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/phi_div_branch.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/phi_div_loop.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/propagate-loop-live-out.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/temporal_diverge.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/trivial-join-at-loop-exit.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/uniform_intrinsic.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/unreachable-loop-block.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/unstructured-branch.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/workitem-intrinsics.ll

  Log Message:
  -----------
  AMDGPU: Use subarch triples in uniformity analysis tests (#225386)


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

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

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfIntrinsics - don't use I variable name for Index iteration. NFC. (#225394)

Shadows the Instruction &I argument.

Noticed in #182768


  Commit: cbab69595ca6f5a1c7296985e5555b8b45a35e55
      https://github.com/llvm/llvm-project/commit/cbab69595ca6f5a1c7296985e5555b8b45a35e55
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/test/CMakeLists.txt
    A llvm/test/Feature/codegen-plugin-legacy.ll
    R llvm/test/Other/codegen-plugin-loading.ll
    M llvm/unittests/CodeGen/CGPluginTest/Plugin/CMakeLists.txt
    M llvm/unittests/CodeGen/CGPluginTest/PluginTest.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt

  Log Message:
  -----------
  [llvm][test] Small fixes around CGTestPlugin (NFC) (#225362)

We use `LLVM_ENABLE_PLUGINS` as condition to run the unit-tests in
CGPluginTest, but we used to built the required plugin under `NOT WIN32
AND NOT CYGWIN`. These only happened to be equivalent. This patch guards
the entire folder under `LLVM_ENABLE_PLUGINS`. It also moves the related
LIT test to Feature/codegen-plugin-legacy.ll and adds REQUIRES plugin.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-scalar-scc-clobber.mir

  Log Message:
  -----------
  [AMDGPU] Unify liveness guard to prevent SCC clobber in frame index lowering in scaling path (#223789)

eliminateFrameIndex has two lowering strategies, but only one has the
proper handling for checking SCC-liveness to prevent clobbering. Unify
them with a helper function to ensure both paths handle the same


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

  Changed paths:
    M orc-rt/test/regression/init.test
    M orc-rt/tools/ogre/ogre.cpp

  Log Message:
  -----------
  [orc-rt] Connect ogre to a controller via a ConnectionSpec (#225400)

ogre now takes a connection spec as its one positional argument, builds
a Session with the bootstrap services registered, registers the
"socket:adopt" connector, connects, and runs until the controller
disconnects. Arguments after "--" are reserved for the program to run
and are not consumed yet.

init.test becomes "ogre --help", since ogre now needs a spec to do
anything and has nothing to connect to under lit yet.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-minbw.ll

  Log Message:
  -----------
  [SLP]Fix crash costing minbw-resized splat gather subtree roots

Splat gather subtree roots have no parent entry, but the min-bitwidth
resize-cost block assumed every non-root node has one and dereferenced
a null user. Charge the resize-back cast to the node's original scalar
type instead, matching the cast emitted when the reusing gather nodes
consume the resized vector.

Fixes https://github.com/llvm/llvm-project/pull/218250#issuecomment-5776455495

Reviewers: 

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


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/test/CIR/CodeGen/class.cpp

  Log Message:
  -----------
  [CIR] Correct how memberPath compares 'current class' (#225237)

I didn't realize in the past that `isSameEntity` didn't actually check
to make sure we were working on canonical/most recent decl, so this
patch adds those to each side of the check. If we don't, we end up
finding them not equal, and crashing later when trying to pick up the
correct index.


  Commit: abecf784ec30bce9d9163bd2e0d14c4a70094045
      https://github.com/llvm/llvm-project/commit/abecf784ec30bce9d9163bd2e0d14c4a70094045
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCodeGenPassBuilder.cpp
    M llvm/test/CodeGen/SPIRV/llc-pipeline.ll

  Log Message:
  -----------
  [SPIR-V][NewPM] Do not require RegBankSelect in instruction selection (#225023)

SPIR-V skips RegBankSelect and keeps virtual registers, so the property
is never set

Match the legacy pipeline


  Commit: 63b5d1388f6ca68954ad22bc36fb73613507ceb1
      https://github.com/llvm/llvm-project/commit/63b5d1388f6ca68954ad22bc36fb73613507ceb1
  Author: Christian Kandeler <christian.kandeler at qt.io>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang-tools-extra/clangd/refactor/tweaks/ExtractFunction.cpp
    M clang-tools-extra/clangd/unittests/tweaks/ExtractFunctionTests.cpp

  Log Message:
  -----------
  [clangd] Don't offer Extract to Function for control-flow conditions (#223409)

Extracting the condition of an `if`/`while`/`do`/`for`/`switch` (or a
condition-variable
declaration) was treated the same as extracting a discardable
expression-statement, producing a `void`-returning function called
where the construct needs a value, e.g.:

```cpp
void extracted(int &event1, bool &event2, double &event3) {
event1 == 2 && event2 && event3 == 10.3;
}
int example(int event1, bool event2, double event3) {
      if (extracted(event1, event2, event3))   // doesn't compile
        return 1;
```

This slot was previously unreachable in practice because a blanket
"never extract a single `Expr`" check happened to also block it, but
that check was removed in #219945 to allow extracting genuine
expression-statements. This adds back a narrower, correctly-scoped
check instead: reject when the selected node occupies a
condition slot specifically, which also finally
resolves two long-standing FIXMEs about this exact gap.

Assisted-by: Claude


  Commit: 0df26b857065991b50725ca85f7a8728c60ceea9
      https://github.com/llvm/llvm-project/commit/0df26b857065991b50725ca85f7a8728c60ceea9
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/CMakeLists.txt
    M llvm/cmake/modules/HandleLLVMOptions.cmake

  Log Message:
  -----------
  [CMake] Enable ccache depend mode when PCH is enabled (#225118)

ccache with PCH sometimes falls back to the preprocessor mode even when
using Clang. Enable ccache's "depend mode" to only rely on dependencies
as emitted by the compiler when PCH is enabled.

This requires moving the ccache logic to HandleLLVMOptions.cmake, as
whether PCH is enabled now impacts the ccache options. While moving,
also deduplicate the ccache+Clang detection logic and bundle all
PCH-related configurations together.

To ease debugging the ccache configuration, print the ccache command and
options as cmake output.

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

See: https://github.com/ccache/ccache/issues/1686


  Commit: 684e2024376f0fdcba7496faa3dddc97cc0b764c
      https://github.com/llvm/llvm-project/commit/684e2024376f0fdcba7496faa3dddc97cc0b764c
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/Mips/AsmParser/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/Mips/MCTargetDesc/BUILD.gn

  Log Message:
  -----------
  [gn] add dep required by #224284 (#225419)


  Commit: c109662a4cc336000f85032a8b183b206b9b1196
      https://github.com/llvm/llvm-project/commit/c109662a4cc336000f85032a8b183b206b9b1196
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/SystemZ/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 3eaddb5735f6 (#225420)


  Commit: 615b63316c17bc7f701f504f00e8e1b3303ea9d8
      https://github.com/llvm/llvm-project/commit/615b63316c17bc7f701f504f00e8e1b3303ea9d8
  Author: Tim Gymnich <tim at gymni.ch>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/knownfpclass-basic.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/knownfpclass-ops.mir
    M llvm/unittests/CodeGen/GlobalISel/KnownFPClassTest.cpp
    M llvm/utils/update_givaluetracking_test_checks.py

  Log Message:
  -----------
  [GlobalISel] Add KnownFPClass printer pass (#225402)

Adds a dedicated print<gisel-value-tracking-fpclass> machine-function
pass.

Most KnownFPClassTest.cpp cases are migrated to MIR tests. The remaining
unit test covers a signaling-NaN-specific query that the printer cannot
represent.
 
Assisted by: gpt-5.6-sol


  Commit: 3632f15ecb2af4a0e8f4d9bd6121cd2537e176ae
      https://github.com/llvm/llvm-project/commit/3632f15ecb2af4a0e8f4d9bd6121cd2537e176ae
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port d0dc3b038f52 (#225422)


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

  Changed paths:
    M .github/workflows/libcxx-build-containers.yml
    M libcxx/utils/ci/docker/docker-compose.yml
    R libcxx/utils/ci/docker/linux-builder-base.dockerfile
    M libcxx/utils/ci/docker/linux-builder.dockerfile

  Log Message:
  -----------
  [libcxx] Simplify container images (#225214)

Now that we can specify the image directly in the workflow, we do not
need to have the agent/base image split anymore.


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

  Changed paths:
    M lldb/include/lldb/Symbol/SymbolFile.h
    M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
    M lldb/include/lldb/Target/Platform.h
    M lldb/include/lldb/Utility/XcodeSDK.h
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
    M lldb/source/Symbol/SymbolFileOnDemand.cpp
    M lldb/source/Utility/XcodeSDK.cpp
    M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
    M lldb/unittests/Utility/XcodeSDKTest.cpp

  Log Message:
  -----------
  [lldb][NFC] Move XcodeSDK's sysroot into a separate XcodeSDKAndSysroot class (#224361)

`XcodeSDK` carried two unrelated things: the SDK identity parsed out of
an SDK directory name (`"MacOSX14.0.sdk"`), and the sysroot the compiler
recorded in `DW_AT_LLVM_sysroot`. The second is an absolute path on the
build machine and is only there when the SDK was read out of debug info.

Callers have no way to tell the two states apart.

This patch splits out `XcodeSDKAndSysroot`, which groups an `XcodeSDK`
with its sysroot. `XcodeSDK` keeps only the parsed SDK name, so
`XcodeSDK::Merge` no longer touches a sysroot.
`XcodeSDKAndSysroot::Merge` does that instead.

It follows the rules below:

- When the other SDK wins the merge, its sysroot comes with it.
- When merging only adds the `Internal` suffix to our own SDK name, the
sysroot is renamed alongside it, unless it does not name an SDK
directory.

rdar://171905747


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

  Changed paths:
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/Lowering/ptr-stride-index-width.cir
    A clang/test/CIR/Lowering/ptr-stride-index-width.cpp

  Log Message:
  -----------
  [CIR] Don't delete 'sub' op during 'convertToIndexTy' (#225231)

This showed up in a SPEC benchmark: IF that sub operation is still being
used, deleting it causes us to orphan its other uses, causing a
conversion failure. We can't actually delete it, as we have no way of
knowing whether it has other uses (since we're in the process of
    removing at least one of its uses?). SO this patch is going to just
count on dead-code elemination to remove this sub after we stop using
its value, if at all possible.


  Commit: fd016b7d24d3a2ddabef9e1ebfc702885e9bb7c1
      https://github.com/llvm/llvm-project/commit/fd016b7d24d3a2ddabef9e1ebfc702885e9bb7c1
  Author: Amit Tiwari <Amit.Tiwari at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/docs/OpenMPSupport.md
    M clang/docs/ReleaseNotes.md
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/Index/openmp-flatten.c
    A clang/test/OpenMP/flatten_ast_print.cpp
    A clang/test/OpenMP/flatten_codegen.cpp
    A clang/test/OpenMP/flatten_codegen_for.cpp
    A clang/test/OpenMP/flatten_depth_ast_print.cpp
    A clang/test/OpenMP/flatten_depth_codegen.cpp
    A clang/test/OpenMP/flatten_depth_messages.cpp
    A clang/test/OpenMP/flatten_messages.cpp
    A clang/test/OpenMP/flatten_serialize_module.cpp
    A clang/test/OpenMP/fuse_depth_messages.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    A openmp/runtime/test/transform/flatten/depth-intfor.c
    A openmp/runtime/test/transform/flatten/depth-partial.c
    A openmp/runtime/test/transform/flatten/empty.c
    A openmp/runtime/test/transform/flatten/final-values.c
    A openmp/runtime/test/transform/flatten/foreach.cpp
    A openmp/runtime/test/transform/flatten/intfor.c
    A openmp/runtime/test/transform/flatten/overflow-empty.c
    A openmp/runtime/test/transform/flatten/parallel-wsloop-foreach.cpp
    A openmp/runtime/test/transform/flatten/parallel-wsloop-intfor.c
    A openmp/runtime/test/transform/flatten/reverse-on-flatten.c
    A openmp/runtime/test/transform/flatten/tile-on-flatten.c
    A openmp/runtime/test/transform/flatten/unroll-on-flatten.c

  Log Message:
  -----------
  [Clang][OpenMP] Add `#pragma omp flatten` loop directive + `depth` clause (#206977)

Adds the OpenMP 6.1:  `Flatten Construct` + `depth Clause`.
Referred in Section 17.4 and Section 6.4.7 respectively in [Technical
Report 15](https://www.openmp.org/wp-content/uploads/openmp-TR15.pdf)


  Commit: 8306f7777172718453729ee941734bab9217c9fa
      https://github.com/llvm/llvm-project/commit/8306f7777172718453729ee941734bab9217c9fa
  Author: lorenzo chelini <l.chelini at icloud.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/Vector/IR/VectorAttributes.td
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorScan.cpp
    M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-reduction-to-llvm.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
    M mlir/test/Dialect/Arith/ops.mlir
    M mlir/test/Dialect/Vector/ops.mlir
    M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/reductions-masked-minmaxnum-f32.mlir
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir][arith] Add minimumnumf and maximumnumf operations (#221658)

Add `arith.minimumnumf` and `arith.maximumnumf`, following
`minimumNumber` and `maximumNumber` from IEEE 754-2019 and the
`llvm.minimumnum`/`llvm.maximumnum` intrinsics. They differ from the
existing `arith.minnumf`/`arith.maxnumf` only in their treatment of
signaling NaNs: the new ops deterministically return the non-NaN
operand, whereas minnumf/maxnumf may return either NaN or the other
operand.


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

  Changed paths:
    M llvm/lib/CAS/OnDiskGraphDB.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.h
    M llvm/lib/DWARFLinker/Parallel/SyntheticTypeNameBuilder.h
    M llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h
    M llvm/lib/ObjCopy/MachO/MachOReader.h
    M llvm/lib/TableGen/TGParser.h
    M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp

  Log Message:
  -----------
  [llvm] Remove declarations without definitions (NFC) (#225320)

DataRecordHandle::create and DataRecordHandle::construct in
llvm/lib/CAS/OnDiskGraphDB.cpp: The unused definitions were removed on
November 24, 2025 in commit f21857313dfab543e66ef43b1aed43b685794a7c.

dwarf_linker::parallel::DwarfEmitterImpl::emitStringsImpl in
llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.h: Added on May 20, 2023
in commit 5f2a7fa67e9b6081a1a750ecea1216d53287eaa0 without a definition
or any callers (only DWARFLinkerImpl::emitStringsImpl was defined).

dwarf_linker::parallel::SyntheticTypeNameBuilder::addOrderedName
(2-argument overload) in
llvm/lib/DWARFLinker/Parallel/SyntheticTypeNameBuilder.h: Added on
November 23, 2023 in commit b61ac4a88f934ab5c02ee2a4957fb1b9943e7a5d
without a definition or any callers.

pdb::GSIHashStreamBuilder::finalizePublicBuckets and
pdb::GSIHashStreamBuilder::finalizeGlobalBuckets in
llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp: Added on June 4,
2020 in commit b7402edce3150591df03b7352fdcb3336098d603 without
definitions or any callers (only the corresponding methods on
GSIStreamBuilder were defined).

jitlink::COFFLinkGraphBuilder::getPointerSize and
jitlink::COFFLinkGraphBuilder::getEndianness in
llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h: The definitions
and callers were removed on January 14, 2025 in commit
4eaff6c58ae2f130ac8d63cf2c87bbb483114876.

jitlink::MachOLinkGraphBuilder::getPointerSize and
jitlink::MachOLinkGraphBuilder::getEndianness in
llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h: The
definitions and callers were removed on January 14, 2025 in commit
4eaff6c58ae2f130ac8d63cf2c87bbb483114876.

EPCIndirectStubsManager::deallocateStubs in
llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp: Added on July 16,
2020 in commit 0e940d55f8a9388c42cc5998ea05212a983f05a7 without a
definition or any callers.

RuntimeDyldCheckerImpl::lookup and
RuntimeDyldCheckerImpl::getSectionLoadAddress in
llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h: The
definitions and callers were removed on April 8, 2019 in commit
941f247d30c447903107aa614ea46fb1e4019698.

objcopy::macho::MachOReader::readCodeSignature in
llvm/lib/ObjCopy/MachO/MachOReader.h: The definition and caller were
removed on October 26, 2021 in commit
a299b24712ccd0769ffa0d5b65cbc98211fd4d99.

TGParser::ParseOptionalBitList in llvm/lib/TableGen/TGParser.h: The
definition and caller were removed on March 19, 2026 in commit
d29c6a34255e635b8ad794d21cdd0a2ed8820b68.

LoopIdiomVectorize::runOnCountableLoop in
llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp: Added on June 7,
2024 in commit 37e309f1635404bfca029c3712ee227a892cd4cf without a
definition or any callers.

Assisted-by: Antigravity


  Commit: 6dcf5908ccec4be39b52b61630b0f494a04a01b7
      https://github.com/llvm/llvm-project/commit/6dcf5908ccec4be39b52b61630b0f494a04a01b7
  Author: Jackson Stogel <jtstogel at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M .github/workflows/bazel-checks.yml

  Log Message:
  -----------
  [GitHub] Avoid downloading outputs during Bazel tests when possible (#224725)

PR adds
[`--remote_download_outputs=minimal`](https://bazel.build/reference/command-line-reference#param-remote-download-outputs-1)
to bazel tests in CI. I noticed recently that `Bazel Build/Test` takes
~2m to run even when everything is cached. It looks like it's
downloading ~1GiB of artifacts from the remote cache. For example, in [a
recent
run](https://github.com/llvm/llvm-project/actions/runs/35147456695/job/104967035656):

```
[82,641 / 90,341] 1094 / 7245 tests; Linking external/+_repo_rules+llvm-project/flang/lib/Semantics/libFortranSemantics.a; Downloading external/+_repo_rules+llvm-project/flang/lib/Semantics/libFortranSemantics.a, 260.4 MiB / 288.7 MiB; 1s remote-cache ... (62 actions, 10 running)
[88,426 / 91,191] 1238 / 7245 tests; Linking external/+_repo_rules+llvm-project/mlir/mlir-reduce; Downloading external/+_repo_rules+llvm-project/mlir/mlir-reduce, 337.0 MiB / 344.6 MiB; 13s remote-cache ... (58 actions, 0 running)
[88,870 / 92,185] 1315 / 7245 tests; Linking external/+_repo_rules+llvm-project/mlir/mlir-query; Downloading external/+_repo_rules+llvm-project/mlir/mlir-query, 241.9 MiB / 264.2 MiB; 11s remote-cache ... (55 actions, 0 running)
...
Executed 0 out of 7245 tests: 7245 tests pass.
```

Using this flag saves ~20-30s on my machine. After this PR, the majority
of the remaining time is spent just asking the remote cache "do you have
this output cached?" Could save another ~40s by bumping
[`--remote_max_connections`](https://bazel.build/reference/command-line-reference#param-remote-max-connections),
but I don't think the fully-cached case matters that much.


  Commit: c02724354985f8326d1cee4d5c491b71514ea485
      https://github.com/llvm/llvm-project/commit/c02724354985f8326d1cee4d5c491b71514ea485
  Author: sujianIBM <Jian.Su at ibm.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/SystemZ/mixed-ptr-sizes.ll

  Log Message:
  -----------
  SelectionDAG: Don't pad the source of ADDRSPACECAST if it's legal. (#225390)

With this use case `%out = addrspacecast <2 x ptr> %in to <2 x ptr
addrspace(1)>` on z/OS, the res type is `v2i32` (illegal) and the source
type is `v2i64` (legal).
Padding the source up to `v4i64` makes it illegal on z/OS and breaks the
type legalization.


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

  Changed paths:
    M llvm/test/CodeGen/X86/sse2-intrinsics-x86-upgrade.ll

  Log Message:
  -----------
  [X86] sse2-intrinsics-x86-upgrade.ll - cleanup bitrotted check prefixes (#225426)

Removed leftover SKX and AVX2 check prefixes - the update script only
removes unused check lines mentioned in the RUNs


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

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

  Log Message:
  -----------
  [VPlan] Add more generic VPCostContext::getCostDivisor (NFC). (#225413)

Replace getReplicateRegionCostDivisor with more general getCostDivisor,
which takes a frequency directly.

The frequency lookup is now done at the 3 call sites, which all have the
region at hand.

Will also be used in https://github.com/llvm/llvm-project/pull/196845.

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


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

  Log Message:
  -----------
  DAG: Preserve poison in some cast folds (#225403)


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
    M clang/test/CIR/CodeGen/vector-bool.cpp

  Log Message:
  -----------
  [CIR] Support vector of boolean in cir.minus op (#217089)

Support the Vector of bool type in the minus operation


  Commit: 9d856cff47c48934b89254beef71908998a3c193
      https://github.com/llvm/llvm-project/commit/9d856cff47c48934b89254beef71908998a3c193
  Author: Luke Kiernan <lkiernan at nlr.gov>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/test/CodeGen/veclib-darwin-libsystem-m.c
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    M llvm/test/CodeGen/Generic/replace-intrinsics-with-veclib-darwin-libsystem-m.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-calls-libsystem-darwin.ll

  Log Message:
  -----------
  [TLI][Darwin] Add mappings for 16 more libsystem_m vector functions (#224792)

The Darwin_libsystem_m veclib table mapped 17 of the 38 stems exported
by libsystem_m.dylib. This adds 16 more, in both VecFuncs.def and the
DARWIN_LIBSYSTEM_M_VECFUNCS defset, bringing it to 33.

The remaining 5 are round, fma, fmod, sincos and sincospi; see #223283
for why each is skipped or deferred.

Fixes #223283


  Commit: ae82b85123a2271df24ceb28c09a2a0c467c16d5
      https://github.com/llvm/llvm-project/commit/ae82b85123a2271df24ceb28c09a2a0c467c16d5
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    A llvm/include/llvm/Support/File.h
    M llvm/include/llvm/Support/FileSystem.h
    M llvm/include/llvm/Support/MemoryBuffer.h
    M llvm/lib/CAS/MappedFileRegionArena.cpp
    M llvm/lib/Object/ArchiveWriter.cpp
    M llvm/lib/Support/FileUtilities.cpp
    M llvm/lib/Support/Unix/Path.inc
    M llvm/lib/Support/VirtualFileSystem.cpp
    M llvm/lib/Support/Windows/Path.inc
    M llvm/unittests/Support/MemoryBufferTest.cpp

  Log Message:
  -----------
  [llvm][Support] Make sys::fs::file_t into a seperate type (#224859)


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

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

  Log Message:
  -----------
  [SLP][NFC]Add a test with a missed vectorization, NFC



Reviewers: 

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


  Commit: 7a3a1a90f064702571fce138dad5a0c2ac6ed4af
      https://github.com/llvm/llvm-project/commit/7a3a1a90f064702571fce138dad5a0c2ac6ed4af
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/CIRTransformUtils.cpp
    M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/GotoSolver.cpp
    M clang/lib/CIR/Dialect/Transforms/IdiomRecognizer.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/Lowering/DirectToLLVM/LowerToLLVM.cpp

  Log Message:
  -----------
  [clang][CIR] Stop using Operation::getAttrs (NFC) (#223048)

Migrate CIR printing, attribute copying, and lowering to the explicit
inherent and discardable attribute APIs.

This is part of a general migration to use the "new" properties-based
APIs and stop mixing discardable/inherent attributes, see #155475

Assisted-by: Codex


  Commit: b9da7a34df933ffbb0fdd8ef24300143b70ed2b5
      https://github.com/llvm/llvm-project/commit/b9da7a34df933ffbb0fdd8ef24300143b70ed2b5
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td
    M mlir/include/mlir/IR/OpImplementation.h
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Conversion/TosaToArith/tosa-to-arith-invalid.mlir
    M mlir/test/Conversion/TosaToArith/tosa-to-arith.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-pipeline.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Conversion/TosaToSCF/tosa-to-scf.mlir
    M mlir/test/Conversion/TosaToSPIRVTosa/custom-op-domain-to-opcode-invalid.mlir
    M mlir/test/Conversion/TosaToSPIRVTosa/custom-op-domain-to-opcode.mlir
    M mlir/test/Conversion/TosaToSPIRVTosa/graph-constant-mark.mlir
    M mlir/test/Conversion/TosaToSPIRVTosa/tosa-to-spirv.mlir
    M mlir/test/Conversion/TosaToTensor/tosa-to-tensor-invalid.mlir
    M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
    M mlir/test/Dialect/MemRef/resolve-dim-ops.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/constant-reciprocal-fold.mlir
    M mlir/test/Dialect/Tosa/constant_folding.mlir
    M mlir/test/Dialect/Tosa/constrained_shapes.mlir
    M mlir/test/Dialect/Tosa/dynamic_extension.mlir
    M mlir/test/Dialect/Tosa/error_if_check.mlir
    M mlir/test/Dialect/Tosa/inlining.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
    M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
    M mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
    M mlir/test/Dialect/Tosa/quant-test.mlir
    M mlir/test/Dialect/Tosa/tosa-convert-integer-type-to-signless.mlir
    M mlir/test/Dialect/Tosa/tosa-decompose-depthwise.mlir
    M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir
    M mlir/test/Dialect/Tosa/tosa-downgrade-1-1-to-1-0.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes-fold-shape-expressions.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    M mlir/test/Dialect/Tosa/tosa-layerwise-constant-fold-dense-resource.mlir
    M mlir/test/Dialect/Tosa/tosa-layerwise-constant-fold.mlir
    M mlir/test/Dialect/Tosa/tosa-narrow-f32-to-f16-aggressive.mlir
    M mlir/test/Dialect/Tosa/tosa-narrow-f32-to-f16.mlir
    M mlir/test/Dialect/Tosa/tosa-narrow-f64-to-f32-aggressive.mlir
    M mlir/test/Dialect/Tosa/tosa-narrow-f64-to-f32.mlir
    M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32-aggressive.mlir
    M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32.mlir
    M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-valid-strict.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-valid.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-validate-func-signature-invalid.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-valid.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-invalid.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-pro-fp-valid.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
    M mlir/test/Dialect/Tosa/transpose-fold.mlir
    M mlir/test/Dialect/Tosa/verifier.mlir
    M mlir/test/IR/invalid-custom-print-parse.mlir
    M mlir/test/Integration/Dialect/EmitC/regalloc-eviction-test-model-tosa.mlir
    M mlir/test/Integration/Dialect/Tosa/CPU/test-maxpool-dynamic.mlir

  Log Message:
  -----------
  [MLIR][TOSA] Enable strict property assembly format (#217291)

Enable strict properties-in-assembly-format mode for TOSA. Bind TOSA
operation properties directly in declarative assembly formats so strict
parsing does not rely on property dictionaries.

Update the TOSA tests to use the direct property spelling.

Assisted-by: Codex


  Commit: f4b5a0b141f3538aab572cf13189392c3269bd98
      https://github.com/llvm/llvm-project/commit/f4b5a0b141f3538aab572cf13189392c3269bd98
  Author: Hansang Bae <hansang.bae at intel.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M offload/languages/kernel/src/State.cpp

  Log Message:
  -----------
  [Offload] Use LLVM likely/unlikely macros (#224716)

This is an additional patch to #224047, which makes the offload
components buildable with relatively old c++17-supporting compilers.


  Commit: 743e1b5d194ad0ee9a55a05d52e3756a67ae2f99
      https://github.com/llvm/llvm-project/commit/743e1b5d194ad0ee9a55a05d52e3756a67ae2f99
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUFeatures.td
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/R600Processors.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    A llvm/test/CodeGen/AMDGPU/lds-size-gfx1030.ll
    A llvm/test/CodeGen/AMDGPU/lds-size-gfx9-4-generic.ll
    M llvm/test/TableGen/AMDGPUTargetDefLDSAllocGranularity.td
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AMDGPU] Add `getLDSEncodingGranule` to TargetParser (#224852)

Model LDS encoding granularity with dedicated features and expose the
byte-valued `getLDSEncodingGranule` query for GPUKind and subarch.

Migrate program resource register and PAL metadata encoding to the new
query and remove `getLdsDwGranularity` from `AMDGPUBaseInfo`

---

This PR is inspired by https://github.com/llvm/llvm-project/pull/219495.

> The AMDGPU backend uses the wrong LDS allocation granularity when
computing occupancy for RDNA 2 targets starting from GFX10.3. The
current value is correct for the PAL metadata, but leads to wrong
occupancy calculations as observed by users.. The values correspond to
the Mesa implementation, see
https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/amd/common/ac_shader_util.h#L355.


  Commit: f4b56fcef15f00cef6ca07d880092c8ab8c5155b
      https://github.com/llvm/llvm-project/commit/f4b56fcef15f00cef6ca07d880092c8ab8c5155b
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzleErrors.hlsl
    A clang/test/SemaHLSL/Types/invalid-longvec-swizzle.hlsl

  Log Message:
  -----------
  [HLSL][Sema] Reject unsupported vector swizzles (#225286)

fixes #216199

This started out as rejecting swizzles for long vectors. But it turns
out we did not remove opencl accessors so this change also does that.

HLSL vector swizzles are limited to the xyzw and rgba component sets and
vectors of up to four elements.


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

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

  Log Message:
  -----------
  [RISCV] Remove redundant check for Subtarget.hasStdExtZbc(). NFC (#225152)

Zbc implies Zbkc so we only need to check Zbkc.


  Commit: 976c919fbc123e7fd7058223c23ad9c312477b4b
      https://github.com/llvm/llvm-project/commit/976c919fbc123e7fd7058223c23ad9c312477b4b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Types.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/Types.cpp
    R clang/test/Driver/Inputs/object0.o
    M clang/test/Driver/aix-ld.c
    R clang/test/Driver/pch-inputs.h

  Log Message:
  -----------
  Revert "[Clang][Driver] Final phase also determined by input (#218802)" (#225416)

This reverts commit 7987830e776411a0de84c0c75e9f1059acadceb5.

It makes the driver O(n^2) in number of inputs, slowing down some links
a lot:

https://github.com/llvm/llvm-project/pull/218802#pullrequestreview-5258702203


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

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
    M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/LoopCacheAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/ScalarEvolutionDivision.cpp
    M llvm/lib/Analysis/ScalarEvolutionNormalization.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/unittests/Analysis/IVDescriptorsTest.cpp
    M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
    M llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp
    M polly/lib/Analysis/ScopInfo.cpp
    M polly/lib/CodeGen/IslNodeBuilder.cpp
    M polly/lib/Support/SCEVAffinator.cpp

  Log Message:
  -----------
  [SCEV] Rename FlagAny -> FlagNone, NoWrapMask -> FlagsMask (NFC) (#225431)

This is a mechanical renaming change, in preparation for extending the
flags that SCEV can represent.

See also: #225179.


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

  Changed paths:
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/Analysis/SimplifyQuery.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp

  Log Message:
  -----------
  [SimplifyQuery] Include a context-function (NFC) (#225369)

The context-function logically belongs in SimplifyQuery, and this helps
simplify some code, and allows us to represent a context-function in the
absence of a context-instruction.


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/test/CIR/CodeGen/cxx-rewritten-binary-operator.cpp

  Log Message:
  -----------
  [CIR] Implement CXXRewrittenBinaryOperator for LValue (#223888)

Support `CXXRewrittenBinaryOperator` in `CIRGenFunction::emitLValue` by
evaluating its underlying semantic form via `getSemanticForm()`,
matching classic codegen in `clang/lib/CodeGen/CGExpr.cpp` and
completing `CXXRewrittenBinaryOperator` support across all CIR
expression emitters.

Fixes #223743

Formatted with Gemini


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

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

  Log Message:
  -----------
  [SLP]Do not reuse internal gathers of splat subtrees as shuffle sources

The splat gather subtrees are speculative: the keep/drop check may
delete them and does not track reuse of their internal gathers by other
gathers.
Such reuse inflated the reusing gather's cost (a shuffle of the
subtree's operand gather was charged even when a plain buildvector is
cheaper), which distorted the main tree's trim decisions and dropped
the whole profitable tree instead of the unprofitable subtrees.

Fixes the perf regression from #220250.

Reviewers: 

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


  Commit: 5173637372a272790125e6af71576c6607adfef8
      https://github.com/llvm/llvm-project/commit/5173637372a272790125e6af71576c6607adfef8
  Author: Daniel Cederman <cederman at gaisler.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/lib/Basic/Targets/Sparc.cpp
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/CodeGen/Targets/Sparc.cpp
    A clang/test/CodeGen/Sparc/sparc-long-double-abi.c
    M clang/test/CodeGen/Sparc/sparc-vaarg.c
    M clang/test/CodeGen/Sparc/sparcv8-abi.c
    M clang/test/CodeGen/Sparc/variadic-aggregate.c
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/unittests/TargetParser/TripleTest.cpp

  Log Message:
  -----------
  [Sparc][clang] Use 64-bit long double on bare-metal targets (#222304)

GCC uses 64-bit long double for bare-metal SPARC V8 targets, including
RTEMS. Keep the default 128-bit for other SPARC targets.

Use the scalar calling convention for 64-bit long double.

Assisted-by: Codex


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

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

  Log Message:
  -----------
  [NewPM] Fix OptBisect Functionality for disabled gate

We were never actually checking if the gate was enabled. This patch
fixes it to match the behavior of the LegacyPM.

Reviewers: aeubanks

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


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

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/StackColoring.cpp
    M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
    M llvm/lib/Target/WebAssembly/GISel/WebAssemblyPostLegalizerCombiner.cpp
    M llvm/lib/Target/WebAssembly/GISel/WebAssemblyPreLegalizerCombiner.cpp
    M llvm/lib/Target/X86/GISel/X86PreLegalizerCombiner.cpp
    M llvm/test/CodeGen/X86/replace_unsupported_masked_mem_intrin.ll
    M llvm/test/Other/X86/opt-bisect-isel.ll

  Log Message:
  -----------
  [NewPM] Match LegacyPM behavior for opt-bisect in passes

This patch updates passes that change their behavior around opt-bisect
(e.g., performing less optimizations) so that this behavior is
replicated in the NewPM.

Assisted by LLM.

Reviewers: aeubanks, arsenm

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


  Commit: 9a7a665cbe2a9e59403bcfb59ac6c1294370e8ee
      https://github.com/llvm/llvm-project/commit/9a7a665cbe2a9e59403bcfb59ac6c1294370e8ee
  Author: A. Cauble <accauble at users.noreply.github.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/tools/offload-arch/AMDGPUArchByKFD.cpp
    M clang/unittests/offload-arch/OffloadArchTest.cpp

  Log Message:
  -----------
  [offload-arch] Do not print "-strict" if it is disabled by the environment (#224688)

## Motivation

Right now, `HSA_DISABLE_GFX12_STRICT` is set to 1 by default, which the
runtime follows as "gfx1250". The only way to set the runtime to
"gfx1250-strict" is to set `HSA_DISABLE_GFX12_STRICT=0`. My
understanding is that this is a temporary patch to ROCr to ease the
transition to "gfx1250-strict". This PR adds a helper to reflect the
current state.

[This is how
ROCr](https://github.com/ROCm/rocm-systems/blob/28d10d31fcb04d53dedee5c6e66427f0b0449a9e/projects/rocr-runtime/runtime/hsa-runtime/core/util/flag.h#L256)
controls "strict". The very similar rocm_agent_enumerator code can be
found
[here](https://github.com/ROCm/rocm-systems/blob/855ab23c50ee8635e6c068fc3f9ec2eb01f075e0/projects/rocminfo/rocm_agent_enumerator#L270-L273).

## Testing

* Updated the unit tests to keep track of the environment variable and
to check for the expected value depending on it.


  Commit: b5dfb7423c6aae8c3a133b08f43e8094b9da2cf3
      https://github.com/llvm/llvm-project/commit/b5dfb7423c6aae8c3a133b08f43e8094b9da2cf3
  Author: Tadeusz <tadeuszjt at protonmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Support/KnownFPClass.cpp
    M llvm/test/Transforms/Attributor/nofpclass-sin-cos.ll
    M llvm/test/Transforms/Attributor/nofpclass-trig.ll

  Log Message:
  -----------
  [KnownFPClass] Added sNaN deductions for sin, cos and tan. (#224875)

Added the sNaN deductions for sin, cos and tan to KnownFPClass.

Closes #217150


  Commit: c96cbf32ba13d3abafea5839ae163407f00986b1
      https://github.com/llvm/llvm-project/commit/c96cbf32ba13d3abafea5839ae163407f00986b1
  Author: laoshd <shandong.lao at hpe.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/test/Semantics/OpenMP/depend01.f90

  Log Message:
  -----------
  [Flang][OpenMP] Add diagnosing zero-length depend array sections and … (#224168)

…tests.

This PR is to fix #222551.


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

  Changed paths:
    M .github/workflows/containers/libc/Dockerfile

  Log Message:
  -----------
  [Github] Disable bootstrap when building gcc for libc container

We don't need the additional testing from a full bootstrap and the
default system gcc probably produces faster binaries.

This should make the container build a bit faster.

Reviewers: lntue, cmtice

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


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

  Changed paths:
    M .github/workflows/containers/libc/Dockerfile

  Log Message:
  -----------
  [Github] Fix /usr/include/asm symlink in libc container

The move to ubuntu 26.04 meant that we are now using rust based
coreutils, and the behavior of uname -p changed to return unknown in the
rust coreutils. So instead use uname -m so that the symlink points at
the right directory.

Reviewers: cmtice, lntue

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


  Commit: ddc63f8a20b63f2cf76299d73ab5c99c73144374
      https://github.com/llvm/llvm-project/commit/ddc63f8a20b63f2cf76299d73ab5c99c73144374
  Author: LU-JOHN <John.Lu at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/fabs.bf16.ll
    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
    A llvm/test/CodeGen/AMDGPU/GlobalISel/fminnum.bf16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmul.bf16.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/fneg.bf16.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/fsub.bf16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fadd.bf16.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fma.bf16.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fmul.bf16.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fsub.bf16.ll

  Log Message:
  -----------
  [AMDGPU][GISel] Legalize v2bf16 (#223803)

Add V2BF16 legalization for fadd, fsub, fmul, fma, fmin, fmax and
fcanonicalize.

Reorganize rule building for `MinNumMaxNumIeee` and `MinNumMaxNum` so
that each type is handled independently.

Updated old tests and added new tests GlobalISel/fsub.bf16.ll,
GlobalISel/fabs.bf16.ll, GlobalISel/fminnum.bf16.ll and
GlobalISel/fneg.bf16.ll.

Clamp bf16 to 2 elements.

Test with v4bf16.

---------

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


  Commit: ae5117cb45b860bf473337523d7fe4a6367dd8d1
      https://github.com/llvm/llvm-project/commit/ae5117cb45b860bf473337523d7fe4a6367dd8d1
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M libc/lib/CMakeLists.txt

  Log Message:
  -----------
  [libc] Generate a stub for librt.a (#225357)

Created an empty librt.a static archive on Linux to avoid link errors
when build rules explicitly pass -lrt to the linker. Realtime extensions
reside in the main libc.a archive instead.

Follows the pattern set in commit
ede01decbcb34bd2f04b9102ab96664cc6d5aa4b.

Assisted-by: Automated tooling, human reviewed.


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

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

  Log Message:
  -----------
  [VPlan] Add getRecordedExecutionFrequency helper (NFC). (#225414)

Add a helper to get the execution frequency from a VPBB via the
frequencies attached to its recipes.

Will also be used in https://github.com/llvm/llvm-project/pull/196845,
so it is added in a location where it can be used w/o movement there.

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


  Commit: 19c33fb826ed11652280fa0a4161675963d09991
      https://github.com/llvm/llvm-project/commit/19c33fb826ed11652280fa0a4161675963d09991
  Author: Kunal Chadha <kunachad at qti.qualcomm.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/test/CodeGen/AArch64/shrinkwrap-split-restore-point.mir
    M llvm/test/tools/llvm-mca/AArch64/A64FX/A64-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Apple/M1-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A320-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A510-basic-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-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/HiSilicon/tsv110-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
    M llvm/test/tools/llvm-mca/AArch64/Olympus/basic-instructions.s

  Log Message:
  -----------
  [AArch64] Override hasSideEffects for LDAR/STLR instructions (#224096)

Override `hasSideEffects()` for `LoadAcquire` and `StoreRelease`.

`LoadAcquire` and `StoreRelease` already have their memory ordering
semantics modeled via atomic MMO flags, so they should not additionally
be marked as having unmodeled side effects.

Marking these instructions as having unmodeled side effects caused
`ShrinkWrap::useOrDefCSROrFI()` to conservatively treat basic blocks
containing them as potentially using the stack. This prevented
ShrinkWrap optimizations such as splitting restore points during
post-shrink-wrapping. The tests added in this PR cover this case.

Updated llvm-mca expectations for the affected instructions.

Fixes #223021


  Commit: aa7a0c3c318b8391c61fba9dcbb98e08c85d5776
      https://github.com/llvm/llvm-project/commit/aa7a0c3c318b8391c61fba9dcbb98e08c85d5776
  Author: Ganesh <Ganesh.Gopalasubramanian at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Sema/SemaX86.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Headers/CMakeLists.txt
    A clang/lib/Headers/avx10v2aux_512intrin.h
    A clang/lib/Headers/avx10v2auxintrin.h
    M clang/lib/Headers/cpuid.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Sema/SemaX86.cpp
    A clang/test/CodeGen/X86/avx10_2_v2aux-builtins-errors.c
    A clang/test/CodeGen/X86/avx10_2_v2aux-builtins.c
    M clang/test/CodeGen/attr-target-x86.c
    M clang/test/CodeGen/builtin-cpu-supports-all.c
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/Driver/x86-target-features.c
    M clang/test/Preprocessor/x86_target_features.c
    M clang/test/Sema/attr-target-mv.c
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/lib/Target/X86/X86InstrAVX10_V2_AUX.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrInfo.td
    M llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/X86TargetParser.cpp
    A llvm/test/CodeGen/X86/avx10_v2aux-cvt-fp4-fp6-intrinsics.ll
    A llvm/test/CodeGen/X86/avx10_v2aux-cvt-fp8-ps-intrinsics.ll
    A llvm/test/CodeGen/X86/avx10_v2aux-cvt-ps-fp8-intrinsics.ll
    A llvm/test/CodeGen/X86/avx10_v2aux-mask-bias-ps-fp8-intrinsics.ll
    A llvm/test/CodeGen/X86/avx10_v2aux-mask-cvt-ps-fp8-intrinsics.ll
    A llvm/test/CodeGen/X86/avx10_v2aux-pmovssdb-intrinsics.ll
    A llvm/test/CodeGen/X86/avx10_v2aux-unpackb-intrinsics.ll
    A llvm/test/MC/Disassembler/X86/avx10_v2_aux-32.txt
    A llvm/test/MC/Disassembler/X86/avx10_v2_aux-64.txt
    A llvm/test/MC/X86/avx10_v2_aux-att-32.s
    A llvm/test/MC/X86/avx10_v2_aux-att-64.s
    A llvm/test/MC/X86/avx10_v2_aux-intel-32.s
    A llvm/test/MC/X86/avx10_v2_aux-intel-64.s
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/utils/TableGen/X86ManualFoldTables.def

  Log Message:
  -----------
  [X86] AVX10_V2_AUX Implementation (#206888)

- AVX10_V2_AUX builds on AVX10 with FP8/FP4/FP6 format conversions
optimized for AI/ML inference workloads, enabling efficient
low-precision arithmetic

- Narrowing conversions from single-precision to FP8: VCVTPS2BF8,
VCVTPS2HF8, VCVTPS2BF8S, VCVTPS2HF8S with optional saturation, biasing
(VCVTBIASPS2BF8/HF8), and round-to-odd (VCVTROPS2HF8) variants

- Expanding conversions from FP8 to single-precision: VCVTBF82PS,
VCVTHF82PS that widen 8-bit FP formats with masking support

- FP4/FP6 conversions: VCVTBF82BF4S, VCVTHF82BF4S for truncating,
VCVTBF82BF6S, VCVTHF82HF6S for same-size, and expanding VCVTBF42HF8,
VCVTBF62BF8, VCVTHF62HF8

- Support includes instruction definitions, intrinsics, and Clang
headers

- Tests covering AT&T and Intel syntax assembly for both 32-bit and
64-bit modes, plus disassembler tests verifying encoding and decoding
 
Specification: [ACE (AI Compute Extensions) Specification
v1.0](https://x86ecosystem.org/wp-content/uploads/2026/06/ACE_v1_Specification_public_1_15.pdf)

Co-authored-by: Umesh Kalvakuntla
Co-authored-by: Attarde, Mahesh <mahesh.attarde at intel.com>


  Commit: 340b35cd504e01e4eeff0381bd5eb317dfb7f504
      https://github.com/llvm/llvm-project/commit/340b35cd504e01e4eeff0381bd5eb317dfb7f504
  Author: yebinchon <yebin.chon at princeton.edu>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
    M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
    M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.h
    M flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
    A flang/test/Transforms/OpenACC/acc-implicit-data-device-data.fir
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.td
    M mlir/include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.td
    M mlir/include/mlir/Dialect/OpenACC/OpenACCUtils.h
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitData.cpp
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp
    M mlir/unittests/Dialect/OpenACC/OpenACCUtilsTest.cpp

  Log Message:
  -----------
  [flang][acc] Don't treat a managed pointer as device resident data (#222769)

isDeviceData classifies every entity with a device-data CUDA attribute
(device, managed, constant, shared, unified) as device data, and so all
pointers and allocatables under mem:managed/unified are treated as
deviceptr.

However, managed and unified guarantee accessibility from device but not
that the storage is already residing on device. Treating these
unconditionally as "on device" (deviceptr) asserts to the runtime that
it is a valid device address and skips the mapping/attach the runtime
needs.

This patch adds a Util helper "isDeviceResident" which conservatively
returns false for managed/unified.

The guard for deviceptr is changed from isDeviceValue to
isDeviceResident, and does NOT give deviceptr for managed and unified.
These entities are now mapped (copyin/out) instead.

---------

Co-authored-by: Yebin Chon <ychon at nvidia.com>


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

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

  Log Message:
  -----------
  [LV] Rework legacy widen/replicate in tryToBuildVPlan (NFC) (#224569)

The code has been rewritten for clarity:

- An RPOT traversal is unnecessary, and a depth-first will do.
- The list of recipes to be skipped continues to grow, and its utility
is in question. Replace it with a clean make_isa_range over
VPInstructions, and an assert.
- Clarify that tryToCreateWidenNonPhiRecipe is the routine that produces
VPWidenIntOrFpInductionRecipes.
- Clarify the necessity of the underling value.


  Commit: 2643205b93aa72864b2ac0cd0ae8047bc8048baf
      https://github.com/llvm/llvm-project/commit/2643205b93aa72864b2ac0cd0ae8047bc8048baf
  Author: Nathan Fusselman <nathanfusselman at icloud.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
    M lldb/test/API/tools/lldb-dap/evaluate/main.cpp
    M lldb/tools/lldb-dap/DAP.cpp

  Log Message:
  -----------
  [lldb-dap] Fix global-scope evaluate always routing to command interpreter (#225243)

DetectReplMode returned Command unconditionally when there was no frame,
since it couldn't check FindVariable without one. A frameless evaluate
(no frameId, e.g. `(int)getpid()`) was always treated as an unknown
command instead of an expression.

Fall back to SBTarget::FindFirstGlobalVariable when there's no frame:
DAP::target is valid independent of frame, so globals/statics can still
be checked without one.

rdar://187884135


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

  Changed paths:
    M clang/include/clang/AST/DeclFriend.h
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaOverload.cpp

  Log Message:
  -----------
  [clang] Migrate away from PointerUnion::dyn_cast (NFC) (#225319)

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>

We must use dyn_cast_if_present here because the operands can be null,
which I have verified with assert(!isNull()) on check-clang.

Assisted-by: Antigravity


  Commit: fdf4dcb7b7ddb33e5f4c9ab7fad0fca2e0170daa
      https://github.com/llvm/llvm-project/commit/fdf4dcb7b7ddb33e5f4c9ab7fad0fca2e0170daa
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
    M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
    A llvm/test/CodeGen/NVPTX/infer-address-space-join.ll
    A llvm/test/Transforms/InferAddressSpaces/NVPTX/address-space-join.ll

  Log Message:
  -----------
  [InferAddressSpaces] Add a TTI hook for address space joins (#225161)

InferAddressSpaces currently joins different specific address spaces to
the flat address space. This misses cases where the target has a more
specific common space. For NVPTX, a PHI or select combining shared (AS3)
and cluster-shared (AS7) pointers can use AS7, allowing loads through
the result to use ld.shared::cluster.

Add a getAddressSpaceJoin TTI hook and implement the AS3/AS7 join for
NVPTX.


  Commit: efa2e450edc341bac7a5215f408f4d1480047c8c
      https://github.com/llvm/llvm-project/commit/efa2e450edc341bac7a5215f408f4d1480047c8c
  Author: eleviant <eleviant at accesssoftek.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrControl.td
    A llvm/test/CodeGen/X86/pseudo-expand-tc.mir

  Log Message:
  -----------
  [X86] Fix operand of TAILJMPm64_REX (#225080)

The TAILJMPm64_REX pseudo-instruction is emitted by the
x86-expand-pseudo pass after the register allocator, replacing
TCRETURN_WINmi64 or TCRETURNmi64 depending on the target ABI. The
problem is that the former uses the GR64_TC register class for its
memory address operand, while the latter uses GR64_TCW64. This breaks
MachineVerifier, triggering an assertion in EXPENSIVE_CHECKS builds.


  Commit: df6eb20ffd22156a6d4fd54e36146d430c8a182a
      https://github.com/llvm/llvm-project/commit/df6eb20ffd22156a6d4fd54e36146d430c8a182a
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/IR/MemoryOps.cpp
    M mlir/test/Dialect/SPIRV/IR/memory-ops.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Verify NonPrivatePointer requirement for MakePointer{Available,Visible} (#213621)

close #145485


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/VPlan/epilogue-vectorization-printing.ll

  Log Message:
  -----------
  [VPlan] Model epilogue skeleton in VPlan by wrapping in VPIRBBs (NFCI). (#222312)

Replace most of connectEpilogueVectorLoop by modeling the CFG explicitly
in the epilogue VPlan, by importing the CFG for the skeleton created
after executing the main loop.

To do so, update the main loop's plan to replace its VPBasicBlocks with
VPIRBasicBlocks wrapping the generated IR blocks. This allows accessing
the CFG for the VPlan, after execute.

A new modelGeneratedMainLoopBlocks transform then duplicates the CFG
from the main plan in the epilogue plan. This includes all runtime
checks and bypass blocks. This means we no longer need a number of
manual patching up of the IR and DT to connect main and epilogue plans
after execute.

It is another step getting us slightly closer to completely modeling
epilogue vectorization natively in VPlan.

Along the way, it will also help to simplify code needed to perform
folds on the epilogue skeleton (i.e. simplify 
https://github.com/llvm/llvm-project/pull/204243).

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


  Commit: 746076bccd5fa18c09a29107eef5c101ea0e2674
      https://github.com/llvm/llvm-project/commit/746076bccd5fa18c09a29107eef5c101ea0e2674
  Author: Valeriy Savchenko <vsavchenko at apple.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/X86/vselect-widen-mask-tree.ll

  Log Message:
  -----------
  [SelectionDAG] Fix crash in mask widening for non-simple element types (#225460)

We reconstruct the best fitting type for the two given operands and
those are not guaranteed to have simple types. EVT::getIntegerVT as
opposed to MVT::getIntegerVT handles this case.

Fixes a regression introduced in #217307.


  Commit: 8045e64d0e80712952b5820564aa57fbbb42fbda
      https://github.com/llvm/llvm-project/commit/8045e64d0e80712952b5820564aa57fbbb42fbda
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2026-09-22 (Tue, 22 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] Skip secondary release if interval greater than current time. (#225242)

If the current time is less than the release interval, the call to
releaseOlderThan wraps around and releases all entries. Skip releasing
when detecting this case.


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

  Changed paths:
    M .github/workflows/release-binaries.yml
    M clang/cmake/caches/Release.cmake
    M llvm/cmake/modules/FindLibXml2.cmake

  Log Message:
  -----------
  [cmake] Build libxml from source in release (#221365)

With 23.x we started linking a static libxml in release builds to avoid
requiring that to be installed, and the varying names of that library on
different linux distros. That broke more than it fixed because the
static libxml in our docker images are built targeting ICU, and ICU's
shared library version changes quickly, so even between 2 ubuntu
versions the binaries will not work.

With this change we now build from source in the release build, which is
already what windows does, and we disable ICU / iconv since those don't
seem vital for the windows manifest use case. This seems easier than
building a libxml out of band in our CI images that do the release
builds.

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

Assisted-By: codex


  Commit: 3f5d17b22586bd080c62d5b294bd05c0dc282ba4
      https://github.com/llvm/llvm-project/commit/3f5d17b22586bd080c62d5b294bd05c0dc282ba4
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-22 (Tue, 22 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/SLPReductionUtils.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPReductionUtils.h
    M llvm/test/Transforms/SLPVectorizer/AArch64/narrowed-reduction-chain-use.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll

  Log Message:
  -----------
  [SLP]Vectorize bool-to-bitmask reductions as a bitcast of zero tests

An or-reduction of boolean leaves each shifted by their own bit position
(an array of bools packed into a bitmask) is a bitcast of the per-lane
zero tests to an integer, which the backend lowers to a movmsk (X86).
Emit that instead of the shift and reduce sequence when it is cheaper.

Fixes #41997

Assisted-by: Cursor

Reviewers: RKSimon

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


  Commit: 3d7395a6b066a476d6e711e7da3be8c47aec81d2
      https://github.com/llvm/llvm-project/commit/3d7395a6b066a476d6e711e7da3be8c47aec81d2
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    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

  Log Message:
  -----------
  [RISCV] Eliminate redundant VSLIDEDOWN_VL/VSLIDEUP_VL pairs (#223863)

Given this pattern
```
  %down = RISCVISD::VSLIDEDOWN_VL undef, %val, %shift, %mask, %vl0
%up = RISCVISD::VSLIDEUP_VL %val, %down, %shift, %mask, %vl1
```
We can simplify it with `%val`, as it's doing redundant shifting.

This pattern usually show up when we emit lots of
insert/extract_subvector or concat_vectors while legalizing ops. Since
those ISD will not be cleaned up by any DAG combine, they are
immediately lowered into RISCVISD. This patch adds the missing DAG
combine to clean them up.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-loop-extracts.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-minbw.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-satd.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-trim-revert-cost.ll

  Log Message:
  -----------
  [SLP]Drop unprofitable splat subtrees before the profitability trim

Their reuse pricing distorts the main tree's trim decisions; price the
restored tree from per-node costs on revert instead of incrementally.

Reviewers: bababuck, RKSimon

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


  Commit: 4cbd68f670efa9f27946ead5b417fce7bb669eb8
      https://github.com/llvm/llvm-project/commit/4cbd68f670efa9f27946ead5b417fce7bb669eb8
  Author: Farid Zakaria <farid.m.zakaria at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M lld/ELF/Arch/X86_64.cpp
    M lld/test/ELF/x86-64-tls-gdie.s
    M lld/test/ELF/x86-64-tls-pltoff64.s
    M lld/test/ELF/x86-64-tlsdesc-gd.s

  Log Message:
  -----------
  [ELF] Range-check the x86-64 GD-to-IE TLS optimizations (#225228)

Add range-checks to relaxTlsGdToIe so that they fail when the
PC-relative displacement is larger than 32-bit (signed). The un-relaxed
paths in X86_64::relocate already do this via checkInt()

Assisted-By: Opus 5


  Commit: 867f97f60129539126354f2c73f9235c0f60b806
      https://github.com/llvm/llvm-project/commit/867f97f60129539126354f2c73f9235c0f60b806
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-22 (Tue, 22 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/secure_getenv.cpp
    A libc/src/stdlib/secure_getenv.h
    M libc/test/integration/src/stdlib/CMakeLists.txt
    A libc/test/integration/src/stdlib/secure_getenv_test.cpp

  Log Message:
  -----------
  [libc] Add secure_getenv implementation for Linux (#225013)

Add implementation of POSIX.1-2024 secure_getenv for Linux.

* Fullbuild mode only
* Query AT_SECURE from the auxiliary vector, failing closed if missing
or non-zero.
* Add integration test verifying normal operation and secure execution
mode behavior.

Assisted-by: Automated tooling, human reviewed.


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

  Changed paths:
    M mlir/lib/Dialect/SPIRV/IR/MemoryOps.cpp
    M mlir/test/Dialect/SPIRV/IR/memory-ops.mlir

  Log Message:
  -----------
  Revert "[mlir][SPIR-V] Verify NonPrivatePointer requirement for MakePointer{Available,Visible}" (#225483)

Reverts llvm/llvm-project#213621

This is causing buildbot failure
https://lab.llvm.org/buildbot/#/builders/157/builds/51250


  Commit: 353f9778f5d9e8835bfa2357ac3f4ecd7e67c778
      https://github.com/llvm/llvm-project/commit/353f9778f5d9e8835bfa2357ac3f4ecd7e67c778
  Author: Tejas Joshi <tejassanjayj at nvidia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/logical-select-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/logical-select.ll
    A llvm/test/Transforms/InstCombine/selects-feeding-binop.ll
    M llvm/test/Transforms/InstCombine/vec_sext.ll

  Log Message:
  -----------
  [InstCombine] Optimize selects feeding into BinOp (#224478)

Transform:
`(A ? B : C) op (D ? E : F)`

into:
`A ? (B op (D ? E : F)) : (C op (D ? E : F))`

only if D can be implied by A

This allows for more parts of the expression to be predicated, and
allows more CSE and reuse of nodes calculated as part of an exclusive
sum algorithm.

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


  Commit: 47efe06b3dbe3c687e71fe38721ea1e2a1d96bef
      https://github.com/llvm/llvm-project/commit/47efe06b3dbe3c687e71fe38721ea1e2a1d96bef
  Author: laoshd <shandong.lao at hpe.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/call10.f90
    A flang/test/Semantics/interface-body-data.f90

  Log Message:
  -----------
  [FLANG][Semantics] Add check for DATA statement in interface body. (#221397)

Check and reject DATA statements in interface bodies before
lowering. A regression test is also added.

Fixes #219525


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

  Changed paths:
    M llvm/lib/Analysis/ConstraintSystem.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    A llvm/test/Transforms/ConstraintElimination/decompose-at-use.ll

  Log Message:
  -----------
  [ConstraintElim] Link values to decompositions during queries if needed. (#224623)

Decomposition is context sensitive and uses information at the query
point to determine if operations have the required wrap flags.

This can lead to situation where at the time facts are added, we fail to
decompose an operation (like `%y = add %x, 1`), and only add it as
variable `%y`.

If at query time, we can decompose `%y`, the query will contains `%x`
and `1`
as variable/constant, with no connection to the fact added earlier.

This can pessimize results in some cases. To avoid this, add additional
rows connecting the variable and the decomposition (e.g.` %y ==
decompose
(add %x, 1))` and re-try the query.

For now, only check top-level operands. This helps with a few cases in
practice. But is not complete, as this issue could happen at each step
of the
decompose recursion. We can investigate this as follow-up.

There are 2 additional folds in
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1351, a fold
in ClamAV and fixes a regression with
https://github.com/llvm/llvm-project/pull/224621.

Compile-time impact is in the noise

https://llvm-compile-time-tracker.com/compare.php?from=c5c167c7436f035152289cb9489548ccf5328bb3&to=e4be2920133168a85d0cfbf9390b1bc752abcc0f&stat=instructions:u

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


  Commit: 124a0d5ac6cfc0a96c364adf3d4257f809997f1b
      https://github.com/llvm/llvm-project/commit/124a0d5ac6cfc0a96c364adf3d4257f809997f1b
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/unittests/Basic/FileManagerTest.cpp

  Log Message:
  -----------
  [clang][test] Remove unnecessary `FileManager` arguments (#225467)

This test was introduced in commit
dfffaf579f2b4bc9184c23f271a57e1fa1ed6f01 and wrongly passed the file
size and modification time to a lookup function that takes two bools.
This PR fixes that by removing the superfluous arguments.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
    M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
    A llvm/test/CodeGen/X86/statepoint-relocate-eh.ll

  Log Message:
  -----------
  DAG: Fix cross-block gc.relocate of constants and allocas (#222894)

This fixes latent "Register not marked live out of predecessor" verifier errors in 
existing statepoint tests when LiveIntervals is run earlier in the pass pipeline. This 
is observable today when using -verify-coalescing in  statepoint tests. The verifier 
check only runs with LiveIntervals, which is first computed as a dependency for the 
RegisterCoalescer, but the coalescer happens to hide the problem before the first 
verifier run with computed LiveIntervals in the existing testcases.

When constants and static allocas are relocated in an invoke statepoint's landing pad, 
LowerAsSTATEPOINT places the virtual register definition after the STATEPOINT call:

  bb.0.entry:
    STATEPOINT ...          ; unwinds to bb.2 before %0 is defined
    %0:gr64 = MOV64ri 1

  bb.2.lpad (landing-pad):
    $rax = COPY %0:gr64     ; reads uninitialized %0 (folded to undef)

This happens because LowerAsSTATEPOINT calls ExportFromCurrentBlock(V)
for cross-block NoRelocate values, queuing a CopyToReg in PendingExports
that is chained after the STATEPOINT call node.

This patch fixes the problem by recording the directly-lowered leaf in
StatepointRelocationRecord and rematerializing it in visitGCRelocate,
resolving both the wrong-code miscompile on the unwind path and the
machine verifier error with -early-live-intervals.

Co-authored-by: Claude (Claude-Opus-4.8)


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

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Transforms/IndVarSimplify/exit-value-nowrap-flags.ll

  Log Message:
  -----------
  [SCEV] Use SCEVUse to access MulOpLists. (#225450)

After https://github.com/llvm/llvm-project/pull/224974, we can reach
this patch with SCEV Mul expressions with operands that have use-flags.

Update loop to access map with SCEVUse instead of const SCEV *.

Fixes a crash in the added test case.


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

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

  Log Message:
  -----------
  [libc] Bump containter to ubuntu 26.04 (#225298)

To pull in the latest CMake.


  Commit: b2ccb92a19e402dee58699bb409478db578bd16d
      https://github.com/llvm/llvm-project/commit/b2ccb92a19e402dee58699bb409478db578bd16d
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M .github/workflows/ids-check.yml

  Log Message:
  -----------
  workflows/ids-check: Don't enable clang project (#225215)

We are only checking the llvm attributes right now, so there is no
reason to enable clang.


  Commit: cf82cfa649c6add78737cb1cc0d95039d581aaff
      https://github.com/llvm/llvm-project/commit/cf82cfa649c6add78737cb1cc0d95039d581aaff
  Author: Demo_mod <gaurvansh133 at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M mlir/docs/Tutorials/Toy/Ch-6.md

  Log Message:
  -----------
  [mlir][docs] Regenerate Toy Ch6 sample output against current main (#225457)

The Ch6 tutorial tells you to run toyc-ch6 with `-emit=mlir-llvm` and
compare against the chapter, but the listings still show typed pointers
like `!llvm<"double*">` and a four-field memref descriptor, and some
lines don't parse at all. #224908 is a beginner hitting exactly that.

This replaces the three listings (LLVM dialect, LLVM IR, optimized LLVM
IR) with what the tool prints today on
`test/Examples/Toy/Ch6/llvm-lowering.mlir`. The LLVM IR listings leave
out the target triple, data layout and `!dbg` metadata since those
depend on the host machine, and the text now says so.

The C++ snippets in the same chapter quoted the old typed-pointer API
for the printf declaration and a pattern list without the memref
patterns, so I updated those to match what's in `examples/toy/Ch6` now,
along with the `dumpLLVMIR` and `runJit` listings. If you'd prefer this
PR stick to the IR output, I can drop those hunks.

There's also one new sentence after the LLVM dialect listing saying what
the five fields of the descriptor are, with a link to the memref section
of the LLVM IR target doc.

Regenerated on macOS arm64 at 750b967f7bf8.

Fixes #224908


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

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.vote.ll

  Log Message:
  -----------
  [AMDGPU][NFC] Auto-generate llvm.amdgcn.wqm.vote test checks (#224772)


  Commit: 1d471b25430415c26e9a6291b4b1db5542a29864
      https://github.com/llvm/llvm-project/commit/1d471b25430415c26e9a6291b4b1db5542a29864
  Author: Aman Maurya <amanmaurya9209 at gmail.com>
  Date:   2026-09-22 (Tue, 22 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/fcntl/CMakeLists.txt
    M libc/src/fcntl/linux/CMakeLists.txt
    A libc/src/fcntl/linux/posix_fallocate.cpp
    A libc/src/fcntl/posix_fallocate.h
    M libc/test/src/fcntl/CMakeLists.txt
    A libc/test/src/fcntl/posix_fallocate_test.cpp

  Log Message:
  -----------
  [libc] Implement posix_fallocate in fcntl (#225475)

Implement the standard POSIX.1-2008 / POSIX.1-2024 function
`posix_fallocate` in `<fcntl.h>`.

Fixes #225469


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h

  Log Message:
  -----------
  [NFC][AMDGPU] Refactor isDPALU_DPP to only check if the instruction requires the feature (#224373)

Previously the helper function was a combination of checking if the
instruction required the feature and if the feature is available. This
behavior diverges from similar isDPALU_DPP32BitOpc and can cause
confusion. This refactor aligns the two for consistency, and users
should also check if the feature is available if needed.


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

  Changed paths:
    M compiler-rt/test/hwasan/TestCases/Linux/decorate-proc-maps.c

  Log Message:
  -----------
  [compiler-rt][hwasan] Fix decorate-proc-maps.c test (#225496)

Avoid returning the heap pointer address from main, which causes the
process to exit with a non-zero exit status whenever the lowest byte of
the allocated address is non-zero.

Previously, `malloc(100)` (size class 112) was the first allocation in
its size class, returning page-aligned chunk 0 (`offset 0x00`, exit
code 0). Commit 5a50c15fa686 (#224953) removed `SinkOpts` (48 bytes)
from `llvm::cl::SubCommand`, shrinking `sizeof(SubCommand)` from 160 to
112 bytes. With the internal symbolizer enabled, two pre-main
`ManagedStatic<SubCommand>` allocations now take chunks 0 and 1 in the
112-byte size class, pushing `malloc(100)` to chunk 2 (`offset 0xe0`,
exit code 224).

Assisted-by: Gemini


  Commit: 5a24d15712a9b02da52be18d418f031dda3e3d07
      https://github.com/llvm/llvm-project/commit/5a24d15712a9b02da52be18d418f031dda3e3d07
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-22 (Tue, 22 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.cpp
    A libc/src/grp/getgrgid.h
    A libc/src/grp/getgrnam.cpp
    A libc/src/grp/getgrnam.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_test.cpp
    A libc/test/src/grp/getgrnam_test.cpp

  Log Message:
  -----------
  [libc] Add getgrnam and getgrgid entrypoints (#224858)

Add the non-reentrant group database lookup entrypoints getgrnam and
getgrgid.

Both entrypoints delegate to grp::find_by_name and grp::find_by_gid,
sharing the single static DynamicBuffer and struct group with getgrent
as permitted by POSIX. Because endgrent closes the file stream without
freeing the shared buffer, calling endgrent does not invalidate pointers
returned by getgrnam or getgrgid.

* Add getgrnam and getgrgid entrypoints
* Add non-reentrant find_by_name and find_by_gid overloads in grp_utils
* Define getgrnam and getgrgid in include/grp.yaml
* Add hermetic unit tests for getgrnam and getgrgid

Assisted-by: Automated tooling, human reviewed.


  Commit: f842c96e5d2b7ccdaad43e443164ae6574f29778
      https://github.com/llvm/llvm-project/commit/f842c96e5d2b7ccdaad43e443164ae6574f29778
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/HLSLIntrinsics.td
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/test/CodeGenHLSL/builtins/fmod.hlsl
    M clang/test/SemaHLSL/BuiltIns/fmod-errors.hlsl

  Log Message:
  -----------
  [HLSL][LongVector] Implement fmod (#224123)

resolves https://github.com/llvm/llvm-project/issues/220649

This is as much a refactor as it is adding long vector support.

I noticed the fmod helper had many issues. THe SPIR-V implementatiion
wasn't properly put into a SPIR-V macro

fmod had a scalar \ vector version that was unecessary.

The tests seemed to be raw register defines so
source code changes caused the names to all change.

Fixing this meant we could simplify the tablegen
and helpers.

Also the tests are much more clean with no -D defines


  Commit: 752647bcfcbc97c1ffe8db1d0cc50ec71b3957cf
      https://github.com/llvm/llvm-project/commit/752647bcfcbc97c1ffe8db1d0cc50ec71b3957cf
  Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
    A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-seq-loop-routine-reuse-barrier.mlir

  Log Message:
  -----------
  [mlir][OpenACC] Barrier seq loops that reuse gang-private slots after worker calls (#224437)

A sequential `scf.for` that stores a gang-private value and then calls a
worker- or vector-level acc routine can let threads overlap iterations
on the same workgroup slot. Insert a workgroup barrier at the top of
that loop body so the next iteration's store waits for the previous
iteration's last read.
Skip sequential gang remnants, loops under thread-level worksharing, and
bodies already inside `scf.if`, where a workgroup barrier would
deadlock.


  Commit: 2e2f186211834a0f7564c9e68e0421e9ca77d50d
      https://github.com/llvm/llvm-project/commit/2e2f186211834a0f7564c9e68e0421e9ca77d50d
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/test/BUILD.gn

  Log Message:
  -----------
  [gn] port 854a9b8d7036ef524 more (#225510)


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

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    A flang/test/Fir/CUDA/cuda-constructor-extra.fir

  Log Message:
  -----------
  [flang][cuda] Add extra constructor option to CUFAddConstructor (#225181)

Add an option to add extra constructors to the `llvm.mlir.global_ctors`.
The option is taking a pair of string and a boolean. The boolean is
telling if the constructor needs to be added always or only when
`PROGRAM` statement is present in the translation unit. This is used to
set up sentinels in different compilation mode.


  Commit: b316c1a0df16f96151960970aced9e1b33c85820
      https://github.com/llvm/llvm-project/commit/b316c1a0df16f96151960970aced9e1b33c85820
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/test/CodeGen/SPIRV/instructions/integer-casts.ll
    M llvm/test/CodeGen/SPIRV/transcoding/explicit-conversions.ll

  Log Message:
  -----------
  [SPIR-V] Fold same type conversions into a copy (#223365)

OpSConvert/OpUConvert/OpFConvert reject an operand whose type matches
the result, so convert_uint(int) and friends produced invalid SPIR-V


  Commit: f36543bf2de3467dc281dbd8e6ec535333746bf6
      https://github.com/llvm/llvm-project/commit/f36543bf2de3467dc281dbd8e6ec535333746bf6
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/OpenACC/Transforms/ACCUseDeviceCanonicalizer.cpp
    M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/ACCEmitRemarksData.cpp
    M mlir/test/Dialect/OpenACC/acc-emit-remarks-data.mlir
    M mlir/test/Dialect/OpenACC/ops.mlir

  Log Message:
  -----------
  [mlir][acc] Add a synthetic flag to the data clause operations (#225213)

An implementation may create a data clause operation for its own
bookkeeping rather than to represent a data attribute of the program
being compiled. Such an operation has no counterpart in that program, so
describing it to the user is at best confusing and at worst a duplicate
of the clause it was created to support.

Add a `synthetic` unit attribute that marks these operations, a
`getSyntheticFlag` accessor next to `getImplicitFlag`, and have
acc-emit-remarks-data skip the operations that carry it.

Assisted-by: Cursor


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-root-order.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with splat reverse vectorization, NFC



Reviewers: 

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


  Commit: fb3120e777b08805ac7da4487d06642bbc56cba5
      https://github.com/llvm/llvm-project/commit/fb3120e777b08805ac7da4487d06642bbc56cba5
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/CodeGenUtils/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 4acbf9b61c3f (#225421)


  Commit: eaf501b5f70fa622b9707b7a33b38452e45e8034
      https://github.com/llvm/llvm-project/commit/eaf501b5f70fa622b9707b7a33b38452e45e8034
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn

  Log Message:
  -----------
  [gn build] Port aa7a0c3c318b (#225517)


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/test/CIR/CodeGen/cleanup-conditional-eh.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

  Log Message:
  -----------
  [CIR] Fix a problem with cleanup active flag initialization (#225507)

While working on another problem related to conditional cleanups, I came
across a problem with the way CIR was initializing the cleanup active
flag. We were often clearing the flag below the body of a conditional
cleanup region that the flag was meant to guard. As a result, we would
sometimes skip a conditional cleanup becuase the body of the cleanup
region set the active flag to true, but then we cleared the flag
unconditionally before control flow reached the cleanup.

This change fixes that problem and aligns the active flag initialization
placement with classic codegen.

Assisted-by: Cursor / various models


  Commit: 755e4d429f11a17ba386cdf4d4ff7883294368dd
      https://github.com/llvm/llvm-project/commit/755e4d429f11a17ba386cdf4d4ff7883294368dd
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    A llvm/test/CodeGen/X86/arbitrary-fp-to-half.ll

  Log Message:
  -----------
  [SelectionDAG] Fix FP8 conversions to half for subnormals and overflow (#224984)

This PR contains 2 fixes:

* Preserve subnormal values when the source format and destination have
the same exponent bias. Normalizing these inputs previously produced a
nonpositive destination exponent and an invalid floating-point encoding.

* Convert finite values beyond the destination exponent range to
infinity, while preserving the existing NaN handling. This fixes
Float8E5M3FNU to half conversions that previously produced NaNs on
overflow.

Assisted by: Codex (Astra)


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/test/CIR/CodeGen/class.cpp

  Log Message:
  -----------
  [CIR] Fixup 'zero' branch of Null Initialization (#225490)

The zero branch has a test for an NYI based on whether the thing is a
VLA or not. However, classic codegen uses 'dyn_cast_or_null', and we
used 'isa', so a nullptr caused an assert. This patch fixes it.


  Commit: 6ad70274f35f15ff2ac8c2f2b1425a52b3bfcc48
      https://github.com/llvm/llvm-project/commit/6ad70274f35f15ff2ac8c2f2b1425a52b3bfcc48
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/MachineOutliner.cpp
    A llvm/test/CodeGen/AArch64/machine-outliner-call-debugloc.mir
    A llvm/test/DebugInfo/AArch64/machine-outliner-call-debugloc.ll

  Log Message:
  -----------
  [MachineOutliner] Preserve debug locations on outlined call sequences (#224189)

Machine Outliner replacement call sequences currently have no DebugLoc.
When one immediately follows another call, its address can be emitted
with DWARF line 0, meaning “unknown source location,” so symbolication
finds the function but not the source line.

Copy the first usable source location from each candidate to its
replacement call sequence, including any target-inserted save and
restore instructions. If none exists, leave the sequence locationless.
This matches the IR Outliner’s policy: preserve each replacement call’s
location while leaving the shared outlined body locationless because it
represents multiple source regions.


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

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/ValueTracking.cpp

  Log Message:
  -----------
  [ValueTracking] Strip computeKnownBits variant from ABI (NFC) (#225478)

It is unused.


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

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-root-order.ll

  Log Message:
  -----------
  [SLP][NFC]Add an extra test for missing reordering skipping, NFC



Reviewers: 

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


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

  Changed paths:
    M compiler-rt/test/hwasan/TestCases/Linux/decorate-proc-maps.c

  Log Message:
  -----------
  [NFC][compiler-rt][hwasan] Avoid variable length array warning in test (#225497)

Replace the non-constant array size expression for the static buffer
with a fixed size.

Assisted-by: Gemini


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-root-order.ll

  Log Message:
  -----------
  [SLP]Keep splat subtree load roots in memory order

The roots have no users and the gathers reuse their lanes by value, but
the group or reordering-pass order added a reorder shuffle and non-free
extracts, so the profitable vector load was dropped.

Fixes the perf regression from #221717.

Reviewers: 

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


  Commit: 2cf68b2cc466710badbe560ad6081f71c72ed331
      https://github.com/llvm/llvm-project/commit/2cf68b2cc466710badbe560ad6081f71c72ed331
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedHookInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.h
    M lldb/source/Target/Target.cpp
    M lldb/test/API/functionalities/scripted_extensions/TestScriptedExtensionsDiagnostics.py
    M lldb/test/API/functionalities/scripted_extensions/malformed_scripted_extensions.py

  Log Message:
  -----------
  [lldb/Interpreter] Report scripted hook failures to the user (#225292)

A scripted hook whose Python implementation failed reported nothing. The
error exists: `Dispatch` has returned it since #224988, but none of the
three call sites put it anywhere the user could see it:

- `Target::StopHookScripted::HandleStop` logged to LLDBLog::Target,
which is off unless you already know to `log enable lldb target`.
- `Target::HookScripted::HandleStop` consumed the `Expected` with no log
at all.
- `HandleModuleLoaded`/`HandleModuleUnloaded` had no error channel, so
the Python interface could only log and carry on.

This gives the two module callbacks an `llvm::Error` return, and route
all three through `ReportScriptedHookError`, which formats via a
`CommandReturnObject` whose immediate streams both point at the hook's
output stream, the same thing `StopHookCommandLine::HandleStop` already
does for a failing command. That gets the standard `error: ` prefix and
keeps the message interleaved with whatever the hook printed.

A stop hook whose `handle_stop` raises `AttributeError` used to print
only:

  - Hook 1 (a_out.CoreFileStopHook)

and now prints:

- Hook 1 (a_out.CoreFileStopHook) error: stop hook 1 failed: python
exception in a_out.CoreFileStopHook method 'handle_stop': Traceback
(most recent call last): File ".../a_out.py", line 25, in handle_stop
print(f"error {self.process}") AttributeError: 'CoreFileStopHook' object
has no attribute 'process'

rdar://183458400

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


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    A llvm/test/Transforms/ConstraintElimination/decompose-sub-chain-compile-time.ll

  Log Message:
  -----------
  [ConstraintElim] Cache decompositions to avoid compile-time blow-up.  (#225207)

With the recent improvements to isKnownNoWrap, we now can call decompose
again on (sub-) expressions multiple times for a given query.

In some cases, this can lead to exponential compile-time increases, as
as each decompose sub-call can lead to many more repeated decompose
calls via isKnownNoWrap.

For the test case in the patch, compile-time without the patch is > 250s
on my system, vs < 0.5s with the patch.

The caching is mostly beneficial to avoid exponential compile-time, and
does not translate to compile-time improvements in

https://llvm-compile-time-tracker.com/compare.php?from=150f8999285d07bdebc6a73dfdeae520dbdf1468&to=5f64294359fb513d62e257e95988779b2d5b8d77&stat=instructions:u.

Note that mayLookThrough is needed to avoid going through the cache
unnecessarily for leave nodes. Without that bypass, I measured a
noticeable compile-time increase (around +0.05% geomean).

The test case for the patch is synthetic, but I hit the same issue on
llvm-opt-benchmark-nightly for a patch adding a new rule to
isKnownNoWrap.

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


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/loop-accumulator-reduction.ll

  Log Message:
  -----------
  [SLP]Do not propagate reduction fast-math flags to the loop bypass select

The select between the final loop accumulator reduction and the values
bypassing the loop inherited the reduction fast-math flags from the
builder, so a NaN or Inf bypass value became poison under nnan/ninf.

Fixes https://github.com/llvm/llvm-project/pull/221598#issuecomment-5782195781

Reviewers: 

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


  Commit: 9b0ea6b5a754677a5d01b7908f4d05ca9d9ebdf0
      https://github.com/llvm/llvm-project/commit/9b0ea6b5a754677a5d01b7908f4d05ca9d9ebdf0
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2026-09-22 (Tue, 22 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] Skip template patterns while traversing (#224572)

870d762546ee taught RawPtrRefLambdaCapturesChecker to ignore a lambda
passed to a call whose callee isn't resolved yet, by enumerating the
expressions that appear in a template pattern in place of a resolved
call: an OverloadExpr, a CXXDependentScopeMemberExpr or a
DependentScopeDeclRefExpr as the callee, a CXXUnresolvedConstructExpr,
and a type-dependent ParenListExpr or InitListExpr.

That list can only ever be approximate. A call through an object of
dependent type, as in

    template <typename T> void f(T& callable) {
      RefCountable* obj = make_obj();
      callable([obj] { obj->method(); });
    }

has a plain DeclRefExpr to the parameter as its callee, so none of the
cases matched and the lambda was reported even when the instantiation
passes it to a NOESCAPE parameter.

Take the approach used by the call arguments and local variables
checkers instead: don't enter a template pattern at all. TraverseDecl
now skips a templated decl, so every callee a handler sees is resolved
and the special cases are no longer reachable. The body of a generic
lambda is reached from the LambdaExpr as a statement, so
TraverseLambdaExpr hands the call operator to TraverseDecl, which skips
the pattern and traverses the instantiations.

Because an instantiation is now traversed as a declaration rather than
as a body, TraverseCXXMethodDecl would set the enclosing class to the
closure type. Keep the class of the enclosing method for a lambda's call
operator, which is what 'this' in the body refers to, so captures of
this are still reported.


  Commit: 88dcdc2d619dd09665beb67479a330c36f7251b7
      https://github.com/llvm/llvm-project/commit/88dcdc2d619dd09665beb67479a330c36f7251b7
  Author: Fady Farag <com.webkit.iidmsa at gmail.com>
  Date:   2026-09-22 (Tue, 22 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] Don't treat a call through a raw pointer/reference guardian argument as a mutation (#225309)

Previously, when a function parameter was used as the guardian of a raw
pointer/reference local, `GuardianVisitor` treated any non-const member
function call on the parameter, or passing it to a non-const parameter,
as a mutation. That is correct for a `RefPtr<T>&` parameter but not for
a raw pointer/reference parameter, where such a call operates on the
pointee and cannot change the parameter, which caused an unnecessary
warning whenever the parameter was used at all. This only treats a raw
pointer/reference guardian argument as mutated when it is assigned to,
or when the callee can reseat it by receiving it as `Bar*&` or `Bar**`.


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

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/DlfcnSPSCI.h

  Log Message:
  -----------
  [ORC] Mangle Dlfcn CI names as C (fixes MachO dlopen lookup) (#225392)

The __orc_rt_jit_dl{open,update,close}_wrapper functions are C symbols
in the ORC runtime, so on Darwin their linker names carry a leading
underscore. The controller must resolve them under the C-mangled name.
The original LLJIT code did this via mangleAndIntern; the Proxy
conversion (#224881) used Verbatim by mistake, so on MachO the lookup
searched for the unmangled name and failed ("Symbols not found:
__orc_rt_jit_dlopen_wrapper"). Flip the Dlfcn descriptors to C to
restore the mangling. No runtime change is needed -- compiler-rt already
exports these as C symbols.


  Commit: 6e714c8d91116794cb699cdf80c26afe9cda3ef3
      https://github.com/llvm/llvm-project/commit/6e714c8d91116794cb699cdf80c26afe9cda3ef3
  Author: Nick Riasanovsky <njriasan at meta.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
    M mlir/test/Dialect/SCF/uplift-while.mlir

  Log Message:
  -----------
  [MLIR][SCF] Fix upliftWhileToForLoop post-loop IV value (#225476)

scf::upliftWhileToForLoop transforms a while loop that can be expressed
as a for loop into that for loop. For example in pseudocode:

```
var = init_val
while var < bound:
  ...
  var += step
```

into 

```
for (var=lb; var < bound; var += step) {
  ...
}
```

In this process the post-loop induction value is reconstructed as `lb +
(tripCount - 1) * step`. This is incorrect as there is a off by 1 error.

Here we reconstruct lb + max(ceilDiv(ub-lb, step), 0) * step instead:
drop the spurious -1 and clamp the trip count at zero for loops that
never execute. Adds a zero-trip regression test that folds to lb.


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

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

  Log Message:
  -----------
  [X86] combineTargetShuffle - cleanup PSHUFD/LW/HW folds (#225477)

Handle all PSHUFD/LW/HW folds in the main switch statement - we
simplified the combineRedundantDWordShuffle folds ages ago, but never
merged the 2 switch statements back together.

The isNoopShuffleMask check should have already been taken care of by
combineShuffle.


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

  Changed paths:
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    M flang/test/HLFIR/separate-allocatable-assign.fir

  Log Message:
  -----------
  [flang][cuda] Preserve allocator index when splitting host-accessible realloc assigns (#225537)

After #224195, shape-changing assignment to a pinned/managed/unified
allocatable inlined cuf.alloc/cuf.free but rebuilt the descriptor
without
allocator_idx. Implicit DEALLOCATE then used the default allocator and
called libc free() on CUDA storage.

Pass the CUDA allocator index through MutablePropertyWriter so fir.embox
keeps pinned=1, managed=3, and unified=4.


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

  Changed paths:
    M flang/test/Semantics/OpenMP/nontemporal.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [flang][OpenMP] NONTEMPORAL clause is allowed on DO SIMD in 5.0+ (#225082)

The set of allowed clauses on DO SIMD was missing the NONTEMPORAL
clause.


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

  Changed paths:
    M flang/include/flang/Parser/openmp-utils.h
    M flang/lib/Parser/openmp-utils.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/test/Semantics/OpenMP/ordered01.f90

  Log Message:
  -----------
  [flang][OpenMP] Annotate some directive and clause names (#225210)

There are some directives that share the same spelling, but have
different functionality. The same is true for clauses. When getting the
upper-case name of such a directive or a clause, optionally (and by
default) add an annotation about the kind of the directive or clause.

For example, a standalone ORDERED directive will be displayed as
"ORDERED (standalone)". This was already done, for this directive, but
not in all cases.


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

  Changed paths:
    M flang/test/Semantics/OpenMP/allocate02.f90
    M flang/test/Semantics/OpenMP/allocate03.f90
    M flang/test/Semantics/OpenMP/allocate04.f90
    M flang/test/Semantics/OpenMP/allocate05.f90
    M flang/test/Semantics/OpenMP/allocate06.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocate09.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/declare-reduction-ambiguous.f90
    M flang/test/Semantics/OpenMP/do-concurrent-collapse.f90
    M flang/test/Semantics/OpenMP/masked.f90
    M flang/test/Semantics/OpenMP/requires01.f90
    M flang/test/Semantics/OpenMP/requires02.f90
    M flang/test/Semantics/OpenMP/requires03.f90
    M flang/test/Semantics/OpenMP/requires06.f90
    M flang/test/Semantics/OpenMP/requires07.f90
    M flang/test/Semantics/OpenMP/requires08.f90
    M flang/test/Semantics/OpenMP/requires09.f90

  Log Message:
  -----------
  [flang][OpenMP] Add -fopenmp-version flag to several tests (#224934)

The default OpenMP version in flang is 3.1. A number of tests use
features added in later versions. They currently pass because the
version validity is not enforced in many cases. Set the OpenMP version
explicitly to avoid failures when the checks become more strict.


  Commit: 8a85fe173645e065bddf16b885ddfd85cbc28883
      https://github.com/llvm/llvm-project/commit/8a85fe173645e065bddf16b885ddfd85cbc28883
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M lldb/source/API/SBData.cpp
    M lldb/test/API/functionalities/scripted_process/addressable_bits_scripted_process.py

  Log Message:
  -----------
  [lldb] Fix heap-use-after-free in scripted process memory reads (#225472)

The ASan bots hit a use-after-free unwinding the scripted process in
TestScriptedProcess:

```
  READ of size 512
    #1 DataExtractor::CopyByteOrderedData() DataExtractor.cpp:660
    #2 ScriptedProcess::DoReadMemory() ScriptedProcess.cpp:282
    #3 Process::ReadMemoryFromInferior() Process.cpp:2453
    #4 MemoryCache::Read() Memory.cpp:323
 ```

AddressableBitsScriptedProcess.read_memory_at_address(), added in 851eb5a97ba6, filled its SBData with SetData(). That overload is non-owning: it builds a DataExtractor that aliases the caller's buffer. The buffer it was handed is a `bytes(size)` temporary, which Python frees as soon as the call returns, so DoReadMemory copies out of a dead allocation. The 512 is the default
target.memory-cache-line-size, not the register width the unwinder asked for.

Use SetDataWithOwnership() instead, as every other scripted process script already does.

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


  Commit: c495e51745bd34c74b1748a2b03ff8fa1edaa1c3
      https://github.com/llvm/llvm-project/commit/c495e51745bd34c74b1748a2b03ff8fa1edaa1c3
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M libcxx/cmake/caches/Generic-llvm-libc.cmake
    M libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_for.signals.pass.cpp
    M libcxxabi/test/cxa_thread_atexit_test.pass.cpp

  Log Message:
  -----------
  [libcxx] Enable threads on LLVM-libc (#224436)

Now that LLVM-libc's use of atomics has been fixed in #224162, #224160,
and #224164 this PR removes the carveout for threads in libc++ when
building on LLVM-libc.

Assisted-by: Automated tooling, human reviewed


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

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/RISCV/countable-early-exit-no-epilogue.ll

  Log Message:
  -----------
  [LV] Add test for miscompile after #195823. (#225531)


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

  Changed paths:
    M flang/docs/Aliasing.md
    M flang/docs/ArrayComposition.md
    M flang/docs/BijectiveInternalNameUniquing.md
    M flang/docs/C++17.md
    M flang/docs/C++style.md
    M flang/docs/Calls.md
    M flang/docs/Character.md
    M flang/docs/ComplexOperations.md
    M flang/docs/ControlFlowGraph.md
    M flang/docs/DesignGuideline.md
    M flang/docs/DoConcurrent.md
    M flang/docs/DoConcurrentConversionToOpenMP.md
    M flang/docs/Extensions.md
    M flang/docs/FAQ.md
    M flang/docs/FlangDriver.md
    M flang/docs/FlangOptionsDocs.td
    M flang/docs/FortranFeatureHistory.md
    M flang/docs/FortranForCProgrammers.md
    M flang/docs/FortranIR.md
    M flang/docs/FortranLLVMTestSuite.md
    M flang/docs/FortranStandardsSupport.md
    M flang/docs/GettingInvolved.md
    M flang/docs/GettingStarted.md
    M flang/docs/IORuntimeInternals.md
    M flang/docs/ImplementingASemanticCheck.md
    M flang/docs/IntrinsicTypes.md
    M flang/docs/Intrinsics.md
    M flang/docs/LabelResolution.md
    M flang/docs/ModFiles.md
    M flang/docs/OpenACC-extensions.md
    M flang/docs/OpenACC.md
    M flang/docs/OpenMP-declare-target.md
    M flang/docs/OpenMP-descriptor-management.md
    M flang/docs/OpenMP-extensions.md
    M flang/docs/OpenMP-semantics.md
    M flang/docs/OpenMPSupport.md
    M flang/docs/Overview.md
    M flang/docs/ParserCombinators.md
    M flang/docs/Parsing.md
    M flang/docs/Preprocessing.md
    M flang/docs/RuntimeDescriptor.md
    M flang/docs/RuntimeEnvironment.md
    M flang/docs/RuntimeTypeInfo.md
    M flang/docs/Semantics.md
    M flang/docs/Unsigned.md
    A flang/docs/_static/custom.css
    M flang/docs/conf.py

  Log Message:
  -----------
  [flang][docs] Use Furo theme (#223151)

Preview: https://clangdocs.staging.reidkleckner.dev/after/flang/docs/
Current: https://flang.llvm.org/docs/

I ported over the LLVM wyvern logo and the Clang CSS viewport width
customizations.

Most of the changes are removing page-local contents directives that
duplicate Furo’s right-hand navbar.

Clang Furo PR: https://github.com/llvm/llvm-project/pull/214869
RFC for Clang:
https://discourse.llvm.org/t/rfc-use-furo-theme-for-clang-docs/91505/7

Flang is using the Clang doc theme (perhaps it's the default) so I feel
like it's a good candidate to migrate, but let me know if you feel
differently.

Assisted-by: codex


  Commit: 8890be35705834c5af8e21424d7900639be03180
      https://github.com/llvm/llvm-project/commit/8890be35705834c5af8e21424d7900639be03180
  Author: Eli Friedman <efriedma at qti.qualcomm.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FastISel.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64-windows-calls.ll
    M llvm/test/CodeGen/AArch64/arm64-windows-tailcall.ll

  Log Message:
  -----------
  [AArch64][GISel][FastISel] Fix Windows "sret inreg". (#225190)

5dc8aeb26d2896c65cbea0d3b87f090241444bb6 added a special case to
SelectionDAG ISel for "sret inreg" parameters: they are copied to x0 on
return. There was a review comment suggesting that GISel and FastISel
also needed fixes, but through some mixup the followup never happened.

Fixes #225060


  Commit: 4cb6d9e88ec4b8895a2fe95880bc310877ffd1ef
      https://github.com/llvm/llvm-project/commit/4cb6d9e88ec4b8895a2fe95880bc310877ffd1ef
  Author: Rafael Auler <rafael at rafaelauler.cc>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M bolt/lib/Profile/DataAggregator.cpp

  Log Message:
  -----------
  [BOLT] Don't report an ignored build-id mismatch as an error (#225219)

With `-ignore-build-id`, a build-id mismatch still printed

  PERF2BOLT-ERROR: failed to match build-id from perf output. ...
  Use -ignore-build-id option to override.

and then carried on normally. Fix the messaging to reduce noise in logs.


  Commit: 680c555e5841a7afbb03b0fa2665e92dacbca380
      https://github.com/llvm/llvm-project/commit/680c555e5841a7afbb03b0fa2665e92dacbca380
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M lldb/include/lldb/ValueObject/DILEval.h
    M lldb/include/lldb/ValueObject/DILParser.h
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/ValueObject/DILEval.cpp
    M lldb/source/ValueObject/DILLexer.cpp
    M lldb/source/ValueObject/DILParser.cpp

  Log Message:
  -----------
  [lldb] Add error logging to DIL (#224763)

This patch also adds a new `EvaluateTree` interface for the Interpreter,
since putting the logging into the existing `Evaluate` would output the
message every time it's called internally.


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

  Changed paths:
    M clang/test/CIR/CodeGen/attr-target-x86.c

  Log Message:
  -----------
  [CIR] Fix target attr test (#225534)

After #206888 our printed checks are broken.  Fix them.


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

  Changed paths:
    M llvm/utils/git/code-format-helper.py

  Log Message:
  -----------
  [CI] Ignore ';' comments in .ll files in undef deprecator (#225509)

Without this patch, UndefGetFormatHelper matches across ';' comment
markers on added lines in .ll files, flagging false positives whenever
the word 'undef' appears in a test comment.

This patch stops matching at ';' on added lines in .ll files so comments
are ignored while uses of undef in IR instructions are still caught.

Assisted-by: Antigravity


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

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/AArch64/fadd-with-gathered-fmul-operands.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/fmul-constant-lane-fmuladd-combine.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/fmul-fused-into-scalar-fadd.ll

  Log Message:
  -----------
  [SLP][NFC]Update/add some new tests for fmuladd cases, NFC



Reviewers: 

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


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.h
    M clang/lib/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.cpp
    M clang/test/CIR/Analysis/alias-analysis-underlying-object.cir

  Log Message:
  -----------
  [CIR] Compare access ranges of pointers into the same object (#225166)

Two pointers at different offsets into the same object were previously
reported as MayAlias, because whether they overlap depends on how many
bytes each access touches. This change extends the analysis to use the
access size from the pointee type and compare the byte ranges the two
accesses cover. Disjoint ranges don't alias, overlapping ranges
partially alias. Access to different members of a record are now
reported as NoAlias, while a member compared against the record it
belongs to is reported as PartialAlias.

Accesses whose extent isn't statically known, such as those through a
pointer to void, keep the conservative answer.

Assisted-by: Cursor / various models


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

  Changed paths:
    M clang/include/clang/CIR/LoweringHelpers.h
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/LoweringHelpers.cpp
    M clang/test/CIR/CodeGen/agg-init-constexpr.cpp
    M clang/test/CIR/CodeGen/array.cpp
    R clang/test/CIR/CodeGen/bitint-split-storage-nyi.c
    A clang/test/CIR/CodeGen/bitint-wide.c
    A clang/test/CIR/CodeGen/global-const-alignment.cpp
    M clang/test/CIR/CodeGen/local-const-aggregate-name-clash.cpp
    M clang/test/CIR/CodeGen/loop.cpp
    M clang/test/CIR/CodeGenCXX/sizeof-pack.cpp

  Log Message:
  -----------
  [CIR] Implement lowering for BitInt that needs to be an array (#225470)

On bitint types that are not powers of 2, we have to represent them as
an array. This patch modifies 'convertTypeForMemory' to do that.
However, that ends up causing a couple of problems, that this also ends
up fixing:

First: constant init needs to also lower to this type/get that correct,
  so this introduces 'getBitIntStorageAttr' to manage that

Second: The 'copy' op lowering was getting its layout from the lowered
type, which is no longer correct. Since this is suposed to be the same
as what we get from CIR, this is jsut switched to use that instead.

Third: this ran into an issue with cir.copy in LoweringPrepare where we
didn't properly copy the alignment over. The result was our copy
operation didn't get alignment correct. This patch fixes that too.

Fourth: Load/Store/VecMaskedLoad all had to change how they got the type
for their lowering. Since what they care about is actually the effecitve
'type' itself and not the actual type of the memory the case of the
array-lowering, this patch introduces convertTypeForLoadStore, which is
the effective memory type(no cast required, since LLVM-IR doesn't
care!), rather than the array type.

ALL the above matches classic codegen.

AI Disclosure: I went back and forth with analysis with Claude on this
one, and it wrote most of the tests, but I did every single check-line
:)


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    A clang/test/CIR/CodeGen/lambda-explicit-obj.cpp

  Log Message:
  -----------
  [CIR] Fix lambda explicit object parameters (#225518)

We seem to have diverged significantly from classic compiler here,
likely because the incubator missed these changes. The result was the
exmaple given in the test would crash because the 'this' argument wasn't
set right.

This patch copy/pastes/lightly modifies classic codegen to get these
lambdas done correctly.


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

  Changed paths:
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGen/nobuiltin-replaceable-allocation.cpp

  Log Message:
  -----------
  [CIR] Lower nobuiltin attribute (#225545)

This causes a problem in tests for global allocation functions, but we
are not currently lowering the 'nobuiltin' attribute to LLVM-IR. This
patch adds the lowering.


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

  Changed paths:
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/Lowering/not.cir

  Log Message:
  -----------
  [CIR] Fix 'cir.not' lowering behavior for >64 bit size (#225541)

We were only inverting the lower 64 bits because we used the
int64_t/uint64_t overload, which only filled in 64 bits. This patch
replaces that with a 'getAllOnes' of the right size.


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional.cpp
    M clang/test/CIR/CodeGen/dtors.cpp

  Log Message:
  -----------
  [CIR] Use cleanup active flag with logical operators (#225554)

When temporary expressions are created within a logical binary
operation, we need to use a "cleanup active" flag to guard any cleanups
that are created in the right-hand side of the expression because the
expression may short-circuit and not evaluate the RHS. Failure to do so
had been leading to destructors being called for objects that had never
been constructed.

This fix introduces a regression in destructor call ordering when both
sides of a logical operation create temporaries that require cleanup.
This is a known ordering bug that preceeded this PR but was incidentally
avoided by the previous incorrect handling. The orderig bug will be
fixed in a follow-up change.

Assisted-by: Cursor / various models


  Commit: 1adcce186772332e969992d7792188befd615907
      https://github.com/llvm/llvm-project/commit/1adcce186772332e969992d7792188befd615907
  Author: Vy Nguyen <1762963+oontvoo at users.noreply.github.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/sanitize-trap-loop.c

  Log Message:
  -----------
  [Driver] Link ubsan_loop_detect with --whole-archive (#225498)

`addSanitizerRuntimes` places sanitizer archives before user object
files on the linker command line.

Because `ubsan_loop_detect` was in `NonWholeStaticRuntimes` without `-u`
symbols, single-pass linkers like GNU `ld.bfd` discarded
`libclang_rt.ubsan_loop_detect.a` before seeing references to
`__ubsan_install_trap_loop_detection` or `__ubsan_is_trap_loop`. Move
`ubsan_loop_detect` to `StaticRuntimes` so it is linked with
`--whole-archive`.


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

  Changed paths:
    M orc-rt/include/orc-rt/support/bit.h

  Log Message:
  -----------
  [orc-rt] Simplify bit.h countl_zero and bit_width (#225547)

The old countl_zero algorithm wasn't recognized / optimized by clang on
arm64 or x86-64. Switch to a simpler loop that clang recognizes and
rewrite bit_width in terms of countl_zero. NFCI.


  Commit: 838c705ee43c97dcb11664f926c8937c224d6987
      https://github.com/llvm/llvm-project/commit/838c705ee43c97dcb11664f926c8937c224d6987
  Author: Yihan Wang <yronglin777 at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/SemaCXX/recovery-expr-type.cpp

  Log Message:
  -----------
  [clang] Return early if a value dependent recovery init appeared in constant evaluation context in legacy constant evaluator (#225027)

A recovery default member initializer can be value-dependent even when
the expression referring to the variable is not. Clang should return
early to avoid crash.

This fix the issue found in
https://github.com/llvm/llvm-project/issues/185874#issuecomment-4058045596.

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp

  Log Message:
  -----------
  [SelectionDAG] Add ISD::ARITH_FENCE to SelectionDAGDumper. (#225485)

We seem to have no consistency on CamelCase or snake_case in node
naming. I've gone with CamelCase to match the nearby nodes, but happy to
change.


  Commit: 82ea1d26eca4bb8d12513d29a71536c35f3ff47b
      https://github.com/llvm/llvm-project/commit/82ea1d26eca4bb8d12513d29a71536c35f3ff47b
  Author: weiguozhi <57237827+weiguozhi at users.noreply.github.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/test/Frontend/stack-layout-remark.c
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.h
    M llvm/test/CodeGen/MLRegAlloc/interactive-mode.ll
    M llvm/test/CodeGen/X86/2007-08-09-IllegalX86-64Asm.ll
    M llvm/test/CodeGen/X86/2007-11-30-LoadFolding-Bug.ll
    M llvm/test/CodeGen/X86/2008-04-16-ReMatBug.ll
    M llvm/test/CodeGen/X86/AMX/amx-spill-merge.ll
    M llvm/test/CodeGen/X86/apx/memfold-origVNI-crash.ll
    M llvm/test/CodeGen/X86/apx/pr191368.ll
    M llvm/test/CodeGen/X86/atom-fixup-lea2.ll
    M llvm/test/CodeGen/X86/block-placement.ll
    M llvm/test/CodeGen/X86/callbr-asm-branch-folding.ll
    M llvm/test/CodeGen/X86/fptosi-sat-scalar-f16.ll
    M llvm/test/CodeGen/X86/fptosi-sat-scalar.ll
    M llvm/test/CodeGen/X86/fptoui-sat-scalar.ll
    M llvm/test/CodeGen/X86/indirect-branch-tracking-eh.ll
    M llvm/test/CodeGen/X86/no-split-size.ll
    M llvm/test/CodeGen/X86/ragreedy-bug.ll
    M llvm/test/CodeGen/X86/ragreedy-hoist-spill.ll
    M llvm/test/CodeGen/X86/sjlj-eh.ll
    M llvm/test/CodeGen/X86/speculative-load-hardening.ll
    M llvm/test/CodeGen/X86/split-reg-with-hint.ll
    M llvm/test/CodeGen/X86/statepoint-vreg-details.ll
    M llvm/test/CodeGen/X86/statepoint-vreg-invoke.ll
    M llvm/test/CodeGen/X86/tail-dup-merge-loop-headers.ll
    M llvm/test/CodeGen/X86/tail-opts.ll
    M llvm/test/CodeGen/X86/x86-shrink-wrapping.ll

  Log Message:
  -----------
  [RegAlloc] [X86] Enable callee saved register optimization for x86 (#220090)

Enable callee saved register optimization implemented in
RAGreedy::tryAssignCSRFirstTime() for x86. It can replace save/restore
instructions in prologue/epilogue with register spill/reload in cold
blocks or register splits.

Spec cpu 2006 int result with fdo on skylake.
```
regalloc-csr-cost-scale                                 0     30

400.perlbench                                          42.0  42.7   
401.bzip2                                              25.5  26.3   
403.gcc                                                42.1  41.4   
429.mcf                                                45.0  44.4   
456.hmmer                                              38.2  38.2   
458.sjeng                                              32.3  32.0   
462.libquantum                                         68.0  68.9   
471.omnetpp                                            26.9  27.3   
473.astar                                              24.3  24.1  
```
445.gobmk, 464.h264ref and 483.xalancbmk didn't work with my base
compiler.

This PR is split from https://github.com/llvm/llvm-project/pull/188609.


  Commit: febece38855bf752ebc4b8cbce5d56adab78d1aa
      https://github.com/llvm/llvm-project/commit/febece38855bf752ebc4b8cbce5d56adab78d1aa
  Author: Wijkqwe <188143146+Wijkqwe at users.noreply.github.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/test/Dialect/MemRef/invalid.mlir

  Log Message:
  -----------
  [mlir][memref] Reject empty collapse_shape and expand_shape reassociation groups (#225348)

`memref.collapse_shape` and `memref.expand_shape` both accept an empty
reassociation group, which is not a valid reassociation: every group
must be a
non-empty, contiguous segment of dimensions.

* `memref.collapse_shape` with an empty group aborts the compiler for a
  non-identity source layout. `CollapseShapeOp::verify` forwards the
reassociation to `computeCollapsedLayoutMap`, which calls
`ArrayRef::back()`
  on each group and asserts on the empty one:

      mlir-opt: llvm/include/llvm/ADT/ArrayRef.h:151:
      const T& llvm::ArrayRef<T>::back() const [with T = long int]:
      Assertion `!empty()' failed.

  With an identity source layout the op is instead silently accepted.

* `memref.expand_shape` with an empty group is silently accepted: the
empty
group maps a source dimension to no result dimension, so a real
dimension is
  dropped without any diagnostic.

The tensor reshape verifiers already reject this input
(https://github.com/llvm/llvm-project/pull/173791,
https://github.com/llvm/llvm-project/issues/222602 /
https://github.com/llvm/llvm-project/pull/222648).
Extract the empty-group check into a helper shared by both memref
verifiers,
mirroring https://github.com/llvm/llvm-project/pull/222648, and invoke
it from `ExpandShapeOp::verify` and
`CollapseShapeOp::verify`.

Add regression tests to `mlir/test/Dialect/MemRef/invalid.mlir`.

Assisted-by: AI.


  Commit: 182181c0d21157b362e4a6f1648cf23f58b38cef
      https://github.com/llvm/llvm-project/commit/182181c0d21157b362e4a6f1648cf23f58b38cef
  Author: Matthias Springer <me at m-sp.org>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinTypeInterfaces.td

  Log Message:
  -----------
  [mlir][NFC] Improve `ShapedTypeInterface` documentation (#225282)

Document that each dimension size must be not larger than "signed int64
max".

Related discussion:
https://discourse.llvm.org/t/rfc-vector-should-vector-transfer-read-transfer-write-indices-be-treated-as-unsigned-non-negative/91869/6


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/narrowed-reduction-leaves-known-bits.ll

  Log Message:
  -----------
  [SLP]Fix crash in bool bitmask reduction match after tree vectorization

The known bits of the narrowed reduction leaves were computed after the
tree vectorization, which drops the operands of the vectorized scalars,
so the analysis dereferenced null operands. Match the bitmask form before
the vectorization and pass the result to the emission.

Fixes #225538

Reviewers: 

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


  Commit: ffeffce9253b42370029e3a098bea24e5287a830
      https://github.com/llvm/llvm-project/commit/ffeffce9253b42370029e3a098bea24e5287a830
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M lldb/bindings/interface/SBProcessDocstrings.i
    M lldb/bindings/interface/SBProcessExtensions.i
    M lldb/examples/darwin/heap_find/heap.py
    M lldb/examples/darwin/heap_find/heap/heap_find.cpp
    M lldb/examples/python/file_extract.py
    M lldb/examples/synthetic/libcxx.py
    M lldb/include/lldb/API/SBError.h
    M lldb/include/lldb/Host/common/NativeProcessProtocol.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Target/Target.h
    M lldb/include/lldb/Utility/Args.h
    M lldb/include/lldb/Utility/Broadcaster.h
    M lldb/include/lldb/Utility/ConstString.h
    M lldb/include/lldb/Utility/DataEncoder.h
    M lldb/include/lldb/Utility/DataExtractor.h
    M lldb/include/lldb/Utility/FileSpec.h
    M lldb/include/lldb/Utility/RegularExpression.h
    M lldb/include/lldb/Utility/State.h
    M lldb/include/lldb/Utility/Status.h
    M lldb/include/lldb/Utility/Stream.h
    M lldb/include/lldb/Utility/StreamBuffer.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Core/Address.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/Mangled.cpp
    M lldb/source/DataFormatters/StringPrinter.cpp
    M lldb/source/Host/common/NativeProcessProtocol.cpp
    M lldb/source/Host/windows/Host.cpp
    M lldb/source/Interpreter/OptionGroupFormat.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
    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/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
    M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
    M lldb/source/Plugins/Process/elf-core/RegisterUtilities.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Utility/Args.cpp
    M lldb/source/Utility/DataExtractor.cpp
    M lldb/source/Utility/Stream.cpp
    M lldb/source/ValueObject/ValueObject.cpp
    M lldb/test/API/commands/memory/read/TestMemoryRead.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string/TestDataFormatterStdString.py
    M lldb/test/API/functionalities/json/object-file/TestObjectFileJSON.py
    M lldb/test/API/macosx/lc-note/additional-registers/add-lcnote.cpp
    M lldb/test/API/tools/lldb-server/main.cpp
    M lldb/tools/debugserver/source/DNB.cpp
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
    M lldb/tools/debugserver/source/PseudoTerminal.cpp
    M lldb/tools/debugserver/source/RNBServices.cpp
    M lldb/tools/debugserver/source/debugserver.cpp
    M lldb/tools/lldb-dap/SourceBreakpoint.cpp
    M lldb/unittests/Utility/DataEncoderTest.cpp
    M lldb/unittests/Utility/DataExtractorTest.cpp

  Log Message:
  -----------
  [lldb] Consistently use "null-terminated" across LLDB (NFC) (#224801)

It appears that both spellings are correct, but "null terminator" is far
more common, while "NUL terminator" is technically precise regarding the
ASCII character name. Most common in LLDB was "NULL terminated" which is
the worst of both worlds. This rallies around "null-terminated".

- Adjective -> null-terminated
- Verb -> null-terminate
- Nouns left unhyphenated but lowercased: null terminator, null
termination


  Commit: b47a631eeaff515d63232ba5b69f7206ea9ca718
      https://github.com/llvm/llvm-project/commit/b47a631eeaff515d63232ba5b69f7206ea9ca718
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/config/config.json
    M libc/fuzzing/__support/CMakeLists.txt
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/block.h
    M libc/src/__support/freelist_heap.h
    M libc/src/__support/freestore.h
    M libc/src/__support/freetrie.cpp
    M libc/src/__support/freetrie.h
    M libc/src/__support/tlsf_table.h
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/freelist_heap_test.cpp

  Log Message:
  -----------
  [libc] Implement dual freestore rotation for baremetal heap (#209811)

Implement dual FreeStore rotation in FreeListHeap under
LIBC_COPT_BAREMETAL_HEAP_ENABLE_FREESTORE_ROTATION option for baremetal
targets.

- Allocations pull from active store; free() quarantines blocks into
non-active store (1 - active).
- On allocation failure in active store, rotate() flips active index and
migrates/coalesces quarantined blocks into the new active store.
- Added 2-bit prev_free tracking in BlockRef metadata to distinguish
freestore indices.
- Added unit smoke tests and updated fuzzer for dual freestore rotation.

Assisted-by: Gemini and Claude based automation tool (human-in-the-loop)

---------

Co-authored-by: Yifan Zhu <yfzhu at google.com>
Co-authored-by: Claude Fable 5.1 <noreply at anthropic.com>


  Commit: 6c95a9274885a7c0490cd8bc67ae7549f479d825
      https://github.com/llvm/llvm-project/commit/6c95a9274885a7c0490cd8bc67ae7549f479d825
  Author: Vedant Paranjape <veparanjape at microsoft.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-before-after-all.ll
    M llvm/test/Transforms/LoopVectorize/cast-induction.ll

  Log Message:
  -----------
  [LV] Narrow truncated inductions in a VPlan transform (#220730)

VPRecipeBuilder::tryToOptimizeInductionTruncate matched a truncate of an
induction phi on the underlying IR, and it built the narrowed
VPWidenIntOrFpInductionRecipe from the recipe behind the truncate's
operand.
VPlanTransforms already answers the same question on VPValues in
getOptimizableIVOf, which returns the header IV whether the operand is
the IV
itself or an add of the IV and its step.

Add VPlanTransforms::narrowInductionTruncates and do the match there,
reusing
getOptimizableIVOf and restricting it to the phi for now. The pass runs
right
after makeCallWideningDecisions, which preserves the ordering against
makeScalarizationDecisions that the recipe builder relied on. Building
the
recipe in the transform also removes the need for the conversion loop to
special case a truncate and move the recipe into the header phi section,
because the transform inserts it there directly.

Assisted-By: Claude Opus 5


  Commit: 3092b4657f1c18587a7ae0cf569f3fce291a5267
      https://github.com/llvm/llvm-project/commit/3092b4657f1c18587a7ae0cf569f3fce291a5267
  Author: Zeyi Xu <zeyi2 at nekoarch.cc>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

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

  Log Message:
  -----------
  [RISCV][MC] Mark the cv.insert is2 decoder as incomplete (#225574)

This commit addresses the post-commit review of
https://github.com/llvm/llvm-project/pull/225269


  Commit: b011bce803b02e0a13a593b70beec93c84a4a2e9
      https://github.com/llvm/llvm-project/commit/b011bce803b02e0a13a593b70beec93c84a4a2e9
  Author: Zeyi Xu <zeyi2 at nekoarch.cc>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    A llvm/test/MC/Disassembler/RISCV/xthead-invalid-overlap.txt
    M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s

  Log Message:
  -----------
  [RISCV] Reject XTHeadMemIdx load-update with rd == rs1 (#225271)

In spec: "The encoding of this instruction with equal _rd_ and _rs1_ is
reserved."

This commit fixes the problem in Assembler, Codegen is already correct.

Link:
-
[th.lbia](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lbia.adoc#L28)
-
[th.lbib](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lbib.adoc#L28)
-
[th.lbuia](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lbuia.adoc#L28)
-
[th.lbuib](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lbuib.adoc#L28)
-
[th.lhia](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lhia.adoc#L28)
-
[th.lhib](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lhib.adoc#L28)
-
[th.lhuia](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lhuia.adoc#L28)
-
[th.lhuib](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lhuib.adoc#L28)
-
[th.lwia](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lwia.adoc#L28)
-
[th.lwib](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lwib.adoc#L28)
-
[th.lwuia](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lwuia.adoc#L28)
-
[th.lwuib](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/lwuib.adoc#L28)
-
[th.ldia](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/ldia.adoc#L28)
-
[th.ldib](https://github.com/XUANTIE-RV/thead-extension-spec/blob/d16533b5a9cd790c369d849ddf9a48159a5a235c/xtheadmemidx/ldib.adoc#L28)

--

AI Usage: Cursor is used for resolving conflicts.

---------

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


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

  Changed paths:
    M .github/workflows/libcxx-pr-conformance-tests.yaml

  Log Message:
  -----------
  [libc++] Pin down the OS version of macOS runners (#225536)

Otherwise, we sometimes end up using runners that don't have Xcode 26.5
on them. Pinning this allows bumping the version explicitly when we are
ready to.


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

  Changed paths:
    M libcxx/test/benchmarks/containers/string.bench.cpp

  Log Message:
  -----------
  [libc++] Add missing <cstring> include in the string benchmark (#225501)

The benchmark uses std::strlen but never includes <cstring>.


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

  Changed paths:
    M libcxx/test/CMakeLists.txt
    R libcxx/test/benchmarks/CMakeLists.txt
    A libcxx/test/benchmarks/lit.local.cfg
    M libcxx/test/configs/harness-configuration.cfg.in
    M libcxx/utils/libcxx/test/config.py
    M libcxx/utils/libcxx/test/format.py
    A libcxx/utils/libcxx/test/googlebenchmark.py
    M libcxxabi/test/configs/cmake-bridge.cfg.in
    M libunwind/test/configs/cmake-bridge.cfg.in

  Log Message:
  -----------
  [libc++] Build GoogleBenchmark directly from Lit (#224192)

Previously, we would build GoogleBenchmark against the just-built
library, not against the library being tested. When testing historical
versions of libc++ or other standard libraries, this breaks. So instead
of building Google Benchmark against the just-built library in CMake, do
it from Lit as part of the test suite's configuration.

I'm not a huge fan of using Lit as a poor man's build system and we
should make the CMake test suite self-contained, however this is a step
in the right direction and it removes a major coupling between the test
suite and the regular libc++ build.


  Commit: 7f8640b7bdab5a79ffc02e1a039c09217459f1f9
      https://github.com/llvm/llvm-project/commit/7f8640b7bdab5a79ffc02e1a039c09217459f1f9
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/OutputSections.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/test/ELF/x86-64-plt.s

  Log Message:
  -----------
  [lld] Add -z mark-plt support for X86_64 (#206002)

Add option [no]mark-plt to enable it. Dynamic linker can change PLT
entries with JMPABS instruction on supported targets.

Ref.:
https://maskray.me/blog/2021-09-19-all-about-procedure-linkage-table#x86-plt-rewriting

Assisted-by: Claude Sonnet 4.6

---------

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


  Commit: 20e7308dbc1b1a6e532a139132e20112ca482b84
      https://github.com/llvm/llvm-project/commit/20e7308dbc1b1a6e532a139132e20112ca482b84
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/atomic-optimizer-promote-i8.ll
    M llvm/test/CodeGen/AMDGPU/atomic-optimizer-volatile.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimization_split_dt_update.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_mul_one.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.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/atomics-hw-remarks-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-scan.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd-wrong-subtarget.ll
    M llvm/test/CodeGen/AMDGPU/global-atomics-fp-wrong-subtarget.ll
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_iterative_scan.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_iterative_scan_fp.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.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/global_atomics_scan_fsub.ll
    M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll

  Log Message:
  -----------
  [AMDGPU] Port Atomic-Optimizer to use Wave Reduction Intrinsics (#211757)

Currently the atomic optimizer creates reductions via intrinsics,
and introduces new control flows.
Replace this sub-target dependent logic with the existing
wave reduction intrinsics, which get lowered in the backend.
This patch ports the uniform-value and divergent-no-return-value cases.
To port the divergent-with-return-value cases, additional scan intrinsics
will need to be added.


  Commit: 82732028dc614b08676fd240f8672d1e58174685
      https://github.com/llvm/llvm-project/commit/82732028dc614b08676fd240f8672d1e58174685
  Author: Dharuni R Acharya <125176188+DharuniRAcharya at users.noreply.github.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.h
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Intrinsics.cpp
    M llvm/test/TableGen/intrinsic-default-args.td
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp

  Log Message:
  -----------
  [LLVM][AutoUpgrade] Support default args on overloaded intrinsics (#217859)

This patch extends intrinsic `DefaultValue` auto-upgrade to overloaded
intrinsics.

---------

Signed-off-by: DharuniRAcharya <dharunira at nvidia.com>


  Commit: 3648582c0a41eb675ebc18b91682cb0145cc30e0
      https://github.com/llvm/llvm-project/commit/3648582c0a41eb675ebc18b91682cb0145cc30e0
  Author: Jared Wyles <jared.wyles at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M orc-rt/lib/bedrock/CMakeLists.txt
    M orc-rt/lib/bedrock/sys/windows/Memory.cpp
    A orc-rt/lib/bedrock/sys/windows/PageSize.cpp
    A orc-rt/test/regression/check-rt-process-info.test
    R orc-rt/test/regression/linux/check-rt-process-info.test
    M orc-rt/test/unit/bedrock/ExecutorProcessInfoTest.cpp

  Log Message:
  -----------
  [orc-rt] Add Windows page size detection (#224520)

Adds Windows page size detection for ORC-RT using GetSystemInfo.

Also updates the process-info regression coverage into a single test


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/bfloat-imm.ll
    M llvm/test/CodeGen/RISCV/double-imm.ll
    M llvm/test/CodeGen/RISCV/float-imm.ll
    M llvm/test/CodeGen/RISCV/half-imm.ll

  Log Message:
  -----------
  [RISCV] Expand scalar FP undef/poison to 0.0 with F extension. (#225567)

This ensures the undef/poison value is always nan-boxed. This is
important if the value ends up being used by a freeze. If the value
isn't properly nan-boxed, it will be treated as a nan in FP contexts
regardless of its lower bits. If the freeze is also cast to an integer,
the lack of nan-boxing will be noticed and the integer will see the real
value of the lower bits.

Fixes #225455.


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

  Changed paths:
    M orc-rt/test/regression/check-rt-process-info.test

  Log Message:
  -----------
  [orc-rt] Reconcile check-rt-process-info changes. (#225592)

3648582c0a41 was supposed to make this test more generic, but
accidentally removed it instead.

Reconcile the dropped changes with 3648582c0a41, which added page-size
checking.


  Commit: 081cc091b90248c62607c34eff91e7afbf252129
      https://github.com/llvm/llvm-project/commit/081cc091b90248c62607c34eff91e7afbf252129
  Author: geoffreygaren <ggaren at apple.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/docs/analyzer/checkers.md
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
    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/RawPtrRefLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefSafetyModel.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefSafetyModel.h
    A clang/test/Analysis/Checkers/WebKit/mock-canborrow.h
    A clang/test/Analysis/Checkers/WebKit/unborrowed-local-vars-cxx23.cpp
    A clang/test/Analysis/Checkers/WebKit/unborrowed-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp

  Log Message:
  -----------
  [WebKit Checkers] Add alpha.webkit.UnborrowedLocalVarsChecker (#225274)

This is a new checker that requires a Borrow<T> when using a
pointer/reference/view that is lifetimebound to a CanBorrow type.

A CanBorrow type is a type that tracks views into its interior at
runtime, and calls crashIfBorrowed() when it invalidates such views.
Vector is the motivating example.

A design description is available at:
https://github.com/WebKit/WebKit/wiki/SaferCPP:-Borrowed-Pointer-Use-After-Destruction

I implemented UnborrowedLocalVarsChecker in terms of the existing
alpha.webkit.*LocalVarsChecker system because the requirement to hold an
overlooking smart-pointer-like-thing is pretty similar.

In some cases where the new checker is stricter than the existing
checker, this patch conditionalizes the strictness. The plan is to
upgrade existing checkers in a follow-up patch.

Assisted-by: Claude


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

  Changed paths:
    M orc-rt/test/unit/CMakeLists.txt
    A orc-rt/test/unit/ErrorMatchers.h
    A orc-rt/test/unit/ErrorMatchersTest.cpp

  Log Message:
  -----------
  [orc-rt] Add gmock matchers for Error and Expected<T> (#225596)

Ports llvm/Testing/Support/Error.h to orc_rt: EXPECT_THAT_ERROR and
ASSERT_THAT_ERROR, EXPECT_THAT_EXPECTED and ASSERT_THAT_EXPECTED, and
the Succeeded, Failed, Failed<InfoT>, FailedWithMessage and HasValue
matchers.

Two departures from the original. An orc_rt Error carries at most one
ErrorInfoBase -- there is no joinErrors -- so the holder keeps a single
error, FailedWithMessage takes one matcher rather than a variadic pack,
and FailedWithMessageArray is dropped. ErrorInfoBase has
dynamicRTTIName, so a type mismatch names the type that did turn up
rather than reporting only that the expected one was absent.

Header-only, under test/unit with the other test helpers rather than in
a shipped testing library. ErrorMatchersTest exercises each matcher
against a matching and a non-matching value, the latter through gtest's
failure interception.


  Commit: f5f1fd6fc00bdd2ace69100fc5c4a78839f53010
      https://github.com/llvm/llvm-project/commit/f5f1fd6fc00bdd2ace69100fc5c4a78839f53010
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M lld/MachO/MapFile.cpp
    M lld/MachO/SyntheticSections.h
    M lld/test/MachO/arm64-objc-stubs-dead.s
    M lld/test/MachO/arm64-objc-stubs.s
    M lld/test/MachO/objc-stubs-order-file.s
    M lld/test/MachO/x86-64-objc-stubs.s

  Log Message:
  -----------
  [lld-macho] Print Objective-C stubs in map files (#225302)

Match ld-prime by listing synthesized Objective-C message-send stubs in
Mach-O map files, including their final addresses and mode-specific sizes.


  Commit: 85fca8f1f49103bd709e33a308356c67f04de2be
      https://github.com/llvm/llvm-project/commit/85fca8f1f49103bd709e33a308356c67f04de2be
  Author: Purna Chandra <vennelapurnachandra2006 at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp

  Log Message:
  -----------
  [clang-tidy] Fix crash in readability-identifier-naming (#220221)

This PR contains the fix for the `readability-identifier-naming` crash.
The crash happens because the checker calls `hasMemberName` on a base
class without checking if that base class actually has a definition
first (like when it's just forward-declared). I added a
`RD->hasDefinition()` guard to fix it.

Fixes #213948


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

  Changed paths:
    M .github/workflows/libcxx-benchmark-commit.yml
    M .github/workflows/libcxx-pr-benchmark.yml
    A .github/workflows/libcxx/build-at-commit/action.yml
    M libcxx/utils/ci/lnt/README.md
    M libcxx/utils/ci/lnt/run-benchmarks
    M libcxx/utils/ci/run-buildbot

  Log Message:
  -----------
  [libc++] Extract building libc++ into a composite action (#224670)

This allows reusing the same build script for the PR benchmark and
the historical benchmarking jobs. This also opens the door to adding
new configurations where the library isn't rebuilt (e.g. where the
artifacts are pulled from a pre-built location, or even testing against
non-libc++.

Assisted by Claude


  Commit: 4057f8e45b7fcadf99b60763c873802f8add8770
      https://github.com/llvm/llvm-project/commit/4057f8e45b7fcadf99b60763c873802f8add8770
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M libc/config/linux/app.h
    M libc/src/__support/threads/linux/CMakeLists.txt
    A libc/src/__support/threads/linux/aarch64/CMakeLists.txt
    A libc/src/__support/threads/linux/aarch64/tls.cpp
    A libc/src/__support/threads/linux/riscv/CMakeLists.txt
    A libc/src/__support/threads/linux/riscv/tls.cpp
    A libc/src/__support/threads/linux/x86_64/CMakeLists.txt
    A libc/src/__support/threads/linux/x86_64/tls.cpp
    M libc/startup/linux/CMakeLists.txt
    M libc/startup/linux/aarch64/CMakeLists.txt
    R libc/startup/linux/aarch64/tls.cpp
    M libc/startup/linux/do_start.cpp
    M libc/startup/linux/riscv/CMakeLists.txt
    R libc/startup/linux/riscv/tls.cpp
    M libc/startup/linux/x86_64/CMakeLists.txt
    R libc/startup/linux/x86_64/tls.cpp

  Log Message:
  -----------
  [libc] Move Linux TLS routines from crt1.o into libc.a (#225418)

init_tls, cleanup_tls, and set_thread_ptr are per-thread routines used
by both Thread::run in libc.a and main-thread startup in crt1.o, but
tls.cpp was previously only merged into crt1.o. Linking libc.a without
crt1.o (such as a self-contained shared library statically linking
libc.a, or an executable built with -nostartfiles) failed with undefined
hidden symbols when thread.cpp.o was pulled in.

Move {x86_64,aarch64,riscv}/tls.cpp from libc/startup/linux/ to
libc/src/__support/threads/linux/ alongside tcb.h (matching prior
migrations of auxv and program_invocation_name from startup into src so
dependencies flow from startup -> src). Expose them via a forwarding
ALIAS target libc.src.__support.threads.linux.tls depended on by both
thread and do_start, and remove tls from merge_relocatable_object(crt1).

Mark init_tls with [[gnu::flatten]] and compile tls with
${libc_opt_high_flag}. Once tls.cpp.o is in libc.a rather than first on
the link line inside crt1.o, an earlier object compiled with
-fstack-protector-strong can otherwise win COMDAT selection for
LIBC_INLINE helpers (e.g. linux_syscalls::getrandom) in -O0 builds and
read %fs:0x28 before set_thread_ptr initializes the thread pointer.

Change AppProperties app in libc/config/linux/app.h from extern
[[gnu::weak]] (which resolved to NULL without crt1.o) to
LIBC_INLINE_VAR, providing a COMDAT-deduplicated .bss definition shared
by crt1.o and libc.a, matching auxv::value.

Assisted-by: Automated tooling, human reviewed.


  Commit: 6506e7380c7f5fced1d6b4cdca58974ee945897b
      https://github.com/llvm/llvm-project/commit/6506e7380c7f5fced1d6b4cdca58974ee945897b
  Author: Jared Wyles <jared.wyles at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    A orc-rt/include/orc-rt-internal/support/sys/WinErrorToORCError.h
    M orc-rt/lib/bedrock/sys/windows/Memory.cpp
    M orc-rt/test/regression/check-rt-process-info.test
    M orc-rt/test/regression/lit.cfg.py
    M orc-rt/test/unit/bedrock/SimpleNativeMemoryMapTest.cpp
    M orc-rt/test/unit/bedrock/sps/SimpleNativeMemoryMapSPSCITest.cpp

  Log Message:
  -----------
  [orc-rt] Add Windows virtual memory support (#224521)

Adds Windows virtual-memory support for ORC-RT
Also adds a small Windows error helper that converts GetLastError()
results into ORC-RT Error values with the corresponding system message.
Turns back on all the memory tests for windows.


  Commit: 926b5e99cf68644ea18ae4573d4bdbfd7edf1cb5
      https://github.com/llvm/llvm-project/commit/926b5e99cf68644ea18ae4573d4bdbfd7edf1cb5
  Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/test/AST/ByteCode/const-base-cast.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix null ptr upcasts adding offset (#224873)

Previously, this was applying the offset it would for non-null pointers,
but null pointers should always cast to a null pointer result.

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


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

  Changed paths:
    M orc-rt/test/unit/bedrock/ConnectionSpecTest.cpp

  Log Message:
  -----------
  [orc-rt] Use the Error matchers in ConnectionSpecTest (#225603)

Use the Error matchers introduced in 72aeee3df1 to clean up error checks
in ConnectionSpecTest.


  Commit: 2dea059adc9a99f30e6aae3ca8b7468164d2b938
      https://github.com/llvm/llvm-project/commit/2dea059adc9a99f30e6aae3ca8b7468164d2b938
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-09-23 (Wed, 23 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:
  -----------
  Reland "[libc] Implement clone(2) and use it in thread spawning" (#225384)

This commit reverts 35006688eb78eb5b601e282d21701f430d737888/#225111,
reapplying 9028ff14b18ea678683a4960306051044160bb67/#224257. It fixes an
error in risc-v assembly (forgot to adjust for constant renaming).

The original commit message was:

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: bad56e4022e1c7d557da204cc721862229f03544
      https://github.com/llvm/llvm-project/commit/bad56e4022e1c7d557da204cc721862229f03544
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 4057f8e (#225600)

This fixes 4057f8e45b7fcadf99b60763c873802f8add8770 (#225418).

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

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


  Commit: 34d1f71c636d9ea6169b54b10992599030b7496a
      https://github.com/llvm/llvm-project/commit/34d1f71c636d9ea6169b54b10992599030b7496a
  Author: Petr Hosek <phosek at google.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M libc/src/__support/File/CMakeLists.txt
    M libc/src/__support/File/file.h
    A libc/src/__support/File/file_io_result.h
    M libc/src/stdio/baremetal/CMakeLists.txt
    M libc/src/stdio/baremetal/file_internal.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Extract FileIOResult into its own header (#225464)

This avoids the duplicate definitions.


  Commit: 07baaf98151589f642bcf913a57d43ed16a13ba1
      https://github.com/llvm/llvm-project/commit/07baaf98151589f642bcf913a57d43ed16a13ba1
  Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Semantics/rewrite-parse-tree.cpp
    M flang/test/Lower/OpenMP/Todo/dispatch.f90
    A flang/test/Lower/OpenMP/dispatch.f90
    M flang/test/Semantics/OpenMP/simd-only.f90

  Log Message:
  -----------
  [flang][OpenMP] Support for dispatch construct (#225356)

Support for omp dispatch and omp dispatch nowait in flang.

-----
Sunil Kuravinakop (koops at hpe.com)


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

  Changed paths:
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGVTT.cpp
    M clang/lib/CodeGen/ConstantInitBuilder.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/test/CodeGen/ptrauth-qualifier-const-init.c
    M clang/test/CodeGen/ptrauth-restricted-intptr-qualifier.c
    M clang/test/CodeGenCUDA/record-layout.cu
    M clang/test/CodeGenCXX/OmitRTTIComponentABI/simple-vtable-definition.cpp
    M clang/test/CodeGenCXX/PR26569.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/child-vtable-in-comdat.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/deleted-virtual-method.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/parent-and-child-in-comdats.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/parent-vtable-in-comdat.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
    M clang/test/CodeGenCXX/const-init-cxx11.cpp
    M clang/test/CodeGenCXX/constructor-init.cpp
    M clang/test/CodeGenCXX/copy-constructor-synthesis-2.cpp
    M clang/test/CodeGenCXX/copy-constructor-synthesis.cpp
    M clang/test/CodeGenCXX/dllexport.cpp
    M clang/test/CodeGenCXX/dllimport-rtti.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/dynamic-cast-exact.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
    M clang/test/CodeGenCXX/microsoft-interface.cpp
    M clang/test/CodeGenCXX/ms-local-vft-alias-comdat.cpp
    M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
    M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call.cpp
    M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
    M clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
    M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
    M clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
    M clang/test/CodeGenCXX/ptrauth-rtti-layout.cpp
    M clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
    M clang/test/CodeGenCXX/ptrauth-virtual-function.cpp
    M clang/test/CodeGenCXX/ptrauth-vtable-in-vtt.cpp
    M clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
    M clang/test/CodeGenCXX/rtti-mingw64.cpp
    M clang/test/CodeGenCXX/rtti-qualfn.cpp
    M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
    M clang/test/CodeGenCXX/static-init.cpp
    M clang/test/CodeGenCXX/strict-vtable-pointers.cpp
    M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
    M clang/test/CodeGenCXX/visibility.cpp
    M clang/test/CodeGenCXX/vtable-align-address-space.cpp
    M clang/test/CodeGenCXX/vtable-align.cpp
    M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
    M clang/test/CodeGenCXX/vtable-assume-load.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization.cpp
    M clang/test/CodeGenCXX/vtt-layout-address-space.cpp
    M clang/test/CodeGenCXX/vtt-layout.cpp
    M clang/test/CodeGenHIP/sret-nontrivial-copyable.hip
    M clang/test/CodeGenObjC/attr-exception.m
    M clang/test/CodeGenObjC/ptrauth-attr-exception.m
    M clang/test/CodeGenObjC/ptrauth-block-descriptor-pointer.m
    M clang/test/CodeGenObjC/ptrauth-block-isa.m
    M clang/test/CodeGenObjC/ptrauth-class-ro.m
    M clang/test/CodeGenObjC/ptrauth-objc-isa-super.m
    M clang/test/CodeGenObjC/ptrauth-objc-method-list-pointer.m
    M clang/test/OpenMP/target_data_use_device_ptr_inheritance_codegen.cpp

  Log Message:
  -----------
  [Clang] Use ConstantExpr::getGetElementPtr() with DataLayout (#225415)

This switches Clang to use the API introduced in
https://github.com/llvm/llvm-project/pull/224652. This produces
getelementptr constant expressions in canonical ptradd form.


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

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    A clang/test/CodeGen/WebAssembly/target-abi-module-flag.c
    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
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
    A llvm/test/CodeGen/WebAssembly/multivalue-module-abi.ll

  Log Message:
  -----------
  WebAssembly: Respect target-abi module flag (#224312)

Previously this relied on the TargetABI MCOptions field and ignored
the IR flag.

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


  Commit: f47c2807a4d2585850b771a25dbfe843f8ac7d87
      https://github.com/llvm/llvm-project/commit/f47c2807a4d2585850b771a25dbfe843f8ac7d87
  Author: Timur Golubovich <timur.golubovich at intel.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/SPARC/known-bits.ll
    M llvm/test/CodeGen/X86/known-bits.ll
    M llvm/test/CodeGen/X86/pr38539.ll

  Log Message:
  -----------
  [SelectionDAG] Handle BUILD_PAIR in computeKnownBits (#225073)

Concatenate the known bits of both halves, with operand 0 as the low
half and operand 1 as the high half, matching
TargetLowering::SimplifyDemandedBits and GlobalISel's G_MERGE_VALUES.


  Commit: d8aecd0b3ff64a484197e187a292f8841e4f8e93
      https://github.com/llvm/llvm-project/commit/d8aecd0b3ff64a484197e187a292f8841e4f8e93
  Author: Mariya Podchishchaeva <Mariya.Podchishchaeva at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip

  Log Message:
  -----------
  [CIR][AMDGPU] Add support for wave_shuffle built-in (#225463)


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

  Changed paths:
    M orc-rt/lib/bedrock/sys/posix/sps/SimpleRemoteCAOverSocket.cpp

  Log Message:
  -----------
  [orc-rt] Fix missing #include <deque> in Socket CA. (#225608)

Add missing #include <deque> to SimpleRemoteCAOverSocket.cpp to fix
compile errors on Linux.


  Commit: 5e5e63dfc728c38b5aab46b8cd61325fedc562ea
      https://github.com/llvm/llvm-project/commit/5e5e63dfc728c38b5aab46b8cd61325fedc562ea
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    A clang/test/AST/ByteCode/codegen.cl

  Log Message:
  -----------
  [clang][bytecode] Add an `IsNull` bit to integral pointers (#202356)

It isn't always the same as 'value == 0'.


  Commit: 685e2b1b1231db578da789fb896543ddb311e293
      https://github.com/llvm/llvm-project/commit/685e2b1b1231db578da789fb896543ddb311e293
  Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/utils/TableGen/OptionParserEmitter.cpp

  Log Message:
  -----------
  [TableGen] Avoid deprecated-enum-enum-conversion C++20 warnings; NFC (#218909)

The bitwise OR of different enum types resulted in many C++20
deprecation warnings in the generated option tables:

     warning: bitwise operation between different enumeration types
     ‘llvm::opt::DriverVisibility’ and
     ‘clang::options::ClangVisibility’ is deprecated
     [-Wdeprecated-enum-enum-conversion]

Fix by emitting casts to `unsigned`, matching the types of the
corresponding fields in `OptTable::Info`.


  Commit: fba0822290721dd8144708d6c28902a87e3bb830
      https://github.com/llvm/llvm-project/commit/fba0822290721dd8144708d6c28902a87e3bb830
  Author: Rohan Shenoy <RohanRadhesh.Shenoy at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/avx512fp16-combine-fmsubadd.ll

  Log Message:
  -----------
  [X86] Fold FMSUBADD into VFCMULC for fp16 complex conjugate multiply (#224533)

We reuse isCFMulFromFMSUBADD from #222896 to fold vfmsubadd into vfcmulc.
As a result using this pattern-match in combineFaddCFmul becomes
redundant as it (c += a * ~b) still becomes vfcmaddcph through the
existing fadd + vfcmulc combine.


  Commit: 3661bf5f8b28f065067bd024918ed18957e1f46a
      https://github.com/llvm/llvm-project/commit/3661bf5f8b28f065067bd024918ed18957e1f46a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

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

  Log Message:
  -----------
  [CGVTT] Fix indentation (NFC) (#225621)

The indentation in this entire code block was off-by-one, which
incremental clang-format can't handle, so reformat the whole
section.


  Commit: 75225e04996471098bacf6888d33ab94cf7595d1
      https://github.com/llvm/llvm-project/commit/75225e04996471098bacf6888d33ab94cf7595d1
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/test/CodeGenCXX/copy-constructor-synthesis-2.cpp

  Log Message:
  -----------
  [Clang] Fix test with 32-bit triple (#225624)


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

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/early-exit-live-out-extract-lane.ll
    M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar.ll

  Log Message:
  -----------
  [LV] Add tests for missed scalarization opportunities. (#225508)

Add additional test coverage with unnecessary extracts.


  Commit: c0590ce37393e481402bd566aa69b1ad57905e50
      https://github.com/llvm/llvm-project/commit/c0590ce37393e481402bd566aa69b1ad57905e50
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h

  Log Message:
  -----------
  [VPlan] Inline VPInsertPoint::insert. NFC (#225468)

Split off from https://github.com/llvm/llvm-project/pull/213900

This avoids the templating since the return value of wasn't used.
I've also taken the liberty of renaming Point->Iterator since
VPInsertPoint::getPoint is a bit confusing


  Commit: a91921eda070d6903896432802845222e49e9713
      https://github.com/llvm/llvm-project/commit/a91921eda070d6903896432802845222e49e9713
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M libc/src/pthread/CMakeLists.txt
    A libc/src/pthread/pthread_attr.h
    M libc/src/pthread/pthread_attr_init.cpp
    M libc/src/pthread/pthread_create.cpp

  Log Message:
  -----------
  [libc] Remove cross-entrypoint dependencies from pthread_create (#225383)

pthread_create was previously calling public entrypoints
(pthread_attr_init, pthread_attr_destroy, pthread_attr_getstack,
pthread_attr_getguardsize, pthread_attr_getdetachstate), which violates
the rule against internal cross-entrypoint dependencies.

To fix this, I create an internal header (src/pthread/pthread_attr.h)
defining DEFAULT_PTHREAD_ATTR, modeled after DEFAULT_MUTEXATTR in the
mutex code.

pthread_create now defaults to &DEFAULT_PTHREAD_ATTR when the attr
pointer is null, and accesses the struct members directly instead of
going through getter functions. This also makes it clear that getting
the values cannot fail. I also update pthread_attr_init to reuse
DEFAULT_PTHREAD_ATTR to avoid duplicating the default values.

While in there, update the includes to use proxy headers instead of
including <pthread.h> directly, and drop the dependency on errno since
pthread_create returns errors directly rather than setting errno.

Assisted-by: Gemini


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

  Changed paths:
    M clang/test/AST/ByteCode/records.cpp

  Log Message:
  -----------
  [clang][bytecode] Add test for variadic inherited constructor calls (#225611)

Fixes #158529

Calling a variadic constructor through a `using` declaration used to hit
`assert(false && "Can't get arguments from that expression type")` in
`cleanupAfterFunctionCall`. The call site is a
`CXXInheritedCtorInitExpr`, and the cleanup only knew how to count
variadic arguments from a `CallExpr` or `CXXConstructExpr`. A single
level of `using` crashed the same way, the second level in the
reproducer just adds a frame.

This was fixed as a side effect of #207393, which now takes the variadic
size from the frame instead of the call expression. Adding the
reproducer plus a few value checks (single and double level, mixed
vararg types, inside a constexpr function) so it stays fixed.


  Commit: 62ea87e542c3fea716875953b9427896f345f7d1
      https://github.com/llvm/llvm-project/commit/62ea87e542c3fea716875953b9427896f345f7d1
  Author: Haowei <haowei at google.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M libcxx/test/CMakeLists.txt
    A libcxx/test/benchmarks/CMakeLists.txt
    R libcxx/test/benchmarks/lit.local.cfg
    M libcxx/test/configs/harness-configuration.cfg.in
    M libcxx/utils/libcxx/test/config.py
    M libcxx/utils/libcxx/test/format.py
    R libcxx/utils/libcxx/test/googlebenchmark.py
    M libcxxabi/test/configs/cmake-bridge.cfg.in
    M libunwind/test/configs/cmake-bridge.cfg.in

  Log Message:
  -----------
  Revert "[libc++] Build GoogleBenchmark directly from Lit" (#225620)

Reverts llvm/llvm-project#224192

The original PR introduce implict dependency on cmake from path. Further
more, the cmake invocation from googlebenchmark.py didn't inherit
CMAKE_MAKE_PROGRAM and cmake generator flags from the parent LLVM build,
causing implicit dependency on make. It causes test failures on systems
that do not have these installed or config in their default path.


  Commit: febf4155e9856cca9e7719b833e365e794e225bd
      https://github.com/llvm/llvm-project/commit/febf4155e9856cca9e7719b833e365e794e225bd
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/test/Transforms/GVN/rle-clobbering-store.ll

  Log Message:
  -----------
  [GVN] Handle value-preserving stores in MSSA-based load elimination (#223793)

Following up on #68322, extend the MemorySSA-based redundant load
elimination path to recognize stores that write back a value previously
loaded from the same location. If nothing modifies the memory location
in between, such stores may be treated as non-clobbering, and the
subsequent load may be redundant.


  Commit: 6e47e8fb1eb379e71e8044571511f4fee281b9c4
      https://github.com/llvm/llvm-project/commit/6e47e8fb1eb379e71e8044571511f4fee281b9c4
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    A llvm/test/Analysis/ScalarEvolution/implied-cond-ge-via-gt-minus-one.ll

  Log Message:
  -----------
  [SCEV] Add implied-cond-ge-via-gt test coverage (#225024)

Add test coverage for a very obscure codepath in howManyLT.

Co-authored-by: Florian Hahn <flo at fhahn.com>


  Commit: 942114858fd1124de32a0d1fd3885db8c9f37abb
      https://github.com/llvm/llvm-project/commit/942114858fd1124de32a0d1fd3885db8c9f37abb
  Author: Christian Kandeler <christian.kandeler at qt.io>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang-tools-extra/clangd/refactor/tweaks/ExtractFunction.cpp
    M clang-tools-extra/clangd/unittests/tweaks/ExtractFunctionTests.cpp

  Log Message:
  -----------
  [clangd] Don't offer Extract to Function for a VarDecl's initializer (#225434)

Selecting just the initializer of a variable declaration, e.g.
`auto A = [[func()]];`, was incorrectly offered for extraction,
producing a void-returning function called where a value is required:

```cpp
void extracted() { func(); }
void f() { auto A = extracted(); }
```

This doesn't compile (auto can't deduce from void; a fixed type would
likewise fail to convert from void).

`getEnclosingStmt()` ascends from the selected node to what should be
its enclosing statement, rejecting the case where that turns out to be
an `Expr` (meaning the selection is a subexpression of a larger
expression, not a genuine statement). A `VarDecl`'s initializer isn't
caught by that check, though: ascending from it lands on the `VarDecl`
itself, which is a `Decl`, not a `Stmt` or `Expr`. Broaden the check to
reject unless the ascended-to parent is a `Stmt` (note `Expr` is itself
a `Stmt` subtype in Clang's AST, so this still needs the separate
`Expr` check to catch the original case).

Assisted-by: Claude


  Commit: 0ceb8668fa909fe48f4d74869817e78d0f325169
      https://github.com/llvm/llvm-project/commit/0ceb8668fa909fe48f4d74869817e78d0f325169
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    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
    M llvm/unittests/ABI/TargetInfoTest.cpp
    M llvm/unittests/ABI/X86TargetInfoTest.cpp

  Log Message:
  -----------
  [ABI] Thread alloca address space through getNaturalAlignIndirect (#225301)

Summary:
- Indirect arguments were always emitted in address space 0, dropping
the target's alloca address space.
- Mirror classic `ABIInfo::getNaturalAlignIndirect` by making the
address space explicit and sourcing it from a target hook, so
targets whose stack lives in a non-default space (e.g. AMDGPU private)
are lowered correctly.

Changes:
- `TargetInfo.h`: add `getAllocaAddrSpace()` (default 0), the
ABI-library analogue of `DataLayout::getAllocaAddrSpace()`. Make
AddrSpace a required parameter of `getNaturalAlignIndirect`.
- `TargetInfo.cpp`: pass AddrSpace into `ArgInfo::getIndirect`.
- X86/AArch64/BPF: pass `getAllocaAddrSpace()` at all
`getNaturalAlignIndirect` call sites.
- X86/AArch64 unit tests: assert the indirect address space is 0.

Assisted by: claude opus 4.8


  Commit: 7ecac8052859d14cc71b08fafdb4100d26eeaa4d
      https://github.com/llvm/llvm-project/commit/7ecac8052859d14cc71b08fafdb4100d26eeaa4d
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    A flang/test/Integration/debug-include-file.f90
    M flang/test/Integration/debug-module-2.f90
    M flang/test/Integration/debug-module-constant.f90
    M flang/test/Transforms/debug-derived-type-1.fir
    M flang/test/Transforms/debug-dummy-argument-inline.fir
    A flang/test/Transforms/debug-include-file.fir

  Log Message:
  -----------
  [flang][debug] Emit debug info for procedures from an INCLUDE'd file. (#225068)

A declaration read through INCLUDE gets a location that is fused with
the inclusion information, carrying a fir::LocationKindArrayAttr.
debugInfoIsAlreadySet treated any fused location as one this pass had
already handled, apart from a fir::LocationKindAttr that is never the
attribute actually used, so handleFuncOp and handleGlobalOp returned
immediately and such a procedure or global got no debug information at
all.

Examine what the fusion holds instead of only whether there is one. The
attribute to look for is now a template argument, so each caller names
the one it would attach itself, a DISubprogramAttr for a function and an
array of DIGlobalVariableExpressionAttr for a global, and no central
list has to be kept in step with them.

Doing only that describes the procedure at the line of the INCLUDE
statement rather than at its own, because the file and line are read
with a cast that a fused location does not satisfy, leaving them at the
compile unit's file and at line 1. Search the location for the
FileLineColLoc in both places instead. Searching it also gives a
variable inlined from another procedure the line it is declared on
rather than that same fallback of 1, which is what changes in
debug-dummy-argument-inline.fir.

---------

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


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

  Changed paths:
    M llvm/docs/LangRef.md
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/Value.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Value.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Analysis/BasicAA/call-escape-source.ll
    M llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
    M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
    M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
    M llvm/test/Analysis/ValueTracking/invariant.group.ll
    A llvm/test/Bitcode/upgrade-strip-invariant-group.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-no-op-intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-invariant-markers.ll
    M llvm/test/CodeGen/Generic/intrinsics.ll
    R llvm/test/Instrumentation/MemorySanitizer/msan_llvm_strip_invariant.ll
    M llvm/test/Other/invariant.group.ll
    M llvm/test/Transforms/Attributor/nocapture-1.ll
    M llvm/test/Transforms/CodeGenPrepare/AArch64/large-offset-gep.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/invariant.group.ll
    M llvm/test/Transforms/DeadStoreElimination/launder.invariant.group.ll
    M llvm/test/Transforms/FunctionAttrs/nocapture.ll
    M llvm/test/Transforms/GVN/assume-equal.ll
    M llvm/test/Transforms/GVN/invariant.group.ll
    M llvm/test/Transforms/GlobalOpt/invariant.group.ll
    R llvm/test/Transforms/Inline/inline_inv_group.ll
    M llvm/test/Transforms/Inline/invariant-group-sroa.ll
    M llvm/test/Transforms/Inline/launder.invariant.group.ll
    M llvm/test/Transforms/InstCombine/invariant.group.ll
    M llvm/test/Transforms/InstCombine/load.ll
    M llvm/test/Transforms/InstCombine/new-delete-itanium.ll
    M llvm/test/Transforms/InstSimplify/invariant.group-load.ll
    M llvm/test/Transforms/NewGVN/invariant.group.ll
    M llvm/test/Transforms/SROA/invariant-group.ll
    M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest-free-cost.ll
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/test/Dialect/LLVMIR/mem2reg.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [IR] Remove llvm.strip.invariant.group intrinsic (#225399)

This intrinsic was originally introduced to make sure that if we have a
dominating condition like `a == launder.invariant.group(a)`, we don't
end up replacing the latter with the former, as that would allow the
optimizer to assume that the memory stays invariant, despite going
through a launder operation. Wrapping both comparison operands in
strip.invariant.group avoids the issue, because replacing one stripped
pointer with another is safe.

The underlying issue was fixed in
https://github.com/llvm/llvm-project/pull/224281 (and prior work), which
ensures that the problematic replacement cannot happen in the first
place.

https://github.com/llvm/llvm-project/pull/225072 stopped emitting
llvm.strip.invariant.group on the clang side.

This PR now removes the intrinsic entirely. To be on the safe side, it
is upgraded to llvm.launder.invariant.group. For Clang's specific usage,
just dropping it would be fine.


  Commit: c41e1ef6e1cc650cd05328155408ecb705986f09
      https://github.com/llvm/llvm-project/commit/c41e1ef6e1cc650cd05328155408ecb705986f09
  Author: Daniel Petrovic <daniel-dev at hotmail.de>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/Sema/vector-assign.c

  Log Message:
  -----------
  [clang] Fix crash on assigning to _Atomic vectors (#225125)

As described in the issue itself: d=c on _Atomic vector crashed during
the overflow check because isVectorType() doesn't look through _Atomic.
Strip _Atomic before checking operand types.

Fixes #225039

bt:
<img width="1908" height="825" alt="225039_crash_atomic_vector"
src="https://github.com/user-attachments/assets/c5d48ba5-fa9b-43f8-a555-8b9bbe558152"
/>

Co-authored-by: Timm Baeder <tbaeder at redhat.com>


  Commit: 0b8d78f0eadfd5e5b790dacb5f8bc712c83fa3e2
      https://github.com/llvm/llvm-project/commit/0b8d78f0eadfd5e5b790dacb5f8bc712c83fa3e2
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M .github/workflows/issue-write.yml

  Log Message:
  -----------
  [Github] Register Flang integration test check in issue comment workflow (#225500)

Allow issue-write.yml to consume comment artifacts from the Flang
integration test check. Landing this registration first enables testing
of the workflow in #221766.


  Commit: 65f27d8ebd9df081f581c5f65e8f82c9be413695
      https://github.com/llvm/llvm-project/commit/65f27d8ebd9df081f581c5f65e8f82c9be413695
  Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M .github/workflows/ids-check.yml
    M llvm/utils/git/ids-check-helper.py

  Log Message:
  -----------
  [ids-check] Make the script CWD-independent (#223354)

PR #208780 removed the working directory from the ids-check workflow
step invoking the ids-check-helper script. This caused the script to run
from the workspace root rather than the repository root. It turns out
that the script was not resilient to being run from any arbitrary
directory, which caused idt to never be invoked. This made the workflow
silently succeed without checking anything.

These changes resolve repository-relative paths against the script's own
location instead, assuming it is in the `llvm/utils/git` directory.

This also fixes the script to use the right resource directory when
using a prebuilt idt.

The effort to build LLVM as a dylib is tracked in #109483.


  Commit: 309ae98474b69d96541dc28dc6666117842a5f57
      https://github.com/llvm/llvm-project/commit/309ae98474b69d96541dc28dc6666117842a5f57
  Author: Srinivasa Ravi <srinivasar at nvidia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    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
    M llvm/test/CodeGen/NVPTX/convert-fp16-pzo.ll
    R llvm/test/CodeGen/NVPTX/convert-fp16-rs-pzo.ll
    M llvm/test/CodeGen/NVPTX/convert-sm103a.ll
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Target/LLVMIR/nvvm/convert_fp16x2.mlir

  Log Message:
  -----------
  [clang][NVVM][NVPTX] Remove pzo modifier for rs rounding mode conversions (#225012)

This change removes the `pzo` modifier from the `fp16x2` conversion
intrinsics with `rs` rounding mode. This was added in
https://github.com/llvm/llvm-project/pull/214667 due to a bug in the
developer-preview version of the 13.4 PTX ISA docs, and this change
aligns it with the latest PTX ISA docs for 13.4.

PTX ISA reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#data-movement-and-conversion-instructions-cvt


  Commit: 023687b8531d12a8fa639dfce460839a60ea5d3a
      https://github.com/llvm/llvm-project/commit/023687b8531d12a8fa639dfce460839a60ea5d3a
  Author: Aman Maurya <amanmaurya9209 at gmail.com>
  Date:   2026-09-23 (Wed, 23 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/sys/stat/CMakeLists.txt
    M libc/src/sys/stat/linux/CMakeLists.txt
    A libc/src/sys/stat/linux/mknodat.cpp
    A libc/src/sys/stat/mknodat.h
    M libc/test/src/sys/stat/CMakeLists.txt
    A libc/test/src/sys/stat/mknodat_test.cpp

  Log Message:
  -----------
  [libc] Implement mknodat in sys/stat (#225512)

Implement the standard POSIX.1-2008 / POSIX.1-2024 function `mknodat` in
`<sys/stat.h>`.

Fixes #225506


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

  Changed paths:
    M orc-rt/test/regression/check-rt-process-info.test
    M orc-rt/test/regression/lit.cfg.py

  Log Message:
  -----------
  [orc-rt] Fix regression test after 6506e7380c7f. (#225646)

Fix typo, substitution issues.


  Commit: 21f2cf952ccc3de5c0bb6a950cf1037122c13ce6
      https://github.com/llvm/llvm-project/commit/21f2cf952ccc3de5c0bb6a950cf1037122c13ce6
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/IR/MemoryOps.cpp
    M mlir/test/Dialect/SPIRV/IR/memory-ops.mlir

  Log Message:
  -----------
  Reland "[mlir][SPIR-V] Verify NonPrivatePointer requirement for MakePointer{Available,Visible}" (#213621) (#225499)


  Commit: 9e09b11ae67f6fba8dfa8a798bbe130d190b5f2e
      https://github.com/llvm/llvm-project/commit/9e09b11ae67f6fba8dfa8a798bbe130d190b5f2e
  Author: TelGome <93700071+TelGome at users.noreply.github.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    M clang/lib/Headers/riscv_packed_simd.h
    M clang/test/CodeGen/RISCV/rvp-intrinsics.c
    M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll

  Log Message:
  -----------
  [RISCV][P-ext] Support Packed Multiply High Parts (#225015)

Support [Packed Multiply High
Parts](https://github.com/riscv/riscv-p-spec/blob/master/P-ext-intrinsics.adoc#packed-multiply-high-parts)


  Commit: 0bf45de5d6dff4c3b0cceef7a4cbef16f7bc19d5
      https://github.com/llvm/llvm-project/commit/0bf45de5d6dff4c3b0cceef7a4cbef16f7bc19d5
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

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

  Log Message:
  -----------
  [AArch64][NFC] Add early bail-out in preferTailFoldingOverEpilogue (#225327)

If the default behaviour is to never tail-fold and the user never
specified the sve-tail-folding option then just bail out early in
preferTailFoldingOverEpilogue to avoid unnecessary computation.


  Commit: 6f4f74487d0dedafe2b55d138fa6f8de42665cba
      https://github.com/llvm/llvm-project/commit/6f4f74487d0dedafe2b55d138fa6f8de42665cba
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/IR/Module.cpp

  Log Message:
  -----------
  IR: Use cast_or_null for module flag getters (#225629)

The verifier enforces all of these have the correct type


  Commit: 9b979d29871667648b5213e9535b9ea86d90d067
      https://github.com/llvm/llvm-project/commit/9b979d29871667648b5213e9535b9ea86d90d067
  Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/fold-epilogue-tail.ll

  Log Message:
  -----------
  [LV][EpilogueTF] Exclude loops with recurrences, alias-masking or unmaskable IAI  (#224835)

This patch excludes loops with reductions, fixed-order recurrences, or
alias-masking from the tail-folded epilogue path, since those cases
are not yet supported. 
It also excludes loops with interleaved accesses when the target doesn't
support masking them, since a tail-folded epilogue reuses the main
loop's IAI and so it can't invalidate those IAI when they can't be masked.


  Commit: 4cd2f4d84b3682908be78bc5cd314507a3d80686
      https://github.com/llvm/llvm-project/commit/4cd2f4d84b3682908be78bc5cd314507a3d80686
  Author: Akshay K <iit.akshay at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/test/CodeGen/X86/zero-call-used-regs-simd.ll

  Log Message:
  -----------
  [X86] Coalesce redundant vector register clears in zero_call_used_regs (#212147)

This pull request improves how the X86 backend implements
`-fzero-call-used-regs` for vector registers by coalescing aliasing
XMM/YMM/ZMM register views before emitting zeroing instructions. Each
physical vector register is now cleared exactly once, eliminating
redundant clears and avoiding unnecessary `vzeroupper` emission.

Vector register zeroing

- Updated `X86FrameLowering::emitZeroCallUsedRegs` to normalize aliasing
XMM/YMM/ZMM registers to a single representative before emitting clears,
mirroring the existing handling for general-purpose registers.
- Registers XMM0–15 are cleared with VEX-encoded zero idioms, while
XMM16–31 are cleared using EVEX-encoded instructions. Since writes to an
XMM destination also zero the upper bits of the enclosing YMM/ZMM
register, each physical vector register is cleared exactly once.
- Eliminates redundant AVX_SET0/AVX512_512_SET0 pseudos, preventing
unnecessary vzeroupper insertion while preserving the same architectural
zeroization.

AVX512F mask register clearing

- `X86InstrInfo::buildClearRegister` incorrectly gated k0–k7 clearing on
`hasVLX()`. `KSET0W` only requires `AVX512F`, so it fixes mask registers
clearing with `-mattr=+avx512f`.

Tests
- Updated `zero-call-used-regs-simd.ll` to reflect the reduced
instruction sequences across the AVX, AVX2, and AVX-512 code paths.
- Added `all_no_live_vec` to verify that `-fzero-call-used-regs=all`
clears each vector register only once and does not emit a spurious
vzeroupper.

Fixes #191911

Assisted-by: Codex


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

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp

  Log Message:
  -----------
  [clang][ExprConst] Mark two variables maybe_unused (#225652)

Fix the two buildbot failures from
https://github.com/llvm/llvm-project/pull/225125


  Commit: 21ca7b6617bb816eff33faa8e5a60e59ae0a6db0
      https://github.com/llvm/llvm-project/commit/21ca7b6617bb816eff33faa8e5a60e59ae0a6db0
  Author: Aditya Mishra <hi at mishraaditya.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M flang/docs/FlangDriver.md

  Log Message:
  -----------
  [flang][docs] Fix spelling typo in FlangDriver.md (#219391)

Fixes a minor spelling typo in the Flang driver documentation
(`specialised` -> `specialized`) to align with standard project
documentation guidelines.


  Commit: 8026eba98cb3a41f4dc7cde86d24ff9de01ce846
      https://github.com/llvm/llvm-project/commit/8026eba98cb3a41f4dc7cde86d24ff9de01ce846
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/unittests/CodeGen/AMDGPUMetadataTest.cpp
    M llvm/unittests/CodeGen/AsmPrinterDwarfTest.cpp
    M llvm/unittests/CodeGen/CodeGenTestBase.h
    M llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/GISelMITest.h
    M llvm/unittests/CodeGen/GlobalISel/IRTranslatorBF16Test.cpp
    M llvm/unittests/CodeGen/MIR2VecTest.cpp
    M llvm/unittests/CodeGen/MachineModuleInfoTest.cpp
    M llvm/unittests/CodeGen/PassManagerTest.cpp
    M llvm/unittests/CodeGen/SelectionDAGTestBase.h
    M llvm/unittests/CodeGen/X86MCInstLowerTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp
    M llvm/unittests/MI/LiveIntervalTest.cpp
    M llvm/unittests/MIR/MachineMetadata.cpp
    M llvm/unittests/MIR/MachineStableHashTest.cpp
    M llvm/unittests/Target/AArch64/AArch64RegisterInfoTest.cpp
    M llvm/unittests/Target/AArch64/AArch64SelectionDAGTest.cpp
    M llvm/unittests/Target/AArch64/InstSizes.cpp
    M llvm/unittests/Target/AMDGPU/AMDGPUMCExprTest.cpp
    M llvm/unittests/Target/AMDGPU/CSETest.cpp
    M llvm/unittests/Target/AMDGPU/ExecMayBeModifiedBeforeAnyUse.cpp
    M llvm/unittests/Target/AMDGPU/PALMetadata.cpp
    M llvm/unittests/Target/ARM/ARMSelectionDAGTest.cpp
    M llvm/unittests/Target/ARM/InstSizes.cpp
    M llvm/unittests/Target/LoongArch/InstSizes.cpp
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
    M llvm/unittests/Target/RISCV/RISCVSelectionDAGTest.cpp
    M llvm/unittests/Target/SPIRV/SPIRVGlobalRegistryTests.cpp
    M llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
    M llvm/unittests/Target/X86/MachineSizeOptsTest.cpp
    M llvm/unittests/Target/X86/X86SelectionDAGTest.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/SnippetRepetitorTest.cpp

  Log Message:
  -----------
  unittests: Compute DataLayout from the triple, not the TargetMachine (#224249)

Eventually createDataLayout should be removed, so migrate these uses.

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


  Commit: ae88993db5db12423779f3a7c96cc04de5a861a6
      https://github.com/llvm/llvm-project/commit/ae88993db5db12423779f3a7c96cc04de5a861a6
  Author: Jared Wyles <jared.wyles at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M orc-rt/lib/bedrock/sys/windows/DynamicLibrary.cpp
    M orc-rt/test/unit/CMakeLists.txt
    M orc-rt/test/unit/Inputs/NativeDylibManagerTestLib.cpp
    M orc-rt/test/unit/Inputs/RTTICrossDylibTestLib.cpp
    M orc-rt/test/unit/Inputs/RTTICrossDylibTestLib.h
    A orc-rt/test/unit/Inputs/TestVisibility.h

  Log Message:
  -----------
  [orc-rt] Add Windows dynamic library support (#225076)

Dylib windows implementation. 

 LoadLibraryA and FreeLibrary for library lifetime management.
 GetProcAddress for symbol lookup in individual libraries.

We use a sentinel value to emulate global lookup (address of a local
linkage variable).
Uses the same reverse ordering as orc-v1.


  Commit: d56ee7ad2a41a46376eb4917e3c3945e9ec7ae2d
      https://github.com/llvm/llvm-project/commit/d56ee7ad2a41a46376eb4917e3c3945e9ec7ae2d
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll

  Log Message:
  -----------
  [AMDGPU][GlobalISel] Lower spir_kernel formal arguments as kernel args (#225634)

Argument lowering matched only AMDGPU_KERNEL, so spir_kernel fell into
the normal calling convention path and failed, unlike SelectionDAG


  Commit: 8022a985db5ae48c64e7b35124ce77935fe99f03
      https://github.com/llvm/llvm-project/commit/8022a985db5ae48c64e7b35124ce77935fe99f03
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

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

  Log Message:
  -----------
  [RISCV] Don't process scalar instructions in VLOptimizer. NFC (#225656)

If an instruction doesn't define or use a vector register it won't
take part in the dataflow analysis. Skipping these improves compile
time. Measured to reduce geomean −0.379% instructions retired on
CTMark w/ a stage2 rva23u64 -O3 Clang build.


  Commit: 80a1eaf320f2d4e03bdde28a70151fe3467d14ba
      https://github.com/llvm/llvm-project/commit/80a1eaf320f2d4e03bdde28a70151fe3467d14ba
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    R llvm/test/Transforms/LICM/hoist-phi-metadata.ll
    R llvm/test/Transforms/LICM/hoist-phi.ll
    R llvm/test/Transforms/LICM/pr40317.ll

  Log Message:
  -----------
  [LICM] Drop control-flow hoisting support (#225630)

Control-flow hoisting handling in LICM was originally introduced for
hoisting PNs as part of a delayed phi-to-select conversion effort, whose
enabling however was soon reverted due to compile-time regressions and
the direction never pursued further. As such, unmaintained code has been
removed.


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

  Changed paths:
    M orc-rt/include/orc-rt/bedrock/Session.h
    M orc-rt/test/unit/CommonTestUtils.h
    M orc-rt/test/unit/bedrock/InProcessControllerAccessTest.cpp
    M orc-rt/test/unit/bedrock/SessionTest.cpp
    M orc-rt/test/unit/bedrock/SimpleNativeMemoryMapTest.cpp

  Log Message:
  -----------
  [orc-rt] Make Session::reportError(Error) noexcept. (#225651)

Session::reportError is called in contexts where throwing would be
unsafe (e.g. while holding another Error value to return via the stack),
so it must not throw.


  Commit: 7a3edbfbcf4acaaabb80e7e5073692690ef920cd
      https://github.com/llvm/llvm-project/commit/7a3edbfbcf4acaaabb80e7e5073692690ef920cd
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
    M lldb/test/API/api/multiple-debuggers/multi-process-driver.cpp
    M lldb/test/API/api/multithreaded/TestMultithreaded.py
    M lldb/test/API/api/multithreaded/common.h
    M lldb/test/API/api/multithreaded/listener_test.cpp
    M lldb/test/API/api/multithreaded/test_breakpoint_callback.cpp
    M lldb/test/API/api/multithreaded/test_breakpoint_location_callback.cpp
    M lldb/test/API/api/multithreaded/test_stop-hook.cpp

  Log Message:
  -----------
  [lldb][Windows] Enable the multithreaded and multiple-debuggers API tests (#224305)

`api/multithreaded` and `api/multiple-debuggers` build a C++ driver
against the SB API. Both were skipped on Windows with `"clang-cl does
not support throw or catch (llvm.org/pr24538)"`, which is no longer what
stops them. Two things do: the drivers fail to compile because
`common.h` and `multi-process-driver.cpp` include `<unistd.h>`
unconditionally, and once they compile they run on a different CRT than
`liblldb.dll`: the gnu-style clang driver links
[`libcmt`](https://github.com/llvm/llvm-project/blob/main/clang/lib/Driver/ToolChains/MSVC.cpp)
unless `-fms-runtime-lib=` is passed, so the driver gets the static CRT
while `liblldb.dll` gets the DLL one.

Fixes:

- Include `<direct.h>` and `<io.h>` instead of `<unistd.h>` on Windows,
and get the working directory with
[`_getcwd`](https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/getcwd-wgetcwd?view=msvc-170).
- `get_working_dir` returns a `std::string` now.
- `test_stop-hook.cpp` uses `_pipe`/`_fdopen` on Windows, and closes the
pipe streams instead of the descriptors they were opened over, write end
first so the interpreter's I/O thread sees EOF.
- Guard the `<unistd.h>` include in `multi-process-driver.cpp`.
- `buildDriver` passes `-fms-runtime-lib=dll` (`dll_dbg` for a Debug
build) and drops the `libcmt` the driver adds at the link step.

`test_breakpoint_location_callback` stays skipped, for an unrelated
reason: `BreakpointCreateByName` with `eFunctionNameTypeFull` resolves
no location in a PDB build, while `eFunctionNameTypeAuto` resolves one.
Tracked in #224303.

rdar://177435499


  Commit: 37e2844bc4681c69f61cbb55376a29ae0445c18c
      https://github.com/llvm/llvm-project/commit/37e2844bc4681c69f61cbb55376a29ae0445c18c
  Author: Vipul Cariappa <vipulcariappa at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/Redeclarable.h
    M clang/lib/Interpreter/IncrementalParser.cpp
    A clang/test/Interpreter/failed-input-keeps-redecls.cpp

  Log Message:
  -----------
  [clang-repl] Keep earlier declarations alive when an input fails (#218149)

Fixes #201844


  Commit: a3a45508d77ca1fa8161c85baaf5e64bc9b8be39
      https://github.com/llvm/llvm-project/commit/a3a45508d77ca1fa8161c85baaf5e64bc9b8be39
  Author: Igor Wodiany <igor.wodiany at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Object/DXContainer.h
    M llvm/lib/Object/DXContainer.cpp
    M llvm/lib/Object/MachOObjectFile.cpp

  Log Message:
  -----------
  [Object] Widen data size calculation to 64-bits to prevent overflow (#224635)

This patch widens selected operands of the product calculation to
`size_t`/`uint64_t` to prevent multiplication overflow when a 64-bit
data size or offset is being calculated. This fixes a number of issues
reported by a CodeQL scan.


  Commit: 5bb2e21c30de31871dd01279c13abcfa2c06e75f
      https://github.com/llvm/llvm-project/commit/5bb2e21c30de31871dd01279c13abcfa2c06e75f
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_store_legality.ll
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h

  Log Message:
  -----------
  [LV][NFC] Emit remarks when failing to vectorise early exit loops (#225078)

I spotted recently that when attempting to compile a function with an
early exit loop we don't emit any remarks when we fail to vectorise due
to possible faulting loads. This PR fixes that and other missing
remarks, plus I've also added missing tests for some cases where we fail
to vectorise early exit loops.

For the remarks, I've used debug information to uniquely identify the
remark and associate it with a particular function.

Tests were assisted by Codex (GPT 5.5)


  Commit: 34152bb7d2f37e4bedd6eb9b06a21ae54211aedc
      https://github.com/llvm/llvm-project/commit/34152bb7d2f37e4bedd6eb9b06a21ae54211aedc
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-prefetch.hip
    R clang/test/CIR/CodeGenHIP/builtins-amdgcn-s-prefetch-inst-nyi.hip

  Log Message:
  -----------
  [CIR][AMDGPU] Add support for AMDGCN s_prefetch builtins (#223228)

Adds codegen for the following AMDGCN s_prefetch builtins:

- __builtin_amdgcn_s_prefetch_data
- __builtin_amdgcn_s_prefetch_inst

These are lowered to the corresponding `llvm.amdgcn.s.prefetch`
intrinsics.

Assisted by: Claude Opus 5

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


  Commit: 60b069f413518552eb755d8b07082eb5dbf5bbfd
      https://github.com/llvm/llvm-project/commit/60b069f413518552eb755d8b07082eb5dbf5bbfd
  Author: Peng Sun <peng.sun at arm.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    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 MXFP support for REVERSE (#225058)

Accept the six block-scaled MX types in TOSA 1.1 draft compliance
checks. Preserve REVERSE on constant value splats whose block scales can
differ; reversing a unit dimension remains a no-op.

Cover supported types, version and extension requirements, invalid
shapes and axes, and block-scaled canonicalization.

Signed-off-by: Peng Sun <peng.sun at arm.com>


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

  Changed paths:
    M orc-rt/test/unit/CMakeLists.txt

  Log Message:
  -----------
  [orc-rt] Drop redundant DEFINE_SYMBOL ORC_RT_TEST_DLL_EXPORTS (#225685)

ORC_RT_TEST_DLL_EXPORTS was already defined in the previous block.


  Commit: b05fbd416a24dd85d7aff18016d47526b27c605f
      https://github.com/llvm/llvm-project/commit/b05fbd416a24dd85d7aff18016d47526b27c605f
  Author: Vy Nguyen <1762963+oontvoo at users.noreply.github.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M compiler-rt/lib/ubsan/CMakeLists.txt
    M compiler-rt/lib/ubsan/ubsan_loop_detect.cpp
    A compiler-rt/test/ubsan/TestCases/Misc/Posix/trap_loop_detect.cpp

  Log Message:
  -----------
  [compiler-rt][ubsan] Fix ubsan_loop_detect sigaction setup and dynamic symbol list (#225495)

`__ubsan_install_trap_loop_detection` passed an un-initted ` sigaction`
to `sigaction(SIGPROF, ...)`, with garbage in `sa_flags` and `sa_mask`
(such as setting `SA_RESETHAND`, blocking `SIGILL`, and omitting
`SA_SIGINFO`).
This PR fixes it by zero-initialising sigaction 

Two other drive-by cleanups:
- set `SA_SIGINFO | SA_RESTART` because ITIMER_PROF fires SIGPROF
periodically. Without SA_RESTART, any blocking syscall (read, write,
waitpid, etc.) interrupted by a periodic SIGPROF tick would spuriously
fail with EINTR instead of transparently resuming after SigprofHandler
returns.
- pass `EXTRA ubsan.syms.extra` to
`add_sanitizer_rt_symbols(clang_rt.ubsan_loop_detect ...)` in
`CMakeLists.txt` so `libclang_rt.ubsan_loop_detect.a.syms` is not
generated as an empty `{ };` dynamic list (which causes a syntax error
with GNU `ld.bfd`).


  Commit: 2b14a195cd76ab518545afe907e863f186690831
      https://github.com/llvm/llvm-project/commit/2b14a195cd76ab518545afe907e863f186690831
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M .github/workflows/ids-check.yml

  Log Message:
  -----------
  workflows/ids-check: Only run when llvm/ files are changed (#225458)

There is no reason to run this for changes to other projects/runtimes.


  Commit: 03fb798b28c2b8df00068a0043f6906b1134cdce
      https://github.com/llvm/llvm-project/commit/03fb798b28c2b8df00068a0043f6906b1134cdce
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanDominatorTree.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h

  Log Message:
  -----------
  [VPlan] Add missing exports to symbols used in tests (#225491)


  Commit: 945b9128ca6655df0dd372067988fea8d6bb8ed1
      https://github.com/llvm/llvm-project/commit/945b9128ca6655df0dd372067988fea8d6bb8ed1
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h

  Log Message:
  -----------
  [SCEV] Drop `LLVM_ABI` annotation from header-defined `getSCEVAtExit` (NFC) (#225732)

ids-check was previously failing.


  Commit: 1d1284d83ac2cb5d57dfd6cd082c815c597e0f4b
      https://github.com/llvm/llvm-project/commit/1d1284d83ac2cb5d57dfd6cd082c815c597e0f4b
  Author: Max Brandtner <maxbr at linux.ibm.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

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

  Log Message:
  -----------
  [SimplifyCFG] Fix typos in comments (NFC) (#225649)


  Commit: 869e02f412457ebeb3af54e159d550de75127f14
      https://github.com/llvm/llvm-project/commit/869e02f412457ebeb3af54e159d550de75127f14
  Author: Kunal Chadha <kunachad at qti.qualcomm.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/free-widening-casts.ll
    M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/multiple_reduction.ll

  Log Message:
  -----------
  [AArch64] Allow cost-free cast absorption into widening instructions with multiple users (#210460)

Extend getCastInstrCost to recognize cast absorption into widening
instructions (uaddl, saddw, urhadd, etc.) when the cast has multiple
users, not just one.

Previously, the check only looked at a single user (`I->hasOneUser()`),
so a zext/sext feeding more than one widening-eligible instruction was
always costed as non-free, even when every user could individually
absorb it.

This also affected codegen: `optimizeExtendOrTruncateConversion` in
`AArch64ISelLowering.cpp` decides whether to lower a double-widening
zext via tbl shuffles based on whether `getCastInstrCost` reports the
cast as free. With multi-user casts always costed as non-free, this
took the tbl-lowering path in cases where every user could actually
absorb the cast for free, generating unnecessary tbl instructions.

Compiler Explorer:
- Current Assembly: https://godbolt.org/z/hG7oe5h5M
- Expected Assembly: https://godbolt.org/z/EE6xnaxoG

This change factors the per-user check out into
`getUserAbsorbedCastCost()` and applies it across all users of the
cast. The cast is only treated as free if every user can absorb it;
the reported cost is the max of the per-user absorbed costs, to stay
conservative when a partial-widening cost (Src->Src*2) applies for
some user.

Tests:
- free-widening-casts.ll: new cost-model cases with multiple absorbing
  users. These cases had a cost of 1 without this change.
- zext-to-tbl.ll: new codegen coverage showing tbl is no longer
  generated once the cast is correctly recognized as free.


  Commit: 141a9763fff5e135b313b273b44a1abea8ee6b2f
      https://github.com/llvm/llvm-project/commit/141a9763fff5e135b313b273b44a1abea8ee6b2f
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-09-23 (Wed, 23 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:
  -----------
  Revert "[clang][OpenMP] ORDERED clause is allowed on FOR in 4.5+ (#22… (#225669)

…5106)"

This reverts commit b0d31f40189dbdcf8b62e2c6ef79b039c5202aba.

This missed the restriction that ORDERED is not allowed when DISTRIBUTE
is a constituent construct.


  Commit: d86a3c5b18f762959d2eb6cf5a2f2bb958589a11
      https://github.com/llvm/llvm-project/commit/d86a3c5b18f762959d2eb6cf5a2f2bb958589a11
  Author: Vy Nguyen <1762963+oontvoo at users.noreply.github.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn

  Log Message:
  -----------
  Fix BUILD file. (#225731)

CMakeList.txt was updated in
https://github.com/llvm/llvm-project/pull/225495


  Commit: 3bd7ee0215b7cfeeed0a0f7dc2b0b1bb62fe33cc
      https://github.com/llvm/llvm-project/commit/3bd7ee0215b7cfeeed0a0f7dc2b0b1bb62fe33cc
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/unistd.yaml
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/pause.h
    M libc/src/unistd/CMakeLists.txt
    M libc/src/unistd/linux/CMakeLists.txt
    A libc/src/unistd/linux/pause.cpp
    A libc/src/unistd/pause.h
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/pause_test.cpp

  Log Message:
  -----------
  [libc] Implement pause (#225365)

Add the linux_syscalls::pause wrapper using SYS_ppoll, along with the
unistd pause entrypoint and unit test on Linux.

Assisted-by: Automated tooling, human reviewed.


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

  Changed paths:
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/test/Transforms/LowerTypeTests/aarch64-jumptable-dbg.ll
    M llvm/test/Transforms/LowerTypeTests/aarch64-jumptable.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-direct-call1.ll
    M llvm/test/Transforms/LowerTypeTests/function.ll
    M llvm/test/Transforms/LowerTypeTests/icall-branch-funnel.ll
    M llvm/test/Transforms/LowerTypeTests/nocfivalue.ll
    M llvm/test/Transforms/LowerTypeTests/simple.ll
    M llvm/test/Transforms/LowerTypeTests/x86-jumptable-dbg.ll
    M llvm/test/Transforms/LowerTypeTests/x86-jumptable.ll
    M llvm/test/Transforms/MergeFunc/cfi-thunk-merging.ll

  Log Message:
  -----------
  [LowerTypeTests] Use getGetElementPtr() overload accepting DataLayout (#225688)

To produce constexpr gep in canonical ptradd form.


  Commit: a68d1990c7a7c5ddfc95d766ce2ce7bbc69e6c32
      https://github.com/llvm/llvm-project/commit/a68d1990c7a7c5ddfc95d766ce2ce7bbc69e6c32
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M lldb/source/API/SBValue.cpp
    M lldb/test/API/python_api/watchpoint/TestSetWatchpoint.py
    M lldb/test/API/python_api/watchpoint/main.c

  Log Message:
  -----------
  [lldb] Fix SBValue::Watch on a local variable. (#220292)

Setting a watchpoint on an SBValue variable should not trigger after the
life time of the variable. because a new frame can reuse the same
address for a different variable.

Set the name of the variable as the watch spec.


  Commit: 9aace93cb4c5330392082d9b179cd0cc41353bfd
      https://github.com/llvm/llvm-project/commit/9aace93cb4c5330392082d9b179cd0cc41353bfd
  Author: Ebuka Ezike <e_ezike at apple.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Host/JSONTransport.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb_dap/testcase.py

  Log Message:
  -----------
  [lldb-dap] Log the error when the adapter fails to write. (#225191)

I noticed this when trying to debug some failures, the Python log are
missing responses when compared to the C++ log.

Change the test case suffix `testcase` from `test_dap` to avoid
confusion with a session log (`dap{session_number}.log`).


  Commit: dd33f57479c1d1d86649a1867b79be88ce04da73
      https://github.com/llvm/llvm-project/commit/dd33f57479c1d1d86649a1867b79be88ce04da73
  Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
  Date:   2026-09-23 (Wed, 23 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/Lower/Bridge.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/CompilerGeneratedNames.cpp
    M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
    A flang/test/Driver/funique-internal-linkage-names.f90
    A flang/test/Lower/unique-internal-linkage-names.f90
    A flang/test/Transforms/function-attrs-unique-internal-linkage-names.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/sample-profile-suffix-elision-policy.ll
    A mlir/test/Target/LLVMIR/sample-profile-suffix-elision-policy.mlir

  Log Message:
  -----------
  [Flang][Driver] Added support for -funique-internal-linkage-names option  (#216680)

The option `-funique-internal-linkage-names` appends an MD5 hash suffix
`(.__uniq.<hash>)` to internal procedure names and sets
`"sample-profile-suffix-elision-policy"="selected"` on those functions,
enabling the sample profiler to correctly match profiles to internal
procedures across compilation units.

Implementation:
- Added a unique hash suffix to internal procedure names when
`-funique-internal-linkage-names` is enabled. The suffix is derived from
the source file path and disambiguates identically named internal
procedures across different compilation units, which helps accurate
sample-based profiling.
- Added the function attribute
`"sample-profile-suffix-elision-policy"="selected"` on internal
procedures in LLVM IR. This attribute is used by the LLVM sample profile
loader to control suffix stripping during profile matching


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

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp

  Log Message:
  -----------
  [ORC] Mangle EH-frame alloc-action CI names as C (#225682)

Flip the EH-frame register/deregister alloc-action names from Verbatim
to C, so they carry the target's C mangling. These are bootstrap-map
names only (the implementing functions have different linker names):
they're registered by addDefaultBootstrapValuesForHostProcess via
mangledCopy of the same specs, and resolved by EHFrameRegistration-
Plugin and EPCGenericRTDyldMemoryManager through the same specs, so both
sides stay in sync.


  Commit: a8af62d00b82c9226cca3b4abdf376158f6bde53
      https://github.com/llvm/llvm-project/commit/a8af62d00b82c9226cca3b4abdf376158f6bde53
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

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

  Log Message:
  -----------
  [RISCV] Use switches for opcode checks in RISCVInstrPredicates.td. NFC (#225695)

CheckOpcode expands out to a linear search which is slow when there's
lots of opcodes in the list. Using a switch statement allows a jump
table to be emitted which improves compile time, since these predicates
are hammered quite frequently.

Measured to reduce geomean -1.15% instructions retired on CTMark w/ a
stage2 rva23u64 -O3 Clang build.

Assisted-By: Opus 5.5


  Commit: 29ce634abb29fc59a147e63e72426c343becf4f9
      https://github.com/llvm/llvm-project/commit/29ce634abb29fc59a147e63e72426c343becf4f9
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M lldb/unittests/tools/lldb-server/tests/LLGSTest.cpp
    M lldb/unittests/tools/lldb-server/tests/TestClient.cpp

  Log Message:
  -----------
  [lldb] [Windows] Let LLGS TestClient tolerate async `O` output packets (#225521)

My PR (swiftlang/llvm-project#14269) has a pre-merge test failure on
Windows, and that lead me looking at test LLGSTest.cpp deeply

  ```
  Send Packet: vCont;c
  Read Packet: O1b5b3f32356c
  lldb-server exiting...
LLGSTest.cpp(30): error: Value of:
llvm::detail::TakeError(Client.ContinueAll())
  Expected: succeeded
    Actual: failed  (Unable to parse StopReply: Invalid packet)
  ```

`TestClient::SendMessage` read exactly one packet and had no handling
for `O`
(inferior stdout) packets, but inferior output arriving before a stop
reply
was parsed as the stop reply itself. `StopReply::create` accepts only
`T` and
`W`, so it failed.  The `O1b5b3f32356c` decodes to `ESC [ ? 2 5 l`, the
sequence that hides the cursor. Windows lldb-server gives the inferior a
ConPTY
created with `PSEUDOCONSOLE_INHERIT_CURSOR`, and ConPTY writes its own
VT
initialization bytes to the output pipe, which reach the client as an
`O` packet.

The fix is that `SendMessage` now uses the inherited
`SendPacketAndReceiveResponseWithOutputSupport`, which loops over
leading `O`
packets via `ReadPacketWithOutputSupport` and passes each payload to a
callback. `TestClient::Continue` had the same gap in the opposite order:
after a
`W` or `X` reply it read one raw packet and required
`ErrorDisconnected`, so an `O`
packet arriving before the socket closed failed the test. It now reads
through
`ReadPacketWithOutputSupport` as well.

The fix reverts 5032c6ea0803 ("[lldb-server] Disable a test on Windows
until it can be
fixed"), which disabled `LaunchModePreservesEnvironment` on Windows.

18b211cb1521 ("Disable stdin/stdout for environment_check inferior
process")
worked around the same root cause from a different source, where an
allocator
message on stderr under sanitizers reached the client the same way. That
commit noted the client "doesn't handle that unexpected output"; this
handles
it.

Assisted-by: claude


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

  Changed paths:
    M orc-rt/test/unit/AllocActionTestUtils.h
    M orc-rt/test/unit/BedrockTestUtils.h
    M orc-rt/test/unit/CommonTestUtils.h
    M orc-rt/test/unit/DirectCaller.h
    M orc-rt/test/unit/Inputs/RTTICrossDylibTestError.h
    M orc-rt/test/unit/Inputs/RTTICrossDylibTestLib.cpp
    M orc-rt/test/unit/SimplePackedSerializationTestUtils.h
    M orc-rt/test/unit/bedrock/BootstrapInfoTest.cpp
    M orc-rt/test/unit/bedrock/NativeDylibManagerTest.cpp
    M orc-rt/test/unit/bedrock/SocketHandleTest.cpp
    M orc-rt/test/unit/bedrock/SocketTestUtils.h
    M orc-rt/test/unit/bedrock/sps/CallSPSCITest.cpp
    M orc-rt/test/unit/bedrock/sps/MemoryAccessSPSCITest.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/SimpleRemoteCAOverSocketTest.cpp
    M orc-rt/test/unit/bedrock/sps/SimpleRemoteCATest.cpp
    M orc-rt/test/unit/bedrock/sys/posix/SocketTestUtils.cpp
    M orc-rt/test/unit/support/AllocActionTest.cpp
    M orc-rt/test/unit/support/RTTICrossDylibTest.cpp
    M orc-rt/test/unit/support/bind-test.cpp
    M orc-rt/test/unit/support/sps/SPSAllocActionTest.cpp
    M orc-rt/test/unit/support/sps/SPSMemoryFlagsTest.cpp
    M orc-rt/test/unit/support/sps/SPSWrapperFunctionBufferTest.cpp
    M orc-rt/test/unit/support/sps/SPSWrapperFunctionTest.cpp
    M orc-rt/test/unit/support/sps/SimplePackedSerializationTest.cpp

  Log Message:
  -----------
  [orc-rt] Move test utils into orc_rt::test, drop qualification (#225733)

Move unit test helpers from the global namespace into orc_rt::test. This
makes them consistent with the newly added ErrorMatchers.h utils, and
allows us to drop the 'orc_rt::' qualification on a lot if identifiers.


  Commit: 9120c13792128a993c90e4046717b3c801f787f2
      https://github.com/llvm/llvm-project/commit/9120c13792128a993c90e4046717b3c801f787f2
  Author: Sergey Semenov <sergey.semenov at intel.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M libsycl/src/detail/device_image_wrapper.hpp
    M libsycl/src/detail/program_manager.cpp
    M libsycl/src/detail/program_manager.hpp
    A libsycl/src/detail/suppress_extra_warnings.hpp

  Log Message:
  -----------
  [libsycl][NFC] Suppress shadow warnings from LLVM headers (#225089)

The warning for a local variable shadowing a class member is enabled for
libsycl, but not LLVM as a whole. Suppress those for included LLVM
headers.


  Commit: 5cf984c8fd62b53a548d17f125611d89ffde68bd
      https://github.com/llvm/llvm-project/commit/5cf984c8fd62b53a548d17f125611d89ffde68bd
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    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] Update reverse tests for direct axis syntax (#225751)

Use the axis(...) assembly syntax in block-scaled reverse tests. This
matches the existing TOSA operation format and restores test parsing.

Fix post merge #225058 

Assisted-by: Codex


  Commit: 4b7523d301eac1c7e3b6491f99836e22dc5e804a
      https://github.com/llvm/llvm-project/commit/4b7523d301eac1c7e3b6491f99836e22dc5e804a
  Author: Sergey Semenov <sergey.semenov at intel.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/Object/Binary.h

  Log Message:
  -----------
  [llvm][NFC] Fix extra semicolon warnings (#224317)

Found while cleaning up additional warnings enabled for libsycl.


  Commit: a5bc26f7d2f4d9fbe299288788e1e0377fb406c3
      https://github.com/llvm/llvm-project/commit/a5bc26f7d2f4d9fbe299288788e1e0377fb406c3
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
    M mlir/test/Conversion/MemRefToSPIRV/atomic.mlir

  Log Message:
  -----------
  [mlir][SPIR-V] Support atomic_rmw xori in MemRefToSPIRV (#213204)


  Commit: 3c63fcb246f3bf5c2717ec6bd567a46cd65a4c25
      https://github.com/llvm/llvm-project/commit/3c63fcb246f3bf5c2717ec6bd567a46cd65a4c25
  Author: aokblast <aokblast at FreeBSD.org>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M libcxx/src/std_stream.h
    A libcxx/test/libcxx/input.output/iostream.objects/cin-read-stdio-sync.sh.cpp

  Log Message:
  -----------
  [libcxx] Speed up xsgetn for always_noconv (#212010)


  Commit: decb0ee138505e73d0eced11a36ec4fee6c0a1ce
      https://github.com/llvm/llvm-project/commit/decb0ee138505e73d0eced11a36ec4fee6c0a1ce
  Author: Igor Wodiany <igor.wodiany at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    A llvm/test/TableGen/RegisterInfoEmitter-noncovered-subreg-lanemask.td
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp

  Log Message:
  -----------
  [TableGen] Handle the non-`CoveredBySubRegs` case in `computeRegUnitLaneMasks` (#223653)

Currently `computeRegUnitLaneMasks` ignores non-leaf subregisters as
"their lane masks are fully covered by the leaf subregisters". However
this only holds when `CoveredBySubRegs` is set to true. Otherwise it
causes subregisters with `CoveredBySubRegs` set to false to have missing
lanes.

For example removing `hi16` from SGPR in AMDGPU causes `sub1` to have a
lane mask of `0x8`, which is equal to `sub1_lo16`, whereas the correct
mask should be `0xC` as although `hi16` is not addressable `sub1` covers
both halves.

This patch adds a logic that identifies unclaimed lanes and backfills
them into appropriate subregister units.

Assisted-by: Claude Code


  Commit: 12d319e5e5c9609f876bf07dab5716329c105dd7
      https://github.com/llvm/llvm-project/commit/12d319e5e5c9609f876bf07dab5716329c105dd7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/test/Transforms/WholeProgramDevirt/export-vcp.ll
    M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-begin.ll
    M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-check.ll
    M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-end.ll
    M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-small-alignment-32.ll
    M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-small-alignment-64.ll

  Log Message:
  -----------
  [WPD] Use getGetElementPtr() overload accepting DataLayout (#225754)

To produce constant GEPs in canonical ptradd form.


  Commit: a88189669034268827befe9bb65880a31e91778d
      https://github.com/llvm/llvm-project/commit/a88189669034268827befe9bb65880a31e91778d
  Author: ahradwan2-public <ahmedwahab1997 at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

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

  Log Message:
  -----------
  [AMDGPU][NFC] Compute prologue frame size/alignment in 64-bit (#224734)

In `SIFrameLowering::emitPrologue` the stack-realignment sequence computes its
`S_AND` mask (`-Alignment * scale`), `S_ADD` offset (`(Alignment-1) * scale`)
and the final SP adjustment (`RoundedSize * scale`) from 32-bit locals; the
multiply is done in 32 bits, which CodeGen static analysis flags as a possible
truncation (`cpp/integer-multiplication-cast-to-long`). Widen `NumBytes`,
`RoundedSize` and Alignment to 64-bit. The `AsmPrinter` still truncates via
`printImmediate32`, so emitted asm is unchanged; only the raw MIR immediate of
the realign `S_AND_B32` changes (e.g. `4294443008 -> -524288`). The seven
autogenerated .mir frame tests are regenerated accordingly.

Assisted-by: Cline


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/finalize-isel-vadd-co-u32-dead-carry.mir
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll

  Log Message:
  -----------
  AMDGPU: Preserve carry-out dead flag in V_ADD_CO_U32 custom inserter (#225736)

EmitInstrWithCustomInserter rebuilds V_ADD/SUB_CO_U32_e32 but did
not carry over the dead flag. Preserve the flag to reduce implicitly
depending on dead flags recomputed by LiveVariables.

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


  Commit: 68d3c25ee618d057ef16cea97b34dc2b85d46118
      https://github.com/llvm/llvm-project/commit/68d3c25ee618d057ef16cea97b34dc2b85d46118
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/test/CIR/CodeGen/side-effect.cpp
    A clang/test/CIR/Transforms/abi-lowering/memory-effects-argmem-indirect.cir
    A clang/test/CIR/Transforms/abi-lowering/memory-effects-argmem.cir

  Log Message:
  -----------
  [CIR] Widen memory effects for ABI argument memory (#221067)

A const or pure callee that the ABI rewrites to take an sret slot or a
byval pointer reaches argument memory whatever the source declared, and
a variadic callee does too since its declared parameters do not cover
every argument. CallConvLowering was leaving memory_effects untouched,
so LowerToLLVM emitted memory(none) or memory(read) for functions that
do touch that memory.

CallConvLowering now sets arg_mem to readwrite on #cir.memory_effects
once it knows the signature, and does the same at a call site when the
call passes a slot.

Assisted-by: Cursor / claude-opus-5


  Commit: 0601a126c256e09faea980045ac0b787b49dfe39
      https://github.com/llvm/llvm-project/commit/0601a126c256e09faea980045ac0b787b49dfe39
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Short-circuit inelegible functions when compiling (#225618)

Don't bother setting up parameter maps for functions we know we won't
compile.


  Commit: 0e718a81c3a564de6c4c7193c1bd748f7f96eb29
      https://github.com/llvm/llvm-project/commit/0e718a81c3a564de6c4c7193c1bd748f7f96eb29
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
    A llvm/test/CodeGen/AMDGPU/coexec-sched-barrier-latency.mir
    M llvm/test/CodeGen/AMDGPU/ldsdmacnt_sched.mir

  Log Message:
  -----------
  [AMDGPU] Add BarrierLatency mutations to CoexecSched (#200954)

Change-Id: Id86bbdb427b23f68d39ceee196e4232e91974186


  Commit: 2711c15ebeda051a6b3f974c217bb50fdf3bfce2
      https://github.com/llvm/llvm-project/commit/2711c15ebeda051a6b3f974c217bb50fdf3bfce2
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpHelpers.h
    M clang/lib/AST/ByteCode/Pointer.h

  Log Message:
  -----------
  [clang][bytecode] Add a CheckLoad overload taking a PtrView (#225741)

We sometimes create intermediate pointers, which always insert
themselves into the pointer list of a block. Which is slow.

This adds a `CheckLoad()` overload taking a `PtrView`, which we can use
in those cases.


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

  Changed paths:
    M clang/test/CIR/CodeGen/base-init-eh.cpp
    M clang/test/CIR/CodeGen/ctor-null-init.cpp
    M clang/test/CIR/CodeGen/delegating-ctor.cpp
    M clang/test/CIR/CodeGen/destructor-vtable-reinit.cpp
    M clang/test/CIR/CodeGen/global-ptr-init.cpp
    M clang/test/CIR/CodeGen/inherited-ctors.cpp
    M clang/test/CIR/CodeGen/multi-vtable.cpp
    M clang/test/CIR/CodeGen/rtti-member-pointer.cpp
    M clang/test/CIR/CodeGen/rtti-qualfn.cpp
    M clang/test/CIR/CodeGen/vbase.cpp
    M clang/test/CIR/CodeGen/virtual-function-calls.cpp
    M clang/test/CIR/CodeGen/vtt.cpp
    M clang/test/CIR/CodeGenCXX/base-layout.cpp
    M clang/test/CIR/CodeGenCXX/vtable-pure-deleted-funcs.cpp

  Log Message:
  -----------
  [CIR] Fixup tests after GEP type changed (#225770)

CIR tests with OGCG check lines for GEPs changed to use i8 instead of a
different type in many cases. This patch fixes it. This is from #225415

Every fix ended up moving OGCG closer to what CIR does, so this is a
generally good thing.


  Commit: 93236c1e0296ff92f04b38d37ae927673be9f536
      https://github.com/llvm/llvm-project/commit/93236c1e0296ff92f04b38d37ae927673be9f536
  Author: dong jianqiang <dongjianqiang2 at huawei.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/ELF_aarch64.h
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
    M llvm/lib/ExecutionEngine/JITLink/ELF.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
    A llvm/test/ExecutionEngine/JITLink/AArch64/ELF_ehframe_be.s
    A llvm/test/ExecutionEngine/JITLink/AArch64/ELF_relocations_be.s

  Log Message:
  -----------
  [JITLink] Support AArch64 big-endian (BE8) ELF objects (#225120)

The AArch64 ELF backend hard-coded ELF64LE, so aarch64_be 
objects failed to load. Follow the PPC64 multi-endian pattern: 
the graph builder, aarch64::applyFixup, ELFJITLinker_aarch64, 
and the link entry points (link_ELF_aarch64 / link_ELF_aarch64_be) 
are templated on llvm::endianness, with data fixups written in the 
compile-time target endianness and instructions always little-endian 
(the A64 ISA is word-invariant).


  Commit: 6d617b831f5b9f354753106f6ffe5fc482209756
      https://github.com/llvm/llvm-project/commit/6d617b831f5b9f354753106f6ffe5fc482209756
  Author: Jason Van Beusekom <jason.van-beusekom at hpe.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M flang/lib/Lower/IO.cpp
    A flang/test/Lower/io-implied-do-collapse.f90

  Log Message:
  -----------
  [Flang] add support for collapsed io calls for implicit do loops (#212646)

This is a extension of the work done in #163945 by addind support for IO
lowering to recognize a contiguous single-level io-implied-do in an
unformatted transfer with no condition specifiers, and collapse it into
a single array-section descriptor call instead of emitting a per-element
fir.do_loop.

see RFC:
https://discourse.llvm.org/t/rfc-add-support-for-collapsed-io-calls-for-implicit-do-loops/91416/2


Assisted-by: Opus 4.8


  Commit: 8489203ec846d08db23532530419748de09c3374
      https://github.com/llvm/llvm-project/commit/8489203ec846d08db23532530419748de09c3374
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
    A flang/test/Transforms/licm-acc-captured-ref.fir
    A flang/test/Transforms/licm-acc-compute-only.fir
    A flang/test/Transforms/licm-scope.fir

  Log Message:
  -----------
  [flang] Support scoped LICM and OpenACC capture provenance (#225401)

Follow compute-region capture operands when checking whether scalar and
scalar-descriptor loads are safe to speculate. Preserve the existing
optional, array-element, and loop-modification safety checks.

Add an optional only-inside operation-name selector while retaining
function-scoped alias analysis. Resolve the name once per function and
compare interned operation names during ancestor traversal. The default
continues to select all loops. An explicit name selects loops with a
matching ancestor within the function, including the function itself.

Cover capture safety, host exclusion, non-OpenACC and nested scopes,
loop boundaries, unmatched names, and the function boundary.

The motivation for this is to allow running LICM only on device relevant
loop at O0.


  Commit: 6e6507c6c32917f228a0497fae83ab9d2d3dddf6
      https://github.com/llvm/llvm-project/commit/6e6507c6c32917f228a0497fae83ab9d2d3dddf6
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/MLRegAlloc/Inputs/reference-log-noml.txt
    M llvm/test/CodeGen/MLRegAlloc/Inputs/reference-prio-log-noml.txt
    M llvm/test/CodeGen/MLRegAlloc/dev-mode-logging.ll

  Log Message:
  -----------
  [MLGO] Update tests after #220090 (#225811)

PR #220090 changed quite a bit some of the costs/default behaviors which
manifested in test failures for the dev mode logging tests.


  Commit: bed99cbb50b83f8cdd87f273aee4d6b99dd67a9d
      https://github.com/llvm/llvm-project/commit/bed99cbb50b83f8cdd87f273aee4d6b99dd67a9d
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
    R flang/test/Transforms/licm-acc-captured-ref.fir
    R flang/test/Transforms/licm-acc-compute-only.fir
    R flang/test/Transforms/licm-scope.fir

  Log Message:
  -----------
  Revert "[flang] Support scoped LICM and OpenACC capture provenance" (#225813)

Reverts llvm/llvm-project#225401
Breaks shared library builds.


  Commit: f79899f140e5a02a733a8c8d1cf456d658a3739a
      https://github.com/llvm/llvm-project/commit/f79899f140e5a02a733a8c8d1cf456d658a3739a
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M .github/workflows/libcxx-benchmark-commit.yml
    M .github/workflows/libcxx-pr-benchmark.yml
    M libcxx/utils/ci/lnt/README.md
    M libcxx/utils/ci/lnt/machines.json
    M libcxx/utils/ci/lnt/run-benchmarks
    M libcxx/utils/ci/run-buildbot

  Log Message:
  -----------
  [libc++] Encode Lit configuration parameters in machines.json (#225601)

Instead of hardcoding a bunch of Lit parameters in run-benchmarks,
encode them in machines.json and thread them through. This makes
machines.json closer to being the authoritative place describing the
full benchmark configuration.


  Commit: 71db60ced71917b09aaf117d900fadad4bb9e343
      https://github.com/llvm/llvm-project/commit/71db60ced71917b09aaf117d900fadad4bb9e343
  Author: Christian Krause <chris at christiankrause.de>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
    M llvm/lib/Target/Mips/MipsInstrInfo.cpp
    A llvm/test/CodeGen/Mips/fpu-delay-in-delay-slot.ll
    M llvm/test/CodeGen/Mips/llvm-ir/fptosi.ll
    M llvm/test/CodeGen/Mips/llvm-ir/load.ll
    M llvm/test/CodeGen/Mips/llvm-ir/select-dbl.ll
    M llvm/test/CodeGen/Mips/llvm-ir/select-flt.ll
    A llvm/test/CodeGen/Mips/mips1-fpu-load-delay.ll

  Log Message:
  -----------
  [Mips] Respect FPU hazards on MIPS-I to MIPS-III (#223411)

On the oldest MIPS processors the hardware does not wait for a value
loaded from memory to arrive before it runs the next instruction: the
compiler has to leave a one-instruction gap itself. It already did this
for whole-number loads, but not for floating-point ones, so float code
could read the register a moment too early and quietly compute with a
stale value. This change makes the compiler treat floating-point loads
and moves off the math unit the same way it treats whole-number loads,
fixing that silent wrong answer. Newer chips are unaffected: they wait
on their own, and no gap is added for them.

GCC models both of these: [ISA_HAS_LOAD_DELAY and
ISA_HAS_XFER_DELAY](https://github.com/gcc-mirror/gcc/blob/5115c7e447fc07457443df874bf57840e8316d5f/gcc/config/mips/mips.h#L1322-L1334)
in mips.h, and the [hazard/can_delay
attributes](https://github.com/gcc-mirror/gcc/blob/5115c7e447fc07457443df874bf57840e8316d5f/gcc/config/mips/mips.md#L756-L789).

I used Opus 5 (Anthropic) as an assistant while preparing this patch. I
did the investigation and diagnosis myself, reviewed and tested every
change, and verified the GCC source references above against the actual
GCC source before linking them.


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

  Changed paths:
    M .github/workflows/libcxx-pr-benchmark.yml
    M .github/workflows/libcxx-pr-test-tools.yml

  Log Message:
  -----------
  Partially Reapply "[libcxx] Move premerge jobs to k8s mode runner set (#221395)" (#225222)

This reverts commit 5dc57157f12f0ff676e823d9b4d98b45c07e5df2.

Fetching tags for some reason causes `actions/checkout` to fail more
often than not. It turns out we don't need that for any of the libc++
workflows, so just disable it on top of the revert and things should be
working.


  Commit: 36f7f848d562a410b21e14cf077a0631d76f0a98
      https://github.com/llvm/llvm-project/commit/36f7f848d562a410b21e14cf077a0631d76f0a98
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
    M llvm/lib/Frontend/Offloading/Utility.cpp
    M llvm/test/tools/llvm-offload-wrapper/coff-opt-ref.ll

  Log Message:
  -----------
  [Offloading] Use getGetElementPtr() overload accepting DataLayout (#225766)

To produce constant GEP in canonical ptradd representation.


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/store-chain-leading-slice-wider-vf.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the regressed vectorization (2 vs 4 before), NFC



Reviewers: 

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


  Commit: 3eecc4081d4ee225eda7375eee9f79e065f3c411
      https://github.com/llvm/llvm-project/commit/3eecc4081d4ee225eda7375eee9f79e065f3c411
  Author: Diego Novillo <dnovillo at nvidia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    M llvm/test/CodeGen/SPIRV/debug-info/debug-declare-dbg-value-variadic.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-declare.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-inlined-at.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-line-selection-merge.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-local-variable-dbg-value.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-type-pointer.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-value-constant-existing-type.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-value-constant.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-value-cross-block.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-value-merge-region.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-value-module-scope.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-value-postlegalizer-order.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-value-typedef-cycle.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-value-unsupported.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-value.ll

  Log Message:
  -----------
  [SPIRV] Emit NonSemantic DebugValue (#224158)

This adds support for emitting `DebugValue` in
`SPIRVNonSemanticDebugHandler` for `DBG_VALUE` records.

NOTE: Much of the new code was necessary to emit constants and their
types at module scope. I also added a bunch of tests as I started
getting into corner cases.

Since
[`DebugValue`](https://github.khronos.org/SPIRV-Registry/nonsemantic/NonSemantic.Shader.DebugInfo.html#DebugValue)
cannot have forward references, it can only reference already emitted
instructions. `DebugValue` cannot come after merge instructions either,
and SPIR-V requires an id defined in a function block to dominate a
non-phi use. The change has four parts:

1. `analyzeDebugRecords()` resolves placement and availability before
emission begins. Each record stays at its source position unless it lies
between a merge instruction and its terminator, in which case it moves
before the merge. A register value is accepted only when its definition
dominates the record. Records without a legal value are dropped.
2. A constant assignment needs a typed SPIR-V result id, but Machine IR
carries only untyped immediates. The type comes from the variable, and
`buildConstDbgValue()` decides whether the value is sign or zero
extended. The backend reuses a module `OpConstant` with that type and
value, or emits one alongside the line and column constants.
3. Debug info must be removable without changing what the module
requires. The handler creates `OpTypeBool` and 32-bit scalar types,
which need no capability, and reuses 8, 16 and 64-bit types only when
the module already defines them. Any other constant assignment is
dropped.
5. `SPIRVPostLegalizer::generateAssignType` placed `ASSIGN_TYPE` after a
`DBG_VALUE` naming the same register, because `updateRegType()` advances
the insertion point past the debug record. This change resets the
insertion point to just after the definition, so `ASSIGN_TYPE` comes
before the record that names it.


  Commit: dec20dfbe042962775095e5394b2979fde9a4f45
      https://github.com/llvm/llvm-project/commit/dec20dfbe042962775095e5394b2979fde9a4f45
  Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.sudot.ll

  Log Message:
  -----------
  [AMDGPU][InstCombine] Add sudot zero/constant folding tests. NFC (#225321)

<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: d343b26ef687cefe30e7f8072d6befa6f2e0829d
      https://github.com/llvm/llvm-project/commit/d343b26ef687cefe30e7f8072d6befa6f2e0829d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/extract-fmul-cost.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/store-chain-leading-slice-wider-vf.ll

  Log Message:
  -----------
  [SLP]Try the wider store slice when the leading VF=2 slice fails

With the register VF 2 the instruction count check may reject the
leading slice of a store chain.
Try the double-width slice at the same position first and keep the wider
slices for the rest of the chain once one is vectorized.

Fixes the remaining perf regression from #221717.

Reviewers: 

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


  Commit: f96f12533199911caea0ccc0fd96f18df37c8ca4
      https://github.com/llvm/llvm-project/commit/f96f12533199911caea0ccc0fd96f18df37c8ca4
  Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dot.ll

  Log Message:
  -----------
  [AMDGPU][InstCombine] Fold constant add/sub into the dot accumulator (#225002)

`amdgcn.{s,u}dot{2,4,8}(a, b, C) +/- K -> dot(a, b, C +/- K)` when both
the
accumulator C and K are constants. The new constant is computed with
wrapping APInt arithmetic to match the non-clamping accumulate.

Only applies when clamp is false (the saturating accumulate does not
reassociate) and the dot has a single use. K - dot is left alone since
it
would need the dot product negated.


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

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/ptrtoaddr-i32-index-width.ll

  Log Message:
  -----------
  [SCEV] Fix sign bits of pointers wider than their index type. (#225786)

ComputeNumSignBits counts bits over the full pointer width. If all sign
bits are in the high bits, the code previously did not adjust the number
of signed bits. For narrow index types, this could result in the number
of sign bits > than the narrow bitwidth triggering an assert in APInt
(test example has 64 bit pointer with 16 bit index width.

If all sign bits are in the high bits outside the index width, they do
not add any information for the index, just use 1 in that case.

Fixes a crash in the added tests.

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


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

  Changed paths:
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll

  Log Message:
  -----------
  [CostModel][X86] Add masked memory test coverage for VBMI2 capable CPUs (#225790)

Add tigerlake and znver4/5 coverage - znver4 is going to be a pain as it has awful compressstore perf :(

Prep work for #214613


  Commit: 0f58d0420f36f3f374e3ae35f679874e0b4ff4de
      https://github.com/llvm/llvm-project/commit/0f58d0420f36f3f374e3ae35f679874e0b4ff4de
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/TreeTransform.h

  Log Message:
  -----------
  [clang] Migrate away from PointerUnion::dyn_cast (NFC) (#225614)

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 on
UnexpandedParameterPack::first because it is always nonnull.
Specifically, UnexpandedParameterPack is constructed only in the
following places, all of which store a nonnull pointer in first, and
first is never modified afterward:

- CollectUnexpandedParameterPacksVisitor::addUnexpanded in
  SemaTemplateVariadic.cpp
- TransformLambdaExpr in TreeTransform.h
- TransformSizeOfPackExpr in TreeTransform.h

Assisted-by: Antigravity


  Commit: 53e9da7812f3fa8fa79ae5e000552e1110da8da7
      https://github.com/llvm/llvm-project/commit/53e9da7812f3fa8fa79ae5e000552e1110da8da7
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
    M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
    M llvm/lib/Target/AVR/AVR.h
    M llvm/lib/Target/DirectX/DXILOpBuilder.h
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    M llvm/lib/Target/Hexagon/Hexagon.h
    M llvm/lib/Target/Hexagon/HexagonGlobalScheduler.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.h
    M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCChecker.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.h
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h
    M llvm/lib/Target/Mips/Mips16ISelDAGToDAG.h
    M llvm/lib/Target/Mips/MipsAsmPrinter.h
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h
    M llvm/lib/Target/Mips/MipsSEISelLowering.h
    M llvm/lib/Target/Mips/MipsSubtarget.h
    M llvm/lib/Target/NVPTX/NVPTX.h
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
    M llvm/lib/Target/PowerPC/PPC.h
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp
    M llvm/lib/Target/X86/X86FixupInstTuning.cpp
    M llvm/lib/Target/XCore/XCoreISelLowering.h

  Log Message:
  -----------
  [Target] Remove declarations without definitions (NFC) (#225615)

initializeAArch64CFIFixupPass: Added on April 11, 2022 in commit
b4ad28da196d3c2b1bc064b4dc46c3e00e93438f without a definition.

AArch64InstructionSelector::selectReduction: The definition was removed
on November 13, 2023 in commit a604c4b562e99470e397f050f1e8707f923ebed7.

AArch64TargetELFStreamer::insertAttributeInPlace: Added on January 23,
2025 in commit ee99c4d4845db66c4daa2373352133f4b237c942 without a
definition.

ARMInstPrinter::printAM2PostIndexOp: The definition was removed on
September 22, 2012 in commit 2fdbdc58701ef41ab6b52c064723926e6ec4b44f.

ARMMCCodeEmitter::getMachineSoImmOpValue: The definition was removed on
October 12, 2010 in commit 12e493ace4fc5b499361122bc5f25d2c46bea5e4.

ARMMCCodeEmitter::getThumbSRImmOpValue: The definition was removed on
August 17, 2011 in commit 46dd413991f6fa74a1da3f139b386e364dfc9f78.

createAVRBranchSelectionPass: The definition was removed on July 5, 2017
in commit a24aa1990084c15f0ad27dbcff7ab1c96369f0f9.

dxil::DXILOpBuilder::getOpFunctionType: Added on August 2, 2024 in
commit 8cf85653b6f5c90b83f8a5741baad5725d6c6932 without a definition.

dxil::DXILBitcodeWriter::VSTOffsetPlaceholder,
dxil::DXILBitcodeWriter::writeIdentificationBlock,
dxil::DXILBitcodeWriter::writePerModuleFunctionSummaryRecord,
dxil::DXILBitcodeWriter::writeModuleLevelReferences,
dxil::DXILBitcodeWriter::addToStrtab,
dxil::DXILBitcodeWriter::createNamedMetadataAbbrev,
dxil::DXILBitcodeWriter::writeNamedMetadata,
dxil::DXILBitcodeWriter::pushGlobalMetadataAttachment,
dxil::DXILBitcodeWriter::writeOperandBundleTags,
dxil::DXILBitcodeWriter::writeSyncScopeNames,
dxil::DXILBitcodeWriter::writeOperandBundles,
dxil::DXILBitcodeWriter::writeGlobalValueSymbolTable: Added on
April 14, 2022 in commit f2526c1a5c6fe6d2740b68e2d73b85c958fd2719
without uses or definitions.

initializeHexagonMergeActivateWeightPass,
createHexagonMergeActivateWeight: Added on August 5, 2024 in commit
c04857cb2c9f6f2e8add61192c62e48a83938efd without definitions.

createHexagonTargetTransformInfoPass: Added on June 15, 2015 in commit
56efafc0566def51ec7e632e09574ed553296b48 without a definition.

HexagonGlobalSchedulerImpl::CanPromoteToDotNew: Added on February 20,
2026 in commit 7064ff2226141034fdb264c29b97acbc733f8dae without a
definition.

HexagonTargetLowering::LowerANY_EXTEND,
HexagonTargetLowering::LowerSIGN_EXTEND,
HexagonTargetLowering::LowerZERO_EXTEND: The definitions were removed on
February 6, 2018 in commit 8abaf8954a97f20d0fd036e8e32e4b69d23f342e.

HexagonTargetLowering::LowerEH_LABEL: Added on December 12, 2011 in
commit 1213a7a57fdcb6c875b3f79103fc96d3e9d30b40 without a definition.

HexagonPacketizerList::isCurifiable: Added on December 16, 2015 in
commit 56bbf54b4303cac8772b6d66e3bd0668f8013067 without a definition.

HexagonMCChecker::checkBranches: The definition was removed on
December 11, 2017 in commit a8ab1b75cb0d84ea61642d7b7c0139e6e367c28e.

createHexagonMCRegisterInfo: Added on February 6, 2017 in commit
8cdfe8ecf3dd14d128148c5ff0b01d74b082e3c2 without a definition.

HexagonShuffler::restrictNoSlot1: Added on January 17, 2020 in commit
c1873631d0a8f2acca4ab428a1e9abea844d97ff without a definition.

MipsAsmParser::parseImm: The definition was removed on August 8, 2016 in
commit 3feeb9c851a193f42d890b35f36816fae198860f.

MipsAsmParser::validateMSAIndex: The definition was removed on April 1,
2014 in commit b50ccf8e26653781191491aab90c7379f29bd5e1.

MipsMCCodeEmitter::getMSAMemEncoding: The definition was removed on
March 31, 2016 in commit dc0602a2c20a3f514541165a19cb1534597c5dc6.

Mips16DAGToDAGISel::initMips16SPAliasReg: The definition was removed on
June 16, 2016 in commit de7816b0cd3ffbd9775681c408298febe4c10fe3.

MipsAsmPrinter::EmitInstrWithMacroNoAT: The definition was removed on
June 2, 2012 in commit 23327b30ef9af2323dd20248e311ef454f9e0dfa.

MipsTargetLowering::emitSEL_D: The definition was removed on July 20,
2017 in commit be0bc71e023455a32d074b69054b6ffee6f1160e.

MipsSEDAGToDAGISel::selectMULT: The definition was removed on April 11,
2013 in commit 4f1130eb66ff01128c0061ace377c10b74128a45.

MipsSETargetLowering::lowerINT_TO_FP,
MipsSETargetLowering::lowerFP_TO_INT: The definitions were removed on
June 17, 2026 in commit de84e7ccc602fe2ef8b886a9b095c80d110f61a0.

MipsSubtarget::IsLinux: All uses were removed on December 19, 2014 in
commit 8985ba912f00de68f3fccf8bf440a30bf5bdb89e.

MipsSubtarget::OverrideMode, MipsSubtarget::setHelperClassesMips16,
MipsSubtarget::setHelperClassesMipsSE: All uses of OverrideMode and the
definitions of setHelperClassesMips16 and setHelperClassesMipsSE were
removed on July 18, 2014 in commit
4e7d1e7e7bb36bcd715297b36d688bdc0ed96bdf.

initializeNVVMReflectPass: The definition was removed on April 10, 2025
in commit 701d726ef09ea89909df9bd2fdc63c63758fe8d6.

NVPTXDAGToDAGISel::SelectTexSurfHandle: The definition was removed on
June 25, 2025 in commit 70333de6cfa76d2e0e36720d6065edd501a3ad8a.

NVPTXDAGToDAGISel::tryConstantFP: The definition was removed on
December 19, 2024 in commit 310e79875752886a7713911e2a1ec14bc75bd4b3.

NVPTXDAGToDAGISel::SelectCpAsyncBulkTensorReduceCommon: The definition
was removed on August 6, 2026 in commit
1ac19e41a0674925911e88cc5218dfd95a09a3ac.

createPPCMachObjectWriter: The definition was removed on March 2, 2020
in commit 3e851f4a688c42315355aae743b403dddeba9860.

createPPCExpandISELPass: The definition was removed on August 27, 2024
in commit 8e901c255df45e38cb1d69a576804029e20868bf.

SystemZTargetLowering::convertPrevCompareToBranch: The definition was
removed on July 25, 2013 in commit
c3f85d73ab781601b2aababa8ef6572fa437c4ff.

VEAsmParser::parseCCOpOperand: Added on June 5, 2020 in commit
117c0d7c1c12e5c82e0f5498fec511e8ae08d9ca without a definition.

VEAsmParser::parseRDOpOperand: Added on June 10, 2020 in commit
34fef0c980446c3ea9595328e0e525db222870f0 without a definition.

WebAssemblyOptimizeReturnedLegacy::visitCallBase: The definition was
moved to a helper class on July 15, 2026 in commit
491539a8b801aad5706cc32fc54a319791d57a91.

X86FixupInstTuningLegacy::processInstruction: The definition was moved
to a helper class on January 12, 2026 in commit
f6d0a512972a74ef100723b9526a6a0ddb23f894.

XCoreTargetLowering::getReturnAddressFrameIndex: Added on November 7,
2008 in commit ca08e0645a9629980156208506b6ae463b746e42 without a
definition.

Assisted-by: Antigravity


  Commit: 20c7e959ac021728f493a1d9aca6883b607313ee
      https://github.com/llvm/llvm-project/commit/20c7e959ac021728f493a1d9aca6883b607313ee
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/test/CodeGen/AMDGPU/inline-asm-out-of-bounds-register.ll

  Log Message:
  -----------
  [AMDGPU] Fix assert on empty inline asm register constraint (#225743)

An empty register name reaches this parser from user source, where
StringRef::front() asserts


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/change-scc-to-vcc.mir
    A llvm/test/CodeGen/AMDGPU/move-scalar-carry-to-valu-dead-vcc.mir
    M llvm/test/CodeGen/AMDGPU/move-to-valu-addsubu64.ll
    M llvm/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
    M llvm/test/CodeGen/AMDGPU/si-instr-info-correct-implicit-operands.ll

  Log Message:
  -----------
  AMDGPU: Mark dead carry-out when rewriting scalar carry op to VALU (#225738)

If an operation is expanded with a dead scc def, the resultant vcc def
will also be dead, so preserve the dead flag. Reduces implicit reliance on
LiveVariables recomputing dead flags later.

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


  Commit: 8a67df6af89be4fcfcd6d6d36cae0a0362868949
      https://github.com/llvm/llvm-project/commit/8a67df6af89be4fcfcd6d6d36cae0a0362868949
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:

  Log Message:
  -----------
  [Target] Remove declarations without definitions (NFC) (#225615)

initializeAArch64CFIFixupPass: Added on April 11, 2022 in commit
b4ad28da196d3c2b1bc064b4dc46c3e00e93438f without a definition.

AArch64InstructionSelector::selectReduction: The definition was removed
on November 13, 2023 in commit a604c4b562e99470e397f050f1e8707f923ebed7.

AArch64TargetELFStreamer::insertAttributeInPlace: Added on January 23,
2025 in commit ee99c4d4845db66c4daa2373352133f4b237c942 without a
definition.

ARMInstPrinter::printAM2PostIndexOp: The definition was removed on
September 22, 2012 in commit 2fdbdc58701ef41ab6b52c064723926e6ec4b44f.

ARMMCCodeEmitter::getMachineSoImmOpValue: The definition was removed on
October 12, 2010 in commit 12e493ace4fc5b499361122bc5f25d2c46bea5e4.

ARMMCCodeEmitter::getThumbSRImmOpValue: The definition was removed on
August 17, 2011 in commit 46dd413991f6fa74a1da3f139b386e364dfc9f78.

createAVRBranchSelectionPass: The definition was removed on July 5, 2017
in commit a24aa1990084c15f0ad27dbcff7ab1c96369f0f9.

dxil::DXILOpBuilder::getOpFunctionType: Added on August 2, 2024 in
commit 8cf85653b6f5c90b83f8a5741baad5725d6c6932 without a definition.

dxil::DXILBitcodeWriter::VSTOffsetPlaceholder,
dxil::DXILBitcodeWriter::writeIdentificationBlock,
dxil::DXILBitcodeWriter::writePerModuleFunctionSummaryRecord,
dxil::DXILBitcodeWriter::writeModuleLevelReferences,
dxil::DXILBitcodeWriter::addToStrtab,
dxil::DXILBitcodeWriter::createNamedMetadataAbbrev,
dxil::DXILBitcodeWriter::writeNamedMetadata,
dxil::DXILBitcodeWriter::pushGlobalMetadataAttachment,
dxil::DXILBitcodeWriter::writeOperandBundleTags,
dxil::DXILBitcodeWriter::writeSyncScopeNames,
dxil::DXILBitcodeWriter::writeOperandBundles,
dxil::DXILBitcodeWriter::writeGlobalValueSymbolTable: Added on
April 14, 2022 in commit f2526c1a5c6fe6d2740b68e2d73b85c958fd2719
without uses or definitions.

initializeHexagonMergeActivateWeightPass,
createHexagonMergeActivateWeight: Added on August 5, 2024 in commit
c04857cb2c9f6f2e8add61192c62e48a83938efd without definitions.

createHexagonTargetTransformInfoPass: Added on June 15, 2015 in commit
56efafc0566def51ec7e632e09574ed553296b48 without a definition.

HexagonGlobalSchedulerImpl::CanPromoteToDotNew: Added on February 20,
2026 in commit 7064ff2226141034fdb264c29b97acbc733f8dae without a
definition.

HexagonTargetLowering::LowerANY_EXTEND,
HexagonTargetLowering::LowerSIGN_EXTEND,
HexagonTargetLowering::LowerZERO_EXTEND: The definitions were removed on
February 6, 2018 in commit 8abaf8954a97f20d0fd036e8e32e4b69d23f342e.

HexagonTargetLowering::LowerEH_LABEL: Added on December 12, 2011 in
commit 1213a7a57fdcb6c875b3f79103fc96d3e9d30b40 without a definition.

HexagonPacketizerList::isCurifiable: Added on December 16, 2015 in
commit 56bbf54b4303cac8772b6d66e3bd0668f8013067 without a definition.

HexagonMCChecker::checkBranches: The definition was removed on
December 11, 2017 in commit a8ab1b75cb0d84ea61642d7b7c0139e6e367c28e.

createHexagonMCRegisterInfo: Added on February 6, 2017 in commit
8cdfe8ecf3dd14d128148c5ff0b01d74b082e3c2 without a definition.

HexagonShuffler::restrictNoSlot1: Added on January 17, 2020 in commit
c1873631d0a8f2acca4ab428a1e9abea844d97ff without a definition.

MipsAsmParser::parseImm: The definition was removed on August 8, 2016 in
commit 3feeb9c851a193f42d890b35f36816fae198860f.

MipsAsmParser::validateMSAIndex: The definition was removed on April 1,
2014 in commit b50ccf8e26653781191491aab90c7379f29bd5e1.

MipsMCCodeEmitter::getMSAMemEncoding: The definition was removed on
March 31, 2016 in commit dc0602a2c20a3f514541165a19cb1534597c5dc6.

Mips16DAGToDAGISel::initMips16SPAliasReg: The definition was removed on
June 16, 2016 in commit de7816b0cd3ffbd9775681c408298febe4c10fe3.

MipsAsmPrinter::EmitInstrWithMacroNoAT: The definition was removed on
June 2, 2012 in commit 23327b30ef9af2323dd20248e311ef454f9e0dfa.

MipsTargetLowering::emitSEL_D: The definition was removed on July 20,
2017 in commit be0bc71e023455a32d074b69054b6ffee6f1160e.

MipsSEDAGToDAGISel::selectMULT: The definition was removed on April 11,
2013 in commit 4f1130eb66ff01128c0061ace377c10b74128a45.

MipsSETargetLowering::lowerINT_TO_FP,
MipsSETargetLowering::lowerFP_TO_INT: The definitions were removed on
June 17, 2026 in commit de84e7ccc602fe2ef8b886a9b095c80d110f61a0.

MipsSubtarget::IsLinux: All uses were removed on December 19, 2014 in
commit 8985ba912f00de68f3fccf8bf440a30bf5bdb89e.

MipsSubtarget::OverrideMode, MipsSubtarget::setHelperClassesMips16,
MipsSubtarget::setHelperClassesMipsSE: All uses of OverrideMode and the
definitions of setHelperClassesMips16 and setHelperClassesMipsSE were
removed on July 18, 2014 in commit
4e7d1e7e7bb36bcd715297b36d688bdc0ed96bdf.

initializeNVVMReflectPass: The definition was removed on April 10, 2025
in commit 701d726ef09ea89909df9bd2fdc63c63758fe8d6.

NVPTXDAGToDAGISel::SelectTexSurfHandle: The definition was removed on
June 25, 2025 in commit 70333de6cfa76d2e0e36720d6065edd501a3ad8a.

NVPTXDAGToDAGISel::tryConstantFP: The definition was removed on
December 19, 2024 in commit 310e79875752886a7713911e2a1ec14bc75bd4b3.

NVPTXDAGToDAGISel::SelectCpAsyncBulkTensorReduceCommon: The definition
was removed on August 6, 2026 in commit
1ac19e41a0674925911e88cc5218dfd95a09a3ac.

createPPCMachObjectWriter: The definition was removed on March 2, 2020
in commit 3e851f4a688c42315355aae743b403dddeba9860.

createPPCExpandISELPass: The definition was removed on August 27, 2024
in commit 8e901c255df45e38cb1d69a576804029e20868bf.

SystemZTargetLowering::convertPrevCompareToBranch: The definition was
removed on July 25, 2013 in commit
c3f85d73ab781601b2aababa8ef6572fa437c4ff.

VEAsmParser::parseCCOpOperand: Added on June 5, 2020 in commit
117c0d7c1c12e5c82e0f5498fec511e8ae08d9ca without a definition.

VEAsmParser::parseRDOpOperand: Added on June 10, 2020 in commit
34fef0c980446c3ea9595328e0e525db222870f0 without a definition.

WebAssemblyOptimizeReturnedLegacy::visitCallBase: The definition was
moved to a helper class on July 15, 2026 in commit
491539a8b801aad5706cc32fc54a319791d57a91.

X86FixupInstTuningLegacy::processInstruction: The definition was moved
to a helper class on January 12, 2026 in commit
f6d0a512972a74ef100723b9526a6a0ddb23f894.

XCoreTargetLowering::getReturnAddressFrameIndex: Added on November 7,
2008 in commit ca08e0645a9629980156208506b6ae463b746e42 without a
definition.

Assisted-by: Antigravity


  Commit: 748e21a693d24bdd9168fa718a1a5146d414e8b2
      https://github.com/llvm/llvm-project/commit/748e21a693d24bdd9168fa718a1a5146d414e8b2
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Optimizer/OpenACC/Transforms/ACCDeclareActionConversion.cpp
    M flang/test/Fir/OpenACC/declare-action-conversion.fir
    M flang/test/Lower/OpenACC/acc-declare-allocatable-deallocate.f90
    M flang/test/Lower/OpenACC/acc-declare-unified.f90
    M flang/test/Lower/OpenACC/acc-declare-use-associated-allocatable.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVM.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCRuntimeFunctions.def
    M mlir/include/mlir/Dialect/OpenACC/OpenACCRuntimeUtils.h
    M mlir/lib/Conversion/OpenACCToLLVM/ACCDataDirectivePatterns.cpp
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCRuntimeUtils.cpp
    A mlir/test/Conversion/OpenACCToLLVM/declare.mlir
    M mlir/unittests/Dialect/OpenACC/OpenACCOpsInterfacesTest.cpp

  Log Message:
  -----------
  [mlir][acc] Add acc declare codegen to ACCToLLVM (#225557)

Extends the acc to LLVM conversion with codegen for `acc declare`. A
structured declare uses the same data entry points as `acc.data`. An
unstructured declare registers its objects with `__tgt_acc_declare`. A
declare in a declare-action recipe only allocates or frees the device
mirror of an object the host already manages, through
`__tgt_acc_mirror_alloc` and `__tgt_acc_mirror_dealloc`. As with the
other directives, these runtime APIs are not yet finalized; the draft
proposal can be found at
https://github.com/llvm/llvm-project/pull/197894.

Placing the globals that a declare directive names into the device image
is not part of this change.

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


  Commit: 41ab14be8d53df1df1e46d2a80c37463aeb02a31
      https://github.com/llvm/llvm-project/commit/41ab14be8d53df1df1e46d2a80c37463aeb02a31
  Author: Konstantinos Parasyris <koparasy at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    A clang/test/CIR/CodeGen/cxx20-module-initializer-ms-abi.cppm

  Log Message:
  -----------
  [CIR] Fix assertion on Microsoft-ABI C++20 named module initializer (#225565)

Compiling a C++20 named module interface unit for the Microsoft C++ ABI
asserts in `LoweringPrepare`, because the AST fallback for the
initializer name does an unguarded `cast<ItaniumMangleContext>`
([LoweringPrepare.cpp#L2006-L2013](https://github.com/llvm/llvm-project/blob/97458f644132d62bb938823394b716b684956f49/clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp#L2006-L2013)).

That fallback is reachable because CIRGen only emits
`cir.cxx_module_init_fn_name` for the Itanium mangler
([CIRGenModule.cpp#L3985-L3996](https://github.com/llvm/llvm-project/blob/97458f644132d62bb938823394b716b684956f49/clang/lib/CIR/CodeGen/CIRGenModule.cpp#L3985-L3996)),
mirroring classic codegen's `CXX20ModuleInits`
([CodeGenModule.cpp#L596-L601](https://github.com/llvm/llvm-project/blob/97458f644132d62bb938823394b716b684956f49/clang/lib/CodeGen/CodeGenModule.cpp#L596-L601)).

This deletes the fallback so the attribute is the only channel: absent
means `_GLOBAL__sub_I_` with internal linkage, which is exactly what
classic codegen does for this ABI
([CodeGenModule.cpp#L1205-L1208](https://github.com/llvm/llvm-project/blob/97458f644132d62bb938823394b716b684956f49/clang/lib/CodeGen/CodeGenModule.cpp#L1205-L1208)).

The new test pins that lowering and fails with the same assertion
without the fix. It checks CIR rather than LLVM IR because Microsoft-ABI
CIR cannot reach LLVM IR yet (`EH ABI lowering is not yet implemented
for the Microsoft ABI`). This also drops the last `ASTContext` use in
`buildCXXGlobalInitFunc`.


  Commit: 37d97297fd3f1fd8c0c5ba79fc81eddd5553cbbb
      https://github.com/llvm/llvm-project/commit/37d97297fd3f1fd8c0c5ba79fc81eddd5553cbbb
  Author: Akash Banerjee <akash.banerjee at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M flang-rt/lib/runtime/derived.cpp
    A flang-rt/test/Driver/derived-array-destruction.f90

  Log Message:
  -----------
  [Flang] Restrict the scalar destruction fast path to rank-zero components (#224345)

Restrict the scalar destruction fast path to rank-zero components,
preventing invalid frees for zero-sized derived-type components. Add
regression coverage for scalar and array containers.


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

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-reuse.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the missed vectorization after splats, NFC



Reviewers: 

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


  Commit: e28d3f11a8ada5012cf28d4a34f9e70c80d6f34e
      https://github.com/llvm/llvm-project/commit/e28d3f11a8ada5012cf28d4a34f9e70c80d6f34e
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/arbitrary-fp-from-float-fp8-f16-hw.ll

  Log Message:
  -----------
  [AMDGPU] Fall back for FP8-to-half conversions without native support (#225528)

The custom `v2i8` source action also handles half results on gfx950,
which has native OCP FP8-to-f32 conversions but lacks FP8-to-f16
instructions. Converting FP8 vectors to half therefore reached
`lowerFromFP8` and asserted that `FP8F16ConversionInsts` was available.

Use generic legalization for half results when the subtarget lacks the
required instructions. Preserve native f32 conversions and native f16
conversions on targets that support them.

Assisted by: Codex (Astra)


  Commit: 6b5630dc25728baad8a4daf8697db2da15e7ed58
      https://github.com/llvm/llvm-project/commit/6b5630dc25728baad8a4daf8697db2da15e7ed58
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

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

  Log Message:
  -----------
  [SLP]Do not reorder the tree to match internal gathers of splat subtrees

The internal gathers of the splat gather subtrees are not used as
shuffle sources, but still defined the order of the main tree gathers.
The reorder shuffle stayed after the subtree was dropped as
unprofitable and rejected the profitable tree.

Fixes the perf regression from #220250, reported in #221717.

Reviewers: 

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


  Commit: f55e761c7fb78381074b07fe7001166c9a1c6019
      https://github.com/llvm/llvm-project/commit/f55e761c7fb78381074b07fe7001166c9a1c6019
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Lowering/LoweringHelpers.cpp
    A clang/test/CIR/CodeGen/matrix.cpp
    M clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl
    A clang/test/CIR/IR/invalid-matrix.cir
    A clang/test/CIR/IR/matrix.cir

  Log Message:
  -----------
  [CIR] Support builtin matrix type (#221773)

Implement the basic support for the built-in matrix type

Issue #221772


  Commit: dcd8f3442430915048c57164c193513d257e8ace
      https://github.com/llvm/llvm-project/commit/dcd8f3442430915048c57164c193513d257e8ace
  Author: Daniel Cederman <cederman at gaisler.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/test/CodeGen/Sparc/sparcv8-abi.c

  Log Message:
  -----------
  [Sparc][clang] Match GCC's SPARC V8 vector return convention (#222264)

Match GCC's SPARC V8 calling convention for vector return values. Return
floating-point vectors and vectors larger than 64 bits indirectly.
Return smaller integer vectors in floating-point registers.

Assisted-by: Codex


  Commit: 4f5ae89a4a8c49549cd3884c1f42f3fbba8d8ff3
      https://github.com/llvm/llvm-project/commit/4f5ae89a4a8c49549cd3884c1f42f3fbba8d8ff3
  Author: Harald van Dijk <hdijk at accesssoftek.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M lldb/test/Shell/Settings/Inputs/EchoCommandsAll.out
    M lldb/test/Shell/Settings/Inputs/EchoCommandsNoComments.out
    M lldb/test/Shell/Settings/Inputs/EchoCommandsNone.out
    M llvm/lib/Support/Regex.cpp
    M llvm/lib/Support/regcomp.c
    A llvm/test/FileCheck/escape.txt
    M llvm/unittests/Support/RegexTest.cpp

  Log Message:
  -----------
  [Support] Allow \n, \t, \x in regexes (#223024)

\n and \t were already permitted in Regex::sub, but not in the regex
pattern itself. This commit allows them there too.

\x was not supported at all. This commit allows it both in regex
patterns and in Regex::sub.

The goal is to allow \x to be used in FileCheck patterns and to that
end, a test is also included that this works in FileCheck as expected.


  Commit: 4b150e53377a931ab02a2c6b225ccdd75e0d8284
      https://github.com/llvm/llvm-project/commit/4b150e53377a931ab02a2c6b225ccdd75e0d8284
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/test/Transforms/GlobalOpt/storepointer.ll

  Log Message:
  -----------
  [GlobalOpt] Use getGetElementPtr() overload accepting a DataLayout (#225789)

To produce the GEP in canonical ptradd form. Unlike other uses,
this one has to take potential failure to create the constant
expression into account.

It also seems like the GEP path was entirely untested, so I added
some basic test coverage for it.


  Commit: 7799236d0b84d6fc49a336393aecaba83c061ddf
      https://github.com/llvm/llvm-project/commit/7799236d0b84d6fc49a336393aecaba83c061ddf
  Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

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

  Log Message:
  -----------
  [MLIR][XeGPU] Improve multi-reduction layout inference (#224618)


  Commit: a9828443a2a90a672551f1f59098393601959ed4
      https://github.com/llvm/llvm-project/commit/a9828443a2a90a672551f1f59098393601959ed4
  Author: Andrew Haberlandt <ahaberlandt at apple.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M compiler-rt/test/fuzzer/minimize_crash.test

  Log Message:
  -----------
  minimize_crash.test sometimes one-shots the minimization (fix flaky test) (#225544)

After #223470 it is now possible for `minimize_crash.test` to one-shot
the minimization by applying the EraseBytes mutation 3 times (to go from
size 8=>4=>2=>1).

```
 |            35: SUMMARY: libFuzzer: deadly signal
 |            36: MS: 3 EraseBytes-EraseBytes-EraseBytes-; base unit: 0000000000000000000000000000000000000000
 |            37: 0x2a,
 |            38: *
```

This causes the test to fail because it only prints the `Test unit
written to` line once. This sets `-mutate_depth` to 2 to guarantee that
it won't be one-shot and thus the line will print more than once.

rdar://188078094


  Commit: 7311a69f6caa2a6b50cfb899d4b8a1f9f9eeb210
      https://github.com/llvm/llvm-project/commit/7311a69f6caa2a6b50cfb899d4b8a1f9f9eeb210
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ADT/DepthFirstIterator.h

  Log Message:
  -----------
  [ADT] Use SmallVector in df_iterator. NFC (#225787)

Helps with compile time. The small size of 8 was chosen to match
ReversePostOrderTraversal.


https://llvm-compile-time-tracker.com/compare.php?from=5bb2e21c30de31871dd01279c13abcfa2c06e75f&to=3f3c5680cae30aa33f6988ee8b326b71f5195577&stat=instructions:u


  Commit: 4d2fb60d36492c4dfba957d2b726abf9dd30b8fc
      https://github.com/llvm/llvm-project/commit/4d2fb60d36492c4dfba957d2b726abf9dd30b8fc
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/include/clang/AST/TypeBase.h
    M clang/test/SemaCXX/make_integer_seq.cpp

  Log Message:
  -----------
  [clang] Widen SubstTemplateTypeParmType::PackIndex to 16 bits (#225584)

#132748 narrowed PackIndex to 15 bits when adding Final, leaving a bit
unused, so a type pack with 32768 or more elements stores a wrapped pack
index. The node then keys differently from its lookup, failing the
UniquingSet insert assertion. Restore the 16-bit width, matching
SubstPackType's 16-bit NumArgs.

Fix assertion failure https://godbolt.org/z/9r1jEqqob
Aided by Opus 5.5


  Commit: 04fe618233c11703862c114caf33b8c29ef27e13
      https://github.com/llvm/llvm-project/commit/04fe618233c11703862c114caf33b8c29ef27e13
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
    M lldb/unittests/Callback/CMakeLists.txt
    M lldb/unittests/Core/CMakeLists.txt
    M lldb/unittests/Interpreter/CMakeLists.txt
    M lldb/unittests/Platform/CMakeLists.txt
    M lldb/unittests/Process/CMakeLists.txt
    M lldb/unittests/Process/gdb-remote/CMakeLists.txt
    M lldb/unittests/Protocol/CMakeLists.txt
    M lldb/unittests/Target/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Add Options to LINK_COMPONENTS (#225684)

This fixes shared library build of lldb:
```
/usr/bin/ld: lib/liblldbPluginPlatformMacOSX.a(PlatformDarwin.cpp.o): undefined reference to symbol '_ZNK4llvm3opt8OptTable9getOptionENS0_12OptSpecifierE'
/usr/bin/ld: /work/kparzysz/git/llvm.org/b/x86/lib/libLLVMOption.so.24.0git: error adding symbols: DSO missing from command line
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```

And several other cases in unittests.


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/fsub-chain-reduction-unpaired-signs.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the regressed vectorization, NFC



Reviewers: 

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


  Commit: fc7aa5f819993f102ca2964cb70a28dd021d94af
      https://github.com/llvm/llvm-project/commit/fc7aa5f819993f102ca2964cb70a28dd021d94af
  Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/ptr_diff.ll

  Log Message:
  -----------
  [SandboxVec][NFC] Precommit test (#225221)

This is a test for a follow-up patch that improves pointer the diff
calculation.


  Commit: aced9473c0493aceeab07c97db10dfbd04a667b3
      https://github.com/llvm/llvm-project/commit/aced9473c0493aceeab07c97db10dfbd04a667b3
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVLegalizeResourceBinding.cpp
    A llvm/test/CodeGen/SPIRV/hlsl-resources/HeapBinding-cvb-srv-uav.ll
    A llvm/test/CodeGen/SPIRV/hlsl-resources/HeapBinding-texture-sampler.ll
    A llvm/test/CodeGen/SPIRV/hlsl-resources/HeapBinding-uav-counter.ll
    A llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizeRegisterBinding-Heap.ll
    A llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizeRegisterBinding-Heap2.ll

  Log Message:
  -----------
  [SPIRV] Add support for dynamic/heap resources (#224488)

Extends the `SPIRVLegalizeImplicitBinding` pass to support heap
resources and renames it to `SPIRVLegalizeImplicitAndHeapBinding`.

The pass scans the module for calls to
`llvm.spv.resource.handlefromheap` and groups them into CBV/SRV/UAV
resources and samplers. Calls to
`llvm.spv.resource.counterhandlefromheap` form a third group.

The SPIR-V backend represents descriptor heaps as unbounded resource
arrays. After resolving implicit bindings, the pass assigns the first
available binding to each heap group in the following order: CBV/SRV/UAV
resources, samplers, and counters.

For each group, the pass will replace the heap intrinsic calls with the
explicit `llvm.spv.resource.handlefrombinding` equivalents using the
assigned binding. The pass does not actually need to create the
unbounded resource-array globals itself. It only needs to assign a
unique array name shared by all resources belonging to the same array.
The existing `SPIRVInstructionSelector` will create the globals.

Because the CBV/SRV/UAV group can contain resources with different
types, the backend represents each unique resource type with a separate
array. These arrays share the same descriptor set and binding, so their
bindings intentionally overlap.

Fixes #208054

Assisted by GPT-5.6 Sol


  Commit: e1125b3b32e3404e6d1d2ef4d2a6809f84127727
      https://github.com/llvm/llvm-project/commit/e1125b3b32e3404e6d1d2ef4d2a6809f84127727
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

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

  Log Message:
  -----------
  [VPlan] Run cannotHoistOrSinkRecipe after cheap checks. NFC (#225797)

cannotHoistOrSinkRecipe traverses blocks in the aliasing checks so can
be expensive. We can save some compile time by deferring it after we do
the cheaper checks.

https://llvm-compile-time-tracker.com/compare.php?from=5bb2e21c30de31871dd01279c13abcfa2c06e75f&to=caeacf1cabb08be3608bd02a9b0e683111ab2c6a&stat=instructions:u


  Commit: 50b8b5a101f2b6a4f99dd6cd77396ff0cce990e1
      https://github.com/llvm/llvm-project/commit/50b8b5a101f2b6a4f99dd6cd77396ff0cce990e1
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
    M clang/tools/offload-arch/OffloadArch.cpp
    M llvm/docs/CommandLine.md
    M llvm/include/llvm/Support/CommandLine.h
    M llvm/lib/Support/CommandLine.cpp
    M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
    M llvm/tools/llvm-offload-binary/llvm-offload-binary.cpp
    M llvm/tools/llvm-offload-wrapper/llvm-offload-wrapper.cpp
    M llvm/tools/llvm-reduce/llvm-reduce.cpp
    M llvm/unittests/Support/CommandLineTest.cpp
    M mlir/lib/Tools/mlir-query/MlirQueryMain.cpp
    M mlir/lib/Tools/mlir-reduce/MlirReduceMain.cpp

  Log Message:
  -----------
  [Support] Remove cl::DefaultOption (#225609)

https://reviews.llvm.org/D59746 added cl::DefaultOption so that the
built-in -h could be overridden by llvm-objdump and llvm-readobj, which
have since moved to OptTable. The remaining overrides just call
PrintHelpMessage, so remove them along with the flag. -h and --help
keep working in every tool.

LLM-aided


  Commit: 59e62a974c22185003286ee03f35a1ea00678d28
      https://github.com/llvm/llvm-project/commit/59e62a974c22185003286ee03f35a1ea00678d28
  Author: Karim Alweheshy <karim.alweheshy at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/test/tools/llvm-profdata/Inputs/CSIR_profile.proftext
    M llvm/test/tools/llvm-profdata/Inputs/IR_profile.proftext
    M llvm/test/tools/llvm-profdata/Inputs/cs.proftext
    M llvm/test/tools/llvm-profdata/Inputs/instr-remap.expected
    M llvm/test/tools/llvm-profdata/merge-filter.test
    A llvm/test/tools/llvm-profdata/text-zero-bitmap.test

  Log Message:
  -----------
  [InstrProf] Disambiguate zero bitmaps in text profiles (#213906)


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

  Changed paths:
    M llvm/test/CodeGen/X86/load-combine.ll

  Log Message:
  -----------
  [X86] load-combine.ll - cleanup check prefixes and don't scrub stack math (#225762)

Ensure all stack addresses are visible


  Commit: 6f8bca0ce541374893a7e0b2b64d383f515ca632
      https://github.com/llvm/llvm-project/commit/6f8bca0ce541374893a7e0b2b64d383f515ca632
  Author: Deric C. <cheung.deric at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/test/CodeGen/DirectX/ShaderFlags/typed-srv-load.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll

  Log Message:
  -----------
  [DirectX] Set TypedUAVLoadAdditionalFormats on UAV texture loads (#225484)

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

This PR makes the `TypedUAVLoadAdditionalFormats` shader flag get set on
UAV texture loads.

Assisted by: GPT 5.6 Sol


  Commit: 7c0029df8395a8688ff55feaadc36babd55efaf4
      https://github.com/llvm/llvm-project/commit/7c0029df8395a8688ff55feaadc36babd55efaf4
  Author: ahmed mohamed kamel <amkzaher at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/AST/Expr.cpp
    M clang/test/Sema/stmtexprs.c

  Log Message:
  -----------
  [Clang] Fix integer promotion of bit-fields in statement expressions (#225597)

`Expr::getSourceBitField()` now looks through the final expression of a
statement expression to preserve the bit-field information. This allows
the existing integer promotion rules to correctly promote the bit-field
to `int`.

Also added a regression test for the issue.

Fixes #221542


  Commit: 7a7e8bb81b978ef90f6da580bdecd34d053e580f
      https://github.com/llvm/llvm-project/commit/7a7e8bb81b978ef90f6da580bdecd34d053e580f
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp
    M lld/test/ELF/ppc64-long-branch-rel14.s
    M lld/test/ELF/systemz-gotent-relax-align.s
    M lld/test/ELF/x86-64-gotpc-relax-too-far-relr.s

  Log Message:
  -----------
  [ELF] Retain relocation sections for GOT entries added by relaxOnce (#225594)

x86-64 and SystemZ relax GOTPCRELX/GOTENT and, in relaxOnce, revert
relaxations that turn out to be out of range or misaligned. The reverted
relocation needs a GOT entry, which in -pie/-shared needs a relative
relocation. If .rela.dyn (or .relr.dyn) was empty, it has already been
removed by removeUnusedSyntheticSections, triggering an assertion
failure.

Retain the section that will receive the relative relocations when
relaxOnce may add GOT entries, and recompute .dynamic in each iteration.
This also fixes a truncated .dynamic when PPC64 PI long-branch thunks
add the first relative relocations to .rela.dyn.

LLM-aided. Fixes #224011


  Commit: 4f22636ba6d33280d2609206b281c88a66a65997
      https://github.com/llvm/llvm-project/commit/4f22636ba6d33280d2609206b281c88a66a65997
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/test/CodeGen/AArch64/abds.ll
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  [DAG] Don't detect flippable signs in MinMax matchers (#220527)

The Min/MaxLike pattern matchers are the only pattern matchers that use
computeKnownBits. They're used to match a smax as a umax if the operands
are known positive and so forth.

However in practice it has no affect on real-world codegen as correlated
value propagation already does this transform earlier in the pipeline,
including for all the tests changed in this PR:
https://llvm.godbolt.org/z/Pr4Ec1xrv

Nothing in the backends will emit a min/max that needs re-transformed in
this way as far as I'm aware.

Removing computeKnownBits from these matchers allows us to remove the
match context in #218372, and saves some compilation time at O3
https://llvm-compile-time-tracker.com/compare.php?from=2f2aa940de68abcdfe4959ddd3b9a0741a7c2a16&to=b771556fb2a7e9c2cb0c853a4a71ea9641e5ede0&stat=instructions:u


  Commit: 8913fcc64501c7da8ae02b97c174dc6701f7a8d7
      https://github.com/llvm/llvm-project/commit/8913fcc64501c7da8ae02b97c174dc6701f7a8d7
  Author: Igor Wodiany <igor.wodiany at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/test/CodeGen/AMDGPU/asm-printer-check-vcc.mir
    M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
    M llvm/test/CodeGen/AMDGPU/branch-relax-indirect-branch.mir
    M llvm/test/CodeGen/AMDGPU/branch-relax-no-terminators.mir
    M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
    M llvm/test/CodeGen/AMDGPU/ipra-regmask.ll
    A llvm/test/CodeGen/AMDGPU/issue197467-virt-reg-rewrite-failure.mir
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
    M llvm/test/CodeGen/AMDGPU/phys-partial-liveness.mir
    M llvm/test/CodeGen/AMDGPU/resource-usage-crash-unhandled-reg.mir
    M llvm/test/CodeGen/AMDGPU/sched-image-sample-post-RA.mir
    M llvm/test/CodeGen/AMDGPU/set-gpr-idx-peephole.mir
    M llvm/test/CodeGen/AMDGPU/true16-fold.mir
    M llvm/test/MC/AMDGPU/gfx11_asm_t16_err.s
    M llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp

  Log Message:
  -----------
  Reapply "[AMDGPU] Remove definition of hi16 for scalar registers (#197467)" (#201552)

This reapplies #197467. The regression uncovered by this PR has been
fixed in #223653 and a test was added to verify that
`llvm/test/CodeGen/AMDGPU/issue197467-virt-reg-rewrite-failure.mir`.


  Commit: 877e3c84a8f4e61f6c635e7eb59793ae9069e717
      https://github.com/llvm/llvm-project/commit/877e3c84a8f4e61f6c635e7eb59793ae9069e717
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M .github/workflows/compiler-rt-libc-builtins-tests.yml
    M .github/workflows/libc-overlay-tests.yml

  Log Message:
  -----------
  [Github] Update remaining libc workflows to Ubuntu 26.04 (#225850)

Some workflows that I missed when trying to do the upgrade previously.


  Commit: 36e1dfd58c07b213a5d57095247629f63381ed75
      https://github.com/llvm/llvm-project/commit/36e1dfd58c07b213a5d57095247629f63381ed75
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/corrupt-public-offset.py
    A lldb/test/Shell/SymbolFile/NativePDB/public-symbol-offset-past-section-end.cpp

  Log Message:
  -----------
  [lldb][NativePDB] don't assert when a public symbol sits past its section (#225734)

Fix an assertion failure in `SymbolFileNativePDB::AddSymbols` when a
public symbol's offset doesn't agree with its section's size (happens
with real-world PDBs after incremental linking). Instead of asserting,
we now log and skip the size estimate for that symbol.

Also adds a regression test that crafts such a PDB and checks lldb
doesn't crash.

This fixes crashes in swiftlang.


  Commit: 5eea5218a21a5799bb38d4a36d0d7892b4122fb5
      https://github.com/llvm/llvm-project/commit/5eea5218a21a5799bb38d4a36d0d7892b4122fb5
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M lldb/test/API/api/multithreaded/TestMultithreaded.py

  Log Message:
  -----------
  [lldb][Windows] skip TestMultithreaded.SBBreakpointCallbackCase.test_python_stop_hook (#225862)

The test is failing in pre-merge testing on Windows.


  Commit: 2c80b3dae3bc1f0ee7b4e686a0b411b64c83560c
      https://github.com/llvm/llvm-project/commit/2c80b3dae3bc1f0ee7b4e686a0b411b64c83560c
  Author: dcandler <david.candler at arm.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/test/Driver/darwin-static-lib-universal.c

  Log Message:
  -----------
  [Clang] Restrict darwin-static-lib-universal.c in cross-builds (#225447)

A new test was added in 841dbaab188ecfa756d4c946f33b58758d34d339 which
will fail when run on macOS if macOS is not set as the default target.
This has previously been solved in other tests by further restricting
the REQUIRES line to also check the target.


  Commit: d4afeda893d3b7b70101f90bc3ec76a31154b0be
      https://github.com/llvm/llvm-project/commit/d4afeda893d3b7b70101f90bc3ec76a31154b0be
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ADT/DepthFirstIterator.h

  Log Message:
  -----------
  [ADT] Add back load bearing <vector> include (#225872)

This should fix the build failures reported in
https://lab.llvm.org/buildbot/#/builders/25/builds/19816, looks like
other places were relying on it transitively


  Commit: f3d4409596d9d500b1fef9b6d44e4908e9c61ad3
      https://github.com/llvm/llvm-project/commit/f3d4409596d9d500b1fef9b6d44e4908e9c61ad3
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M mlir/include/mlir-c/Diagnostics.h
    M mlir/lib/CAPI/IR/Diagnostics.cpp
    M mlir/test/CAPI/ir.c

  Log Message:
  -----------
  [mlir-c] Add mlirEmitWarning and mlirEmitRemark (#206542)

Adds C API entry points for emitting warning and remark diagnostics, complementing the existing `mlirEmitError`.

Assisted by: Claude


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

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/test/Transforms/GVN/constexpr-vector-constainsundef-crash-inseltpoison.ll
    M llvm/test/Transforms/GVN/constexpr-vector-constainsundef-crash.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/cast-vector.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
    M llvm/test/Transforms/InstSimplify/gep.ll
    M llvm/test/Transforms/InstSimplify/vector_gep.ll

  Log Message:
  -----------
  [InstSimplify] Use getGetElementPtr() overload accepting DataLayout (#225817)

To directly create GEPs in canonical ptradd representation. The
effect of this is that a) we do not form constexpr GEPs which would
no longer be supported in ptradd representation and b) canonicalize
vector GEPs to ptradd form, because the code that does this as
part of constant folding doesn't support vector GEPs, but the new
API does.

This also converts the isSupportedGetElementPtr() assert into a
condition. The getGetElementPtr() API accepting DataLayout is
already fallible, so it makes sense to directly handle all cases
that can't be represented as a constant expression, instead of
requiring the type to be source element type to be handled separately.


  Commit: 48fb6577caa15e8e90c76a40a4cbd5dfe3cb1387
      https://github.com/llvm/llvm-project/commit/48fb6577caa15e8e90c76a40a4cbd5dfe3cb1387
  Author: Chris Kennelly <ckennelly at ckennelly.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/replace-load-and-with-bzhi.ll

  Log Message:
  -----------
  [X86] Remove combineAndLoadToBZHI (#221025)

The low-bits mask table recognition it performed is now done in the
target-independent AggressiveInstCombine (394c8dd14933), which rewrites
`x & tbl[i]` to `x & ((1 << i) - 1)`; the X86 backend already lowers
that arithmetic to `bzhi` via `matchBitExtract`. Removing the DAG fold
also retires its unchecked matching of scaled indices, folded constant
offsets and extending loads, which could miscompile under the static
relocation model (the original subject of this PR).

`replace-load-and-with-bzhi.ll` is repurposed as an end-to-end pipeline
test (`opt | llc`) covering the cases the DAG fold handled, PIC, which it
could not handle, and the index shapes it miscompiled.

Assisted-by: Claude Code


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/fsub-chain-reduction-unpaired-signs.ll

  Log Message:
  -----------
  [SLP]Pair small sign-aware reduction groups only if both signs have one

The small-group check of the flattened fsub/fneg fadd reductions
used whenever any leaf was negated, vectorizing 2-wide parts that
have no opposite-sign part to combine with via the vector fsub.
Allow it only if both signs have a group of at least 2 values.

Reviewers: 

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


  Commit: b68692b05a2e575b09a21f4310fc1a94241669ea
      https://github.com/llvm/llvm-project/commit/b68692b05a2e575b09a21f4310fc1a94241669ea
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/docs/CommandGuide/lit.md

  Log Message:
  -----------
  [lit][docs] Document %if conditional substitution in lit CommandGuide (#225683)

`%if ... %else` conditional substitutions (implemented in
`TestRunner.py` and mentioned in `TestingGuide.md`) were missing from
the `SUBSTITUTIONS` table and `available_features` description in
`llvm/docs/CommandGuide/lit.md`. Add `%if` to the base substitutions
table and note that `available_features` can be used in `%if`
conditions.

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


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
    A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-outer-loop-memchecks.ll
    A llvm/test/Transforms/LoopVectorize/outer-loop-gep-nowrap-flags-scev.ll
    A llvm/test/Transforms/LoopVectorize/outer-loop-memory-safety.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_contiguous.ll

  Log Message:
  -----------
  [LV] Add additional outer loop vectorization tests. (#225821)

Add test more test coverage for outer loop vectorization path, focusing
on various legality aspects, like supported instructions and memory
checks.


  Commit: dfc0d74533a697129b29450bd8ca7d2010007df9
      https://github.com/llvm/llvm-project/commit/dfc0d74533a697129b29450bd8ca7d2010007df9
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M libcxx/test/benchmarks/filesystem.bench.cpp

  Log Message:
  -----------
  [libc++] Don't pass a path lvalue to DoNotOptimize in the filesystem benchmark (#225504)

BM_PathIterateOnceBackwards passes *I directly to DoNotOptimize.
However, libstdc++ returns a const lvalue reference to `path` from that
operation, which selects GoogleBenchmark's deprecated const-ref
overload.

Use the pattern used elsewhere in this file instead.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.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.160bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
    M llvm/test/CodeGen/AMDGPU/ds-negative-offset-addressing-mode-loop.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
    M llvm/test/CodeGen/AMDGPU/fold-fi-operand-shrink.mir
    M llvm/test/CodeGen/AMDGPU/fold-immediate-operand-shrink-with-carry.mir
    M llvm/test/CodeGen/AMDGPU/fold-immediate-operand-shrink.mir
    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/scratch-simple.ll
    M llvm/test/CodeGen/AMDGPU/trunc-store.ll

  Log Message:
  -----------
  AMDGPU: Preserve dead carry-out when shrinking adds in SIFoldOperands (#225687)

The VOP3 form of add/sub with carry out are sometimes shrunk to the VOPC
form when the carry out is dead. Preserve this information by setting
the dead flag on the new instruction. This alleviates some implicit
dependence on LiveVariables' later recomputation of dead flags.

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


  Commit: a4f389e32f90eae9ee326caa1b7091d28d533e5e
      https://github.com/llvm/llvm-project/commit/a4f389e32f90eae9ee326caa1b7091d28d533e5e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt

  Log Message:
  -----------
  [NFC][sanitizer] Allow fread in symbolizer (#225853)

Commit 3c63fcb246f3 (#212010) introduced `fread` usage in libc++
`std_stream.h`. Because libc++ is linked into the internal symbolizer,
`fread` is now referenced in `symbolizer.o`. Add `fread U` to
`global_symbols.txt` so symbol verification succeeds.

Assisted-by: Gemini


  Commit: edbeccc7c205ccd4e6ea37a01eb63740d065f145
      https://github.com/llvm/llvm-project/commit/edbeccc7c205ccd4e6ea37a01eb63740d065f145
  Author: Jonathan Zakharov <jzakharov at nvidia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/CodeGenHLSL/semantics/SV_InstanceID.vs.hlsl
    A clang/test/SemaHLSL/Semantics/instanceid.output.hlsl
    A clang/test/SemaHLSL/Semantics/instanceid.ps.hlsl
    A clang/test/SemaHLSL/Semantics/instanceid.vs.hlsl
    M llvm/lib/Frontend/HLSL/SemanticSignatures.cpp
    M llvm/unittests/Frontend/HLSLSemanticStagesTest.cpp

  Log Message:
  -----------
  [HLSL] Implement the SV_InstanceID semantic (#221091)

Fixes #212572

Adds type validation, stage restriction, and lowering for
`SV_InstanceID`.

- Type check rejects non-uint; DXIL accepts U32/U16, SPIR-V accepts U32
only (VUID-InstanceIndex-InstanceIndex-04265).
- Rejected all sigpoints but Vertex In.
- On SPIR-V, the variable is decorated with `BuiltIn InstanceIndex`
instead of a user-assigned Location.
- SPIR-V lowering loads from the `InstanceIndex` (ID 43) built-in; DXIL
lowering uses `dx.op.loadInput`.
- LIT tests for sema (wrong type, wrong stage, output direction) and
codegen (BuiltIn decoration, no Location).

@dnovillo @pow2clk

Assisted-by: LLM


  Commit: 1e5e53db7a6f0170b9d7783acb5a7d0e23a73968
      https://github.com/llvm/llvm-project/commit/1e5e53db7a6f0170b9d7783acb5a7d0e23a73968
  Author: Venkatesh Srinivasan <156861430+venk-ks at users.noreply.github.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/BuiltinHeaders.def
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/Sema/warn-fortify-source-recv-not-builtin.c
    M clang/test/Sema/warn-fortify-source.c

  Log Message:
  -----------
  [Clang][Sema] Add fortify warnings for recv and recvfrom (#223520)

Add `-Wfortify-source` diagnostics for `recv` and `recvfrom` when the size argument exceeds the destination buffer size.

Part of #142230

Assisted-by: Gemini


  Commit: 126134200f56180ef0b5cdab9f627d043f8e918d
      https://github.com/llvm/llvm-project/commit/126134200f56180ef0b5cdab9f627d043f8e918d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
    A llvm/test/CodeGen/AMDGPU/fold-immediate-operand-shrink-dead-carry.mir
    A llvm/test/CodeGen/AMDGPU/shrink-dead-vcc-def.mir
    R llvm/test/CodeGen/AMDGPU/shrink-v-cmp-wave32-dead-vcc-lo.mir

  Log Message:
  -----------
  AMDGPU: Preserve carry-out dead flag in buildShrunkInst (#225798)

Shrinking from the e64 to the e32 form drops the explicit carry-out def
in favor of an implicit vcc def. If the original carry out had a dead
flag, preserve it in the shrunk instruction's implicit-def operand.

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


  Commit: 77c91047fb488f1b8d45678065a9b9a0c8e86189
      https://github.com/llvm/llvm-project/commit/77c91047fb488f1b8d45678065a9b9a0c8e86189
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVLegalizeResourceBinding.cpp

  Log Message:
  -----------
  [SPIRV] Fix -Wunused-variable in #224488 (#225897)

Use [[maybe_unused]] as the operations either have side effects where we
can't inline them into the assert or the definitions/variable names
provide additional clarity.


  Commit: a26ba32319c157f5b8d6f59528ec001db9ff4055
      https://github.com/llvm/llvm-project/commit/a26ba32319c157f5b8d6f59528ec001db9ff4055
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFPredefinedVarToGPU.cpp
    M flang/test/Fir/CUDA/predefined-variables.mlir
    M flang/test/Fir/copy-codegen.fir
    M flang/test/HLFIR/assign-codegen-derived.fir
    M flang/test/Lower/CUDA/cuda-devptr.cuf
    M flang/test/Lower/Intrinsics/transfer.f90
    M flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90
    M flang/test/Lower/OpenACC/acc-firstprivate-derived.f90

  Log Message:
  -----------
  [flang] Fix TRANSFER into derived type with tail padding (#223814)

When assigning a derived type value whose allocated size exceeds its
declared
field size (e.g. `SEQUENCE` type `{i32, i8}` — 5 bytes of fields, 8
bytes
allocated due to ABI tail padding), the assignment path in
`genRecordAssignment` took a "simple type" fast path that called
`genComponentByComponentAssignment`. That function iterated over
declared
fields and copied them one by one via `fir.coordinate_of`/`fir.load`/
`fir.store`, silently skipping the tail-padding bytes and leaving them
**unwritten** in the destination.

This is a compatibility choice rather than a correctness fix: F2023
10.2.1.3
p15 defines derived-type intrinsic assignment component by component,
and p16
allows any means with the same effect, so padding is outside the defined
effect
on either side. gfortran preserves the full allocated storage (including
padding
bytes) on assignment; this patch aligns flang's behaviour with gfortran
for two
cases:

- **`TRANSFER` into a padded SEQUENCE type**: `x = transfer(raw, x)` now
copies
all transferred bytes — including those that fall in the padding region
— into
`x`. A round-trip `raw = transfer(x, raw)` then recovers the original
value.
- **Structure constructor**: `x = t(1, 2_c_int8_t)` now copies the full
temporary, so the padding bytes written into `x` are the temporary's
padding
  bytes rather than being left unwritten.

Fix: replace `genComponentByComponentAssignment` with `fir::CopyOp`
(emitting
`fir.copy`). `fir.copy` defers the size computation to codegen via
`genTypeStrideInBytes` and the LLVM data layout, which includes tail
padding.
The dead `genComponentByComponentAssignment` function (≈80 lines) is
removed.

### no_overlap / memmove

`no_overlap` is only sound when the operands are *known* to be
non-overlapping. The `!recTy.isSequence()` fast-path condition is an
*assumption* rather than a proven fact: `flang/docs/Aliasing.md`
documents a
configuration where a Cray pointee aliases a variable with the `TARGET`
attribute, producing overlapping operands even for a non-SEQUENCE type.

A separate `noOverlap` flag is `true` only when non-overlap is *proven*
—
either the LHS is a compiler temporary, or `fir::AliasAnalysis`
explicitly
returns `NoAlias`. When `noOverlap` is `false`, `fir.copy` lowers to
`memmove`, which is correct for all overlap configurations. The
`disjoint`
gate (which selects `fir.copy` over the `_FortranAAssign` runtime path)
is
unchanged.

### Volatile operands

The ref type for each `fir.copy` operand is computed using
`builder.getRefType(recTy, fir::isa_volatile_type(addr.getType()))`, so
a
`fir.convert` is only emitted when the element type actually differs
(e.g. a
module record type assigned to a structurally identical local SEQUENCE
type)
and volatility is always preserved. This ensures whole-record assignment
to or
from a `volatile` derived-type variable passes `ConvertOp::verify` under
`--strict-fir-volatile-verifier`.

### CUFPredefinedVarToGPU

`processDeclareOp` previously cast every use of a predefined-variable
`fir.declare` to `fir.coordinate_of` without a null check, crashing when
the
use was anything else. A whole-record assignment such as `idx =
threadIdx`
lowers to `fir.copy %threadidx to %idx`, producing a non-coordinate use
that
triggered the crash.

`fir.copy` uses of a predefined-variable declare are now expanded into
three
per-field NVVM register reads + stores, so the destination receives
actual GPU
register values rather than a copy from the global backing variable.
Each
field store uses a reference type that inherits the destination's
volatility,
so a `volatile` destination (e.g. `type(dim3), volatile :: idx`)
produces
volatile stores and passes `--strict-fir-volatile-verifier`. The declare
and
the global are erased once all uses are handled; `fir.call` and other
unrecognised uses keep the declare alive.

### Known follow-ups

`fir.copy` does not yet implement `FirAliasTagOpInterface` (recorded as
a TODO
in `FIROps.td`) and its lowering does not forward alignment from the
operand
types. Every simple derived-type assignment now routed through
`fir.copy` —
including the OpenACC/OpenMP recipes and the CUDA paths changed by this
patch —
loses its per-dummy TBAA tags and emits `align 1` instead of the natural
field
alignment. Both losses are conservative and the code remains correct,
but they
may affect optimisation quality at `-O2` and above. Implementing
`FirAliasTagOpInterface` and propagating alignment are left as follow-up
work.

### Example

```fortran
program transfer_bindc_tail_pad
  use iso_c_binding, only: c_int, c_int8_t, c_sizeof
  implicit none
  type :: t
    sequence
    integer(c_int)    :: a
    integer(c_int8_t) :: b
  end type
  type(t) :: x
  integer, parameter :: n = int(STORAGE_SIZE(x)/8)
  character(len=n) :: raw, rawx
  equivalence (x, rawx)

  print *, ' STORAGE_SIZE({i32, 8}) bits =', storage_size(x)
  rawx = repeat(achar(0), n)
  raw = repeat(achar(255), n)
  print *, "raw before round trip"
  x = transfer(raw, x)
  print *, "intermediate round trip value"
  call printbytes(rawx)
  print *, "raw after round trip"
  raw = transfer(x, raw)
  call printbytes(raw)

  contains
  subroutine printbytes(c)
    character(*) :: c
    integer :: i
    do i = 1, n
      print '(i2,1x,z2.2)', i, iachar(c(i:i))
    end do
  end subroutine
end program
```

Before this patch (padding bytes left unwritten; the zeros come from
`rawx = repeat(achar(0), n)` — with a different initialiser the values
would differ):
```
> a.out
  STORAGE_SIZE({i32, 8}) bits = 64
 raw before round trip
 intermediate round trip value
 1 FF
 2 FF
 3 FF
 4 FF
 5 FF
 6 00
 7 00
 8 00
 raw after round trip
 1 FF
 2 FF
 3 FF
 4 FF
 5 FF
 6 00
 7 00
 8 00
```

After this patch, consistent with gfortran (source bytes fully
preserved):
```
> a.out
  STORAGE_SIZE({i32, 8}) bits =          64
 raw before round trip
 intermediate round trip value
 1 FF
 2 FF
 3 FF
 4 FF
 5 FF
 6 FF
 7 FF
 8 FF
 raw after round trip
 1 FF
 2 FF
 3 FF
 4 FF
 5 FF
 6 FF
 7 FF
 8 FF
```

Assisted-by: IBM Bob


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

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval-thunk-mixed.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval-thunk-sret.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval-thunk.cpp
    M clang/test/CIR/Transforms/abi-lowering/indirect-non-byval-forward-param.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-non-byval-nyi.cir

  Log Message:
  -----------
  [CIR] Read a non-byval parameter back out of its spill slot (#225010)

CallConvLowering recognizes a forwarded non-byval indirect argument by
the slot its operand was loaded from. At -O1 and above cir-simplify
folds that load away when the slot is a constant alloca, which is what
CIRGen emits for a const-qualified by-value parameter. The walk that
gives each such parameter's slot the alignment the ABI promises now also
reads the record back out of the slot at the spill and points the
parameter's call-argument uses at that load, so an Expand, byval or
coerced argument reads it too.

Assisted-by: Cursor / claude-opus-5


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    A llvm/test/Transforms/VectorCombine/pr225272.ll

  Log Message:
  -----------
  [VectorCombine] shrinkType - only attempt to copy flags/metadata if we create a new instruction (#225776)

CreateBinOp may fold to a constant/argument value etc.

Fixes #225272


  Commit: c9eafc159e7caeb4fbb81e7af7dfaacc3cbd3e62
      https://github.com/llvm/llvm-project/commit/c9eafc159e7caeb4fbb81e7af7dfaacc3cbd3e62
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/revec-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/subvector-minbitwidth-unsigned-value.ll

  Log Message:
  -----------
  [SLP] Better track MinBWs between vectorization attempts (#224199)

When retrying vectorization with smaller VF, we may be able to vectorize
further where previously gathering was required. This may expose
[s/z]ext instruction that would allow us to optimize via MinBWs. In such
cases, ignore AnalyzedMinBWVals and recompute MinBWs anyways.

Assisted By: Codex


  Commit: 79cfb6f2871f3bc5a75697e29e4ac110605a1a9f
      https://github.com/llvm/llvm-project/commit/79cfb6f2871f3bc5a75697e29e4ac110605a1a9f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h

  Log Message:
  -----------
  [SDPatternMatch] Implement conditionally binding a value by using m_AllOf. NFC (#225559)

Making the predicate part of Value_bind has a non-zero code size and
compile time impact. I assume this is because the non conditional
m_Value needs a dummy predicate.

This patch removes the predicate from Value_bind and uses a m_AllOf so
we only pay for the predicate when we need it. This matches how this is
currently done in IR PatternMatch.


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

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll

  Log Message:
  -----------
  [CostModel][X86] Add basic AVX512 Intrinsic::masked_expandload cost tables (#225857)

Numbers based off uops.info and Agner averages - they can be polished in
the future, hopefully in conjunction with the scheduler models (which
defaults to treating them as folded variable shuffles).

Still needs splitting/legalization cost adjustments, but the codegen is
pretty good so the split multiplier isn't that far off tbh.

Part of #214613


  Commit: 7071b7545aca45e8d66809474f57e10c805af874
      https://github.com/llvm/llvm-project/commit/7071b7545aca45e8d66809474f57e10c805af874
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M .github/workflows/libcxx-pr-benchmark.yml
    M .github/workflows/libcxx-pr-test-tools.yml

  Log Message:
  -----------
  Revert "Partially Reapply "[libcxx] Move premerge jobs to k8s mode runner set (#221395)"" (#225896)

Reverts llvm/llvm-project#225222

It turns out this did not fully fix the issue.


  Commit: 8ec2ba57f65624b4fdcca0fe2b0ff9bfcfe4c4cd
      https://github.com/llvm/llvm-project/commit/8ec2ba57f65624b4fdcca0fe2b0ff9bfcfe4c4cd
  Author: lexi-nadia <lexinadia at google.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SampleProfileInference.h

  Log Message:
  -----------
  Add a missing include of <vector> (#225871)

This file used to get `<vector>` from DepthFirstIterator.h, but
7311a69f6caa2a6b50cfb899d4b8a1f9f9eeb210 removed the associated include.


  Commit: bcb89020f2953e414ff525cbf04e9c35be50ece4
      https://github.com/llvm/llvm-project/commit/bcb89020f2953e414ff525cbf04e9c35be50ece4
  Author: Alexis Perry-Holby <aperry at lanl.gov>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    A flang/docs/MeetingNotes/2026/2026-09-23.md

  Log Message:
  -----------
  [flang] Add notes from 9-23-26 Flang Community Call (#225841)


  Commit: 88373ba98f5050debb65d5f4b3c631e05a224e60
      https://github.com/llvm/llvm-project/commit/88373ba98f5050debb65d5f4b3c631e05a224e60
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    A llvm/test/Transforms/SimplifyCFG/ARM/switch-ssa-lookup-restrictions.ll
    A llvm/test/Transforms/SimplifyCFG/X86/switch-result-constants.ll

  Log Message:
  -----------
  [SimplifyCFG] Restrict initializer checks to lookup tables (#224235)

SimplifyCFG currently applies lookup table constant restrictions even
when a switch can be replaced with selects or other SSA values. Move
these checks to lookup table construction so they only apply when a
global initializer is needed.


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    A clang/test/CIR/CodeGenBuiltins/builtin-reduce-arithmetic-sve.c
    A clang/test/CIR/CodeGenBuiltins/builtin-reduce-arithmetic.c
    M clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp

  Log Message:
  -----------
  [CIR] Lowering for __builtin_reduce_add/mul/min/max/in_order_fadd (#224204)

Added lowering for __builtin_reduce_add, __builtin_reduce_mul,
__builtin_reduce_min, __builtin_reduce_max and
__builtin_reduce_in_order_fadd by mimicking the same shape as
__builtin_reduce_xor which mirrors classic Codegen shape

Added test for the same


  Commit: bd7e86cd1c74f70085cba6bf776d9612e8179f16
      https://github.com/llvm/llvm-project/commit/bd7e86cd1c74f70085cba6bf776d9612e8179f16
  Author: Trevor Gross <tg at trevorgross.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M compiler-rt/test/builtins/Unit/arm/aeabi_unaligned_access_test.c

  Log Message:
  -----------
  [compiler-rt][test] `__aeabi_uread*` now take a const pointer (#225564)

Discussion inspired by a review comment when these were added prompted a
change to RTABI making these take const pointers. Update the test to
match.

This is a pretty insignificant change but cleans up a few warnings.

Review comment mentioning this:
https://github.com/llvm/llvm-project/pull/167913#discussion_r2527018785
RTABI change:
https://github.com/ARM-software/abi-aa/commit/84e54a7045ff8f37949d2ab193dc07c45717eb41


  Commit: 80b5921a8ba4da49ecb9ea063517ceb573023682
      https://github.com/llvm/llvm-project/commit/80b5921a8ba4da49ecb9ea063517ceb573023682
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M lldb/test/API/macosx/branch-islands/Makefile

  Log Message:
  -----------
  [LLDB] Simplify Makefile (#225890)


  Commit: cfcff78a126040c7757b3343e028a73fc4a17c83
      https://github.com/llvm/llvm-project/commit/cfcff78a126040c7757b3343e028a73fc4a17c83
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    M lldb/test/API/functionalities/scripted_extensions/malformed_scripted_extensions.py

  Log Message:
  -----------
  [lldb] Validate a scripted class abstract methods before running its constructor (#225246)

`CreatePluginObject` called the class's `__init__` and only then checked
that the class implements the methods the interface requires. So a class
we were always going to reject had already executed arbitrary user code,
side effects included, and if `__init__` happened to raise as well, the
constructor's exception masked the real, structural problem.

Lift the abstract-method diagnosis into `CheckAbstractMethods` and run
it against the class object before calling it. The check already
operated on a class rather than an instance (it just happened to reach
it through `instance.__class__`) so nothing about it needed to change.
The pre-existing-object path (`script_obj`) has no constructor to guard,
so it keeps validating after the fact, gated on a flag so the check runs
once.

`ExceptionInitScriptedBreakpointResolver` in the test fixtures claimed
to test a raising `__init__` but also omitted `__callback__`, so it was
only reporting the init exception because construction used to come
first. It now implements `__callback__`, leaving `__init__` as the
single thing wrong with it, which is what the test means to exercise.

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


  Commit: 2e351130b6df0452435c5d489bc9a1a13f8ffacc
      https://github.com/llvm/llvm-project/commit/2e351130b6df0452435c5d489bc9a1a13f8ffacc
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M .github/workflows/bazel-checks.yml
    M .github/workflows/build-ci-container-tooling.yml
    M .github/workflows/build-ci-container-windows.yml
    M .github/workflows/build-ci-container.yml
    M .github/workflows/build-libc-container.yml
    M .github/workflows/build-metrics-container.yml
    M .github/workflows/check-ci.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/compiler-rt-libc-builtins-tests.yml
    M .github/workflows/docs.yml
    M .github/workflows/email-check.yaml
    M .github/workflows/gha-codeql.yml
    M .github/workflows/ids-check.yml
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/issue-write.yml
    M .github/workflows/libc-freebsd-vm-tests.yml
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libc-overlay-tests.yml
    M .github/workflows/libc-shared-tests.yml
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/libcxx-benchmark-commit.yml
    M .github/workflows/libcxx-benchmark-cron.yml
    M .github/workflows/libcxx-build-containers.yml
    M .github/workflows/libcxx-pr-benchmark.yml
    M .github/workflows/libcxx-pr-check-generated-files.yml
    M .github/workflows/lldb-pylint-action.yml
    M .github/workflows/llvm-abi-tests.yml
    M .github/workflows/llvm-bugs.yml
    M .github/workflows/merged-prs.yml
    M .github/workflows/mlir-spirv-tests.yml
    M .github/workflows/new-issues.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-code-format.yml
    M .github/workflows/pr-code-lint.yml
    M .github/workflows/prune-branches.yml
    M .github/workflows/release-asset-audit.yml
    M .github/workflows/release-binaries-all.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-documentation.yml
    M .github/workflows/release-llvm-testing-tools.yml
    M .github/workflows/release-sources.yml
    M .github/workflows/release-tasks.yml
    M .github/workflows/scorecard.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/test-unprivileged-download-artifact.yml
    M .github/workflows/version-check.yml
    M .github/workflows/zizmor.yml

  Log Message:
  -----------
  [Github] Bump all workflows to ubuntu-26.04 (#225878)

ubuntu-26.04 is now GA, so move all the jobs up.


  Commit: 7cec20a949012671c3bfd792c2e02f829534564a
      https://github.com/llvm/llvm-project/commit/7cec20a949012671c3bfd792c2e02f829534564a
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M .ci/green-dragon/lldb-ubuntu.groovy
    M .github/workflows/bazel-checks.yml
    M .github/workflows/build-ci-container-tooling.yml
    M .github/workflows/build-ci-container-windows.yml
    M .github/workflows/build-ci-container.yml
    M .github/workflows/build-libc-container.yml
    M .github/workflows/build-metrics-container.yml
    M .github/workflows/check-ci.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/compiler-rt-libc-builtins-tests.yml
    M .github/workflows/containers/libc/Dockerfile
    M .github/workflows/docs.yml
    M .github/workflows/email-check.yaml
    M .github/workflows/gha-codeql.yml
    M .github/workflows/ids-check.yml
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/issue-write.yml
    M .github/workflows/libc-freebsd-vm-tests.yml
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libc-overlay-tests.yml
    M .github/workflows/libc-shared-tests.yml
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/libcxx-benchmark-commit.yml
    M .github/workflows/libcxx-benchmark-cron.yml
    M .github/workflows/libcxx-build-containers.yml
    M .github/workflows/libcxx-pr-benchmark.yml
    M .github/workflows/libcxx-pr-check-generated-files.yml
    M .github/workflows/libcxx-pr-conformance-tests.yaml
    M .github/workflows/libcxx-pr-test-tools.yml
    A .github/workflows/libcxx/build-at-commit/action.yml
    M .github/workflows/lldb-pylint-action.yml
    M .github/workflows/llvm-abi-tests.yml
    M .github/workflows/llvm-bugs.yml
    M .github/workflows/merged-prs.yml
    M .github/workflows/mlir-spirv-tests.yml
    M .github/workflows/new-issues.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-code-format.yml
    M .github/workflows/pr-code-lint.yml
    M .github/workflows/prune-branches.yml
    M .github/workflows/release-asset-audit.yml
    M .github/workflows/release-binaries-all.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-documentation.yml
    M .github/workflows/release-llvm-testing-tools.yml
    M .github/workflows/release-sources.yml
    M .github/workflows/release-tasks.yml
    M .github/workflows/scorecard.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/test-unprivileged-download-artifact.yml
    M .github/workflows/version-check.yml
    M .github/workflows/zizmor.yml
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/AArch64/use-old-text-zero-padding.c
    M clang-tools-extra/clang-tidy/misc/MultipleInheritanceCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
    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/refactor/tweaks/ExtractFunction.cpp
    M clang-tools-extra/clangd/unittests/FeatureModulesTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/ExtractFunctionTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-nullptr.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/multiple-inheritance.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-nullptr-t.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-demorgan.cpp
    M clang/CMakeLists.txt
    M clang/bindings/python/clang/cindex.py
    M clang/cmake/caches/Release.cmake
    M clang/docs/InternalsManual.md
    M clang/docs/OpenMPSupport.md
    M clang/docs/ReleaseNotes.md
    M clang/docs/analyzer/checkers.md
    M clang/include/clang-c/Index.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/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Redeclarable.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/AST/TypeBase.h
    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/BuiltinHeaders.def
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/FileEntry.h
    M clang/include/clang/Basic/HLSLIntrinsics.td
    M clang/include/clang/Basic/SourceLocation.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/CIR/Dialect/Analysis/CIRAliasAnalysis.h
    M clang/include/clang/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.h
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/Dialect/Passes.h
    M clang/include/clang/CIR/Dialect/Passes.td
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
    M clang/include/clang/CIR/LoweringHelpers.h
    M clang/include/clang/CIR/MissingFeatures.h
    A clang/include/clang/CodeGenUtils/CallUtils.h
    A clang/include/clang/CodeGenUtils/ClassUtils.h
    A clang/include/clang/CodeGenUtils/ExprUtils.h
    A clang/include/clang/CodeGenUtils/FunctionUtils.h
    A clang/include/clang/CodeGenUtils/ItaniumCXXABIUtils.h
    M clang/include/clang/Config/config.h.cmake
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Types.h
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Sema/SemaX86.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    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/DynamicAllocator.h
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.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/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/State.cpp
    M clang/lib/AST/ByteCode/State.h
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/ASTMatchers/ASTMatchFinder.cpp
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/lib/Basic/Targets/NVPTX.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.cpp
    M clang/lib/Basic/Targets/X86.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/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/CIRGenException.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.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/CIRGenSYCL.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/Dialect/Analysis/CIRAliasAnalysis.cpp
    M clang/lib/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.cpp
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/Transforms/CIRTransformUtils.cpp
    M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Dialect/Transforms/GotoSolver.cpp
    M clang/lib/CIR/Dialect/Transforms/IdiomRecognizer.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
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerMicrosoftCXXABI.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.h
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
    M clang/lib/CIR/FrontendAction/CMakeLists.txt
    M clang/lib/CIR/Lowering/CIRPasses.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    M clang/lib/CIR/Lowering/LoweringHelpers.cpp
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.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/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTT.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/ConstantInitBuilder.cpp
    M clang/lib/CodeGen/EHScopeStack.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGenUtils/CMakeLists.txt
    A clang/lib/CodeGenUtils/CallUtils.cpp
    A clang/lib/CodeGenUtils/ClassUtils.cpp
    A clang/lib/CodeGenUtils/ExprUtils.cpp
    A clang/lib/CodeGenUtils/FunctionUtils.cpp
    A clang/lib/CodeGenUtils/ItaniumCXXABIUtils.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Driver/Types.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/__clang_spirv_builtins.h
    A clang/lib/Headers/avx10v2aux_512intrin.h
    A clang/lib/Headers/avx10v2auxintrin.h
    M clang/lib/Headers/cpuid.h
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Headers/riscv_packed_simd.h
    M clang/lib/Index/FileIndexRecord.cpp
    M clang/lib/Interpreter/DeviceOffload.cpp
    M clang/lib/Interpreter/IncrementalExecutor.cpp
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/Wasm.cpp
    M clang/lib/Options/DriverOptions.cpp
    M clang/lib/Options/OptionUtils.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaTemplate.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/SemaX86.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/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
    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/RawPtrRefSafetyModel.h
    M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.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
    A clang/test/AST/ByteCode/codegen.cl
    M clang/test/AST/ByteCode/const-base-cast.cpp
    M clang/test/AST/ByteCode/invalid.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
    M clang/test/ASTMerge/class-template-partial-spec/test.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    A clang/test/Analysis/Checkers/WebKit/mock-canborrow.h
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    A clang/test/Analysis/Checkers/WebKit/unborrowed-local-vars-cxx23.cpp
    A clang/test/Analysis/Checkers/WebKit/unborrowed-local-vars.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
    A clang/test/Analysis/inlining-final-methods.cpp
    M clang/test/CIR/Analysis/alias-analysis-underlying-object.cir
    M clang/test/CIR/CodeGen/agg-init-constexpr.cpp
    M clang/test/CIR/CodeGen/array-init-loop-exprs.cpp
    M clang/test/CIR/CodeGen/array.cpp
    A clang/test/CIR/CodeGen/attr-musttail-ehspec-errors.cpp
    M clang/test/CIR/CodeGen/attr-target-x86.c
    M clang/test/CIR/CodeGen/base-init-eh.cpp
    M clang/test/CIR/CodeGen/bitfields.cpp
    R clang/test/CIR/CodeGen/bitint-split-storage-nyi.c
    A clang/test/CIR/CodeGen/bitint-wide.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval-thunk-mixed.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval-thunk-sret.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval-thunk.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-vaarg-non-pod-nyi.cpp
    M clang/test/CIR/CodeGen/call.c
    M clang/test/CIR/CodeGen/class.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional-eh.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/complex.cpp
    M clang/test/CIR/CodeGen/ctor-null-init.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
    A clang/test/CIR/CodeGen/cxx20-module-initializer-ms-abi.cppm
    M clang/test/CIR/CodeGen/delegating-ctor.cpp
    M clang/test/CIR/CodeGen/destructor-vtable-reinit.cpp
    M clang/test/CIR/CodeGen/dtors.cpp
    A clang/test/CIR/CodeGen/ehspec-noexcept.cpp
    A clang/test/CIR/CodeGen/ehspec.cpp
    A clang/test/CIR/CodeGen/func-member-attrs.cpp
    M clang/test/CIR/CodeGen/global-address-to-int.c
    A clang/test/CIR/CodeGen/global-const-alignment.cpp
    M clang/test/CIR/CodeGen/global-ptr-init.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
    A clang/test/CIR/CodeGen/lambda-explicit-obj.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/local-const-aggregate-name-clash.cpp
    M clang/test/CIR/CodeGen/loop.cpp
    A clang/test/CIR/CodeGen/lowering-lang-options.cpp
    A clang/test/CIR/CodeGen/matrix.cpp
    M clang/test/CIR/CodeGen/multi-vtable.cpp
    A clang/test/CIR/CodeGen/nobuiltin-replaceable-allocation.cpp
    A clang/test/CIR/CodeGen/noinline-available-externally-skip.cpp
    M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
    M clang/test/CIR/CodeGen/rtti-member-pointer.cpp
    M clang/test/CIR/CodeGen/rtti-qualfn.cpp
    M clang/test/CIR/CodeGen/side-effect.cpp
    M clang/test/CIR/CodeGen/static-local.cpp
    A clang/test/CIR/CodeGen/target-lowering-dead-block.cpp
    M clang/test/CIR/CodeGen/ternary.cpp
    M clang/test/CIR/CodeGen/union.c
    M clang/test/CIR/CodeGen/var-arg-aggregate.c
    A clang/test/CIR/CodeGen/var-arg-direct-offset.cpp
    A clang/test/CIR/CodeGen/var-arg-empty.c
    A clang/test/CIR/CodeGen/var-arg-int128.c
    A clang/test/CIR/CodeGen/var-arg-long-double.c
    A clang/test/CIR/CodeGen/var-arg-vector.c
    M clang/test/CIR/CodeGen/var_arg.c
    M clang/test/CIR/CodeGen/vbase.cpp
    M clang/test/CIR/CodeGen/vector-bool.cpp
    M clang/test/CIR/CodeGen/virtual-function-calls.cpp
    M clang/test/CIR/CodeGen/vtable-emission.cpp
    M clang/test/CIR/CodeGen/vtable-thunk-undefined-callee.cpp
    M clang/test/CIR/CodeGen/vtt.cpp
    A clang/test/CIR/CodeGenBuiltins/builtin-reduce-arithmetic-sve.c
    A clang/test/CIR/CodeGenBuiltins/builtin-reduce-arithmetic.c
    A clang/test/CIR/CodeGenBuiltins/builtin-stdc-bit-c2y.c
    M clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp
    A clang/test/CIR/CodeGenCUDA/lowering-lang-options.cu
    M clang/test/CIR/CodeGenCXX/base-layout.cpp
    M clang/test/CIR/CodeGenCXX/sizeof-pack.cpp
    M clang/test/CIR/CodeGenCXX/uncopyable-args.cpp
    M clang/test/CIR/CodeGenCXX/vtable-pure-deleted-funcs.cpp
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-prefetch.hip
    R clang/test/CIR/CodeGenHIP/builtins-amdgcn-s-prefetch-inst-nyi.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
    M clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl
    A clang/test/CIR/CodeGenSYCL/kernel-caller-attributes.cpp
    A clang/test/CIR/CodeGenSYCL/offload-include-binary.cpp
    M clang/test/CIR/IR/call.cir
    M clang/test/CIR/IR/enum-attrs.cir
    M clang/test/CIR/IR/func.cir
    A clang/test/CIR/IR/invalid-effect-attrs.cir
    M clang/test/CIR/IR/invalid-func.cir
    A clang/test/CIR/IR/invalid-matrix.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-tls.cir
    M clang/test/CIR/IR/invalid-try-catch.cir
    A clang/test/CIR/IR/lowering-lang-options.cir
    A clang/test/CIR/IR/matrix.cir
    M clang/test/CIR/IR/static-local-info.cir
    M clang/test/CIR/IR/static-local.cir
    M clang/test/CIR/IR/try-catch.cir
    M clang/test/CIR/Lowering/const-array-bulk-lowering-fallbacks.cir
    A clang/test/CIR/Lowering/memory-effects.cir
    A clang/test/CIR/Lowering/not.cir
    A clang/test/CIR/Lowering/ptr-stride-index-width.cir
    A clang/test/CIR/Lowering/ptr-stride-index-width.cpp
    M clang/test/CIR/Lowering/ternary.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-non-byval-forward-param.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-non-byval-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/memory-effects-argmem-indirect.cir
    A clang/test/CIR/Transforms/abi-lowering/memory-effects-argmem.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-vaarg-valist-shape-nyi.cir
    M clang/test/CIR/Transforms/eh-abi-lowering-eh-spec.cir
    M clang/test/CIR/Transforms/flatten-eh-spec.cir
    M clang/test/CIR/Transforms/flatten-preserve-attrs.cir
    M clang/test/CIR/Transforms/idiom-recognizer.cpp
    M clang/test/CIR/func-linkage.cpp
    M clang/test/CIR/lib/Analysis/TestCIRAliasAnalysis.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
    A clang/test/CodeGen/AArch64/abi-lowering-matrix-ha-compat23.c
    M clang/test/CodeGen/AArch64/neon-intrinsics.c
    R clang/test/CodeGen/AArch64/neon-ldst-one.c
    M clang/test/CodeGen/AArch64/neon/load.c
    M clang/test/CodeGen/AArch64/poly64.c
    M clang/test/CodeGen/AMDGPU/amdgcn-av-non-atomic.cpp
    M clang/test/CodeGen/AMDGPU/amdgcn-av-none-amdgpu-atomic.cpp
    M clang/test/CodeGen/AMDGPU/amdgcn-av-none-attr.cpp
    M clang/test/CodeGen/RISCV/rvp-intrinsics.c
    A clang/test/CodeGen/Sparc/sparc-long-double-abi.c
    M clang/test/CodeGen/Sparc/sparc-vaarg.c
    M clang/test/CodeGen/Sparc/sparcv8-abi.c
    M clang/test/CodeGen/Sparc/variadic-aggregate.c
    R clang/test/CodeGen/WebAssembly/exception-model-flag.c
    A clang/test/CodeGen/WebAssembly/target-abi-module-flag.c
    M clang/test/CodeGen/WebAssembly/wasm-exception-model-flag-parse-ir-input.ll
    A clang/test/CodeGen/X86/avx10_2_v2aux-builtins-errors.c
    A clang/test/CodeGen/X86/avx10_2_v2aux-builtins.c
    M clang/test/CodeGen/attr-target-x86.c
    M clang/test/CodeGen/builtin-clear-padding-codegen.c
    M clang/test/CodeGen/builtin-cpu-supports-all.c
    M clang/test/CodeGen/builtins-nvptx.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/compound-literal-lifetime.c
    M clang/test/CodeGen/exception-model-flag.c
    M clang/test/CodeGen/ptrauth-qualifier-const-init.c
    M clang/test/CodeGen/ptrauth-restricted-intptr-qualifier.c
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/CodeGen/ubsan-pointer-overflow-constant-fold.c
    M clang/test/CodeGen/ubsan-pointer-overflow.c
    M clang/test/CodeGen/veclib-darwin-libsystem-m.c
    M clang/test/CodeGenCUDA/amdgpu-bf16.cu
    M clang/test/CodeGenCUDA/record-layout.cu
    R clang/test/CodeGenCXX/GH211943.cpp
    M clang/test/CodeGenCXX/OmitRTTIComponentABI/simple-vtable-definition.cpp
    M clang/test/CodeGenCXX/PR26569.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/child-vtable-in-comdat.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
    A clang/test/CodeGenCXX/RelativeVTablesABI/deleted-virtual-method.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/parent-and-child-in-comdats.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/parent-vtable-in-comdat.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
    M clang/test/CodeGenCXX/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/cfi-stats.cpp
    M clang/test/CodeGenCXX/const-init-cxx11.cpp
    M clang/test/CodeGenCXX/constructor-init.cpp
    M clang/test/CodeGenCXX/copy-constructor-synthesis-2.cpp
    M clang/test/CodeGenCXX/copy-constructor-synthesis.cpp
    M clang/test/CodeGenCXX/dllexport.cpp
    M clang/test/CodeGenCXX/dllimport-rtti.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/dynamic-cast-exact.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
    M clang/test/CodeGenCXX/microsoft-interface.cpp
    M clang/test/CodeGenCXX/ms-local-vft-alias-comdat.cpp
    M clang/test/CodeGenCXX/new_hot_cold.cpp
    M clang/test/CodeGenCXX/operator-new.cpp
    M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
    M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call.cpp
    M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
    M clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
    M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
    M clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
    M clang/test/CodeGenCXX/ptrauth-rtti-layout.cpp
    M clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
    M clang/test/CodeGenCXX/ptrauth-virtual-function.cpp
    M clang/test/CodeGenCXX/ptrauth-vtable-in-vtt.cpp
    M clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
    M clang/test/CodeGenCXX/rtti-mingw64.cpp
    M clang/test/CodeGenCXX/rtti-qualfn.cpp
    M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
    M clang/test/CodeGenCXX/static-init.cpp
    M clang/test/CodeGenCXX/strict-vtable-pointers.cpp
    M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
    M clang/test/CodeGenCXX/visibility.cpp
    M clang/test/CodeGenCXX/vtable-align-address-space.cpp
    M clang/test/CodeGenCXX/vtable-align.cpp
    M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
    M clang/test/CodeGenCXX/vtable-assume-load.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization.cpp
    M clang/test/CodeGenCXX/vtt-layout-address-space.cpp
    M clang/test/CodeGenCXX/vtt-layout.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp
    M clang/test/CodeGenHIP/hipspv-kernel.cpp
    M clang/test/CodeGenHIP/sret-nontrivial-copyable.hip
    A clang/test/CodeGenHLSL/builtins/InterlockedMax.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-Interlocked.hlsl
    A clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedMax.hlsl
    M clang/test/CodeGenHLSL/builtins/RWTexture-Interlocked.hlsl
    A clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedMax.hlsl
    M clang/test/CodeGenHLSL/builtins/fmod.hlsl
    A clang/test/CodeGenHLSL/semantics/SV_InstanceID.vs.hlsl
    M clang/test/CodeGenObjC/attr-exception.m
    M clang/test/CodeGenObjC/ptrauth-attr-exception.m
    M clang/test/CodeGenObjC/ptrauth-block-descriptor-pointer.m
    M clang/test/CodeGenObjC/ptrauth-block-isa.m
    M clang/test/CodeGenObjC/ptrauth-class-ro.m
    M clang/test/CodeGenObjC/ptrauth-objc-isa-super.m
    M clang/test/CodeGenObjC/ptrauth-objc-method-list-pointer.m
    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/CodeGenOpenCL/amdgpu-debug-info-pointer-address-space.cl
    M clang/test/CodeGenOpenCL/opencl_types.cl
    M clang/test/CodeGenOpenCL/spir_version.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
    R clang/test/Driver/Inputs/object0.o
    M clang/test/Driver/aix-ld.c
    M clang/test/Driver/baremetal.cpp
    A clang/test/Driver/darwin-static-lib-universal.c
    M clang/test/Driver/darwin-static-lib.c
    M clang/test/Driver/fsanitize.c
    M clang/test/Driver/loongarch-toolchain.c
    R clang/test/Driver/pch-inputs.h
    M clang/test/Driver/print-supported-extensions-riscv.c
    A clang/test/Driver/ps4-ps5-resource-path.cpp
    M clang/test/Driver/sanitize-trap-loop.c
    M clang/test/Driver/systemz-features.cpp
    M clang/test/Driver/wasm-toolchain.c
    M clang/test/Driver/x86-target-features.c
    M clang/test/Frontend/stack-layout-remark.c
    A clang/test/Index/openmp-flatten.c
    A clang/test/Interpreter/failed-input-keeps-redecls.cpp
    A clang/test/Modules/concept-specialization-deserialization.cppm
    M clang/test/Modules/pr102360.cppm
    A clang/test/Modules/pr72038.cppm
    M clang/test/Modules/redecl-add-after-load.cpp
    M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
    M clang/test/OffloadTools/clang-sycl-linker/basic.ll
    M clang/test/OffloadTools/clang-sycl-linker/options.ll
    M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
    M clang/test/OpenMP/amdgcn_save_temps.c
    M clang/test/OpenMP/bug60602.cpp
    A clang/test/OpenMP/collapse_ordered_instantiation_dependent.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
    A clang/test/OpenMP/flatten_ast_print.cpp
    A clang/test/OpenMP/flatten_codegen.cpp
    A clang/test/OpenMP/flatten_codegen_for.cpp
    A clang/test/OpenMP/flatten_depth_ast_print.cpp
    A clang/test/OpenMP/flatten_depth_codegen.cpp
    A clang/test/OpenMP/flatten_depth_messages.cpp
    A clang/test/OpenMP/flatten_messages.cpp
    A clang/test/OpenMP/flatten_serialize_module.cpp
    A clang/test/OpenMP/for_collapse_stmt_expr_codegen.cpp
    M clang/test/OpenMP/for_loop_messages.cpp
    A clang/test/OpenMP/fuse_depth_messages.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
    A clang/test/OpenMP/structured-bindings-ast.cpp
    A clang/test/OpenMP/structured-bindings-codegen.cpp
    A clang/test/OpenMP/structured-bindings-messages.cpp
    A clang/test/OpenMP/structured-bindings-nontemporal.cpp
    A clang/test/OpenMP/structured-bindings-target-map-different-types.cpp
    A clang/test/OpenMP/structured-bindings-template-instantiation.cpp
    M clang/test/OpenMP/target_data_use_device_ptr_inheritance_codegen.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 clang/test/Parser/decltype-crash.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
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/x86_target_features.c
    M clang/test/Sema/attr-target-mv.c
    M clang/test/Sema/constant-builtins-2.c
    M clang/test/Sema/stmtexprs.c
    M clang/test/Sema/vector-assign.c
    A clang/test/Sema/warn-fortify-source-recv-not-builtin.c
    M clang/test/Sema/warn-fortify-source.c
    M clang/test/Sema/zvector.c
    A clang/test/SemaCXX/GH220525.cpp
    M clang/test/SemaCXX/aggregate-default-member-initializers.cpp
    M clang/test/SemaCXX/decomposition-openmp.cpp
    M clang/test/SemaCXX/dllexport.cpp
    M clang/test/SemaCXX/dllimport.cpp
    M clang/test/SemaCXX/make_integer_seq.cpp
    M clang/test/SemaCXX/recovery-expr-type.cpp
    M clang/test/SemaHIP/atomic-init.hip
    A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedMax-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedMax-sm65-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/InterlockedMax-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/fmod-errors.hlsl
    A clang/test/SemaHLSL/Semantics/instanceid.output.hlsl
    A clang/test/SemaHLSL/Semantics/instanceid.ps.hlsl
    A clang/test/SemaHLSL/Semantics/instanceid.vs.hlsl
    M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzleErrors.hlsl
    A clang/test/SemaHLSL/Types/invalid-longvec-swizzle.hlsl
    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
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-installapi/ClangInstallAPI.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-offload-bundler/ClangOffloadBundler.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M clang/tools/driver/cc1gen_reproducer_main.cpp
    M clang/tools/driver/driver.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/tools/offload-arch/AMDGPUArchByKFD.cpp
    M clang/tools/offload-arch/OffloadArch.cpp
    M clang/unittests/Basic/FileManagerTest.cpp
    M clang/unittests/Serialization/LoadSpecLazilyTest.cpp
    M clang/unittests/offload-arch/OffloadArchTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/builtins/cpu_model/x86.c
    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 compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
    M compiler-rt/lib/ubsan/CMakeLists.txt
    M compiler-rt/lib/ubsan/ubsan_loop_detect.cpp
    M compiler-rt/test/builtins/Unit/arm/aeabi_unaligned_access_test.c
    M compiler-rt/test/fuzzer/minimize_crash.test
    M compiler-rt/test/hwasan/TestCases/Linux/decorate-proc-maps.c
    A compiler-rt/test/ubsan/TestCases/Misc/Posix/trap_loop_detect.cpp
    M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
    M flang-rt/lib/runtime/derived.cpp
    A flang-rt/test/Driver/derived-array-destruction.f90
    M flang-rt/unittests/Runtime/Assign.cpp
    M flang/docs/Aliasing.md
    M flang/docs/ArrayComposition.md
    M flang/docs/BijectiveInternalNameUniquing.md
    M flang/docs/C++17.md
    M flang/docs/C++style.md
    M flang/docs/Calls.md
    M flang/docs/Character.md
    M flang/docs/ComplexOperations.md
    M flang/docs/ControlFlowGraph.md
    M flang/docs/DesignGuideline.md
    M flang/docs/DoConcurrent.md
    M flang/docs/DoConcurrentConversionToOpenMP.md
    M flang/docs/Extensions.md
    M flang/docs/FAQ.md
    M flang/docs/FlangDriver.md
    M flang/docs/FlangOptionsDocs.td
    M flang/docs/FortranFeatureHistory.md
    M flang/docs/FortranForCProgrammers.md
    M flang/docs/FortranIR.md
    M flang/docs/FortranLLVMTestSuite.md
    M flang/docs/FortranStandardsSupport.md
    M flang/docs/GettingInvolved.md
    M flang/docs/GettingStarted.md
    M flang/docs/IORuntimeInternals.md
    M flang/docs/ImplementingASemanticCheck.md
    M flang/docs/IntrinsicTypes.md
    M flang/docs/Intrinsics.md
    M flang/docs/LabelResolution.md
    A flang/docs/MeetingNotes/2026/2026-09-23.md
    M flang/docs/ModFiles.md
    M flang/docs/OpenACC-extensions.md
    M flang/docs/OpenACC.md
    M flang/docs/OpenMP-declare-target.md
    M flang/docs/OpenMP-descriptor-management.md
    M flang/docs/OpenMP-extensions.md
    M flang/docs/OpenMP-semantics.md
    M flang/docs/OpenMPSupport.md
    M flang/docs/Overview.md
    M flang/docs/ParserCombinators.md
    M flang/docs/Parsing.md
    M flang/docs/Preprocessing.md
    M flang/docs/RuntimeDescriptor.md
    M flang/docs/RuntimeEnvironment.md
    M flang/docs/RuntimeTypeInfo.md
    M flang/docs/Semantics.md
    M flang/docs/Unsigned.md
    A flang/docs/_static/custom.css
    M flang/docs/conf.py
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Optimizer/Builder/CUFCommon.h
    M flang/include/flang/Optimizer/Builder/MutableBox.h
    M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
    M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.h
    M flang/include/flang/Optimizer/Support/InternalNames.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/openmp-utils.h
    M flang/include/flang/Parser/options.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/symbol.h
    M flang/include/flang/Support/Fortran-features.h
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/Builder/CUFCommon.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    M flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SeparateAllocatableAssign.cpp
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
    M flang/lib/Optimizer/OpenACC/Transforms/ACCDeclareActionConversion.cpp
    M flang/lib/Optimizer/OpenACC/Transforms/ACCUseDeviceCanonicalizer.cpp
    M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Support/InternalNames.cpp
    M flang/lib/Optimizer/Support/Utils.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    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/lib/Optimizer/Transforms/CompilerGeneratedNames.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/openmp-utils.cpp
    M flang/lib/Parser/parsing.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-allocate.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-syntax.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/rewrite-parse-tree.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/lib/Support/Fortran-features.cpp
    A flang/test/Driver/funique-internal-linkage-names.f90
    M flang/test/Fir/CUDA/cuda-constructor-2.f90
    A flang/test/Fir/CUDA/cuda-constructor-extra.fir
    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
    M flang/test/Fir/CUDA/predefined-variables.mlir
    M flang/test/Fir/OpenACC/declare-action-conversion.fir
    M flang/test/Fir/copy-codegen.fir
    M flang/test/HLFIR/assign-codegen-derived.fir
    M flang/test/HLFIR/opt-bufferization-dealloc-conflict.fir
    M flang/test/HLFIR/separate-allocatable-assign.fir
    A flang/test/Integration/debug-include-file.f90
    M flang/test/Integration/debug-module-2.f90
    M flang/test/Integration/debug-module-constant.f90
    M flang/test/Lower/CUDA/cuda-devptr.cuf
    A flang/test/Lower/CUDA/cuda-gpu-managed-components-order.cuf
    A flang/test/Lower/CUDA/cuda-gpu-managed-components.cuf
    A flang/test/Lower/HLFIR/visible-cray-pointer-target.f90
    M flang/test/Lower/Intrinsics/transfer.f90
    M flang/test/Lower/OpenACC/acc-declare-allocatable-deallocate.f90
    M flang/test/Lower/OpenACC/acc-declare-unified.f90
    M flang/test/Lower/OpenACC/acc-declare-use-associated-allocatable.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90
    M flang/test/Lower/OpenACC/acc-firstprivate-derived.f90
    A flang/test/Lower/OpenMP/DelayedPrivatization/target-firstprivate-nested-allocatable-mapper.f90
    M flang/test/Lower/OpenMP/Todo/dispatch.f90
    A flang/test/Lower/OpenMP/dispatch.f90
    M flang/test/Lower/cray-pointer.f90
    A flang/test/Lower/io-implied-do-collapse.f90
    A flang/test/Lower/unique-internal-linkage-names.f90
    M flang/test/Parser/cuf-sanity-tree.CUF
    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
    A flang/test/Semantics/CUDA/cuda-managed-implicit-modfile.cuf
    M flang/test/Semantics/OpenMP/allocate02.f90
    M flang/test/Semantics/OpenMP/allocate03.f90
    M flang/test/Semantics/OpenMP/allocate04.f90
    M flang/test/Semantics/OpenMP/allocate05.f90
    M flang/test/Semantics/OpenMP/allocate06.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocate09.f90
    M flang/test/Semantics/OpenMP/allocate_do1.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/declare-reduction-ambiguous.f90
    M flang/test/Semantics/OpenMP/depend01.f90
    M flang/test/Semantics/OpenMP/depend05.f90
    M flang/test/Semantics/OpenMP/depobj-construct-v52.f90
    M flang/test/Semantics/OpenMP/do-concurrent-collapse.f90
    M flang/test/Semantics/OpenMP/from-clause-v45.f90
    M flang/test/Semantics/OpenMP/map-modifiers-v60.f90
    M flang/test/Semantics/OpenMP/masked.f90
    M flang/test/Semantics/OpenMP/nontemporal.f90
    M flang/test/Semantics/OpenMP/ordered01.f90
    M flang/test/Semantics/OpenMP/requires01.f90
    M flang/test/Semantics/OpenMP/requires02.f90
    M flang/test/Semantics/OpenMP/requires03.f90
    M flang/test/Semantics/OpenMP/requires06.f90
    M flang/test/Semantics/OpenMP/requires07.f90
    M flang/test/Semantics/OpenMP/requires08.f90
    M flang/test/Semantics/OpenMP/requires09.f90
    M flang/test/Semantics/OpenMP/simd-only.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
    M flang/test/Semantics/call10.f90
    A flang/test/Semantics/interface-body-data.f90
    A flang/test/Transforms/DoConcurrent/nested_derived_type_device.f90
    A flang/test/Transforms/OpenACC/acc-implicit-data-device-data.fir
    M flang/test/Transforms/debug-derived-type-1.fir
    M flang/test/Transforms/debug-dummy-argument-inline.fir
    A flang/test/Transforms/debug-include-file.fir
    A flang/test/Transforms/debug-omp-target-internal-proc.fir
    A flang/test/Transforms/function-attrs-unique-internal-linkage-names.fir
    M flang/tools/bbc/bbc.cpp
    M flang/tools/f18-parse-demo/f18-parse-demo.cpp
    M flang/unittests/Optimizer/InternalNamesTest.cpp
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    A libc/cmake/modules/compiler_features/check_float80.cpp
    M libc/config/config.json
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/app.h
    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/docs/headers/math/index.rst
    M libc/fuzzing/__support/CMakeLists.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct___pthread_cleanup_frame.h
    M libc/include/CMakeLists.txt
    M libc/include/fcntl.yaml
    M libc/include/grp.yaml
    M libc/include/llvm-libc-macros/pthread-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/struct___pthread_cleanup_frame.h
    M libc/include/pthread.yaml
    M libc/include/sched.yaml
    M libc/include/stdlib.yaml
    M libc/include/sys/mman.yaml
    M libc/include/sys/stat.yaml
    M libc/include/unistd.yaml
    M libc/lib/CMakeLists.txt
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/CMakeLists.txt
    R libc/src/__support/CPP/vector.h
    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/File/CMakeLists.txt
    M libc/src/__support/File/file.cpp
    M libc/src/__support/File/file.h
    A libc/src/__support/File/file_io_result.h
    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/pause.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/block.h
    M libc/src/__support/frac128.h
    A libc/src/__support/frac256.h
    M libc/src/__support/frac64.h
    M libc/src/__support/freelist_heap.h
    M libc/src/__support/freestore.h
    M libc/src/__support/freetrie.cpp
    M libc/src/__support/freetrie.h
    M libc/src/__support/macros/attributes.h
    M libc/src/__support/math/CMakeLists.txt
    M libc/src/__support/math/acosf.h
    M libc/src/__support/math/exp10.h
    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/exp2.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/__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/src/__support/threads/CMakeLists.txt
    A libc/src/__support/threads/cleanup_stack.h
    M libc/src/__support/threads/linux/CMakeLists.txt
    A libc/src/__support/threads/linux/aarch64/CMakeLists.txt
    A libc/src/__support/threads/linux/aarch64/tls.cpp
    A libc/src/__support/threads/linux/riscv/CMakeLists.txt
    A libc/src/__support/threads/linux/riscv/tls.cpp
    M libc/src/__support/threads/linux/thread.cpp
    A libc/src/__support/threads/linux/x86_64/CMakeLists.txt
    A libc/src/__support/threads/linux/x86_64/tls.cpp
    M libc/src/__support/threads/thread.cpp
    M libc/src/__support/threads/thread_attributes.h
    M libc/src/__support/tlsf_table.h
    M libc/src/fcntl/CMakeLists.txt
    M libc/src/fcntl/linux/CMakeLists.txt
    A libc/src/fcntl/linux/posix_fallocate.cpp
    A libc/src/fcntl/posix_fallocate.h
    M libc/src/grp/CMakeLists.txt
    A libc/src/grp/getgrgid.cpp
    A libc/src/grp/getgrgid.h
    A libc/src/grp/getgrgid_r.cpp
    A libc/src/grp/getgrgid_r.h
    A libc/src/grp/getgrnam.cpp
    A libc/src/grp/getgrnam.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/src/math/generic/expf.cpp
    M libc/src/pthread/CMakeLists.txt
    A libc/src/pthread/__pthread_cleanup_pop.cpp
    A libc/src/pthread/__pthread_cleanup_pop.h
    A libc/src/pthread/__pthread_cleanup_push.cpp
    A libc/src/pthread/__pthread_cleanup_push.h
    A libc/src/pthread/pthread_attr.h
    M libc/src/pthread/pthread_attr_init.cpp
    M libc/src/pthread/pthread_create.cpp
    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/stdio/baremetal/CMakeLists.txt
    M libc/src/stdio/baremetal/file_internal.h
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/linux/CMakeLists.txt
    A libc/src/stdlib/linux/secure_getenv.cpp
    A libc/src/stdlib/secure_getenv.h
    M libc/src/sys/mman/linux/mlock2.cpp
    M libc/src/sys/mman/mlock2.h
    M libc/src/sys/stat/CMakeLists.txt
    A libc/src/sys/stat/fstatat.h
    M libc/src/sys/stat/linux/CMakeLists.txt
    A libc/src/sys/stat/linux/fstatat.cpp
    A libc/src/sys/stat/linux/mkfifoat.cpp
    A libc/src/sys/stat/linux/mknodat.cpp
    A libc/src/sys/stat/mkfifoat.h
    A libc/src/sys/stat/mknodat.h
    M libc/src/threads/CMakeLists.txt
    M libc/src/unistd/CMakeLists.txt
    M libc/src/unistd/linux/CMakeLists.txt
    A libc/src/unistd/linux/pause.cpp
    A libc/src/unistd/pause.h
    M libc/startup/linux/CMakeLists.txt
    M libc/startup/linux/aarch64/CMakeLists.txt
    R libc/startup/linux/aarch64/tls.cpp
    M libc/startup/linux/do_start.cpp
    M libc/startup/linux/riscv/CMakeLists.txt
    R libc/startup/linux/riscv/tls.cpp
    M libc/startup/linux/x86_64/CMakeLists.txt
    R libc/startup/linux/x86_64/tls.cpp
    M libc/test/integration/src/pthread/CMakeLists.txt
    A libc/test/integration/src/pthread/pthread_cleanup_test.cpp
    M libc/test/integration/src/stdlib/CMakeLists.txt
    A libc/test/integration/src/stdlib/secure_getenv_test.cpp
    M libc/test/src/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/CPP/CMakeLists.txt
    R libc/test/src/__support/CPP/vector_test.cpp
    M libc/test/src/__support/FPUtil/CMakeLists.txt
    M libc/test/src/__support/FPUtil/float80_test.cpp
    M libc/test/src/__support/freelist_heap_test.cpp
    M libc/test/src/fcntl/CMakeLists.txt
    A libc/test/src/fcntl/posix_fallocate_test.cpp
    M libc/test/src/grp/CMakeLists.txt
    A libc/test/src/grp/getgrgid_r_test.cpp
    A libc/test/src/grp/getgrgid_test.cpp
    A libc/test/src/grp/getgrnam_r_test.cpp
    A libc/test/src/grp/getgrnam_test.cpp
    M libc/test/src/math/AddTest.h
    M libc/test/src/math/CMakeLists.txt
    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/CMakeLists.txt
    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/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/exp10m1f_test.cpp
    M libc/test/src/math/exhaustive/exp2f_test.cpp
    M libc/test/src/math/exhaustive/exp2m1f_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/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/lgammaf_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/rsqrtf_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
    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/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/pow_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/exp10f_test.cpp
    M libc/test/src/math/smoke/exp2f_test.cpp
    M libc/test/src/math/smoke/expbf16_test.cpp
    R libc/test/src/math/smoke/expf_static_rounding_test.cpp
    M libc/test/src/math/smoke/expf_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/pow_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
    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
    M libc/test/src/sched/CMakeLists.txt
    A libc/test/src/sched/linux/CMakeLists.txt
    A libc/test/src/sched/linux/clone_test.cpp
    M libc/test/src/sys/stat/CMakeLists.txt
    A libc/test/src/sys/stat/fstatat_test.cpp
    A libc/test/src/sys/stat/mkfifoat_test.cpp
    A libc/test/src/sys/stat/mknodat_test.cpp
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/pause_test.cpp
    M libc/utils/MPFRWrapper/CMakeLists.txt
    M libc/utils/MPFRWrapper/MPCommon.cpp
    M libc/utils/MPFRWrapper/MPCommon.h
    M libc/utils/docgen/pthread.yaml
    M libcxx/cmake/caches/Generic-llvm-libc.cmake
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/24.rst
    M libcxx/docs/Status/Cxx17Papers.csv
    M libcxx/docs/Status/Cxx26Papers.csv
    M libcxx/include/CMakeLists.txt
    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/__iterator/capacity_aware_iterator.h
    A libcxx/include/__iterator/static_packed_bounded_iter.h
    M libcxx/include/__memory/pstl.h
    M libcxx/include/__optional/optional.h
    M libcxx/include/__optional/optional_ref.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/__type_traits/is_within_lifetime.h
    M libcxx/include/__vector/vector.h
    M libcxx/include/module.modulemap.in
    M libcxx/include/queue
    M libcxx/include/stack
    M libcxx/include/version
    M libcxx/src/std_stream.h
    M libcxx/test/benchmarks/containers/string.bench.cpp
    M libcxx/test/benchmarks/filesystem.bench.cpp
    M libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
    A libcxx/test/libcxx/input.output/iostream.objects/cin-read-stdio-sync.sh.cpp
    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
    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
    M libcxx/test/libcxx/utilities/meta/is_within_lifetime.verify.cpp
    M libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp
    M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/lost_wakeup.pass.cpp
    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
    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
    M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_for.signals.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
    M libcxx/test/std/utilities/meta/meta.const.eval/is_within_lifetime.compile.pass.cpp
    M libcxx/utils/ci/docker/docker-compose.yml
    R libcxx/utils/ci/docker/linux-builder-base.dockerfile
    M libcxx/utils/ci/docker/linux-builder.dockerfile
    M libcxx/utils/ci/lnt/README.md
    M libcxx/utils/ci/lnt/machines.json
    M libcxx/utils/ci/lnt/run-benchmarks
    M libcxx/utils/ci/run-buildbot
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxxabi/test/cxa_thread_atexit_test.pass.cpp
    M libsycl/include/sycl/__impl/queue.hpp
    M libsycl/src/detail/device_image_wrapper.hpp
    M libsycl/src/detail/global_objects.cpp
    M libsycl/src/detail/global_objects.hpp
    M libsycl/src/detail/program_manager.cpp
    M libsycl/src/detail/program_manager.hpp
    M libsycl/src/detail/queue_impl.hpp
    A libsycl/src/detail/suppress_extra_warnings.hpp
    M libsycl/src/queue.cpp
    M libsycl/test/usm/memset.cpp
    M libsycl/unittests/event/async_handler.cpp
    M lld/COFF/Driver.h
    M lld/COFF/DriverUtils.cpp
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Driver.h
    M lld/ELF/DriverUtils.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/Options.td
    M lld/ELF/OutputSections.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Symbols.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp
    M lld/MachO/Driver.h
    M lld/MachO/DriverUtils.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/MapFile.cpp
    M lld/MachO/SyntheticSections.h
    M lld/MinGW/Driver.cpp
    M lld/docs/ld.lld.1
    A lld/test/ELF/aarch64-reloc-pauth-undef-weak-dso.s
    A lld/test/ELF/aarch64-reloc-pauth-undef-weak-pie.s
    A lld/test/ELF/aarch64-reloc-pauth-undef-weak.s
    M lld/test/ELF/aarch64-tlsdesc-pauth.s
    M lld/test/ELF/common-archive-lookup.s
    M lld/test/ELF/linkerscript/nobits-offset.s
    M lld/test/ELF/ppc64-long-branch-rel14.s
    M lld/test/ELF/systemz-gotent-relax-align.s
    M lld/test/ELF/warn-backrefs.s
    M lld/test/ELF/x86-64-gotpc-relax-too-far-relr.s
    M lld/test/ELF/x86-64-plt.s
    M lld/test/ELF/x86-64-tls-gdie.s
    M lld/test/ELF/x86-64-tls-pltoff64.s
    M lld/test/ELF/x86-64-tlsdesc-gd.s
    M lld/test/MachO/arm64-objc-stubs-dead.s
    M lld/test/MachO/arm64-objc-stubs.s
    A lld/test/MachO/coincident-alt-entry.s
    M lld/test/MachO/objc-stubs-order-file.s
    M lld/test/MachO/x86-64-objc-stubs.s
    M lld/tools/lld/lld.cpp
    M lld/wasm/Driver.cpp
    M lldb/bindings/interface/SBProcessDocstrings.i
    M lldb/bindings/interface/SBProcessExtensions.i
    M lldb/bindings/interface/SBStringListExtensions.i
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/docs/resources/build.md
    M lldb/examples/darwin/heap_find/heap.py
    M lldb/examples/darwin/heap_find/heap/heap_find.cpp
    M lldb/examples/python/file_extract.py
    M lldb/examples/python/templates/scripted_process.py
    M lldb/examples/synthetic/libcxx.py
    M lldb/include/lldb/API/SBError.h
    M lldb/include/lldb/Expression/LLVMUserExpression.h
    M lldb/include/lldb/Host/Config.h.cmake
    M lldb/include/lldb/Host/JSONTransport.h
    R lldb/include/lldb/Host/LZMA.h
    M lldb/include/lldb/Host/common/NativeProcessProtocol.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedHookInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedProcessInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
    M lldb/include/lldb/Symbol/SymbolFile.h
    M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
    M lldb/include/lldb/Target/Platform.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Target/Target.h
    M lldb/include/lldb/Target/ThreadPlan.h
    M lldb/include/lldb/Utility/Args.h
    M lldb/include/lldb/Utility/Broadcaster.h
    M lldb/include/lldb/Utility/ConstString.h
    M lldb/include/lldb/Utility/DataEncoder.h
    M lldb/include/lldb/Utility/DataExtractor.h
    M lldb/include/lldb/Utility/FileSpec.h
    M lldb/include/lldb/Utility/RegularExpression.h
    M lldb/include/lldb/Utility/State.h
    M lldb/include/lldb/Utility/Status.h
    M lldb/include/lldb/Utility/Stream.h
    M lldb/include/lldb/Utility/StreamBuffer.h
    M lldb/include/lldb/Utility/XcodeSDK.h
    M lldb/include/lldb/ValueObject/DILEval.h
    M lldb/include/lldb/ValueObject/DILParser.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/packages/Python/lldbsuite/test/lldbutil.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb_dap/testcase.py
    M lldb/source/API/SBData.cpp
    M lldb/source/API/SBProgress.cpp
    M lldb/source/API/SBValue.cpp
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Core/Address.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/Mangled.cpp
    M lldb/source/Core/Progress.cpp
    M lldb/source/DataFormatters/StringPrinter.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Expression/LLVMUserExpression.cpp
    M lldb/source/Host/CMakeLists.txt
    R lldb/source/Host/common/LZMA.cpp
    M lldb/source/Host/common/NativeProcessProtocol.cpp
    M lldb/source/Host/windows/Host.cpp
    M lldb/source/Interpreter/OptionGroupFormat.cpp
    M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
    M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
    M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h
    M lldb/source/Plugins/ObjectFile/ELF/ELFHeader.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/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
    M lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
    M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
    M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp
    M lldb/source/Plugins/Process/elf-core/RegisterUtilities.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
    M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
    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/OperatingSystemPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedCommandPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.cpp
    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/ScriptedHookPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStackFrameRecognizerPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStringSummaryPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSyntheticChildrenPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSyntheticChildrenPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h
    M lldb/source/Symbol/SymbolFileOnDemand.cpp
    M lldb/source/Target/Memory.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/ScriptedThreadPlan.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Utility/Args.cpp
    M lldb/source/Utility/DataExtractor.cpp
    M lldb/source/Utility/Stream.cpp
    M lldb/source/Utility/XcodeSDK.cpp
    M lldb/source/ValueObject/DILEval.cpp
    M lldb/source/ValueObject/DILLexer.cpp
    M lldb/source/ValueObject/DILParser.cpp
    M lldb/source/ValueObject/ValueObject.cpp
    M lldb/test/API/android/platform/TestDefaultCacheLineSize.py
    M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
    M lldb/test/API/api/multiple-debuggers/multi-process-driver.cpp
    M lldb/test/API/api/multithreaded/TestMultithreaded.py
    M lldb/test/API/api/multithreaded/common.h
    M lldb/test/API/api/multithreaded/listener_test.cpp
    M lldb/test/API/api/multithreaded/test_breakpoint_callback.cpp
    M lldb/test/API/api/multithreaded/test_breakpoint_location_callback.cpp
    M lldb/test/API/api/multithreaded/test_stop-hook.cpp
    M lldb/test/API/commands/expression/memory-allocation/TestMemoryAllocSettings.py
    M lldb/test/API/commands/frame/var-dil/expr/Comparison/TestFrameVarDILExprComparison.py
    M lldb/test/API/commands/memory/read/TestMemoryRead.py
    M lldb/test/API/commands/process/reverse-continue/TestReverseContinueCommandNotSupported.py
    M lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
    M lldb/test/API/commands/watchpoints/multiple_hits/TestMultipleHits.py
    M lldb/test/API/commands/watchpoints/watchpoint_events/TestWatchpointEvents.py
    M lldb/test/API/functionalities/conditional_break/TestConditionalBreak.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string/TestDataFormatterStdString.py
    M lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
    M lldb/test/API/functionalities/json/object-file/TestObjectFileJSON.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/return-value/TestReturnValue.py
    M lldb/test/API/functionalities/reverse-execution/TestReverseExecutionNotSupported.py
    M lldb/test/API/functionalities/scripted_extensions/TestScriptedExtensionsDiagnostics.py
    M lldb/test/API/functionalities/scripted_extensions/malformed_scripted_extensions.py
    M lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
    M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
    A lldb/test/API/functionalities/scripted_process/addressable_bits_scripted_process.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/functionalities/thread/thread_specific_break_plus_condition/TestThreadSpecificBpPlusCondition.py
    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
    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/test/API/functionalities/unwind/sigtramp/TestSigtrampUnwind.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/cpp/dynamic-value/TestCppValueCast.py
    M lldb/test/API/lang/objc/foundation/TestObjCMethods.py
    M lldb/test/API/lang/objc/foundation/TestObjectDescriptionAPI.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/linux/add-symbols/TestTargetSymbolsAddCommand.py
    M lldb/test/API/linux/mix-dwo-and-regular-objects/TestMixedDwarfBinary.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/macosx/branch-islands/Makefile
    M lldb/test/API/macosx/lc-note/additional-registers/add-lcnote.cpp
    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/findvalue_duplist/TestSBFrameFindValue.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/lldbutil/frame/TestFrameUtils.py
    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/objc_type/TestObjCType.py
    M lldb/test/API/python_api/process/TestProcessAPI.py
    A lldb/test/API/python_api/sbstringlist/TestSBStringList.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/thread/TestThreadAPI.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/empty_class/TestValueAPIEmptyClass.py
    M lldb/test/API/python_api/value/linked_list/TestValueAPILinkedList.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
    M lldb/test/API/python_api/watchpoint/condition/TestWatchpointConditionAPI.py
    M lldb/test/API/python_api/watchpoint/main.c
    M lldb/test/API/python_api/watchpoint/watchlocation/TestSetWatchlocation.py
    M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
    M lldb/test/API/tools/lldb-dap/evaluate/main.cpp
    M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
    M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
    M lldb/test/API/tools/lldb-server/main.cpp
    M lldb/test/CMakeLists.txt
    A lldb/test/Shell/ObjectFile/MachO/unterminated-symbol-name.yaml
    M lldb/test/Shell/Settings/Inputs/EchoCommandsAll.out
    M lldb/test/Shell/Settings/Inputs/EchoCommandsNoComments.out
    M lldb/test/Shell/Settings/Inputs/EchoCommandsNone.out
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/corrupt-public-offset.py
    A lldb/test/Shell/SymbolFile/NativePDB/public-symbol-offset-past-section-end.cpp
    M lldb/test/Shell/lit.cfg.py
    M lldb/test/Shell/lit.site.cfg.py.in
    M lldb/tools/debugserver/source/DNB.cpp
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
    M lldb/tools/debugserver/source/PseudoTerminal.cpp
    M lldb/tools/debugserver/source/RNBServices.cpp
    M lldb/tools/debugserver/source/debugserver.cpp
    M lldb/tools/driver/Driver.cpp
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/ProgressEvent.cpp
    M lldb/tools/lldb-dap/ProgressEvent.h
    M lldb/tools/lldb-dap/Protocol/DAPTypes.h
    M lldb/tools/lldb-dap/Protocol/ProtocolEvents.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolEvents.h
    M lldb/tools/lldb-dap/SourceBreakpoint.cpp
    M lldb/tools/lldb-dap/Variables.cpp
    M lldb/tools/lldb-dap/Variables.h
    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 lldb/unittests/API/CMakeLists.txt
    A lldb/unittests/API/SBProgressTest.cpp
    M lldb/unittests/Callback/CMakeLists.txt
    M lldb/unittests/Core/CMakeLists.txt
    M lldb/unittests/DAP/CMakeLists.txt
    M lldb/unittests/DAP/DAPTypesTest.cpp
    A lldb/unittests/DAP/ProgressEventTest.cpp
    M lldb/unittests/DAP/ProtocolEventsTest.cpp
    M lldb/unittests/DAP/ProtocolTypesTest.cpp
    M lldb/unittests/Interpreter/CMakeLists.txt
    M lldb/unittests/Platform/CMakeLists.txt
    M lldb/unittests/Process/CMakeLists.txt
    M lldb/unittests/Process/gdb-remote/CMakeLists.txt
    M lldb/unittests/Process/minidump/MinidumpParserTest.cpp
    M lldb/unittests/Protocol/CMakeLists.txt
    M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
    M lldb/unittests/Target/CMakeLists.txt
    M lldb/unittests/UnwindAssembly/ARM64/CMakeLists.txt
    M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
    M lldb/unittests/Utility/DataEncoderTest.cpp
    M lldb/unittests/Utility/DataExtractorTest.cpp
    M lldb/unittests/Utility/XcodeSDKTest.cpp
    M lldb/unittests/tools/lldb-server/tests/LLGSTest.cpp
    M lldb/unittests/tools/lldb-server/tests/TestClient.cpp
    M llvm/CMakeLists.txt
    M llvm/Maintainers.md
    A llvm/cmake/WiXPerMachinePatch.xml
    M llvm/cmake/config-ix.cmake
    M llvm/cmake/modules/FindLibXml2.cmake
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/cmake/modules/LLVMConfig.cmake.in
    M llvm/cmake/modules/llvm-driver-template.cpp.in
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/CMake.md
    M llvm/docs/CommandGuide/lit.md
    M llvm/docs/CommandGuide/llvm-dwarfdump.md
    M llvm/docs/CommandLine.md
    M llvm/docs/DirectX/SemanticSignatures.md
    M llvm/docs/GlobalISel/GenericOpcode.md
    M llvm/docs/LangRef.md
    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
    M llvm/docs/RISCVUsage.md
    M llvm/docs/ReleaseNotes.md
    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
    M llvm/examples/OptSubcommand/llvm-hello-sub.cpp
    M llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
    M llvm/include/llvm/ABI/FunctionInfo.h
    M llvm/include/llvm/ABI/TargetInfo.h
    M llvm/include/llvm/ABI/Types.h
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/ADT/DepthFirstIterator.h
    M llvm/include/llvm/ADT/TrieRawHashMap.h
    M llvm/include/llvm/Analysis/BasicAliasAnalysis.h
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/Analysis/Loads.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
    M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
    M llvm/include/llvm/Analysis/SimplifyQuery.h
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/BinaryFormat/Dwarf.h
    M llvm/include/llvm/CodeGen/AccelTable.h
    M llvm/include/llvm/CodeGen/AsmPrinterHandler.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/CodeGenTargetMachineImpl.h
    M llvm/include/llvm/CodeGen/DIE.h
    M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
    M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/MIRFSDiscriminator.h
    M llvm/include/llvm/CodeGen/MIRSampleProfile.h
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/CodeGen/MachineOperand.h
    M llvm/include/llvm/CodeGen/ModuloSchedule.h
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
    M llvm/include/llvm/CodeGen/RegAllocPriorityAdvisor.h
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/Config/llvm-config.h.cmake
    M llvm/include/llvm/DTLTO/DTLTO.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/JITLink/ELF_aarch64.h
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
    M llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h
    A llvm/include/llvm/ExecutionEngine/Orc/Dlfcn.h
    A llvm/include/llvm/ExecutionEngine/Orc/DlfcnSPS.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
    M llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/Layer.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachO.h
    M llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/ConnectionSpec.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/CallSPSCI.h
    A llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/DlfcnSPSCI.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
    A llvm/include/llvm/ExecutionEngine/Orc/SharedMemoryMap.h
    A llvm/include/llvm/ExecutionEngine/Orc/SharedMemoryMapSPS.h
    M llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h
    M llvm/include/llvm/Frontend/HLSL/RootSignatureValidations.h
    M llvm/include/llvm/Frontend/HLSL/SemanticSignaturePacking.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/Constants.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/Intrinsics.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    M llvm/include/llvm/IR/Value.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LTO/Config.h
    M llvm/include/llvm/MC/TargetRegistry.h
    M llvm/include/llvm/Object/Binary.h
    M llvm/include/llvm/Object/DXContainer.h
    M llvm/include/llvm/Object/GOFF.h
    M llvm/include/llvm/Option/OptTable.h
    M llvm/include/llvm/Option/Option.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/ProfileData/GCOV.h
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/include/llvm/SandboxIR/Pass.h
    M llvm/include/llvm/SandboxIR/Region.h
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/include/llvm/SandboxIR/Value.h
    M llvm/include/llvm/Support/CommandLine.h
    M llvm/include/llvm/Support/Compression.h
    M llvm/include/llvm/Support/DebugCounter.h
    A llvm/include/llvm/Support/Driver.h
    A llvm/include/llvm/Support/File.h
    M llvm/include/llvm/Support/FileSystem.h
    R llvm/include/llvm/Support/LLVMDriver.h
    M llvm/include/llvm/Support/MemoryBuffer.h
    M llvm/include/llvm/Support/RISCVISAUtils.h
    M llvm/include/llvm/Support/SMTAPI.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
    M llvm/include/llvm/Target/Target.td
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/include/llvm/TargetParser/X86TargetParser.def
    M llvm/include/llvm/TargetParser/XtensaTargetParser.h
    M llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileInference.h
    M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BundleVec.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.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/lib/ABI/Types.cpp
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/ConstraintSystem.cpp
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/LoopCacheAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/ScalarEvolutionDivision.cpp
    M llvm/lib/Analysis/ScalarEvolutionNormalization.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CAS/MappedFileRegionArena.cpp
    M llvm/lib/CAS/OnDiskGraphDB.cpp
    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
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
    M llvm/lib/CodeGen/DetectDeadLanes.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
    M llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
    M llvm/lib/CodeGen/GlobalMerge.cpp
    M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
    M llvm/lib/CodeGen/LibcallLoweringInfo.cpp
    M llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineOutliner.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/ModuloSchedule.cpp
    M llvm/lib/CodeGen/ProcessImplicitDefs.cpp
    M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
    M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
    M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
    M llvm/lib/CodeGen/StackColoring.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
    M llvm/lib/CodeGen/WasmEHPrepare.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.h
    M llvm/lib/DWARFLinker/Parallel/SyntheticTypeNameBuilder.h
    M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    M llvm/lib/DebugInfo/GSYM/ObjectFileTransformer.cpp
    M llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/ELF.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
    A llvm/lib/ExecutionEngine/Orc/SharedMemoryMapSPS.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h
    M llvm/lib/Frontend/HLSL/SemanticSignaturePacking.cpp
    M llvm/lib/Frontend/HLSL/SemanticSignatures.cpp
    M llvm/lib/Frontend/Offloading/Utility.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Intrinsics.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/IR/PassManager.cpp
    M llvm/lib/IR/PassTimingInfo.cpp
    M llvm/lib/IR/Value.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/LTO/LTOCodeGenerator.cpp
    M llvm/lib/ObjCopy/MachO/MachOReader.h
    M llvm/lib/Object/ArchiveWriter.cpp
    M llvm/lib/Object/DXContainer.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Option/OptTable.cpp
    M llvm/lib/Passes/CodeGenPassBuilder.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/SandboxIR/Pass.cpp
    M llvm/lib/SandboxIR/Value.cpp
    M llvm/lib/Support/APFloat.cpp
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Support/CommandLine.cpp
    M llvm/lib/Support/Compression.cpp
    A llvm/lib/Support/Driver.cpp
    M llvm/lib/Support/FileUtilities.cpp
    M llvm/lib/Support/KnownFPClass.cpp
    M llvm/lib/Support/Regex.cpp
    M llvm/lib/Support/Unix/Path.inc
    M llvm/lib/Support/VirtualFileSystem.cpp
    M llvm/lib/Support/Windows/Path.inc
    M llvm/lib/Support/regcomp.c
    M llvm/lib/TableGen/TGParser.h
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64FastISel.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUFeatures.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibFunc.h
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.h
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/lib/Target/AMDGPU/R600ISelLowering.h
    M llvm/lib/Target/AMDGPU/R600InstrInfo.h
    M llvm/lib/Target/AMDGPU/R600Processors.td
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineScheduler.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPDInstructions.td
    M llvm/lib/Target/ARC/ARCTargetMachine.cpp
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMTargetMachine.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
    M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
    M llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
    M llvm/lib/Target/AVR/AVR.h
    M llvm/lib/Target/AVR/AVRFrameLowering.cpp
    M llvm/lib/Target/AVR/AVRISelLowering.cpp
    M llvm/lib/Target/AVR/AVRISelLowering.h
    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/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/DirectX/DXILOpBuilder.h
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    M llvm/lib/Target/Hexagon/Hexagon.h
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonGlobalScheduler.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.h
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
    M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCChecker.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.h
    M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchMemoryBarrierOpt.cpp
    M llvm/lib/Target/LoongArch/LoongArchRegisterInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
    M llvm/lib/Target/M68k/M68kInstrData.td
    M llvm/lib/Target/M68k/M68kInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kInstrInfo.h
    M llvm/lib/Target/M68k/M68kTargetMachine.cpp
    M llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
    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/MipsMCCodeEmitter.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/Mips16ISelDAGToDAG.h
    M llvm/lib/Target/Mips/MipsAsmPrinter.h
    M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
    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/MipsInstrInfo.cpp
    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/MipsSEISelDAGToDAG.cpp
    M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h
    M llvm/lib/Target/Mips/MipsSEISelLowering.h
    M llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
    M llvm/lib/Target/Mips/MipsSubtarget.cpp
    M llvm/lib/Target/Mips/MipsSubtarget.h
    M llvm/lib/Target/Mips/MipsTargetMachine.cpp
    M llvm/lib/Target/NVPTX/NVPTX.h
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
    M llvm/lib/Target/PowerPC/PPC.h
    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/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMachObjectWriter.cpp
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    A llvm/lib/Target/RISCV/RISCVInstrInfoXqccmi.td
    M llvm/lib/Target/RISCV/RISCVInstrPredicates.td
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    M llvm/lib/Target/SPIRV/SPIRV.h
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVCodeGenPassBuilder.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    R llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
    A llvm/lib/Target/SPIRV/SPIRVLegalizeResourceBinding.cpp
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
    M llvm/lib/Target/SPIRV/SPIRVPassRegistry.def
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
    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/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    M llvm/lib/Target/TargetMachineC.cpp
    M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
    M llvm/lib/Target/VE/VETargetMachine.cpp
    M llvm/lib/Target/WebAssembly/GISel/WebAssemblyPostLegalizerCombiner.cpp
    M llvm/lib/Target/WebAssembly/GISel/WebAssemblyPreLegalizerCombiner.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyCoalesceFeaturesAndStripAtomics.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.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
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
    M llvm/lib/Target/X86/GISel/X86PreLegalizerCombiner.cpp
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86FixupInstTuning.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    A llvm/lib/Target/X86/X86InstrAVX10_V2_AUX.td
    M llvm/lib/Target/X86/X86InstrControl.td
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.td
    M llvm/lib/Target/X86/X86InstrPredicates.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.h
    M llvm/lib/Target/X86/X86TargetMachine.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/lib/Target/XCore/XCoreISelLowering.h
    M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
    M llvm/lib/Target/Xtensa/XtensaTargetMachine.cpp
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/TargetParser/TargetDataLayout.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/lib/TargetParser/X86TargetParser.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
    M llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
    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/IPO/ThinLTOBitcodeWriter.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/CGProfile.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/LowerVectorIntrinsics.cpp
    M llvm/lib/Transforms/Utils/MemoryOpRemark.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
    M llvm/lib/Transforms/Utils/SanitizerStats.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPMemoryUtils.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPReductionUtils.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPReductionUtils.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanDominatorTree.h
    M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Analysis/BasicAA/call-escape-source.ll
    A llvm/test/Analysis/BasicAA/gep-minabs-different-scale.ll
    M llvm/test/Analysis/CostModel/AArch64/free-widening-casts.ll
    M llvm/test/Analysis/CostModel/AArch64/masked_compress_load.ll
    A llvm/test/Analysis/CostModel/AArch64/mulh.ll
    A llvm/test/Analysis/CostModel/AArch64/speculative-load.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
    M llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
    M llvm/test/Analysis/CostModel/X86/load_store.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
    A llvm/test/Analysis/CostModel/X86/nonpow2-load-fold.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-broadcast.ll
    A llvm/test/Analysis/CostModel/X86/shuffle-mask-broadcast.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
    A llvm/test/Analysis/CostModel/X86/speculative-load.ll
    M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll

  Log Message:
  -----------
  Merge commit '2e351130b6df' into cir-callconv-byval-slot-copy


  Commit: 7efd46b2d2bdcb2e4df467f7194c575d89197d40
      https://github.com/llvm/llvm-project/commit/7efd46b2d2bdcb2e4df467f7194c575d89197d40
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-byval-union-padding.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-byval-union-padding.cpp
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval.cpp
    M 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
    M clang/test/CIR/Transforms/abi-lowering/indirect-byval.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-call.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-non-byval-forward-param.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-bitint.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-union.cir

  Log Message:
  -----------
  [CIR] Pass a byval argument's own address instead of a copy

A store of a loaded record value writes only the bytes its fields cover,
so a union's other members lose theirs.  Hand the object's address to the
call, as classic CodeGen does, and byte-copy into a slot only where the
address cannot be used.

Assisted-by: Cursor / claude-opus-5


Compare: https://github.com/llvm/llvm-project/compare/faea6b251434...7efd46b2d2bd

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