[all-commits] [llvm/llvm-project] 2ac696: [clang][bytecode] Try to avoid a `SmallVector` in ...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Thu Sep 24 11:51:07 PDT 2026


  Branch: refs/heads/users/alexey-bataev/spr/slpmodel-gathers-of-extracted-integer-sub-fields-as-bitcastpermuteext
  Home:   https://github.com/llvm/llvm-project
  Commit: 2ac696e23ca31d68a89060c7a935c75bc4efb846
      https://github.com/llvm/llvm-project/commit/2ac696e23ca31d68a89060c7a935c75bc4efb846
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Pointer.cpp

  Log Message:
  -----------
  [clang][bytecode] Try to avoid a `SmallVector` in `Pointer::toAPValue()` (#226143)

Only create the local variable if we really need it.


  Commit: 34f5f2c594111e6a3edf65673c3ea2849e96e2cb
      https://github.com/llvm/llvm-project/commit/34f5f2c594111e6a3edf65673c3ea2849e96e2cb
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAArch64.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaARM.h
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/Headers/arm_acle.h
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGen/AArch64/atomic-store-hint-template.cpp
    M clang/test/CodeGen/arm_acle.c
    M clang/test/CodeGen/builtins-arm64.c
    M clang/test/Sema/builtins-arm64.c
    A llvm/include/llvm/Support/AArch64MemoryHints.h
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    A llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-store-hint.ll
    A llvm/test/CodeGen/AArch64/Atomics/aarch64-relaxed-store-hint.ll
    A llvm/test/CodeGen/AArch64/Atomics/atomic-store-pseudo.mir

  Log Message:
  -----------
  [AArch64] Implement the atomic store with hint intrinsic (#198316)

Adds the following ACLE intrinsic as described in [1]:

  void __arm_atomic_store_with_hint(type *ptr, type data,
                                    int memory_order, int hint);

An atomic store instruction is emitted in Clang for this builtin with additional
metadata attached with !mem.cache_hint, which ensures the instruction is
recognised as atomic by later passes in LLVM. When an atomic store is found
with this metadata, it is lowered to the ATOMIC_STORE_HINT pseudo which is
later expanded into an STSHH instruction plus an atomic store.

The hint is a suggestion to the compiler and maps directly to a specific hint
instruction variant in the ISA. The compiler may use this hint when selecting
code sequences, but it is not required to emit a specific hint instruction or a
specific instruction sequence.

Supported atomic store hints are currently:

    HINT_STSHH_KEEP: Requests retention of the updated location in the
    local cache of the updating PE.
    HINT_STSHH_STRM: Requests that the updated location not be retained
    in the local cache of the updating PE.

[1] https://github.com/ARM-software/acle/pull/432


  Commit: 314348fbfbef2cd628f05e4974811de4fa1b0d39
      https://github.com/llvm/llvm-project/commit/314348fbfbef2cd628f05e4974811de4fa1b0d39
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:

  Log Message:
  -----------
  [LowerIFunc] Regenerate test checks (NFC) (#226151)


  Commit: 053331c2c9f47fb0795c19f33c128ab82205b4cd
      https://github.com/llvm/llvm-project/commit/053331c2c9f47fb0795c19f33c128ab82205b4cd
  Author: jon-gibney <jonathon.gibney at hpe.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    R flang/test/Fir/convert-to-llvm-unsafe-fp-conversion.fir

  Log Message:
  -----------
  Revert "[flang] Respect math flags during conversions (#214311)" (#225887)

This reverts commit 688119653fd40fa46244e1c300e728677a4f001a.

This caused a regression in Fujitsu test 0291/0291_0008.f with
`-ffast-math -march=native -03`. That test does a conversion that always
overflows, so without saturating math it produces poison, which causes
it to treat the rest of the routine as unreachable, resulting in a crash
on x86. I'll have to try another approach.


  Commit: 520b1687095eaf9dd410fb48ab622205e9fec044
      https://github.com/llvm/llvm-project/commit/520b1687095eaf9dd410fb48ab622205e9fec044
  Author: Konstantin Bogdanov <thevar1able at users.noreply.github.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/phi-known-nonzero.ll

  Log Message:
  -----------
  [ValueTracking] An or recurrence with a non-zero start value is non-zero (#226155)

Or-ing anything into a non-zero value keeps it non-zero, so
`isNonZeroRecurrence` can accept a simple `%iv = or %iv, %step`
recurrence with a non-zero constant start value, regardless of the step.

The first commit precommits the tests in `phi-known-nonzero.ll`.

This is split out of #222334. Together with a follow-up that stops
limiting the recursion depth for single-incoming (LCSSA) phis in
`isKnownNonZero`, it lets LoopIdiomRecognize (#222373) form `llvm.ctlz`
for the clz loop in ffmpeg's `sbc_calc_scalefactors`.


  Commit: 12a8c418b4df10ae6241e26e9e114935656f197f
      https://github.com/llvm/llvm-project/commit/12a8c418b4df10ae6241e26e9e114935656f197f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/early-exit-live-out-extract-lane.ll
    M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar.ll

  Log Message:
  -----------
  [VPlan] Simplify extract-lane from same single-scalar. (#226102)

Generalize extract-lane(idx, single-scalar) -> single-scalar to also
apply if there are multiple vectors to extract and all values are the
same single-scalar.

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


  Commit: ce36410607a87ee035224e2a6a819b24aa8f0bab
      https://github.com/llvm/llvm-project/commit/ce36410607a87ee035224e2a6a819b24aa8f0bab
  Author: Shikhar Jain <shikharj at qti.qualcomm.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M polly/lib/Analysis/ScopBuilder.cpp
    M polly/lib/Analysis/ScopInfo.cpp
    A polly/test/CodeGen/broken-dominance-escaping-scalar.ll

  Log Message:
  -----------
  [Polly] Materialize escaping scalars from empty-domain statements as poison (#220008)

Problem Summary: In a versioned SCoP, Polly may remove a statement with
an empty iteration domain before building its access relations. If that
statement contains an escaping MemoryKind::Value MUST_WRITE access,
removing the
statement also prevents the corresponding ScopArrayInfo from being
registered. During code generation, Polly then fails to materialize the
escaping scalar, leaving a merge PHI that refers to a value defined only
on the original path.
This causes an LLVM verifier failure because the value does not dominate
all uses.

Fix: When removeStmtNotInDomainMap() is about to remove a statement with
a null or empty domain, register the ScopArrayInfo for its qualifying
escaping scalar accesses before allowing the statement to be removed.
The statement is still pruned normally, but code generation can now
materialize the scalar through a .s2a slot and reload it on the
optimized merge edge. Since the defining statement is absent on that
path, the reload is poison. This is sound because
the poison is used only for parameter ranges where the original program
already has undefined behavior

The new .merge PHI provides a dominating definition on the optimized
edge, which resolves the verifier failure while keeping the region
optimized.

Fixes #206551


  Commit: f05ae447f56404dce7b43145676242d63e0734f4
      https://github.com/llvm/llvm-project/commit/f05ae447f56404dce7b43145676242d63e0734f4
  Author: Milad Fa <mfarazma at ibm.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    M clang/docs/ReleaseNotes.md

  Log Message:
  -----------
  [libclang/python] Fix visitor callback return data type (#221024)

Declare the visitor callbacks return as c_long, i.e. a full register
word rather than c_int.

This is currently causing an issue on s390x, a 64-bit big-endian target.
The V8 JavaScript engine has recently started using libclang as a
dependency
to parse header files. It is currently crashing on s390x with a SIGFPE
due to this issue.
Both the s390x ELF ABI and libffi require the value to be sign/zero
extended to register
size, and leaving it as `c_int` leaves garbage on the high side.

cindex.py calls into libclang through ctypes, which builds the callback
closures using
libffi. With a `c_int` return, ctypes writes only the low 32 bits and
skips the extension
that both the ABI and libffi's closure contract require, so libffi hands
libclang a register
whose high bits are garbage.

Using c_long makes the value fill the register at its native width on
all platforms.


  Commit: 77fe47d9a004ec14bf8f5c4f647ea7cdee34c83c
      https://github.com/llvm/llvm-project/commit/77fe47d9a004ec14bf8f5c4f647ea7cdee34c83c
  Author: robertvirany <robertvirany at gmail.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/NVPTX/arbitrary-fp-to-float.ll
    M llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-multiple-users.ll

  Log Message:
  -----------
  [NVPTX] Extend SETP commuting to support SELP users (#215897)

Extend NVPTX SETP commuting to support predicates used by SELP
instructions.

When commuting a SETP reverses its predicate, update each SELP user by
swapping its true and false operands. This allows MachineCSE to elimiate
redundant inverse comparisons whose predicates are used by both branches
and selects.

Add regression coverage for register and immediate SELP operands. This
also removes redundant predicates from the arbitrary floating-point
conversion tests.


  Commit: c709a1a352a486ef173cc7164e0af07d5e102e48
      https://github.com/llvm/llvm-project/commit/c709a1a352a486ef173cc7164e0af07d5e102e48
  Author: Zibi Sarbinowski <zibi at ca.ibm.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/SystemZ/soft-float-05.ll

  Log Message:
  -----------
  [SystemZ] Use complete triple s390x-linux-gnu in soft-float-05.ll (#225851)

Specify `-mtriple=s390x-linux-gnu` instead of the incomplete
`-mtriple=s390x` in `soft-float-05.ll`.

When LLVM is configured with a default target triple that has a
different OS environment (such as `s390x-ibm-zos`), bare
`-mtriple=s390x` inherits the default OS/ABI and fails the Linux SystemZ
assembly checks.


  Commit: 2c1ca898c2baed18179811e088f7694b1927a816
      https://github.com/llvm/llvm-project/commit/2c1ca898c2baed18179811e088f7694b1927a816
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/Analysis/CostModel/AArch64/loop_dependence_mask.ll
    M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract-nosve.ll
    A llvm/test/CodeGen/AArch64/neon-get-active-lane-mask.ll

  Log Message:
  -----------
  [LLVM][CodeGen][AArch64] Implement expansion for fixed-length get.active.lane.mask. (#225459)

A step in the direction of removing the shouldExpandGetActiveLaneMask
TTI hook. For this PR I've implemented enough functionality to allow all
legalish fixed-length variants of get.active.lane.mask to bypass the
SelectionDAGBuilder based expansion for AArch64.
    
The AArch64TargetLowering::shouldExpandGetActiveLaneMask restrictions
are related to maintaining current code quality and not because the
expansion code cannot handle them.

Tests are a copy of active_lane_mask.ll with the scalable vector tests
removed.


  Commit: 3501bbfcff7a0e87b1b90d9f67f1ad12f0feb3d7
      https://github.com/llvm/llvm-project/commit/3501bbfcff7a0e87b1b90d9f67f1ad12f0feb3d7
  Author: leovance <leovancekang at outlook.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVMUtils.h
    M mlir/lib/Conversion/OpenACCToLLVM/ACCExecutableDirectivePatterns.cpp
    M mlir/lib/Conversion/OpenACCToLLVM/ACCToLLVMUtils.cpp
    M mlir/test/Conversion/OpenACCToLLVM/data.mlir
    M mlir/test/Conversion/OpenACCToLLVM/wait.mlir

  Log Message:
  -----------
  [mlir][OpenACC] Preserve explicit device numbers in wait lowering (#222604)

WaitOpLowering currently ignores wait_devnum and always passes zero as
the device number to __tgt_acc_wait.

Forward the converted operand when present, adapting it to the runtime's
i32 parameter. Zero-extend narrow unsigned integers, sign-extend narrow
signed or signless integers, and truncate wider operands. Determine
signedness from the original operand type, since LLVM type conversion
makes integer types signless.

Keep the default device number unchanged when wait_devnum is absent.

Add regression coverage for explicit device numbers, integer width and
signedness conversions, index operands, and waits combining if and
async.


  Commit: f36af5d17f273d6f70249a1b97bf452302e18ce6
      https://github.com/llvm/llvm-project/commit/f36af5d17f273d6f70249a1b97bf452302e18ce6
  Author: michaelselehov <michael.selehov at amd.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/CaptureTracking.cpp
    M llvm/test/Transforms/LoadStoreVectorizer/batch-aa-compile-time.ll

  Log Message:
  -----------
  [CaptureTracking] Raise the default use budget from 100 to 150 (#222654)


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

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaOpenMP.cpp
    A clang/test/OpenMP/error_message.c
    M clang/test/OpenMP/error_message.cpp
    M clang/test/OpenMP/parallel_message_messages.cpp

  Log Message:
  -----------
  [clang][OpenMP] Only accept char strings in the message clause (#226080)

Fixes #140338

The `message` clause accepted any character-typed string, checked with
`isAnyCharacterType()`, but everything that consumes it assumes a `char`
string: Sema evaluates it into a `std::string` for the compile-time
diagnostic, and codegen passes it straight to the `const char *`
parameter of `__kmpc_error` and `__kmpc_push_num_threads_strict`. When
the issue was filed this hit the assertion in
`StringLiteral::getString()`. Since #146405 the assert is gone, but the
underlying problem stayed: in C++ a wide literal like `message(L"bar")`
prints `b<NUL><NUL>` as the error text, and with `at(execution)` a
`wchar_t` array is emitted as the runtime's `char *` argument. C was
only spared because `wchar_t` is an integer typedef there, so the clause
was already rejected.

The clause now only accepts `char` element types, which is what the spec
requires (OpenMP 5.1 §2.5.4: msg-string is a string of `const char *`
type). Wide, `UTF-16/32` and C++20 `u8` literals get the existing
"expected string in 'clause message' - ignoring" warning and the
directive still fires with its generic message, matching what C already
did and what GCC does. Doing this at the single point where the clause
is built covers the diagnostic, both codegen paths, and template
instantiation without touching the evaluator.


  Commit: 7e3927d7b4c48948cbce1fafa8faec90e8499f4b
      https://github.com/llvm/llvm-project/commit/7e3927d7b4c48948cbce1fafa8faec90e8499f4b
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M .github/workflows/libcxx-pr-check-generated-files.yml

  Log Message:
  -----------
  [Github] Downgrade libcxx generated files check to 24.04 (#226016)

It is failing to install clang-format with the updated version.


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

  Changed paths:
    M lldb/test/API/windows/launch/replace-dll/TestReplaceDLL.py

  Log Message:
  -----------
  [lldb][Windows] Compare real paths in TestReplaceDLL (#226177)

lldb reports a module's canonical path, which differs from the build
artifact path when the build tree is reached through a subst drive
(`S:\...` vs `C:\S\...`). Compare real paths instead.

Fixes `windows/launch/replace-dll/TestReplaceDLL.py` in swiftlang CI
where we use subst drives.


  Commit: dd4b3b7f0880c5bd15cea1867f0c4b30468fdd0c
      https://github.com/llvm/llvm-project/commit/dd4b3b7f0880c5bd15cea1867f0c4b30468fdd0c
  Author: Gheorghe-Teodor Bercea <gt.bercea at gmail.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
    A llvm/test/Transforms/SLPVectorizer/AMDGPU/complex-mul-fma.ll

  Log Message:
  -----------
  [AMDGPU] Price only the fmul that fuses into an fadd/fsub as free (#226009)

An fadd/fsub with two fmul operands can fuse with only one of them into
an FMA. Currently they are both priced as if they are fused (i.e. free).


  Commit: 645b6da50af57797b9e7ca5208d59bdd1b3dba6b
      https://github.com/llvm/llvm-project/commit/645b6da50af57797b9e7ca5208d59bdd1b3dba6b
  Author: ahmed mohamed kamel <amkzaher at gmail.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M clang/test/Sema/stmtexprs.c

  Log Message:
  -----------
  [Clang] Fix stmtexprs.c to not specify -pedantic (#226161)

Fixes a buildbot failure (llvm-clang-x86_64-sie-ubuntu-fast) where
`stmtexprs.c` didn't specify a C standard, causing `_Static_assert` and
`_Generic` to be flagged as C11 extensions on targets that default to an
older standard.

This removes `-pedantic` from the RUN line because the test does not
test any extension behavior anyway.

Follow-up to #225597.


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

  Changed paths:
    M lldb/test/API/functionalities/duplicate-archive-members/Makefile
    M lldb/test/API/lang/objc/conflicting-definition/Makefile
    M lldb/test/API/lang/objc/hidden-ivars/Makefile
    M lldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/Makefile
    M lldb/test/API/macosx/find-dsym/deep-bundle/Makefile

  Log Message:
  -----------
  [lldb][test] Use MKDIR_P in more API test Makefiles (#226157)

Replace `mkdir -p` with `$(call MKDIR_P,...)` in a few API test
Makefiles so they work with the Windows shell.


  Commit: 0c5f2fc610675233de4e95cfc173a687c61cba8c
      https://github.com/llvm/llvm-project/commit/0c5f2fc610675233de4e95cfc173a687c61cba8c
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

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

  Log Message:
  -----------
  [Github] Install sccache from apt repo (#226019)

Now that we are on ubuntu 26.04 we have sccache 0.13.0 which should be
new enough that everything works.


  Commit: 44be0efbe3ae7593da00770f8505486011ca7057
      https://github.com/llvm/llvm-project/commit/44be0efbe3ae7593da00770f8505486011ca7057
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/HTTP/HTTPClient.cpp

  Log Message:
  -----------
  [HTTP][Windows] Apply the configured timeout to WinHttpReceiveResponse (#226172)

`WinHttpSetTimeouts` does not bound the wait inside
`WinHttpReceiveResponse`, which has its own separate
`WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT`.

For example: with the SymStore timeout set to 1s, a server stalling 5s
before responding is not cancelled: `perform()` returns success with a
200 and no body, so lldb handed back a path to a file the response
handler never created.

This fixes `symstore/TestSymStore.py` (test_http_timeout) in swiftlang.


  Commit: 833166e22fe20c3513a77a02e34385c16128ea31
      https://github.com/llvm/llvm-project/commit/833166e22fe20c3513a77a02e34385c16128ea31
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
    A mlir/test/Dialect/XeGPU/sg-to-lane-distribute-convert-layout-slice.mlir
    M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_quantizeA_F4.mlir

  Log Message:
  -----------
  [mlir][xegpu] Distribute three more convert_layout cases to lanes (#222693)

`xegpu-sg-to-lane-distribute` could not lower an `xegpu.convert_layout`
whose effective `lane_layout` changes in a way that moves elements
between lanes. Add one pattern per case found in the workgroup-level
mx-fp GEMM quantize-A kernels, where `#xegpu.slice` layouts of a rank-3
layout meet the rank-2 layouts of `load_nd` and `dpas_mx`:

- fully broadcast source to one row per lane: `vector.extract`
- source broadcast over two lane groups to one row per lane:
`vector.extract` plus two `gpu.shuffle`
- fully broadcast source to one column per lane group:
`vector.deinterleave` plus a select on the lane group


  Commit: 1794efe8f33a965e55c1f532c88949cfcc152c1d
      https://github.com/llvm/llvm-project/commit/1794efe8f33a965e55c1f532c88949cfcc152c1d
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/XeVMDialect.cpp
    A mlir/test/Dialect/LLVMIR/xevm-canonicalize.mlir

  Log Message:
  -----------
  [mlir][xevm] Fold xevm.truncf of an xevm.extf round trip (#225875)

A xevm.extf followed by a xevm.truncf through the same pair of formats
returns the value it started from, so the pair can be dropped. Fold it
on the truncf, the way arith::TruncFOp::fold recognizes truncf(extf(a)),
and gate it on APFloatBase::isLosslesslyConvertibleTo of the two formats
the element type attributes stand for.

That gate excludes bf8: it is IEEE-like, so extending a signaling NaN
quiets it and the original value cannot be recovered, which is the same
reason arith does not fold an f8E5M2 round trip. f8 (E4M3, NaN only) and
e2m1 (finite only) do fold.

Mark both ops Pure so the extf left without users is removed and the
pair folds to nothing.


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

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

  Log Message:
  -----------
  [AMDGPUSwLowerLDS] Fix non-deterministic global ordering (#226184)

Ran into this when generated UTC checks kept changing order.


  Commit: 2b9e54c6aebb44b642e1298bb9b704a7136e35dc
      https://github.com/llvm/llvm-project/commit/2b9e54c6aebb44b642e1298bb9b704a7136e35dc
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/PGOProfile/indirect_call_profile.ll

  Log Message:
  -----------
  [InstrProf][NFC] Expand indirect_call_profile.ll test (#220691)


  Commit: a33352ddde6d781ba823e6e856d06eeceb15a1fa
      https://github.com/llvm/llvm-project/commit/a33352ddde6d781ba823e6e856d06eeceb15a1fa
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp

  Log Message:
  -----------
  [CodeExtractor] Preserve the original DIExpression for extracted inputs. (#224360)

58430692fc15 always inserted an empty expression when cloning debug
records for outlined inputs, which dropped existing expression. Fixed by
using the existing expression instead of creating an empty one.

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


  Commit: d41006c17bfc36cf899f39e93f839ae8ed3db637
      https://github.com/llvm/llvm-project/commit/d41006c17bfc36cf899f39e93f839ae8ed3db637
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
    M clang/lib/Analysis/LifetimeSafety/Facts.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
    M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
    M clang/lib/Analysis/LifetimeSafety/Origins.cpp
    M clang/test/Sema/LifetimeSafety/Inputs/lifetime-analysis.h
    M clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
    M clang/test/Sema/LifetimeSafety/capture-by.cpp
    M clang/test/Sema/LifetimeSafety/cfg-bailout.cpp
    M clang/test/Sema/LifetimeSafety/dangling-field.cpp
    M clang/test/Sema/LifetimeSafety/dangling-global.cpp
    M clang/test/Sema/LifetimeSafety/inapplicable-lifetimebound.cpp
    M clang/test/Sema/LifetimeSafety/invalidations.cpp
    M clang/test/Sema/LifetimeSafety/lifetime-facts.cpp
    M clang/test/Sema/LifetimeSafety/lifetimebound-violation.cpp
    M clang/test/Sema/LifetimeSafety/nocfg.cpp
    M clang/test/Sema/LifetimeSafety/noescape-violation.cpp
    M clang/test/Sema/LifetimeSafety/safety.cpp
    M clang/unittests/Analysis/LifetimeSafetyTest.cpp

  Log Message:
  -----------
  [LifetimeSafety] Revamp how accesses and uses are handled (#225799)

Previously every DeclRefExpr was a use, so naming a pointer, taking its
address
or copying it counted as reading what it points to. Writes were then
exempted
after the fact through a UseFact -> Expr map and a special case for
writes
through references.

Now a use is an access: an lvalue-to-rvalue conversion, a write through
an
assignment, increment or asm output, or a copy of a class object from a
glvalue.
It is recorded on the accessed lvalue's outer origin, the loans saying
which
storage it may name. The visitors for `*p`, `p->f` and `p[i]` already
flow the
base pointer there, so dereferences need no special handling. Reads of a
value
go through readValue(), which records the access; writes peel the outer
origin
directly. Values handed to opaque code still use every level.

Consequences:
- Copying a pointer, taking an address, `(void)p` and `p++` are not
uses.
- Writing through a dangling pointer (`*p = 1`, `p->f = 1`) is now
diagnosed.
- An access of an origin that names a declaration outright is skipped:
it
only holds a loan to that declaration, which is valid wherever it is
named.
- UseFact::IsWritten and markUseAsWrite are removed; kills on assignment
already come from the destination's OriginFlowFact or KillOriginFact.

Fewer use facts are generated, e.g. on the lifetime-safety lit tests:
  safety.cpp          1886 -> 882
  invalidations.cpp    616 -> 451
  nocfg.cpp            544 -> 415
  capture-by.cpp       395 -> 324

Assisted by: Opus 5.5

---------

Co-authored-by: Gabor Horvath <gaborh at apple.com>


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll

  Log Message:
  -----------
  [VPlan] Mark histogram increment as only having its first lane used. (#226138)

The second operand (increment ) of llvm.experimental.vector.histogram.*
is a scalar. Handle it in usesFirstLaneOnly.

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


  Commit: 1bfac635af65eb573d373dee663492c636aa0a3d
      https://github.com/llvm/llvm-project/commit/1bfac635af65eb573d373dee663492c636aa0a3d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h

  Log Message:
  -----------
  [AMDGPUMemoryUtils] Use MapVector for FunctionVariableMap (#226198)

At least AMDGPUSwLowerLDS iterated over this map in a way that
affects IR output order. Use MapVector to make it deterministic.


  Commit: 59651039cc264619f71dfad40d061df2a615eaf1
      https://github.com/llvm/llvm-project/commit/59651039cc264619f71dfad40d061df2a615eaf1
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M libcxx/docs/Contributing.rst

  Log Message:
  -----------
  [libcxx] Update docs for updating the CI container image (#226018)

The process is a lot less complicated now that one can do it purely by
modifying the image hash in the workflow file.


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

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

  Log Message:
  -----------
  [Bazel] Fixes a33352d (#226196)

This fixes a33352ddde6d781ba823e6e856d06eeceb15a1fa (#224360).

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

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


  Commit: 4127345110ee862f01e81801fbfe8f84e4a75874
      https://github.com/llvm/llvm-project/commit/4127345110ee862f01e81801fbfe8f84e4a75874
  Author: geoffreygaren <ggaren at apple.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp

  Log Message:
  -----------
  [WebKit Checkers] Do not report lambda captures in system headers (#226182)

This matches the policy in other WebKit checkers.

Some `std` namespace lambdas like `find` lack the `noescape` annotation,
so the borrow checker flags them.

Assisted-by: Claude


  Commit: e5c969157449c62ac255389dfad4847b213a4773
      https://github.com/llvm/llvm-project/commit/e5c969157449c62ac255389dfad4847b213a4773
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

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

  Log Message:
  -----------
  [lldb] Fix OOB write in MultiMemRead response parsing (#226168)

Change some memory writes in ParseMultiMemReadPacket so that it no
longer asserts on OOB accesses, instead returning an error. This makes
the code correct even in release builds.


  Commit: dbeaf3d1d6b1ac027a9130579c4c359aacd81e3b
      https://github.com/llvm/llvm-project/commit/dbeaf3d1d6b1ac027a9130579c4c359aacd81e3b
  Author: aokblast <aokblast at FreeBSD.org>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

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

  Log Message:
  -----------
  [InstSimplify] Add missing FRem in FMF overload (#225987)


  Commit: 6bef34a7ebbef9b11654aef83c8fbc1b0dc16860
      https://github.com/llvm/llvm-project/commit/6bef34a7ebbef9b11654aef83c8fbc1b0dc16860
  Author: Nikita Kornev <nikita.kornev at intel.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M clang/tools/offload-arch/CMakeLists.txt
    M clang/tools/offload-arch/LevelZeroArch.cpp
    M clang/unittests/offload-arch/CMakeLists.txt
    M clang/unittests/offload-arch/OffloadArchTest.cpp
    A llvm/include/llvm/TargetParser/IntelGPUTargetParser.def
    A llvm/include/llvm/TargetParser/IntelGPUTargetParser.h
    M llvm/include/module.modulemap
    M llvm/lib/TargetParser/CMakeLists.txt
    A llvm/lib/TargetParser/IntelGPUTargetParser.cpp
    M llvm/unittests/TargetParser/CMakeLists.txt
    A llvm/unittests/TargetParser/IntelGPUTargetParserTest.cpp

  Log Message:
  -----------
  [TargetParser] Add a list of Intel GPUs, and use it in offload-arch (#222072)

Currently offload-arch prints Intel GPU identifiers like "Intel(R) Data
Center GPU Max 1100" which are not legal values for clang's
--offload-arch option.

Print an architecture name instead, e.g. "xe-pvc". The driver reports a
GPU IP version, the GMDID, for every device. Add a table that maps a
GMDID to a name, and look the device up in it. A device that is missing
from the table is printed by its numeric version, e.g. "xe_35.11.0". A
device whose driver does not report a GMDID is skipped.

The table goes in llvm/TargetParser, next to the other GPU lists,
because other tools need it too. Some of them are LLVM libraries, which
cannot include a clang header.

Every row of IntelGPUTargetParser.def holds a name that --offload-arch
accepts, the major and minor components of the GMDID that the device
reports, and the IGCA (Intel Graphics Compute Architecture) target and
feature sets that the name maps to. The revision component is left out,
so every revision of a device gets the same name. A few names, such as
xe-dg2, cover a whole product line. No device reports a GMDID for those,
so offload-arch never prints them.

The header declares only the functions that offload-arch needs. More
will follow when something needs them.

---------

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


  Commit: 5f7d8a2fadec43d1e70f1ebed812eda52234623c
      https://github.com/llvm/llvm-project/commit/5f7d8a2fadec43d1e70f1ebed812eda52234623c
  Author: Aman Maurya <amanmaurya9209 at gmail.com>
  Date:   2026-09-24 (Thu, 24 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/CMakeLists.txt
    A libc/hdr/poll_macros.h
    M libc/include/CMakeLists.txt
    M libc/include/poll.yaml
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/ppoll.h
    M libc/src/poll/CMakeLists.txt
    M libc/src/poll/linux/CMakeLists.txt
    A libc/src/poll/linux/ppoll.cpp
    A libc/src/poll/ppoll.h
    M libc/test/src/poll/CMakeLists.txt
    A libc/test/src/poll/ppoll_test.cpp

  Log Message:
  -----------
  [libc] Implement ppoll in poll (#225767)

Implement the standard POSIX.1-2008 / POSIX.1-2024 function ppoll in
<poll.h>.

Fixes #225681


  Commit: 591f2e73fd4b81298d847ff0e39fe7e01985d8d6
      https://github.com/llvm/llvm-project/commit/591f2e73fd4b81298d847ff0e39fe7e01985d8d6
  Author: aokblast <aokblast at FreeBSD.org>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    A llvm/test/Transforms/SCCP/select-struct.ll

  Log Message:
  -----------
  [SCCP] Implement Structure support in Selection (#225946)

Same as my previous work on PhiNode, we support structure in SelectInst
if there is at least one member is not overdefined.

As structure type check code has multiple consumers now, we create a
helper function forEachLatticeElement, which accept a function to
indicate what we want to do for a single lattice element. The lattice
getter function is passed as a currying function of the callback.

Also, remove an assertion for testing DenseMap reference as
isInstFullyOverDefined has already emit elements in DenseMap.


  Commit: a45a57c0fb284997699ab0ac1829152fa0bb24be
      https://github.com/llvm/llvm-project/commit/a45a57c0fb284997699ab0ac1829152fa0bb24be
  Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp
    M mlir/test/Dialect/OpenACC/acc-routine-lowering.mlir

  Log Message:
  -----------
  [mlir][openacc] Copy all host function attributes to the device routine (#226127)

`createFunctionForDeviceStaging` copied only the discardable attributes
of the host function, so the device copy lost sym_visibility, arg_attrs,
res_attrs and no_inline, which are inherent attributes of func.func. A
private host with llvm.signext/llvm.noundef on its signature became a
public function with a bare signature.

Fixes #225259


  Commit: 32adedc8fb569f911d10df88bcbee015249dba02
      https://github.com/llvm/llvm-project/commit/32adedc8fb569f911d10df88bcbee015249dba02
  Author: Clayton Knittel <cknit1999 at gmail.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/test/DebugInfo/CXX/limited-ctor.cpp

  Log Message:
  -----------
  [DebugInfo] Ignore undefined constexpr constructors in constructor homing. (#221971)

This is a roll-forward of
https://github.com/llvm/llvm-project/pull/218165, which inadvertantly
caused missing debug info in
https://github.com/llvm/llvm-project/issues/221560 due to an existing
issue with standard-layout unions and layout-compatible aliasing (see
[[class.mem]](https://timsong-cpp.github.io/cppwp/n3337/class.mem#19)).

Constexpr constructors without a visible definition in the TU are not
callable in a constexpr context, which means it is not possible to
construct a type in constexpr without emitting debug info for the
constructor itself. Although undefined constexpr constructors are still
callable, they are normal out of line functions, requiring a definition
to link against.


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

  Changed paths:
    M llvm/test/CodeGen/MLRegAlloc/dev-mode-logging.ll

  Log Message:
  -----------
  [MLGO] Remove copy to /tmp/test in dev-mode-logging.ll (#226199)


  Commit: b290704acb41f045f2cb8b32b8e38c0a44dc0b61
      https://github.com/llvm/llvm-project/commit/b290704acb41f045f2cb8b32b8e38c0a44dc0b61
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M .github/workflows/libcxx-pr-check-generated-files.yml

  Log Message:
  -----------
  [libc++] Trigger check-generated-files consistently with other workflows (#225912)

We want to trigger the CI workflow whenever it changes and whenever any
libc++ or libc++ adjacent code is touched, like we do for other
workflows.


  Commit: a0102e124830769edfafb977a0460ead9c94b77a
      https://github.com/llvm/llvm-project/commit/a0102e124830769edfafb977a0460ead9c94b77a
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M .github/workflows/libcxx-pr-conformance-tests.yaml
    M libcxx/docs/index.rst
    M libcxx/utils/ci/lnt/machines.json

  Log Message:
  -----------
  [libc++] Bump macOS CI runners from 26.5 to 26.6.2 (#226012)

This bumps the macOS runners used by the libc++ conformance CI and the
machines tracked in LNT from macOS 26.5 to macOS 26.6.2, and switches to
Xcode 26.6 accordingly.

We introduce new names for the new LNT machines since their
configuration is changed.


  Commit: 0dadfa004c8bac744279c168e5edb6b265a02e7c
      https://github.com/llvm/llvm-project/commit/0dadfa004c8bac744279c168e5edb6b265a02e7c
  Author: Cheng-Chieh Liu <jay87406 at gmail.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
    M mlir/test/Dialect/Vector/vector-broadcast-lowering-transforms.mlir

  Log Message:
  -----------
  [mlir][Vector] Fix scalable dim guard in broadcast lowering (#225021)

The scalable outer dim guard in `BroadcastOpLowering` only covered the
"stretch not at start" case (`m != 0`). The "stretch at start" case
unrolls the same `dstType.getDimSize(0)` trip count and has the same
bug: broadcasting e.g. `vector<1x4xf32>` to `vector<[3]x4xf32>` only
fills the static minimum lanes via `vector.insert`, leaving the rest as
`ub.poison`.

Widen the guard to cover both cases, and add a regression test.


  Commit: bd0da2bf7dae083c66f154064aed08bfc2987531
      https://github.com/llvm/llvm-project/commit/bd0da2bf7dae083c66f154064aed08bfc2987531
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M utils/bazel/MODULE.bazel
    M utils/bazel/MODULE.bazel.lock
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lld/test/BUILD.bazel
    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-project-overlay/third-party/cc_library_wrapper.bzl

  Log Message:
  -----------
  [bazel] Add support for libxml2 (#225158)

I enabled this by default to match cmake, but we could leave it off by
default if we wanted. The flag is ignored on macOS since macOS ships
this with the system and we just always use that version instead.

This is used by lld for windows manifests, used by lldb for a few
cases, and used by c-index-test for docs


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

  Changed paths:
    M lldb/test/API/lit.cfg.py

  Log Message:
  -----------
  [lldb][test] Stop deleting the clang module cache between lit runs (#226174)

A test binary's DWARF names the .pcm files in this cache, and make will
not rebuild an up-to-date `a.out` to regenerate them. Deleting it leaves
every ClangImporter test pointing at a deleted module.

Deleting is also redundant: a changed compiler already forces a rebuild
through `tool_prereq` inside of `Makefile.rules`.

On Windows, in swiftlang, this fixes 26 tests in `check-lldb-swift`
(ClangImporter/DWARFImporter/cxx-interop) and 105 "module file does not
exist" errors.


  Commit: 01df360d349bec88509f39e6ad3be6f739d28bf0
      https://github.com/llvm/llvm-project/commit/01df360d349bec88509f39e6ad3be6f739d28bf0
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M mlir/include/mlir-c/IR.h
    M mlir/lib/CAPI/IR/IR.cpp
    M mlir/test/CAPI/ir.c

  Log Message:
  -----------
  [mlir-c] Add mlirOperationIsAncestor and mlirOperationIsProperAncestor (#206556)

Exposes `Operation::isAncestor` and `Operation::isProperAncestor` through the MLIR C API.

Assisted by: Claude


  Commit: 8ee4426e3dae25d155d102d20f7cd395bd035174
      https://github.com/llvm/llvm-project/commit/8ee4426e3dae25d155d102d20f7cd395bd035174
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2026-09-24 (Thu, 24 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 libcxx/utils/libcxx/test/params.py
    M libcxxabi/test/CMakeLists.txt
    M libcxxabi/test/configs/cmake-bridge.cfg.in
    M libunwind/test/CMakeLists.txt
    M libunwind/test/configs/cmake-bridge.cfg.in

  Log Message:
  -----------
  [libc++] Re-apply "Build GoogleBenchmark directly from Lit" (#225856)

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.

This patch re-applies 1bfe9893f3dc which was reverted in 62ea87e542c3
because it broke the Fuchsia bots. This new version of the patch also
threads through the path to the CMake program being used, the CMake
generator and the CMake "make program" from the top-level CMake to the
test-suite, so that the Google Benchmark build can inherit what the
top-level CMake is using.


  Commit: 705738b26f0b8f413f7b628e1677613fb7ea71d1
      https://github.com/llvm/llvm-project/commit/705738b26f0b8f413f7b628e1677613fb7ea71d1
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/MachineCycleAnalysis.cpp
    M llvm/lib/IR/CycleInfo.cpp

  Log Message:
  -----------
  [CycleInfo] Add missing exports to symbols used in tests (#225737)


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/test/TableGen/AsmPredicateCombiningRISCV.td
    M llvm/test/TableGen/CompressInstEmitter/suboperands.td
    M llvm/test/TableGen/RegClassByHwModeCompressPat.td
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
    M llvm/utils/TableGen/CompressInstEmitter.cpp

  Log Message:
  -----------
  [RISCV][TableGen] Return instruction size from isCompressibleInst (#225660)

Not all compress patterns compress to a 2 byte instruction. There are a
few `Xqci` instructions that compress from a 6 byte instruction to a 4
byte instruction. Having `isCompressibleInst` optionally return the size
of the compressed instruction will help us better estimate instruction
sizes.

Assisted by gpt-5.6-luna


  Commit: ae5a2966682bb89d0cba976f0459eb1adc20f8bc
      https://github.com/llvm/llvm-project/commit/ae5a2966682bb89d0cba976f0459eb1adc20f8bc
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

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

  Log Message:
  -----------
  [OpenMP] Fix OpenMP reduction segfault with non-copyable types and user initializers. (#219265)

OpenMP custom reductions with user-defined initializers segfault when
the reduction variable type is non-copyable and has non-trivial members
(e.g., std::string). `Clang` was emitting only the user initializer
function call, leaving non-trivial
members uninitialized with garbage values, causing segfaults when those
members are accessed or assigned.
See https://godbolt.org/z/bboqKbhsT
This patch fixes the issue.


  Commit: 33726c20882b4f8dc1d34990e0a516e5b627acb8
      https://github.com/llvm/llvm-project/commit/33726c20882b4f8dc1d34990e0a516e5b627acb8
  Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

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

  Log Message:
  -----------
  [SandboxIR] Fix Value::stripAndAccumulateConstantOffsets (#225980)

The original test was not exercising the ExternalAnalysis FnRef, and we
we are passing a non-nullptr lambda even if the user has passed a
nullptr, which would cause a crash.
This patch fixes it.


  Commit: 599fc2cfc60421ea402dd0ec57f5106bf452962c
      https://github.com/llvm/llvm-project/commit/599fc2cfc60421ea402dd0ec57f5106bf452962c
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M libcxx/utils/ci/docker/linux-builder.dockerfile

  Log Message:
  -----------
  [Github] Bump libcxx image to ubuntu 26.04 (#225550)

To match the rest of the premerge CI images.


  Commit: 6702faa9c52cedeaad7d8f8fbc82be44cbc8f637
      https://github.com/llvm/llvm-project/commit/6702faa9c52cedeaad7d8f8fbc82be44cbc8f637
  Author: robertvirany <robertvirany at gmail.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/docs/NVPTXUsage.md
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/CodeGen/NVPTX/st_bulk.ll
    A llvm/test/CodeGen/NVPTX/st_bulk_i32.ll
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
    M mlir/test/Dialect/LLVMIR/nvvm.mlir
    M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir

  Log Message:
  -----------
  [NVPTX] Support 32-bit size operand for st.bulk (#217703)

PTX ISA 9.0 extends the `st.bulk` instruction to accept a 32-bit `size`
operand.

Add `i32` variants of the generic and `.shared::cta` NVVM intrinsics and
select them to `st.bulk` instructions using 32-bit registers. The new
patterns require PTX ISA 9.0 and `sm_100`.

The existing intrinsics continue to represent the original 64-bit forms.

Add code-generation coverage for both the default and short-pointer
ABIs.


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

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

  Log Message:
  -----------
  [RISCV] Fix crash costing cttz.elts with zvl32b. (#226181)

With +zvl32b fixed-length vectors are not legalized to RVV types and
getTypeLegalizationCost returns a scalar MVT. Skip non-vector types and
return Invalid instead of asserting in the getVectorElementType call
below.

Hit this while fuzzing some LoopVectorize changes.

Aided by Claude Opus.

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


  Commit: 3e7abfccd079c2303c8bb21cad3c425f2507ac88
      https://github.com/llvm/llvm-project/commit/3e7abfccd079c2303c8bb21cad3c425f2507ac88
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Pass.h
    M llvm/include/llvm/SandboxIR/Value.h

  Log Message:
  -----------
  [SandboxIR] Add missing exports to symbols used in unittests (#225977)


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

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

  Log Message:
  -----------
  [X86] masked_compressstore.ll - add VBMI2 test coverage (#226221)

VBMI2 added vXi8/i16 compressstore handling


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

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang-tools-extra/unittests/BUILD.bazel
    M utils/bazel/llvm-project-overlay/flang-rt/lib/runtime/BUILD.bazel

  Log Message:
  -----------
  Fix layering failure for clang-doc and flang (#225964)

This was introduced in commit 4989b3b0bb752c436c922d8e65cd7a952038d5db.

* `src/liblzma/api/config.h` is exposed in hdrs of lzma_src_liblzma_api.
* `strip_include_prefix = "src/liblzma/api"` strips the path, exposing
the header as `config.h` in a virtual include directory
(`_virtual_includes/lzma_src_liblzma_api/config.h`).

Fixed by adding `strip_include` to the relevant `config.h` headers that
were causing failures.


  Commit: 7701f727799a8cfb6ca20802c5824d12f7c93b5e
      https://github.com/llvm/llvm-project/commit/7701f727799a8cfb6ca20802c5824d12f7c93b5e
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/GCOVProfiling/exit-block.ll
    M llvm/test/Transforms/GCOVProfiling/function-numbering.ll
    M llvm/test/tools/llvm-cov/gcov/basic.test

  Log Message:
  -----------
  [test] Use -- for llvm-cov gcov long options (#226236)

Prepare for the OptTable migration of llvm-cov gcov, where long options
take `--` only.


  Commit: 78ff5215e53a117851dc6e81e793a106f1a79df8
      https://github.com/llvm/llvm-project/commit/78ff5215e53a117851dc6e81e793a106f1a79df8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M clang/include/clang/AST/DeclContextInternals.h

  Log Message:
  -----------
  [clang] Migrate away from PointerUnion::dyn_cast (NFC) (#226047)

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
DeclListNode::Decls in StoredDeclsList because the operands are always
nonnull:

- StoredDeclsList::getAsDecl and StoredDeclsList::getAsList are called
  only after verifying !isNull() (in StoredDeclsList::getASTContext,
  StoredDeclsList::addOrReplaceDecl, and ASTImporterTest.cpp).
- DeclListNode::Rest is always nonnull because the singly-linked list of
  DeclListNode is terminated by a NamedDecl *, not by nullptr.

Assisted-by: Antigravity


  Commit: 585b10be7b8487440227fa1da5f08fa6938ca32e
      https://github.com/llvm/llvm-project/commit/585b10be7b8487440227fa1da5f08fa6938ca32e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [LV] Remove unused functions (NFC) (#226048)

isInductionVariable:
The last caller was removed on December 19, 2025 in commit
1f78f6a2d629b0dd410a3d20429f76377ac5d6c3, leaving
isCastedInductionVariable without any callers and
InductionCastsToIgnore without any readers.

getNumStores, getNumLoads:
The last callers were removed on August 5, 2025 in commit
c9dd14d1d4c357ad29e0e5c446f1bb8f596ab9c0.

hasVector:
The last caller was removed on June 24, 2024 in commit
abf5969f76c6b4196b08fe5ea9c2890e97a61357.

getInLoopReductionImmediateChain:
The last caller was removed on September 4, 2026 in commit
278d9f76594de1ad0fac669468bf083ad6616a0f, leaving
InLoopReductionImmediateChains without any readers.

preferTailFoldedLoop:
The last caller was removed on August 12, 2026 in commit
97773f262edefabce826ed56f438005d34a78f4b.

Assisted-by: Antigravity


  Commit: 34474905abda1ecedca7c4f7b4a6e871aa07f910
      https://github.com/llvm/llvm-project/commit/34474905abda1ecedca7c4f7b4a6e871aa07f910
  Author: sujianIBM <Jian.Su at ibm.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZXPLINKAsmPrinter.cpp
    M llvm/test/CodeGen/SystemZ/zos-ppa2.ll

  Log Message:
  -----------
  [SystemZ][z/OS] Fix product version format in PPA2 on z/OS. (#225749)

The product version in PPA2 should be right-aligned (e.g. 090807)
instead of left-aligned (e.g. 908070) on z/OS.


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

  Changed paths:
    M flang/include/flang/Lower/SymbolMap.h
    M flang/include/flang/Semantics/scope.h
    M flang/include/flang/Semantics/semantics.h
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/SymbolMap.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/semantics.cpp
    M flang/lib/Semantics/tools.cpp
    A flang/test/Lower/OpenACC/acc-data-cuda-device.f90

  Log Message:
  -----------
  [flang][cuda][openacc] Resolve DEVICE dummies against !$acc data mapped objects (#225899)

CUDA Fortran generic resolution rejects a call when an actual argument
with
no CUDA data attribute is associated with an ATTRIBUTES(DEVICE) dummy.
That
makes cuBLAS-style generic interfaces unusable inside a structured
OpenACC
data region, even though the mapped objects do have a device copy there:

```
  !$acc data copyin(a, b) copyout(c)
    call cublaszgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
  !$acc end data

  error: No specific subroutine of generic 'cublaszgemm' matches the actual
  arguments
    dummy argument 'a=' has ATTRIBUTES(DEVICE) but its associated actual
    argument has no CUDA data attribute
```

Treat an object mapped by an enclosing structured `acc data` construct
as if
the actual had CUDADataAttr::UseDevice, which is the attribute already
used
for `host_data use_device` and which matches either a DEVICE dummy or a
host
dummy. Scalars and unmapped objects keep no attribute, so a specific
taking
host scalars and device arrays is preferred over one requiring every
argument
to be on the device.

Semantics records the mapped objects on the OpenACC construct scope
rather
than on the symbols themselves, so ordinary references inside the region
still denote the host object; only argument association consults the
mapping.
The lookup walks enclosing scopes so nested data regions work, and is
skipped
entirely when the compilation contains no such mapping.

Lowering keeps the host binding in the symbol map and adds a parallel
device-binding stack populated from the `acc.data` operands. A call
argument
is rebuilt from the device binding only when the dummy is DEVICE;
objects
without a whole-object binding, such as common block members and
component
references, are left on the host path.

Only `acc data` is handled; compute constructs are unaffected.


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

  Changed paths:
    A llvm/test/tools/llvm-reduce/mir/parallel-jobs-unsupported.mir
    M llvm/tools/llvm-reduce/deltas/Delta.cpp
    M llvm/tools/llvm-reduce/deltas/Delta.h
    M llvm/tools/llvm-reduce/llvm-reduce.cpp

  Log Message:
  -----------
  llvm-reduce: Error on -j with MIR inputs (#226225)

Parallel chunk processing distributes work by serializing the program to
bitcode and reparsing it in each worker thread. Bitcode cannot represent
MachineFunctions, so readBitcode leaves ReducerWorkItem::MMI null and
the reparsed item reports isMIR() == false. The delta pass list is still the
MIR one, chosen from the original program, so the worker runs a MIR pass
over an item with no MachineModuleInfo and dereferences null.

This broke every MIR reduction using -j > 1, though not immediately: the
parallel path is only taken once there is more than one chunk left to
process, so the crash appeared after the first granularity increase.

Reject the combination up front instead of crashing partway through a
reduction. Supporting it would mean exchanging MIR text rather than
bitcode, and giving each worker its own TargetMachine.

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


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

  Changed paths:
    M llvm/docs/CommandGuide/llvm-cov.md
    M llvm/tools/llvm-cov/CMakeLists.txt
    A llvm/tools/llvm-cov/GcovOpts.td
    M llvm/tools/llvm-cov/gcov.cpp
    M llvm/utils/gn/secondary/llvm/tools/llvm-cov/BUILD.gn
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  [llvm-cov] Migrate gcov to OptTable (#224955)

llvm-cov gcov is the last user of cl::Grouping. Parse its options with
an OptTable that enables grouped short options, as the other
binutils-style tools do, so that cl::Grouping can be removed.

Spellings follow the other migrated tools: long options take `--` only,
so `-gcno` and `-gcda=` become `--gcno` and `--gcda=`. `--help` now
lists only gcov's options rather than every cl:: option linked into
llvm-cov, and an unknown option or a missing source file is reported
as `llvm-cov gcov: error: ...`.

LLM-aided


  Commit: 78a1fe99f4935677a285a1f6d789b8b5b01b24b1
      https://github.com/llvm/llvm-project/commit/78a1fe99f4935677a285a1f6d789b8b5b01b24b1
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M utils/bazel/.bazelrc
    M utils/bazel/.bazelversion
    M utils/bazel/MODULE.bazel.lock
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch2/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch3/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch4/BUILD.bazel

  Log Message:
  -----------
  [bazel] Update to 9.x (#225466)

Mostly just staying up to date, but this has performance improvements
with remote exec too


  Commit: 23a4893c0ddb4c6df17fa487bd74d0d9ab6e658a
      https://github.com/llvm/llvm-project/commit/23a4893c0ddb4c6df17fa487bd74d0d9ab6e658a
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/TargetParser/IntelGPUTargetParser.cpp

  Log Message:
  -----------
  [TargetParser] Fix -Wunused-variable in #222072 (#226243)

Use [[maybe_unused]] as the name is a lot nicer than the raw constant.


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

  Changed paths:
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/dedupe-exported-public-symbols.cpp

  Log Message:
  -----------
  [lldb][NativePDB] Don't duplicate public symbols that restate a PE export (#226200)

`SymbolFileNativePDB::AddSymbols` adds every
[`S_PUB32`](https://llvm.org/docs/PDB/CodeViewSymbols.html#s-pub32-0x110e)
to the symtab, but `ObjectFilePECOFF` has usually already added the same
name and address from the PE export table, so the symbol resolves to two
entries.

On the other hand, `ObjectFilePECOFF` already solves this for its own
`export`/`symtab` overlap by marking the duplicate entry as
`eSymbolTypeAdditional`:

https://github.com/llvm/llvm-project/blob/d1106deb71cc81016406a1917d0508d2df296266/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp#L839-L844

This patch implements the same for `SymbolFileNativePDB::AddSymbols`.

In swiftlang, this fixes
`lang/swift/expression/exclusivity_suppression/TestExclusivitySuppression.py`
on Windows.


  Commit: e27c7439ab588237a4c526feb3bb632f9aea8530
      https://github.com/llvm/llvm-project/commit/e27c7439ab588237a4c526feb3bb632f9aea8530
  Author: Alex Strelnikov <strel at google.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/hdr/CMakeLists.txt
    A libc/hdr/sys_xattr_macros.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    A libc/include/llvm-libc-macros/linux/sys-xattr-macros.h
    A libc/include/llvm-libc-macros/sys-xattr-macros.h
    M libc/include/sys/xattr.yaml
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/fgetxattr.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/fsetxattr.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/getxattr.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/lgetxattr.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/lsetxattr.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/setxattr.h
    M libc/src/sys/xattr/CMakeLists.txt
    A libc/src/sys/xattr/fgetxattr.h
    M libc/src/sys/xattr/flistxattr.h
    A libc/src/sys/xattr/fsetxattr.h
    A libc/src/sys/xattr/getxattr.h
    A libc/src/sys/xattr/lgetxattr.h
    M libc/src/sys/xattr/linux/CMakeLists.txt
    A libc/src/sys/xattr/linux/fgetxattr.cpp
    M libc/src/sys/xattr/linux/flistxattr.cpp
    A libc/src/sys/xattr/linux/fsetxattr.cpp
    A libc/src/sys/xattr/linux/getxattr.cpp
    A libc/src/sys/xattr/linux/lgetxattr.cpp
    M libc/src/sys/xattr/linux/listxattr.cpp
    M libc/src/sys/xattr/linux/llistxattr.cpp
    A libc/src/sys/xattr/linux/lsetxattr.cpp
    A libc/src/sys/xattr/linux/setxattr.cpp
    M libc/src/sys/xattr/listxattr.h
    M libc/src/sys/xattr/llistxattr.h
    A libc/src/sys/xattr/lsetxattr.h
    A libc/src/sys/xattr/setxattr.h
    M libc/test/src/sys/xattr/CMakeLists.txt
    R libc/test/src/sys/xattr/flistxattr_test.cpp
    A libc/test/src/sys/xattr/fxattr_test.cpp
    R libc/test/src/sys/xattr/listxattr_test.cpp
    R libc/test/src/sys/xattr/llistxattr_test.cpp
    A libc/test/src/sys/xattr/lxattr_test.cpp
    A libc/test/src/sys/xattr/xattr_test.cpp

  Log Message:
  -----------
  [libc] Add the get and set sys/xattr.h entrypoints. (#224729)

This is a follow-up to #224357, implementing more of sys/xattr.h. As
before, these are non-POSIX APIs.

The list of entrypoints is: `fgetxattr`, `getxattr`, `lgetxattr`,
`fsetxattr`, `setxattr`, and `lsetxattr`.

Assisted-by: Automated tooling, human reviewed.


  Commit: 5dac0fe905fe71b672d7dca9d78dcdb362d2236d
      https://github.com/llvm/llvm-project/commit/5dac0fe905fe71b672d7dca9d78dcdb362d2236d
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M clang/test/InstallAPI/exclusive-passes-platform.test
    M llvm/test/ObjectYAML/MachO/export_trie_lc_dyld_exports_trie.yaml
    M llvm/test/ObjectYAML/MachO/export_trie_lc_dyld_info_only.yaml
    M llvm/test/ObjectYAML/MachO/function_starts.yaml
    M llvm/test/tools/llvm-readobj/COFF/codeview-merging-ghash.test
    M llvm/test/tools/llvm-tli-checker/ifuncs.yaml
    M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml

  Log Message:
  -----------
  [test] Use -o <file> for yaml2obj (#226245)

`-o <file>` is the preferred form. Prepare for the OptTable migration of
yaml2obj, where -o=<file> is no longer accepted.


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

  Changed paths:
    M llvm/test/tools/split-file/help.test
    M llvm/utils/gn/secondary/llvm/utils/split-file/BUILD.gn
    M llvm/utils/split-file/CMakeLists.txt
    A llvm/utils/split-file/Opts.td
    M llvm/utils/split-file/split-file.cpp
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  [split-file] Migrate to OptTable (#224966)

split-file is one of three tools that parse with
cl::ParseCommandLineOptions(LongOptionsUseDoubleDash=true). Parse its
options with an OptTable instead, so that the mode can be removed from
cl::. --no-leading-lines now overrides an earlier --leading-lines
rather than being ignored, and `--help` lists only split-file's
options. `--version` still exits 0, which libc++'s test configuration
relies on to detect the tool.

LLM-aided


  Commit: 0b2b0cca1214db3f0e1d34033594cb36a3faed7f
      https://github.com/llvm/llvm-project/commit/0b2b0cca1214db3f0e1d34033594cb36a3faed7f
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/test/tools/obj2yaml/help.test
    M llvm/tools/obj2yaml/CMakeLists.txt
    A llvm/tools/obj2yaml/Opts.td
    M llvm/tools/obj2yaml/obj2yaml.cpp
    M llvm/utils/gn/secondary/llvm/tools/obj2yaml/BUILD.gn
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  [obj2yaml] Migrate to OptTable (#224965)

obj2yaml is one of three tools that parse with
cl::ParseCommandLineOptions(LongOptionsUseDoubleDash=true). Parse its
options with an OptTable instead, so that the mode can be removed from
cl::. Spellings follow the other migrated tools: -o<file> and -o <file>,
--raw-segment=<segment> and --raw-segment <segment>, -h/--help and
--version. `--help` lists only obj2yaml's options.

LLM-aided


  Commit: 06d67477d57a07fdbc40742678136369b725933f
      https://github.com/llvm/llvm-project/commit/06d67477d57a07fdbc40742678136369b725933f
  Author: Jason Van Beusekom <jason.van-beusekom at hpe.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-nowait.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-llvm.mlir
    A mlir/test/Target/LLVMIR/omptarget-target-data-source-loc-nodebug.mlir
    A mlir/test/Target/LLVMIR/omptarget-target-region-source-loc-nodebug.mlir
    A mlir/test/Target/LLVMIR/omptarget-target-region-source-loc.mlir

  Log Message:
  -----------
  [Flang][OpenMP][MLIR] Attach source location to target/target-data runtime c… (#222389)

…alls

This commit adds ident info to the OpenMP target call so the runtime now
reports the kernels source location in -g and non -g builds

Of note this does diverge from clang where the file info is only
provided with `-g` builds, however similar work is done in
`createMappingInformation` in
`mlir/lib/Target/LLVMIR/Dialect/OpenMPCommon.cpp`.


  Commit: 666f22b6aa5b449bc5a4f2348f912faa1012909b
      https://github.com/llvm/llvm-project/commit/666f22b6aa5b449bc5a4f2348f912faa1012909b
  Author: Chris B <chris.bieneman at me.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
    A llvm/test/CodeGen/SPIRV/structurizer/branch-no-switch.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.for.short-circuited-cond.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.while.short-circuited-cond.ll

  Log Message:
  -----------
  [SPIRV] Support structurizing nested break chains (#222459)

This PR updates the SPIRVStructurizer to handle nested break chains.
This pattern occurs when switch statements are lowered instead as branch
instructions and break statements need to exit out to an outer
containing block.

This is a required change to support #112056.

Assisted-by: GitHub Copilot


  Commit: f676944065576ceba42691edeba053898b57c1bf
      https://github.com/llvm/llvm-project/commit/f676944065576ceba42691edeba053898b57c1bf
  Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

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

  Log Message:
  -----------
  [SLP][NFC] Use BoUpSLP::getNumberOfParts() where appropriate (#225995)

Caches the results for better performance rather than directly calling
slpvectorizer::getNumberOrParts().

Small improvement in compile time.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/VPlan/execution-frequencies-match-bfi.ll

  Log Message:
  -----------
  [VPlan] Compute execution probability via APFloat for printing. (#226135)

Similar to #201824 (8e517e1d17b1), use APFloat to compute the execution
probability. This ensures the output is independent of the underlying
libc/OS/architecture.

Suggested in https://github.com/llvm/llvm-project/pull/203982.


  Commit: 4584e4bb15bb8bf0c1c190b3cbe85908bcc2a56e
      https://github.com/llvm/llvm-project/commit/4584e4bb15bb8bf0c1c190b3cbe85908bcc2a56e
  Author: Peter Rong <peterrong96 at gmail.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/MapFile.cpp
    M lld/MachO/Relocations.cpp
    M lld/MachO/Symbols.cpp
    M lld/MachO/Symbols.h
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/SyntheticSections.h
    M lld/MachO/Writer.cpp
    M lld/test/MachO/arm64-reloc-tlv-load.s
    M lld/test/MachO/flat-namespace-interposable.s
    A lld/test/MachO/got-to-tlv-reference.s
    M lld/test/MachO/indirect-symtab.s
    R lld/test/MachO/invalid/bad-got-to-dylib-tlv-reference.s
    R lld/test/MachO/invalid/bad-got-to-tlv-reference.s
    M lld/test/MachO/map-file.s
    M lld/test/MachO/tapi-link.s
    M lld/test/MachO/tlv-dylib.s
    A lld/test/MachO/tlv-dynamic-lookup-x86.s
    A lld/test/MachO/tlv-dynamic-lookup.s
    A lld/test/MachO/tlv-non-lazy-pointer.s
    M lld/test/MachO/weak-binding.s
    M lld/test/MachO/weak-reference.s

  Log Message:
  -----------
  [lld][MachO] Remove `__thread_ptrs` section so TLV can relocate against dynamic-lookup symbols (#221364)

lld/MachO rejects a relocation whenever `hasAttr(TLV) != sym->isTlv()`, but
`isTlv()` cannot separate "not thread-local" from "unknown", so that one
inequality rejects three unrelated cases and only one of them is ill-formed.
C++20 `constinit` made another of them common: it lets the compiler elide the
thread-local wrapper and access a cross-TU object directly ([folly 2c666105](https://github.com/facebook/folly/commit/2c666105e9a694aef7290cce3da14ed1ebf14462)),
producing a TLV relocation against a dynamic-lookup symbol. The check was also
masking a defect — `Symbol::gotIndex` is one field indexing whichever of `__got`
or `__thread_ptrs` holds the symbol — and never enforced it anyway, since
`UnwindInfoSection` and the stub paths call `in.got->addEntry` directly, so a
thread-local personality already collided on stock lld.

Both pools hold the same value, the descriptor's address, and ld-prime never
synthesizes `__thread_ptrs` at all. Make `__got` the sole non-lazy pointer
section, deleting `TlvPointerSection`, `NonLazyPointerSectionBase`,
`in.tlvPointers`, `Symbol::getTlvVA` and the indirect-symbol-table
special-casing, and collapsing `resolveGotVA`/`resolveTlvVA` into
`resolveNonLazyPtrVA`. One section, one index, so the collision becomes
unrepresentable. Input objects with a real `__thread_ptrs` section still pass
through unchanged.

The check can now say what is actually wrong: TLV relocations against
dynamic-lookup symbols and GOT, branch or unsigned relocations against
thread-locals are accepted; a TLV relocation against a symbol known not to be
thread-local still errors, and a direct relocation against an imported
thread-local gets its own diagnostic. Two tests asserted a diagnostic ld64 does
not raise, so they keep their inputs, move out of `invalid/`, and assert the new
behaviour.


  Commit: 915c3bd9d4659165e1b4bb4a13204d559592b1c0
      https://github.com/llvm/llvm-project/commit/915c3bd9d4659165e1b4bb4a13204d559592b1c0
  Author: Domenic Nutile <domenic.nutile at gmail.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    A llvm/test/Transforms/InstCombine/extractelement-strided-ptr-vector.ll

  Log Message:
  -----------
  [InstCombine] Fold variable extract of a constant-strided pointer vector (#217078)

A vector built from pointers that all point into the same object at a
constant stride is a table of addresses, so a variable extract from it
is address arithmetic:

  %v0 = insertelement <4 x ptr> poison, ptr %b,      i64 0
  %v1 = insertelement <4 x ptr> %v0,    ptr %b + 8,  i64 1
  %v2 = insertelement <4 x ptr> %v1,    ptr %b + 16, i64 2
  %v3 = insertelement <4 x ptr> %v2,    ptr %b + 24, i64 3
  %r  = extractelement <4 x ptr> %v3, i32 %i
  -->
  %r  = getelementptr i8, ptr %b, i64 %i * 8

Fold it to a single GEP. Every element must be reachable from one base
pointer at a constant byte offset, every lane of the vector must be
defined, and the offsets must form an arithmetic sequence; otherwise the
pattern is left alone.


  Commit: 606e2acdd1cd869831600b001d76dbe123e80e2c
      https://github.com/llvm/llvm-project/commit/606e2acdd1cd869831600b001d76dbe123e80e2c
  Author: Colin De Vlieghere <cdevlieghere at tesla.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
    M mlir/test/Dialect/ControlFlow/one-shot-bufferize-analysis.mlir

  Log Message:
  -----------
  [mlir][bufferization] Relax happens-before analysis (#223777)

On unstructured control-flow, the one-shot analysis is rather
conservative in regards to computing RaW conflicts, requiring strict
dominance which may not always be satisfied.

Relax this requirement to allow more cases to not be marked as
conflicting. Notably, readers/writers within a region that contains a
"diamond" or multiple loops are now handled.

This is a simpler version of
https://github.com/llvm/llvm-project/pull/223006 without the CFGLoopInfo
analysis, meaning it is a bit more conservative when analyzing regions
with nested loops.


  Commit: 6ca0abd3c4da280402f72488c2dc0ef0b8455de9
      https://github.com/llvm/llvm-project/commit/6ca0abd3c4da280402f72488c2dc0ef0b8455de9
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M clang-tools-extra/docs/conf.py
    M clang/docs/analyzer/conf.py
    M clang/docs/conf.py
    M libc/docs/conf.py
    M libcxx/docs/conf.py
    M lld/docs/conf.py
    M lldb/docs/conf.py
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/conf.py
    M polly/docs/conf.py
    M utils/docs/llvm_sphinx/__init__.py

  Log Message:
  -----------
  [docs] Require MyST for Sphinx documentation builds (#223829)

Fedora plans to use the separate llvm_man_pages package that we build as part of our release process now:

https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840/37

I'm assuming that other distributions are either going to be able to
install the necessary Python modules that we depend on (myst_parser
etc), or will use this man page package if they need it. Therefore, I think we
can remove this enum and associated complexity.

Assisted-by: codex


  Commit: 62fd85fe5a008a88d1d00aab468a8779aac4bd0a
      https://github.com/llvm/llvm-project/commit/62fd85fe5a008a88d1d00aab468a8779aac4bd0a
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2026-09-24 (Thu, 24 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/HLSLBuiltinTypeDeclBuilder.h
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/CodeGenHLSL/builtins/InterlockedExchange.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-Interlocked.hlsl
    A clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedExchange.hlsl
    M clang/test/CodeGenHLSL/builtins/RWTexture-Interlocked.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedAdd.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedAnd.hlsl
    A clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedExchange.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedMax.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedMin.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedOr.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedXor.hlsl
    A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedExchange-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedExchange-sm65-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/InterlockedExchange-errors.hlsl

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

This PR adds the `InterlockedExchange` standalone function and resource
methods. The operation lowers to `atomicrmw xchg`.

`InterlockedExchange` is the first interlocked operation that reports
the
previous value. It takes that value through an `original_value`
reference
parameter, so this PR adds a `RequiresOriginalValue` flag to
`HLSLBuiltinTypeDeclBuilder` and a matching overload shape to
`HLSLExternalSemaSource`. The later compare operations reuse both.

The float overload of `InterlockedExchange` follows in a separate PR in
this
stack. This PR covers the integer overloads alone, so it links
https://github.com/llvm/llvm-project/issues/99129 without closing it.

Assisted by: Github Copilot


  Commit: 2ed7fafcb06c8c314fc5d88580a93a50e9054d1a
      https://github.com/llvm/llvm-project/commit/2ed7fafcb06c8c314fc5d88580a93a50e9054d1a
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
    A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-i64-sm65.ll
    A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-texture-nonscalar.ll
    A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-texture-unsupported-kind.ll
    A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-texture.ll
    A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-unsupported-result.ll
    A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange.ll

  Log Message:
  -----------
  [DirectX] Support `cmpxchg` on buffer resources in DXIL lowering (#222162)

This PR is a backend change alone. It teaches DXIL lowering to handle a
`cmpxchg` on a buffer resource pointer, which the
`InterlockedCompareStore`
and `InterlockedCompareExchange` PRs above it in this stack need.

The PR adds:

- the `llvm.dx.resource.atomic.compare.exchange` intrinsic,
- its DXIL operation and op lowering,
- the `DXILResourceAccess` handling that turns a `cmpxchg` on a value
  returned by `llvm.dx.resource.getpointer` into that intrinsic.

DXIL has no atomic compare exchange for texture resources, so the pass
reports an error for them. A test covers that path.

There is no Clang change here, and no HLSL function becomes available.

Assisted by: Github Copilot


  Commit: dd17367613c43e3224289f175b9938c55a7e8bbc
      https://github.com/llvm/llvm-project/commit/dd17367613c43e3224289f175b9938c55a7e8bbc
  Author: Wael Yehia <wmyehia2001 at yahoo.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/Sema/SemaPPC.cpp
    M clang/test/CodeGen/PowerPC/attr-target-clones.c
    M clang/test/Sema/PowerPC/attr-target-clones.c
    M llvm/include/llvm/TargetParser/PPCTargetParser.def
    M llvm/include/llvm/TargetParser/PPCTargetParser.h
    M llvm/lib/TargetParser/PPCTargetParser.cpp

  Log Message:
  -----------
  [FMV][AIX] Implement target_clones part 2 (target-features) (#206786)

This is part 2 (of 2) of FMV on AIX that would allow specifying
target-feature strings on the ``target_clones`` attribute. Part 1 was in
#177428.

The list of attributes supported is a subset of the attribute accepted
on the `target` attribute on AIX, specifically those that are runtime
detectable via the `__builtin_cpu_supports` builtin.

---------

Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>


  Commit: 08ee0ef5da10d27d5776df1e1ff81c46a38d9b5c
      https://github.com/llvm/llvm-project/commit/08ee0ef5da10d27d5776df1e1ff81c46a38d9b5c
  Author: satyanarayana reddy janga <satyajanga at gmail.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/ObjectContainer/CMakeLists.txt
    A lldb/source/Plugins/ObjectContainer/Clang-Offload-Bundle/CMakeLists.txt
    A lldb/source/Plugins/ObjectContainer/Clang-Offload-Bundle/ObjectContainerClangOffloadBundle.cpp
    A lldb/source/Plugins/ObjectContainer/Clang-Offload-Bundle/ObjectContainerClangOffloadBundle.h
    M lldb/source/Symbol/ObjectFile.cpp
    M lldb/unittests/ObjectContainer/CMakeLists.txt
    A lldb/unittests/ObjectContainer/ObjectContainerClangOffloadBundleTest.cpp

  Log Message:
  -----------
  [lldb] Add plugin for Clang offload bundle object container (#222362)

## Summary

Clang supports embedding binaries using the clang offload bundler:

https://clang.llvm.org/docs/ClangOffloadBundler.html

This patch creates an ObjectContainer plug-in that allows us to get the
contained binaries within any executable.

### why we need this? 
AMD/HIP host binaries may contain a .hip_fatbin section holding a Clang
offload bundle with one or more AMDGPU ELF code objects, typically for
different GPU architectures. Each ELF code object can contain multiple
ml kernels.


### Test 

Added tests for the logic.


NOTE: Caching was intentionally left out to keep the upstream initial
implementation simple; i will add it as a followup.

---------

Co-authored-by: Greg Clayton <gclayton at fb.com>
Co-authored-by: Bar Soloveychik <barsolo at meta.com>
Co-authored-by: Bar Soloveychik <barsolo at fb.com>


  Commit: 4ebb19efe952ded7f9d937731418baf3b28babd0
      https://github.com/llvm/llvm-project/commit/4ebb19efe952ded7f9d937731418baf3b28babd0
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M llvm/test/tools/yaml2obj/help.test
    M llvm/tools/yaml2obj/CMakeLists.txt
    A llvm/tools/yaml2obj/Opts.td
    M llvm/tools/yaml2obj/yaml2obj.cpp
    M llvm/utils/gn/secondary/llvm/tools/yaml2obj/BUILD.gn
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  [yaml2obj] Migrate to OptTable (#224964)

yaml2obj is one of three tools that parse with
cl::ParseCommandLineOptions(LongOptionsUseDoubleDash=true). Parse its
options with an OptTable instead, so that the mode can be removed from
cl::. Spellings follow the other migrated tools: -D<macro>=<v> and
-D <macro>=<v>, -o<file> and -o <file>, --docnum=<n> and --docnum <n>,
--max-size likewise, -E, -h/--help and --version. `-o=<file>` is no
longer accepted; the tests that used it are updated. `--help` lists
only yaml2obj's options.

LLM-aided


  Commit: d869b1001e5750d9bc7de3e9e4e2adddcdf547c5
      https://github.com/llvm/llvm-project/commit/d869b1001e5750d9bc7de3e9e4e2adddcdf547c5
  Author: Yusra Syeda <99052248+ysyeda at users.noreply.github.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCSectionGOFF.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp

  Log Message:
  -----------
  [SystemZ] Fix zero length PR section for zero size BSS globals (#225863)

PR sections must have a non zero length. This was already handled for
ADA sections via requiresNonZeroLength(), but not for BSS globals
declared with zero size. This change extends the existing inflation to
also cover BSS PR sections.

---------

Co-authored-by: Yusra Syeda <yusra.syeda at ibm.com>


  Commit: 7d16aafe51fdbf03da4cf08c7785d91faecc0d27
      https://github.com/llvm/llvm-project/commit/7d16aafe51fdbf03da4cf08c7785d91faecc0d27
  Author: Jonathan Cohen <joncoh at apple.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators.ll

  Log Message:
  -----------
  [AArch64] Fix accumulator chain opcode for SABAv2i32 (#226062)

A typo in `AArch64InstrInfo::getAccumulationStartOpcode` caused
`SABAv2i32` to be matched instead of `SABDv2i32`.

Fixes #225984


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

  Changed paths:
    M .github/workflows/containers/github-action-ci/Dockerfile
    M .github/workflows/libcxx-pr-check-generated-files.yml
    M .github/workflows/libcxx-pr-conformance-tests.yaml
    M clang-tools-extra/docs/conf.py
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    M clang/docs/ReleaseNotes.md
    M clang/docs/analyzer/conf.py
    M clang/docs/conf.py
    M clang/include/clang/AST/DeclContextInternals.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LoanPropagation.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAArch64.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaARM.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/Analysis/LifetimeSafety/Facts.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
    M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
    M clang/lib/Analysis/LifetimeSafety/Origins.cpp
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/Headers/arm_acle.h
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaPPC.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    A clang/test/CodeGen/AArch64/atomic-store-hint-template.cpp
    M clang/test/CodeGen/PowerPC/attr-target-clones.c
    M clang/test/CodeGen/arm_acle.c
    M clang/test/CodeGen/builtins-arm64.c
    A clang/test/CodeGenHLSL/builtins/InterlockedExchange.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-Interlocked.hlsl
    A clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedExchange.hlsl
    M clang/test/CodeGenHLSL/builtins/RWTexture-Interlocked.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedAdd.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedAnd.hlsl
    A clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedExchange.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedMax.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedMin.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedOr.hlsl
    M clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedXor.hlsl
    M clang/test/DebugInfo/CXX/limited-ctor.cpp
    M clang/test/InstallAPI/exclusive-passes-platform.test
    A clang/test/OpenMP/error_message.c
    M clang/test/OpenMP/error_message.cpp
    M clang/test/OpenMP/for_reduction_codegen_UDR.cpp
    M clang/test/OpenMP/parallel_message_messages.cpp
    A clang/test/OpenMP/reduction_non_copyable_with_initializer.cpp
    M clang/test/Sema/LifetimeSafety/Inputs/lifetime-analysis.h
    M clang/test/Sema/LifetimeSafety/annotation-suggestions.cpp
    M clang/test/Sema/LifetimeSafety/capture-by.cpp
    M clang/test/Sema/LifetimeSafety/cfg-bailout.cpp
    M clang/test/Sema/LifetimeSafety/dangling-field.cpp
    M clang/test/Sema/LifetimeSafety/dangling-global.cpp
    M clang/test/Sema/LifetimeSafety/inapplicable-lifetimebound.cpp
    M clang/test/Sema/LifetimeSafety/invalidations.cpp
    M clang/test/Sema/LifetimeSafety/lifetime-facts.cpp
    M clang/test/Sema/LifetimeSafety/lifetimebound-violation.cpp
    M clang/test/Sema/LifetimeSafety/nocfg.cpp
    M clang/test/Sema/LifetimeSafety/noescape-violation.cpp
    M clang/test/Sema/LifetimeSafety/safety.cpp
    M clang/test/Sema/PowerPC/attr-target-clones.c
    M clang/test/Sema/builtins-arm64.c
    M clang/test/Sema/stmtexprs.c
    A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedExchange-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedExchange-sm65-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/InterlockedExchange-errors.hlsl
    M clang/tools/offload-arch/CMakeLists.txt
    M clang/tools/offload-arch/LevelZeroArch.cpp
    M clang/unittests/Analysis/LifetimeSafetyTest.cpp
    M clang/unittests/offload-arch/CMakeLists.txt
    M clang/unittests/offload-arch/OffloadArchTest.cpp
    M flang/include/flang/Lower/SymbolMap.h
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/include/flang/Semantics/scope.h
    M flang/include/flang/Semantics/semantics.h
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/SymbolMap.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/semantics.cpp
    M flang/lib/Semantics/tools.cpp
    R flang/test/Fir/convert-to-llvm-unsafe-fp-conversion.fir
    A flang/test/Lower/OpenACC/acc-data-cuda-device.f90
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/conf.py
    M libc/hdr/CMakeLists.txt
    A libc/hdr/poll_macros.h
    A libc/hdr/sys_xattr_macros.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    A libc/include/llvm-libc-macros/linux/sys-xattr-macros.h
    A libc/include/llvm-libc-macros/sys-xattr-macros.h
    M libc/include/poll.yaml
    M libc/include/sys/xattr.yaml
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/fgetxattr.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/fsetxattr.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/getxattr.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/lgetxattr.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/lsetxattr.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/ppoll.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/setxattr.h
    M libc/src/poll/CMakeLists.txt
    M libc/src/poll/linux/CMakeLists.txt
    A libc/src/poll/linux/ppoll.cpp
    A libc/src/poll/ppoll.h
    M libc/src/sys/xattr/CMakeLists.txt
    A libc/src/sys/xattr/fgetxattr.h
    M libc/src/sys/xattr/flistxattr.h
    A libc/src/sys/xattr/fsetxattr.h
    A libc/src/sys/xattr/getxattr.h
    A libc/src/sys/xattr/lgetxattr.h
    M libc/src/sys/xattr/linux/CMakeLists.txt
    A libc/src/sys/xattr/linux/fgetxattr.cpp
    M libc/src/sys/xattr/linux/flistxattr.cpp
    A libc/src/sys/xattr/linux/fsetxattr.cpp
    A libc/src/sys/xattr/linux/getxattr.cpp
    A libc/src/sys/xattr/linux/lgetxattr.cpp
    M libc/src/sys/xattr/linux/listxattr.cpp
    M libc/src/sys/xattr/linux/llistxattr.cpp
    A libc/src/sys/xattr/linux/lsetxattr.cpp
    A libc/src/sys/xattr/linux/setxattr.cpp
    M libc/src/sys/xattr/listxattr.h
    M libc/src/sys/xattr/llistxattr.h
    A libc/src/sys/xattr/lsetxattr.h
    A libc/src/sys/xattr/setxattr.h
    M libc/test/src/poll/CMakeLists.txt
    A libc/test/src/poll/ppoll_test.cpp
    M libc/test/src/sys/xattr/CMakeLists.txt
    R libc/test/src/sys/xattr/flistxattr_test.cpp
    A libc/test/src/sys/xattr/fxattr_test.cpp
    R libc/test/src/sys/xattr/listxattr_test.cpp
    R libc/test/src/sys/xattr/llistxattr_test.cpp
    A libc/test/src/sys/xattr/lxattr_test.cpp
    A libc/test/src/sys/xattr/xattr_test.cpp
    M libcxx/docs/Contributing.rst
    M libcxx/docs/conf.py
    M libcxx/docs/index.rst
    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/ci/docker/linux-builder.dockerfile
    M libcxx/utils/ci/lnt/machines.json
    M libcxx/utils/libcxx/test/config.py
    M libcxx/utils/libcxx/test/format.py
    A libcxx/utils/libcxx/test/googlebenchmark.py
    M libcxx/utils/libcxx/test/params.py
    M libcxxabi/test/CMakeLists.txt
    M libcxxabi/test/configs/cmake-bridge.cfg.in
    M libunwind/test/CMakeLists.txt
    M libunwind/test/configs/cmake-bridge.cfg.in
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/MapFile.cpp
    M lld/MachO/Relocations.cpp
    M lld/MachO/Symbols.cpp
    M lld/MachO/Symbols.h
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/SyntheticSections.h
    M lld/MachO/Writer.cpp
    M lld/docs/conf.py
    M lld/test/MachO/arm64-reloc-tlv-load.s
    M lld/test/MachO/flat-namespace-interposable.s
    A lld/test/MachO/got-to-tlv-reference.s
    M lld/test/MachO/indirect-symtab.s
    R lld/test/MachO/invalid/bad-got-to-dylib-tlv-reference.s
    R lld/test/MachO/invalid/bad-got-to-tlv-reference.s
    M lld/test/MachO/map-file.s
    M lld/test/MachO/tapi-link.s
    M lld/test/MachO/tlv-dylib.s
    A lld/test/MachO/tlv-dynamic-lookup-x86.s
    A lld/test/MachO/tlv-dynamic-lookup.s
    A lld/test/MachO/tlv-non-lazy-pointer.s
    M lld/test/MachO/weak-binding.s
    M lld/test/MachO/weak-reference.s
    M lldb/docs/conf.py
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/Plugins/ObjectContainer/CMakeLists.txt
    A lldb/source/Plugins/ObjectContainer/Clang-Offload-Bundle/CMakeLists.txt
    A lldb/source/Plugins/ObjectContainer/Clang-Offload-Bundle/ObjectContainerClangOffloadBundle.cpp
    A lldb/source/Plugins/ObjectContainer/Clang-Offload-Bundle/ObjectContainerClangOffloadBundle.h
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Symbol/ObjectFile.cpp
    M lldb/test/API/functionalities/duplicate-archive-members/Makefile
    M lldb/test/API/lang/objc/conflicting-definition/Makefile
    M lldb/test/API/lang/objc/hidden-ivars/Makefile
    M lldb/test/API/lit.cfg.py
    M lldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/Makefile
    M lldb/test/API/macosx/find-dsym/deep-bundle/Makefile
    M lldb/test/API/windows/launch/replace-dll/TestReplaceDLL.py
    A lldb/test/Shell/SymbolFile/NativePDB/dedupe-exported-public-symbols.cpp
    M lldb/unittests/ObjectContainer/CMakeLists.txt
    A lldb/unittests/ObjectContainer/ObjectContainerClangOffloadBundleTest.cpp
    M llvm/docs/CommandGuide/llvm-cov.md
    M llvm/docs/NVPTXUsage.md
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/conf.py
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/MC/MCSectionGOFF.h
    M llvm/include/llvm/SandboxIR/Pass.h
    M llvm/include/llvm/SandboxIR/Value.h
    A llvm/include/llvm/Support/AArch64MemoryHints.h
    A llvm/include/llvm/TargetParser/IntelGPUTargetParser.def
    A llvm/include/llvm/TargetParser/IntelGPUTargetParser.h
    M llvm/include/llvm/TargetParser/PPCTargetParser.def
    M llvm/include/llvm/TargetParser/PPCTargetParser.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/include/module.modulemap
    M llvm/lib/Analysis/CaptureTracking.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/CodeGen/MachineCycleAnalysis.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/HTTP/HTTPClient.cpp
    M llvm/lib/IR/CycleInfo.cpp
    M llvm/lib/SandboxIR/Value.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
    M llvm/lib/Target/SystemZ/SystemZXPLINKAsmPrinter.cpp
    M llvm/lib/TargetParser/CMakeLists.txt
    A llvm/lib/TargetParser/IntelGPUTargetParser.cpp
    M llvm/lib/TargetParser/PPCTargetParser.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.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/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Analysis/CostModel/AArch64/loop_dependence_mask.ll
    M llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
    M llvm/test/Analysis/CostModel/RISCV/cttz_elts.ll
    M llvm/test/Analysis/ValueTracking/phi-known-nonzero.ll
    A llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-store-hint.ll
    A llvm/test/CodeGen/AArch64/Atomics/aarch64-relaxed-store-hint.ll
    A llvm/test/CodeGen/AArch64/Atomics/atomic-store-pseudo.mir
    M llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators.ll
    M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract-nosve.ll
    A llvm/test/CodeGen/AArch64/neon-get-active-lane-mask.ll
    A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-i64-sm65.ll
    A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-texture-nonscalar.ll
    A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-texture-unsupported-kind.ll
    A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-texture.ll
    A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange-unsupported-result.ll
    A llvm/test/CodeGen/DirectX/ResourceAtomicCompareExchange.ll
    M llvm/test/CodeGen/MLRegAlloc/dev-mode-logging.ll
    M llvm/test/CodeGen/NVPTX/arbitrary-fp-to-float.ll
    M llvm/test/CodeGen/NVPTX/machine-cse-predicate-inversion-multiple-users.ll
    M llvm/test/CodeGen/NVPTX/st_bulk.ll
    A llvm/test/CodeGen/NVPTX/st_bulk_i32.ll
    A llvm/test/CodeGen/SPIRV/structurizer/branch-no-switch.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.for.short-circuited-cond.ll
    M llvm/test/CodeGen/SPIRV/structurizer/cf.while.short-circuited-cond.ll
    M llvm/test/CodeGen/SystemZ/soft-float-05.ll
    M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
    M llvm/test/CodeGen/X86/masked_compressstore.ll
    M llvm/test/ObjectYAML/MachO/export_trie_lc_dyld_exports_trie.yaml
    M llvm/test/ObjectYAML/MachO/export_trie_lc_dyld_info_only.yaml
    M llvm/test/ObjectYAML/MachO/function_starts.yaml
    M llvm/test/TableGen/AsmPredicateCombiningRISCV.td
    M llvm/test/TableGen/CompressInstEmitter/suboperands.td
    M llvm/test/TableGen/RegClassByHwModeCompressPat.td
    M llvm/test/Transforms/GCOVProfiling/exit-block.ll
    M llvm/test/Transforms/GCOVProfiling/function-numbering.ll
    A llvm/test/Transforms/InstCombine/extractelement-strided-ptr-vector.ll
    M llvm/test/Transforms/LoadStoreVectorizer/batch-aa-compile-time.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/execution-frequencies-match-bfi.ll
    M llvm/test/Transforms/LoopVectorize/early-exit-live-out-extract-lane.ll
    M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar.ll
    M llvm/test/Transforms/PGOProfile/indirect_call_profile.ll
    A llvm/test/Transforms/SCCP/select-struct.ll
    A llvm/test/Transforms/SLPVectorizer/AMDGPU/complex-mul-fma.ll
    M llvm/test/tools/llvm-cov/gcov/basic.test
    M llvm/test/tools/llvm-readobj/COFF/codeview-merging-ghash.test
    A llvm/test/tools/llvm-reduce/mir/parallel-jobs-unsupported.mir
    M llvm/test/tools/llvm-tli-checker/ifuncs.yaml
    M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
    M llvm/test/tools/obj2yaml/help.test
    M llvm/test/tools/split-file/help.test
    M llvm/test/tools/yaml2obj/help.test
    M llvm/tools/llvm-cov/CMakeLists.txt
    A llvm/tools/llvm-cov/GcovOpts.td
    M llvm/tools/llvm-cov/gcov.cpp
    M llvm/tools/llvm-reduce/deltas/Delta.cpp
    M llvm/tools/llvm-reduce/deltas/Delta.h
    M llvm/tools/llvm-reduce/llvm-reduce.cpp
    M llvm/tools/obj2yaml/CMakeLists.txt
    A llvm/tools/obj2yaml/Opts.td
    M llvm/tools/obj2yaml/obj2yaml.cpp
    M llvm/tools/yaml2obj/CMakeLists.txt
    A llvm/tools/yaml2obj/Opts.td
    M llvm/tools/yaml2obj/yaml2obj.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
    M llvm/unittests/TargetParser/CMakeLists.txt
    A llvm/unittests/TargetParser/IntelGPUTargetParserTest.cpp
    M llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
    M llvm/utils/TableGen/CompressInstEmitter.cpp
    M llvm/utils/gn/secondary/llvm/tools/llvm-cov/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/obj2yaml/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/yaml2obj/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/split-file/BUILD.gn
    M llvm/utils/split-file/CMakeLists.txt
    A llvm/utils/split-file/Opts.td
    M llvm/utils/split-file/split-file.cpp
    M mlir/include/mlir-c/IR.h
    M mlir/include/mlir/Conversion/OpenACCToLLVM/ACCToLLVMUtils.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
    M mlir/lib/CAPI/IR/IR.cpp
    M mlir/lib/Conversion/OpenACCToLLVM/ACCExecutableDirectivePatterns.cpp
    M mlir/lib/Conversion/OpenACCToLLVM/ACCToLLVMUtils.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
    M mlir/lib/Dialect/LLVMIR/IR/XeVMDialect.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineLowering.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
    M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/CAPI/ir.c
    M mlir/test/Conversion/OpenACCToLLVM/data.mlir
    M mlir/test/Conversion/OpenACCToLLVM/wait.mlir
    M mlir/test/Dialect/ControlFlow/one-shot-bufferize-analysis.mlir
    M mlir/test/Dialect/LLVMIR/nvvm.mlir
    A mlir/test/Dialect/LLVMIR/xevm-canonicalize.mlir
    M mlir/test/Dialect/OpenACC/acc-routine-lowering.mlir
    M mlir/test/Dialect/Vector/vector-broadcast-lowering-transforms.mlir
    A mlir/test/Dialect/XeGPU/sg-to-lane-distribute-convert-layout-slice.mlir
    M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_quantizeA_F4.mlir
    M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-nowait.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-llvm.mlir
    A mlir/test/Target/LLVMIR/omptarget-target-data-source-loc-nodebug.mlir
    A mlir/test/Target/LLVMIR/omptarget-target-region-source-loc-nodebug.mlir
    A mlir/test/Target/LLVMIR/omptarget-target-region-source-loc.mlir
    M polly/docs/conf.py
    M polly/lib/Analysis/ScopBuilder.cpp
    M polly/lib/Analysis/ScopInfo.cpp
    A polly/test/CodeGen/broken-dominance-escaping-scalar.ll
    M utils/bazel/.bazelrc
    M utils/bazel/.bazelversion
    M utils/bazel/MODULE.bazel
    M utils/bazel/MODULE.bazel.lock
    M utils/bazel/llvm-project-overlay/clang-tools-extra/unittests/BUILD.bazel
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/flang-rt/lib/runtime/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lld/test/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch2/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch3/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/transform/Ch4/BUILD.bazel
    M utils/bazel/llvm-project-overlay/third-party/BUILD.bazel
    M utils/bazel/llvm-project-overlay/third-party/cc_library_wrapper.bzl
    M utils/docs/llvm_sphinx/__init__.py

  Log Message:
  -----------
  Rebase

Created using spr 1.3.7


Compare: https://github.com/llvm/llvm-project/compare/8cb8923a4f2a...dfdd1b4c043a

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