[all-commits] [llvm/llvm-project] 4bf4bc: [LV] Regen RISC-V vp-intrinics test with UTC (NFC)...

Vijay Kandiah via All-commits all-commits at lists.llvm.org
Thu Sep 10 17:59:40 PDT 2026


  Branch: refs/heads/users/wangleiat/spr/main.loongarch-generate-more-pcrel-relocations-for-resolvable-sub-symbols
  Home:   https://github.com/llvm/llvm-project
  Commit: 4bf4bc65d198e54add11ce8e0bbae7ad51cbb0f8
      https://github.com/llvm/llvm-project/commit/4bf4bc65d198e54add11ce8e0bbae7ad51cbb0f8
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll

  Log Message:
  -----------
  [LV] Regen RISC-V vp-intrinics test with UTC (NFC) (#221145)


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

  Changed paths:
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    A llvm/test/Transforms/PGOProfile/icp_callee_unnamed_addr.ll
    A llvm/test/Transforms/PGOProfile/icp_vtable_cmp_unnamed_addr.ll

  Log Message:
  -----------
  [Transforms][Utils] Strip unnamed_addr on indirect call promotion (#221121)

This patch strips unnamed_addr from the target symbol and vtable when
call promotion introduces an equality comparison.

When promoting an indirect call site, ICP introduces an equality check
comparing the called value against the target:

  if (fp == &callee)
    callee();
  else
    fp();

This address comparison makes the callee's address significant.  If the
callee symbol has unnamed_addr, AsmPrinter skips emitting it into the
.llvm_addrsig table.  Consequently, the linker (under -icf=safe)
considers the symbol safe to merge with another identical function.

This can happen in practice with AutoFDO if an indirect call site is
profiled against an unrelated function whose machine code was folded by
ICF in the profiled binary.  ICP then promotes the indirect call against
that wrong symbol.  If the linker folds the symbols again, the equality
check evaluates to true at runtime, directing execution into the wrong
branch.

By stripping unnamed_addr from the callee and vtable address points
during promotion, the symbols are recorded in the .llvm_addrsig table
and
kept unique by the linker, preventing safe ICF from merging them.

Thanks to Arthur Eubanks for the idea of stripping unnamed_addr.

Assisted-by: Antigravity


  Commit: 46dabd2f3a822a161b8b12191f8ba32b913a6de0
      https://github.com/llvm/llvm-project/commit/46dabd2f3a822a161b8b12191f8ba32b913a6de0
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

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

  Log Message:
  -----------
  [AArch64][GlobalISel] Fast-path simple common calls (NFC) (#217615)

Instrumentation of aarch64-O0-g CTMark shows the most common argument
and return types are pointer, i32, and i64, with Pointer the only common
flag.

Fast-path these values when they map directly to w0-w7/x0-x7 or w0/x0.
Fall back to the generic assignment machinery for all other cases.

Improves aarch64-O0-g CTMark geomean by -0.31%.

https://llvm-compile-time-tracker.com/compare.php?from=a49d90627bd44d2e76c20b9d4e0cafb339fb806f&to=10b3020aca621c4d21158180efe6d798b3edd22a&stat=instructions%3Au

Assisted-by: codex


  Commit: 230ba1212a9b3383f2eefe7c8730a9eb69ee7f22
      https://github.com/llvm/llvm-project/commit/230ba1212a9b3383f2eefe7c8730a9eb69ee7f22
  Author: Peter Hawkins <phawkins at google.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
    M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir

  Log Message:
  -----------
  [mlir][complex] Avoid cancellation in tanh denominator (#221014)

In ComplexToStandard lowering of `complex.tanh`, the denominator
expansion includes an exponential term:
  $\text{denom} = \text{expm1}(2a) + \text{expm1}(-2a) + 4\cos^2(b)$

When $a$ is small, $\text{expm1}(2a) \approx 2a + 2a^2$ and
$\text{expm1}(-2a) \approx -2a + 2a^2$ have opposite signs. Adding them
cancels the leading $\pm 2a$ terms, resulting in loss of precision.
Near poles ($b \approx \pi/2$), $4\cos^2(b)$ vanishes and this
cancellation
dominates the denominator, causing large relative errors in both real
and imaginary parts.

Since $-(e^{2a} - 1)(e^{-2a} - 1) = e^{2a} + e^{-2a} - 2 =
\text{expm1}(2a) + \text{expm1}(-2a)$,
this term can be evaluated via multiplication instead:
$\text{denom} = -\text{expm1}(2a) \cdot \text{expm1}(-2a) + 4\cos^2(b)$

This eliminates cancellation as $a \to 0$ while reusing the pre-existing
$\text{expm1}(2a)$ and $\text{expm1}(-2a)$ values from the numerator
without
requiring additional transcendental evaluations.

Assisted-by: Gemini Flash 3.8


  Commit: 53d6bc623dc5d254dbfc3fa24177b4de54970797
      https://github.com/llvm/llvm-project/commit/53d6bc623dc5d254dbfc3fa24177b4de54970797
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M lldb/test/API/functionalities/breakpoint/breakpoint_on_lambda_capture/TestBreakOnLambdaCapture.py

  Log Message:
  -----------
  [lldb][test] Disable TestBreakOnLambdaCapture.py on Windows on Arm (#220944)

Something is wrong with the breakpoint handling which makes it flakey on
our bot.

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


  Commit: 5cf7ac65133ec30e2a7333585961feae5b224983
      https://github.com/llvm/llvm-project/commit/5cf7ac65133ec30e2a7333585961feae5b224983
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M flang/lib/Semantics/compute-offsets.cpp
    A flang/test/Semantics/common-block-size.f90
    A flang/test/Semantics/oversized-storage-sequence.f90

  Log Message:
  -----------
  [flang][Semantics] reject COMMON/EQUIVALENCE/derived types whose size does not fit in int64 (#219976)

Semantics was not enforcing the overall byte sizes when of
common block and equivalence storage when building the related symbols
and computing offsets for members. The size and offset silently
overflow, leading to computing inconsistent offsets in lowering and
aborting compilation with internal errors like "error: 'hlfir.declare'
op storage offset exceeds the storage size".

This patch limits the storage of such objects to what can fit a signed
64 bit integer (like gfortran/ifx/classic flang).

Assisted-by: AI


  Commit: c879c054965d191b5d8df1f5da4c36f6ac6dd37b
      https://github.com/llvm/llvm-project/commit/c879c054965d191b5d8df1f5da4c36f6ac6dd37b
  Author: Andrew Lazarev <alazarev at google.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/docs/AddressSanitizer.md
    M clang/docs/LeakSanitizer.md
    M clang/docs/ThreadSanitizer.md

  Log Message:
  -----------
  [clang][docs] Document compile-time sanitizer suppressions and options (#218793)

Document compile-time default suppressions
(`__<sanitizer>_default_suppressions`) and default options
(`__<sanitizer>_default_options`) across AddressSanitizer,
LeakSanitizer, and ThreadSanitizer. Document all supported suppression
types for ASan and TSan, programmatic leak checking interfaces for LSan,
and explain independent options evaluation when ASan runs with
integrated LSan/UBSan.

Fixes https://github.com/google/sanitizers/issues/1628

**AI tool usage:** An AI assistant was used to help research and draft
the documentation updates.


  Commit: 258507f53326dcf04bfa8663e286fa8f503d4e88
      https://github.com/llvm/llvm-project/commit/258507f53326dcf04bfa8663e286fa8f503d4e88
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/LowerTypeTests/cfi-jumptable-hotness-summary.ll
    A llvm/test/Transforms/LowerTypeTests/cfi-jumptable-hotness.ll

  Log Message:
  -----------
  [NFC][LowerTypeTests] Add tests for CFI jump table hotness ordering (#221045)

Add pre-commit test coverage establishing the baseline CFI jump table
layout before implementing hotness-based reordering in
https://github.com/llvm/llvm-project/pull/221046:
- cfi-jumptable-hotness.ll: checks jump table entry layout with IR
  function attributes (hot/cold) and entry count profile metadata.
- cfi-jumptable-hotness-summary.ll: checks jump table entry layout
  with ThinLTO module summary call edge hotness types (using text
  summary IR and split-file).

These tests verify the baseline declaration-order layout where functions
within each strict type are placed without hotness consideration, making
the subsequent reordering diff explicit and easy to review.

PR Stack:
* https://github.com/llvm/llvm-project/pull/220776
* https://github.com/llvm/llvm-project/pull/221043
* https://github.com/llvm/llvm-project/pull/221044
* ➤ https://github.com/llvm/llvm-project/pull/221045
* https://github.com/llvm/llvm-project/pull/221046

Assisted-by: Gemini


  Commit: 0a9c408adc3f4cb5dfa6fe90871c96ed87f97a0b
      https://github.com/llvm/llvm-project/commit/0a9c408adc3f4cb5dfa6fe90871c96ed87f97a0b
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/i386/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/pwd.yaml
    M libc/src/pwd/CMakeLists.txt
    M libc/src/pwd/endpwent.cpp
    M libc/src/pwd/flat_file_db.h
    M libc/src/pwd/getpwent.cpp
    A libc/src/pwd/getpwnam_r.cpp
    A libc/src/pwd/getpwnam_r.h
    A libc/src/pwd/getpwuid_r.cpp
    A libc/src/pwd/getpwuid_r.h
    M libc/src/pwd/pwd_utils.cpp
    M libc/src/pwd/pwd_utils.h
    M libc/src/pwd/setpwent.cpp
    M libc/test/src/pwd/CMakeLists.txt
    M libc/test/src/pwd/flat_file_db_test.cpp
    M libc/test/src/pwd/getpwent_test.cpp
    A libc/test/src/pwd/getpwnam_r_test.cpp
    A libc/test/src/pwd/getpwuid_r_test.cpp
    A libc/test/src/pwd/pwd_test_utils.h

  Log Message:
  -----------
  [libc] Add getpwnam_r and getpwuid_r entrypoints (#220833)

Added reentrant getpwnam_r and getpwuid_r functions using the
FlatFileDatabase lookup engine.

* Implemented getpwnam_r and getpwuid_r entrypoints
* Added find_by_name and find_by_uid lookups under namespace passwd
* Added function specifications to include/pwd.yaml
* Registered entrypoints in config/linux/*/entrypoints.txt
* Added unit tests in libc/test/src/pwd/getpwnam_r_test.cpp and
libc/test/src/pwd/getpwuid_r_test.cpp

Assisted-by: Automated tooling, human reviewed.


  Commit: dcdd1bc13db6af3d2fbed6ebe3d296d28107e77f
      https://github.com/llvm/llvm-project/commit/dcdd1bc13db6af3d2fbed6ebe3d296d28107e77f
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    A clang/test/Modules/pr96423.cppm

  Log Message:
  -----------
  [C++20] [Modules] Identify the tag redecl through Using (#221147)

Close https://github.com/llvm/llvm-project/issues/96423

We've already have some logics to merge the redecls. But if the previous
decls are found through using decl, we can't merge them right now. As
the reproducer shows. The using decl is common in modules as a common
method to wrap headers into a module.

The fix is simple too. If the existing check fails, we'll check if the
found one is a using decl, if yes, we will reuse the existing check with
the target decl for using decl.


  Commit: 6410f94750dd45d6047f99c05288d51a006857a9
      https://github.com/llvm/llvm-project/commit/6410f94750dd45d6047f99c05288d51a006857a9
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ADT/FoldingSet.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/unittests/ADT/FoldingSet.cpp

  Log Message:
  -----------
  [ADT] Remove the TempID parameter from FoldingSetTrait::Equals. NFC (#221144)

Let the default implementation declare its own local, so an override
that compares against the node's fields need not accept an unused
FoldingSetNodeID.

Aided by Opus 5


  Commit: fbdfb3319bd9ff01d55fd4e1a8c4cf5386082dbf
      https://github.com/llvm/llvm-project/commit/fbdfb3319bd9ff01d55fd4e1a8c4cf5386082dbf
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll

  Log Message:
  -----------
  [RISCV] Remove -tail-folding-policy=dont-fold-tail for partial reduction tests (#221159)

After #205741, partial reductions with EVL tail folding is now
supported.


  Commit: 35b959ab1b7e8204467c4b7f63b2df1dce355db0
      https://github.com/llvm/llvm-project/commit/35b959ab1b7e8204467c4b7f63b2df1dce355db0
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/VPlan/buildvector-first-lane-only.ll
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll

  Log Message:
  -----------
  [LV] Enable the exit value optimization via SCEV for tail folding.  (#210928)

Extend optimizeLatchExitIVUserViaSCEV to also match the tail-folding
live-out extraction pattern. This lets the SCEV-based final-value
computation apply under tail folding as well, avoiding unnecessary
vector widening of induction variables that are only used outside the
loop.

Based on #195059


  Commit: 91865d65b834b6908c8cfd4e8772a612afec47a7
      https://github.com/llvm/llvm-project/commit/91865d65b834b6908c8cfd4e8772a612afec47a7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Target/Mips/MipsInstrInfo.cpp

  Log Message:
  -----------
  [Mips] Fix instruction size for unfinalized bundles (#220953)

It looks like Mips uses unfinalized bundles (i.e. there is no leading
BUNDLE) for delay slots. While proper delay slots are covered by the
hasDelaySlot() case, things like forbidden slots and load delay slots
are not. Make sure we report the correct size for these.

Part of enabling instruction size verification by default.


  Commit: 7976796b120ad03c50f532ba4e647518fa2d8c11
      https://github.com/llvm/llvm-project/commit/7976796b120ad03c50f532ba4e647518fa2d8c11
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/darwin/aarch64/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/freebsd/x86_64/entrypoints.txt
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/nvptx/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/shared/math/fmaximum_numf128.h
    M libc/shared/math/fminimum_numf128.h
    M libc/src/__support/math/CMakeLists.txt
    M libc/src/__support/math/fmaximum_numf128.h
    M libc/src/__support/math/fminimum_numf128.h
    M libc/src/math/fmaximum_numf128.h
    M libc/src/math/fminimum_numf128.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/fmaximum_numf128.cpp
    M libc/src/math/generic/fminimum_numf128.cpp
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/FMaximumNumTest.h
    M libc/test/src/math/smoke/FMinimumNumTest.h
    M libc/test/src/math/smoke/fmaximum_numf128_test.cpp
    M libc/test/src/math/smoke/fminimum_numf128_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel

  Log Message:
  -----------
  [libc] Make fmaximum_num/fminimum_num functions use the emulated float128 type (#217409)


  Commit: 5428ad54f384186224053f39fa84ba5590172f02
      https://github.com/llvm/llvm-project/commit/5428ad54f384186224053f39fa84ba5590172f02
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/test/Analysis/ScalarEvolution/different-loops-recs.ll
    A llvm/test/Analysis/ScalarEvolution/exit-value-nowrap-flags.ll
    M llvm/test/Analysis/ScalarEvolution/flags-from-poison-noautogen.ll
    M llvm/test/Analysis/ScalarEvolution/flags-from-poison.ll
    M llvm/test/Analysis/ScalarEvolution/increasing-or-decreasing-iv.ll
    M llvm/test/Analysis/ScalarEvolution/infer-prestart-no-wrap.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-operand-order.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
    M llvm/test/Analysis/ScalarEvolution/nsw-offset-assume.ll
    M llvm/test/Analysis/ScalarEvolution/nsw-offset.ll
    M llvm/test/Analysis/ScalarEvolution/nsw.ll
    M llvm/test/Analysis/ScalarEvolution/ptrtoint-special-pointers.ll
    M llvm/test/Analysis/ScalarEvolution/ptrtoint.ll
    M llvm/test/Analysis/ScalarEvolution/ranges.ll
    M llvm/test/Analysis/ScalarEvolution/sdiv.ll
    M llvm/test/Analysis/ScalarEvolution/sext-add-inreg-loop.ll
    M llvm/test/Analysis/ScalarEvolution/srem.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count-scalable-stride.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count15.ll
    A llvm/test/Transforms/IndVarSimplify/exit-value-nowrap-flags.ll

  Log Message:
  -----------
  [SCEV] Propagate a recurrence's nuw flag to its exit value. (#217378)

A recurrence's exit value is its closed form Start + BTC * Step. The sum
does not wrap, if the recurrence does not wrap: the recurrence reached
iteration BTC, so the value it computes there is the value the recurrence
had, and that did not wrap.

The flags are attached to the returned use, because they only apply to
this specific expression we evaluated for the exit value, no other,
equivalent SCEVs.

Alive2 Proof: https://alive2.llvm.org/ce/z/0vSRq-

This on its own has small impact on real world code (only retained some
additional flags in most cases): 
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/962, but is
the first end-to-end use of SCEVUse.


  Commit: 739a15aeb85be687403ea97760961d9cd484f561
      https://github.com/llvm/llvm-project/commit/739a15aeb85be687403ea97760961d9cd484f561
  Author: Joshua Rodriguez <josh.rodriguez at arm.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64-trn.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Add support for shuffle(v, undef) -> trn(v, v) transformation (#220914)

Stacked PR: 3/3. Preceded by
https://github.com/llvm/llvm-project/pull/220535.

In SDAG, the aarch64-isel phase checks if vector shuffles can be
expressed as trns. To do this, it checks shuffles of type shuffle(v, v),
and shuffle(v, undefined).
GlobalISel previously only checked shuffles of type shuffle(v, v). Add a
check for the situation where one of the operands is undefined.

Notes:
A trn takes two vectors, places the even-indexed elements in the bottom
half, and the odd-indexed elements in the top half.
e.g: `trn <0, 1, 2, 3>, <4, 5, 6, 7> => <0, 4, 2, 6, 1, 5, 3, 7>`.
A trn1 takes the bottom half of the result (aka. the even-indexed
elements)
e.g: `trn1 <0, 1, 2, 3>, <4, 5, 6, 7> => <0, 4, 2, 6>`. 

A shuffle is a generic MIR opcode that takes 2 vectors, and places
elements of each into a single vector. The elements are selected based
on a mask.
e.g: `G_SHUFFLE_VECTOR <A, B, C, D>, <E, F, G, H>, <0, 4, 6, 3> => <A,
E, G, D>`.
For certain masks, a shuffle can be represented as a trn.
e.g: ```G_SHUFFLE_VECTOR <A, B, C, D>, <A, B, C, D>, <0, 4, 2, 6>
 => trn1 <A, B, C, D>, <A, B, C, D>
 => <A, A, C, C>```.


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

  Changed paths:
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp

  Log Message:
  -----------
  [ARM] Fix instruction sizes for PATCHABLE opcodes (#220949)

Report the size of the xray sled instead of zero.

Part of enabling instruction size verification by default.


  Commit: 09e076eca3e12829950339b289c8de6ffd32175d
      https://github.com/llvm/llvm-project/commit/09e076eca3e12829950339b289c8de6ffd32175d
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/multiple-result-intrinsics.ll

  Log Message:
  -----------
  [VPlan] Don't widen extractvalue with single scalar operand (#221146)

If the struct to extract isn't widened, e.g. because it's fed into an
address computation for an interleave, don't widen the extractvalue. A
single scalar extractvalue can still be executed ok.

Fixes a crash reported in
https://github.com/llvm/llvm-project/pull/219941#issuecomment-5535484384


  Commit: 4b9cfe08e53decbf4e49ad15fa9eca206a2864c6
      https://github.com/llvm/llvm-project/commit/4b9cfe08e53decbf4e49ad15fa9eca206a2864c6
  Author: Ömer Sinan Ağacan <omer at osa1.net>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M compiler-rt/test/rtsan/syscall.cpp

  Log Message:
  -----------
  [test] Update temp file path used in rtsan/syscall to allow concurrent testing (#220978)


  Commit: c3387469da6f7478df8bd36750698080271b53e7
      https://github.com/llvm/llvm-project/commit/c3387469da6f7478df8bd36750698080271b53e7
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/darwin/aarch64/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/freebsd/x86_64/entrypoints.txt
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/nvptx/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/shared/math/fmaximum_magf128.h
    M libc/shared/math/fminimum_magf128.h
    M libc/src/__support/math/CMakeLists.txt
    M libc/src/__support/math/fmaximum_magf128.h
    M libc/src/__support/math/fminimum_magf128.h
    M libc/src/math/fmaximum_magf128.h
    M libc/src/math/fminimum_magf128.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/fmaximum_magf128.cpp
    M libc/src/math/generic/fminimum_magf128.cpp
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/FMaximumMagTest.h
    M libc/test/src/math/smoke/FMinimumMagTest.h
    M libc/test/src/math/smoke/fmaximum_magf128_test.cpp
    M libc/test/src/math/smoke/fminimum_magf128_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel

  Log Message:
  -----------
  [libc] Make fmaximum_mag/fminimum_mag functions use the emulated float128 type (#217539)


  Commit: d79050cca825cf70a6657e32f8b94a88767ccf30
      https://github.com/llvm/llvm-project/commit/d79050cca825cf70a6657e32f8b94a88767ccf30
  Author: ZERICO2005 <zerico2005 at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/fp-const-fold.ll
    M llvm/test/CodeGen/AArch64/isinf.ll
    M llvm/test/CodeGen/AArch64/known-never-nan.ll
    M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
    M llvm/test/CodeGen/AMDGPU/debug-value2.ll
    M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
    M llvm/test/CodeGen/AMDGPU/fp-classify.ll
    M llvm/test/CodeGen/AMDGPU/fract-match.ll
    M llvm/test/CodeGen/AMDGPU/known-never-nan.ll
    M llvm/test/CodeGen/AMDGPU/schedule-if-2.ll
    M llvm/test/CodeGen/AMDGPU/select-cmp-shared-constant-fp.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll
    M llvm/test/CodeGen/NVPTX/reg-copy.ll
    M llvm/test/CodeGen/PowerPC/fp-classify.ll
    M llvm/test/CodeGen/PowerPC/p10-splatImm.ll
    M llvm/test/CodeGen/RISCV/double-zfa.ll
    M llvm/test/CodeGen/SPIRV/literals.ll
    M llvm/test/CodeGen/SystemZ/tdc-03.ll
    M llvm/test/CodeGen/SystemZ/tdc-05.ll
    M llvm/test/CodeGen/SystemZ/tdc-06.ll
    M llvm/test/CodeGen/WebAssembly/immediates.ll
    M llvm/test/CodeGen/X86/2010-05-25-DotDebugLoc.ll
    M llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
    M llvm/test/CodeGen/X86/coff-fp-section-name.ll
    M llvm/test/CodeGen/X86/compare-inf.ll
    M llvm/test/CodeGen/X86/constpool.ll
    M llvm/test/CodeGen/X86/fp-undef.ll
    M llvm/test/CodeGen/X86/fp128-cast.ll
    M llvm/test/Transforms/Attributor/nofpclass-fmul.ll
    M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
    M llvm/test/Transforms/Attributor/nofpclass-nan-fmul.ll
    M llvm/test/Transforms/Attributor/nofpclass-select.ll
    M llvm/test/Transforms/CodeGenPrepare/AArch64/fpclass-test.ll
    M llvm/test/Transforms/CodeGenPrepare/RISCV/fpclass-test.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/fpclass-test.ll
    M llvm/test/Transforms/DCE/calls-errno.ll
    M llvm/test/Transforms/ExpandIRInsts/AMDGPU/frem-inf.ll
    M llvm/test/Transforms/GVNHoist/hoist-call.ll
    M llvm/test/Transforms/Inline/simplify-instruction-computeKnownFPClass-context.ll
    M llvm/test/Transforms/InstCombine/2007-03-25-BadShiftMask.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/fma_legacy.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/fmul_legacy.ll
    M llvm/test/Transforms/InstCombine/atomicrmw.ll
    M llvm/test/Transforms/InstCombine/bitcast-select-const-vector.ll
    M llvm/test/Transforms/InstCombine/cast-int-fcmp-eq-0.ll
    M llvm/test/Transforms/InstCombine/constant-fold-nextafter.ll
    M llvm/test/Transforms/InstCombine/constant-fold-nexttoward-fp128.ll
    M llvm/test/Transforms/InstCombine/constant-fold-nexttoward-ppc-fp128.ll
    M llvm/test/Transforms/InstCombine/constant-fold-nexttoward-x86-fp80.ll
    M llvm/test/Transforms/InstCombine/erf.ll
    M llvm/test/Transforms/InstCombine/fcmp-range-check-idiom.ll
    M llvm/test/Transforms/InstCombine/fcmp-select.ll
    M llvm/test/Transforms/InstCombine/fdim.ll
    M llvm/test/Transforms/InstCombine/fmod.ll
    M llvm/test/Transforms/InstCombine/fneg.ll
    M llvm/test/Transforms/InstCombine/fold-calls.ll
    M llvm/test/Transforms/InstCombine/fold-fcmp-trunc.ll
    M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
    M llvm/test/Transforms/InstCombine/fpclass-from-dom-cond.ll
    M llvm/test/Transforms/InstCombine/frem-inf.ll
    M llvm/test/Transforms/InstCombine/ilogb.ll
    M llvm/test/Transforms/InstCombine/intrinsic-select.ll
    M llvm/test/Transforms/InstCombine/is_fpclass.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/test/Transforms/InstCombine/log1p.ll
    M llvm/test/Transforms/InstCombine/logb.ll
    M llvm/test/Transforms/InstCombine/phi.ll
    M llvm/test/Transforms/InstCombine/pow-1.ll
    M llvm/test/Transforms/InstCombine/pow-exp.ll
    M llvm/test/Transforms/InstCombine/select-fcmp-fmul-zero-absorbing-value.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fdiv.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/AMDGPU/cos.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/AMDGPU/fract.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/AMDGPU/sin.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/trunc.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/atan-intrinsic.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/fma.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/fp-undef.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/sinh-cosh-intrinsics.ll
    M llvm/test/Transforms/InstSimplify/assume-fcmp-constant-implies-class.ll
    M llvm/test/Transforms/InstSimplify/call.ll
    M llvm/test/Transforms/InstSimplify/canonicalize.ll
    M llvm/test/Transforms/InstSimplify/constfold-constrained.ll
    M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
    M llvm/test/Transforms/InstSimplify/floating-point-compare.ll
    M llvm/test/Transforms/InstSimplify/fminmax-folds.ll
    M llvm/test/Transforms/InstSimplify/fp-undef-poison.ll
    M llvm/test/Transforms/InstSimplify/fptoi-sat.ll
    M llvm/test/Transforms/InstSimplify/known-never-infinity.ll
    M llvm/test/Transforms/InstSimplify/known-never-nan.ll
    M llvm/test/Transforms/InstSimplify/logic-of-fcmps.ll
    M llvm/test/Transforms/InstSimplify/pr122582.ll
    M llvm/test/Transforms/LoopUnroll/runtime-unroll-reductions-min-max.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
    M llvm/test/Transforms/Reassociate/pr42349.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-addsub-reorder.ll
    M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
    M llvm/unittests/Analysis/ValueTrackingTest.cpp

  Log Message:
  -----------
  [LLVM][NFC] Use +inf/-inf syntax for all floating point infinity literals (#221056)

Follow up to https://github.com/llvm/llvm-project/pull/221019

Replaces all remaining legacy `0x*` (double literal) encodings with the
canonical `+inf` and `-inf` syntax for positive/negative infinity
literals.
The following files and folders were ignored:
```
llvm/test/Assembler
llvm/test/MC/LoongArch/Macros/macros-li.s
llvm/test/CodeGen/X86/is_fpclass.ll
llvm/test/CodeGen/AMDGPU/branch-relaxation-debug-info.mir
llvm/test/CodeGen/ARM/misched-prevent-erase-history-of-subunits.mir
```

```sh
rg -l -0 ' 0x7FF0000000000000\b' llvm \
  | xargs -0 perl -pi -e 's/ 0x7FF0000000000000\b/ +inf/g'

rg -l -0 ' 0x7ff0000000000000\b' llvm \
  | xargs -0 perl -pi -e 's/ 0x7ff0000000000000\b/ +inf/g'

rg -l -0 ' 0xFFF0000000000000\b' llvm \
  | xargs -0 perl -pi -e 's/ 0xFFF0000000000000\b/ -inf/g'

rg -l -0 ' 0xfff0000000000000\b' llvm \
  | xargs -0 perl -pi -e 's/ 0xfff0000000000000\b/ -inf/g'
```

I believe this removes all relevant uses of the legacy infinity
hexadecimal double literal
```
zerico at DESKTOP-K3KRQL8:~/programming/llvm-project$ rg "0x[7fF][fF][fF]0000000000000" llvm
llvm/unittests/ADT/APFloatTest.cpp
5485:      std::make_tuple(0x7ff8000000000000ull, 0, 0x7ff0000000000000ull, 0,
5491:      std::make_tuple(0x7ff0000000000000ull, 0, 0x7ff0000000000000ull, 0,
5494:      std::make_tuple(0x7ff0000000000000ull, 0, 0, 0, APFloat::fcNaN,
5497:      std::make_tuple(0x7ff0000000000000ull, 0, 0x3ff0000000000000ull, 0,
5568:                      0x7ff0000000000000ull, 0, APFloat::rmNearestTiesToEven),
6557:      std::make_tuple(0x7ff0000000000000ull, 0, 0x7ff0000000000000ull, 0,
6686:      std::make_tuple(0x7ff0000000000000ull, 0, 0x7ff0000000000000ull, 0, true),

llvm/test/Assembler/2002-04-07-InfConstant.ll
8:        %tmp = fmul float 0x7FF0000000000000, 1.000000e+01               ; <float> [#uses=1]

llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
496:    if (static_cast<uint64_t>(OldOpnd->getImm()) == /*+inf=*/0x7FF0000000000000)
501:    if (static_cast<uint64_t>(OldOpnd->getImm()) == /*-inf=*/0xFFF0000000000000)

llvm/test/MC/LoongArch/Macros/macros-li.s
69:li.d $a0, 0x7ff0000000000000

llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
416:      Mask ^= 0xFFF0000000000000ULL;

llvm/test/CodeGen/X86/is_fpclass.ll
1131:; X64-GENERIC-NEXT:    movabsq $9218868437227405312, %rax # imm = 0x7FF0000000000000
1141:; X64-NDD-NEXT:    movabsq $9218868437227405312, %rcx # imm = 0x7FF0000000000000
1189:; X64-GENERIC-NEXT:    movabsq $-4503599627370496, %rax # imm = 0xFFF0000000000000
1201:; X64-NDD-NEXT:    movabsq $-4503599627370496, %rcx # imm = 0xFFF0000000000000
1294:; X64-GENERIC-NEXT:    movabsq $9218868437227405312, %rax # imm = 0x7FF0000000000000
1308:; X64-NDD-NEXT:    movabsq $9218868437227405312, %rdx # imm = 0x7FF0000000000000
1368:; X64-GENERIC-NEXT:    movabsq $9218868437227405312, %rax # imm = 0x7FF0000000000000
1378:; X64-NDD-NEXT:    movabsq $9218868437227405312, %rcx # imm = 0x7FF0000000000000

llvm/test/CodeGen/AMDGPU/branch-relaxation-debug-info.mir
37:    %tmp6 = fcmp oeq float %tmp5, 0x7FF0000000000000

llvm/test/CodeGen/AArch64/masked-integer-compare.ll
28:  %sub = sub i64 %and, u0x7ff0000000000000

llvm/test/CodeGen/AArch64/is_fpclass.ll
204:; CHECK-GI-NEXT:    mov x8, #9218868437227405312 // =0x7ff0000000000000
233:; CHECK-GI-NEXT:    mov x8, #9218868437227405312 // =0x7ff0000000000000
264:; CHECK-GI-NEXT:    mov x8, #9218868437227405312 // =0x7ff0000000000000
293:; CHECK-GI-NEXT:    mov x8, #9218868437227405312 // =0x7ff0000000000000
546:; CHECK-SD-NEXT:    mov x8, #9218868437227405312 // =0x7ff0000000000000

llvm/test/CodeGen/AArch64/sve-vector-splat.ll
627:; CHECK-NEXT:    mov z0.d, #0x7ff0000000000000
699:; CHECK-NEXT:    mov z0.d, #0xfff0000000000000

llvm/test/CodeGen/AArch64/isinf.ll
68:; CHECK-GI-NEXT:    mov x8, #9218868437227405312 // =0x7ff0000000000000

llvm/test/CodeGen/ARM/misched-prevent-erase-history-of-subunits.mir
24:    value:           double 0x7FF0000000000000
zerico at DESKTOP-K3KRQL8:~/programming/llvm-project$ 
```


  Commit: 4cd5bc471aab3dbec38e6df4f9160ba860825a61
      https://github.com/llvm/llvm-project/commit/4cd5bc471aab3dbec38e6df4f9160ba860825a61
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    A llvm/test/Transforms/ConstraintElimination/or-disjoint.ll

  Log Message:
  -----------
  [ConstraintElim] Decompose 'or disjoint' like 'add nsw'. (#220990)

Use m_NSWAddLike instead of m_NSWAdd to also handle 'or disjoint' in
signed decomposition.

Leads to a number of additional folds end-to-end:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1188

Compile-time impact is in the noise in almost all cases except lencod
with ThinLTO. On current main, compile-time for the workload regresses
by ~3%, but almost all additional time is spent in SLP: after some
branches got removed and BBs got merged got bigger, and SLP compile-time
scales super-linearly in block size in some cases.

Together with https://github.com/llvm/llvm-project/pull/220968 the
regression goes down to ~+1.18% on the workload. I have 2 more prototype
patches that reduce the overhead by another ~0.30%. I am not sure if the
compile-time issue should block the patch.


https://llvm-compile-time-tracker.com/compare.php?from=ffe87191eb7090340f12056455104145670ed7e8&to=c073db66b714d3dd26c573ad8371ab8b117890a9&stat=instructions:u

Alive2 Proof: https://alive2.llvm.org/ce/z/ZVFEox

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


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll

  Log Message:
  -----------
  [AArch64] Fix vector.match lowering with VLS SVE (#220647)

With `vscale_range()` fixed-vector types > 128-bit can be legal. If
these are used as a `vector.match` needle we still need to split them as
match works per 128-bit segment.

Also, masks such as `v8i1` become legal for types other than i8 and i16,
so we can't assert the source operands are `i8` or `i16`.


  Commit: 8ad22e3d2cd4b9a3881d5354c8510a9cb83024b2
      https://github.com/llvm/llvm-project/commit/8ad22e3d2cd4b9a3881d5354c8510a9cb83024b2
  Author: Jim Lin <jim at andestech.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    R llvm/test/CodeGen/RISCV/andes-45-unaligned-scalar-mem.ll

  Log Message:
  -----------
  Revert "[RISCV] Andes: model fast unaligned accesses (#220756)" (#221178)

This reverts commit 358cafe41326e1e543b04048d5a200cf6f16ac8a.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-with-invariant-stores.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/replicating-load-store-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/reg-usage.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/vpinstruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr131359-dead-for-splice.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
    M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
    M llvm/test/Transforms/LoopVectorize/induction-cost.ll

  Log Message:
  -----------
  [VPlan] Use VPlan-based costs for all integer IVs. (#217766)

Continue the migration of induction costs to be completely VPlan-based.

VPScalarIVStepsRecipe now supports compute its cost for integer
inductions. Skip the legacy precomputeCost code for them.

The main change is that previously we never explicitly accounted for the
canonical IV, which we always generate. It was instead folded into
computing cost of the existing integer IVs with only scalar uses, which
in
most cases are actually served by the canonical IV.

The new code accounts for the cost explicitly, as
VPInstruction::computeCost returns 0 for all recipes w/o underlying
instruction.

Floating point and pointer induction will be handled as follow-ups to
keep the diffs managable and make it easier to track down regressions.

There are a few tests where cost decisions change, but overall they
should be more accurate:

-
llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll:
 - partial-reduce-with-invariant-stores.ll

   via the legacy cost model, we computed the cost of i64 vector
induction (which has cost of 2/4 for VF 4 and 8), while now we compute
the cost of the generated narrower wide IV and the canonical IV
increment.

 - epilogue-vectorization-fix-scalar-resume-values.ll
 -  predicated-costs.ll
 - pr81872.ll
 - ARM/optsize_minsize.ll
 - X86/conversion-cost.ll

   Now also account for the cost of the canonical IV increment

 - induction-costs-sve.ll

   legacy accounted for scalar increment and extend, now we only account
   for the actual canonical IV increment (w/o extend)

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

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


  Commit: 4763eb1118682fc5542a3d87b31e5ed738ef3ab8
      https://github.com/llvm/llvm-project/commit/4763eb1118682fc5542a3d87b31e5ed738ef3ab8
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    M mlir/test/Dialect/Linalg/invalid.mlir
    M mlir/test/Dialect/Linalg/loops.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir
    M mlir/test/Dialect/Linalg/roundtrip.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
    M mlir/test/Dialect/Linalg/transform-op-tile.mlir

  Log Message:
  -----------
  [mlir][linalg] Scaled contraction op (#203958)

A new contraction op with extended semantics to represent input scaling
using additional scale values as described by their corresponding
indexing maps.

RFC: https://discourse.llvm.org/t/rfc-linalg-scaled-contraction/91075

Assisted-by: Claude

Co-authored-by: Md Asghar Ahmad Shahid <md.asghar.ahmad.shahid at intel.com>


  Commit: 9be5dd730e28b21ee1c4d8e27cfb7ea7f92801d8
      https://github.com/llvm/llvm-project/commit/9be5dd730e28b21ee1c4d8e27cfb7ea7f92801d8
  Author: Kamlesh Kumar <kamlesh.kumar at arm.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [CodeGen] Add Action types for vector_(de)interleave ops (#220859)

Targets could not set lowering actions with setOperationAction for
Interleave operations due to dependence on type and factor. Instead of
requiring two API to find legality of operation one for type and one for
factor. It is cleaner to add a separate action type for these operation.


  Commit: 97cbc1e404b980edc58bfbcabb6f1c61793b624b
      https://github.com/llvm/llvm-project/commit/97cbc1e404b980edc58bfbcabb6f1c61793b624b
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/test/CIR/IR/cleanup-scope.cir
    M clang/test/CIR/IR/invalid-loop-cleanup.cir

  Log Message:
  -----------
  [CIR] Give the cleanup kind a proper standalone attribute spelling (#220878)

CleanupKindAttr overrode its assembly format to a bare `$value` so
`cir.cleanup.scope` would print `cleanup all`. The cost was that the
attribute had no readable standalone form, falling back to
`#cir<cleanup_kind all>`.

The `enum($attr)` operation directive removes the tradeoff. The
attribute
keeps CIR_EnumAttr's bracketed default and now spells
`#cir.cleanup<all>`,
while the operations ask for the bare keyword. The mnemonic drops the
`_kind`
suffix the C++ class name carries.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/AArch64/sve-vector-unroll.ll

  Log Message:
  -----------
  [LLVM][SelectionDAG] Implement unrolling of scalable vectors. (#216985)

We cannot typically unroll scalable vectors because they have an
unknown-at-compile-time vector length. However, when a function has the
vscale_range attribute, we can unroll based on their maximum possible
length.


  Commit: b8847b2b69b70399f8f4e504dbef35451e594624
      https://github.com/llvm/llvm-project/commit/b8847b2b69b70399f8f4e504dbef35451e594624
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/AArch64/aarch64-predication.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-costs.ll

  Log Message:
  -----------
  [LV][AArch64] Provide option to use partial reductions by default (#216001)

Partial reduction intrinsics are explicitly unordered, which may allow
us to perform extra optimizations that may result in a different
ordering of lanes within a vector. This would only be done if the target
indicated the intrinsic was at least as cheap as the normal accumulation
operation.

Off by default to start with.



As an example of an optimization which would be easier/less fragile with
this change, see #206047 which currently tries to match the entire
reduction. If the in-loop update was a partial reduction intrinsic (even
at the same VF), then we could just implement the whole thing as a
DAGCombine.

Some follow-up work will be needed before turning on by default; there's
25 AArch64 check-all failures (just need to update test checks) and some
build failures + regressions in some spec benchmarks to look at.


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

  Changed paths:
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx10.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx11.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-s-prefetch-inst-nyi.hip
    M clang/test/CIR/CodeGenOpenMP/target-host-op-filtering.c
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx13.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-async-load-lds.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-s-buffer-load.cl
    M clang/test/OpenMP/openmp_offload_weak_vtables.cpp
    M clang/test/OpenMP/target_device_float128_mode_attr.c
    M clang/test/OpenMP/target_teams_atomic_reduction_codegen.cpp
    M clang/test/SemaHIP/hip-incremental-toplevel-launch.hip
    M clang/test/SemaOpenCL/builtins-amdgcn-cvt-sr-pk-bf16-f32-err.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-s-wait-event.cl

  Log Message:
  -----------
  clang: Convert some amdgpu tests to subarch triples (#221172)


  Commit: 543ac0371f32ecb865d4c05e9a5dc2267bad42c1
      https://github.com/llvm/llvm-project/commit/543ac0371f32ecb865d4c05e9a5dc2267bad42c1
  Author: Romanov Vlad <Vladislav.Romanov at amd.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    A llvm/test/CodeGen/AMDGPU/coexec-mfma-interleave-gfx950.ll
    A llvm/test/CodeGen/AMDGPU/coexec-mfma-interleave-gfx950.mir
    M llvm/test/CodeGen/AMDGPU/coexec-rewrite-mfma.ll
    M llvm/unittests/Target/AMDGPU/CMakeLists.txt
    A llvm/unittests/Target/AMDGPU/MFMACoExecRules.cpp

  Log Message:
  -----------
  [AMDGPU] Add initial version of gfx950 MFMA co-exec rules (#214682)

Added co-exec rules for all MFMA instructions which were added in
`gfx950`. Legacy instructions which were inherited from older Instinct
GPUs generations use fallback for now.

Added rules aren't exactly precise and serve merely as a baseline for
now.

Also remove the warning when running coexec sched on gfx950.

Co-authored-by: Alexey Sachkov <alexey.sachkov at amd.com>


  Commit: 278d9f76594de1ad0fac669468bf083ad6616a0f
      https://github.com/llvm/llvm-project/commit/278d9f76594de1ad0fac669468bf083ad6616a0f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

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

  Log Message:
  -----------
  [LV] Remove unused getReductionPatternCost (NFC) (#221183)

In-loop reduction handling + costing has been completely migrated to
VPlan. Remove unused legacy getReductionPatternCost.


  Commit: 092263a0e438400f0e5af39664e8d5a5f1c05927
      https://github.com/llvm/llvm-project/commit/092263a0e438400f0e5af39664e8d5a5f1c05927
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

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

  Log Message:
  -----------
  [LV] Add getMaxRuntimeElementCount helper (NFC). (#220397)

Add a getMaxRuntimeElementCount to compute ElementCount * max vscale. It computes
the value in uint64_t, to avoid overflow for very large vscale values.

Returns std::nullopt, if there's no max vscale value. Migrate 3 existing
users to use the shared helper.

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


  Commit: e377dafa0a6a58a5fe9d1bc85d4a1e4c6b0956fd
      https://github.com/llvm/llvm-project/commit/e377dafa0a6a58a5fe9d1bc85d4a1e4c6b0956fd
  Author: Kamlesh Kumar <kamlesh.kumar at arm.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/interleaved-accesses.ll
    M llvm/test/CodeGen/AArch64/vector-interleave-store.ll

  Log Message:
  -----------
  [AArch64] Support wide interleaved store combine (#217856)

After type legalization wider interleaved store gets spllitted into
legal chunk store, perform a dag combine to turn it into interleaved
store if chunked store is contiguous and result of vector_interleave.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll

  Log Message:
  -----------
  [X86] combineConcatVectorOps - add generic shift handling (#221055)

Limit this to cases where the shift value concatenates for free - the shift amount is often cheap, but the shift value isn't.


  Commit: 5b365c072d2bb35990f4bfed9e1b47557122e7b4
      https://github.com/llvm/llvm-project/commit/5b365c072d2bb35990f4bfed9e1b47557122e7b4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/or-disjoint.ll
    M llvm/test/Transforms/ConstraintElimination/or.ll

  Log Message:
  -----------
  [ConstraintElim] Use m_NUWAddLike for unsigned decomposition. (#221175)

Use m_NUWAddLike in unsigned decomposition, remove hand-rolled disjoint
or matching with constant.

Additional flags added in 2 cases end-to-end:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1192

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


  Commit: 4a43f5658b50b82b2557221ce4e84d221d4375cb
      https://github.com/llvm/llvm-project/commit/4a43f5658b50b82b2557221ce4e84d221d4375cb
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp

  Log Message:
  -----------
  [LLVM] Use isByValArgument() (NFC) (#221192)

Use the isByValArgument() helper instead of paramHasAttr().

Split off from https://github.com/llvm/llvm-project/pull/207173.


  Commit: 8f7d3ba08f14c3d54b8b407d1758dbd1da01bb38
      https://github.com/llvm/llvm-project/commit/8f7d3ba08f14c3d54b8b407d1758dbd1da01bb38
  Author: Anthony Latsis <alatsis at apple.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    A llvm/test/CodeGen/AVR/stack-protector.ll

  Log Message:
  -----------
  [RuntimeLibcalls] Add stack protector entries for AVR (#220597)

`__stack_chk_fail` used to be part of the default set of runtime libcall
impls. #148789 moved it out of that set and re-added it explicitly to
each target's `SystemRuntimeLibrary`, and #154930 did the same for the
`__stack_chk_guard` global. `AVRSystemLibrary` was not updated by
either, so both `RTLIB::STACKPROTECTOR_CHECK_FAIL` and
`RTLIB::STACK_CHECK_GUARD` are `RTLIB::Unsupported` on AVR.

Lowering a function with `sspreq` therefore fails twice: loading the
canary reports "unable to lower stackguard", and the failure path dies
in `TargetLowering::makeLibCall` with a `reportFatalInternalError`:

```
$ llc -mtriple=avr ssp.ll
error: unable to lower stackguard
LLVM ERROR: unsupported library call operation
```

Add the two impls directly, as Lanai, MSP430 and Hexagon do. This
restores the pre-#148789 codegen, which referenced `__stack_chk_guard`
and `__stack_chk_fail`.

Assisted-by: Claude Code


  Commit: 792023c3e4978667a1920f12614ac84b0b78f780
      https://github.com/llvm/llvm-project/commit/792023c3e4978667a1920f12614ac84b0b78f780
  Author: 黃國庭 <we3223 at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    A llvm/test/Transforms/CodeGenPrepare/AArch64/hoist-bitcast-aggregate.ll
    A llvm/test/Transforms/CodeGenPrepare/RISCV/hoist-bitcast-scalable.ll
    A llvm/test/Transforms/CodeGenPrepare/X86/hoist-bitcast-i686.ll
    A llvm/test/Transforms/CodeGenPrepare/X86/hoist-bitcast-integer-to-vector.ll

  Log Message:
  -----------
  [CodeGenPrepare] Failure to hoist bitcast to legal type causes register splitting (#207568)

FIX #179950 

Extracted the core logic from CodeGenPrepare.cpp into a new optimizeBitCast function.

I have also included tests covering both legal and illegal types.


  Commit: 247d429a5e772f337bf1f966db5d423617e2fcc7
      https://github.com/llvm/llvm-project/commit/247d429a5e772f337bf1f966db5d423617e2fcc7
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    A llvm/test/CodeGen/RISCV/interrupt-shrink-wrap.ll

  Log Message:
  -----------
  [RISCV] Disable shrink wrapping for SiFive CLIC and QCI handlers (#218347)

This commit disables shrink wrapping for SiFive CLIC and QCI handlers.

Closes #218344


  Commit: 1886f7240ecb91bdd13d00969eac20537c0314c8
      https://github.com/llvm/llvm-project/commit/1886f7240ecb91bdd13d00969eac20537c0314c8
  Author: Mahmoud Ahmed <anondeveg at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Parse/ParseTemplate.cpp
    A clang/test/Interpreter/delayed-template-parsing-incremental.cpp

  Log Message:
  -----------
  [clang][Parse] Fix DeclContext reentry to use the template's lexical TU, not the current fragment's TU (#218571)

Problem:
when `-fdelayed-template-parsing` is enabled Instantiating a late-parsed
function template defined in an earlier TU caused an assertion failure
in `clang::Sema::PushDeclContext`:

``DC->getLexicalParent() == CurContext && "The next DeclContext should
be lexically contained in the current one."'`

Fix:
- 1 in `Parser::ParseLateTemplatedFuncDef` obtained the enclosing
`TranslationUnitDecl` called it `LexicalTU`
- 2 changed `GlobalSavedContext` with the `LexicalTU` instead of using
`Actions.Context.getTranslationUnitDecl()`
- in the case that no `LexicalTU` was found fellback to
`Actions.Context.getTranslationUnitDecl()`
 
Fixes #217073


  Commit: 4746e698304bf95b7e4c55d6e798e422732ae514
      https://github.com/llvm/llvm-project/commit/4746e698304bf95b7e4c55d6e798e422732ae514
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/parser_std_format_spec.h
    M libcxx/include/__chrono/statically_widen.h
    M libcxx/include/__format/buffer.h
    R libcxx/include/__format/concepts.h
    M libcxx/include/__format/container_adaptor.h
    A libcxx/include/__format/fmt_char_type.h
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_arg_store.h
    A libcxx/include/__format/formattable.h
    M libcxx/include/__format/formatter_bool.h
    M libcxx/include/__format/formatter_bool_impl.h
    M libcxx/include/__format/formatter_char.h
    M libcxx/include/__format/formatter_floating_point.h
    M libcxx/include/__format/formatter_integer.h
    M libcxx/include/__format/formatter_integral.h
    M libcxx/include/__format/formatter_output.h
    M libcxx/include/__format/formatter_pointer.h
    M libcxx/include/__format/formatter_string.h
    M libcxx/include/__format/formatter_tuple.h
    M libcxx/include/__format/range_default_formatter.h
    M libcxx/include/__format/range_formatter.h
    M libcxx/include/__thread/formatter.h
    M libcxx/include/format
    M libcxx/include/module.modulemap.in
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/libcxx/transitive_includes/cxx29.csv

  Log Message:
  -----------
  [libc++] Avoid including <string_view> in <vector> (#220862)

By splitting up `<__format/concepts.h>` we can avoid including
`<string_view>` in `<vector>`, making it ~20% faster to parse.


  Commit: 0abb55638843428fccd7a923e6126fcb74a69a51
      https://github.com/llvm/llvm-project/commit/0abb55638843428fccd7a923e6126fcb74a69a51
  Author: Peiqi Li <voyager.lpq at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/TrailingCommaCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx11.cpp

  Log Message:
  -----------
  [clang-tidy] Fix false positive in readability-trailing-comma (#220548)

Use the syntactic form of an empty InitListExpr instead of falling back
to the semantic form.

Fixes #220222


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

  Changed paths:
    M libcxx/include/__memory_resource/memory_resource.h
    A libcxx/test/libcxx/mem/mem.res/assert.pass.cpp
    R libcxx/test/libcxx/mem/mem.res/ctor.nullptr.assert.pass.cpp

  Log Message:
  -----------
  [libc++] Assert that the alignment for memory_resource::allocate is a power of two (#219174)

`do_allocate` has a precondition that the argument is a power of two. We
can't assert that in general, since users can provide their own
`do_allocate`s. However, we can assert in `allocate` instead, which has
the added bonus that it's going to be inlined and the check can then
most likely be folded away by the compiler.


  Commit: 03a783114c8be1eeaf46344027559d850e21342c
      https://github.com/llvm/llvm-project/commit/03a783114c8be1eeaf46344027559d850e21342c
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/test/CIR/CodeGen/global-temp-dtor.cpp
    M clang/test/CIR/CodeGen/global-tls-dyn-init.cpp
    M clang/test/CIR/CodeGen/global-tls-dynamic-vs-static.cpp
    M clang/test/CIR/CodeGen/global-tls-simple-init.cpp
    M clang/test/CIR/CodeGen/global-tls-templates.cpp
    M clang/test/CIR/CodeGen/thread-local-in-func.cpp
    M clang/test/CIR/CodeGen/tls-model-func-scope.cpp
    M clang/test/CIR/CodeGen/tls-model.cpp
    M clang/test/CIR/CodeGen/tls.c
    M clang/test/CIR/IR/global.cir
    M clang/test/CIR/IR/invalid-tls.cir

  Log Message:
  -----------
  [CIR] Print cir.global's TLS model without naked angle brackets (#220879)

`cir.global` printed `tls_model = <tls_dyn>`. Those brackets were the
leftover delimiters of `#cir.tls_model<tls_dyn>` after the printer
stripped
the dialect prefix and mnemonic, so one enum had two spellings and the
per-global one was not something anyone would write by hand.

Wrapping the argument in the `enum` directive prints the symbolic value
on
its own:

  cir.global external tls_model = tls_dyn @a = #cir.int<5> : !s32i

The standalone attribute is unchanged.


  Commit: f02d128c60a938fe85690430f3a9ce009669b662
      https://github.com/llvm/llvm-project/commit/f02d128c60a938fe85690430f3a9ce009669b662
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-wave32.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-wave64.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip

  Log Message:
  -----------
  [CIR][AMDGPU] Add support for AMDGCN cmp and ballot builtins (#198135)

Adds CIRGen for the AMDGCN comparison and ballot builtins:

 -  __builtin_amdgcn_fcmp
 -  __builtin_amdgcn_fcmpf
  - __builtin_amdgcn_sicmp
 -  __builtin_amdgcn_sicmpl
 -  __builtin_amdgcn_uicmp
 -  __builtin_amdgcn_uicmpl
  - __builtin_amdgcn_ballot_w32
  - __builtin_amdgcn_ballot_w64

The cmp builtins are deprecated in favor of ballot_w32 and ballot_w64,
but classic CodeGen still supports them, so CIRGen matches it for
parity. The deprecation is a Sema-level warning and does not affect the
emitted IR.

@ranapratap55 Let me know if you would like a comment noting the
deprecation, either in the implementation or the tests.


  Commit: f26bfb40c9dad93578167859c6722305bef4cc52
      https://github.com/llvm/llvm-project/commit/f26bfb40c9dad93578167859c6722305bef4cc52
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    A clang/test/CIR/CodeGenCUDA/builtins-nvvm-ldu-ldg.cu
    R clang/test/CIR/CodeGenCUDA/builtins-nvvm-ldu.cu

  Log Message:
  -----------
  [CIR][CUDA] Add support for __nvvm_ldg builtins (#213178)

Adds CIRGen for the NVVM ldg builtins, which perform loads through the
read-only data cache.

These lower to the corresponding `llvm.nvvm.ldg.global.*` intrinsic.


  Commit: 2a54cfd527a5180ea67dde893459b1730a9512c6
      https://github.com/llvm/llvm-project/commit/2a54cfd527a5180ea67dde893459b1730a9512c6
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/darwin/aarch64/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/freebsd/x86_64/entrypoints.txt
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/nvptx/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/shared/math/fmaximum_mag_numf128.h
    M libc/shared/math/fminimum_mag_numf128.h
    M libc/src/__support/math/CMakeLists.txt
    M libc/src/__support/math/fmaximum_mag_numf128.h
    M libc/src/__support/math/fminimum_mag_numf128.h
    M libc/src/math/fmaximum_mag_numf128.h
    M libc/src/math/fminimum_mag_numf128.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/fmaximum_mag_numf128.cpp
    M libc/src/math/generic/fminimum_mag_numf128.cpp
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/FMaximumMagNumTest.h
    M libc/test/src/math/smoke/FMinimumMagNumTest.h
    M libc/test/src/math/smoke/fmaximum_mag_numf128_test.cpp
    M libc/test/src/math/smoke/fminimum_mag_numf128_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel

  Log Message:
  -----------
  [libc] Make fmaximum_mag_num/fminimum_mag_num functions use the emulated float128 type (#217549)


  Commit: cea4f92cd287011732298f91bb8c7c5f67a47aab
      https://github.com/llvm/llvm-project/commit/cea4f92cd287011732298f91bb8c7c5f67a47aab
  Author: Zorojuro <sawantsukumar at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/darwin/aarch64/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/freebsd/x86_64/entrypoints.txt
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/nvptx/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/shared/math/fdimf128.h
    M libc/src/__support/math/CMakeLists.txt
    M libc/src/__support/math/fdimf128.h
    M libc/src/math/fdimf128.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/fdimf128.cpp
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/fdimf128_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel

  Log Message:
  -----------
  [libc] Make `fdimf128` use the emulated float128 type (#217567)


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

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

  Log Message:
  -----------
  [gn build] Port 4746e698304b (#221201)


  Commit: 3a3cf0dcd47efd805e745029fbc0985a45bc76c6
      https://github.com/llvm/llvm-project/commit/3a3cf0dcd47efd805e745029fbc0985a45bc76c6
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Target/AMDGPU/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 543ac0371f32 (#221202)


  Commit: 1221e77db275a4eac466a7794be8ac02cf21d2c0
      https://github.com/llvm/llvm-project/commit/1221e77db275a4eac466a7794be8ac02cf21d2c0
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

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

  Log Message:
  -----------
  [gn build] Port 89ebea3545ac (#221203)


  Commit: 60d963340e96580fe8c54c5c742babe0c2264481
      https://github.com/llvm/llvm-project/commit/60d963340e96580fe8c54c5c742babe0c2264481
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

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

  Log Message:
  -----------
  [gn build] Port dca328efcdee (#221204)


  Commit: 40683b3d8841b7f6e5f98d9af274b2e715a9a0b7
      https://github.com/llvm/llvm-project/commit/40683b3d8841b7f6e5f98d9af274b2e715a9a0b7
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn

  Log Message:
  -----------
  [gn build] Port deb7382b1b5b (#221205)


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

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

  Log Message:
  -----------
  [gn build] Port e6734a41bb41 (#221206)


  Commit: 715831c784dfc8b0d7bca6f463a88b0c8af362a1
      https://github.com/llvm/llvm-project/commit/715831c784dfc8b0d7bca6f463a88b0c8af362a1
  Author: Avi Kivity <avi at scylladb.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/test/SemaCXX/coreturn.cpp

  Log Message:
  -----------
  [clang] Fix lost lambda capture in dependent co_return operand (#220234)

09231ed02384 ("[clang] Delay dependent co_return promise calls") made
Sema::BuildCoreturnStmt return early for a type-dependent operand,
before reaching the ActOnFinishFullExpr() call that every other path
performs.

Inside a lambda, a reference to a variable of an enclosing function is
not captured immediately: DoMarkPotentialCapture() only records it via
LambdaScopeInfo::addPotentialCapture(), and relies on
ActOnFinishFullExpr() to turn it into an actual capture and odr-use.
Skipping that on the dependent path silently drops the pending capture,
so a variable mentioned only in the operand of a dependent co_return
never gets a capture field. When the generic lambda's call operator is
later instantiated from another context, Sema tries to capture the
variable again and rejects valid code with "reference to local variable
'p' declared in enclosing function".

Finish the full-expression on the dependent path as well.

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

Fixes #220233


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/TargetInfo.cpp
    M clang/lib/CIR/CodeGen/TargetInfo.h
    M clang/lib/CIR/CodeGen/Targets/SPIRV.cpp
    M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
    A clang/test/CIR/CodeGenHIP/amdgcnspirv-kernel.hip
    M clang/test/CIR/CodeGenOpenCL/address-space-local-var.clcpp

  Log Message:
  -----------
  [CIR][SPIR-V] Set spir_kernel calling convention for AMDGCN-flavored HIP kernels (#214246)

CIR emitted no calling convention for HIP `__global__` kernels on the
`spirv64-amd-amdhsa` target, unlike generic SPIR-V, which already gets
`spirv_kernel` CC


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

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-fadd-with-sub.ll

  Log Message:
  -----------
  [SLP][NFC]Add extra test for flattened fneg/fadd chains, NFC



Reviewers: 

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


  Commit: 57807585a6aee7869ccf90a0d777e5fde61da10b
      https://github.com/llvm/llvm-project/commit/57807585a6aee7869ccf90a0d777e5fde61da10b
  Author: Hung-Kuan Tseng <tseng.tim096 at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

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

  Log Message:
  -----------
  [mlir][arith] Fold scaling_extf and scaling_truncf with constant operands (#215123)

Add constant folders for the two MXFP scaling casts, mirroring the
expansion
in `ExpandOps.cpp`:

```
scaling_extf(in, scale)   -> mulf(extf(in), extf(scale))
scaling_truncf(in, scale) -> truncf(in / extf(scale))
```

Note the asymmetry the expansion already has: `scaling_extf` widens the
scale
to the result type, `scaling_truncf` to the type of `in`.

These were the only two ops in the dialect with neither a folder nor a
canonicalizer, so `-canonicalize` left them alone even with both
operands
constant, while `-arith-expand -canonicalize` folded them away.
Pipelines that
lower them to hardware instructions rather than expanding them, such as
`ArithToAMDGPU` and `XeGPUToXeVM`, never got the fold.

As in `arith.extf` and `arith.truncf`, the widening and narrowing steps
go
through `convertFloatValue` and fold only when lossless, so a
`roundingmode`
on `scaling_truncf` never changes a folded result. Poison propagates and
shaped results are guarded with a static-shape check, as in the generic
folders.

Scales that are not already `f8E8M0FNU` are left alone, because what
such a
scale means is unsettled: the tree does not say whether truncating a
wider
scale to `f8E8M0FNU` rounds or takes its exponent, and `ArithToAMDGPU`
passes
it to an instruction that reads only the exponent. #215295 asks for a
ruling.

The input space of these types is small enough to enumerate, so every
combination was checked against `-arith-expand -canonicalize`, against
the OCP
MXFP semantics computed independently of LLVM, and -- for the decision
to fold
or not -- against the losslessness rule above:

| sweep | cases | folded | disagreements |
| :--- | ---: | ---: | ---: |
| `scaling_extf` f4E2M1FN x f8E8M0FNU -> f16 | 4096 | 656 | 0 |
| `scaling_extf` f4E2M1FN x f8E8M0FNU -> f32 | 4096 | 4096 | 0 |
| `scaling_truncf` f16 x f8E8M0FNU -> f4E2M1FN | 16777216 | 33390 | 0 |


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

  Changed paths:
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/unittests/CIR/ControlFlowTest.cpp

  Log Message:
  -----------
  [CIR] Add RegionBranchOpInterface unit tests and fix cir.await successors (#220507)

Adds unit tests for the five CIR ops that implement
`RegionBranchOpInterface`
with no coverage today, and fixes a `cir.await` bug the new tests found:

`verifyControlFlowInterfaceConsistency` fails on `cir.await` today,
because the
op and its own terminator disagree. `cir.condition` terminates the ready
region
and reports `{resume, suspend}` when the parent is an await, while
`AwaitOp::getSuccessorRegions` listed all three regions as entry
successors and
reported the parent op as the successor of every region exit.

The corrected edges match what `cir.condition` already reports:

- from the parent, the only entry successor is `ready`
- from `ready`, the successors are `resume` and `suspend`
- from `suspend` or `resume`, the successor is the parent operation


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/test/CIR/CodeGenOpenCL/kernel-arg-info-single-as.cl
    M clang/test/CIR/CodeGenOpenCL/kernel-arg-info.cl
    M clang/test/CIR/IR/invalid-opencl-kernel-arg-metadata.cir
    M clang/test/CIR/IR/opencl-kernel-arg-metadata.cir
    M clang/test/CIR/Lowering/opencl-kernel-arg-metadata.cir

  Log Message:
  -----------
  [CIR] Drop lang_address_space's custom parenthesized attribute format (#220880)

CIR_LangAddressSpaceAttr overrode its assembly format to
`(` custom<AddressSpaceValue>($value) `)`. The parentheses defeated the
dialect's `#cir.mnemonic<...>` syntax, so the attribute printed as
`#cir<lang_address_space(offload_global)>`. It now uses the bracketed
CIR_EnumAttr default and spells
`#cir.lang_address_space<offload_global>`.

The `lang_address_space(x)` spelling inside `!cir.ptr` and `cir.global`
is
unaffected, since that goes through MemorySpaceAttrInterface in
CIRTypes.cpp.
The attribute-level pair in CIRAttrs.cpp was only reachable from the
deleted
format, so it goes away.


  Commit: e2ce7a69d368641022faa93c2c6590e1ccfeef40
      https://github.com/llvm/llvm-project/commit/e2ce7a69d368641022faa93c2c6590e1ccfeef40
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lsfe.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lsfe.ll
    A llvm/test/CodeGen/AArch64/Atomics/atomicrmw-fsub-lsfe-combine.ll
    M llvm/test/CodeGen/AArch64/Atomics/generate-tests.py

  Log Message:
  -----------
  [AArch64] Lower rmw sub to FNEG+LDFADD when LSFE present (#220568)

This patch enables `atomicrmw sub` nodes to be lowered into
FNEG+LD(B)FADD instructions when LSFE is present and we are not in
strictfp environment.

Additionally, this patch fixes a bug which allowed atomicrmw with fp128
to be considered legal when LSFE present.


  Commit: 43a9ad721ddd795f8004572844f56bfdae671f9c
      https://github.com/llvm/llvm-project/commit/43a9ad721ddd795f8004572844f56bfdae671f9c
  Author: Ashutosh Nema <ashu1212 at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub-epilogue-vec.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops-chained.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
    A llvm/test/Transforms/LoopVectorize/VPlan/RISCV/cse-loads-evl.ll
    A llvm/test/Transforms/LoopVectorize/VPlan/X86/cse-loads-gather.ll
    A llvm/test/Transforms/LoopVectorize/VPlan/cse-loads-masked.ll
    A llvm/test/Transforms/LoopVectorize/VPlan/cse-loads-tailfold.ll
    A llvm/test/Transforms/LoopVectorize/VPlan/cse-loads.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory-epilogue-vec.ll
    M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory.ll

  Log Message:
  -----------
  [VPlan] Extend cse to eliminate redundant widened loads (#212543)

The generic cse() skips memory-reading recipes, so duplicate widened
loads are never eliminated. Extend cse() to also CSE redundant 
VPWiden(EVL)LoadRecipes.

Within a VPBasicBlock, loads are matched against earlier ones with the
same address, mask, scalar type and alignment; the candidate list is cleared
on any memory-writing recipe (a conservative aliasing barrier), so load CSE
stays within a single block. This covers consecutive, masked and gather loads.


  Commit: e9803af577ec20ddf2d789da36235da4a436525d
      https://github.com/llvm/llvm-project/commit/e9803af577ec20ddf2d789da36235da4a436525d
  Author: lianjinfeng2003 <101249452+mygitljf at users.noreply.github.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/andnot-patterns.ll
    M llvm/test/CodeGen/X86/bmi.ll
    M llvm/test/CodeGen/X86/pr108731.ll

  Log Message:
  -----------
  [X86] Select i8 ANDN via i32 promotion (#205050)

Added selection support so BMI ANDN can be used for i8 integer operands
by widening through the available 32-bit instruction form and keeping
the low byte result.

I also updated the affected X86 CodeGen checks and added direct coverage
for the i8 case.

Fixes #204985


  Commit: 598d9d1369d385582d2a90d71335073d1b2e0950
      https://github.com/llvm/llvm-project/commit/598d9d1369d385582d2a90d71335073d1b2e0950
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M lldb/docs/dil-expr-lang.ebnf
    M lldb/include/lldb/ValueObject/DILAST.h
    M lldb/include/lldb/ValueObject/DILLexer.h
    M lldb/source/ValueObject/DILAST.cpp
    M lldb/source/ValueObject/DILEval.cpp
    M lldb/source/ValueObject/DILLexer.cpp
    M lldb/source/ValueObject/DILParser.cpp
    M lldb/test/API/commands/frame/var-dil/expr/Assignment/TestFrameVarDILCompositeAssign.py
    M lldb/test/API/commands/frame/var-dil/expr/Assignment/main.cpp

  Log Message:
  -----------
  [lldb] Add composite assignments to existing operators in DIL (#208853)

Add operators `*=`, `/=`, `%=`, `<<=`, `>>=`, `&=`, `^=`, `|=` to DIL.


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

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/CodeGen/MachineFrameInfo.h
    M llvm/lib/CodeGen/MachineFrameInfo.cpp
    A llvm/test/CodeGen/X86/pr214750.ll

  Log Message:
  -----------
  [CodeGen] Don't misinterpret a UINT64_MAX-sized stack object as dead (#220172)

Fixes #214750

A static alloca of `0xFFFFFFFFFFFFFFFF` bytes — what clang emits for
`__builtin_alloca(-1)`, which is valid C — crashed with `Assertion
'!isDeadObjectIndex(ObjectIdx) && "Getting frame offset for a dead
object?"' failed`. MachineFrameInfo encoded dead stack objects in-band
as `Size == ~0ULL`, so this object was considered dead from the moment
it was created: PEI skipped it when assigning frame offsets, but the
frame-index reference was still in the function, and eliminateFrameIndex
asserted when resolving it. No pass ever marked the object dead — the
size itself collided with the sentinel. Not actually a recent regression
despite the label; it reproduces back to 20.x, and GlobalISel had the
identical latent bug since it also feeds the raw alloca size into
`CreateStackObject`.

Deadness is now a separate `isDead` flag on `StackObject` instead of
borrowing a size value, so no size can flip an object's liveness.
`RemoveStackObject` sets the flag, `isDeadObjectIndex` reads it, and the
frame-object debug printer — the only other place that looked at the
sentinel — checks it too. This fixes both instruction selectors at once
rather than clamping the size at each call site. An allocation this
large can never succeed at runtime anyway; a size one byte smaller
already compiled fine through the same path, and now `-1` behaves the
same way. Added `llvm/test/CodeGen/X86/pr214750.ll` covering both the
`-O0` and default pipelines with `-verify-machineinstrs`.

LLM tools were used for this contribution. I've reviewed, built, and
tested the change myself before pushing to GitHub.


  Commit: 740df3a3ebe0fcba110a640a0bd3696ab7451334
      https://github.com/llvm/llvm-project/commit/740df3a3ebe0fcba110a640a0bd3696ab7451334
  Author: Vachan <vachanvy05 at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/test/CodeGen/X86/aext-and-trunc-avx512.ll

  Log Message:
  -----------
  [X86][AVX-512] Fold `zext(and(bitcast(mask), C))` --> `and(anyext(bitcast(mask)), zext(C))` (#220251)

resolves #120389

Note: I have used AI for the tablegen implementation (using my DAG
implementation as reference) since I'm not very familiar with tablegen
yet.


  Commit: 0d4ed3cdbe004e07d441e7e2d62d1b9a13bcf07f
      https://github.com/llvm/llvm-project/commit/0d4ed3cdbe004e07d441e7e2d62d1b9a13bcf07f
  Author: John Brawn <john.brawn at arm.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/cast-mul-select.ll
    A llvm/test/Transforms/InstCombine/zext-nneg.ll

  Log Message:
  -----------
  [InstCombine] Evaluate zext nneg as sext where possible (#212230)

We can convert zext nneg to sext, and doing so when evaluating an
expression in a wider type means any negative constant operands are
sign-extended instead of zero-extended, meaning the high bits of the
result will be correct without needing to mask them.

Alive2 proofs:
Evaluating nsw arithmetic at higher precision means the sign of the
result can't change: https://alive2.llvm.org/ce/z/xX9eq3
Sign-extending an operand of a bitwise operations doesn't matter with
nneg: https://alive2.llvm.org/ce/z/4QNsEg
Operand can be sign-extended without nsw if we have a zext of a zext:
https://alive2.llvm.org/ce/z/K_UXnU
zext_nneg_of_sext: https://alive2.llvm.org/ce/z/9U6BRG
zext_nneg_of_sext_large_positive: https://alive2.llvm.org/ce/z/Q9mFKu


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h

  Log Message:
  -----------
  [CIR] Delete the unused cir::VisibilityAttr (#220881)

This removes CIR_VisibilityAttr that had no users. `cir.global` and
`cir.func` carry visibility
as `EnumProp<CIR_VisibilityKind>`, a property rather than an attribute,
so
nothing ever built or printed the attribute.

Its only consumer was CIRGenModule::getGlobalVisibilityAttrFromDecl,
itself
never called, and that was the only caller of
getGlobalVisibilityKindFromClangVisibility, so all three go together.


  Commit: 017f9d1c0c3e5a009ac75ef01e02eb01ecf6f637
      https://github.com/llvm/llvm-project/commit/017f9d1c0c3e5a009ac75ef01e02eb01ecf6f637
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/defaults.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/indvar-overflow-check-scalable-tc.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/predicated-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-prune-vf.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/runtime-check-dependent-on-stride.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/scalable-vf-hint.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-access-wide-stride.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses-i64-rv32.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses-narrow-iv.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-safe-dep-distance.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/transform-narrow-interleave-to-widen-memory.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/zvl1024b-crash.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/partial-reduce-dot-product.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/reductions-evl.ll
    M llvm/test/Transforms/PhaseOrdering/RISCV/any-of-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/loop-vectorize-bfi.ll

  Log Message:
  -----------
  [TTI/RISCV] Strip getMaxVScale (#220547)

RISC-V is the only target using it at the moment, and it is unnecessary,
as frontends insert a vscale_range attribute that we can use. As such,
this patch is a non-functional cleanup, along with test updates, taking
care to minimize the diff by inserting the vscale_range attribute in
various tests.


  Commit: 8c870316400b2f1ce5ca0302c04734ef3f7883ec
      https://github.com/llvm/llvm-project/commit/8c870316400b2f1ce5ca0302c04734ef3f7883ec
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Test all bugprone-exception-escape option modes (#221164)

AI Usage: GPT 5.6 Sol was used to help with pre-commit self-reviewing.

Follow-up of https://github.com/llvm/llvm-project/pull/218067.


  Commit: c8391ec76e50dbb353acf1649142ef8f35e174d5
      https://github.com/llvm/llvm-project/commit/c8391ec76e50dbb353acf1649142ef8f35e174d5
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp

  Log Message:
  -----------
  [clang-tidy] Fix renaming parameter packs in `sizeof...` expressions (#219155)

Record parameter pack usages held by `SizeOfPackExpr` in the common
renamer visitor. This ensures that declarations and `sizeof...`
references are renamed together.

Closes #219154


  Commit: 128cdb86fc6bd947ae8a85602a9b0429b412ac77
      https://github.com/llvm/llvm-project/commit/128cdb86fc6bd947ae8a85602a9b0429b412ac77
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/include/clang/Driver/Action.h
    M clang/include/clang/Driver/CommonArgs.h
    M clang/include/clang/Driver/Tool.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/Action.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/Tool.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Clang.h
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.h
    M clang/test/Driver/cuda-phases.cu
    M clang/test/Driver/hip-binding.hip
    M clang/test/Driver/hip-cuid.hip
    M clang/test/Driver/hip-offload-compress-zstd.hip
    M clang/test/Driver/hip-phases.hip
    M clang/test/Driver/hip-spirv-backend-opt.c
    M clang/test/Driver/hip-toolchain-no-rdc.hip
    M clang/test/Driver/hipspv-toolchain.hip
    M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c

  Log Message:
  -----------
  [Clang] Clean up leftover old offloading driver tools and utilities (#221093)

Summary:
This PR cleans up some now unused utilities.
1. The old driver fatbinary object building
2. The SDL library linking
3. The offload bundler unbundler job

These are all replaced by operations the new driver does. The one hitch
is that the `--offload-device-only -lfoo -frdc` will not unbundle like
it once did, but I am unsure if that was ever used much in practice.


  Commit: e9e42884a3255729a0ee53c26d45cc992c412924
      https://github.com/llvm/llvm-project/commit/e9e42884a3255729a0ee53c26d45cc992c412924
  Author: Chris Copeland <chris at chrisnc.net>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/test/MC/PowerPC/ppc64-encoding-bookIII.s

  Log Message:
  -----------
  [PowerPC] Remove tlbie one-operand InstAlias for ISA 3.0+ (#213816)

tlbie for ISA 3.0+, aka TLBIEP9, only has a two-operand form or a
5-operand form.


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

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h

  Log Message:
  -----------
  [NFC][TTI] Remove default CostKind and FMF from TTI::getMinMaxReductionCost() (#219310)

Addresses #135598.

AI Usage: Assisted by Codex


  Commit: 7678b972c1bd8100de55569cc19f31c79815f8b0
      https://github.com/llvm/llvm-project/commit/7678b972c1bd8100de55569cc19f31c79815f8b0
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    A clang/test/CIR/IR/enum-attrs.cir

  Log Message:
  -----------
  [CIR] Migrate seven operation enums off IntegerAttr (#220883)

CastKind, DynamicCastKind, CmpOpKind, ComplexRangeKind, InitCatchKind,
CaseOpKind and AwaitKind generated IntegerAttr subclasses. The
operations
printed them symbolically, but in an attribute dictionary `cir.cast
bitcast`
was stored as `kind = 1 : i32`.

Each enum now sets genSpecializedAttr = 0 and gains a CIR_EnumAttr
wrapper,
and the operations wrap the argument in `enum()` to keep the bare
keyword,
giving spellings like `#cir.cast<bitcast>`. Mnemonics drop the suffix
the C++
class name carries.


  Commit: 69056048fe7d50960e4e5a806a898a3146845641
      https://github.com/llvm/llvm-project/commit/69056048fe7d50960e4e5a806a898a3146845641
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M lldb/test/API/symstore/TestSymStore.py

  Log Message:
  -----------
  [lldb][test] Fix flaky results from TestSymStore.py test_http_timeout (#221196)

Fixes #217733.

Observed only on Windows on Arm but I bet it can happen other places.
Sometimes the test would fail because it did not find the error message
in the log file.

The problem is that the test is relying on the client to realise the
timeout has been exceeded and close the connection, before the fake
responder can send back status 200.

So what sometimes happens is:
* The client sends the request.
* The server gets the request and waits N seconds.
* The client is delayed doing other things, and doesn't realise the
timeout has been reached. So the connection is still open.
* The server tries to respond with 200, and that sends succesfully.
* The client wakes up and sees the 200 response, so there's no error to
report.

To fix this, I've changed the responder from merely being slow to never
responding. This means the client can be delayed as long as it likes.

To prevent the responder hanging around, it waits on an event which the
test will set once the test is done (whether pass or fail), then the
responder will shut down normally.

This change does mean that if the client was buggy, we could be waiting
up to the global test timeout. However I think that's a reasonable trade
to not have flaky test results. The alternative is to increase the
responder delay, which will have to vary machine to machine and run to
run. In the end, you'd end up with a delay very similar to the global
test timeout anyway.

This change also narrows the original intent, though not the original
behaviour of the test. We would like to test that the timeout is used,
is accurate, and is configurable. Doing so without flakes is more work
than I'm willing to commit to right now.


  Commit: 087826d491eadb8a533f217322ae9d8f6ebba1af
      https://github.com/llvm/llvm-project/commit/087826d491eadb8a533f217322ae9d8f6ebba1af
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Semantics/OpenMP/default-none.f90
    A flang/test/Semantics/OpenMP/default-none02.f90

  Log Message:
  -----------
  [flang][OpenMP] Do not emit an error for CRITICAL inside DEFAULT(NONE) (#216403)

Fixes #197394
Fixes #197396

Assisted-By: Claude Sonnet 5


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp

  Log Message:
  -----------
  [CIR][NFC] Share getSuccessorInputs across region-branch ops (#220509)

All ten CIR ops implementing `RegionBranchOpInterface` hand-wrote
`getSuccessorInputs`, and all ten implementations expressed the same
behavior: regions take no inputs, while returning to the parent yields
the parent’s results.

Three appeared different but were equivalent: 
- `CleanupScopeOp` and `CoroBodyOp` unconditionally returned an empty
ValueRange, and neither declares results in ODS.
- `AwaitOp` returned region block arguments, but it carries
`NoRegionArguments`, so those ranges are always empty.

`CIR_RegionBranchOpBase` now declares the method and generates the
shared implementation through extraClassDefinition.


  Commit: 4698bcbb9403922c11b03c2f3e2fa10b97de3656
      https://github.com/llvm/llvm-project/commit/4698bcbb9403922c11b03c2f3e2fa10b97de3656
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    R clang/include/clang/Analysis/FlowSensitive/DataflowValues.h
    R clang/include/clang/StaticAnalyzer/Core/PathSensitive/SummaryManager.h

  Log Message:
  -----------
  [clang] Remove dead headers (NFC) (#221161)

None of these headers are referenced anywhere in the repository.


  Commit: 4c986c23921d7b020eee08e622af8aac7e37d2d9
      https://github.com/llvm/llvm-project/commit/4c986c23921d7b020eee08e622af8aac7e37d2d9
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    A clang/include/clang/CodeGenUtils/CodeGenUtils.h
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CMakeLists.txt
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenModule.cpp
    A clang/lib/CodeGenUtils/CMakeLists.txt
    A clang/lib/CodeGenUtils/CodeGenUtils.cpp

  Log Message:
  -----------
  [NFCI] Extract out some functions into CodeGenUtils. (#221001)

I need to use these for CIR (see #220946). Also, its been a long-time
coming that we had a way to share stuff between both CodeGens.

This patch does (hopefully) the infrastructure work to get this running
right.

I asked Claude to help me with the CMake files, and best I can tell it
looks right? But if someone knows better, please let me know. I suspect
we might need to add dependencies along the way as we add new things,
but this seems to work at the moment?

Otherwise, this just moves a handful of trivial utilities that seemed
like a good starting point, plus one I need for CIR right away.


  Commit: 63aa7d51854b9bd9d28905a0f234f4a2ffa6154d
      https://github.com/llvm/llvm-project/commit/63aa7d51854b9bd9d28905a0f234f4a2ffa6154d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

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

  Log Message:
  -----------
  [SLP][NFC]Add a test with missed vectorization due to tree size inflate for splats, NFC



Reviewers: 

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


  Commit: 71d89856082c7d9d81b6f9ef50ae6145a51edf03
      https://github.com/llvm/llvm-project/commit/71d89856082c7d9d81b6f9ef50ae6145a51edf03
  Author: Kirby Chin <Kirby.Chin at ibm.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/XRay/InstrumentationMap.cpp
    A llvm/test/tools/llvm-xray/SystemZ/Inputs/elf64-pic.yaml
    A llvm/test/tools/llvm-xray/SystemZ/extract-instrmap.test

  Log Message:
  -----------
  [XRay] Enable XRay for SystemZ (#213577)

Fixes InstrumentationMap parsing for big-endian targets and adds SystemZ
support.


  Commit: 9853cb54d9d2684b27f0d0db89c00c2da7e31b88
      https://github.com/llvm/llvm-project/commit/9853cb54d9d2684b27f0d0db89c00c2da7e31b88
  Author: Michael G. Kazakov <mike.kazakov at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/pstl.h
    M libcxx/include/__pstl/backend_fwd.h
    M libcxx/include/__pstl/backends/default.h
    M libcxx/include/__pstl/backends/libdispatch.h
    M libcxx/include/__pstl/backends/serial.h
    M libcxx/include/__pstl/backends/std_thread.h
    A libcxx/include/__pstl/cpu_algos/min_element.h
    M libcxx/include/module.modulemap.in
    M libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
    M libcxx/test/libcxx/algorithms/pstl.nodiscard.verify.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.min.max/pstl.max_element.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.min.max/pstl.max_element_comp.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.min.max/pstl.min_element.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.min.max/pstl.min_element_comp.pass.cpp
    M libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp

  Log Message:
  -----------
  [libc++][pstl] Implementation of parallel std::min_element() based on parallel reduce (#219876)

This PR adds an implementation of parallel `std::min_element()` based on
parallel reduce.
`std::max_element()` is also added, implemented as a "one-liner" over
`min_element`.

The implementation formulates `min_element` as a reduction of iterators
over the input range.
The reduction is provided in two forms: 2-element reduction that picks
the iterator pointing to a smaller value, and a range-based reduction
with init value. The latter delegates the heavy-lifting to the serial
implementation of `std::min_element()`.

Part of #99938.


  Commit: 54f7d98d52413399a14111bfede1c9e388ac62c7
      https://github.com/llvm/llvm-project/commit/54f7d98d52413399a14111bfede1c9e388ac62c7
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/netdb.yaml
    M libc/src/netdb/CMakeLists.txt
    A libc/src/netdb/gai_strerror.cpp
    A libc/src/netdb/gai_strerror.h
    M libc/test/src/netdb/CMakeLists.txt
    A libc/test/src/netdb/gai_strerror_test.cpp

  Log Message:
  -----------
  [libc][netdb] Implement gai_strerror POSIX function. (#221138)

`gai_strerror` is defined in POSIX and used to provide human-readable
strings for `EAI_*` error codes returned by
`getaddrinfo` and `getnameinfo`.

Provide our implementation via simple switch. Provide string values
based on the POSIX documentation for `EAI_`
values in
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/netdb.h.html,
but shorten them for brevity.


  Commit: 117e53c28efd4944b6860e62fb4517c0d603ec87
      https://github.com/llvm/llvm-project/commit/117e53c28efd4944b6860e62fb4517c0d603ec87
  Author: Andrew Gaul <andrew at gaul.org>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/test/CodeGen/X86/cmp.ll
    M llvm/test/CodeGen/X86/optimize-compare.mir
    A llvm/test/CodeGen/X86/peephole-test-after-shl.ll

  Log Message:
  -----------
  [X86] Remove TEST after SHL by 1..3 when the shifted operand dies (#220744)

optimizeCompareInstr refuses to reuse the flags of a SHL by 1..3 so that
TwoAddressInstructionPass may still convert the shift into an LEA, which
sets no flags. That conversion exists to avoid a register copy, so it
can only pay off while the shifted operand has further uses; when the
shift is the operand's sole user, the reservation costs a TEST (2-3
bytes and a uop) for nothing. Allow the conversion in that case, as
already done for SHR, SAR, and larger SHL counts.

An x86lint audit of Firefox's libxul.so counted 4,369 redundant TESTs
after immediate shifts, dominated by single-use left shifts by a small
count feeding a compare against zero, e.g. Rust's Layout size checks
(shl $1; test; je). This also composes with dda2c12275e5: 63-bit lowmask
compares shrunken to SHL by 2 now drop their TEST as well.


  Commit: ca7890e9f76dc6ec709c5c452f7761bf0ab67625
      https://github.com/llvm/llvm-project/commit/ca7890e9f76dc6ec709c5c452f7761bf0ab67625
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/include/clang/AST/NestedNameSpecifier.h
    M clang/include/clang/AST/NestedNameSpecifierBase.h
    M clang/lib/AST/ASTImporter.cpp

  Log Message:
  -----------
  [clang] remove unused NestedNameSpecifier 'Invalid' constructor (#221128)

These invalid NNS were used as thombstone keys for DenseMap, but the
DenseMap implementation changed and that's not needed anymore.


  Commit: 14f097ec3f2bef83e852d9ded7b117fcf2f4e103
      https://github.com/llvm/llvm-project/commit/14f097ec3f2bef83e852d9ded7b117fcf2f4e103
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/i386/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/pwd.yaml
    M libc/src/pwd/CMakeLists.txt
    A libc/src/pwd/getpwnam.cpp
    A libc/src/pwd/getpwnam.h
    A libc/src/pwd/getpwuid.cpp
    A libc/src/pwd/getpwuid.h
    M libc/src/pwd/pwd_utils.cpp
    M libc/src/pwd/pwd_utils.h
    M libc/test/src/pwd/CMakeLists.txt
    A libc/test/src/pwd/getpwnam_test.cpp
    A libc/test/src/pwd/getpwuid_test.cpp

  Log Message:
  -----------
  [libc] Add getpwnam and getpwuid entrypoints (#221169)

Added non-reentrant getpwnam and getpwuid functions using the shared
process-global buffer.

* Implemented getpwnam and getpwuid entrypoints
* Added non-reentrant find_by_name and find_by_uid lookups
* Added function specifications to include/pwd.yaml
* Registered entrypoints in config/linux/*/entrypoints.txt
* Added unit tests in libc/test/src/pwd/getpwnam_test.cpp and
libc/test/src/pwd/getpwuid_test.cpp

Assisted-by: Automated tooling, human reviewed.


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

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

  Log Message:
  -----------
  [Bazel] Fixes 4c986c2 (#221242)

This fixes 4c986c23921d7b020eee08e622af8aac7e37d2d9 (#221001).

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

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


  Commit: 49f13a5a8014591c4431c4c85e217c62c2705c65
      https://github.com/llvm/llvm-project/commit/49f13a5a8014591c4431c4c85e217c62c2705c65
  Author: lntue <lntue at google.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/fcntl.yaml
    M libc/include/llvm-libc-macros/linux/fcntl-macros.h
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/posix_fadvise.h
    M libc/src/fcntl/CMakeLists.txt
    M libc/src/fcntl/linux/CMakeLists.txt
    A libc/src/fcntl/linux/posix_fadvise.cpp
    A libc/src/fcntl/posix_fadvise.h
    M libc/test/src/fcntl/CMakeLists.txt
    A libc/test/src/fcntl/posix_fadvise_test.cpp

  Log Message:
  -----------
  [libc][fcntl] Implement posix_fadvise function. (#220790)

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

Assisted-by: Gemini


  Commit: 4154b56ccc70220dca3fa1226fc8a24bafd90ac3
      https://github.com/llvm/llvm-project/commit/4154b56ccc70220dca3fa1226fc8a24bafd90ac3
  Author: Berkay Sahin <berkaysahindev at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp

  Log Message:
  -----------
  [clangd][modules] Support go-to-definition on module imports (#219839)

Fixes https://github.com/clangd/clangd/issues/2310


  Commit: 1268903b40387fc9e70b250662225fdd74074c22
      https://github.com/llvm/llvm-project/commit/1268903b40387fc9e70b250662225fdd74074c22
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M lldb/source/Host/windows/PythonRuntimeLoaderWindows.cpp

  Log Message:
  -----------
  [lldb][Windows] Fix unused function GetModulePath warning with certain Python options (#221173)

If LLDB_PYTHON_DLL_RELATIVE_PATH is OFF, or it is ON and
LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME is OFF, then GetModulePath is
unused.
```
<...>/lldb/source/Host/windows/PythonRuntimeLoaderWindows.cpp(32,13): warning: unused function 'GetModulePath' [-Wunused-function]
   32 | std::string GetModulePath(HMODULE module) {
      |             ^~~~~~~~~~~~~
```

Rearrange the macros to define GetModulePath only if both options are
enabled.


  Commit: e33e88551902cadfd7162719f18189d63489796e
      https://github.com/llvm/llvm-project/commit/e33e88551902cadfd7162719f18189d63489796e
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/file.h

  Log Message:
  -----------
  [flang-rt][NFC] Initialize OpenFile::nextId_ (#221187)

`OpenFile::nextId_` had no initializer and is assigned only in
`Predefine()`, which runs for the three preconnected units. A unit
created by `OPEN` therefore leaves it indeterminate. Added missing
initializer.

Assisted-by: AI


  Commit: 47fee85e3b5e4c749829a2ebac498dc89e6a5f2c
      https://github.com/llvm/llvm-project/commit/47fee85e3b5e4c749829a2ebac498dc89e6a5f2c
  Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    A flang/test/Transforms/FIRToMemRef/view-op-wraps-array-coor.mlir

  Log Message:
  -----------
   [flang][FIRToMemRef] Look through zero-offset views to find fir.array_coor (#215402)

`getMemRefInfo` dispatched only on a FIR memref's immediate defining op,
so a fir.declare (or other zero-offset view) wrapping
`fir.array_coor`/indexing `fir.coordinate_of` was treated as an opaque
scalar reference, dropping bounds information and causing incorrect
runtime behavior (e.g. missing array dimensions) after inlining under an
OpenACC kernels loop.

This peeks through zero-offset FortranObjectViewOpInterface views
(fir.declare, ref/box fir.convert, fir.box_addr, fir.volatile_cast,
fir.create_box, unsliced fir.embox/fir.rebox) for a genuine
fir.array_coor/indexing fir.coordinate_of underneath and dispatches
bounds-aware lowering on it.


  Commit: c599c4c8a61243795f9cb1922464d6bbc8f95686
      https://github.com/llvm/llvm-project/commit/c599c4c8a61243795f9cb1922464d6bbc8f95686
  Author: Aochang Liu <102237385+HelloWorldU at users.noreply.github.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    A llvm/test/CodeGen/X86/coalesce-commute-partial-def-implicit-read.mir

  Log Message:
  -----------
  [RegisterCoalescer] Do not commute def when a partial def implicitly reads it (#220979)

## Problem

Since f44079db22036d0ade2cf3d2e5a24bde5d378efd, instruction selection
can produce partial register writes (e.g. MOV8rm into sub_8bit) that
implicitly read the rest of the 64-bit register. When
removeCopyByCommutingDef commutes the feeding OR to remove a COPY, it
rewrites only explicit operands and then erases the old definition from
the live interval.
The partial write still implicitly reads that value, so
`JoinVals::analyzeValue` asserts on `Instruction is reading nonexistent
value`.

## Fix

Extend the existing reader check from `use_nodbg_operands` to
`reg_nodbg_operands`, and use `readsReg()` to identify operands that
read `AValNo`. Reject the commute when such a reader is also a def, just
as for a tied use, because it cannot be rewritten independently.

This catches partial defs without introducing a separate scan over all
defs.

## Testing

- New MIR regression test crashes on main (RegisterCoalescer.cpp:2885
assertion) and passes with this change.
- No end-to-end .ll test is included: on the latest HEAD the pass
pipeline no longer takes the branch that triggered the original
assertion.

Resolves #220302


  Commit: 6a46cee8e7dbed35560b1f1bf518f4c1c7391866
      https://github.com/llvm/llvm-project/commit/6a46cee8e7dbed35560b1f1bf518f4c1c7391866
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvdot4a8i.td
    M llvm/test/CodeGen/RISCV/rvv/zvdot4a8i-sdnode.ll

  Log Message:
  -----------
  [RISCV] Add isel pattern for vdot4aus.vx (#221047)

The splat of i32 and bitcast is probably not realistic. I'm just trying
to cover the assymmetry in the patterns with this patch.

Assisted-by: Claude


  Commit: 1346f98d0e116d989d7e8659154b54c9d47b3b7a
      https://github.com/llvm/llvm-project/commit/1346f98d0e116d989d7e8659154b54c9d47b3b7a
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/lib/AST/CommentSema.cpp
    M clang/test/Sema/warn-documentation.cpp
    M clang/test/Sema/warn-documentation.m

  Log Message:
  -----------
  [Comment] Fix @method/@methodgroup/@callback false positives (#220787)

76af74004e8b (#181769) refactored the DiagSelect computation in
checkFunctionDeclVerbatimLine to use named enum constants instead of
magic numbers. The checks for whether the comment was attached to an
Objective-C method, a method group, or a pointer to a function
declaration were removed for the @method, @methodgroup, and @callback
cases, which caused warn_doc_function_method_decl_mismatch to be emitted
even when the comments were attached to matching declarations.

Restore the dropped checks.

rdar://184264978


  Commit: a1b86bdaef6b0b0e0d6b4dbb3354fa024de2f1b2
      https://github.com/llvm/llvm-project/commit/a1b86bdaef6b0b0e0d6b4dbb3354fa024de2f1b2
  Author: Akash Banerjee <akash.banerjee at amd.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    A flang/test/Lower/OpenMP/target-update-derived-type-usm.f90
    A flang/test/Lower/OpenMP/target-update-derived-type.f90

  Log Message:
  -----------
  [Flang][OpenMP] Optimize target updates of derived-type scalars (#219488)

Pack AMDGPU derived-type scalar updates into a single transfer and
generated target region, avoiding one costly runtime transfer per
component. Preserve existing lowering for unsupported clauses, pointer
components, and non-AMDGPU targets.


  Commit: 9cda50c8427fc17663f102392729bbf68cd8178e
      https://github.com/llvm/llvm-project/commit/9cda50c8427fc17663f102392729bbf68cd8178e
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/test/CIR/CodeGenCUDA/kernel-call.cu
    A clang/test/CIR/CodeGenCUDA/uniform-work-group-size.cu
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/func.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Target/LLVMIR/Import/function-attributes.ll
    M mlir/test/Target/LLVMIR/Import/instructions.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [CIR] Implement "uniform_work_group_size" func attribute. (#214708)


  Commit: 26d3c25b8184193e7952f14151245166fa010f62
      https://github.com/llvm/llvm-project/commit/26d3c25b8184193e7952f14151245166fa010f62
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    A clang/test/CIR/CodeGen/destructor-vtable-reinit-strict.cpp
    A clang/test/CIR/CodeGen/destructor-vtable-reinit.cpp

  Log Message:
  -----------
  [CIR] Implement 'vtable initialization' lowering (#220946)

This showed up in a test suite, and is basically just ensuring that our
vtable pointers are properly cleaned up during destruction. The entirety
of the static functions (and the implementation) are near word-for-word
copies of what classic codegen does.

However, there ARE a few parts that are potentially untested(including
strict-vtable-pointers which aren't implemented yet), but the
implementation is put in place, as it is a mechanical copy/paste
implementation.

Note: Claude came up with additional test cases.


  Commit: defde181bce666df9ceeb57cf8f8ad4cda6c6675
      https://github.com/llvm/llvm-project/commit/defde181bce666df9ceeb57cf8f8ad4cda6c6675
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp

  Log Message:
  -----------
  [flang][NFC] Add FortranObjectLoadOpInterface for load provenance (#221088)

The definition walk in AliasAnalysis::getSourceImpl already keys the
address half of a descriptor access chain on
FortranObjectViewOpInterface (fir.box_addr, fir.create_box,
fir.convert), but the load step was hardcoded to fir::LoadOp. Any other
operation whose result is a value read from memory therefore terminated
the walk at SourceKind::Unknown, losing the AllocDeref/PointerDeref root
and coarsening alias results for everything reached through the loaded
descriptor.

Add FortranObjectLoadOpInterface as the value-producing dual of
FortranObjectViewOpInterface: a view op forwards an address, a load-like
op yields the value read from one. It declares a single getLoadSource
method reporting the memory reference a result was read from. fir.load
implements it as getMemref(), so this is NFC, and the box-load case in
getSourceImpl now keys on the interface instead of the concrete op.

The interface documents provenance only and makes no purity claim, so an
operation whose result depends on more than the contents of the memory
reference can participate as long as it models those extra dependences
through its memory effects. Consumers must not use the interface to
justify value-based transformations such as CSE or load forwarding.

Assisted-by: Cursor


  Commit: 4b8839f67a8508a6ee0005c6757b287d645d202f
      https://github.com/llvm/llvm-project/commit/4b8839f67a8508a6ee0005c6757b287d645d202f
  Author: John Brawn <john.brawn at arm.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/LoopIdiom/memmove-ext.ll

  Log Message:
  -----------
  [LoopIdiom] Adjust memmove-ext.ll test (#221251)

Some of the functions in this test have an iv value of 0 in the first
iteration which which is then used in a sub nuw which would result in
poison. Adjust these to use 1 in the first iteration.


  Commit: c7ba46e37d78cb39c3940f255ec907930f85e577
      https://github.com/llvm/llvm-project/commit/c7ba46e37d78cb39c3940f255ec907930f85e577
  Author: andre <andsun9999 at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

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

  Log Message:
  -----------
  [clang-format] Parse ObjC generics in block literal return types (#220995)

The unwrapped line parser handled a block literal's return type as a
single identifier or type keyword followed by optional stars. A return
type carrying ObjC generics or a protocol qualifier, such as
`^NSArray<NSString *> *(int x) { ... }` or `^id<Proto>(int x) { ... }`,
was therefore not recognized as a block, and its body was treated as a
function body instead. This collapsed the body like a short function
and, with `RemoveSemicolon: true`, dropped the semicolon terminating the
enclosing statement, producing code that no longer compiles.

Skip a balanced angle-bracket list after the return type before looking
for the parameter list and body.

Fixes #219713

Assisted-by: Claude Code


  Commit: c8fbd8226a3717c1f9de8c0270b6f4d57f046f1e
      https://github.com/llvm/llvm-project/commit/c8fbd8226a3717c1f9de8c0270b6f4d57f046f1e
  Author: Venkatesh Srinivasan <156861430+venk-ks at users.noreply.github.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/AST/Decl.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/Analysis/cstring-syntax.c
    M clang/test/Sema/builtins.c
    M clang/test/Sema/warn-fortify-source.c

  Log Message:
  -----------
  [Clang][Sema] Add fortify warnings for strlcat (#220341)

Add `-Wfortify-source` diagnostics for `strlcat` and `__builtin_strlcat`
when the size argument exceeds the destination buffer size.

Also add `-Wno-fortify-source` to `clang/test/Analysis/cstring-syntax.c`
to prevent the new compiler diagnostic from interfering with static
analyzer checks on intentionally underflowing test expressions.

Part of #142230

Assisted-by: Gemini


  Commit: 08d499665a145b4f9074324ed259015850809473
      https://github.com/llvm/llvm-project/commit/08d499665a145b4f9074324ed259015850809473
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/test/CIR/CodeGen/agg-atomic-cast.c

  Log Message:
  -----------
  [CIR] Support Aggregate cast from and to atomic type (#220689)

Support Aggregate cast from and to atomic type


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvdot4a8i.td
    M llvm/test/CodeGen/RISCV/rvv/zvdot4a8i-sdnode.ll

  Log Message:
  -----------
  [RISCV] Make RISCVISD::VDOT4A_VL/VDOT4AU_VL commutative. (#221051)

Assisted-by: Claude


  Commit: f5afe7a2ecb261b46800d60328d5943b4f80978a
      https://github.com/llvm/llvm-project/commit/f5afe7a2ecb261b46800d60328d5943b4f80978a
  Author: Ambrose Leeb <aleeb at nvidia.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors2.cpp

  Log Message:
  -----------
  [NFC] [Clang] [CodeGen] Reduce code duplication when emitting trap calls (#221022)

There are a number of places in codegen where we do this:
```c++
llvm::CallInst *TrapCall = EmitTrapCall(llvm::Intrinsic::trap);
TrapCall->setDoesNotReturn();
TrapCall->setDoesNotThrow();
Builder.CreateUnreachable();
Builder.ClearInsertionPoint();
```

This patch adds a helper that does this and updates `EmitTrapCall()` to
no longer create a new block after emitting the trap call.

One test had to be updated because an unnecessary block was dropped.
Before, we were generating this:
```llvm
dtor.call_delete_after_array_destroy:             ; preds = %dtor.vector.cont
  call void @llvm.trap() #7
  unreachable

6:                                                ; No predecessors!
  unreachable
```
The second block here is now no longer present, which caused some
instruction renumbering.


  Commit: 79844094b2ddb18b3b1bcdac8d7ed758b3240f4d
      https://github.com/llvm/llvm-project/commit/79844094b2ddb18b3b1bcdac8d7ed758b3240f4d
  Author: Kunal Pathak <kupathak at meta.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/test/Transforms/SampleProfile/pseudo-probe-no-debug-info.ll

  Log Message:
  -----------
  [PseudoProbe] Prevent invalid callsite identities in inline trees (#219079)

Prevent debugless calls in inlined `nodebug` functions from inheriting
the caller's packed pseudo-probe discriminator. Such inheritance aliases
distinct calls onto one probe index and makes the resulting callsite
profile stale. Add a regression test covering the emitted callsite
probe.

Consider:

```
A:
  probe #2
  call B

B:              // nodebug
  call C

```

After inlining B into A, LLVM gets:

```
A:
  call C
```

Because B has no debug locations, the inliner gives call C the location
of A -> B. That is sensible for debugging: the instruction now appears
at the inlining location.

The problem is that this location also contains pseudo-probe `ID #2`.
That ID identifies the original A -> B callsite. It doesn't mean "code
executing inside A."

Without the fix, call C therefore looks like:

```
call C, debug-location = A's probe #2
```

Later, PseudoProbeInserter sees the packed discriminator and emits a
machine call probe using its encoded function GUID, probe index, and
type.

That creates a false identity:

```
probe (A, #2, DirectCall)
call C
```

But `(A, #2)` describes `A -> B`, not `B -> C`. Samples collected at C
can consequently be attributed to the wrong source callsite and later
appear stale.

The fix retains everything useful while clearing only the
identity-bearing discriminator.

Thus the result is conceptually:

```
call C, debug-location = A's source location,
        inline context = preserved,
        pseudo-probe identity = none
```

LLVM cannot recover a usable B -> C location here. Because B is nodebug,
it has no DISubprogram, source location, or scope on which to encode its
callsite probe. Synthesizing these would invent debug information and
conflict with nodebug semantics; carrying probe identity independently
would require a broader representation change.
The conservative fix preserves A’s source location, inline context, and
ordinary DWARF base discriminator, while removing the incorrectly
inherited A → B pseudo-probe identity. Having no encoded probe for B → C
is preferable to assigning it a different callsite’s identity.


Assisted-By: Claude

---------

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


  Commit: e022499fdf1e2581a9ed5d97e1e50cc5775c9cb1
      https://github.com/llvm/llvm-project/commit/e022499fdf1e2581a9ed5d97e1e50cc5775c9cb1
  Author: Kunal Pathak <kupathak at meta.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/BranchFolding.cpp
    A llvm/test/CodeGen/X86/pseudo-probe-tail-merging.mir

  Log Message:
  -----------
  [CodeGen] Preserve pseudo-probe context when tail merging (#219502)

BranchFolder normally ignores debug locations when deciding whether
machine instructions are identical. That allowed it to merge
`PSEUDO_PROBE `instructions and calls carrying packed pseudo-probe
discriminators even when they came from different inline contexts.
Merging their debug locations then kept only the common outer ancestry,
which moved profile attribution to the wrong callsite.

Keep tail merging enabled, but stop matching at a probe-sensitive
instruction unless both instructions have the same source and inline
context. Call probes also require the same packed discriminator. Tails
from the same probe context remain eligible for merging.

Add MIR coverage for block probes and call probes, including checks that
same-context tails still merge, under both the legacy and new pass
managers.

Assisted by: Claude


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/CodeGen/TargetInfo.cpp
    M clang/lib/CIR/CodeGen/TargetInfo.h
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
    M clang/test/CIR/CodeGen/bitfield-union.c
    M clang/test/CIR/CodeGen/bitfields.c
    M clang/test/CIR/CodeGen/bitfields.cpp
    M clang/test/CIR/CodeGen/bitfields_be.c
    R clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty-bitfield-member-nyi.cpp
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty.cpp
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-packed.c
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-zero-width-bitfield.c
    M clang/test/CIR/CodeGen/dumb-record.cpp
    M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
    M clang/test/CIR/CodeGen/mms-bitfields.c
    M clang/test/CIR/CodeGen/no-unique-address.cpp
    M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
    M clang/test/CIR/CodeGen/record-member-kinds.c
    M clang/test/CIR/CodeGen/record-member-kinds.cpp
    M clang/test/CIR/CodeGen/record-zero-init-padding.c
    A clang/test/CIR/IR/invalid-bitfield-member.cir
    M clang/test/CIR/IR/invalid-struct.cir
    M clang/test/CIR/IR/struct.cir
    M clang/test/CIR/Lowering/copy-skip-tail-padding.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-aggregate-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-bitfield.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-empty-class.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-struct-padded.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-union.cir
    M clang/unittests/CIR/RecordMemberKindTest.cpp

  Log Message:
  -----------
  [CIR] Update bit-field representation (#221030)

This changes the way that bit-fields are represented in CIR. It adds a
new type to explicitly represent bit-field access units, with an
attribute on this type describing the individual bit-fields within the
access unit, including the declared type of each field.

Assisted-by: Cursor / claude-opus-5


  Commit: 7b928cbe4cbd4001e5f124f6bda4949654ac636e
      https://github.com/llvm/llvm-project/commit/7b928cbe4cbd4001e5f124f6bda4949654ac636e
  Author: quic-k <kushpal at qti.qualcomm.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

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

  Log Message:
  -----------
  [Github][libc] Download Hexagon qemu in the libc container (#219433)

This only makes the emulator available in the image. Enabling the
Hexagon libc tests in CI is a follow-up change.

Signed-off-by: Kushal Pal <kushpal at qti.qualcomm.com>


  Commit: fbf159f8ce633ff83e77231a0da3c65ecf0a9a60
      https://github.com/llvm/llvm-project/commit/fbf159f8ce633ff83e77231a0da3c65ecf0a9a60
  Author: Chen Li <thechenli.dev at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/unittests/Expression/DWARFExpressionTest.cpp

  Log Message:
  -----------
  [lldb][AMDGPU] Support terminal DW_OP_LLVM_piece_end (#220774)

AMDGPU can emit a location expression whose pieces are followed by a
terminal DW_OP_LLVM_piece_end. LLDB already assembles the DW_OP_piece
operands into its single out-of-band composite, but currently rejects
the final LLVM user operation.

Recognize one terminal DW_OP_LLVM_piece_end as a no-op. A non-terminal
occurrence, including the first of multiple piece-end operations,
remains an error. This intentionally does not implement multiple
composite location descriptions.

Specification:

https://llvm.org/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.html

The regression test matches the two-register expression observed in a
GPU core file and covers the unsupported multiple-piece-end form.

Testing:
- Built tools/lldb/unittests/Expression/ExpressionTests in a Debug +
assertions build from current main
- ExpressionTests: 164/164 passed

Co-authored-by: Chen Li <chenlii at fb.com>


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

  Changed paths:
    M flang/test/Lower/OpenMP/target-update-derived-type.f90

  Log Message:
  -----------
  [flang][openmp] Add missing REQUIRES line for -triple amdgcn-amd-amdhsa (#221300)

This fails on build without amd target

```
 error: unable to create target: 'No available targets are compatible with triple "amdgcn-amd-amdhsa"'
```


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/logical-reduction-booleanized-leaves.ll

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



Reviewers: 

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


  Commit: e912c522d306b62b3f0fdcc7916711802a862799
      https://github.com/llvm/llvm-project/commit/e912c522d306b62b3f0fdcc7916711802a862799
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaType.cpp
    M clang/test/Sema/nullability.c

  Log Message:
  -----------
  [Sema] Don't crash filling TypeLoc for a reused AttributedType (#220139)

TypeProcessingState::takeAttrForAttributedType assumed every
AttributedType encountered while filling a declarator's TypeLoc had an
(AttributedType*, Attr*) pair registered earlier in the same
TypeProcessingState's AttrsForTypes.

That assumption doesn't hold when the AttributedType is inherited from
another declarator, for example when __typeof__ reuses a type built for
a different declaration. In that case,
TypeProcessingState::getAttributedType, the function that registers the
pair, is never called.

Return a null Attr* instead of calling llvm_unreachable when no entry is
found. This is the Attr* that AttributedTypeLoc uses for the current
declarator's TypeLoc, and null is right here because the current
declarator never spelled the attribute itself.

Fixes #217489

rdar://184781693


  Commit: d1d2f30a29515296870f925ea0c2d041851cd961
      https://github.com/llvm/llvm-project/commit/d1d2f30a29515296870f925ea0c2d041851cd961
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp

  Log Message:
  -----------
  Revert "[clang-tidy][NFC] Test all bugprone-exception-escape option modes" (#221306)

The test became flaky on downstream builders after this commit, so
reverting this now.

Reverts llvm/llvm-project#221164


  Commit: 90ed5503f3365cdc6af3ef009638e14602223137
      https://github.com/llvm/llvm-project/commit/90ed5503f3365cdc6af3ef009638e14602223137
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/stdlib.yaml
    M libc/src/stdlib/CMakeLists.txt
    A libc/src/stdlib/getloadavg.h
    M libc/src/stdlib/linux/CMakeLists.txt
    A libc/src/stdlib/linux/getloadavg.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    A libc/test/src/stdlib/getloadavg_test.cpp

  Log Message:
  -----------
  [libc] implement getloadavg (#221049)

Implement the `getloadavg` function which was originally added in BSD
but also adopted by linux.

Assisted-by: Automated tooling, human reviewed


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

  Changed paths:
    M flang/include/flang/Optimizer/Support/InternalNames.h
    M flang/lib/Optimizer/Support/InternalNames.cpp
    M flang/unittests/Optimizer/InternalNamesTest.cpp

  Log Message:
  -----------
  [flang] Add flag to exclude string literal in isCompilerGenerated (#221305)

Add a flag to exclude string literals read-array constant from
isCompilerGenerated. On by default.


  Commit: 2449bae16b32b994282263be4cf1ece9441032f3
      https://github.com/llvm/llvm-project/commit/2449bae16b32b994282263be4cf1ece9441032f3
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/limits.yaml
    M libc/include/llvm-libc-macros/limits-macros.h
    M libc/include/unistd.yaml
    M libc/src/__support/OSUtil/linux/syscall_wrappers/getpriority.h
    M libc/src/unistd/CMakeLists.txt
    M libc/src/unistd/linux/CMakeLists.txt
    A libc/src/unistd/linux/nice.cpp
    A libc/src/unistd/nice.h
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/nice_test.cpp

  Log Message:
  -----------
  [libc] implement nice (#221048)

Implement the `nice` function as defined in POSIX, as well as
approrpiate tests.

Assisted-by: Automated tooling, human reviewed.


  Commit: d58de5d4825ab186213edc8ad4d190bea5f90d6f
      https://github.com/llvm/llvm-project/commit/d58de5d4825ab186213edc8ad4d190bea5f90d6f
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/utils/lit/lit/formats/googletest.py
    M llvm/utils/lit/lit/main.py
    A llvm/utils/lit/tests/googletest-filter-out.py

  Log Message:
  -----------
  [lit] Apply --filter-out to GoogleTest shard results (#220410)

[lit] Apply --filter-out to tests expanded from GoogleTest shards

A GoogleTest shard is a single lit test at discovery time, so
`--filter-out` can only match the shard's name and has no way to
deselect individual gtest cases. The cases only get real names once
`post_process_shard_results` expands the shard's JSON output.

Apply the filter there instead: mark expanded subtests whose full name
matches `--filter-out` as EXCLUDED. Record `has_failure_in_shard` before
the filter is applied, so a shard whose only failing cases were filtered
out is still considered accounted for and is not additionally reported as
a failure of the parent shard.

Add a test which filters out the failing and unresolved cases of the
googletest-format inputs and checks that the run reports 2 excluded
and no failures.

Assisted-By: Claude Opus 5.


  Commit: 330b49f03ff4bf8005c9dc95e6ffc37b341bbbd2
      https://github.com/llvm/llvm-project/commit/330b49f03ff4bf8005c9dc95e6ffc37b341bbbd2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/VPlan/memory-checks.ll

  Log Message:
  -----------
  [LV] Add VPlan printing tests for memory runtime check generation (NFC) (#221232)

Add VPlan printing tests with runtime check blocks, as well as coverage
for checks where one of the bounds involves an AddRec.


  Commit: c5ce4517a1492cb33a00b8d0bc4d896c45b7e7bb
      https://github.com/llvm/llvm-project/commit/c5ce4517a1492cb33a00b8d0bc4d896c45b7e7bb
  Author: Dave MacLachlan <dmaclach at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp

  Log Message:
  -----------
  [include-cleaner] Support Objective-C toll-free bridged casts (#216158)

Handle `CK_CPointerToObjCPointerCast` in `WalkAST` to report implicit
case when converting id/void to an Objective-C type (non-arc only). Also
adds unit tests for various bridged cast types (these were already
covered, but this verifies that they work).


  Commit: 9377616866e43201bdc3c0a0b6c8008d83cff5de
      https://github.com/llvm/llvm-project/commit/9377616866e43201bdc3c0a0b6c8008d83cff5de
  Author: Vedran Miletić <vedran at miletic.net>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/cmake/modules/CrossCompile.cmake

  Log Message:
  -----------
  [cmake] Fix ninja clean failure for cross-compilation native build dir (#200641)

Ninja clean treats every build OUTPUT as a path to remove(). When NATIVE
(the cross-compilation host sub-build directory) was registered directly
as the OUTPUT of the CREATE_<project>_<target> custom command, ninja
tried to remove() it as if it were a file and failed with "Directory not
empty".

Fixed by introducing a stamp file (NATIVE/created.stamp) as the sole
CMake OUTPUT of that custom command. The stamp file is what ninja cleans
(a single file removal), while make_directory remains idempotent on
subsequent builds.


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

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/test/Target/LLVMIR/omptarget-debug-runtime-call-loc.mlir

  Log Message:
  -----------
  [OMPIRBuilder] Keep the target construct's location for the deinit call (#221303)

#217407 gave __kmpc_target_init and __kmpc_target_deinit a debug
location by setting the outlined function's location once, before
generating the target body. The init call is emitted before the body and
keeps it, but the deinit call is emitted after, and by then the body may
have replaced it.

The body callback builds the body with its own IRBuilder, so nothing it
emits can disturb the one createOutlinedFunction() uses for the
epilogue. But a body holding another OpenMP construct, a nested parallel
say, calls OpenMPIRBuilder::createParallel, and that leaves the builder
pointing at the wrong debug location, or at none at all. The deinit call
then silently loses its !dbg again.

The test added with #217407 uses a target region whose body is a single
store. Such a body never calls back into OpenMPIRBuilder, the location
survives, and the gap was not visible.

Re-establish the outlined function's location after the body callback,
before emitting the epilogue. The epilogue belongs to the target
construct rather than to whatever the body emitted last, so this is the
location it should carry, and init and deinit go back to agreeing.

Extends the existing test with a nested parallel, which fails on the
deinit check without this change.

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


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

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/test/CodeGen/NVPTX/arithmetic-fp-sm20.ll
    M llvm/test/CodeGen/NVPTX/fma-assoc.ll
    M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
    M llvm/test/CodeGen/NVPTX/fma.ll
    M llvm/test/CodeGen/NVPTX/fp-contract-f32x2.ll
    M llvm/test/CodeGen/NVPTX/fp-contract.ll
    M llvm/test/CodeGen/NVPTX/fp-literals.ll
    M llvm/test/CodeGen/NVPTX/scalarize-non-coalescable-v2f32.ll

  Log Message:
  -----------
  NVPTX: Drop global AllowFPOpFusion read from allowFMA (#221313)

We're near the end of the decade long effort to eliminate the
fast math fields from TargetOptions. This is one of the few
remaining consumers, so remove it. Update incidentally
changed tests by adding contract flags.

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


  Commit: 46b146da9c4a2af790a7b5125c7be50a981aef29
      https://github.com/llvm/llvm-project/commit/46b146da9c4a2af790a7b5125c7be50a981aef29
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/test/CIR/CodeGen/agg-atomic-cast.c
    M clang/test/CIR/CodeGen/delegating-ctor.cpp
    M clang/test/CIR/CodeGen/implicit-value-init-expr.cpp
    M clang/test/CIR/CodeGen/new.cpp
    M clang/test/CIR/CodeGen/paren-list-agg-init.cpp

  Log Message:
  -----------
  [CIR] Emit Memset in emitNullInitialization for default inits case (#221029)

Emit the cir.libc.memset op in emitNullInitialization for the default
inits case, which ends up with emitted IR identical to the original
codegen and eliminates the need to create a private global instance of a
struct with zero init


  Commit: 3a96f29e9279d54b47ab800a1d0e57042b85448c
      https://github.com/llvm/llvm-project/commit/3a96f29e9279d54b47ab800a1d0e57042b85448c
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    A libc/utils/cmake_format.py
    A libc/utils/cmake_format_test.py

  Log Message:
  -----------
  [libc] Add CMake formatting utility (#213102)

Added libc/utils/cmake_format.py and libc/utils/cmake_format_test.py to
format LLVM and subproject CMake files according to LLVM-libc formatting
conventions.

The formatter operates in three passes:

* Lexer: Tokenises input using the cmake-language(7) EBNF specification
into typed Token objects with line and column position tracking.
* Dynamic Schema Scanner: Pre-scans repository CMake modules and
function blocks to learn option, single-value, and multi-value keyword
argument schemas from cmake_parse_arguments and set calls.
* Token-Stream Formatter: Applies 2-space control block nesting, keyword
casing, comment buffering, and multi-line list indentation in a single
pass.

The utility supports parallel multi-core execution (-j/--jobs) and
in-place file formatting (-i/--inplace). Added 44 unit tests covering
formatting rules, edge cases, schema scanning, and error diagnostics.

Assisted-by: Automated tooling, human reviewed.


  Commit: 75c039164e55107151f1b1c72dc7aab4265934ff
      https://github.com/llvm/llvm-project/commit/75c039164e55107151f1b1c72dc7aab4265934ff
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/fold-tail-low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll
    M llvm/test/Transforms/LoopVectorize/replace-first-order-recurrence-by-versioned-iv.ll

  Log Message:
  -----------
  [VPlan] Preserve nneg when expanding SCEVZeroExtendExpr. (#221322)

Add nneg to ZExt when expanding a SCEV where SCEV can prove it is
non-negative, matching behavior of IR SCEVExpander::visitZeroExtendExpr.


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

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

  Log Message:
  -----------
  [DAG] SplitVecRes_VECTOR_COMPRESS - rename MaskVT -> LoMaskVT. NFC. (#221285)

MaskVT refers to LoMask's type not the original Mask type.

Noticed in #215772 - avoids some potential Wshadow confusion.


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/induction-cost.ll

  Log Message:
  -----------
  [VPlan] Extend induction cost test coverage (NFC). (#221323)

Widen induction-cost.ll's filter to cover all induction recipes and the
canonical IV increment, run it for two VFs, and add the FP and pointer
induction shapes it was missing entirely: scalarized
FAdd/FSub/invariant-step inductions, a dead induction in the vector
loop, one with both wide and scalar users, one inside a replicate
region, a fully unrolled one, and FP-plus-pointer and pointer-only
loops.


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-mixed-extends.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with incorrect comparison after vectorization, NFC



Reviewers: 

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


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/pr48727.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
    M llvm/test/CodeGen/X86/vector-trunc-nowrap.ll
    M llvm/test/CodeGen/X86/vector-trunc.ll

  Log Message:
  -----------
  [X86] combineX86ShuffleChain - only fold to truncate(concat(v1,v2)) if the concat is free (#221280)

Ensure we don't increase the shuffle chain depth


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-mixed-extends.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbw-node-used-twice.ll

  Log Message:
  -----------
  [SLP]Fix narrowing of icmp with mismatched operand extensions

Keep the narrow compare only if the predicate matches the operand
signedness; otherwise extend the operands back to the original
compared type.

Fixes #221240

Reviewers: 

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


  Commit: 3b0bb49c3f56a0560e2d68dd3358f580feb88092
      https://github.com/llvm/llvm-project/commit/3b0bb49c3f56a0560e2d68dd3358f580feb88092
  Author: Stan Ulbrych <stan at python.org>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
    M compiler-rt/test/ubsan/TestCases/Integer/summary.cpp

  Log Message:
  -----------
  [compiler-rt][ubsan] Fix trailing whitespace in SUMMARY line when function is unknown (#221335)

Fixes #30851. ReportErrorSummary always rendered "%L %F", but %F expands
to nothing when the function name is unknown, leaving a dangling space
at the end of the line. Instead, oly add the function name if it is
known.


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

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Lower/CUDA/cuda-gpu-pinned2.f90

  Log Message:
  -----------
  [flang][cuda] Make sure that CUDA is enabled when adding PINNED implicit attribute (#221334)

PINNED was not guarded like MANAGED. Just make a general guard for both.


  Commit: 1315e04a5c0b8e4f0f789c99a87970314f547f30
      https://github.com/llvm/llvm-project/commit/1315e04a5c0b8e4f0f789c99a87970314f547f30
  Author: SharonXSharon <xiaoranxu.nju at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    A compiler-rt/test/sanitizer_common/TestCases/Posix/opendir_null.cpp

  Log Message:
  -----------
  [memprof] check path in opendir interceptor (#221309)

The sanitizer `opendir` interceptor unconditionally calls
`internal_strlen(path)` before forwarding to the real function.
Passing `nullptr` therefore causes the sanitizer runtime itself to
dereference address zero.

Add a unit test using a `LD_PRELOAD` shim to verify that a null path
reaches the real implementation without crashing the interceptor.

---------

Co-authored-by: Sharon Xu <sharonxu at fb.com>


  Commit: 6bfbb2ef1bf54cf1b0491226094a2a7bd5c6d6c5
      https://github.com/llvm/llvm-project/commit/6bfbb2ef1bf54cf1b0491226094a2a7bd5c6d6c5
  Author: Savvas Shiakas <savvas.shiakas at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.md
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/SortIncludesTest.cpp

  Log Message:
  -----------
  [clang-format] Add FilesBeforeFolders option to SortIncludes (#208954)

Add a new `SortIncludes.FilesBeforeFolders` boolean option that, when
enabled, sorts includes so that files in a directory appear before
subdirectories at each level, recursively. Within a level, files and
subdirectories are each sorted alphabetically.

For example:

```
       true:                             false (default):
       #include "x.h"             vs.    #include "bar/alpha/e.h"
       #include "y.h"                    #include "bar/alpha/f.h"
       #include "z.h"                    #include "bar/beta/d.h"
       #include "bar/g.h"                #include "bar/g.h"
       #include "bar/h.h"                #include "bar/h.h"
       #include "bar/i.h"                #include "bar/i.h"
       #include "bar/alpha/e.h"          #include "foo/a.h"
       #include "bar/alpha/f.h"          #include "x.h"
       #include "bar/beta/d.h"           #include "y.h"
       #include "foo/a.h"                #include "z.h"
```

Assisted-by: Github Copilot CLI


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

  Changed paths:
    M flang-rt/lib/cuda/allocator.cpp

  Log Message:
  -----------
  [flang][cuda] Unify locking regime for the allocation table (#221341)

The lock was acquired in insertAsyncDeviceAllocation but not in other
function. Move the lock outside of the function so the locking regime is
homogeneous.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpow.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpowi.mir

  Log Message:
  -----------
  [AMDGPU] Carry the fpow expansion flags through its f32 round trip (#220681)

But do not carry ninf across the fpow round trip.


  Commit: 9abbc9183d2231c2e44198100a6cd22ef66e2eb8
      https://github.com/llvm/llvm-project/commit/9abbc9183d2231c2e44198100a6cd22ef66e2eb8
  Author: SharonXSharon <xiaoranxu.nju at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/unique-internal-linkage-names.cpp
    M clang/test/DebugInfo/Generic/unique-internal-linkage-names-dwarf.c
    M clang/test/DebugInfo/Generic/unique-internal-linkage-names-dwarf.cpp

  Log Message:
  -----------
  [clang] Revert "Disable Unique Internal Linkage Names for internal global vars." (#219261)

https://reviews.llvm.org/D98392 "Disable Unique Internal Linkage Names
for internal global vars" in 2021. Summary said "Demanglers do not
recognize clone suffixes for global variables, so disable unique linkage
suffixes until demanglers can be fixed."

Now LLVM's demangler handles suffixed data symbols today:

  $ llvm-cxxfilt _ZL8glob_foo.__uniq.123
  glob_foo (.__uniq.123)

So reverting the change. 
The asm-label exclusion added is preserved and now applies to variables
too: a static variable with an asm label keeps its label verbatim.

---------

Co-authored-by: Sharon Xu <sharonxu at fb.com>


  Commit: 183d180db76a10b099d68e3dc931a279d6e62314
      https://github.com/llvm/llvm-project/commit/183d180db76a10b099d68e3dc931a279d6e62314
  Author: robertvirany <robertvirany at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

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

  Log Message:
  -----------
  [NVPTX] Support volatile local loads and stores in PTX 9.1 (#217764)

PTX ISA 9.1 adds support for the `.volatile` qualifier with the `.local`
state space on `ld` and `st` instructions.

Emit `ld.volatile.local` and `st.volatile.local` when targeting PTX 9.1
or later. Earlier PTX versions retain the existing plain local
load/store lowering.

Add code-generation coverage for both PTX 9.0 and PTX 9.1.


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

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

  Log Message:
  -----------
  Wasm: Remove unnecessary cast and error (#221179)


  Commit: 7669fda940f3350eae2d50c09ec4c9939e930bda
      https://github.com/llvm/llvm-project/commit/7669fda940f3350eae2d50c09ec4c9939e930bda
  Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
    M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td

  Log Message:
  -----------
  [NFC][SelectionDAG] Give the contract PatFrags a GlobalISel predicate (#219725)

The contract PatFrags carried only a PredicateCode, so GlobalISelEmitter skipped every pattern built on them.

Assisted-By: Claude Code 5


  Commit: 657af0e310347a44afad9bfd4e9189da0a638b73
      https://github.com/llvm/llvm-project/commit/657af0e310347a44afad9bfd4e9189da0a638b73
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/docs/DebuggingLLVM.md

  Log Message:
  -----------
  [Docs] Document IR printing options (#221260)

Document the pass-by-pass IR printing options in DebuggingLLVM.md.

This covers:
- selecting passes by name or invocation number;
- change-only printing and output scope;
- filtering by pass, function, and source location;
- source-location filter syntax, matching behavior, and an example;
- persistent metadata IDs in repeated debug dumps.

This is a follow-up to #203393 and the documentation request in
https://github.com/llvm/llvm-project/pull/203393#pullrequestreview-5103117577.


  Commit: 5478e3e2515aebd50d1c8782b4ebee4ba12724c9
      https://github.com/llvm/llvm-project/commit/5478e3e2515aebd50d1c8782b4ebee4ba12724c9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaLookup.cpp
    M llvm/include/llvm/ADT/FoldingSet.h

  Log Message:
  -----------
  [clang][Sema] Use DenseMap for SpecialMemberCache (NFC) (#221304)

This patch replaces llvm::FoldingSet with llvm::DenseMap for
SpecialMemberCache in Sema.

SpecialMemberCache is fundamentally a key-value cache that maps a class
and qualification flags to a SpecialMemberOverloadResult.  The current
implementation is heavy because each entry in FoldingSet requires a
160-byte SpecialMemberOverloadResultEntry on the bump allocator arena.

LookupSpecialMember returns SpecialMemberOverloadResult by value.  As
such, there is no need to use the bump allocator for pointer stability.

This patch also removes FastFoldingSetNode as we are removing the last
use.

Assisted-by: Antigravity


  Commit: 2bce2d4f85937368dbdf91e40733a07309624ed5
      https://github.com/llvm/llvm-project/commit/2bce2d4f85937368dbdf91e40733a07309624ed5
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaWasm.h
    M clang/lib/CodeGen/Targets/WebAssembly.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaWasm.cpp
    A clang/test/CodeGen/WebAssembly/wasm-global-export.c
    A clang/test/CodeGen/WebAssembly/wasm-global-import.c
    A clang/test/CodeGen/WebAssembly/wasm-import-error.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M clang/test/Sema/attr-wasm.c
    M llvm/lib/MC/WasmObjectWriter.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
    M llvm/test/CodeGen/WebAssembly/export-name.ll
    A llvm/test/CodeGen/WebAssembly/import-error.ll
    M llvm/test/CodeGen/WebAssembly/import-module.ll

  Log Message:
  -----------
  [WebAssembly] Add support for import and export name attributes on global vars (#201966)

Currently these attributes are only supported on functions.
This change adds support for import_name, export_module and export_name
to global variables.
For addrspace(1) global variables, which lower to wasm globals, they are
directly appended to the
wasm export. For addrspace 0 globals, the address is exported.

It also fixes the behavior of the existing export_name attribute on
functions, implementing correct
merging behavior to handle cases of duplicate or conflicting
declarations.

Assisted-by: Antigravity


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

  Changed paths:
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/ABIInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    A clang/test/CodeGenCXX/windows-x86_64-varargs.cpp

  Log Message:
  -----------
  [clang][win] Extend scoped enum varargs for the Windows x64 ABI (#221356)

Fixes #220712

Scoped enum values don't undergo default integer promotions, so they
don't naturally get extended to 32-bit integers. However, MSVC appears
to extend scoped enum values, *specifically* when they appear as
variadic arguments, but *not* when the are passed as fixed arguments:
https://godbolt.org/z/oGozjMnEn

I think we should do the same. I think the main upshot here is that
users will be able to `printf("%d\n", my_u8_enum);` without casting to
`int` explicitly. Even if the `va_arg(ap, int)` on the printf side is
*technically* UB, this seems like a sharp corner we really ought to sand
off.

I dug up some references for how we handle this on the SysV side, and it
seems that we do extend there: a71cc1536167f44f542da2857685f01aa29c0e55

Codex decided it was worth plumbing the `IsNamedArg` boolean through the
ARM64EC classification side channel for good measure.

Assisted-by: Codex


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

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Transforms/ACCRoutineToGPUFunc.cpp

  Log Message:
  -----------
  [mlir][openacc] Avoid per-routine module walks in ACCRoutineToGPUFunc (#221345)

ACCRoutineLowering uniquifies the specialized device copy (foo -> foo_0)
while acc.specialized_routine still names the original host function.
Moving those copies into gpu.func then called replaceAllSymbolUses on
the whole module once per routine, which is quadratic in the number of
specialized routines.

Collect the src->dest renames and rewrite symbol uses in a single walk
of the module body (still skipping nested symbol tables). Insert the
gpu.func ops under the final names afterward.

On a large TU this speeds up this pass by 3.5x


  Commit: bbf0680e6bc2e887e12138ab037ba90bcd12298e
      https://github.com/llvm/llvm-project/commit/bbf0680e6bc2e887e12138ab037ba90bcd12298e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/unittests/Transforms/IPO/LowerTypeTests.cpp

  Log Message:
  -----------
  [NFC][LowerTypeTests] Support ordering in GlobalLayoutBuilder with Less comparator (#221044)

Allow callers to guide fragment placement in GlobalLayoutBuilder using
an optional comparator.

This is a prerequisite for
https://github.com/llvm/llvm-project/pull/221046,
which reorders CFI jump table entries according to profile and ThinLTO
call edge hotness. Passing an ordering comparator allows
GlobalLayoutBuilder
to sort elements within strict types and place the globally hottest
fragment at the end of the jump table, while preserving 100% contiguity
(single range checks without holes) for all type subsets.

PR Stack:
* https://github.com/llvm/llvm-project/pull/220776
* https://github.com/llvm/llvm-project/pull/221043
* ➤ https://github.com/llvm/llvm-project/pull/221044
* https://github.com/llvm/llvm-project/pull/221045
* https://github.com/llvm/llvm-project/pull/221046

Assisted-by: Gemini


  Commit: 2cbdbc9ad7ff40457023c8f353161069df8eb57f
      https://github.com/llvm/llvm-project/commit/2cbdbc9ad7ff40457023c8f353161069df8eb57f
  Author: Reid Kleckner <rkleckner at nvidia.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/docs/CMakeLists.txt
    M clang/include/clang/Options/ClangOptionDocs.td
    M clang/include/clang/Options/Options.td
    M clang/utils/TableGen/ClangOptionDocEmitter.cpp

  Log Message:
  -----------
  [clang][docs] Generate command line reference as Markdown (#220385)

Update the Clang option documentation emitter to generate MyST Markdown
for the generated command-line reference page. I discovered and
preserved a complicated existing Sphinx program-name workaround for
option IDs that collide after punctuation normalization.

The only markup on Options.td is in the DocBrief fields, and those use
very little markup, so those were all migrated by the agent, not
rst2myst. I unindented the multi-line DocBrief bodies, because
indentation has semantics in both markdown (list indentation) and reST.

Tracking issue: #201242 

0.1288% pixels differ in the rendered HTML page.

Assisted-by: Codex


  Commit: 9faf317eff5ef76aff7addfbd0360f380e803026
      https://github.com/llvm/llvm-project/commit/9faf317eff5ef76aff7addfbd0360f380e803026
  Author: Chris Apple <cja-private at pm.me>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-diff.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h

  Log Message:
  -----------
  [clang-tidy] Normalize windows line filter paths (#217038)

`git | clang-tidy-diff.py` emits line-filter paths with forward slashes,
while Windows compilation databases use a mix of forwards and backwards
slashes. These paths are then silently rejected (and no report is
emitted).

Reproduce on windows via:
```
git.exe diff -U0 main -- . | python clang-tidy-diff.py -p1 -path .\build"
```

Git will produce a path like:
```
my/source/file.cpp
```

The compilation database has files with entries like this:
```
  "file": "C:\\dev\\repo\\my\\source\\file.cpp",
  "output": "my\\source\\CMakeFiles\\source.dir\\file.cpp.obj"
```

Clang tidy tries to match these paths, but fails on the slash
comparison.


Do a few things to fix this:
* Normalize filter paths with `llvm::sys::path::convert_to_slash()`
before matching the compilation database. This is a no-op on posix, but
converts windows forward slashes to backwards.
* Normalize `Filter.Name` paths when parsed
* Write a couple more unit tests for windows specific paths that expose
this behavior
* Enable another UNSUPPORTED test for windows clang-tidy-diff (and make
it run in a nested directory to exercise the issue

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


  Commit: 158e0f34bafdd4fd39e1fb4129e64244eea6904d
      https://github.com/llvm/llvm-project/commit/158e0f34bafdd4fd39e1fb4129e64244eea6904d
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/test/CIR/CodeGenCUDA/builtins-nvvm-atomic.cu

  Log Message:
  -----------
  [CIR][NVPTX] Lower __nvvm_atom_cas_gen_* builtins (#221261)


  Commit: b5fe885e5d2d96c353887671184560d12c90cb03
      https://github.com/llvm/llvm-project/commit/b5fe885e5d2d96c353887671184560d12c90cb03
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    M clang/test/CIR/CodeGenBuiltins/NVPTX/builtins-nvptx-sync.cu

  Log Message:
  -----------
  [CIR][NVPTX] Lower __nvvm_bar0_{and,or,popc} builtins (#221255)


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

  Changed paths:
    M .ci/metrics/Dockerfile

  Log Message:
  -----------
  [CI] Require hashes for pip install in metrics container (#221373)

We generate the requirements lock file with hashes, but did not actually
require them before now, which is best practice.


  Commit: 977f609431050144483c92dc8a3dd170c38167f6
      https://github.com/llvm/llvm-project/commit/977f609431050144483c92dc8a3dd170c38167f6
  Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/test/CIR/CodeGenCoroutines/coro-builtins.cpp

  Log Message:
  -----------
  [CIR] Add cir.coro.intrinsic.promise Op (#221124)

This PR adds `cir.coro.intrinsic.promise`, representing
`llvm.coro.promise`, to the set of coroutine intrinsic ops. It also adds
the corresponding lowering to `llvm.coro.promise`.


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

  Changed paths:
    M .ci/utils.sh

  Log Message:
  -----------
  [CI] Require hashes for premerge python dep installation (#221376)

This is best practice and the requirements file is already a lockfile
with hashes.


  Commit: 3efd20d463e1b1210d2ff07cd79b68d6fa215f24
      https://github.com/llvm/llvm-project/commit/3efd20d463e1b1210d2ff07cd79b68d6fa215f24
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td

  Log Message:
  -----------
  [RISCV] Remove unused tablegen classes. NFC (#221286)

This removes VPatBinaryFPSDNode_R_VF and VPatBinaryFPVL_R_VF. The have
_RM version that are used instead.


  Commit: 2fd31faf6ec53ad7fc0c92355856367b9c5f3ad8
      https://github.com/llvm/llvm-project/commit/2fd31faf6ec53ad7fc0c92355856367b9c5f3ad8
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

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

  Log Message:
  -----------
  [RegAllocFast] Assert that isTiedToNotUndef() takes a def. NFC (#221120)

Improve a comment after #219482. And tidy MBB.liveins()


  Commit: a638ce4ea02fe59d0ffba4a81408ddb86cfa0ecc
      https://github.com/llvm/llvm-project/commit/a638ce4ea02fe59d0ffba4a81408ddb86cfa0ecc
  Author: Qiongsi Wu <qiongsiwu at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/AtomicLineLogger.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Basic/AtomicLineLogger.cpp
    M clang/lib/Driver/ModulesDriver.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp
    A clang/test/ClangScanDeps/depscan-log-path.c
    A clang/test/ClangScanDeps/logging-driver-flag.c
    M clang/test/ClangScanDeps/logging-simple-by-name.c
    M clang/test/ClangScanDeps/logging-simple.c
    A clang/test/Driver/modules-driver-depscan-log.cpp
    M clang/unittests/Basic/AtomicLineLoggerTest.cpp

  Log Message:
  -----------
  [clang][DependencyScanning] Add a Clang Driver Option to Enable Dependency Scanning Logging (#211966)

This PR adds a clang driver option to enable dependency scanning
logging. The important implementation detail is that the
`DependencyScanningService` holds a single instance of the logger, and
we need to route the option to the logger per scan. An `enable` method
is added to the logger's API to enable it with thread safety. A second
detail worth calling out is that the option is a driver option, so if a
`cc1` command is passed directly to the scanner, the option will not be
processed.


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

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

  Log Message:
  -----------
  [CI] Remove psutil from Windows container (#221377)


  Commit: ef7bfdcfd4e3b75db55b5d335e1cfca334d811ca
      https://github.com/llvm/llvm-project/commit/ef7bfdcfd4e3b75db55b5d335e1cfca334d811ca
  Author: yebinchon <yebin.chon at princeton.edu>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M flang/lib/Lower/Allocatable.cpp
    A flang/test/Lower/OpenACC/acc-declare-host-associated-allocatable.f90

  Log Message:
  -----------
  [flang][OpenACC] Resolve associations before testing declare flags (#221346)

The OpenACC declare flags are set by semantics on a single symbol: the
one resolved in the scope containing the !$acc declare directive. Any
other scope naming the same entity reaches it through an association
symbol, and those symbols carry their own, empty flag sets.
The allocate and deallocate action helpers tested the symbol taken
straight from the ALLOCATE or DEALLOCATE statement. For an allocatable
declared in a host scope and allocated in an internal subprogram the
AccDeclare test
therefore failed, no acc.declare_action attribute was attached, and
ACCDeclareActionConversion had nothing to convert. The emitted recipes
were never called, so the device copy was neither created on allocation
nor deleted on deallocation.
Resolve to the ultimate symbol and pass it on. Forwarding the resolved
symbol is required because the deallocation attach helpers independently
re-test the data clause flags.
This matches the rest of the OpenACC lowering, which already resolves
before reading these flags. Recipe names are unaffected because
mangleName resolves associations itself before mangling.

---------

Co-authored-by: Yebin Chon <ychon at nvidia.com>


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

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

  Log Message:
  -----------
  [CI][Github] Bump premerge CI containers to LLVM 23 (#218818)

To ensure we're using the latest release version of clang and friends
for things like warnings.


  Commit: c510577ad11d4c965076935b8fabf1dfe8c5703b
      https://github.com/llvm/llvm-project/commit/c510577ad11d4c965076935b8fabf1dfe8c5703b
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    M clang/test/CIR/CodeGenCUDA/builtins-nvvm-atomic.cu

  Log Message:
  -----------
  [CIR][NVPTX] Lower unscoped __nvvm_atom_add_gen_{f,d} (#221262)


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

  Changed paths:
    R llvm/test/CodeGen/Generic/bswap.ll
    M llvm/test/Integer/2007-01-19-TruncSext.ll
    M llvm/test/Transforms/LICM/2003-12-11-SinkingToPHI.ll

  Log Message:
  -----------
  [LLVM] Remove run lines that use the lli interpreter

We eventually want to get rid of the lli interpreter, and it doesn't
seem to be doing anything useful in any of these tests.

1. 2007-01-19-TruncSext.ll - Seems to only be testing the interpreter.
2. 2003-12-11-SinkingToPHI.ll - Should be asserting output like all the
   other Transforms tests.
3. bswap.ll - Doesn't even test what it purports to and the coverage is
   redundant with target-specific bswap lowering tests.

Reviewers: arsenm, nikic

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


  Commit: 5445a88935120d016d28d79bab58e612da5c8c5d
      https://github.com/llvm/llvm-project/commit/5445a88935120d016d28d79bab58e612da5c8c5d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/lib/Target/Mips/MipsInstrInfo.td
    M llvm/lib/Target/Mips/MipsMSAInstrInfo.td
    M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
    M llvm/test/CodeGen/Mips/fp-contract.ll

  Log Message:
  -----------
  Mips: Drop use of AllowFPOpFusion (#221324)


  Commit: 6bc35bba316a61c71b8b0adf817d7458d060d5e0
      https://github.com/llvm/llvm-project/commit/6bc35bba316a61c71b8b0adf817d7458d060d5e0
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

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

  Log Message:
  -----------
  [orc-rt] Fix -Wctad-maybe-unsupported warning in unit test. (#221399)

Avoid the warning by naming the mutex type on scoped_lock.

'std::scoped_lock' may not intend to support class template argument
deduction


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

  Changed paths:
    M orc-rt/test/unit/support/ErrorExceptionInteropTest.cpp

  Log Message:
  -----------
  [orc-rt] Check HandlerRan flag in unit test. (#221406)

Verifies that the expected catch handler ran, and eliminates an unused
variable warning.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
    M llvm/test/CodeGen/AMDGPU/fmuladd.f32.ll
    M llvm/test/CodeGen/AMDGPU/fmuladd.f64.ll
    M llvm/test/CodeGen/AMDGPU/fmuladd.v2f16.ll

  Log Message:
  -----------
  AMDGPU: Drop AllowFPOpFusion from FMA formation (#221409)

Exclusively use the flags so AllowFPOpFusion can be removed.

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


  Commit: 6a74483027ad46b641ba2b472e5c4429d2db56f4
      https://github.com/llvm/llvm-project/commit/6a74483027ad46b641ba2b472e5c4429d2db56f4
  Author: Hardik Kumar <hardikxk at gmail.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M clang/lib/Basic/Targets/AMDGPU.cpp

  Log Message:
  -----------
  [clang][amdgpu] resolve type mismatch warning in conditional comparison (#220526)

The following warning is generated because of a mismatch in the object
types.

```bash
/home/xane/Documents/shallowllvm/llvm-project/clang/lib/Basic/Targets/AMDGPU.cpp: In constructor ‘clang::targets::AMDGPUTargetInfo::AMDGPUTargetInfo(const llvm::Triple&, const clang::TargetOptions&)’:
/home/xane/Documents/shallowllvm/llvm-project/clang/lib/Basic/Targets/AMDGPU.cpp:200:37: warning: enumerated mismatch in conditional expression: ‘llvm::AMDGPU::ArchFeatureKind’ vs ‘llvm::AMDGPU::R600FeatureKind’ [-Wenum-compare]
  200 |       GPUFeatures(Triple.isAMDGCN() ? llvm::AMDGPU::FEATURE_NONE
      |                   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  201 |                                     : llvm::AMDGPU::getArchAttrR600(GPUKind)) {
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[1/166] Building CXX object tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CodeGenPGO.cpp.o^C
```

The type of `GpuFeatures` and return value of `getArchAttrR600()` is
ultimately an `unsigned` int value. Static cast the return value of the
method to `unsigned` to resolve the warning without any functional or
breaking changes.

Signed-off-by: Hardik Kumar <hardikxk at gmail.com>


  Commit: 8117819e5593ec3d69a5af3f2197e1eab55e20c1
      https://github.com/llvm/llvm-project/commit/8117819e5593ec3d69a5af3f2197e1eab55e20c1
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/test/CIR/IR/enum-attrs.cir

  Log Message:
  -----------
  [CIR] Migrate MemOrder and SyncScopeKind off IntegerAttr (#220884)

MemOrder and SyncScopeKind, the enums the atomic operations share,
generated
IntegerAttr subclasses with no dialect spelling of their own.

Both now set genSpecializedAttr = 0 and gain CIR_EnumAttr wrappers,
spelling
`#cir.mem_order<seq_cst>` and `#cir.sync_scope<system>`, and the atomic
operations wrap their arguments in `enum()` to keep the bare keyword.


  Commit: 60b5f9a06722dfc2c2e0661f0dedf52d60bcaddf
      https://github.com/llvm/llvm-project/commit/60b5f9a06722dfc2c2e0661f0dedf52d60bcaddf
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Support/GenericLoopInfo.h
    M llvm/include/llvm/Support/GenericLoopInfoImpl.h
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/test/Transforms/LoopUnroll/unloop.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch2.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch3.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/endless-unswitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/guards.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-select.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/partial-unswitch-loop-and-block-dispositions.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/update-scev-3.ll
    M llvm/unittests/Analysis/LoopInfoTest.cpp

  Log Message:
  -----------
  [LoopInfo] Add recompute() and use it in SimpleLoopUnswitch (#213514)

recomputeLoopBlockSet and rebuildLoopAfterUnswitch reconstruct by hand
with significant complexity, but analyze() cannot replace them: it
allocates a fresh Loop for every header, while ScalarEvolution stores
the loop pointer in every AddRec, the loop analysis manager keys its
cache on it, and the pass manager hands the running pass a `Loop &`.

Add LoopInfoBase::recompute, which reruns the analysis over the current
CFG but refills the loop each header already had.

Block lists now come out in the analysis's canonical order rather than
the original order filtered, renumbering cloned blocks in eight
SimpleLoopUnswitch tests.

Aided by Claude Opus 5


  Commit: 88280062751dd6f21edd223cdf59448a9b972d66
      https://github.com/llvm/llvm-project/commit/88280062751dd6f21edd223cdf59448a9b972d66
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

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

  Log Message:
  -----------
  DAGCombiner: Drop AllowFPOpFusion from isContractableFMUL (#221410)

This is a step toward removing the AllowFPOpFusion field from
TargetOptions.

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


  Commit: 8d8535e9846d2ff035aae345eda3a30aa24fe36e
      https://github.com/llvm/llvm-project/commit/8d8535e9846d2ff035aae345eda3a30aa24fe36e
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/.clang-tidy

  Log Message:
  -----------
  [clang-tidy][NFC] Disable misc-include-cleaner check (#221417)

This checks seem to give too many FP, disabling it for now.
E.g. it wants to always remove `SmallString.h` even if the header is
actually needed.


  Commit: 314fef96ab5940ec3a261237f81e00c3136fcf3e
      https://github.com/llvm/llvm-project/commit/314fef96ab5940ec3a261237f81e00c3136fcf3e
  Author: Federico Bruzzone <federico.bruzzone.i at gmail.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorization/insert-slice.mlir

  Log Message:
  -----------
  [mlir][linalg] Support non-trailing dropped dims when vectorizing rank-reducing `InsertSliceOp` (#219192)

`vectorizeAsInsertSliceOp` inferred a dynamic source dim's vector size
from `resultType.getDimSize(rankDiff + i)`, which only covers the case
where the rank-reducing dims dropped from `resultType` are the leading
ones and `source` maps to the trailing result dims.

Generalize this to the general case, where a dropped unit dim can be
anywhere, by using `sliceOp.getDroppedDims()` to map each source dim to
its actual corresponding (non-dropped) result dim.

Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>


  Commit: 2d9e9a3268663f36c0e4037eb6ae5e4312d3e2e0
      https://github.com/llvm/llvm-project/commit/2d9e9a3268663f36c0e4037eb6ae5e4312d3e2e0
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/test/CIR/IR/enum-attrs.cir

  Log Message:
  -----------
  [CIR] Migrate AssumeBundleKind, AtomicFetchKind and AsmFlavor off IntegerAttr (#220885)

AssumeBundleKind, AtomicFetchKind and AsmFlavor generated IntegerAttr
subclasses with no dialect spelling of their own. Each now sets
genSpecializedAttr = 0 and gains a CIR_EnumAttr wrapper.

Unlike the other CIR operation enums, these three are reached through
hand-written parsers and printers, so they needed checking individually.
cir.atomic.fetch references $binop declaratively and gains an `enum()`
wrapper. The other two need no change, since printAssumeBundle is
already
typed on cir::AssumeBundleKindAttr and InlineAsmOp::print streams the
enum
rather than the attribute.

Operation syntax is unchanged.


  Commit: 71d23be772c5db28ad768884c8c92c9df54c8233
      https://github.com/llvm/llvm-project/commit/71d23be772c5db28ad768884c8c92c9df54c8233
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
    M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseToUnderlyingCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Fix some clang-tidy violations after bump to 23 version (#221420)


  Commit: 4977a0c815c39fd90bb67c270174f2356ee9b5a7
      https://github.com/llvm/llvm-project/commit/4977a0c815c39fd90bb67c270174f2356ee9b5a7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/test/CodeGen/AArch64/arm64-neon-2velem.ll

  Log Message:
  -----------
  AArch64: Drop AllowFPOpFusion from the MachineCombiner FMA conditions (#221404)

Only use the flags, and add missing tests for a missing flag on only
one of the participating instructions. This is a step toward removing
the AllowFPOpFusion field from TargetOptions.

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


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/test/CIR/IR/enum-attrs.cir

  Log Message:
  -----------
  [CIR] Migrate GlobalLinkageKind, CallingConv and SideEffect off IntegerAttr (#220887)

GlobalLinkageKind, CallingConv and SideEffect generated IntegerAttr
subclasses with no dialect spelling of their own. Each now sets
genSpecializedAttr = 0 and gains a CIR_EnumAttr wrapper, and cir.global
wraps
$linkage in `enum()`. GlobalLinkageKind spells `#cir.linkage<internal>`,
dropping both the `global_` prefix and the `_kind` suffix.

cir.func and cir.call print all three by hand, but they stream
stringifyGlobalLinkageKind(getLinkage()) and friends, which take the
enum
rather than the attribute, so those sites are unchanged.

Operation syntax is unchanged.


  Commit: 49a9f5094b5c1d655072f03b337a137e4a1aad4e
      https://github.com/llvm/llvm-project/commit/49a9f5094b5c1d655072f03b337a137e4a1aad4e
  Author: ZERICO2005 <zerico2005 at gmail.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/fp-const-fold.ll
    M llvm/test/CodeGen/AArch64/literal_pools_float_apple.ll
    M llvm/test/CodeGen/AArch64/stack-hazard.ll
    M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
    M llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
    M llvm/test/CodeGen/AMDGPU/clamp.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.ll
    M llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-e5m3fnu.ll
    M llvm/test/CodeGen/AMDGPU/fmaxnum.ll
    M llvm/test/CodeGen/AMDGPU/fmaxnum.r600.ll
    M llvm/test/CodeGen/AMDGPU/fminnum.ll
    M llvm/test/CodeGen/AMDGPU/fminnum.r600.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines.ll
    M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
    M llvm/test/CodeGen/AMDGPU/fract-match.ll
    M llvm/test/CodeGen/AMDGPU/frexp-constant-fold.ll
    M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
    M llvm/test/CodeGen/AMDGPU/fsqrt.r600.ll
    M llvm/test/CodeGen/AMDGPU/issue92561-restore-undef-scc-verifier-error.ll
    M llvm/test/CodeGen/AMDGPU/jump-address.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-store-infinite-loop.ll
    M llvm/test/CodeGen/AMDGPU/modf-constant-fold.ll
    M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
    M llvm/test/CodeGen/AMDGPU/regalloc-spill-wmma-scale.ll
    M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-multi-store.ll
    M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr.ll
    M llvm/test/CodeGen/AMDGPU/select-cmp-shared-constant-fp.ll
    M llvm/test/CodeGen/AMDGPU/si-spill-cf.ll
    M llvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll
    M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
    M llvm/test/CodeGen/AMDGPU/vector-legalizer-divergence.ll
    M llvm/test/CodeGen/ARM/2012-04-24-SplitEHCriticalEdge.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-StaticSamplers-Invalid-MaxLod.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-StaticSamplers-Invalid-MinLod.ll
    M llvm/test/CodeGen/Hexagon/pull-no-comp-code.ll
    M llvm/test/CodeGen/RISCV/combine-is_fpclass.ll
    M llvm/test/CodeGen/RISCV/double-zfa.ll
    M llvm/test/CodeGen/RISCV/float-zfa.ll
    M llvm/test/CodeGen/SPIRV/debug-info/no-misplaced-opextinst.ll
    M llvm/test/CodeGen/SPIRV/literals.ll
    M llvm/test/CodeGen/VE/Scalar/fsqrt.ll
    M llvm/test/CodeGen/WebAssembly/immediates.ll
    M llvm/test/CodeGen/X86/coff-fp-section-name.ll
    M llvm/test/CodeGen/X86/extract-vselect-setcc.ll
    M llvm/test/CodeGen/X86/fp-undef.ll
    M llvm/test/CodeGen/X86/pr50374.ll
    M llvm/test/CodeGen/X86/setcc.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
    M llvm/test/Transforms/Attributor/nofpclass-canonicalize.ll
    M llvm/test/Transforms/Attributor/nofpclass-fmul.ll
    M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
    M llvm/test/Transforms/Attributor/nofpclass-select.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/CodeGenPrepare/AMDGPU/no-sink-addrspacecast.ll
    M llvm/test/Transforms/EarlyCSE/atan.ll
    M llvm/test/Transforms/FunctionAttrs/nofpclass.ll
    M llvm/test/Transforms/FunctionAttrs/noundef.ll
    M llvm/test/Transforms/InstCombine/2009-01-19-fmod-constant-float-specials.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/fmed3.ll
    M llvm/test/Transforms/InstCombine/X86/x86-fp-minmax-negzero.ll
    M llvm/test/Transforms/InstCombine/X86/x86-scalar-max-min.ll
    M llvm/test/Transforms/InstCombine/constant-fold-nextafter.ll
    M llvm/test/Transforms/InstCombine/constant-fold-nexttoward-fp128.ll
    M llvm/test/Transforms/InstCombine/constant-fold-nexttoward-ppc-fp128.ll
    M llvm/test/Transforms/InstCombine/constant-fold-nexttoward-x86-fp80.ll
    M llvm/test/Transforms/InstCombine/erf.ll
    M llvm/test/Transforms/InstCombine/fcmp-range-check-idiom.ll
    M llvm/test/Transforms/InstCombine/fdim.ll
    M llvm/test/Transforms/InstCombine/fma.ll
    M llvm/test/Transforms/InstCombine/fmod.ll
    M llvm/test/Transforms/InstCombine/fneg.ll
    M llvm/test/Transforms/InstCombine/fold-fcmp-trunc.ll
    M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
    M llvm/test/Transforms/InstCombine/frexp.ll
    M llvm/test/Transforms/InstCombine/ilogb.ll
    M llvm/test/Transforms/InstCombine/intrinsic-select.ll
    M llvm/test/Transforms/InstCombine/is_fpclass.ll
    M llvm/test/Transforms/InstCombine/log1p.ll
    M llvm/test/Transforms/InstCombine/logb.ll
    M llvm/test/Transforms/InstCombine/maximum.ll
    M llvm/test/Transforms/InstCombine/maxnum.ll
    M llvm/test/Transforms/InstCombine/minimum.ll
    M llvm/test/Transforms/InstCombine/minnum.ll
    M llvm/test/Transforms/InstCombine/nanless-canonicalize-combine.ll
    M llvm/test/Transforms/InstCombine/pow-exp.ll
    M llvm/test/Transforms/InstCombine/remquo.ll
    M llvm/test/Transforms/InstCombine/select-fcmp-fmul-zero-absorbing-value.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-aggregates.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/AMDGPU/cos.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/AMDGPU/fract.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/AMDGPU/sin.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/trunc.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/atan-intrinsic.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/basictest.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/fma.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/fp-undef.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/min-max.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/sinh-cosh-intrinsics.ll
    M llvm/test/Transforms/InstSimplify/X86/fp-nan-strictfp.ll
    M llvm/test/Transforms/InstSimplify/call.ll
    M llvm/test/Transforms/InstSimplify/canonicalize.ll
    M llvm/test/Transforms/InstSimplify/const-fold-nvvm-f2i-d2i.ll
    M llvm/test/Transforms/InstSimplify/const-fold-nvvm-f2ll-d2ll.ll
    M llvm/test/Transforms/InstSimplify/const-fold-nvvm-fma.ll
    M llvm/test/Transforms/InstSimplify/constfold-constrained.ll
    M llvm/test/Transforms/InstSimplify/exp10.ll
    M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
    M llvm/test/Transforms/InstSimplify/floating-point-compare.ll
    M llvm/test/Transforms/InstSimplify/fp-nan.ll
    M llvm/test/Transforms/InstSimplify/fp-undef-poison.ll
    M llvm/test/Transforms/InstSimplify/fptoi-sat.ll
    M llvm/test/Transforms/InstSimplify/pr122582.ll
    M llvm/test/Transforms/InstSimplify/sincos.ll
    M llvm/test/Transforms/InstSimplify/strictfp-fadd.ll
    M llvm/test/Transforms/LoopVectorize/select-last-index-fp.ll
    M llvm/test/Transforms/SCCP/float-nan-simplification.ll
    M llvm/test/Transforms/SLPVectorizer/X86/deleted-inst-reduction-attempt.ll
    M llvm/test/Transforms/SLPVectorizer/X86/entry-no-bundle-but-extra-use-on-vec.ll
    M llvm/test/Transforms/SimplifyCFG/ARM/speculate-math.ll
    M llvm/test/Transforms/SimplifyCFG/speculate-math.ll
    M llvm/test/Transforms/Util/libcalls-shrinkwrap-strictfp.ll
    M llvm/test/tools/llubi/fp_cast.ll
    M llvm/test/tools/llubi/fp_nan_quieting.ll
    M llvm/test/tools/llubi/fp_nan_target_specific_sparc.ll
    M llvm/test/tools/llubi/fp_nan_target_specific_wasm32.ll
    M llvm/test/tools/llubi/fp_nan_unchanged.ll
    M llvm/test/tools/llubi/intr_fp_vector_reduce.ll
    M llvm/test/tools/llvm-reduce/reduce-operands-fp.ll
    M llvm/unittests/Analysis/ValueTrackingTest.cpp

  Log Message:
  -----------
  [llvm][NFC] canonicalize qnan hexadecimal literals to +-qnan (#221379)

Follow up to https://github.com/llvm/llvm-project/pull/221019 and
https://github.com/llvm/llvm-project/pull/221056

Replaces the literal for `qNaN` `0x7FF8000000000000` with the canonical
form of `+qnan` and etc.

Ignored files
```
llvm/docs/LangRef.md
llvm/lib/Target/AMDGPU/SIISelLowering.cpp
llvm/test/CodeGen/AArch64/GlobalISel/combine-fminimum-fmaximum.mir
llvm/test/CodeGen/AArch64/GlobalISel/combine-fminnum-fmaxnum.mir
llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
llvm/test/CodeGen/MIR/NVPTX/floating-point-immediate-operands.mir
llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
llvm/test/CodeGen/X86/canonicalize-vars.ll
llvm/test/CodeGen/X86/is_fpclass.ll
llvm/test/tools/llubi/fp_nan_preferred.ll
llvm/test/tools/llubi/fp_nan_target_specific_x86_64_linux.ll
llvm/test/Transforms/ExpandIRInsts/AMDGPU/frem-inf.ll
```
Commands
```sh
rg -l -0 ' 0x7FF8000000000000\b' llvm \
  | xargs -0 perl -pi -e 's/ 0x7FF8000000000000\b/ +qnan/g'

rg -l -0 ' 0x7ff8000000000000\b' llvm \
  | xargs -0 perl -pi -e 's/ 0x7ff8000000000000\b/ +qnan/g'

rg -l -0 ' 0xFFF8000000000000\b' llvm \
  | xargs -0 perl -pi -e 's/ 0xFFF8000000000000\b/ -qnan/g'

rg -l -0 ' 0xfff8000000000000\b' llvm \
  | xargs -0 perl -pi -e 's/ 0xfff8000000000000\b/ -qnan/g'
```


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/extract-with-poison-index.ll

  Log Message:
  -----------
  [SLP]Fix crash on extractelement with undef/poison index in getEntryCost

canReuseExtract treats undef/poison-index extracts as holes, so such
extracts can end up in a vectorized ExtractElement entry. The cost
model dereferenced getExtractIndex() unconditionally, causing a crash.

Fixes #221414

Reviewers: 

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


  Commit: 06c952dbbcdab5cbc16e7a0251ba3b4266dd21f1
      https://github.com/llvm/llvm-project/commit/06c952dbbcdab5cbc16e7a0251ba3b4266dd21f1
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with loop-carried reductions, NFC



Reviewers: 

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


  Commit: 229aa7df428338dcbbae03514aaae74c916f485f
      https://github.com/llvm/llvm-project/commit/229aa7df428338dcbbae03514aaae74c916f485f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/TargetOptionsImpl.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/ARC/ARCFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMSubtarget.cpp
    M llvm/lib/Target/CSKY/CSKYFrameLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
    M llvm/lib/Target/M68k/M68kFrameLowering.cpp
    M llvm/lib/Target/MSP430/MSP430FrameLowering.cpp
    M llvm/lib/Target/Mips/MipsFrameLowering.cpp
    M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.cpp
    M llvm/lib/Target/Sparc/SparcFrameLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/VE/VEFrameLowering.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp

  Log Message:
  -----------
  CodeGen: Move frame-pointer queries out of TargetOptions (#221416)

These used to depend on a TargetOptions field, which was removed
at some point. These are now only depend on MachineFunction,
so move the attribute check there.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: 5cba2fc3ee234ccf5e6e55c2007ddbfb6b73ff54
      https://github.com/llvm/llvm-project/commit/5cba2fc3ee234ccf5e6e55c2007ddbfb6b73ff54
  Author: Tadeusz <tadeuszjt at protonmail.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/test/SemaCXX/attr-availability.cpp

  Log Message:
  -----------
  [Clang] Fix Crash in Sema::DiagnoseUnguardedAvailability On 'if' With No Condition (#220004)

**Problem**
C++ 23 introduced consteval expressions which allows `if` statements to
have no condition:
```
if consteval {
}
```
`DiagnoseUnguardedAvailability::TraverseIfStmt` Assumed `If->getCond()`
would never return a `nullptr`, causing a `nullptr` dereference.

Fixes #219948


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/clmul-vector-256.ll
    M llvm/test/CodeGen/X86/clmul-vector-512.ll
    M llvm/test/CodeGen/X86/clmul-vector.ll
    M llvm/test/CodeGen/X86/pdep-vector-128.ll
    M llvm/test/CodeGen/X86/pdep-vector-256.ll
    M llvm/test/CodeGen/X86/pdep-vector-512.ll
    M llvm/test/CodeGen/X86/pext-vector-128.ll
    M llvm/test/CodeGen/X86/pext-vector-256.ll
    M llvm/test/CodeGen/X86/pext-vector-512.ll
    M llvm/test/CodeGen/X86/znver-pdep.ll
    M llvm/test/CodeGen/X86/znver-pext.ll

  Log Message:
  -----------
  [X86] LowerCLMUL - improve vXi32 codegen (#221289)

Shuffle combining is struggling to handle the mixture of vector
unrolling, truncations and optimal use of PCLMULQDQ swizzles, this patch
gives us more optimal lowering direct instead of relying on fixup.

Use the PCLMULQDQ lo/hi control immediate to handle anyext i64 element
evaluation - along with shifting the upper elements down to the lowest
bits of the i64 in parallel

Use UNPACK build vector pattern to avoid FPR<->GPR traffic

CLMULH needs to be handled in a future patch, and vXi16 /might/ be worth
handling as well.


  Commit: 6d139a63345e1f761707f45a3086e1846c58cc06
      https://github.com/llvm/llvm-project/commit/6d139a63345e1f761707f45a3086e1846c58cc06
  Author: Yongqiang Tian <41743566+yqtian-se at users.noreply.github.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
    M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
    A llvm/test/CodeGen/LoongArch/merge-base-offset-debug-only.mir
    A llvm/test/CodeGen/LoongArch/merge-base-offset-debug-use.ll
    A llvm/test/CodeGen/RISCV/merge-base-offset-debug-only.mir
    A llvm/test/CodeGen/RISCV/merge-base-offset-debug-use.ll

  Log Message:
  -----------
  [LoongArch][RISCV] Ignore debug uses when merging base offsets (#221117)

## Summary

Debug instructions are currently enumerated as ordinary users by the RISC-V
and LoongArch merge-base-offset passes. A `DBG_VALUE` can therefore veto an
otherwise valid fold and make `-g` add an ordinary address-calculation
instruction.

Use the non-debug instruction iterator for validation and rewriting, and make
affected debug values unavailable before changing the address represented by
the destination register. Also handle the case where the register has no
ordinary users, which becomes possible after debug uses are excluded.

The same change is applied to both targets because their implementations and
failure mode are equivalent.

## Testing

- `ninja check-llvm-codegen-riscv` (2662 tests passed)
- `ninja check-llvm-codegen-loongarch` (949 tests passed)

Fixes #221109

AI disclosure: This patch was developed with OpenAI Codex 5.6 Sol and
co-reviewed by Claude and Yongqiang Tian.


  Commit: 0c94a978df783bd67535350eac84088fc482716a
      https://github.com/llvm/llvm-project/commit/0c94a978df783bd67535350eac84088fc482716a
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M libcxx/include/__concepts/common_with.h

  Log Message:
  -----------
  [libc++][NFC] Avoid empty namespace in `<__concepts/common_with.h>` (#221407)

...in pre-C++20 modes. This fixes complaining from clang-tidy checks in
CI.


  Commit: 29fda2c4ecca4520526656893c36d738fbc78348
      https://github.com/llvm/llvm-project/commit/29fda2c4ecca4520526656893c36d738fbc78348
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrNEON.td
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/lib/Target/ARM/ARMPredicates.td
    M llvm/test/CodeGen/ARM/cortex-a57-misched-vfma.ll
    M llvm/test/CodeGen/ARM/fp16-fusedMAC.ll
    M llvm/test/CodeGen/ARM/fusedMAC.ll

  Log Message:
  -----------
  ARM: Form fused VFMA/VFMS from the contract flag (#221340)

Select the fused VFMA/VFMS/VFNMA/VFNMS from the per-node contract
fast-math flag instead of the global AllowFPOpFusion == Fast. This is one of the
few remaining consumers of the TargetOption field.

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


  Commit: 0664fb13c0dd34fd3d041a5d2610650945518e02
      https://github.com/llvm/llvm-project/commit/0664fb13c0dd34fd3d041a5d2610650945518e02
  Author: Nikhil Kotikalapudi <nak00001 at outlook.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/RegAllocPBQP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp

  Log Message:
  -----------
  [CodeGen] Use RegisterClassInfo for remaining allocation-order users (#216510)

Greedy already uses RegisterClassInfo for the function-specific
allocation order (reserved registers filtered, CSRs deferred). Remaining
users still walked TRI's raw order or rebuilt RCI themselves.

Uses RCI.getOrder() everywhere that list is needed (PBQP, Hexagon
spill-slot search*, ARM load/store opt, AMDGPU AGPR-copy MFMA rewrite).
Takes the shared analysis when the pass can preserve it; otherwise keep
a
local RCI after freezeReservedRegs().

Hexagon findPhysReg no longer considers reserved registers.

**Note:** Initially had register scavenger use RCI.getOrder() for
function specific scratch reg allocation, but due to test failures and
the extra loops needed as fallbacks to fix this, this change ends up
likely being outside the scope of this PR so I removed it.

**Another note:** \*Hexagon changes removed from this PR, split into
#216752


  Commit: 698428e5a786b5cb792a0f3f39a3de587c5e00dc
      https://github.com/llvm/llvm-project/commit/698428e5a786b5cb792a0f3f39a3de587c5e00dc
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h

  Log Message:
  -----------
  [Analysis] Remove dead WriteDOTGraphToFile (NFC) (#221413)

The last callers were migrated to DOTGraphTraitsPrinter on May 16, 2022
in commit 7dce9eb6e507d48d0b79bfb408592936d378cc28.

Assisted-by: Antigravity


  Commit: e1474e57522c4188d3a5a06921c1199210f1c3e1
      https://github.com/llvm/llvm-project/commit/e1474e57522c4188d3a5a06921c1199210f1c3e1
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
    M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
    M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
    M clang-tools-extra/clangd/unittests/PreambleTests.cpp
    M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
    M clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp

  Log Message:
  -----------
  [clang-tools-extra][NFC] Fix -Wunused-template violations (#221427)

These cause build errors in
https://github.com/llvm/llvm-project/actions/runs/33952646467/job/101270176288.


  Commit: 1b14859d3cd691be104aec3f6c9a51bd658f58a7
      https://github.com/llvm/llvm-project/commit/1b14859d3cd691be104aec3f6c9a51bd658f58a7
  Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp

  Log Message:
  -----------
  [CIR][NFC] Use declarative llvmOp lowering for coroutine intrinsics (#221343)

This PR switches the coroutine intrinsic ops (`cir.coro.intrinsic.id`,
`.alloc`, `.begin`, `.end`, `.free`, `.size`) to use the declarative
`llvmOp` field instead of hand-written lowering patterns.


  Commit: 5eef528a2d59cda218b99b7bfcf70b625488e5aa
      https://github.com/llvm/llvm-project/commit/5eef528a2d59cda218b99b7bfcf70b625488e5aa
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    A llvm/test/CodeGen/AMDGPU/codegen-no-subarch-warn.ll

  Log Message:
  -----------
  AMDGPU: Warn if trying to codegen without a subarch (#220245)

Warn if using the legacy amdgcn name, or amdgpu without a
specified subarch. This is to push all the non-clang frontends
to update to the new system, but this should turn into an error
in the next release.

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


  Commit: 9306a82aafb3ba11ec14cdcde1dbb4618d4256ba
      https://github.com/llvm/llvm-project/commit/9306a82aafb3ba11ec14cdcde1dbb4618d4256ba
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
    M llvm/lib/Transforms/Scalar/Scalarizer.cpp
    M llvm/test/CodeGen/DirectX/countbits.ll
    R llvm/test/CodeGen/DirectX/legalize-i64-high-low-vec-split.ll
    A llvm/test/Transforms/Scalarizer/bitcast-scalar-to-vector.ll
    A llvm/test/Transforms/Scalarizer/bitcast-vector-to-scalar.ll

  Log Message:
  -----------
  [Scalarizer][DirectX] Teach the Scalarizer to handle integer bitcasts between scalars and vectors. (#221033)

Fixes #219327

For vector-to-scalar bitcasts, combine the scalarized vector elements
using
extensions, shifts, and ORs. This avoids reconstructing an illegal
vector before
bitcasting it to a scalar. In particular, this fixes the `<2 x i16> ->
i32`
bitcast generated while lowering 16-bit vector `countbits`.

Also move the existing `i64 -> <2 x i32>` legalization from the DirectX
legalizer into the generic Scalarizer. The Scalarizer now splits these
values
using shifts and truncations while respecting target endianness.

With both bitcast directions handled by the Scalarizer, remove
`legalizeGetHighLowi64Bytes` from the DirectX legalizer and move
`downcastI64toI32InsertExtractElements` back into the first legalization
stage.

Add generic Scalarizer coverage for both little- and big-endian targets,
and
DirectX regression coverage for the 16-bit `countbits` case.


  Commit: 338e0c94943a6fb917c276bbbd9ff4b6cd6dd71e
      https://github.com/llvm/llvm-project/commit/338e0c94943a6fb917c276bbbd9ff4b6cd6dd71e
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
    M llvm/lib/Target/DirectX/DXILWriter/CMakeLists.txt
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.h
    A llvm/lib/Target/DirectX/DXILWriter/DXILDebugInfoMap.cpp
    A llvm/lib/Target/DirectX/DXILWriter/DXILDebugInfoMap.h
    M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
    M llvm/lib/Target/DirectX/DirectX.h
    M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
    M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.h
    M llvm/lib/Target/DirectX/DirectXPassRegistry.def
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    M llvm/test/CodeGen/DirectX/DebugInfo/dbg-assign.ll
    M llvm/test/CodeGen/DirectX/DebugInfo/dbg-declare-undef.ll
    M llvm/test/CodeGen/DirectX/DebugInfo/dbg-value-arglist.ll
    M llvm/test/CodeGen/DirectX/DebugInfo/dbg-value.ll
    M llvm/test/CodeGen/DirectX/DebugInfo/debug-info.ll
    M llvm/test/CodeGen/DirectX/DebugInfo/di-commonblock.ll
    M llvm/test/CodeGen/DirectX/DebugInfo/di-compile-unit-versioned-language.ll
    M llvm/test/CodeGen/DirectX/DebugInfo/di-compile-unit.ll
    M llvm/test/CodeGen/DirectX/DebugInfo/di-globalvariable.ll
    M llvm/test/CodeGen/DirectX/DebugInfo/di-label.ll
    M llvm/test/CodeGen/DirectX/DebugInfo/di-subprogram.ll
    M llvm/test/CodeGen/DirectX/DebugInfo/di-subrangetype.ll
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll

  Log Message:
  -----------
  [DirectX] Refactor DXILDebugInfo into a pass (#220989)

resolves #220323

DXILDebugInfo was structured as a namespace
with its pass chained to run as part of either
the DXILBitcodeWriter or DXILPrettyPrinter passes.

This is wrong and led to us failing expensive checks because
DXILDebugInfo changes IR but the writers are not expected to do so.

The fix was two fold, move the DXILDebugInfo into a pass. Second,

Refactor all the module debug info reader\writer code out of
DXILDebugInfo and into DXILDebugInfoMap which is used by both the
PrettyPrinter and the BitCodeWriter and move that code into the
DXILWriter compilation module since it is only used by the writers.


  Commit: fd399c1924d7ae281f3ae676827891dcbec13ef8
      https://github.com/llvm/llvm-project/commit/fd399c1924d7ae281f3ae676827891dcbec13ef8
  Author: robertvirany <robertvirany at gmail.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fma.f32.ll
    A llvm/test/CodeGen/AMDGPU/copy_phys_vgpr.mir
    R llvm/test/CodeGen/AMDGPU/copy_phys_vgpr64.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scale.pk.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics.ll

  Log Message:
  -----------
  [AMDGPU] Extend wide VGPR copy expansion to 96-bit copies (#214561)

Extend physical VGPR copy expansion to handle 96-bit copies using one
64-bit move and one 32-bit move when `V_MOV_B64_e32` is available.

The move order accounts for overlapping source and destination
registers. SGPR-to-VGPR copies are also supported, matching the existing
support for copies whose sizes are multiples of 64 bits.

The first commit precommits regression coverage for non-overlapping,
forward-overlapping, and backward-overlapping copies.


  Commit: ccf1638181ea84dcda977b02907a9b020c8d5c2c
      https://github.com/llvm/llvm-project/commit/ccf1638181ea84dcda977b02907a9b020c8d5c2c
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGenTypes/LowLevelType.h
    M llvm/lib/CodeGenTypes/LowLevelType.cpp

  Log Message:
  -----------
  [CodeGenTypes] Make LLT::ExtendedLLT atomic (#219546)


  Commit: 8aec646ab0878b80b2d5b62ecaeeece7bfb54fbf
      https://github.com/llvm/llvm-project/commit/8aec646ab0878b80b2d5b62ecaeeece7bfb54fbf
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

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

  Log Message:
  -----------
  [RegAllocFast] Document the allocation algorithm. NFC (#219835)

Add a file-level overview: block-local allocation, a stack slot for
every value crossing a block boundary, no liveness analysis or coalescing,
and a backward walk where uses acquire registers and defs release them.

Correct two stale claims: RegUnitStates is indexed by register unit, not
by physical register, and allocateInstruction() runs eight phases rather
than the two its comment described.

Drop a redundant local in reloadAtBegin(), and assert the def operand
that isTiedToNotUndef() documents.

Aided by Opus 5


  Commit: 2fb12bca76c52d8e0bbb838017820ee58a395293
      https://github.com/llvm/llvm-project/commit/2fb12bca76c52d8e0bbb838017820ee58a395293
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M mlir/tools/mlir-tblgen/DialectGen.cpp

  Log Message:
  -----------
  [mlir][tblgen] Prune unused filterForDialect template [-Wunused-template] (#221422)

`filterForDialect` lost its last caller in 4957518ef57f (May 2022) and
has been dead since. It is a static file-scope function template, so
`-Wunused-template` flags it and `-Werror` builds fail. Removing it also
orphans the `DialectFilterIterator` alias and the `llvm::Record`
using-declaration, which nothing else references, so this drops all
three.

Co-authored-by: Henrich Lauko <hlauko at nvidia.com>


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

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  [CI][Github] Hash-pin AArch64 CI image (#221475)

Otherwise we end up picking up the latest version of the image that uses
clang 23 which causes issues. This also is security best practice as
described in our security best practices doc.

Fixes #221470.


  Commit: 3cc64232bf12057ee0564ea019d67ee6b02d92eb
      https://github.com/llvm/llvm-project/commit/3cc64232bf12057ee0564ea019d67ee6b02d92eb
  Author: Pablo Reble <pablo.reble at amd.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/inst-count-heuristic.ll

  Log Message:
  -----------
  [SLP][AMDGPU][NFC] Remove unreachable GFX940/GFX941 checks (#220745)

`inst-count-heuristic.ll` only runs
`-check-prefix=GFX950/GFX942/GFX906;` the `GFX941/GFX940 CHECK` blocks
had no matching `RUN` line and were never executed.


  Commit: 8f270bce39c674432d5dd06de82b87c70b1eb2b8
      https://github.com/llvm/llvm-project/commit/8f270bce39c674432d5dd06de82b87c70b1eb2b8
  Author: ZERICO2005 <zerico2005 at gmail.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/Attributor/nofpclass-bitcast-int-to-fp.ll

  Log Message:
  -----------
  [KnownFPClass] Add regression tests for #174869 (#220279)

This PR just adds regression tests for
https://github.com/llvm/llvm-project/issues/174869

Otherwise, the original issue was fixed by
https://github.com/llvm/llvm-project/pull/215708 for
`APFloat::isIEEELikeFP` types (bfloat16, and ieee16/32/64/128).


  Commit: 3daf50547d3866f8ddaf1de91d4670fd4372698b
      https://github.com/llvm/llvm-project/commit/3daf50547d3866f8ddaf1de91d4670fd4372698b
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/docs/MemProf.md

  Log Message:
  -----------
  [MemProf][Docs] Add more information on static data partitioning (#220446)

Clarify some sentences that I found hard to parse. Also update the docs
now that a linker script is no longer required.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-select.mir
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/select-undef.ll

  Log Message:
  -----------
  [AMDGPU] Freeze select condition before splitting into two halves (#219942)


  Commit: 2e4ad2ff2ff636c7c8fc8637e4696d9517019d52
      https://github.com/llvm/llvm-project/commit/2e4ad2ff2ff636c7c8fc8637e4696d9517019d52
  Author: Stan Ulbrych <stan at python.org>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/docs/CodeReview.rst

  Log Message:
  -----------
  [docs] Fix a broken link in the 'Non-Experts Should Review Code' section (#221461)


  Commit: b04639f6e15f08cd4ef255dac763786cdad555b8
      https://github.com/llvm/llvm-project/commit/b04639f6e15f08cd4ef255dac763786cdad555b8
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M lldb/tools/lldb-fuzzer/lldb-target-fuzzer/CMakeLists.txt
    A lldb/tools/lldb-fuzzer/lldb-target-fuzzer/target.dict

  Log Message:
  -----------
  [lldb] Add a fuzzing dictionary for lldb-target-fuzzer (#221348)

target.dict gives the mutator the magic bytes and required keys for
every object file format.  Without a seed dictionary, blind mutation
essentially never lands the exact multi-byte magic these formats gate
on.

Assisted-by: claude


  Commit: 03de3d1299bffd3a2829da92b28875142d8ad944
      https://github.com/llvm/llvm-project/commit/03de3d1299bffd3a2829da92b28875142d8ad944
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Support/LSP/Transport.h
    M llvm/unittests/Support/LSP/Transport.cpp

  Log Message:
  -----------
  [Support] Fix -Wunused-template from debugString

This is not used in the header (outside of a non-instantiated template),
so triggers -Wunused-template. Move it into the class definition to
prevent this without adding any namespace pollution.

Reviewers: MaskRay, kazutakahirata

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


  Commit: 45b1e622ab5a917fcdb339c3f97dd64718b51341
      https://github.com/llvm/llvm-project/commit/45b1e622ab5a917fcdb339c3f97dd64718b51341
  Author: Vito Kortbeek <vito.kortbeek at globalfoundries.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

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

  Log Message:
  -----------
  [TypePromotion] Support trunc-to-i1 conditions (#216311)

InstCombine may rewrite `icmp ne (X & 1), 0` to `trunc X to i1`
(#178977). Start TypePromotion searches from operands of scalar
trunc-to-i1 instructions, treating the trunc as a boolean boundary
without promoting its result or traversing its users.

Assisted-by: AI


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

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-foldable-fneg.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmax_legacy.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fmin_legacy.ll
    M llvm/test/CodeGen/AMDGPU/fmax_legacy.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.ll
    M llvm/test/CodeGen/AMDGPU/fmin_legacy.ll
    M llvm/test/CodeGen/AMDGPU/pv.ll
    M llvm/test/CodeGen/AMDGPU/select-flags-to-fmin-fmax.ll

  Log Message:
  -----------
  [AMDGPU] Fix legacy fmin/fmax combines to preserve NaN and zero ties (#220519)


  Commit: 94cb123a68a133ddcc1f7492a6a760f50c4d771e
      https://github.com/llvm/llvm-project/commit/94cb123a68a133ddcc1f7492a6a760f50c4d771e
  Author: Dave MacLachlan <dmaclach at gmail.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp

  Log Message:
  -----------
  [include-cleaner] Support Objective-C literals and boxed expressions in WalkAST (#216201)

This change adds AST visitors for ObjCBoxedExpr, ObjCArrayLiteral,
ObjCDictionaryLiteral, and ObjCStringLiteral. This ensures that the
underlying class interfaces (such as NSNumber, NSArray, NSDictionary,
and NSString) and any associated categories used for these literals are
correctly reported as referenced. Unit tests are included to verify the
new behavior.


  Commit: 5115f32500a8977da758a268fc818872c6d4ee02
      https://github.com/llvm/llvm-project/commit/5115f32500a8977da758a268fc818872c6d4ee02
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    A llvm/test/Transforms/LoopVectorize/VPlan/execution-frequencies-match-bfi.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-branch-weights.ll
    M llvm/test/Transforms/LoopVectorize/replicate-region-branch-weights.ll

  Log Message:
  -----------
  [VPlan] Preserve branch weights from VPlan0 through to codegen. (#213143)

This patch adds support for carrying through branch weights from the
original scalar loop through VPlan.

The flow is as follows:

1. On the scalar VPlan, we import the branch weights from the existing
   IR branches and add them as !prof metadata to VPInstruction terminators
2. The predicator dissolves the control flow and each block will get
     executed unconditionally. What remains are predicated recipes, with
     their lanes executing with probability relative to the header. Compute
     the executing probabilities as sum of probabilities of all incoming
     edges.
3. Each masked recipe gets the execution probability attached as custom
    !vplan.execution.frequency metadata 
4. When creating replicate regions, a predicated recipe is replaced by
    explicit control fold. The execution frequency from the recipe is
    converted to profile metadata and added to the newly introduced 
    conditional branch as !prof.
5. During ::execute,  !vplan.execution.frequency is ignored

One thing to note is that step 2 duplicates some logic from IR-based
branch probability info, but doing it natively VPlan allows this to work
with CFG introduced by VPlan itself.

This is an alternative to
https://github.com/llvm/llvm-project/pull/209309, which carried to
branch weights on VPBasicBlocks. This worked somewhat by accident for
replicate recipes: the predicator updates the CFG so all blocks execute
unconditionally, but preserved the execution probability. This is
incorrect at the VPlan level: the blocks execute unconditionally after
predication. It worked for the current use cases because replicate
regions are created before blocks are merged into their predecessors,
but is fragile and inaccurate. Carrying it explicitly across the
conditionally executed entities seems more accurate.

The new approach should work well with also carrying estimated BFI
in the same way, we just need to distinguish between real branch weigths
(which we carry through to codegen, and estimated weights, which don't 
carry through to codegen).

And using the info for scalar cost computations on VPlan.


  Commit: 419c22c908c97dac45d161ce56fa01b99ec7debf
      https://github.com/llvm/llvm-project/commit/419c22c908c97dac45d161ce56fa01b99ec7debf
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M llvm/include/llvm/TableGen/Record.h
    M llvm/lib/TableGen/Record.cpp

  Log Message:
  -----------
  [TableGen] Unique the remaining Init pools in a UniquingSet. NFC (#221394)

Follow-up to #219630. Every one of these keys is a handful of scalars,
pointers and trailing-object arrays already stored in the node, so a
typed key removes the FoldingSetNodeID serialization on every get() and
the profile rebuild on every hit.

llvm-tblgen instructions retired, minimum of five interleaved runs:

```
  RISCV   -gen-asm-matcher     -3.492%
  RISCV   -gen-register-info   -4.027%
  X86     -gen-dag-isel        -1.573%
  AMDGPU  -gen-subtarget       -1.140%
```

Aided by Opus 5


  Commit: 62e6fe8bbab320f2517c004e6087be489f3ecb88
      https://github.com/llvm/llvm-project/commit/62e6fe8bbab320f2517c004e6087be489f3ecb88
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

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

  Log Message:
  -----------
  Reapply "[SandboxIR] Callback registration now allows specifying order" (#221099)

This reverts commit f111407c0502851409a887c8e5dea4a3ec190d4e.
Should fix the sanitizer issue.


  Commit: 012428c5e864d5e976638eb9e19ea207cd2cb829
      https://github.com/llvm/llvm-project/commit/012428c5e864d5e976638eb9e19ea207cd2cb829
  Author: Adam Scott <adamscott200322 at gmail.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/divrem-by-select.ll
    M llvm/test/CodeGen/X86/masked-sdiv.ll
    M llvm/test/CodeGen/X86/masked-srem.ll
    M llvm/test/CodeGen/X86/masked-udiv.ll
    M llvm/test/CodeGen/X86/masked-urem.ll
    M llvm/test/CodeGen/X86/min-legal-vector-width.ll
    A llvm/test/CodeGen/X86/vector-idiv-i64.ll
    M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
    M llvm/test/CodeGen/X86/vector-idiv-strictfp.ll
    M llvm/test/CodeGen/X86/vector-idiv-udiv-512.ll

  Log Message:
  -----------
  [X86] Lower i64 vector division and remainder through float division (#215043)

Follow up to #205263 which handled i8/i16/i32.

i64 needs a different algorithm because f64 cannot hold a 64 bit
quotient exactly. Instead of one divide the quotient is built from a
reciprocal and two rounded down multiplies plus a correction for the off
by one (https://sneller.ai/blog/avx512-int-div/). That needs the
directed rounding forms which only exist as 512 bit AVX512DQ
instructions, so the whole i64 path is gated on DQ and 512 bit types
being legal.

Operands that are provably narrow enough to fit the f64 mantissa skip
the chain entirely and take the same convert divide convert path as the
<=i32 case.

strictfp i64 uses the SAE forms the same way the <=i32 path does.

combineIntDivRem is now a small dispatcher over two helpers since the
two algorithms share only the setup. combineIntDivRemViaExactFPDiv is
the existing convert divide convert path and
combineIntDivRemViaFPReciprocal is the new chain.

Closes #214939


  Commit: ad9259c18b15f1d2c35e2f8748afc7fd13c2e976
      https://github.com/llvm/llvm-project/commit/ad9259c18b15f1d2c35e2f8748afc7fd13c2e976
  Author: Dave MacLachlan <dmaclach at gmail.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp

  Log Message:
  -----------
  [include-cleaner] Add WalkAST unit tests for Objective-C constructs (#220763)

Adds test coverage for walking AST nodes related to:
- Objective-C interface inheritance (`@interface Derived : Base`)
- Forward class and protocol declarations (`@class` and `@protocol`)
- Objective-C interface types used as function arguments

This is just to make sure that current code is covered. No new features.


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

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

  Log Message:
  -----------
  [clang][bytecode] Cache Is(Unnamed)BitFields bools in `Record::Field` (#221392)

We need to query those a lot and we can save them in the padding bytes
of `Record::Field`.


  Commit: 72417eb739e5d66fd345c3cc9e2265b8a7949fe1
      https://github.com/llvm/llvm-project/commit/72417eb739e5d66fd345c3cc9e2265b8a7949fe1
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/lib/Target/Xtensa/CMakeLists.txt

  Log Message:
  -----------
  [Xtensa] Depend on CodeGenTypes to fix BUILD_SHARED_LIBS=on build (#221511)


  Commit: 03ff69fd5f82a7607113b83e45bd3828842669e3
      https://github.com/llvm/llvm-project/commit/03ff69fd5f82a7607113b83e45bd3828842669e3
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

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

  Log Message:
  -----------
  [clang][bytecode] Do pointer-to-bool convesions without classify() (#221516)


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

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

  Log Message:
  -----------
  [clang][bytecode] Use IsNonNull opcode in CXXNewExpr (#221515)

Instead of emitting a null pointer and checking that for equality.


  Commit: 8e7fa6f756211dae0cc91221326faf1077e495b7
      https://github.com/llvm/llvm-project/commit/8e7fa6f756211dae0cc91221326faf1077e495b7
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/test/MC/RISCV/xqciio-invalid.s
    M llvm/test/MC/RISCV/xqcilo-pseudos-invalid.s
    M llvm/test/MC/RISCV/xqcilsm-invalid.s

  Log Message:
  -----------
  [RISC-V] Use an optional offset for Xqc* instructions

Following up on the previous commits to remove unnecessary InstAlias.

This commit was prepared with the help of AI.

Reviewed By: lenary

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


  Commit: 89b97e94043b3a0d6e83d3607c00c14a089470c9
      https://github.com/llvm/llvm-project/commit/89b97e94043b3a0d6e83d3607c00c14a089470c9
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2026-09-05 (Sat, 05 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
    M llvm/test/MC/RISCV/xwchc-valid.s

  Log Message:
  -----------
  [RISC-V] Use an optional offset for Xwch instructions

Following up on the previous commits to remove unnecessary InstAlias.

This commit was prepared with the help of AI.

Reviewed By: lenary, ArcaneNibble

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


  Commit: 116c6b570347e601bd0769b9354fca9f94f3a5fe
      https://github.com/llvm/llvm-project/commit/116c6b570347e601bd0769b9354fca9f94f3a5fe
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/AST/ByteCode/initializer_list.cpp

  Log Message:
  -----------
  [clang][bytecode] Add missing condition scope to CXXForRangeStmt (#221520)

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


  Commit: 509dc3826d40e931806f054725ed7bc0f3ba96af
      https://github.com/llvm/llvm-project/commit/509dc3826d40e931806f054725ed7bc0f3ba96af
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M llvm/include/llvm/MC/MCTargetOptions.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
    M llvm/lib/MC/MCAsmInfo.cpp
    M llvm/lib/MC/MCTargetOptions.cpp
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/tools/llc/llc.cpp

  Log Message:
  -----------
  MC: Move BinutilsVersion from TargetOptions to MCTargetOptions (#221435)


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

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

  Log Message:
  -----------
  [mlir][scf] Fix WhileMoveIfDown with duplicated scf.condition operands (#219458)


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

  Changed paths:
    M mlir/cmake/modules/AddMLIRPython.cmake

  Log Message:
  -----------
  [MLIR][Python] Pass -Wno-unused-template to nanobind build

As with a lot of other warnings, the nanobind build is also not clean
under -Wunused-template. This was enabled by default for clang 23
(although reverted for 23.1.1). Disable it in case it gets enabled again
and also in case anyone enables it manually.

Reviewers: joker-eph, makslevental, dcaballe

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


  Commit: 25348f55f2c7befc9a8c262ae0a319cde32aa2e7
      https://github.com/llvm/llvm-project/commit/25348f55f2c7befc9a8c262ae0a319cde32aa2e7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llc.md
    M llvm/include/llvm/CodeGen/CommandFlags.h
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/test/CodeGen/ARM/build-attributes.ll
    A llvm/test/CodeGen/ARM/eabi-attribute-no-trapping-math.ll

  Log Message:
  -----------
  CodeGen: Remove TargetOptions::NoTrappingFPMath (#221429)

This was replaced by the no-trapping-math attribute.
The one ARMAsmPrinter use already accounts for it.

no-trapping-math should probably replaced by !strictfp, but that's
another problem.


  Commit: 10d3708a0bb8c1c0946f87d0b3ff87bf8a88d5fc
      https://github.com/llvm/llvm-project/commit/10d3708a0bb8c1c0946f87d0b3ff87bf8a88d5fc
  Author: Anonmiraj <ezzibrahimx at gmail.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp

  Log Message:
  -----------
  [IndVarSimplify] Batch forgetValue calls in sinkUnusedInvariants (#219025)

It looks like every `forgetValue` clears the cached SCEV for an
instruction and everything downstream of it, by walking its def-use
children in `visitAndClearUsers` / `PushDefUseChildren` with a fresh
`Visited` each call. Since `sinkUnusedInvariants` calls `forgetValue`
once per sunk instruction, the overlapping users get re-walked over and
over, so it ends up $O(n^2)$.
```cpp
void ScalarEvolution::forgetValue(Value *V) {
  SmallPtrSet<Instruction *, 8> Visited;
  visitAndClearUsers(Worklist, Visited, ToForget);
  ...
}

// visitAndClearUsers
while (!Worklist.empty()) {
  Instruction *I = Worklist.pop_back_val();
  ...
  ValueExprMap ... erase ...
  PushDefUseChildren(I, Worklist, Visited);
}

// PushDefUseChildren
for (User *U : I->users()) {
  auto *UserInsn = cast<Instruction>(U);
  if (Visited.insert(UserInsn).second)
    Worklist.push_back(UserInsn);
}
```


Collecting the sunk instructions and clearing them in one batched call
fixes the issue.

Before / after on the reproducer from the issue

| | before | after |
|---|---|---|
| `IndVarSimplifyPass` | 226.70s | 0.087s |
| total compile (wall) | 3:45.7 | 3.9s |

fixes #194308


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

  Changed paths:
    M llvm/include/llvm/Support/GenericLoopInfo.h
    M llvm/include/llvm/Support/GenericLoopInfoImpl.h
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/lib/Transforms/Utils/LoopSimplify.cpp

  Log Message:
  -----------
  [LoopInfo] Merge changeTopLevelLoop and replaceChildLoopWith. NFC (#221503)

Both replace a loop among its siblings with a new one.


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

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

  Log Message:
  -----------
  [SCEV] Strip unnecessary conversions around SCEVUse (NFC) (#219921)


  Commit: 3afdb99e56063b7506b3b519f096afab71b2b75a
      https://github.com/llvm/llvm-project/commit/3afdb99e56063b7506b3b519f096afab71b2b75a
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ADT/Hashing.h
    M llvm/include/llvm/IR/Attributes.h
    M llvm/lib/IR/AttributeImpl.h
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/unittests/ADT/HashingTest.cpp

  Log Message:
  -----------
  [IR] Unique attribute sets and lists in a UniquingSet. NFC (#221525)

Switch to UniquingSet to remove FoldingSetNodeID serialization overhead
on every AttributeSet::get and AttributeList::get.

Attribute and AttributeSet are single-pointer wrappers whose operator==
is pointer equality. Specializing `is_hashable_data` selects the fast
`hash_combine_range_impl` overload that calls `combine_bytes` directly,
skipping copying element by element.

`hash_combine_range` deduces its element type as `const T`, so
`is_hashable_data<const T>` now follows `is_hashable_data<T>` and a type
need only specialize the unqualified form.

Aided by Opus 5


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

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

  Log Message:
  -----------
  [X86] Add getUnpack wrapper to select between getUnpackl/h shuffles. NFC. (#221543)

Prep work for improving CLMULH vXi32 lowering.


  Commit: 8d10d1f9e653f2ac5e72ed3e1dba73a4af30b351
      https://github.com/llvm/llvm-project/commit/8d10d1f9e653f2ac5e72ed3e1dba73a4af30b351
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/FMF.h
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp

  Log Message:
  -----------
  [AMDGPU] Add FastMathFlags::intersectValue helper for rsq ninf/nsz fix (#217724)


  Commit: 44888f035b0f6049d6fae38addb02adf7d53c803
      https://github.com/llvm/llvm-project/commit/44888f035b0f6049d6fae38addb02adf7d53c803
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M clang/test/CodeGenCUDA/fp-contract.cu
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/arm64-fma-combine-with-fpfusion.ll
    M llvm/test/CodeGen/AArch64/fp-dp3.ll
    M llvm/test/CodeGen/AArch64/neon-fma.ll
    M llvm/test/CodeGen/AMDGPU/madak.ll
    M llvm/test/CodeGen/Hexagon/float-amode.ll
    M llvm/test/CodeGen/Hexagon/fmadd.ll
    M llvm/test/CodeGen/Hexagon/fp_latency.ll
    M llvm/test/CodeGen/LoongArch/double-fma.ll
    M llvm/test/CodeGen/LoongArch/float-fma.ll
    M llvm/test/CodeGen/LoongArch/lasx/fma-v4f64.ll
    M llvm/test/CodeGen/LoongArch/lasx/fma-v8f32.ll
    M llvm/test/CodeGen/LoongArch/lsx/fma-v2f64.ll
    M llvm/test/CodeGen/LoongArch/lsx/fma-v4f32.ll
    M llvm/test/CodeGen/PowerPC/a2-fp-basic.ll
    M llvm/test/CodeGen/PowerPC/fma-assoc.ll
    M llvm/test/CodeGen/PowerPC/fma-ext.ll
    M llvm/test/CodeGen/PowerPC/fma.ll
    M llvm/test/CodeGen/PowerPC/ppc440-fp-basic.ll
    M llvm/test/CodeGen/PowerPC/vsx-fma-mutate-trivial-copy.ll
    M llvm/test/CodeGen/SPARC/float-ua2007.ll
    M llvm/test/CodeGen/Thumb2/mve-fmas.ll

  Log Message:
  -----------
  DAGCombiner: Drop AllowFPOpFusion from visitFADDForFMACombine (#221436)

Rewrites fp-dp3.ll to use flags on individual patterns. It weirdly
used different triples for the fp-contract on and off cases, seemingly
an artifact of the ARM64 and AArch64 merge.
    
fp-contract.cu is essentially a bugfix, the local fp contract(on) pragma
wins over the global flag now.

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


  Commit: 8d573f50cfa28cb7e236e804ad950e37edadb2fc
      https://github.com/llvm/llvm-project/commit/8d573f50cfa28cb7e236e804ad950e37edadb2fc
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    R orc-rt/include/orc-rt-internal/bedrock/Environment.h
    A orc-rt/include/orc-rt-internal/bedrock/sys/DynamicLibrary.h
    A orc-rt/include/orc-rt-internal/bedrock/sys/Memory.h
    A orc-rt/include/orc-rt-internal/support/Environment.h
    M orc-rt/include/orc-rt-internal/support/sys/CacheControl.h
    R orc-rt/include/orc-rt-internal/support/sys/DynamicLibrary.h
    M orc-rt/include/orc-rt-internal/support/sys/Errno.h
    R orc-rt/include/orc-rt-internal/support/sys/Memory.h
    R orc-rt/include/orc-rt-internal/support/sys/darwin/CacheControl.h
    M orc-rt/lib/CMakeLists.txt
    M orc-rt/lib/bedrock/CMakeLists.txt
    R orc-rt/lib/bedrock/Environment.cpp
    R orc-rt/lib/bedrock/Error.cpp
    R orc-rt/lib/bedrock/Logging.cpp
    R orc-rt/lib/bedrock/Logging_oslog.cpp
    R orc-rt/lib/bedrock/Logging_printf.cpp
    M orc-rt/lib/bedrock/NativeDylibManager.cpp
    R orc-rt/lib/bedrock/RTTI.cpp
    M orc-rt/lib/bedrock/SimpleNativeMemoryMap.cpp
    M orc-rt/lib/bedrock/sys/posix/DynamicLibrary.cpp
    R orc-rt/lib/bedrock/sys/posix/Errno.cpp
    M orc-rt/lib/bedrock/sys/posix/Memory.cpp
    A orc-rt/lib/support/CMakeLists.txt
    A orc-rt/lib/support/Error.cpp
    A orc-rt/lib/support/Logging.cpp
    A orc-rt/lib/support/Logging_oslog.cpp
    A orc-rt/lib/support/Logging_printf.cpp
    A orc-rt/lib/support/RTTI.cpp

  Log Message:
  -----------
  [orc-rt] Split support sources into their own object library (#221442)

This allows support to be used by both bedrock and the upcoming SPIRE
library. Note that support is a CMake object library only, not an
archive or dylib. Clients will always target either Bedrock or SPIRE.

Moves some sources (Error, RTTI, Logging, Environment and the whole sys/
tree), and some headers (Environment.h, and the orc-rt/bedrock/sys
headers) to the support library.

The per-system source composition moves to lib/support/CMakeLists.txt.

An upcomming commit will update the unit tests to reflect this split.


  Commit: 502e51aa4df687807fbe51fa0b419baf65e9615f
      https://github.com/llvm/llvm-project/commit/502e51aa4df687807fbe51fa0b419baf65e9615f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M clang/test/CodeGenCUDA/fp-contract.cu
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/arm64-fma-combine-with-fpfusion.ll
    M llvm/test/CodeGen/AArch64/fp-dp3.ll
    M llvm/test/CodeGen/AArch64/neon-fma.ll
    M llvm/test/CodeGen/AMDGPU/madak.ll
    M llvm/test/CodeGen/Hexagon/float-amode.ll
    M llvm/test/CodeGen/Hexagon/fmadd.ll
    M llvm/test/CodeGen/Hexagon/fp_latency.ll
    M llvm/test/CodeGen/LoongArch/double-fma.ll
    M llvm/test/CodeGen/LoongArch/float-fma.ll
    M llvm/test/CodeGen/LoongArch/lasx/fma-v4f64.ll
    M llvm/test/CodeGen/LoongArch/lasx/fma-v8f32.ll
    M llvm/test/CodeGen/LoongArch/lsx/fma-v2f64.ll
    M llvm/test/CodeGen/LoongArch/lsx/fma-v4f32.ll
    M llvm/test/CodeGen/PowerPC/a2-fp-basic.ll
    M llvm/test/CodeGen/PowerPC/fma-assoc.ll
    M llvm/test/CodeGen/PowerPC/fma-ext.ll
    M llvm/test/CodeGen/PowerPC/fma.ll
    M llvm/test/CodeGen/PowerPC/ppc440-fp-basic.ll
    M llvm/test/CodeGen/PowerPC/vsx-fma-mutate-trivial-copy.ll
    M llvm/test/CodeGen/SPARC/float-ua2007.ll
    M llvm/test/CodeGen/Thumb2/mve-fmas.ll

  Log Message:
  -----------
  Revert "DAGCombiner: Drop AllowFPOpFusion from visitFADDForFMACombine" (#221561)

Reverts llvm/llvm-project#221436

Bots failing


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

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    A llvm/test/Transforms/InstCombine/scalbn-to-ldexp.ll

  Log Message:
  -----------
  [InstCombine] Fold scalbn libcalls to llvm.ldexp (#216573)

This canonicalizes `scalbn`, `scalbnf`, and `scalbnl` libcalls to the
`llvm.ldexp` intrinsic when the call does not access memory.

LLVM floating-point types use radix 2, so `scalbn(x, n)` and `ldexp(x,
n)` produce the same numeric result.
Calls that may access memory are left unchanged because the libcall may
set `errno`, while `llvm.ldexp` does not access memory.

Fixes #216467


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

  Changed paths:
    M clang/test/CodeGenCUDA/fp-contract.cu
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/arm64-fma-combine-with-fpfusion.ll
    M llvm/test/CodeGen/AArch64/fp-dp3.ll
    M llvm/test/CodeGen/AArch64/neon-fma.ll
    M llvm/test/CodeGen/AMDGPU/madak.ll
    M llvm/test/CodeGen/ARM/fp16-instructions.ll
    M llvm/test/CodeGen/Hexagon/float-amode.ll
    M llvm/test/CodeGen/Hexagon/fmadd.ll
    M llvm/test/CodeGen/Hexagon/fp_latency.ll
    M llvm/test/CodeGen/LoongArch/double-fma.ll
    M llvm/test/CodeGen/LoongArch/float-fma.ll
    M llvm/test/CodeGen/LoongArch/lasx/fma-v4f64.ll
    M llvm/test/CodeGen/LoongArch/lasx/fma-v8f32.ll
    M llvm/test/CodeGen/LoongArch/lsx/fma-v2f64.ll
    M llvm/test/CodeGen/LoongArch/lsx/fma-v4f32.ll
    M llvm/test/CodeGen/PowerPC/a2-fp-basic.ll
    M llvm/test/CodeGen/PowerPC/fma-assoc.ll
    M llvm/test/CodeGen/PowerPC/fma-ext.ll
    M llvm/test/CodeGen/PowerPC/fma.ll
    M llvm/test/CodeGen/PowerPC/ppc440-fp-basic.ll
    M llvm/test/CodeGen/PowerPC/vsx-fma-mutate-trivial-copy.ll
    M llvm/test/CodeGen/SPARC/float-ua2007.ll
    M llvm/test/CodeGen/Thumb2/mve-fmas.ll

  Log Message:
  -----------
  Reapply "DAGCombiner: Drop AllowFPOpFusion from visitFADDForFMACombine" (#221561) (#221567)

This reverts commit 502e51aa4df687807fbe51fa0b419baf65e9615f.


  Commit: 7f04c2bac295f340cbf88a294e8ff4eeb89e97d7
      https://github.com/llvm/llvm-project/commit/7f04c2bac295f340cbf88a294e8ff4eeb89e97d7
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ADT/SetOperations.h
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/unittests/ADT/SetOperationsTest.cpp

  Log Message:
  -----------
  [ADT][MemProf] Optimize set_subtract with removed-set output and use in MemProf (#221372)

Add a 3-argument set_subtract(A, B, Removed) that computes A := A - B
and records elements of B removed from A (A ^ B) in Removed. When
A.size() < B.size(), B supports contains(), and A supports remove_if(),
we iterate over A via remove_if() instead of iterating over B, improving
efficiency.

Remove the legacy 4-argument set_subtract(A, B, Removed, Remaining),
which was only used by MemProfContextDisambiguation.cpp and is now
redundant since Remaining can be updated via a separate 2-argument
set_subtract.

Update MemProfContextDisambiguation to use the 3-argument set_subtract,
and update SetOperations unit tests.


  Commit: 64171f09367ae70475eebe9184353ca5948681fb
      https://github.com/llvm/llvm-project/commit/64171f09367ae70475eebe9184353ca5948681fb
  Author: Bhavesh M <85327930+beamandala at users.noreply.github.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/lib/Dialect/Affine/IR/CMakeLists.txt
    A mlir/lib/Dialect/Affine/IR/MemorySlot.cpp
    A mlir/test/Dialect/Affine/mem2reg.mlir

  Log Message:
  -----------
  [mlir][affine] Implement PromotableRegionOpInterface for AffineForOp (#221123)

The `mem2reg` pass couldn't promote memory slots accessed within an
`affine.for` because `AffineForOp` did not implement
`PromotableRegionOpInterface`, leading to the stack allocation and its
accesses to not be eliminated.

This change implements `PromotableRegionOpInterface` for `AffineForOp`,
allowing `mem2reg` to promote memory slots through affine loops.


  Commit: ebb7e0cc79c17b6a7db53e128dd3f9afb4f26b4e
      https://github.com/llvm/llvm-project/commit/ebb7e0cc79c17b6a7db53e128dd3f9afb4f26b4e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M libc/src/__support/GPU/allocator.cpp

  Log Message:
  -----------
  [libc] Fix chunk calculation in GPU allocator (#221583)

Summary:
This would pesismistically round up 48 to 64 and the previous s0 case
was unused.


  Commit: 5840db809d3ff2dc194ccc43bd0be2f36c629185
      https://github.com/llvm/llvm-project/commit/5840db809d3ff2dc194ccc43bd0be2f36c629185
  Author: Kazu Hirata <kazu at google.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

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

  Log Message:
  -----------
  [SelectionDAG] Remove dead functions (NFC) (#221541)

SelectionDAG::getBitcastedSExtOrTrunc,
SelectionDAG::getBitcastedZExtOrTrunc: Added on August 11, 2023 in
commit d26a06728da84a7302875a99ea86e887f6bc425a without any callers.

Assisted-by: Antigravity


  Commit: 279669940711bea1a54d063110d26e5447f67604
      https://github.com/llvm/llvm-project/commit/279669940711bea1a54d063110d26e5447f67604
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/loop-accumulator-reduction.ll

  Log Message:
  -----------
  [SLP][NFC]Add more tests for loop accumulator reductions, NFC



Reviewers: 

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


  Commit: 5735d17306b8c8aca559ef6c35136c44a12221d7
      https://github.com/llvm/llvm-project/commit/5735d17306b8c8aca559ef6c35136c44a12221d7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M flang/lib/Frontend/CompilerInstance.cpp
    M llvm/include/llvm/CodeGen/CommandFlags.h
    M llvm/include/llvm/MC/MCTargetOptions.h
    M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/LTO/LTOCodeGenerator.cpp
    M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp

  Log Message:
  -----------
  MC: Move DisableIntegratedAS from TargetOptions to MCTargetOptions (#221547)

The integrated assembler is only meaningful in MC, so this field belongs
in MCTargetOptions alongside the other assembler options rather than in
the codegen-level TargetOptions.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: 42012a90b98a62359547f0b72e8215a4037cc711
      https://github.com/llvm/llvm-project/commit/42012a90b98a62359547f0b72e8215a4037cc711
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M clang-tools-extra/clangd/CompileCommands.cpp
    M clang/lib/Options/DriverOptions.cpp
    M llvm/include/llvm/Option/OptTable.h
    M llvm/include/llvm/Option/Option.h
    M llvm/lib/Option/OptTable.cpp
    M llvm/lib/Option/Option.cpp
    M llvm/unittests/Option/OptionParsingTest.cpp
    M llvm/unittests/Option/Opts.td
    M llvm/utils/TableGen/OptionParserEmitter.cpp

  Log Message:
  -----------
  [OptTable] Store Info strings in the string table (#218845)

Change HelpText, MetaVar, AliasArgs, and Values from `const char *` to
StringTable::offset, making the fields smaller, and removing dynamic
relocations in .data.rel.ro in PIC links.

Store them as StringTable::Offset, like the option names already are,
and return StringRef from getOptionHelpText() and getOptionMetaVar().
The 53 tables in the tree lose all 616 KB of .data.rel.ro, and sizeof(Info)
drops from 88 to 60; clang's table becomes 232 KB of .rodata.

An unset field and one explicitly set to the empty string, such as a
HelpText<"">, have to stay distinguishable, so the latter gets an empty
string of its own rather than offset zero.

Values declared with ValuesCode are only known to the generated code,
which supplies getOptionValuesCode() for OptTable to call; only clang has any.

Aided by Opus 5


  Commit: 1e4858aa1d7bc70da4af88428be54d3207e03858
      https://github.com/llvm/llvm-project/commit/1e4858aa1d7bc70da4af88428be54d3207e03858
  Author: Matt Turner <mattst88 at gmail.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    A compiler-rt/test/asan/TestCases/complete_stack_trace.c

  Log Message:
  -----------
  [asan][test] Check that stack traces are not truncated (#221518)

Add a test that the access, free and malloc traces each name the whole
call
chain down to `main`, in order, and that each names its own call site in
`main`. A trace that stops early -- as every trace but the access one
does when
the fast unwinder runs on a target that chains no frames -- fails it.

`deep_stack_uaf.cpp` already covers trace depth, but it looks for three
individual frames anywhere in the trace, so it passes on a trace with
holes in
it, and it needs C++ name demangling to do that.

Split out of #220231 at reviewer request.

Assisted-by: Claude Code


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

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

  Log Message:
  -----------
  [SLP][NFC]Fix formatting, NFC



Reviewers: 

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


  Commit: bb3fe4afe7ed81ae6bebc06a1849ca79de236fbe
      https://github.com/llvm/llvm-project/commit/bb3fe4afe7ed81ae6bebc06a1849ca79de236fbe
  Author: Šárka Holendová <72979252+mlir-maiden at users.noreply.github.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M flang/include/flang/Evaluate/intrinsics.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/simple-intrinsics.f90

  Log Message:
  -----------
  [flang] Reclassify MVBITS, SPLIT, and TOKENIZE as SIMPLE (#205024)

F2023 makes MVBITS a simple elemental subroutine and SPLIT/TOKENIZE
simple subroutines.

This change:
- adds `simpleSubroutine` and `simpleElementalSubroutine` to
`IntrinsicClass`,
- reclassifies the MVBITS, SPLIT, and TOKENIZE intrinsic table entries,
- propagates `SIMPLE` through intrinsic resolution and procedure
characteristics.

MOVE_ALLOC is not included in this change.


  Commit: 3da98991742d9880c31550f0bc13cab95f9a08a1
      https://github.com/llvm/llvm-project/commit/3da98991742d9880c31550f0bc13cab95f9a08a1
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/connection.h
    M flang-rt/include/flang-rt/runtime/file.h
    M flang/include/flang/Common/optional.h

  Log Message:
  -----------
  [flang-rt] Initialize I/O unit storage read by short-circuit predicates (#221126)

ConnectionState and OpenFile hold common::optional members read through
predicates of the form `opt && x < *opt`, which never use an indeterminate
value in the abstract machine. Compilers do, however, routinely if-convert
the short-circuit && into a branchless compare and select, which speculates
the payload load; because these objects are placement-new'd into malloc'd
storage by UnitMap::Create(), a memory checker then reports a conditional
branch that depends on uninitialized memory. On AArch64 this fires for
every Fortran program that writes a record, giving two reports in
ExternalFileUnit::AdvanceRecord() from IsAfterEndfile() and IsAtEOF(),
while x86-64 is unaffected and libgfortran is clean on the same program and
host. The reports are false positives -- the engaged flag is 0, so both arms
of the select are 0 -- but they are unavoidable noise for anyone running
Valgrind on Fortran code.

Add common::ResetWithDefinedPayload(), which leaves an optional disengaged 
while writing its payload storage, and call it at construction for the
optionals in ConnectionAttributes, ConnectionState and OpenFile. Also
initialize OpenFile::pathLength_, which is read through the same
if-convertible shape by the unit-lookup-by-path scans in external-unit.cpp
and unit-map.cpp. No observable behavior changes.

No test is added: the difference is in shadow-memory definedness, which
neither a LIT test nor a flang-rt unit test can observe, and there is no MSan
or Valgrind CI for flang-rt. Verified by compiling the patched headers into a
standalone probe on AArch64, where the unpatched headers give two reports
and the patched headers give none with identical program output, and by
check-flang-rt.

Co-authored-by: Razvan Lupusoru <razvan.lupusoru at gmail.com>

Fixes #220633 

Assisted-by: AI


  Commit: 6c978c67dfdd3514f8d1ddbcaba8814cacc17bf7
      https://github.com/llvm/llvm-project/commit/6c978c67dfdd3514f8d1ddbcaba8814cacc17bf7
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll

  Log Message:
  -----------
  [SLP][NFC]Add some more tests for loop accumulated reductions, NFC



Reviewers: 

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


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

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

  Log Message:
  -----------
  [Bazel] Fixes 64171f0 (#221585)

This fixes 64171f09367ae70475eebe9184353ca5948681fb (#221123).

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

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


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/Hexagon/sffms.ll

  Log Message:
  -----------
  DAGCombiner: Drop AllowFPOpFusion from visitFSUBForFMACombine (#221439)

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


  Commit: c2dd24dc601f9e7f66ec813ab33baab34585d506
      https://github.com/llvm/llvm-project/commit/c2dd24dc601f9e7f66ec813ab33baab34585d506
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/overflow-mul.ll
    M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
    M llvm/test/Transforms/InstCombine/uadd-with-overflow.ll

  Log Message:
  -----------
  [InstCombine] Canonicalize zext+overflow check to overflow check if zext's only purpose is to check overflow (#220658)

Change processUMulZExtIdiom to also support adds, since the idiom is the
same, except with add instead of mul.

Alive2: https://alive2.llvm.org/ce/z/SsB4AK


  Commit: 08fb771d71de39421d1e9e200c8b8a0b06d74220
      https://github.com/llvm/llvm-project/commit/08fb771d71de39421d1e9e200c8b8a0b06d74220
  Author: Avi Kivity <avi at scylladb.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

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

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

This reverts commit
https://github.com/llvm/llvm-project/commit/6ba0802b406e0963720a698702b9136578dde149
(https://github.com/llvm/llvm-project/pull/218165).

canUseCtorHoming() used to bail out on
hasConstexprNonCopyMoveConstructor().
That commit narrowed the exemption to *defined* constexpr constructors,
on the
assumption that a constructor which is not defined here will be defined
- and
will therefore emit the type's debug info - in whichever translation
unit
constructs the object.

That assumption does not hold when the constructor is never invoked at
all. A
constructor of a class template specialization is only instantiated, and
hence
only defined, where it is used. If nothing ever constructs the
specialization,
its constructors are defined in no translation unit, and so nothing
anywhere
homes the type - even though the type still has to be complete in order
to read
a member.

(The reverted commit's stated rationale, that "declared constexpr
constructors
are not callable in a TU that doesn't see their definition", does not
hold
either: such a constructor can be called outside a constant expression,
with
the definition supplied by another translation unit, and clang emits an
ordinary external call for it. But that is not what breaks here.)

Unions of layout-compatible types are where this bites. The common
initial
sequence rule ([class.mem.general]p26, 9.2/19 in C++11) lets a program
write
through one union member and read through another where the two share a
common
initial sequence, and absl::container_internal::map_slot_type is built
on it:
it aliases std::pair<const K, V> and std::pair<K, V> so that
flat_hash_map<K, V> can hand out pair<const K, V> references while still
moving
keys efficiently. Slots are created and destroyed through the mutable
pair and
only read through the const-key one, so a std::pair<const K, V> is never
constructed, none of its constructors is ever instantiated, and its type
is
emitted nowhere.

Reduced, and linkable - the following compiles, links and returns 0:

    template <class A, class B> struct mypair {
        A first;
        B second;
        constexpr mypair() : first(), second() {}
constexpr mypair(const A& a, const B& b) : first(a), second(b) {}
    };

    template <class K, class V>
    union map_slot_type {
        map_slot_type() {}
        ~map_slot_type() {}
using value_type = mypair<const K, V>; // read, never constructed
        using mutable_value_type = mypair<K, V>;    // constructed
        value_type value;
        mutable_value_type mutable_value;
        K key;
    };

    map_slot_type<unsigned long, void*> slot;
    int marker;

    int main() {
        slot.mutable_value = mypair<unsigned long, void*>(42, &marker);
return (slot.value.first == 42 && slot.value.second == &marker) ? 0 : 1;
    }

mypair<unsigned long, void*> is constructed and keeps its debug info.
mypair<const unsigned long, void*> is only read, and is emitted as a
declaration in every translation unit, so a debugger cannot show first
and
second:

    clang 22.1.8     DW_AT_byte_size   (0x10)
    clang 24.0.0git  DW_AT_declaration (true)

This is how it was found - gdb reporting "<incomplete type>" for
std::pair<const size_t, ...> in ScyllaDB, which broke the flat_hash_map
readers
in its gdb scripts.

Keep the test coverage the reverted commit added for the cases whose
expected
output is unchanged, restore the DeclaredConstexpr expectation to full
debug
info, and add the aliased-pair case above.

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

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


  Commit: 68f48bd751e4def54642707b2e44bbcab4f8d948
      https://github.com/llvm/llvm-project/commit/68f48bd751e4def54642707b2e44bbcab4f8d948
  Author: benscharl <benscharl42 at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/icmp-power2-and-icmp-shifted-mask.ll
    M llvm/test/Transforms/InstCombine/nested-select.ll
    M llvm/unittests/Analysis/ValueTrackingTest.cpp

  Log Message:
  -----------
  [ValueTracking] Infer implied conditions through masked bit tests (#219626)

Fixes #214397

`isImpliedCondICmps` failed when one compare constrains X and the other
tests a value derived from X. For example:
`X u<13` implies `(X & 16) == 0`

This adds an additional check. When both compares have constant RHS
operands and the second compare's LHS is `and (L0, C)`, following
strategy is applied: L0's range is derived from the first compare and
the mask is applied. If the resulting range satisfies the second
predicate for all values, the implication is correct. If the inverse
predicate is satisfied for all values, the implication is false.
Otherwise the result is unknown.

Alive2: https://alive2.llvm.org/ce/z/aa62Yy


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

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/all-ones-null-pointer.ll
    M llvm/test/Analysis/LoopAccessAnalysis/evaluate-at-symbolic-max-backedge-taken-count-may-wrap.ll
    M llvm/test/Analysis/LoopAccessAnalysis/negative-step-deref-off-by-eltsize.ll
    M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
    M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll

  Log Message:
  -----------
  [LAA] Fix inverted bounds for negative-step AddRecs with unknown end. (#218388)

Currently we use an conservative upper bound (-1) for runtime checks
when evaluating the AddRec may wrap.

This does not properly account for negative steps. In that case, we need
to use null as conservative lower bound.

One complication is that the null pointer may not be zero, so we need to
check for that, and bail out completely if that's the case. We then must
clean up any pointers partially added.

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


  Commit: be3c61a954c5f80f179991df6eefa3d4e3570bba
      https://github.com/llvm/llvm-project/commit/be3c61a954c5f80f179991df6eefa3d4e3570bba
  Author: Yongqiang Tian <yqtian668 at gmail.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineOutliner.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/MachineOutliner.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    A llvm/test/CodeGen/AArch64/machine-outliner-debug-admission.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-macho-compact-unwind-frame.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-mapper-stats.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-mapping-stats.mir
    A llvm/test/CodeGen/AArch64/machine-outliner-range-debug.mir
    A llvm/test/CodeGen/RISCV/machine-outliner-debug-codegen.mir
    A llvm/test/CodeGen/RISCV/machine-outliner-mapper-debug-state.mir

  Log Message:
  -----------
  [MachineOutliner] Properly handle Debug MachineInstrs (#219326)

Fixes #219176.

Debug instructions could affect `MachineOutliner` output in two ways:

- The minimum basic-block size check used `MachineBasicBlock::size()`,
which includes debug instructions. A block containing one ordinary
instruction and one debug instruction could therefore enter the mapper
even though it was too small to outline.
- Mapping an invisible debug instruction cleared `AddedIllegalLastTime`.
This changed the separator state and could affect persistent token
numbering, outlined-function ordering, and ultimately the generated
object code.

This patch makes debug instructions transparent to both decisions:

- Use the non-debug instruction count for the minimum block-size check.
- Preserve the mapper's separator state for debug instructions while
retaining the existing behavior for other invisible pseudos.

The patch adds MIR coverage for both cases and updates the existing
mapper statistics test to reflect blocks that are now skipped.

Testing:

- The original reproducer produces identical ordinary MIR before and
after the outliner for `-g0` and `-g`.
- The normalized machine-code fingerprints for the original reproducer
are identical with and without debug information.
- The complete AArch64 and RISC-V CodeGen test directories pass: 6852
passed, 5 expectedly failed, 0 failed.

AI assistance disclosure: OpenAI Codex 5.6 Sol assisted with the
implementation and testing. The changes were co-reviewed by Claude and
Yongqiang Tian.


  Commit: adbd9456bdc3cf6287f3cee6fb15424f6f5001cc
      https://github.com/llvm/llvm-project/commit/adbd9456bdc3cf6287f3cee6fb15424f6f5001cc
  Author: David Tellenbach <dtellenbach at apple.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
    A llvm/test/CodeGen/AArch64/cmpbr-ccmp.ll
    A llvm/test/CodeGen/AArch64/cmpbr-ccmp.mir

  Log Message:
  -----------
  [AArch64] Allow forming CCMPs for CB branches (#221111)

AArch64ConditionalCompares currently doesn't consider FEAT_CMPBR CB
instructions when trying to form CCMPs. This leads to a lot more
branches which is usually hurtful for performance.

The patchs adds handling CB instructions, just like we do for other
fused conditional branches such as CBZ or CBNZ.


  Commit: 067b6d90b64e8f43c9a2388530b7f98911d77421
      https://github.com/llvm/llvm-project/commit/067b6d90b64e8f43c9a2388530b7f98911d77421
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    A orc-rt/test/unit/BedrockTestUtils.h
    M orc-rt/test/unit/CMakeLists.txt
    M orc-rt/test/unit/CommonTestUtils.h
    M orc-rt/test/unit/bedrock/BootstrapInfoTest.cpp
    M orc-rt/test/unit/bedrock/InProcessControllerAccessTest.cpp
    M orc-rt/test/unit/bedrock/NativeDylibManagerTest.cpp
    M orc-rt/test/unit/bedrock/SessionTest.cpp
    M orc-rt/test/unit/bedrock/SimpleNativeMemoryMapTest.cpp
    M orc-rt/test/unit/bedrock/sps/NativeDylibManagerSPSCITest.cpp
    M orc-rt/test/unit/bedrock/sps/SimpleNativeMemoryMapSPSCITest.cpp
    M orc-rt/test/unit/bedrock/sps/SimpleRemoteCATest.cpp
    M orc-rt/test/unit/support/ProxyTest.cpp

  Log Message:
  -----------
  [orc-rt] Split unit tests into SupportTests and BedrockTests (#221562)

Replace CoreTests with one test binary per layer. SupportTests links the
Support object library and nothing else, so a new support-to-bedrock
dependency fails to link rather than going unnoticed.

Making that work required splitting CommonTestUtils.h: its
Bedrock-dependent helpers move to a new BedrockTestUtils.h, so that no
SupportTests translation unit includes a Bedrock header. That in turn
lets ProxyTest join SupportTests -- Proxy.h only forward-declares
Session, so the test can define its own instead of constructing a real
one.


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

  Changed paths:
    M llvm/lib/TableGen/StringToOffsetTable.cpp

  Log Message:
  -----------
  [TableGen] Escape single quotes when emitting a string table as char literals (#221612)

Fix a latent bug in StringToOffsetTable, which led to breakage after
#218845

```
C:\_work\llvm-project\llvm-project\build\tools\clang\include\clang/Options/Options.inc(135,18): error: expected expression
C:\_work\llvm-project\llvm-project\build\tools\clang\include\clang/Options/Options.inc(135,24): warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
  135 |   'D', 'o', 'n', ''', 't', ' ', 'e', 'm', 'i', 't', ' ', 'e', 'r', 'r', 'o', 'r', 's', ' ', 'o', 'n', ' ', 'i', 'n', 'v', 'a', 'l', 'i', 'd', ' ', 'a', 'n', 'a', 'l', 'y', 'z', 'e', 'r', '-', 'c', 'o', 'n', 'f', 'i', 'g', ' ', 'i', 'n', 'p', 'u', 't', 's', '\0',
      |                        ^
```


  Commit: 91d3532e2261e168e85ebcf5c5112419b47ef530
      https://github.com/llvm/llvm-project/commit/91d3532e2261e168e85ebcf5c5112419b47ef530
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/ABIVersions.def
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    A clang/test/CodeGen/X86/x86_64-unnamed-bitfield-abi-compat.c
    M llvm/include/llvm/ABI/TargetInfo.h
    M llvm/lib/ABI/Targets/X86.cpp

  Log Message:
  -----------
  [Clang][X86] Add Clang23Compat for __int128 bit-field ABI change (#220788)

Follow up of #216777.

Assisted-by: Claude Opus 4.8


  Commit: c6fd19f0fe4eb4f9ddd978eb9a6dbc8039acc3dd
      https://github.com/llvm/llvm-project/commit/c6fd19f0fe4eb4f9ddd978eb9a6dbc8039acc3dd
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h

  Log Message:
  -----------
  [VPlan] Make m_False and m_True matchers stateless. NFC (#221581)

is_zero_int and is_one avoid storage unlike is_specific_int, and allow
the match function to be an inlined isZero/isOne call instead of
APInt::isSameValue.

Improves compile time:
https://llvm-compile-time-tracker.com/compare.php?from=8f7d3ba08f14c3d54b8b407d1758dbd1da01bb38&to=c766163e82ec7a377efc7a26ef1e6db38e0dec1d&stat=instructions:u


  Commit: 2fb183588d6a5067f9a782b822968ddd0f6b4472
      https://github.com/llvm/llvm-project/commit/2fb183588d6a5067f9a782b822968ddd0f6b4472
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M lld/ELF/EhFrame.cpp
    M lld/ELF/EhFrame.h
    M lld/ELF/SyntheticSections.cpp
    M lld/test/ELF/eh-frame-fde-encoding.s
    R lld/test/ELF/eh-frame-hdr-zero-range.s
    M lld/test/ELF/eh-frame-negative-pcrel-sdata2.s
    M lld/test/ELF/eh-frame-negative-pcrel-sdata4.s

  Log Message:
  -----------
  Revert "[ELF] Omit zero-range FDEs from .eh_frame_hdr" (#221624)

Reverts llvm/llvm-project#220492

This causes the RISC-V buildbots to fail in the exception handling
tests, see https://lab.llvm.org/buildbot/#/builders/210/builds/12623 for
the gauntlet build logs

Apologies this revert is coming in so late, there is a proposed fix at
https://github.com/llvm/llvm-project/pull/221342 but it looks like it
might require additional rounds of review so reverting to get the
buildbots back to green for now

cc @MaskRay @Prabhuk


  Commit: 98baf03a3ca629fa2d690286fb751a05c9fd6965
      https://github.com/llvm/llvm-project/commit/98baf03a3ca629fa2d690286fb751a05c9fd6965
  Author: Dan Shan <3shandan at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx26Issues.csv
    M libcxx/include/__optional/comparison.h
    M libcxx/test/std/utilities/optional/optional.comp_with_t/equal.pass.cpp
    M libcxx/test/std/utilities/optional/optional.comp_with_t/greater.pass.cpp
    M libcxx/test/std/utilities/optional/optional.comp_with_t/greater_equal.pass.cpp
    M libcxx/test/std/utilities/optional/optional.comp_with_t/less_equal.pass.cpp
    M libcxx/test/std/utilities/optional/optional.comp_with_t/less_than.pass.cpp
    M libcxx/test/std/utilities/optional/optional.comp_with_t/not_equal.pass.cpp

  Log Message:
  -----------
  [libc++] Implement LWG4072: std::optional comparisons: constrain harder (#209968)

Resolves #118345.

Previously, the heterogeneous comparison operators (`==`, `!=`, `<`,
`<=`, `>`, `>=`) for arguments `T` and `U` don't check that `T` or `U`
are not a `std::optional` themselves. This allowed the operators to
cause ambiguous overload resolution instead of falling back to
`optional`'s own operators, which possibly caused hard error when there
should not be a matched overload.

This patch implements the resolution by adding
`!__is_std_optional_v<_Up>` (and the `_Tp` equivalent for the reversed)
to the constraints in all twelve involved operators.

As required by the LLVM Project's AI use policy:
- The fix and test processes were revised and verified with AI
assistance.


  Commit: 4edfeaddedd4a1b337a1c17af571127c63f2bbd6
      https://github.com/llvm/llvm-project/commit/4edfeaddedd4a1b337a1c17af571127c63f2bbd6
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
    A llvm/test/CodeGen/AArch64/interleaved-load-combine-many-candidates.ll

  Log Message:
  -----------
  [InterleavedLoadCombine] Index candidates to avoid quadratic matching (#213053)

Matching scanned every candidate against every other candidate, which
got very slow on functions with many interleaved loads. Index by address
offset and look up neighbors instead.

llc's Compile-time drops from 212s to ~2s on a Grace machine for the
test case in the issue.
[ Compile-time remains flat

](https://llvm-compile-time-tracker.com/?config=Overview&stat=instructions%3Au&remote=madhur13490)

Fixes #162299.

Assisted by Cursor.


  Commit: 210e20a4967c19199ab3fe6eae7e9a2a52845459
      https://github.com/llvm/llvm-project/commit/210e20a4967c19199ab3fe6eae7e9a2a52845459
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

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

  Log Message:
  -----------
  [SLP][modularisation][NFC] Move getNumberOfParts, isAllowedNonPowerOf2VF (#220827)

Move the following BoUpSLP-independent type/width helpers out of
SLPVectorizer.cpp into SLPVectorizer/SLPTypeUtils.{h,cpp}:

  getNumberOfParts
  isAllowedNonPowerOf2VF

Both read a file-local cl::opt (SLPReVec and VectorizeNonPowerOf2
respectively). The options stay static in SLPVectorizer.cpp; the moved
helpers take their values as explicit bool parameters. Behavior is
unchanged.

Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922


  Commit: 18a91e03873c3f8c189e84f446040d7abd2abd66
      https://github.com/llvm/llvm-project/commit/18a91e03873c3f8c189e84f446040d7abd2abd66
  Author: Jim Lin <jim at andestech.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/test/CodeGen/RISCV/memcpy.ll

  Log Message:
  -----------
  [RISCV] Andes: model fast unaligned accesses for the 45-series (#221166)

The 45-series cores support unaligned scalar accesses. Add
FeatureUnalignedScalarMem to each 45-series processor (andes-n45,
andes-nx45, andes-a45, andes-ax45 and andes-ax45mpv), so that it is
selected by -mcpu rather than -mtune. Other processors declare it this
way too. The feature is somewhat architectural: -mtune is only supposed
to affect performance, but reaching it through tune features lets -mtune
introduce unaligned accesses that crash on a CPU which does not support
them.

Cover this in memcpy.ll using -mcpu=andes-a45/-mcpu=andes-ax45. The new
RUN lines pass -mtune=rocket so that the 45-series scheduling model does
not reorder the output, letting them reuse the existing check lines.

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


  Commit: 1f74b1a7093113a10d6e8762bad779be2cddfe8f
      https://github.com/llvm/llvm-project/commit/1f74b1a7093113a10d6e8762bad779be2cddfe8f
  Author: Vikram Hegde <Vikram.Hegde at amd.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/amdgpu-prelegalizer-combiner-crash.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-add-nullptr.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fabs-fneg.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-redundant-and.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-rot.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-zext-trunc.mir

  Log Message:
  -----------
  [AMDGPU][GIsel][NPM] Port "AMDGPUPreLegalizerCombiner" to NPM (#217222)

same as https://github.com/llvm/llvm-project/pull/215759


  Commit: 2362eeb5f75560740146975e9eabe84c6bd25a0d
      https://github.com/llvm/llvm-project/commit/2362eeb5f75560740146975e9eabe84c6bd25a0d
  Author: Oliver Hunt <oliver at apple.com>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    A clang/test/SemaCUDA/attr-instantiation-duplication-amdgpu.cu
    A clang/test/SemaCUDA/attr-instantiation-duplication-spirv.cu

  Log Message:
  -----------
  [clang][Sema][CUDA,SPIRV] Instantiating function templates duplicates GPU attrs (#218582)

A number of GPU related attributes were incorrectly falling back to the
generic attribute instatiation logic which resulted in duplicating the
attributes. The duplicates were also not correctly instantiated.

This also exposed a failure to prevent duplicate addition in
handleGlobalAttr as well.


  Commit: b0aa16f2613e45acdaa5cb82db40bfb6359e6fda
      https://github.com/llvm/llvm-project/commit/b0aa16f2613e45acdaa5cb82db40bfb6359e6fda
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

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

  Log Message:
  -----------
  [SLP][modularisation][NFC] Move isFixedVectorShuffle to SLPUtils (#221639)

Move the BoUpSLP-independent shuffle helper out of SLPVectorizer.cpp
into SLPVectorizer/SLPUtils.{h,cpp}:

  isFixedVectorShuffle

It sits with the existing shuffle/mask helpers. Behavior is unchanged.

Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922


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

  Changed paths:
    M orc-rt/lib/bedrock/CMakeLists.txt
    M orc-rt/lib/support/CMakeLists.txt
    M orc-rt/test/unit/CMakeLists.txt

  Log Message:
  -----------
  [orc-rt] Compose Bedrock from object libraries (#221650)

Add orc-rt-bedrock-objects, and rename orc-rt-support to
orc-rt-support-objects, leaving orc-rt-bedrock as a shipped library with
no sources of its own that is composed from both. The -objects suffix
marks targets that produce no artifact.

The unit tests now link the object libraries directly rather than the
shipped library. This will allow them to continue working when Bedrock
becomes buildable as a dylib with no C++ API exported.


  Commit: 8878fda06d6885971a4b2fc18d76546583b6dd0d
      https://github.com/llvm/llvm-project/commit/8878fda06d6885971a4b2fc18d76546583b6dd0d
  Author: Akimasa Watanuki <mencotton0410 at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    A clang/test/CIR/CodeGen/spirv-target-lowering-as.cpp
    M clang/test/CIR/CodeGenOpenCL/address-space-conversions.cl
    M clang/test/CIR/CodeGenOpenCL/address-spaces.cl
    M clang/test/CIR/Lowering/address-space.cir

  Log Message:
  -----------
  [CIR][OpenCL][NFC] Add language address-space lowering coverage (#219900)

Expand coverage for lowering OpenCL language address spaces through
target-specific CIR and LLVM IR, including comparison with classic
CodeGen.

Assisted-by: Codex / GPT-5.6 Sol


  Commit: e81ab5ffd45b8d870fad4c8a0e14aea7d47f62cf
      https://github.com/llvm/llvm-project/commit/e81ab5ffd45b8d870fad4c8a0e14aea7d47f62cf
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/CallingConvLower.h

  Log Message:
  -----------
  [CodeGen] Increase CCState::UsedRegs inline capacity (NFC) (#221259)

CCState::UsedRegs holds one bit per target register. Its inline capacity
of 16 x 32-bit words only covers 512 registers, causing heap allocations
for AArch64 (895), RISCV (645), and PowerPC (612). Increase it to 32,
covering up to 1024 registers and keeping the storage inline for these
targets.

Assisted-by: codex


  Commit: a9e273890dc99a3c2662fb14f244fa0acdb1155b
      https://github.com/llvm/llvm-project/commit/a9e273890dc99a3c2662fb14f244fa0acdb1155b
  Author: Steffen Larsen <sholstla at amd.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    A clang/test/CIR/CodeGenHIP/builtin-bool-result.hip

  Log Message:
  -----------
  [CIR] Convert i1 intrinsic results for bool-returning builtins (#220576)

A target builtin with no special case is emitted through the generic
intrinsic path, which returns the intrinsic's own result type. For a
builtin declared to return bool that type is i1, which CIR models as
!cir.int<u, 1> rather than !cir.bool. cir.if accepts only !cir.bool, so
CIR builtin handling needs to convert i1 results to !cir.bool when used
in this context.

This is verified using __builtin_amdgcn_is_shared.

---------

Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>


  Commit: 8ca2e679a9b3cc149e766e6a04645d7efc50f4f1
      https://github.com/llvm/llvm-project/commit/8ca2e679a9b3cc149e766e6a04645d7efc50f4f1
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

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

  Log Message:
  -----------
  [CodeGen] Avoid temporary SmallVector for single memops (NFC) (#221254)

Assisted-by: codex


  Commit: d93b10ea300fa0e86a736b3f0aac8605b23caeb9
      https://github.com/llvm/llvm-project/commit/d93b10ea300fa0e86a736b3f0aac8605b23caeb9
  Author: Rong "Mantle" Bao <rong.bao at csmantle.top>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/MCPlusBuilder.cpp
    M bolt/unittests/Core/MemoryMaps.cpp
    M bolt/unittests/Profile/PerfScripts.cpp

  Log Message:
  -----------
  [BOLT][test] Allow uninstantiated tests when no matching targets are enabled (#217604)

When neither X86 nor AArch64 is enabled, e.g. when only enabling the
RISCV target, `check-bolt-unit` triggers GTest's uninstantiated suite
errors on the following cases:

```plain-text
BOLT-Unit :: Core/./CoreTests/GoogleTestVerification/UninstantiatedParameterizedTestSuite<BinaryContextTester>
BOLT-Unit :: Core/./CoreTests/GoogleTestVerification/UninstantiatedParameterizedTestSuite<MCPlusBuilderTester>
BOLT-Unit :: Core/./CoreTests/GoogleTestVerification/UninstantiatedParameterizedTestSuite<MemoryMapsTester>
BOLT-Unit :: Profile/./ProfileTests/GoogleTestVerification/UninstantiatedParameterizedTestSuite<PerfScriptTestHelper>
```

... which looks like the following:

```plain-text
********************                                                                                                                                                20:28 [95/2055]
FAIL: BOLT-Unit :: Core/./CoreTests/6/9 (7 of 12)
******************** TEST 'BOLT-Unit :: Core/./CoreTests/6/9' FAILED ********************
Script(shard):
--
GTEST_OUTPUT=json:/home/csmantle/workspace/llvm-project/build/tools/bolt/unittests/Core/./CoreTests-BOLT-Unit-718646-6-9.json GTEST_SHUFFLE=0 GTEST_TOTAL_SHARDS=9 GTEST_SHARD_INDE
X=6 /home/csmantle/workspace/llvm-project/build/tools/bolt/unittests/Core/./CoreTests
--

Script:
--
/home/csmantle/workspace/llvm-project/build/tools/bolt/unittests/Core/./CoreTests --gtest_filter=GoogleTestVerification.UninstantiatedParameterizedTestSuite<BinaryContextTester>
--
/home/csmantle/workspace/llvm-project/bolt/unittests/Core/BinaryContext.cpp:211: Failure
Parameterized test suite BinaryContextTester is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the
only ones provided expand to nothing.

Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in
to get other utilities.)

To suppress this error for this test suite, insert the following line (in a non-header) in the namespace it is defined in:

GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(BinaryContextTester);


/home/csmantle/workspace/llvm-project/bolt/unittests/Core/BinaryContext.cpp:211
Parameterized test suite BinaryContextTester is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the
only ones provided expand to nothing.

Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in
to get other utilities.)

To suppress this error for this test suite, insert the following line (in a non-header) in the namespace it is defined in:

GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(BinaryContextTester);
```

Add gated `GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST` to suppress
such warnings until appropriate tests have been implemented.


  Commit: 2cb4f837f087d7ed38aad292b5037cabcb2fcd4c
      https://github.com/llvm/llvm-project/commit/2cb4f837f087d7ed38aad292b5037cabcb2fcd4c
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx13_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1_dpp8.s

  Log Message:
  -----------
  [AMDGPU][NFC] Add gfx13 MC tests for v_mov_b16 and v_swap_b16 (#220863)

Both instructions were already supported on gfx13 but had limited MC
tests coverage.


  Commit: b966c71b74e498c3a9570c790a71a5a1a2fe0e2f
      https://github.com/llvm/llvm-project/commit/b966c71b74e498c3a9570c790a71a5a1a2fe0e2f
  Author: Barbara Mitic <Barbara.Mitic at amd.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
    M llvm/test/CodeGen/AMDGPU/pack-half-to-lshl-or.ll

  Log Message:
  -----------
  [AMDGPU] Fix true16 high-half packing when the low operand is not a VGPR (#220843)

The true16 (hi << 16) | z pattern used v_or_b16 and EXTRACT_SUBREG hi16
on z. That is only valid when z is a VGPR. When z is an immediate (e.g.
0x3c00), EXTRACT_SUBREG hi16 does not isolate the high 16 bits, so the
whole constant is ORed into hi: we get (hi | 0x3c00) << 16 instead of hi
<< 16.

Select v_lshl_or_b32 instead, with z as VSrc_b32, matching the fake16
path.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/replicate-region-branch-weights.ll

  Log Message:
  -----------
  [VPlan] Fix merged replicate region frequency when only one is known. (#221607)

When merging two replicate regions guarded by the same mask, the merged
region's entry frequency should be the higher of the two original
frequencies, since it now fires whenever either original region did.

The existing check only updated the frequency when both were known,
leaving the second region's own (possibly much lower) frequency in place
whenever the first was unknown. This means we might set a misleadingly
low frequency. Conservatively set to unknown instead.


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

  Changed paths:
    M llvm/lib/Target/Sparc/DelaySlotFiller.cpp
    M llvm/lib/Target/Sparc/SparcInstrInfo.cpp
    M llvm/lib/Target/Sparc/SparcInstrInfo.h

  Log Message:
  -----------
  [Sparc] Fix instruction size for delay slot with UNIMP (#220955)

Sparc currently reports all instructions with delay slots as having
twice the size. However, there is a special case for struct returns,
where there is an extra UNIMP instruction. Move needsUnimp() into
SparcInstrInfo, and account for it in the instruction size calculation.

Part of enabling instruction size verification by default.


  Commit: 90bc5b106b5f36fd6c6fffd7eb914946ce75b4a3
      https://github.com/llvm/llvm-project/commit/90bc5b106b5f36fd6c6fffd7eb914946ce75b4a3
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    A llvm/test/tools/gold/X86/Inputs/multiple-data-section-ordering.txt
    M llvm/test/tools/gold/X86/multiple-data.s
    M llvm/test/tools/gold/X86/multiple-sections.ll
    M llvm/test/tools/gold/lit.local.cfg

  Log Message:
  -----------
  [gold] Switch section-ordering-file tests to use ld.bfd (#219150)

ld.bfd supports `--section-ordering-file` since 2.43. Use it if the
binutils version is sufficiently recent.

The implementation in ld.bfd is significantly different, with the
section ordering file looking more like an incomplete linker script,
rather than a plain section listing.

The addresses of the sections are also slightly different than with
ld.gold. Use hex matches + arithmetic to just check the correct
order/offsets instead of hardcoding the exact choice of address.

ld.bfd also supports --start-lib/--end-lib since 2.47, but it seems like
those don't actually work with linker plugins, so I'm not migrating them
(https://sourceware.org/bugzilla/show_bug.cgi?id=34572).

Followup to https://github.com/llvm/llvm-project/pull/130981.


  Commit: 7a67a1ab6f3f6d716462872114a5e12f28cdb42a
      https://github.com/llvm/llvm-project/commit/7a67a1ab6f3f6d716462872114a5e12f28cdb42a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstCombine/ptr-int-cast.ll
    M llvm/test/Transforms/InstSimplify/ptrtoint.ll

  Log Message:
  -----------
  [InstSimplify] Don't fold ptrtoint of ptradd of sub (#221188)

Don't fold `ptrtoint (ptradd (Ptr, X - ptrtoint(Ptr))) -> X`. While
valid by itself, the fact that LLVM currently does not properly model
the ptrtoint side effect means that we lose the provenance exposure of
Ptr. This results in end-to-end miscompiles that led to the revert of
#210729.

We can still perform the optimization for ptrtoaddr, which does not
expose provenance.


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/and-implied-by-operands.ll
    A llvm/test/Transforms/ConstraintElimination/induction-exit-condition-or-and.ll

  Log Message:
  -----------
  [ConstraintElim] Handle single And/Or as exit condition in loop. (#221228)

In some cases, exits conditions in the loop are And/Or of and IV-based
condition and another condition. If the loop continues only if all
conditions are true (AND + true successor is the header, OR + false
successor is the header), we can still use the IV based condition to
bound the IV.

For now, just peels a single AND/OR.

This enables folds in a few additional cases:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1193.

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


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

  Changed paths:
    M llvm/include/llvm/IR/Attributes.h
    M llvm/lib/IR/AttributeImpl.h
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/LLVMContextImpl.h

  Log Message:
  -----------
  [IR] Split the attribute pool by kind. NFC (#221620)

Change Attribute::get overloads to use fine-grained hash-consing pools
(Enum/Int/String/Type), avoiding FoldingSetNodeID serialization
overhead. Use a flat array for Enum attributes, which carry no value.

The two ConstantRange kinds keep using FoldingSet: they are not used
often, and UniquingSet cannot be used with custom UniquingSetInfo
(`APInt::operator==` asserts identical BitWidth).

Aided by Opus 5


  Commit: c5a85b9c6996b2459c169ef6a410c501980c9ea0
      https://github.com/llvm/llvm-project/commit/c5a85b9c6996b2459c169ef6a410c501980c9ea0
  Author: Mariya Podchishchaeva <Mariya.Podchishchaeva at amd.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/TargetInfo.h
    M clang/lib/CIR/CodeGen/Targets/SPIRV.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
    M clang/test/CIR/CodeGenOpenCL/address-space-local-var.clcpp
    M clang/test/CIR/CodeGenOpenCL/address-spaces.cl

  Log Message:
  -----------
  [CIR] Fix address space issues related to SPIR/SPIR-V targets (#220982)

This adds support for address space lowering for spir/spir64 (not v)
which are still widely used in OpenCL testing despite spirv32/spirv64
targets existence. This also corrects alloca address space for all
mentioned targets from default to private which is semantically correct
for them and avoids emission of spurious address space casts.

Assisted-by: claude in test cases updating


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/test/CIR/CodeGenBuiltins/builtin-fpclassify.c
    M clang/test/CIR/CodeGenBuiltins/builtin-isfpclass.c
    M clang/test/CIR/CodeGenBuiltins/builtin-isinf-sign.c
    M clang/test/CIR/IR/enum-attrs.cir

  Log Message:
  -----------
  [CIR] Migrate the FPClassTest bit enum and unquote its flags (#220888)

cir.is_fp_class printed its flags inconsistently. Single-bit values came
out
bare, as in `fcSNan`, while group values and combinations came out
quoted, as
in `"fcInf"` and `"fcSNan|fcNegInf"`. That comes from I32BitEnumAttr
setting
printBitEnumQuoted, which EnumAttr.td keeps only for backwards
compatibility.

Clearing the bit and using the `enum` directive selects the
separator-aware
parser and printer, so every value now spells unquoted:

  cir.is_fp_class %x, fcSNan|fcNegInf : (!cir.float) -> !cir.bool

The enum also drops its specialized IntegerAttr for a CIR_EnumAttr
wrapper,
giving it the standalone spelling `#cir.fp_class<fcSNan|fcNegInf>`.


  Commit: ae814d03d870475d03446ad9195c305912f062ea
      https://github.com/llvm/llvm-project/commit/ae814d03d870475d03446ad9195c305912f062ea
  Author: Vimal Patel <vimal.patel at arm.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstSimplify/call.ll

  Log Message:
  -----------
  [InstSimplify] Improve coverage for zero-shift-guard folding for rotate (#217033)

The current logic responsible to fold zero-shift-guard performed the
folding only when the shift amount is exactly zero. But, the guard could
be eliminated as long as the funnel shift instruction is performing a
bitwise rotate and the shift amount is a multiple of the bitwidth of the
value being rotated. This commit makes this change.


  Commit: 345dd01072956b7ddc36dbdfe39df2d991193e07
      https://github.com/llvm/llvm-project/commit/345dd01072956b7ddc36dbdfe39df2d991193e07
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/docs/StandardCPlusPlusModules.md
    M clang/include/clang/DependencyScanning/ModuleDepCollector.h
    M clang/include/clang/Lex/PreprocessorOptions.h
    M clang/lib/DependencyScanning/ModuleDepCollector.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/test/ClangScanDeps/P1689.cppm
    A clang/test/ClangScanDeps/p1689-module-map.cppm

  Log Message:
  -----------
  [C++20] [Modules] [ScanDeps] Scan results for module map file (#221652)

Previously we described the trick to use module map to import std module
implicitly. But in practice, this may not work as build tools can't get
the dependencies.

In this patch, we updated clang-scan-deps to report the dependencies
between consumers and the corresponding module described in module map
file in P1689 format. The P1689 format in clang-scan-deps is the defacto
dependency description between compiler and build tools. This helps end
users to use the trick without waiting for the support from various
build tools.


  Commit: 1191f353cefe3c7ceb8e76fd03296e082a247685
      https://github.com/llvm/llvm-project/commit/1191f353cefe3c7ceb8e76fd03296e082a247685
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/test/CodeGen/glibc_ptr_align.c
    M clang/test/CodeGen/ptr-subtract-stable.c
    M clang/test/CodeGen/vla.c
    M clang/test/CodeGenCUDA/managed-var.cu
    M clang/test/CodeGenOpenCL/address-spaces-conversions.cl
    M clang/test/CodeGenOpenCL/nullptr.cl
    M clang/test/CodeGenOpenCL/size_t.cl
    M clang/test/OpenMP/depobj_codegen.cpp
    M clang/test/OpenMP/for_range_loop_codegen.cpp
    M clang/test/OpenMP/fuse_codegen.cpp
    M clang/test/OpenMP/interchange_codegen.cpp
    M clang/test/OpenMP/parallel_for_codegen.cpp
    M clang/test/OpenMP/reverse_codegen.cpp
    M clang/test/OpenMP/split_codegen.cpp
    M clang/test/OpenMP/stripe_codegen.cpp
    M clang/test/OpenMP/tile_codegen.cpp

  Log Message:
  -----------
  Reapply [Clang][CodeGen] Use ptrtoaddr for pointer diff (#210729) (#221675)

Reapply https://github.com/llvm/llvm-project/pull/210729 without change
after https://github.com/llvm/llvm-project/pull/221188, which should fix
the miscompiles this change exposed.

-----

We don't have to expose the provenance of pointers for pointer
subtraction, so use ptrtoaddr instead of ptrtoint if -fwrapv-pointer is
not set.

Co-authored-by: Alexis Engelke <engelke at in.tum.de>


  Commit: 038e968a7ec08ba7d9a262059f8fab91853656ea
      https://github.com/llvm/llvm-project/commit/038e968a7ec08ba7d9a262059f8fab91853656ea
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    A lldb/test/API/commands/watchpoints/watchpoint_set_errors/Makefile
    A lldb/test/API/commands/watchpoints/watchpoint_set_errors/TestWatchpointSetErrors.py
    A lldb/test/API/commands/watchpoints/watchpoint_set_errors/main.c
    R lldb/test/Shell/Watchpoint/Inputs/main.cpp
    R lldb/test/Shell/Watchpoint/SetErrorCases.test

  Log Message:
  -----------
  [lldb][test] Rewrite Watchpoint/SetErrorCases as API test (#221563)

This test is randomly failing on macOS bots with this error:
```
error: Command requires a process which is currently stopped.
```

There is no test logic in shell tests that can diagnose what is going on
with the process, so this patch rewrites this test as an API test where
we have better error handling.


  Commit: 41a09be5d09b14c9f06a2b46f903b388a671546a
      https://github.com/llvm/llvm-project/commit/41a09be5d09b14c9f06a2b46f903b388a671546a
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

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

  Log Message:
  -----------
  [VPlan] Don't recompute getPlan in simplifyRecipes. NFC (#221582)

getPlan involves a traversal, so avoid doing it on every recipe
simplified.

Improves compile time:
https://llvm-compile-time-tracker.com/compare.php?from=8f7d3ba08f14c3d54b8b407d1758dbd1da01bb38&to=aaeebfa47f57bbf1bc9f26ce9a4e777939f46352&stat=instructions:u


  Commit: 544171da142fd5a380a943c9f7ea5150b9f2a293
      https://github.com/llvm/llvm-project/commit/544171da142fd5a380a943c9f7ea5150b9f2a293
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/MustExecute.h
    M llvm/lib/Analysis/MustExecute.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp

  Log Message:
  -----------
  [LoopSafetyInfo] Store Loop and automatically compute (NFC) (#221238)

This makes two changes:

* LoopSafetyInfo is bound to a single loop. Store the Loop in the ctor,
so it does not need to be passed to individual queries.
* Automatically compute LoopSafetyInfo on construction, instead of in a
separate call. This is mostly to clarify that (contrary to the doc
comment) nobody is actually trying to invalidate LoopSafetyInfo by
rerunning computeLoopSafetyInfo().

This makes it easier to change implementation details, like computing
information lazily.


  Commit: 8d9c175633eb6a6100bdd1b6b67ff780cfc5d1b2
      https://github.com/llvm/llvm-project/commit/8d9c175633eb6a6100bdd1b6b67ff780cfc5d1b2
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/test/CIR/IR/invalid-call.cir
    M clang/test/CIR/IR/invalid-lang-attr.cir

  Log Message:
  -----------
  [CIR] Move the CIR enums off the legacy EnumAttrInfo hierarchy (#220889)

MLIR has two enum hierarchies. `EnumAttrInfo` doubles as an
`IntegerAttr`
constraint, so every CIR enum had to clear `genSpecializedAttr` to say
it did
not want one. `EnumInfo` describes a C++ enum and nothing more.

Derive the CIR bases from `I32Enum`, `I64Enum` and `I32BitEnum`, and
widen
`CIR_EnumAttr` to the `EnumInfo` that upstream `EnumAttr` already takes.
The
flag no longer exists to clear. `FPClassTestEnum` gets unquoted printing
from
`BitEnumBase` rather than overriding `printBitEnumQuoted`, and
`CIR_KnownFuncKind` drops a `parameterPrinter` the generated
`operator<<`
now covers, still spelling `#cir.func_identity<"std::find">`.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    A llvm/test/CodeGen/X86/pr216504.ll

  Log Message:
  -----------
  [X86] Don't fold loads from non-fixed stack objects into tail calls (#221243)

Fixes #216504

The callee of a tail call can be folded into the jump as a memory
operand (`TCRETURNmi64`). That jump runs after the epilogue, so the
operand is resolved relative to the incoming stack pointer, which only
works for fixed objects such as incoming arguments. Here the callee was
a `volatile` local, so the load stayed on the stack and got folded,
while a variable-index extract from a 256-bit vector went through a
32-byte stack temporary and forced dynamic realignment. Once the stack
is realigned a local has no static offset from the incoming stack
pointer, and PEI tripped the assertion. The sibcall eligibility check
does look at realignment, but it runs before legalization, so it never
saw the temporary. Spill slots created during register allocation can
cause the same thing, so no check at that point can be complete.

The fold is now refused whenever the load's address may use a non-fixed
frame index, in `checkTCRetEnoughRegs`, which gates both the
`TCRETURNmi` patterns and the callee-load hoisting in
`PreprocessISelDAG`. The callee is loaded into a register before the
epilogue and the call is still emitted as a tail call. Loads from fixed
objects fold as before. As a side effect this also stops the jump from
reading a slot below the restored stack pointer, which was only safe
inside the red zone.


  Commit: 73344b523c93f25c9dafcabf803295e92bf5cb5f
      https://github.com/llvm/llvm-project/commit/73344b523c93f25c9dafcabf803295e92bf5cb5f
  Author: Clemens Wasser <clemens.wasser at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/test/DebugInfo/Generic/debug-label-inline.c
    M llvm/lib/IR/DebugLoc.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/test/DebugInfo/Generic/assignment-tracking/inline/id.ll
    M llvm/test/DebugInfo/Generic/inline-dbg-values.ll
    M llvm/test/DebugInfo/Generic/inline-debug-info-multiret.ll
    M llvm/test/DebugInfo/Generic/inline-debug-info.ll
    M llvm/test/DebugInfo/Generic/inline-no-debug-info.ll
    M llvm/test/DebugInfo/KeyInstructions/Generic/inline.ll
    M llvm/test/Transforms/CodeExtractor/PartialInlineDebug.ll
    M llvm/test/Transforms/CodeExtractor/PartialInlineVarArgsDebug.ll
    M llvm/test/Transforms/Inline/X86/inline-landing-pad.ll
    M llvm/test/Transforms/Inline/debug-invoke.ll
    M llvm/test/Transforms/Inline/dilocation-loop-metadata-update.ll
    M llvm/test/Transforms/Inline/inline_dbg_declare.ll
    M llvm/test/Transforms/SafeStack/ARM/debug.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-emit-inline.ll

  Log Message:
  -----------
  [Inliner] Use distinct DILocations and cache inlineDebugLoc by OrigDL (#204817)

Found while profiling clang compiling `SLPVectorizer.cpp`.
The call chain `DILocation::get` -> `DILocation::getImpl` ->
`llvm::getUniqued` caused lots of expensive `DenseSet` `find_as` and
`grow` operations due to the cache being really inefficient. Switch to
`DILocation::getDistinct` and cache `inlineDebugLoc` by `OrigDL` for a
more efficient cache.


  Commit: 34c0dc0bbf96ed16f47115b1c9033a450ad2bcf4
      https://github.com/llvm/llvm-project/commit/34c0dc0bbf96ed16f47115b1c9033a450ad2bcf4
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/tools/llvm-readobj/COFFDumper.cpp

  Log Message:
  -----------
  [llvm][llvm-readobj][NFC] clang-format COFFDumper.cpp (#221688)

Prior to changes to it in #221224.

This formats the whole file, and when it's landed I'll add the commit
hash to .git-blame-ignore-revs.


  Commit: 39daa556ccaa69f6a2db45f414f33fad128e5d48
      https://github.com/llvm/llvm-project/commit/39daa556ccaa69f6a2db45f414f33fad128e5d48
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

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

  Log Message:
  -----------
  AArch64: Drop AllowFPOpFusion from isProfitableToHoist (#221402)


  Commit: abbc159932f12e00ae4ee834ab662951811be772
      https://github.com/llvm/llvm-project/commit/abbc159932f12e00ae4ee834ab662951811be772
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M .git-blame-ignore-revs

  Log Message:
  -----------
  [llvm][llvm-readobj][NFC] Add formatting commit to ignore revs (#221693)

See #221688.


  Commit: 8727da4880d069d0feb0c4346b902dc917500083
      https://github.com/llvm/llvm-project/commit/8727da4880d069d0feb0c4346b902dc917500083
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    A clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/avoid-unconditional-preprocessor-if.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/avoid-unconditional-preprocessor-if.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/braces-around-statements.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/braces-around-statements.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/const-return-type.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/const-return-type.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/duplicate-include.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/duplicate-include.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/else-after-return.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/else-after-return.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst

  Log Message:
  -----------
  [clang-tidy][docs] Rename readability check docs to Markdown [1/5] (#221446)

Tracking issue: #201242

See the [migration guide] for more information.

[migration guide]:

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

This is the first part of the mechanical rename of the check
documentations in readability module.
The rewrite is provided by the next PR in this stack.


  Commit: 76a090dfd9d81761087453de3ada2eb7ff2528f7
      https://github.com/llvm/llvm-project/commit/76a090dfd9d81761087453de3ada2eb7ff2528f7
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/avoid-unconditional-preprocessor-if.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/braces-around-statements.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/const-return-type.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/duplicate-include.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/else-after-return.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.md

  Log Message:
  -----------
  [clang-tidy][docs] Rewrite readability check docs to Markdown [1/5] (#221447)

Tracking issue: #201242

See the [migration guide] for more information.

[migration guide]:

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

This is the first part of rewriting check documentations in readability
module from reST to MyST Markdown.

AI Usage: This was prepared with rnk's fork of rst2myst and
GPT5.6-assisted cleanup.
I manually verified that the documentation renders as expected.

Preview site:
https://broken.life/llvm-staging/readability-markdown-port/index.html

---------

Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>


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

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-fmuladd.ll

  Log Message:
  -----------
  CodeGen: Drop AllowFPOpFusion check from fmuladd lowering (#221667)


  Commit: 2e30c8e267256e3a2b43985d9be68831c412a1b5
      https://github.com/llvm/llvm-project/commit/2e30c8e267256e3a2b43985d9be68831c412a1b5
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    A flang/include/flang/Evaluate/char.h
    M flang/include/flang/Evaluate/complex.h
    M flang/include/flang/Evaluate/initial-image.h
    M flang/include/flang/Evaluate/integer.h
    M flang/include/flang/Evaluate/logical.h
    M flang/include/flang/Evaluate/real.h
    M flang/lib/Evaluate/host.h
    M flang/lib/Evaluate/initial-image.cpp

  Log Message:
  -----------
  [Flang][NFCI] Use abstraction for binary scalar data (#212956)

There is currently the assumption that the binary representation of the
scalar data classes (Integer, Real, Complex, Logical) is identical to
the binary representation of native types. For instance `Integer<64>`
can be reinterpret-casted to a `int64_t` or serialized using `memcpy`.
This will not be the case anymore with #206907. This first PR introduces
`LoadRawBytes` and `StoreRawBytes` abstractions that can be adapted when
the binary data layout of the scalar data classes change. No functional
change intended.

The binary representation is assumed for these uses:

1. Data serialization in initial-image.h/.cpp

2. Calling native math functions to constant-fold functions such as
`sin` in intrinsics-library.cpp. An abstraction layer has been created
in host.h/host.cpp to convert between host-native types and the scalar
data classes.


Some implementation notes:
* I originally used `CharacterUtils` but it is in a private header file.
Instead I created `CharacterValue` which similar to what #216960 will
introduce to allow a consistent interface between the scalar value
classes (such as `kind()` returning the current runtime kind)
* `bytesStored` is another such common interface. It it meant to
resemble `llvm::DataLayout::getTypeStoreSize` (there is also
`getTypeAllocSize`, `llvm::Type::getPrimitiveSizeInBits()`,
`llvm::Type::getScalarSizeInBits()`) and must match
`common::TypeSizeInBytes`.
* `Real<10>` uses 16-byte alignment regardless what the host compiler
thinks what `long double` should be. The padding is unitialized data in
`X87IntegerContainer`. Even though x87 is the classic example where
"allocation size" and "store size" would be different, Flang does not
differentiate between them and treats all bytes also as stored bytes,
see `common::TypeSizeInBytes`. As a consequence, `Complex<10>` is 32
bytes. initial-image.h/.cpp will even load/store/compare that
uninitialized data. host.h/host.cpp instead reads/writes the floats
separately to translate to whatever the host compiler does.
* initial-image.cpp/.h is inconsistent when it uses number of bytes and
when it uses number of characters
* For the case the image does not have sufficient bytes to read, I did
not want to insert checks whether another byte can be read into every
ReadRawBytes function, and instead add zero-padding explicitly when
necessary.

Assisted-by: AI


  Commit: d9bcffd284812c3e29805af27d32fdedd82c5acc
      https://github.com/llvm/llvm-project/commit/d9bcffd284812c3e29805af27d32fdedd82c5acc
  Author: Romanov Vlad <Vladislav.Romanov at amd.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
    M llvm/test/CodeGen/AMDGPU/agpr-csr.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-no-agprs-violations.ll
    A llvm/test/CodeGen/AMDGPU/coexec-sched-agpr-excess.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
    M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
    M llvm/test/CodeGen/AMDGPU/mfma-no-register-aliasing.ll
    M llvm/test/CodeGen/AMDGPU/spill-agpr.ll

  Log Message:
  -----------
  [AMDGPU] Add AGPR pressure tracking (#214745)

Add AGPR pressure tacking in RPDelta.


  Commit: 11a9127fbe072d84571712bb5e2aa9ebd964a802
      https://github.com/llvm/llvm-project/commit/11a9127fbe072d84571712bb5e2aa9ebd964a802
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M lld/test/COFF/arm64ec-export-thunks.test
    M lld/test/COFF/arm64ec-import.test
    M lld/test/COFF/baserel.test
    M lld/test/COFF/code-merge.s
    M lld/test/COFF/common-replacement.s
    M lld/test/COFF/merge-data-bss.test
    M lld/test/COFF/nodbgdirmerge.test
    M lld/test/COFF/secrel-common.s
    M lldb/test/Shell/SymbolFile/NativePDB/globals-bss.cpp
    M llvm/test/MC/AArch64/seh-large-func-multi-epilog.s
    M llvm/test/MC/AArch64/seh-large-func.s
    M llvm/test/MC/AArch64/seh.s
    M llvm/test/MC/AArch64/win-import-call-optimization.s
    M llvm/test/MC/ARM/seh.s
    M llvm/test/MC/COFF/addrsig.s
    M llvm/test/MC/COFF/align-nops.s
    M llvm/test/MC/COFF/basic-coff-64.s
    M llvm/test/MC/COFF/basic-coff.s
    M llvm/test/MC/COFF/bss.s
    M llvm/test/MC/COFF/cgprofile.s
    M llvm/test/MC/COFF/module-asm.ll
    M llvm/test/MC/COFF/section.s
    M llvm/test/MC/COFF/seh-align1.s
    M llvm/test/MC/COFF/seh-align2.s
    M llvm/test/MC/COFF/seh-align3.s
    M llvm/test/MC/COFF/seh-section.s
    M llvm/test/MC/COFF/seh.s
    M llvm/test/MC/COFF/symbol-fragment-offset-64.s
    M llvm/test/MC/COFF/symbol-fragment-offset.s
    M llvm/test/MC/X86/win-import-call-optimization.s
    M llvm/test/tools/llvm-ar/arm64x-split.yaml
    M llvm/test/tools/llvm-objcopy/COFF/add-gnu-debuglink.test
    M llvm/test/tools/llvm-objcopy/COFF/add-section-and-set-flags.test
    M llvm/test/tools/llvm-objcopy/COFF/empty-sections.s
    M llvm/test/tools/llvm-objcopy/COFF/only-keep-debug-rdata.test
    M llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test
    M llvm/test/tools/llvm-objcopy/COFF/update-section.test
    M llvm/test/tools/llvm-offload-wrapper/coff-opt-ref.ll
    M llvm/test/tools/llvm-readobj/COFF/arm64x-hybridobj.yaml
    M llvm/test/tools/llvm-readobj/COFF/bigobj.test
    M llvm/test/tools/llvm-readobj/COFF/sections-ext.test
    M llvm/test/tools/llvm-readobj/COFF/sections.test
    M llvm/test/tools/yaml2obj/COFF/xrelocs.yaml
    M llvm/tools/llvm-readobj/COFFDumper.cpp

  Log Message:
  -----------
  [llvm][llvm-readobj] Print COFF RawDataSize as hex (#221224)

To match VirtualSize, and Microsoft's dumpbin which prints both as hex:
SECTION HEADER #1
   .text name
   440B4 virtual size
    1000 virtual address (0000000140001000 to 00000001400450B3)
   44200 size of raw data

llvm-readobj before this change:
    VirtualSize: 0x3478
    VirtualAddress: 0x74000
    RawDataSize: 3584

And after:
    VirtualSize: 0x3478
    VirtualAddress: 0x74000
    RawDataSize: 0xe00

This was pointed out on
https://github.com/llvm/llvm-project/issues/220618, where I was having
to manually convert the numbers to compare them.


  Commit: 65b2748a68c9d20ec4303c3e9bf1ca0398be8777
      https://github.com/llvm/llvm-project/commit/65b2748a68c9d20ec4303c3e9bf1ca0398be8777
  Author: Tapiwa Gonga <126596199+tapiwagonga at users.noreply.github.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M libc/CMakeLists.txt
    A libc/docs/dev/code_coverage.md
    M libc/docs/dev/index.md

  Log Message:
  -----------
  [libc] Enable code coverage using continuous instrumentation profiling (#213271)

This patch adds coverage to LLVM-libc using Clang continuous
instrumentation.

The `LIBC_ENABLE_COVERAGE` CMake option enables
`-fprofile-instr-generate=libc_cov_%c%p.profraw`, `-fcoverage-mapping`,
and `-fprofile-continuous` for Clang overlay builds, and is limited to
overlay build.

Developer documentation and usage instructions are added in
`libc/docs/dev/code_coverage.md` and indexed in
`libc/docs/dev/index.md`.

Assisted-by: Automated tooling, human reviewed.


  Commit: bb577f620571ce3bb97f2e717b53500574a9cf27
      https://github.com/llvm/llvm-project/commit/bb577f620571ce3bb97f2e717b53500574a9cf27
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-bitcast.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Select i16/f16 cross-bank bitcasts (#220612)

Test bitcast_to_half in
llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll crashes with

  H0 = COPY W8
  unimplemented reg-to-reg copy
  UNREACHABLE executed at

/home/culrho01/llvm-project/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:6363!

when type-based RegBankSelect (#199040) is enabled. Normal RBS keeps
both operands on GPR and moves to FPR afterward. This extends
instruction select to support bitcasts where src/dst reg bank doens't
match.

Assisted-by: codex


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

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    A llvm/test/Transforms/DeadStoreElimination/wide-pointer-index-offset.ll

  Log Message:
  -----------
  [ValueTracking] Handle idx widths > 64 bit in GetPointerBaseWithConst. (#221692)

GetPointerBaseWithConstantOffset may be called for GEPs with indices
that do not fit into 64 bit. Use trySExtValue to avoid assertions in the
newly added tests.

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


  Commit: afb42af9cc18d0dd08ccac3577310e049095700b
      https://github.com/llvm/llvm-project/commit/afb42af9cc18d0dd08ccac3577310e049095700b
  Author: Srinivasa Ravi <srinivasar at nvidia.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
    M clang/test/CIR/CodeGenCUDA/builtins-nvvm-math.cu
    M clang/test/CodeGen/builtins-nvptx.c
    M llvm/docs/NVPTXUsage.md
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/NVVMIntrinsicUtils.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
    A llvm/test/CodeGen/NVPTX/bf16-add.ll
    A llvm/test/CodeGen/NVPTX/bf16-sub.ll
    R llvm/test/CodeGen/NVPTX/f16-add-sat.ll
    A llvm/test/CodeGen/NVPTX/f16-add.ll
    R llvm/test/CodeGen/NVPTX/f16-sub-sat.ll
    A llvm/test/CodeGen/NVPTX/f16-sub.ll
    A llvm/test/CodeGen/NVPTX/fp-add-f32x2.ll
    A llvm/test/CodeGen/NVPTX/fp-add-invalid.ll
    M llvm/test/CodeGen/NVPTX/fp-arith-sat.ll
    A llvm/test/CodeGen/NVPTX/fp-fold-sub-f32x2.ll
    M llvm/test/CodeGen/NVPTX/fp-fold-sub.ll
    M llvm/test/CodeGen/NVPTX/mixed-precision-fp.ll
    M llvm/test/Transforms/InstCombine/NVPTX/nvvm-intrins.ll
    M llvm/test/Transforms/InstSimplify/const-fold-nvvm-add.ll
    A llvm/test/Verifier/NVPTX/fadd.ll
    M llvm/unittests/IR/IntrinsicsTest.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/nvvm/addf/addf.mlir
    M mlir/test/Target/LLVMIR/nvvm/addf/addf_invalid.mlir
    M mlir/test/Target/LLVMIR/nvvm/addf/addf_vector.mlir
    M mlir/test/Target/LLVMIR/nvvm/subf/subf.mlir
    M mlir/test/Target/LLVMIR/nvvm/subf/subf_invalid.mlir
    M mlir/test/Target/LLVMIR/nvvm/subf/subf_vector.mlir

  Log Message:
  -----------
  [clang][NVPTX][MLIR][NVVM] Add overloaded fadd intrinsics (#221681)

This change adds the following overloaded `fadd` intrinsics with
NVPTX codegen:

- `llvm.nvvm.fadd`
- `llvm.nvvm.fadd.ftz`
- `llvm.nvvm.fadd.sat`
- `llvm.nvvm.fadd.ftz.sat`

The rounding mode is passed in as an `i32` immediate operand.

Auto-upgrades the older non-overloaded intrinsics to the new
ones, and updates clang builtins, CIR codegen, and MLIR NVVM ops
to lower to the new intrinsics.

In the interest of completion, this also:
- Adds intrinsics support for lowering some half-precision additions 
that were omitted earlier (`f16/f16x2` without saturation, and
`bf16/bf16x2` additions), and support for the `f32x2` type.
- Extends the DAG combine pattern for lowering `fneg + add-intrinsic`
to `sub` instructions to all supported types.
- Adds tests for constant folding of these intrinsics with the newly
supported scalar types.

PTX Spec Reference:
https://docs.nvidia.com/cuda/developer-preview/13.4/parallel-thread-execution/index.html#floating-point-instructions-add

Assisted-by: Claude Opus 5


  Commit: 41235ec98c8a152d5be53f78437faf36fe9d2a15
      https://github.com/llvm/llvm-project/commit/41235ec98c8a152d5be53f78437faf36fe9d2a15
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

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

  Log Message:
  -----------
  [LV] Bring isLegalGatherOrScatter in line with existing method (NFC) (#221698)

Bring isLegalGatherOrScatter in line with isLegalMaskedLoadOrStore in
prepartion to widen gathers/scatters in VPlan.


  Commit: be0fa604519d749fdd6e3f3b943f85a9cbdb13bf
      https://github.com/llvm/llvm-project/commit/be0fa604519d749fdd6e3f3b943f85a9cbdb13bf
  Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/unittests/AST/ExternalASTSourceTest.cpp

  Log Message:
  -----------
  [clang][AST] Fix generation with multiple external sources (#219189)

ExternalASTSource::incrementGeneration returns the OldGeneration,
which must be taken into account in case it is delegated to the topmost
external source.

This obsoletes a long-standing downstream patch in Cling that was
previously submitted in https://reviews.llvm.org/D39714.

Test proposed by Vassil Vassilev, assisted by Claude.


  Commit: 102073935c094577b0f88c7be8e432211d74cfb0
      https://github.com/llvm/llvm-project/commit/102073935c094577b0f88c7be8e432211d74cfb0
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M orc-rt/CMakeLists.txt
    M orc-rt/lib/bedrock/CMakeLists.txt
    M orc-rt/lib/support/CMakeLists.txt

  Log Message:
  -----------
  [orc-rt] Add ORC_RT_ENABLE_PIC, default on. (#221705)

An upcoming patch will add support for building bedrock as a dylib. In
preparation for this, add ORC_RT_ENABLE_PIC option, and use it to set
POSITION_INDEPENDENT_CODE (needed for shared library builds) on the
bedrock and support object libraries.


  Commit: cd3a2657c7193abbdba4620649ff5b8f7409e47a
      https://github.com/llvm/llvm-project/commit/cd3a2657c7193abbdba4620649ff5b8f7409e47a
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/macro-parentheses.cpp

  Log Message:
  -----------
  [clang-tidy] Fix bugprone-macro-parentheses false positives for alias names (#219955)

Fixes #219922.


  Commit: 24319927cb0c4acbe9fb3f2bd042b07dad2a4f9f
      https://github.com/llvm/llvm-project/commit/24319927cb0c4acbe9fb3f2bd042b07dad2a4f9f
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/nvvm.mlir

  Log Message:
  -----------
  [mlir][NVVM] Reject f16 WGMMA accumulators for BF16 inputs (#220869)

WGMMA supports an f32 accumulator for BF16 multiplicands. The verifier
also accepted an f16 accumulator, allowing an unsupported operation
through dialect verification.

Restrict the BF16 case to f32 and add verifier coverage to the existing
NVVM dialect test.

Found by Coverity.

Assisted-by: Codex


  Commit: ef23a997b4e0f555d467158c0ac47357c41b1314
      https://github.com/llvm/llvm-project/commit/ef23a997b4e0f555d467158c0ac47357c41b1314
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h

  Log Message:
  -----------
  [LifetimeSafety] Gate lifetime checks behind per-diagnostic opts (#221610)

Granular Lifetime Safety Check Gating

We split `IsLifetimeSafetyEnabled` into individual check functions in
`SemaLifetimeSafety.h`.

These properties are stored in `LifetimeSafetyOpts`, which are then
checked inside the `Checker` to avoid invoking expensive reporting
functions mapping to diagnostics that are disabled.

`reportMisplacedLifetimebound` was found to be the most expensive
(possibly because it iterates on redecls).


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit-postinc.ll
    M llvm/test/Transforms/ConstraintElimination/induction-relational-predicate-latch.ll
    M llvm/test/Transforms/ConstraintElimination/induction-symbolic-start-postinc.ll

  Log Message:
  -----------
  [ConstraintElim] Support loops where header is also latch. (#221494)

Remove the bail out for header == latch. We now support deriving facts
from the latch condition and the restriction is no longer necessary.

This enables inferring additional flags in a number of cases, and a few
additional folds in practice:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1200.

It also removes a surprising limitation when writing manual tests.

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


  Commit: 34dff487dd711a6a6d6a22f474ce475bce757b47
      https://github.com/llvm/llvm-project/commit/34dff487dd711a6a6d6a22f474ce475bce757b47
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCompatibilityAnalysis.h
    M llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/many-uses-fma-candidate.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/fma-operand-index.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-fadd-with-sub.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
    M llvm/test/Transforms/SLPVectorizer/X86/loop-accumulator-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ordered-reduction-replaced.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-fadd-reassoc.ll

  Log Message:
  -----------
  [SLP]Flatten fsub/fneg chains into fadd reductions with per-operand signs

For unordered fadd reductions, reassociable (reassoc+nsz) fsub/fneg
chain links are recursed into and their leaves tracked with a flipped
sign, which is part of the grouping key, so reduced-values groups are
sign-uniform by construction. If per-value signs cannot model the
chain, the analysis restarts once without the flattening. Negated
parts are combined with vector fsub (may form per-lane fma) and
subtracted once in the final combine; no extra negations are emitted.

Fixes #211521

Reviewers: hiraditya, RKSimon

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


  Commit: 0fc0c614130666dbf626db6650285f83340b7c17
      https://github.com/llvm/llvm-project/commit/0fc0c614130666dbf626db6650285f83340b7c17
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
    M llvm/test/CodeGen/AArch64/PBQP-chain.ll
    M llvm/test/CodeGen/AArch64/PBQP-coalesce-benefit.ll
    M llvm/test/CodeGen/AArch64/PBQP-csr.ll
    M llvm/test/CodeGen/AArch64/arithmetic_fence.ll
    M llvm/test/CodeGen/AArch64/arm64-2013-01-13-ffast-fcmp.ll
    M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
    M llvm/test/CodeGen/AArch64/arm64-fml-combines.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-2velem-high.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-scalar-by-elem-mul.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-select_cc.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-vector-list-spill.ll
    M llvm/test/CodeGen/AArch64/fnmul.ll
    M llvm/test/CodeGen/AArch64/fp16-fmla.ll
    M llvm/test/CodeGen/AArch64/neon-fpextend_f16.ll
    M llvm/test/CodeGen/AArch64/neon-fpround_f128.ll
    M llvm/test/CodeGen/AArch64/neon-scalar-by-elem-fma.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-fma.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
    M llvm/test/CodeGen/AMDGPU/fdot2.ll
    M llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-reuse.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-reuse2.ll
    M llvm/test/CodeGen/Hexagon/swp-loop-carried.ll
    M llvm/test/CodeGen/Hexagon/swp-max-stage3.ll
    M llvm/test/CodeGen/Hexagon/swp-memrefs-epilog.ll
    M llvm/test/CodeGen/Hexagon/swp-rename-dead-phi.ll
    M llvm/test/CodeGen/Hexagon/swp-reuse-phi.ll
    M llvm/test/CodeGen/PowerPC/fma-mutate-duplicate-vreg.ll

  Log Message:
  -----------
  CodeGen: Drop inert -fp-contract flags from tests (#221710)

-fp-contract is nearly dead, but referenced in tests. These have
no output change with or without the flag now.

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


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

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

  Log Message:
  -----------
  [X86] LowerCLMUL - improve CLMULH vXi32 codegen (#221668)

Extension to #221289 - adds CLMULH handling by ensuring we zero out the
upper 64-bits of the PCLMULQDQ input and extract the upper i32 element
during unpacking the vector result back together


  Commit: 8436dd4a2bfe57d0b3fb6c9c11c69d75c1d1bccb
      https://github.com/llvm/llvm-project/commit/8436dd4a2bfe57d0b3fb6c9c11c69d75c1d1bccb
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp

  Log Message:
  -----------
  [mlir][NVVM] Move MMA verifier type sets (NFC) (#221712)

Build the fixed-size operand type collection by moving the locally
computed allowed-type sets. The verifier does not use the individual
sets afterward, so copying their nested vectors is unnecessary.

Found by Coverity.

Assisted-by: Codex


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

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-store-chain.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the regression in SLP perf, NFC



Reviewers: 

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


  Commit: ac129cd8965f557bbc361011c3c28a378b86c969
      https://github.com/llvm/llvm-project/commit/ac129cd8965f557bbc361011c3c28a378b86c969
  Author: Mariya Podchishchaeva <Mariya.Podchishchaeva at amd.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/test/CIR/CodeGen/ptrdiff.c
    M clang/test/CIR/CodeGen/ptrdiff.cpp

  Log Message:
  -----------
  [CIR] Fix ptrdiff tests after 1191f353cefe3c7ceb8e76fd03296e082a247685 (#221703)


  Commit: 42b846980eeacd8052d7a463e1aea8bb91aff248
      https://github.com/llvm/llvm-project/commit/42b846980eeacd8052d7a463e1aea8bb91aff248
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/split-node-struct-type.ll

  Log Message:
  -----------
  [SLP]Fix crash in canBuildSplitNode on struct-typed scalars

Split nodes require plain vector types for the cost model and codegen,
but getWidenedType on a struct scalar type returns a struct-of-vectors,
so the cast<VectorType> asserted. Bail out on struct-typed scalars, they
are not supported.

Fixes #221715

Reviewers: 

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


  Commit: cb9654f7491d429d03eaf3fd5c01c45c90c32200
      https://github.com/llvm/llvm-project/commit/cb9654f7491d429d03eaf3fd5c01c45c90c32200
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

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

  Log Message:
  -----------
  [lldb][test] Bump utility expression timeout to 10 minutes (#221691)

LLDB needs to sometimes run utility expressions such as loading
libraries via a call to `dlopen`. These utility expressions have a
timeout associated with them which is only 15 seconds (and 60 on
sanitized builds).

I suspect our expressions reaching this timeout is the reason why
TestLoadUsingPaths.py sometimes fails to load libraries and produces
this error:

```
  File "../TestLoadUsingPaths.py", line 78, in test_load_using_paths
      self.assertNotEqual(token, lldb.LLDB_INVALID_IMAGE_TOKEN, "Got a valid token")
```

This patch bumps the timeout to 10 minutes. There is no good reason why
this timeout should exist in the first place on test bots, and maybe we
should remove them or make them fatal errors on the test bots. But for
now this patch should at least fix the test randomly failing on very
slow bots.


  Commit: e30a45f88b003e3baaf268040e85b80826a83394
      https://github.com/llvm/llvm-project/commit/e30a45f88b003e3baaf268040e85b80826a83394
  Author: Raphael Isemann <rise at apple.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M lldb/unittests/Core/MangledTest.cpp

  Log Message:
  -----------
  [lldb][test] Merge demangling tests into one test (#221214)

The XML test report that LIT generates describes the outcome of every
test in the test suite. Currently, the test report for the LLDB unit
tests alone is about 5MiB of which 4.7MiB (about 94%) are used to
describe all 30'000 DemanglingInfoCorrectnessTest instances names (they
don't have any output on success, so this is just used to describe the
test names).

This patch merges all these test instances into one. To make test
failures still easy to parse, this patch changes test function to use a
gtest scrope (which annotates failures with the mangled name) and use
non-fatal checks to continue testing when one test fails.

This reduces the test report size overhead of these tests from 4.7MiB to
about 100B.

assisted-by: claude


  Commit: b9b5fb9fec7a078e9d5471db19fccc681eb3559a
      https://github.com/llvm/llvm-project/commit/b9b5fb9fec7a078e9d5471db19fccc681eb3559a
  Author: Kareem Ergawy <kergawy at nvidia.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M flang/lib/Lower/PFTBuilder.cpp

  Log Message:
  -----------
  [flang] Enable wrap-unstructured-constructs-in-execute-region by default (#221637)

More extensive testing since the flag was introduced, with the
regressions it uncovered now fixed, see:
* https://github.com/llvm/llvm-project/pull/218674
* https://github.com/llvm/llvm-project/pull/217220
* https://github.com/llvm/llvm-project/pull/217842
* https://github.com/llvm/llvm-project/pull/216280


  Commit: 59f30df017e98a45ae2d209f71f95f6ac168151d
      https://github.com/llvm/llvm-project/commit/59f30df017e98a45ae2d209f71f95f6ac168151d
  Author: Davide Grohmann <davide.grohmann at arm.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
    M mlir/lib/Dialect/Tosa/Transforms/TosaNarrowTypes.cpp
    A mlir/test/Dialect/Tosa/tosa-narrow-f32-to-f16-aggressive.mlir
    A mlir/test/Dialect/Tosa/tosa-narrow-f32-to-f16.mlir

  Log Message:
  -----------
  [mlir][tosa] Add F32 to F16 type narrowing pass (#218900)

Add `tosa-narrow-f32-to-f16`, extending the shared TOSA type narrowing
infrastructure with support for destructively converting F32 tensors,
scalar attributes, dense constants, and resource-backed constants to
F16.

The pass supports conservative and aggressive rewriting, optional
function-boundary conversion, and optional preservation of F32
accumulator types.

Add coverage for constant precision loss, function boundaries, regions,
dense resources, aggressive rewriting, and accumulator-type
preservation.

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


  Commit: 7987830e776411a0de84c0c75e9f1059acadceb5
      https://github.com/llvm/llvm-project/commit/7987830e776411a0de84c0c75e9f1059acadceb5
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Types.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/Types.cpp
    A clang/test/Driver/Inputs/object0.o
    M clang/test/Driver/aix-ld.c
    A clang/test/Driver/pch-inputs.h

  Log Message:
  -----------
  [Clang][Driver] Final phase also determined by input (#218802)

Before this PR, `getFinalPhase` assumed that when no option is give then
the final phase will a linking step. This is objectively wrong: For
instance passing a header file as input (`-x c-header` or `-x
c++-header`) triggers precompilation, not linking. Other inputs that do
not have a link phase as specified by `Types.def`
are `.dxo`, `.ifs`, and `.hlsl` files.

Instead of defaulting to link in the absence of any action flag, this PR
uses the last phase that `Types.def` specifies for the given input
files. The effect of this is relevant when handling linking options
which are categorized as "input" like any other file.
Usually these should be filtered out if
there is no linking step. But, since `getFinalPhase` says there is a
linking flag, those are forwarded to the precompile handling which gets
confused with such "inputs". An accurate determination of the final
phase filters out those non-applicable linker options.

Note that the second condition of
`clang::diag::warn_drv_input_file_unused` was inverted: It would print

> clang: warning: -lfoo: 'linker' input unused when '' is present
[-Wunused-command-line-argument]

when passing a linker option to a non-link command that is not the
result of an action command flag. Inversely, when a non-link action flag
was used, it wasn't mentioned in the diagnostic message.


  Commit: 1871cb232f00d67193c3ef085e26b67b56029d21
      https://github.com/llvm/llvm-project/commit/1871cb232f00d67193c3ef085e26b67b56029d21
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/.clang-tidy

  Log Message:
  -----------
  [clang-tidy][NFC] Convert check list to yaml format (#221411)

Yaml format was introduced in 19-20 release which is old enough to
safely transition our file to new version since we are on 23 release
already.


  Commit: 71036f99e0dcc24b12cbcbcc2088b8d715465e0f
      https://github.com/llvm/llvm-project/commit/71036f99e0dcc24b12cbcbcc2088b8d715465e0f
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp

  Log Message:
  -----------
  [NFC] Stop relying on the LocationDescription conversion in unit tests. (#221004)

`LocationDescription` has an implicit conversion from a bare insertion
point, and it leaves DL default-constructed. `OpenMPIRBuilderTest`
depends on that in a number of places, either by naming an insertion
point directly or by handing `Builder.saveIP()` to an entry point that
takes a `LocationDescription`.

Spell out what each of those sites means instead. Where a live builder
is already sitting at the insertion point it is passed directly, and
where the test names an insertion point of its own the empty location is
written out, which is what it was getting before, so no test changes
behavior.

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


  Commit: 137d8e684984df207576c8f24bd8743ddb71c5c9
      https://github.com/llvm/llvm-project/commit/137d8e684984df207576c8f24bd8743ddb71c5c9
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/test/CodeGen/X86/avx512f-large-stack.ll
    A llvm/test/CodeGen/X86/huge-frame-index.ll

  Log Message:
  -----------
  [X86] Fix eliminateFrameIndex dropping existing index register for huge frame offsets

When the frame offset does not fit in disp32 and the address mode already
uses an index register, the register-scavenging path overwrote the index
operand with the scratch register, silently dropping the index from the
effective address (and applying the stale scale to the frame offset).
Fold the offset into the base register with an LEA in this case instead.

Fixes #213960

Assisted-by: Cursor

Reviewers: RKSimon, qcolombet

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


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

  Changed paths:
    R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
    R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_len.c
    M clang/test/CodeGen/AArch64/lit.local.cfg
    A clang/test/CodeGen/AArch64/sve/dup.c
    A clang/test/CodeGen/AArch64/sve/len.c

  Log Message:
  -----------
  [clang][CIR][AArch64] Move and reformat SVE test (#220599)

Adapts SVE tests to match the approach that we took for Neon. In
particular, test are moved to:
  * "clang/test/CodeGen/AArch64/sve"

There is no change in test coverage.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/wide-vscale-range-max-runtime-vf.ll

  Log Message:
  -----------
  [LV] Use getMaxRuntimeElementCount for MaxPowerOf2RuntimeVF. (#221219)

Use new getMaxRuntimeElementCount to compute MaxPowerOf2RuntimeVF to
avoid overflow by performing computations in uint64_t.

This fixes an overflow in the test added in #219290. We now correctly
determine that a tail is needed for a low trip count loop.

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


  Commit: 972cd3ddf3d58ecb79a4e6b62b35147513f3aeea
      https://github.com/llvm/llvm-project/commit/972cd3ddf3d58ecb79a4e6b62b35147513f3aeea
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

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

  Log Message:
  -----------
  [lldb][Windows] Silence unused variable warning on Windows on Arm (#221176)

<...>/llvm-project/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp(507,8):
warning: unused variable 'log' [-Wunused-variable]
  507 |   Log *log = GetLog(WindowsLog::Exception);
      |        ^~~

Move that line into the `#ifndef __aarch64__` block to fix this.


  Commit: c84706fd8cab200aa460b7737fa5412a0c1628d8
      https://github.com/llvm/llvm-project/commit/c84706fd8cab200aa460b7737fa5412a0c1628d8
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/load.ll
    M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
    M llvm/test/CodeGen/AArch64/sve-insert-vector-to-predicate-load.ll

  Log Message:
  -----------
  [AArch64][SVE] Lower extended v2i8 loads using SVE. (#217006)

Loads of v2i8 are promoted to v2i32, which requires two extend
operations; v2i8 -> v2i16, then v2i16 -> v2i32. This comes largely for
free when using SVE's extending loads.


  Commit: 330bb868b4a5d6035a1511169dacc72e913d009f
      https://github.com/llvm/llvm-project/commit/330bb868b4a5d6035a1511169dacc72e913d009f
  Author: Mikhail Titov <42744001+Anchels at users.noreply.github.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/docs/LibFuzzer.md

  Log Message:
  -----------
  [docs][libFuzzer] Fix formatting and collapsed definition lists (#206709)

This PR fixes broken formatting and collapsed definition lists in the
libFuzzer documentation by adding missing blank lines.

Closes #206706

Signed-off-by: Anchels <mishtitov at gmail.com>


  Commit: 95de5eb9942a20285afd59f7c197ba005a9b937b
      https://github.com/llvm/llvm-project/commit/95de5eb9942a20285afd59f7c197ba005a9b937b
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td

  Log Message:
  -----------
  [CIR] Drop dead ceremony around the CIR enum attributes (#220890)

Five things that no longer earn their place in the CIR enum attribute
machinery.

CIR_CleanupKindAttr carried three. Its cppClassName restated the default
AttrDef already derives. Its skipDefaultBuilders plus hand-written
AttrBuilder existed only to default $value to CleanupKind::All, which no
caller relies on, so the generated builders stayed suppressed for
nothing.
And its summary and description restated the name, overriding the enum's
own
"cleanup kind" that EnumAttr would otherwise inherit. The isNormal, isEH
and
isNormalAndEH helpers stay.

CIR_TLSModelAttr's summary restated its name the same way, so only that
goes.
CIR_DefaultValuedEnumParameter has never had a user.


  Commit: d246c5ee925edc79ed12e6269faa296b83362075
      https://github.com/llvm/llvm-project/commit/d246c5ee925edc79ed12e6269faa296b83362075
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

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

  Log Message:
  -----------
  [SLP][modularisation][NFC] Move order/mask helpers to SLPUtils (#221663)

Move the following BoUpSLP-independent order/mask helpers out of
SLPVectorizer.cpp into SLPVectorizer/SLPUtils.{h,cpp}:

  reorderReuses
  reorderOrder
  isReverseOrder
  isRepeatedNonIdentityClusteredMask
  combineOrders

They sit with the existing permutation helpers. Behavior is unchanged.

Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922


  Commit: 07f6736c8a7ee21c51466f09cb2458f35d665597
      https://github.com/llvm/llvm-project/commit/07f6736c8a7ee21c51466f09cb2458f35d665597
  Author: Iasonas Karaprodromidis <iaskarapro at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Target/Language.h
    M lldb/source/Plugins/Language/CMakeLists.txt
    A lldb/source/Plugins/Language/Fortran/CMakeLists.txt
    A lldb/source/Plugins/Language/Fortran/FortranLanguage.cpp
    A lldb/source/Plugins/Language/Fortran/FortranLanguage.h
    M lldb/source/Target/Language.cpp
    M lldb/unittests/Language/CMakeLists.txt
    A lldb/unittests/Language/Fortran/CMakeLists.txt
    A lldb/unittests/Language/Fortran/FortranLanguageTest.cpp

  Log Message:
  -----------
  [lldb][Fortran] Add Fortran language plugin to LLDB (#221301)

This PR adds the Plugin necessary for LLDB to recognise Fortran.
Subsequent PRs will add the TypeSystem and the DWARFASTParser for
Fortran.

Changes:
- Adds Fortran language Plugin.
- Adds LanguageIsFortran function to the Language class to help identify
Fortran.

Testing:
- Check if language Plugin is registered.

Part of the Add Fortran support to LLDB GSoC 2026 project.

Relates to #109119.

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


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

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

  Log Message:
  -----------
  [AMDGPU] Remove dead D16ImageDimIntrinsic and lookupD16ImageDimIntrinsic (NFC) (#221660)

The corresponding TableGen table and callers were removed on June 21,
2018 in commit 7a9c03f484fee744b1cbcc45e77f949b4ebfcbee, leaving behind
the struct, the declaration, and the unused macro definition.

Assisted-by: Antigravity


  Commit: e92c19abae25beb03234bfbf6cfa1a431c6d380a
      https://github.com/llvm/llvm-project/commit/e92c19abae25beb03234bfbf6cfa1a431c6d380a
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/algorithm.h
    M libc/src/__support/CPP/utility.h
    A libc/src/__support/CPP/utility/swap.h
    M libc/src/__support/math/CMakeLists.txt
    M libc/src/__support/math/powf.h
    M libc/src/__support/wctype/CMakeLists.txt
    M libc/src/__support/wctype/perfect_hash_map.h
    M libc/src/stdio/scanf_core/CMakeLists.txt
    M libc/src/stdio/scanf_core/parser.h
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/qsort_data.h
    M libc/test/src/__support/CPP/CMakeLists.txt
    M libc/test/src/__support/CPP/algorithm_test.cpp
    A libc/test/src/__support/CPP/swap_test.cpp
    M libc/test/src/stdio/scanf_core/parser_test.cpp

  Log Message:
  -----------
  [libc] Add cpp::swap and cpp::clamp utilities (#221236)

Added cpp::swap to src/__support/CPP/utility/swap.h with move semantics
and array support, and cpp::clamp to src/__support/CPP/algorithm.h with
comparator support.

Included unit tests in swap_test.cpp and algorithm_test.cpp.

Adopted the new utilities in initial callsites:
* stdlib: Used cpp::swap in qsort_data.h
* wctype: Used cpp::swap in perfect_hash_map.h
* math: Used cpp::clamp in powf.h
* scanf_core: Used cpp::min and cpp::max in parser.h

Also fixed sign extension when parsing scanset specifiers in parser.h:
signed characters greater than or equal to 128 produced negative values,
inverting comparisons and causing out-of-bounds writes in the bitset.
Scanset characters are now cast through uint8_t, and non-ASCII tests
were added to parser_test.cpp.

Assisted-by: Automated tooling, human reviewed.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvdot4a8i.td

  Log Message:
  -----------
  [RISCV] Add VPatBinaryVL_R_VX to share between VRSUB.VX and VDOT4AUS.VX. NFC (#221284)

Assisted-by: Claude


  Commit: 1ce91bb26f31a773979c813cd8c2904f9076295c
      https://github.com/llvm/llvm-project/commit/1ce91bb26f31a773979c813cd8c2904f9076295c
  Author: Timur Baidusenov <timurbaidusenov at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    A llvm/test/Transforms/SimplifyCFG/preserve-unpredictable-switch-create.ll

  Log Message:
  -----------
  [SimplifyCFG] Preserve !unpredictable when forming a switch (#221580)

SimplifyCFG turns a chain of equality comparisons into a switch in two
places, performValueComparisonIntoPredecessorFolding() and
simplifyBranchOnICmpChain(), and neither propagated !unpredictable. The
hint was therefore dropped even though it is valid on a switch and the
reverse transform, simplifySwitchOfCmpIntrinsic(), already preserves it.

Propagate the metadata in both. Folding a comparison into a predecessor
merges two decisions into a single switch, so the result is only marked
unpredictable when both of the folded comparisons were. That also makes
chains longer than two blocks work: the fold runs once per predecessor
and reads the metadata back off the switch it built on the previous
iteration.

simplifyBranchOnICmpChain() also emits a range check instead of a switch
when the case values are contiguous. That branch is an exact replacement
for the original one, so it inherits the metadata unconditionally, and
the flag now survives into the machine IR.

Fixes #42658.


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

  Changed paths:
    A llvm/test/Analysis/ScalarEvolution/ext-addrec-wrap-flags.ll
    R llvm/test/Analysis/ScalarEvolution/incorrect-nsw.ll

  Log Message:
  -----------
  [SCEV] Add test coverage for ext-nusw/nsuw inference (#218943)

Complete the existing incorrect-nsw test, showing that zext-addrec nusw
is not implied by nw on the pre-inc AR, and that sext-addrec nsuw is not
implied by nw on the pre-inc AR. See also: #217405 and #217362.

Assisted-by: AI


  Commit: 1afead77810533576bc2bc2c0c900afba82cb6af
      https://github.com/llvm/llvm-project/commit/1afead77810533576bc2bc2c0c900afba82cb6af
  Author: theRonShark <ron.lieberman at amd.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/RegAllocPBQP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp

  Log Message:
  -----------
  Revert "[CodeGen] Use RegisterClassInfo for remaining allocation-order users" (#221749)

Reverts llvm/llvm-project#216510

breaks tests MIOpen/CK shard 1-4 in CI

queueing this up in case we want to save a bit of time


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

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

  Log Message:
  -----------
  [X86] pr1505b.ll - regenerate test checks (#221774)


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

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

  Log Message:
  -----------
  [Bazel] Fixes e92c19a (#221761)

This fixes e92c19abae25beb03234bfbf6cfa1a431c6d380a (#221236).

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

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


  Commit: 271af38dfc3aa02e329821daf46730686e52fb1c
      https://github.com/llvm/llvm-project/commit/271af38dfc3aa02e329821daf46730686e52fb1c
  Author: Vikram Hegde <Vikram.Hegde at amd.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbankselect.mir

  Log Message:
  -----------
  [AMDGPU][GIsel][NPM] Port "AMDGPURegBankSelect" to NPM (#217321)

Assisted-by: Opus-4.8


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/trunc.ll

  Log Message:
  -----------
  [InstCombine] Use common flags for shl in shl/trunc fold. (#221769)

As pointed out post-commit in
https://github.com/llvm/llvm-project/pull/219443, whether the flags from
the trunc can be transferred directly to the shl depends on the involved
types: https://alive2.llvm.org/ce/z/zN_TFq

For now, just use the common flags.

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


  Commit: 7297a1eec0d0ea5311775d36a63045a00830811b
      https://github.com/llvm/llvm-project/commit/7297a1eec0d0ea5311775d36a63045a00830811b
  Author: Giles Payne <gilespayne at telepathix.net>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

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

  Log Message:
  -----------
  Fix unresolved symbol XCoreMCRegisterClassStorage (#211420)

Fix for #211419

Add missing dependency to XCoreDisAssembler's CMakeLists.txt file


  Commit: c70b9c09f691d93c6e46e2692e15fb439dcb2560
      https://github.com/llvm/llvm-project/commit/c70b9c09f691d93c6e46e2692e15fb439dcb2560
  Author: Addmisol <addmisol9 at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/test/CodeGen/AMDGPU/frexp-inf-nan-combine.ll

  Log Message:
  -----------
  [AMDGPU] Fold redundant inf/nan checks into frexp instructions (#214936)

Fixes #204204

The AMDGPU "v_frexp_exp" and "v_frexp_mant" instructions return 0 for
inf/nan inputs. This patch adds a DAG combine
("performFrexpSelectCombine") to fold redundant inf/nan checks with
frexp results, eliminating unnecessary compare and select instructions..

### Patterns folded:
  - `select (fcmp uno x, 0), 0, (frexp_exp x)` → `frexp_exp x`
  - `select (fcmp oeq |x|, inf), 0, (frexp_exp x)` → `frexp_exp x`
  - `select (fcmp ueq |x|, inf), 0, (frexp_exp x)` → `frexp_exp x`
  - `select (fcmp ord x, 0), (frexp_exp x), 0` → `frexp_exp x`
  - `select (fcmp one |x|, inf), (frexp_exp x), 0` → `frexp_exp x`
  - `select (is_fpclass x, finite), (frexp_exp x), 0` → `frexp_exp x`
  - Same patterns with `frexp_mant`

The optimization is disabled on SI (Southern Islands) which has
hasFractBug()..

## Test plan

    - [x] Added frexp-inf-nan-combine.ll with comprehensive tests for:
- Targets: GFX9, GFX10, GFX11, GFX950 (optimization applies), SI
(optimization does NOT apply)
    - Types: f32, f64, f16
- Patterns: NaN clamp, inf clamp, inf-or-nan clamp, reversed select,
not-inf check
- Negative tests: different inputs, non-zero constants, unrelated
comparisons

All existing frexp-related AMDGPU tests pass..



cc @arsenm

---------

Signed-off-by: addmisol <addmisol9 at gmail.com>


  Commit: f9a8dec9496fea7c55f591a66a64dbcdc085fc2d
      https://github.com/llvm/llvm-project/commit/f9a8dec9496fea7c55f591a66a64dbcdc085fc2d
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/and-negpow2-cmp.ll

  Log Message:
  -----------
  [RISCV] Fix infinite DAGCombine loop with SETCC and SIGN_EXTEND_INREG (#221593)

We generalized (X & -(1 << C1) & 0xffffffff) == C2 << C1 using `sraiw`.
The combine generates a `SIGN_EXTEND_INREG` when simplifying.

However, when C1 is 0 and the sign bit (bit 31) of X is already known to
be zero, `DAGCombiner` sees that `SIGN_EXTEND_INREG` is semantically
equivalent to `AND X, 0xFFFFFFFF` (zext). Because `DAGCombiner`
considers `AND` to be more canonical than `SIGN_EXTEND_INREG` in this
context, it immediately reverts the node back to `AND`.

This caused an infinite DAGCombine loop. This patch disables the folding
when the C1 is zero. That case is covered by a later combine that already
checks if bit 31 is known to be zero.

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


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

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    A mlir/test/Target/LLVMIR/openmp-reduction-debug-loc.mlir

  Log Message:
  -----------
  [OMPIRBuilder] Restore the debug location after the reduction alloca (#221253)

`createReductions` emits the array of type-erased pointers to the
private reduction values in the alloca block, which means leaving the
current insertion point and coming back. The insertion point is
re-established but the debug location is not. Everything emitted
afterwards like the `__kmpc_reduce` and the matching __kmpc_end_reduce
inherits whatever the terminator happened to carry, which is usually
nothing. This could result in a verifier error if program is linked with
openmp runtime that has debug information.

Fix it by restoring the debug location along with the InsertPoint.


  Commit: 14aebab4c6fe5c9f937efcdf1ea184495de6b737
      https://github.com/llvm/llvm-project/commit/14aebab4c6fe5c9f937efcdf1ea184495de6b737
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/test/Analysis/dtor-array.cpp

  Log Message:
  -----------
  [analyzer] Fix crash destructing element of a sugared array type

ExprEngine::makeElementRegion falls short trying to determine the
element type of an array that involves a type aliasing a static array
type.

This leads to a crash in ExprEngine::ProcessMemberDtor where it assumes
that element type is a CXXRecordDecl, while it is still a type alias to
a static array type.

getBaseElementType is the canonical way to desugar and peel off the
array dimensions.

Assisted by Claude Opus 5

--
CPP-8838


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/FrontendAction/CMakeLists.txt
    M clang/lib/CIR/Interfaces/CMakeLists.txt
    M clang/lib/CIR/Lowering/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
    M clang/tools/cir-opt/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Link only the MLIR dialects ClangIR uses (#221616)

CIR's sources reference Arith, DLTI, Func, LLVM, OpenACC, OpenMP and
Ptr, and cir-opt registers only the CIR dialects plus MemRef and LLVM.
Link those instead, which keeps Linalg, Vector, SPIRV, SparseTensor,
Tosa and GPU out of the clang build graph.

CLANG_ENABLE_CIR=ON adds 2135 build edges to the clang target; this
removes 694 of them.

LLM-aided


  Commit: 89fe023484bd5b897dccefd290fe5e8536db47b0
      https://github.com/llvm/llvm-project/commit/89fe023484bd5b897dccefd290fe5e8536db47b0
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
    A mlir/include/mlir/Dialect/LLVMIR/LLVMAllOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    A mlir/lib/Dialect/LLVMIR/IR/LLVMOps.cpp
    A mlir/lib/Dialect/LLVMIR/IR/LLVMOps.h

  Log Message:
  -----------
  [MLIR][LLVM] Shard generated operation definitions (NFC) (#221813)

LLVMDialect.cpp includes both the 55,078-line core operation definitions
and the 95,769-line intrinsic operation definitions. Generate the
combined operation set in eight shards, use the generated registration
hook, and expose only the parser, printer, and type-inference helpers
needed by generated code.

Assisted-by: Codex


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

  Changed paths:
    M clang/test/CIR/Lowering/lifetime.cir
    M clang/test/CIR/Lowering/stack-save-restore.cir
    M clang/test/CIR/Transforms/abi-lowering/byval-sret-arg-attr-lowering.cir
    M clang/test/CIR/Transforms/abi-lowering/extend-signed-arg.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-bitint.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-complex.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-empty-class.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-scalars.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-struct-direct.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-union-coerce-shapes.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-union.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-variadic-call.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-vector.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-vptr.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-wide-floats.cir
    M clang/test/CMakeLists.txt
    M clang/tools/cir-translate/CMakeLists.txt
    M clang/tools/cir-translate/cir-translate.cpp

  Log Message:
  -----------
  [CIR] Register only the LLVM IR translations CIR lowers to (#221797)

The ClangIR tests reach LLVM IR through mlir-translate, which links
every MLIR dialect and translation, so building check-clang builds most
of MLIR. Register mlir-to-llvmir in cir-translate over the same three
dialects and use it instead. Remove the dependency on `mlir-translate`
to run CIR tests.

ninja check-clang drops from 6499 to 5853 build edges.

LLM-aided


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

  Changed paths:
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir

  Log Message:
  -----------
  [mlir][AMDGPU] Move gather index vectors at final use (NFC) (#221825)

The gather lowering copies two temporary vectors into the next
construction stage and never reads the source vectors again. Move their
storage instead.

Found by Coverity.

Assisted-by: Codex


  Commit: 9fafedaa908f1844f4150ae2ba6e0eec938341c4
      https://github.com/llvm/llvm-project/commit/9fafedaa908f1844f4150ae2ba6e0eec938341c4
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp

  Log Message:
  -----------
  [MLIR][linalg] Remove discarded failure conversion (#221826)

Silence warning for unused result with a `(void)` cast instead of
converting its result with failed() and then discarding the converted
value.

Fix a Coverity warning, and it's cleaner about the intent.

Assisted-by: Codex


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

  Changed paths:
    M mlir/lib/Dialect/Math/IR/MathOps.cpp

  Log Message:
  -----------
  [MLIR][math] Remove dead IPowI fold return (NFC) (#221827)

The folder returns the constant-fold helper result directly, remove the
unreachable fallback after the helper call.

Found by Coverity.

Assisted-by: Codex


  Commit: 52bc117e7930694fed38d2ffb327f77e8bd8a474
      https://github.com/llvm/llvm-project/commit/52bc117e7930694fed38d2ffb327f77e8bd8a474
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/utils/TableGen/CIRLoweringEmitter.cpp

  Log Message:
  -----------
  [CIR] Derive lowering attr names from cppClassName, not the def name (#220891)

CIRLoweringEmitter built its CXX_ABI_ALWAYS_LEGAL_ATTRS entries with
GetOpCppClassName, which splits the TableGen def name at the first
underscore. That works only while every def is named
CIR_<CppClassName>Attr.
When one is not, the emitter writes an `isa<>` for a class that does not
exist, and the failure lands as a compile error in generated code.

Attributes carry the authoritative name in cppClassName, which
GenerateAttrToValueVisitor was already reading. Factor that out as
GetAttrCppClassRef and use it for both attribute paths.
GetOpCppClassName
stays for operations.


  Commit: 87d1986bd2264b434e865044745725efbf52dda5
      https://github.com/llvm/llvm-project/commit/87d1986bd2264b434e865044745725efbf52dda5
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp

  Log Message:
  -----------
  [mlir][spirv] Avoid copies of local APInt values in folds (NFC) (#221084)

Move locally constructed APInt values into arithmetic operations at
their last use. Expand conditional returns where needed so returning a
local can use implicit move construction.

Found by Coverity.

Assisted-by: Codex


  Commit: 44a4dbf32a6b54de32e4d064756d7a6ba5b9e808
      https://github.com/llvm/llvm-project/commit/44a4dbf32a6b54de32e4d064756d7a6ba5b9e808
  Author: edisongz <edisongz123 at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

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

  Log Message:
  -----------
  [MLIR][Arith] Don't narrow shifts whose amount can exceed the target width (#218495)

A shift by an amount >= the operand bitwidth is poison. Narrowing
changes that bitwidth, so an amount valid at the original width (e.g. 32
for i64) can become poison at the narrowed one (>= 32 for i32),
miscompiling `4 >> 32` from 0 to 4.

Only narrow shifts when the shift amount is provably below the target
width.

Fixes #218191


  Commit: 36b179dff5c85de0a7aca763e618d8c15dd5b2e7
      https://github.com/llvm/llvm-project/commit/36b179dff5c85de0a7aca763e618d8c15dd5b2e7
  Author: Oliver Hunt <oliver at apple.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/Sema/global-explicit-register-undefined-type.c

  Log Message:
  -----------
  [clang][Sema] Crash due to asm labeled incomplete global register decls (#219746)

CheckAsmLabel fails to check for an incomplete type before attempting to
get the type layout. Short circuit on an incomplete type as Sema will
already reject a global with an incomplete type.


  Commit: 5b4a54a5ae59b44f6e4c898984bb184a4b05d885
      https://github.com/llvm/llvm-project/commit/5b4a54a5ae59b44f6e4c898984bb184a4b05d885
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp

  Log Message:
  -----------
  [mlir][LLVM] Remove dead constant verifier return (NFC) (#221833)

Every arm of the constant attribute-kind chain returns directly, leaving
the final success return unreachable. Remove the dead statement.

Found by Coverity.

Assisted-by: Codex


  Commit: 45930cef5214e430aa7424cacb07e374a07ead12
      https://github.com/llvm/llvm-project/commit/45930cef5214e430aa7424cacb07e374a07ead12
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M mlir/lib/Tools/PDLL/CodeGen/MLIRGen.cpp
    M mlir/lib/Tools/PDLL/Parser/Parser.cpp
    M mlir/test/mlir-pdll/Parser/expr-failure.pdll

  Log Message:
  -----------
  [mlir][PDLL] Reject overflowing unregistered result indices (#221834)

Unregistered operation result access accepts numeric member names, but
code generation emits a nonnegative I32 attribute. Reject values outside
the signed 32-bit range before building the AST and use the matching
type in codegen.

Found by Coverity.

Assisted-by: Codex


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/add-nsw.ll
    M llvm/test/Transforms/ConstraintElimination/cond-used-in-phi.ll
    M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit-postinc.ll
    M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit.ll
    M llvm/test/Transforms/ConstraintElimination/induction-nowrap-from-scev-not-ir.ll
    M llvm/test/Transforms/ConstraintElimination/loops.ll
    M llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-cfg.ll
    M llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-decrement.ll
    M llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-wrapping.ll
    M llvm/test/Transforms/ConstraintElimination/pr70510.ll
    M llvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned-is-known-non-negative.ll
    M llvm/test/Transforms/ConstraintElimination/wrapping-math.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/trunc-intrinsics.ll

  Log Message:
  -----------
  [ConstraintElim] Use range-based NUW/NSW inferrence for Add. (#221487)

Factor out logic to strengthen NUW/NSW flags based on know no-wrap
regions and also use it for ADD.

This enables a number of additional folds in real-world workloads:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1215

Compile-time impact in the noise for geomean. Per workload there are a
few improvements and one regression `lencod` (stage1-ReleaseThinLTO)
https://llvm-compile-time-tracker.com/compare.php?from=bb577f620571ce3bb97f2e717b53500574a9cf27&to=6de758abcfa6fb6e9de359b1fb5cfb67b689afe5&stat=instructions:u

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


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

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

  Log Message:
  -----------
  [AMDGPU] Fix FDOT2 fold for non-constant lane indices (#217646)

The fold only checked that the two lane index nodes were not the same
SDValue, but distinct nodes can still be equal at runtime, silently
picking the wrong lanes

Require both indices to be constant and distinct


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

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

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] Do not fold hi16 SGPR copy (#220858)

Dropping the subreg on a hi16 copy would read the low half instead


  Commit: 415d9c668e4d18908938df4847ada34cb82eb06b
      https://github.com/llvm/llvm-project/commit/415d9c668e4d18908938df4847ada34cb82eb06b
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp
    M mlir/tools/mlir-tblgen/OpFormatGen.h

  Log Message:
  -----------
  [mlir][ODS] Remove unconditional properties query (NFC) (#221844)

All operations emit a Properties struct, including operations without
explicit properties. Remove the stale hasProperties query and fold its
unreachable property-less paths from the operation, adaptor, and format
generators.

Found by Coverity.

Assisted-by: Codex


  Commit: 95760fbf5cd5b6b9afcfff0a9639473792da5ed3
      https://github.com/llvm/llvm-project/commit/95760fbf5cd5b6b9afcfff0a9639473792da5ed3
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMRequiresSMTraits.h
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/nvvm-target-invalid.mlir

  Log Message:
  -----------
  [mlir][NVVM] Reject malformed target chip names (#220873)

Parse the complete sm_<version>[a|f] grammar before using the SM
version. This prevents a failed integer conversion from leaving the
version uninitialized and also rejects overflowing encodings.

Found by Coverity.

Assisted-by: Codex


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

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/verifier.mlir

  Log Message:
  -----------
  [mlir][Tosa] Handle empty block-scaled reshape shapes (#220872)


  Commit: cc9a7010afd7126e8ec45fb6a967d39849613f35
      https://github.com/llvm/llvm-project/commit/cc9a7010afd7126e8ec45fb6a967d39849613f35
  Author: Thurston Dang <thurston at google.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M clang/unittests/Analysis/LifetimeSafetyTest.cpp

  Log Message:
  -----------
  [LifetimeSafety][test] Fix UUM of fields added in #221610 and #205764 (#221843)

New LifetimeSafetyOpts fields were added in
https://github.com/llvm/llvm-project/pull/221610 but they are not
initialized in clang/unittests/Analysis/LifetimeSafetyTest.cpp, leading
to use-of-uninitialized-memory
(https://lab.llvm.org/buildbot/#/builders/164/builds/25165):
```
WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x555571559cbc in clang::lifetimes::internal::(anonymous namespace)::LifetimeChecker::LifetimeChecker(clang::lifetimes::internal::LoanPropagationAnalysis const&, clang::lifetimes::internal::MovedLoansAnalysis const&, clang::lifetimes::internal::LiveOriginsAnalysis const&, clang::lifetimes::internal::FactManager&, clang::AnalysisDeclContext&, clang::lifetimes::LifetimeSafetySemaHelper*, clang::lifetimes::LifetimeSafetyOpts const&) /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/lib/Analysis/LifetimeSafety/Checker.cpp:108:9
    #1 0x5555715453cd in clang::lifetimes::internal::runLifetimeChecker(clang::lifetimes::internal::LoanPropagationAnalysis const&, clang::lifetimes::internal::MovedLoansAnalysis const&, clang::lifetimes::internal::LiveOriginsAnalysis const&, clang::lifetimes::internal::FactManager&, clang::AnalysisDeclContext&, clang::lifetimes::LifetimeSafetySemaHelper*, clang::lifetimes::LifetimeSafetyOpts const&) /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/lib/Analysis/LifetimeSafety/Checker.cpp:575:19
    #2 0x555571524c1e in clang::lifetimes::internal::LifetimeSafetyAnalysis::run() /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp:98:3
    #3 0x55555c3da25b in LifetimeTestRunner /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/unittests/Analysis/LifetimeSafetyTest.cpp:71:15
...
  Uninitialized value was stored to memory at
    #0 0x55555bcd06c7 in __msan_memcpy /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/compiler-rt/lib/msan/msan_interceptors.cpp:1760:3
    #1 0x5555715238ed in clang::lifetimes::internal::LifetimeSafetyAnalysis::LifetimeSafetyAnalysis(clang::AnalysisDeclContext&, clang::lifetimes::LifetimeSafetySemaHelper*, clang::lifetimes::LifetimeSafetyOpts const&) /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp:54:39
    #2 0x55555c3da1b9 in make_unique<clang::lifetimes::internal::LifetimeSafetyAnalysis, clang::AnalysisDeclContext &, std::nullptr_t, clang::lifetimes::LifetimeSafetyOpts &, 0> /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/libcxx_install_msan_track_origins/include/c++/v1/__memory/unique_ptr.h:713:30
    #3 0x55555c3da1b9 in LifetimeTestRunner /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/unittests/Analysis/LifetimeSafetyTest.cpp:70:9
```

This patch fixes the issue by initializing the fields in the test to
true, which maintains the behavior prior to the new fields being added.

Additionally, this patch does a similar drive-by fix to the
SuggestAnnotations field (added in
https://github.com/llvm/llvm-project/pull/205764). Although there has
been no MSan report, that's likely either an MSan false negative or
insufficient test coverage.


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

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

  Log Message:
  -----------
  [Bazel] Fixes 89fe023 (#221823)

This fixes 89fe023484bd5b897dccefd290fe5e8536db47b0 (#221813).

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

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


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

  Changed paths:
    M orc-rt/lib/bedrock/CMakeLists.txt
    M orc-rt/lib/support/CMakeLists.txt

  Log Message:
  -----------
  [orc-rt] Hide symbols by default in Bedrock and Support libs. (#221848)

Hides C/C++ symbols by default in the orc-rt Bedrock and Support
libraries. Only explicitly annotated APIs should be exposed by these
libraries.


  Commit: 2e6c7bc8513ee405ca2e8a3032c1ab41a19ee90f
      https://github.com/llvm/llvm-project/commit/2e6c7bc8513ee405ca2e8a3032c1ab41a19ee90f
  Author: Larry Meadows <Lawrence.Meadows at amd.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    A llvm/test/Transforms/OpenMP/indirect_call_specialization_cap.ll

  Log Message:
  -----------
  [OpenMPOpt] Bound indirect-call specialization instead of paying for all of it (#219323)

`registerAAsForFunction()` seeds `AAIndirectCallInfo` unconditionally,
so device
code pays for specializing every indirect call site. Device code routes
many
calls through function-pointer tables and virtual dispatch, so a call
site can
see every address-taken candidate in the module, and the if-cascade
`AAIndirectCallInfo` builds over them is quadratic.

Skip specialization at a call site with more than three possible
callees,
overridable with `-openmp-opt-max-callees-for-specialization`. The bound
is a
threshold on the call site rather than a limit on how many callees get
specialized: the Attributor asks about each callee with the same total,
so a
site above the threshold keeps its indirect call instead of getting
three direct
ones plus a fallback.

Measured on a generated module with a 256-entry device function-pointer
table,
2048 dispatch functions and 64 target regions, gfx90a,
`opt -disable-verify -passes='openmp-opt,lto<O3>'`, min of 3 runs:

|                                         | cap 3 | no cap |
|-----------------------------------------|-------|--------|
| LTO pipeline                            | 13.3s | 34.4s  |
| final module, IR lines                  | 340k  | 511k   |
| cascade equality tests after openmp-opt | 310   | 499    |

The cost is not in `openmp-opt` itself, which is 1.23s either way; it is
in what
the rest of the pipeline does with the cascades. Sites at or below the
threshold
are still specialized, which `indirect_call_specialization_cap.ll`
covers from
both sides.

This PR previously carried two other changes, now split out as #221449
(loop
runtime callbacks) and #221450 (the worker-count gate), per @abidh's
request.

Tested on gfx90a: `llvm/test/Transforms/{OpenMP,Attributor}` 260 passed,
1
unsupported.


  Commit: 2b7ee868b318f45372933e03d9a22203638e92db
      https://github.com/llvm/llvm-project/commit/2b7ee868b318f45372933e03d9a22203638e92db
  Author: Timur Baidusenov <timurbaidusenov at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/test/Transforms/JumpThreading/update-bpi-bfi-unfold-select.ll

  Log Message:
  -----------
  [JumpThreading] Don't divide by all-zero branch weights (#221846)

Fixes #192165.


  Commit: d91284c7f5747ade780b944ef9d4cb6d8bfbbc1e
      https://github.com/llvm/llvm-project/commit/d91284c7f5747ade780b944ef9d4cb6d8bfbbc1e
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M openmp/runtime/src/kmp_settings.cpp

  Log Message:
  -----------
  [libomp] Set `KMP_USE_YIELD=2` when `OMP_WAIT_POLICY=active` if it's not specified explicitly (#199628)

This patch sets `KMP_USE_YIELD=0` when `OMP_WAIT_POLICY=active` and
`KMP_USE_YIELD` is not explicitly set by the user. This is the same as
the value of `KMP_BLOCKTIME` is set to infinite when `KMP_BLOCKTIME` is
not explicitly set and `OMP_WAIT_POLICY=active`.

### Background

`KMP_USE_YIELD` is an environment variable for libomp to control the
behavior of threads when they are idle. We can specify 0, 1, or 2 as the
value of `KMP_USE_YIELD`. As I read the code, the behavior is as
follows:

- `KMP_USE_YIELD=0`: Threads will NOT yield the CPU when they are idle.
- `KMP_USE_YIELD=1`: Threads will yield the CPU when they are idle.
- `KMP_USE_YIELD=2`: Threads will yield the CPU when they are idle if we
are oversubscribed (i.e., more threads than CPU cores).

The default value of `KMP_USE_YIELD` is 1, which means that threads will
yield the CPU when they are idle.

On the other hand, there is an environment variable `OMP_WAIT_POLICY`
that controls the waiting behavior of threads in OpenMP. The OpenMP 6.0
Specification
(https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-6-0.pdf)
states as follows:

> The active value specifies that waiting native threads should mostly
be active, consuming processor cycles, while waiting. A compliant
implementation may, for example, make waiting native threads spin.

Therefore, I think it is more consistent to set `KMP_USE_YIELD=2` when
`OMP_WAIT_POLICY=active`.
Note: Using `KMP_USE_YIELD=2` instead of 0 here to avoid hanging when
oversubscribed.

### Performance

To confirm the effect of this patch, I ran SPEC CPU 2017 with several
configurations, including with and without this patch. As a result, I
observed that the performance of some benchmarks improved significantly
with this patch. Also I didn't see any performance degradation. Here are
the details of the performance improvements:

- Machine: Neoverse V2 (Grace, binding 64 threads to 64 cores)
- Configuration: `OMP_WAIT_POLICY=active OMP_NUM_THREADS=64`

| Benchmark | Performance Improvement |
|-|-|
| 621.wrf_s | 2.6x |
| 628.pop2_s | 5.5x |

---

In conclusion, I think it's reasonable to set `KMP_USE_YIELD=0` (or 2)
by default when `OMP_WAIT_POLICY=active` is specified, when the user
likely expects the threads to be active while waiting.

Resolve #181784.


  Commit: 3a8ff8d1ddfe44f19926789170b8c00c9aea3d0c
      https://github.com/llvm/llvm-project/commit/3a8ff8d1ddfe44f19926789170b8c00c9aea3d0c
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

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

  Log Message:
  -----------
  Add openmp test to xfail list (#221854)

Introduced in PR #219323. Looking at the PR, and given we haven't yet
addressed openmp profcheck failures, the change is highly unlikely to
have introduced a new regression (it's exposing existing ones)


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

  Changed paths:
    M orc-rt/include/orc-rt-c/bedrock/Session.h
    M orc-rt/include/orc-rt-c/support/Logging.h

  Log Message:
  -----------
  [orc-rt] Add missing export annotations to C API. (#221856)


  Commit: eb74688f5e2fb0cbd4c412a9fc54d0ed3dc48155
      https://github.com/llvm/llvm-project/commit/eb74688f5e2fb0cbd4c412a9fc54d0ed3dc48155
  Author: Ruiling, Song <ruiling.song at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-select.ll

  Log Message:
  -----------
  [test] auto-generate test check (#221656)

To make later update easy.


  Commit: 9eb6467f3f03c7da1dbe3ebdd9a4d3068945e767
      https://github.com/llvm/llvm-project/commit/9eb6467f3f03c7da1dbe3ebdd9a4d3068945e767
  Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M lld/MachO/ICF.cpp
    M lld/MachO/UnwindInfoSection.cpp
    A lld/test/MachO/icf-lsda-reloc.s

  Log Message:
  -----------
  [lld][MachO] Ignore relocated bytes when folding LSDAs (#220155)

AArch64 exception tables reference type info through PC-relative
pointer-to-GOT relocations. The assembler leaves the negated field
offset in each relocated field, which the linker ignores, so identical
tables differ in their raw bytes and are never folded. Treat
__gcc_except_tab like __eh_frame and zero the relocated fields before
ICF hashes and compares it.

Folding these LSDAs exposes a latent issue: the LSDA pointer of a DWARF
FDE is resolved to an InputSection when the FDE is parsed and is never
canonicalized after ICF. A function that is unwound via its FDE and
whose LSDA was folded away therefore gets an __unwind_info LSDA entry
computed from the dead input section. Fixed it in the same commit.

This patch is LLM-driven, but the issue was observed in production and
the test is reduced from the production object.


  Commit: c22d6a86d2e47524cd259f81206db7adf593e5a4
      https://github.com/llvm/llvm-project/commit/c22d6a86d2e47524cd259f81206db7adf593e5a4
  Author: wangjue <wangjue.wangjue at alibaba-inc.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M bolt/lib/Passes/FixRISCVCallsPass.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    A bolt/test/RISCV/conditional-tail-call-relocs.s

  Log Message:
  -----------
  [BOLT][RISCV] Mark newly created tail calls (#221672)

Tail calls created during CFG normalization lack the tail-call
annotation, so FixRISCVCallsPass rewrites them as regular calls that
clobber ra.

Set the annotation in createTailCall(). Clear builder annotations before
moving the originals when rebuilding calls to avoid duplicate annotation
markers.

Add a relocation-mode regression test for a conditional tail call.


  Commit: 2b03c66b5f0fdd12f616d845b61417442322f03c
      https://github.com/llvm/llvm-project/commit/2b03c66b5f0fdd12f616d845b61417442322f03c
  Author: Daedie-git <HC_Daedalus at hotmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/docs/StandardCPlusPlusModules.md
    M clang/lib/AST/ODRDiagsEmitter.cpp
    M clang/lib/AST/ODRHash.cpp
    A clang/test/Modules/odr-hash-using-declarations.cppm
    M clang/test/Modules/pr76638.cppm

  Log Message:
  -----------
  [Clang][Modules] Fix ODR handling of types found through using-declarations (#221839)

Fixes #78850.

Clang can diagnose an ODR violation for identical definitions when a
type is
found directly in one module's global module fragment and through a
using-declaration in another. The lookup routes produce different AST
type
wrappers even though they refer to the same declaration.

Normalize `UsingType` to the target declaration's type before hashing
it. Keep
the keyword and qualifier from the use site, rather than from the
using-declaration. This also lets the hash distinguish differently
qualified
uses without canonicalizing away meaningful spelling differences.

The normalization exposes an existing assertion in the enum ODR
diagnostic
path: `AddEnumDecl` hashes canonical underlying integer types, but the
diagnostic emitter compares hashes of their spelled types. Compare the
actual
underlying integer types instead, while retaining the original spelling
in the
diagnostic. The extended `pr76638.cppm` regression also reproduces the
assertion
without the normalization change, when both underlying types are found
through
same-named using-declarations.

Use `EnumDecl::getIntegerType()` for this comparison so ignored cv
qualifiers
in the enum-base do not incorrectly take precedence over an actual
difference
in enumerator initializers. A regression checks that diagnostic as well.

Regression coverage includes both lookup directions, typedefs and
aliases,
record and enum types, chained using-declarations, templates, and
negative
tests for qualification, elaborated keywords, and cv qualification.
Remove the
now-fixed #78850 example from the modules documentation.

## Validation

Built from main at `44a4dbf32a6b54de32e4d064756d7a6ba5b9e808` plus this
patch,
in Release mode with assertions enabled on Windows x86-64 (X86 backend,
Clang 23.1.0 bootstrap, VS 2022 SDK).

| Suite         | Passed | Unsupported | Expected Failures |
| :------------ | -----: | ----------: | ----------------: |
| Clang Modules |    914 |          34 |                 0 |
| Clang PCH     |    289 |           6 |                 2 |
| **Total**     |  1,203 |          40 |                 2 |

Unexpected failures: **0**.

- Removing both implementation changes and rebuilding on the same main
base
  makes both affected regression tests fail: the new lookup test reports
false ODR errors, and the extended enum test asserts while diagnosing an
ODR
violation. Restoring the changes and rebuilding passes both complete
suites.
- The cv-qualifier regression also fails with the earlier comparison of
  spelled underlying types, then passes with `getIntegerType()`.
- Changed implementation lines pass clang-format checks; `git diff
--check`
  passes.

The original release/23.x patch was also tested: 1,180 passed, 39
unsupported,
2 expected failures, and no unexpected failures across Modules and PCH.
Its
unmodified implementation reproduced the false-positive diagnostics,
missed
qualification diagnostic, and enum assertion.

Other platforms and configurations have not been tested locally.

This is a targeted ODR fix, not a general resolution of Clang's
remaining C++
module limitations.

The fix is also relevant to release/23.x; a backport can follow upstream
review
and merge.

Assisted-by: OpenAI Codex Astra

Co-authored-by: Bjorn Schobben <bjorn.schobben at aimsport.com>


  Commit: 80793a65f0c8cab368358d2ce3e3d92bc7a63fb8
      https://github.com/llvm/llvm-project/commit/80793a65f0c8cab368358d2ce3e3d92bc7a63fb8
  Author: jiang1997 <jieke at live.cn>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx26Issues.csv
    M libcxx/include/__ranges/lazy_split_view.h
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/begin.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/end.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/view_interface.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] Implement LWG 3599 (#221573)

Implement [LWG 3599](https://wg21.link/LWG3599) by requiring
`forward_range<const Pattern>` for the `const` overloads of
`lazy_split_view::begin` and `end`.

This adds tests for disabled `begin()` and fallback `end()` on
non-const-forward patterns, as well as a regression test for
`view_interface::front()`.

Closes #189808


  Commit: 0a50c218e000acee02b90f8a0f1f50f3da9059e8
      https://github.com/llvm/llvm-project/commit/0a50c218e000acee02b90f8a0f1f50f3da9059e8
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/Mips/MipsInstrFPU.td
    M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
    M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
    M llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
    M llvm/lib/Target/Mips/MipsScheduleGeneric.td
    M llvm/lib/Target/Mips/MipsScheduleP5600.td
    M llvm/test/CodeGen/Mips/llvm-ir/load.ll
    M llvm/test/CodeGen/Mips/llvm-ir/select-dbl.ll
    M llvm/test/CodeGen/Mips/mips1-load-in-delay-slot.ll
    A llvm/test/CodeGen/Mips/mips1-not-support-ldc1-sdc1.ll

  Log Message:
  -----------
  [MIPS] Support MIPS I hard-float double loads/stores with LWC1/SWC1 (#209362)

MIPS I lacks LDC1/SDC1. This patch implements double precision
loads/stores using LWC1/SWC1 instructions.

* Add BuildPairF64_FPR and ExtractElementF64_FPR nodes
* Use them in lowerLOAD/lowerSTORE for MIPS I hard-float
* Avoid redundant mtc1/mfc1 instructions

Matches GCC behavior for MIPS I hard-float.

Fix #62190.


  Commit: 7d04e28c7cee23af6a33cebdfecdaa7d43d1d4fe
      https://github.com/llvm/llvm-project/commit/7d04e28c7cee23af6a33cebdfecdaa7d43d1d4fe
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/apx/adc.ll
    M llvm/test/CodeGen/X86/apx/flags-copy-lowering.ll
    M llvm/test/CodeGen/X86/overflow-intrinsic-setcc-fold.ll
    M llvm/test/CodeGen/X86/select-lea.ll
    M llvm/test/CodeGen/X86/smul-with-overflow.ll
    M llvm/test/CodeGen/X86/smul_fix_sat.ll
    M llvm/test/CodeGen/X86/smul_fix_sat_constants.ll
    M llvm/test/CodeGen/X86/umul-with-carry.ll
    M llvm/test/CodeGen/X86/umul-with-overflow.ll
    M llvm/test/CodeGen/X86/umul_fix_sat.ll
    M llvm/test/CodeGen/X86/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/X86/umulo-64-legalisation-lowering.ll
    M llvm/test/CodeGen/X86/vec_smulo.ll
    M llvm/test/CodeGen/X86/vec_umulo.ll
    M llvm/test/CodeGen/X86/xmulo.ll

  Log Message:
  -----------
  [X86] Prefer carry to overflow flag when using multiplication (#221611)

For all possible MUL/IMUL it will always output CF==OF, and CF is better
folding, so there's absolutely no reason the x86 backend should be
checking OF instead of CF for any form of multiply.

Did the change in FastISel too for consistency.


  Commit: 0513c32abe1eff329fd22b578f4995e59d6140a2
      https://github.com/llvm/llvm-project/commit/0513c32abe1eff329fd22b578f4995e59d6140a2
  Author: LU-JOHN <John.Lu at amd.com>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-mul.ll

  Log Message:
  -----------
  [GlobalISel] When folding to fma correctly find fpext(fmul) with fewer uses (#218013)

When folding: `(fadd (fpext (fmul x, y)), z) -> (fma (fpext x), (fpext
y), z)` and both addends are candidates, correctly pick the side with
fewer uses. Previously the code looked for a `fmul` with the fewest uses
rather than a `fpext(fmul)`.

---------

Signed-off-by: John Lu <John.Lu at amd.com>


  Commit: 2edc68ceee32011f8f2d28fb97b64bc9e3a3b521
      https://github.com/llvm/llvm-project/commit/2edc68ceee32011f8f2d28fb97b64bc9e3a3b521
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/test/Parser/recovery.cpp
    M clang/test/SemaCXX/MicrosoftSuper.cpp

  Log Message:
  -----------
  [clang] Reject __super when preceded by a scope specifier (#221492)

The `__super` keyword is an MSVC extension that refers to the base class
of the current class context. It is fundamentally invalid for `__super`
to be qualified by another scope specifier (e.g. `::__super` or
`N::__super`).

Fixes #212988

---------

Co-authored-by: Shengxin Pei <TPPPP72 at outlook.com>
Co-authored-by: Corentin Jabot <corentinjabot at gmail.com>


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

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/TypeBase.h
    M clang/lib/AST/ASTContext.cpp

  Log Message:
  -----------
  [clang] Unique the QualType-keyed type pools in a UniquingSet. NFC (#221850)

Eight of the ASTContext type pools key on a QualType, or on a QualType
and a bool. The `get*Type()` functions incur the FoldingSetNodeID
serialization overhead before probing the hash table.

Switch to UniquingSet. Define `QualTypeBoolInfo` for three pools that
key on a QualType and a bool, because DenseMapInfo has no bool
specialization.

After the canonical type is built, these getters re-probe to refresh the
insert token. A token is now a hash (#218190), not a bucket, so nothing
invalidates it; fold the re-probe into the assertion it feeds.

Aided by Opus 5


  Commit: 49ce9d0aac2117edc0d50e5a7a838f934c99dd61
      https://github.com/llvm/llvm-project/commit/49ce9d0aac2117edc0d50e5a7a838f934c99dd61
  Author: Dharuni R Acharya <125176188+DharuniRAcharya at users.noreply.github.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Target/LLVMIR/nvvm/tcgen05-alloc.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Add "exclusive" support in tcgen05 alloc/dealloc Ops (#219451)

This patch adds `exclusive` support in `tcgen05.alloc/dealloc` MLIR ops.
Lit tests are added to verify the lowering to the intrinsics.

PTX ISA Reference:
https://docs.nvidia.com/cuda/developer-preview/13.4/parallel-thread-execution/index.html#tcgen05-instructions-tcgen05-alloc-dealloc-relinquish-alloc-permit

---------

Signed-off-by: DharuniRAcharya <dharunira at nvidia.com>


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

  Changed paths:
    M clang/lib/Sema/SemaAttr.cpp
    M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/RegisterUsageInfo.cpp
    M llvm/lib/CodeGen/StackColoring.cpp
    M llvm/lib/MC/StringTableBuilder.cpp
    M llvm/lib/MCA/HardwareUnits/LSUnit.cpp
    M llvm/lib/MCA/HardwareUnits/ResourceManager.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/Scalar/GVNHoist.cpp
    M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
    M mlir/lib/IR/PDL/PDLPatternMatch.cpp

  Log Message:
  -----------
  Iterate DenseMaps with auto and structured bindings. NFC (#221869)

Avoid naming `std::pair` directly. The DenseMap bucket is subject to
change (#221853).


  Commit: 131e31016ff94c8782d726baa3ed0160a480f3f3
      https://github.com/llvm/llvm-project/commit/131e31016ff94c8782d726baa3ed0160a480f3f3
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

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

  Log Message:
  -----------
  [SLP][modularisation][NFC] Move createInsertVector, createExtractVector (#221785)

Move the following BoUpSLP-independent shuffle helpers out of
SLPVectorizer.cpp into SLPVectorizer/SLPUtils.{h,cpp}:

  createInsertVector
  createExtractVector

They sit with the existing shuffle helpers. Behavior is unchanged.

Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922


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

  Changed paths:
    M llvm/docs/ProgrammersManual.md
    M llvm/unittests/ADT/FoldingSet.cpp

  Log Message:
  -----------
  [ADT] Document the UniquingSet contracts. NFC (#221860)

#220195 added an isEqual hook, so an Info can now override the
comparison as well as the key and the hash. Name the three hooks, and
correct the guidance on when to prefer UniquingSet over FoldingSet.

Cover getOrInsert, which UniquingSet had no test for: an absent key
inserts, an equal key returns the node already in the set.

Aided by Opus 5

Co-authored-by: Kazu Hirata <kazu at google.com>


  Commit: 08eb5edcafcc21faa841a75a29d0c2f2090535f3
      https://github.com/llvm/llvm-project/commit/08eb5edcafcc21faa841a75a29d0c2f2090535f3
  Author: GabrielWu2004 <101153587+GabrielWu2004 at users.noreply.github.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/canonicalize.mlir

  Log Message:
  -----------
  [MLIR] AllocaOp canonicalization for array allocation in LLVM dialect (#221508)

Add the following canonicalization pattern to AllocaOp in MLIR's LLVM
dialect:

```
%n = constant(N)
%alloca = llvm.alloca %n x Ty
```
->
```
%one = constant(1)
%alloca = llvm.alloca %one x !llvm.array<N x Ty>
```

Here N is a constant representable with 64-bits. With this
canonicalization, the AllocaOp will be translated to `alloca [N x Ty]`
in LLVM IR. Without this canonicalization, the AllocaOp was translated
to `alloca Ty, N`. We prefer `alloca [N x Ty]` over `alloca Ty, N` for
fixed-size array allocation.

See [this
RFC](https://discourse.llvm.org/t/rfc-allocaop-canonicalization-in-mlirs-llvm-dialect/91734)
for more detailed problem motivation and description.

Assisted by: Codex


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

  Changed paths:
    M libcxx/test/std/utilities/optional/optional.comp_with_t/equal.pass.cpp
    M libcxx/test/std/utilities/optional/optional.comp_with_t/greater.pass.cpp
    M libcxx/test/std/utilities/optional/optional.comp_with_t/greater_equal.pass.cpp
    M libcxx/test/std/utilities/optional/optional.comp_with_t/less_equal.pass.cpp
    M libcxx/test/std/utilities/optional/optional.comp_with_t/less_than.pass.cpp
    M libcxx/test/std/utilities/optional/optional.comp_with_t/not_equal.pass.cpp
    M libcxx/test/std/utilities/optional/optional.relops/equal.pass.cpp
    M libcxx/test/std/utilities/optional/optional.relops/greater_equal.pass.cpp
    M libcxx/test/std/utilities/optional/optional.relops/greater_than.pass.cpp
    M libcxx/test/std/utilities/optional/optional.relops/less_equal.pass.cpp
    M libcxx/test/std/utilities/optional/optional.relops/less_than.pass.cpp
    M libcxx/test/std/utilities/optional/optional.relops/not_equal.pass.cpp
    M libcxx/test/support/test_comparisons.h

  Log Message:
  -----------
  [libc++][test] Test SFINAE for `optional`'s operators in C++17 (#221643)

We have been intentionally constraining `optional`'s comparison
operators since C++17, so it is probably better to test the constraints
in C++17 mode. Given the constraints are standardized only since C++26
(via P2944R3), `LIBCPP_STATIC_ASSERT` is used in old modes.

In order to do this, `test_comparisons.h` is reworked to expose
`NonComparable` and `EqualityComparable` in pre-C++20 modes, and a new
type `TotallyOrdered` is invented as a replacement of
`ThreeWayComparable` in old modes.

As drive-by, also switches to use `// REQUIRES: std-at-least-c++17` in
touched test files, and adds previously missed includes of
`<type_traits>`.


  Commit: cc798fb63ca1a08f43cdcd314b66a96fa973e584
      https://github.com/llvm/llvm-project/commit/cc798fb63ca1a08f43cdcd314b66a96fa973e584
  Author: Rajat Bajpai <rbajpai at nvidia.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/docs/NVPTXUsage.md
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/NVVMIntrinsicUtils.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-1cta.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-2cta.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-cta-override.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-cta-sm100.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-cta-validate-data.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-gather4.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-im2colw.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-im2colw128.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-invalid.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-mc32.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-override.ll
    A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-validate-data.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-s2g-im2colw.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-s2g-scatter4.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-s2g.ll
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Target/LLVMIR/nvvm/tma_load_cluster_im2col.mlir
    M mlir/test/Target/LLVMIR/nvvm/tma_load_cluster_tile.mlir
    M mlir/test/Target/LLVMIR/nvvm/tma_load_cta_im2col.mlir
    M mlir/test/Target/LLVMIR/nvvm/tma_load_cta_tile.mlir

  Log Message:
  -----------
  [LLVM][NVPTX] Add Rubin extensions for G2S Tensor intrinsics (#220029)

This change adds support for the Rubin-extended Global-to-Shared tensor
copy intrinsics for both the Cluster and CTA variants:

1. 32-bit multicast mask support: the G2S Cluster intrinsics are now
overloaded on the multicast mask type (i16/i32); an i32 mask lowers to
`.multicast::cluster::32b`.
2. Data-validity reporting through the mbarrier: all G2S Cluster and CTA
intrinsics, including the property-override forms, take a trailing `i32
%validate_pattern` immediate (range [0, 6)) that selects a
`.mbarrier::report::validity` qualifier. It defaults to 0 (disabled).
3. Override tensor map properties: the G2S Cluster and CTA intrinsics
now support `.override::global_address`, optionally followed by
`.override::global_dim` / `.override::global_dim_stride`, across all
load modes. The dim/stride overrides apply to tile mode only; im2col and
gather4 support the global-address override only.

The new `validate_pattern` argument changes the IR signatures of all G2S
intrinsics; legacy declarations are auto-upgraded with the missing
trailing arguments defaulted to 0, and the multicast mask type selects
the overload. The MLIR NVVM `CpAsyncBulkTensorGlobalToSharedClusterOp`
is updated to build the new signature.


  Commit: df3c1f712828dda66fe7efa0d2957629d60f8df8
      https://github.com/llvm/llvm-project/commit/df3c1f712828dda66fe7efa0d2957629d60f8df8
  Author: Vikram Hegde <Vikram.Hegde at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-load.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir

  Log Message:
  -----------
  [AMDGPU][GIsel][NPM] Port "AMDGPURegBankLegalize" to NPM (#217322)

Probably doesn't require all tests to be updated.

Assisted-by: Opus-4.8,


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

  Changed paths:
    M llvm/test/CodeGen/X86/huge-stack.ll
    M llvm/test/CodeGen/X86/llvm.sincos.vec.ll
    M llvm/test/CodeGen/X86/pr1505b.ll
    M llvm/test/CodeGen/X86/stack-align.ll
    M llvm/test/CodeGen/X86/subcarry.ll
    M llvm/test/CodeGen/X86/swifterror.ll
    M llvm/test/CodeGen/X86/var-permute-128.ll
    M llvm/utils/UpdateTestChecks/asm.py

  Log Message:
  -----------
  [UpdateTestChecks][X86] Allow --no_x86_scrub_sp to disable folded stack spill/restore stack math scrubing (#221788)

We were handling cases to show general load/store stack math, but had
missed the r/w/rmw folded cases


  Commit: d402c6191ad4051a3cb534dae125dfdf1f304889
      https://github.com/llvm/llvm-project/commit/d402c6191ad4051a3cb534dae125dfdf1f304889
  Author: Andrew Gaul <andrew at gaul.org>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/test/CodeGen/X86/PR40322.ll
    A llvm/test/CodeGen/X86/atomic-cmp-fold.ll
    M llvm/test/CodeGen/X86/atomic-unordered.ll

  Log Message:
  -----------
  [X86] Fold atomic loads into compares (#221290)

A compare of an atomic load kept the load in a register (mov + cmp/test)
where a compare of a regular load folds the load into the compare's
memory operand. The folded form performs a single full-width load, and
on x86 an ordinary load already provides every ordering up to seq_cst,
so folding is legal for any non-extending atomic load.

Add isel patterns folding an atomic load into CMP (mi/mr/rm forms across
i8/i16/i32/i64). Compare-to-zero already reaches these via EmitTest;
nonzero and register compares are emitted as a flag-only X86ISD::SUB (to
enable CSE with a real subtract) whose load the peephole then folds. The
peephole cannot move an ordered access, so those never folded for atomic
loads. Emit X86ISD::CMP instead when an operand is a foldable atomic
load: it has no non-atomic sibling to CSE with anyway.

x86lint reports 5854 "load foldable into compare" sites in a release
build of Firefox's libxul.so; sampling shows the majority are
atomic-load compares of the kind this folds -- mozilla::Atomic and
std::atomic loads, MOZ_LOG level checks (an Atomic<LogLevel>), and Rust
core::sync::atomic and log-crate level checks.

---------

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


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

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

  Log Message:
  -----------
  [CMake] Move -Wno-unused-but-set-parameter from MLIR up to LLVM (#221824)

This warning is known to have false positives with GCC versions before
14.

Since 3aec6a40bb4e49f9ea181ac5c949b6c7c20a5465, this warning appears
when building LLVMSupport as well - thus move the disabling of the
warning up from MLIR to all of LLVM.

In HandleLLVMOptions, the common procedure is to not check for whether
the options are supported or not, but to just hardcode the version
ranges where the options are supported, per compiler.

This option (and -Wunused-but-set-parameter) is available in GCC since
long before our minimum required version.


  Commit: 011005fecf846e40dad1941f6cbbd6653ae37460
      https://github.com/llvm/llvm-project/commit/011005fecf846e40dad1941f6cbbd6653ae37460
  Author: Rohan Shenoy <RohanRadhesh.Shenoy at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrSNP.td
    M llvm/test/MC/Disassembler/X86/x86-64.txt
    M llvm/test/MC/X86/SNP-64.s

  Log Message:
  -----------
  [X86] Support further Zen5 and Zen6 instructions (#221659)

Support the following system instructions,
RMPREAD: https://docs.amd.com/v/u/en-US/24594_3.38_APM_Vol3_PUB
RMPOPT: https://docs.amd.com/search/all?query=69201
RMPCHKD (RMP Dirty) : https://docs.amd.com/search/all?query=69203


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

  Changed paths:
    M llvm/lib/Support/CMakeLists.txt

  Log Message:
  -----------
  [Support] [CMake] Only pass -Wno-c99-extensions to Clang, not GCC (#221822)

GCC doesn't support this option, only Clang.

GCC doesn't warn if an unrecognized `-Wno-<foo>` option is passed, but
if GCC produces other warnings, it also adds a note about `-Wno-<foo>`
not being recognized, and that it may have been intended to silence the
warning that was produced.


  Commit: 2c2ff263a437efccf074a07cb2906025252153d0
      https://github.com/llvm/llvm-project/commit/2c2ff263a437efccf074a07cb2906025252153d0
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h

  Log Message:
  -----------
  [GlobalISel] Avoid copying complex pattern renderers (NFC) (#221657)

They're immediately destroyed after being copied, move them instead.

Improves aarch64-O0-g CTMark geomean -0.10%.

https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=69a2cfb9a265b7c4a18ef7121a7afb239c886d13&stat=instructions:u

Assisted-by: codex


  Commit: 2a9266ce8524af516426835bff1c06fb78d5280d
      https://github.com/llvm/llvm-project/commit/2a9266ce8524af516426835bff1c06fb78d5280d
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

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

  Log Message:
  -----------
  [AArch64][GlobalISel] Avoid duplicate register-bank queries in selectCopy (NFC) (#221655)

selectCopy redundantly queried both register banks through a single-use
helper. Inline the helper to reuse the existing results.

Small -0.04% geomean improvement on CTMark aarch64-O0-g.

https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=ca7c3e1d88a6ca20b104b0fb62ce79897b61afc8&stat=instructions:u

Assisted-by: codex


  Commit: 16df25d03f5a5becf9dbe994ef6b6d4546b357d9
      https://github.com/llvm/llvm-project/commit/16df25d03f5a5becf9dbe994ef6b6d4546b357d9
  Author: Steffen Larsen <sholstla at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ADT/APInt.h
    M llvm/lib/Support/APInt.cpp

  Log Message:
  -----------
  [APInt][NFC] Add branch hints to APInt single-word (#219437)

The fast-path for APInt is generally done with for "single word"
integers, i.e. ones that can be represented in a single 64-bit word.
This commit adds branch hints to the single-word branching to help
indicate to the compilers prioritize branch-prediction towards the
fast-path. The trade-off of this is that the >64-bit APInt case will be
slower.

---------

Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>


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

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Mangling.h
    A llvm/include/llvm/ExecutionEngine/Orc/Shared/Mangler.h
    A llvm/include/llvm/ExecutionEngine/Orc/Shared/SymbolNameSpec.h
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/Mangling.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/Shared/Mangler.cpp
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    R llvm/unittests/ExecutionEngine/Orc/MangleAndInternerTest.cpp
    A llvm/unittests/ExecutionEngine/Orc/ManglerTest.cpp

  Log Message:
  -----------
  [ORC] Add SymbolNameSpec, hoist name mangling into Shared.

Introduce two Shared, ExecutionSession-independent pieces:

 - SymbolNameSpec (Shared/SymbolNameSpec.h): a StringRef paired with a
   SymbolNameKind (Verbatim, Linker, IR, C) describing the naming level
   a symbol name is expressed in. A lightweight, dependency-free value
   type, so it can describe interface-name constants in Shared headers.

 - Mangler (Shared/Mangler.h, Shared/Mangler.cpp): the linker
   name-mangling logic factored out of MangleAndInterner. It holds only
   a ManglingMode (no ExecutionSession or SymbolStringPool), so names
   can be mangled on the executor side as well as the controller
   side. It exposes withMangledNameDo (which avoids allocating when
   mangling is a no-op) and a mangledCopy convenience, both dispatching
   on the spec's SymbolNameKind.

MangleAndInterner becomes a thin wrapper: it derives a ManglingMode
(from an ABIName / ManglingMode / DataLayout), holds a Mangler, and
interns whatever the Mangler produces. Behavior is unchanged.

This lets lookup utilities eventually accept C / IR source names and
mangle them to linker level on the caller's behalf, rather than
requiring pre-mangled names. The MangleAndInternerTest unit tests are
renamed to ManglerTest and now exercise Mangler directly;
MangleAndInterner is left untested since it is slated for removal.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV3AE.td
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-sve-instructions.s

  Log Message:
  -----------
  [AArch64] Correct the throughput of reductions on Neoverse V3ae (#221151)

This tightens up the throughput of sve saddv, sminv, smaxv, along with
the unsigned variants. They were a bit high due to the use of too many
micro ops.


  Commit: d6a6de09cce9d0e08821a9aa15a0cbcb0889bb37
      https://github.com/llvm/llvm-project/commit/d6a6de09cce9d0e08821a9aa15a0cbcb0889bb37
  Author: Ketan Roy <145851442+MrRoy09 at users.noreply.github.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/DSInstructions.td

  Log Message:
  -----------
  [AMDGPU] Use AMDGPUMnemonicAlias in DS_Real_gfx13 (NFC) (#217912)

Emit an AMDGPUMnemonicAlias in DS_Real_gfx13 so it carries the
PredicateControl fields.

NFC: 46 gfx13 aliases gain the PredicateControl fields at their
defaults; Predicates is unchanged on all of them.


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

  Changed paths:
    M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
    A llvm/test/CodeGen/Thumb2/LowOverheadLoops/dbg-verify.ll

  Log Message:
  -----------
  [ARM] Handle debug instructions in LowOverheadLoop (#221699)

The last instruction in the block might be a debug instruction, in which
case we should get the last non-debug instruction.

Fixes #221633.


  Commit: 586cfbcd9d59af33894e79192fdcad6057467465
      https://github.com/llvm/llvm-project/commit/586cfbcd9d59af33894e79192fdcad6057467465
  Author: Oscar Priego <oscar.priegov at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86CompressEVEX.cpp
    M llvm/test/CodeGen/X86/avx512-icmp-sle-zero.ll
    A llvm/test/CodeGen/X86/bitcast-sign-mask.ll
    A llvm/test/CodeGen/X86/compress-evex-sign-mask.mir
    M llvm/test/CodeGen/X86/compress-evex-vpmov-kill.mir

  Log Message:
  -----------
  [X86] X86CompressEVEX - Fold AVX-512 sign-mask compares to MOVMSK (#216884)

## Summary

Fold AVX-512 complementary signed sign-test masks to the corresponding
MOVMSK instructions in `X86CompressEVEX`.

AVX-512 lowers comparisons such as:

- `X >= 0`
- `X > -1`

to `VPCMP*` producing a k-mask followed by `KMOV`.

For 128-bit and 256-bit B/D/Q forms, these masks can instead be obtained
from the source sign bits using:

- `VPCMPB` -> `VPMOVMSKB`
- `VPCMPD` -> `VMOVMSKPS`
- `VPCMPQ` -> `VMOVMSKPD`

followed by the appropriate complement.

## Details

The complement is restricted to the meaningful lane-mask bits so that
unused upper bits retain the zero-extension semantics of `KMOV`.

For the 32-lane byte case, all 32 bits are meaningful, so `NOT32r` can
be used directly without clobbering EFLAGS.

The transformation is limited to 128-bit and 256-bit B/D/Q forms with a
single non-narrowing `KMOV` consumer.

The matcher also verifies the expected zero/all-ones producer for the
comparison constant and avoids the fold when required register or
EFLAGS liveness constraints are not satisfied.

## Tests

Added:

- end-to-end CodeGen coverage for the affected sign-mask cases;
- dedicated MIR coverage for `X86CompressEVEX`;
- negative MIR cases covering:
  - multiple mask uses;
  - source clobbers;
  - unsupported predicates/constants;
  - narrowing `KMOV`;
  - 512-bit vectors;
  - extended registers;
  - live EFLAGS;
  - masked-move consumers with incompatible mask polarity;
  - incorrect all-ones producer width;
  - dead `KMOV` destinations.

Existing `VPMOV*2M + KMOV -> MOVMSK` coverage is preserved.

Fixes #216774
Signed-off-by: Oscar Priego Verdugo <oscar.priegov at gmail.com>

AI-assisted development tools were used during this contribution; I
personally modified, reviewed, and validated the final patch


  Commit: 5700f6fefdc532bb6fa6e30f780a5a553253722e
      https://github.com/llvm/llvm-project/commit/5700f6fefdc532bb6fa6e30f780a5a553253722e
  Author: Vlad Sytchenko <vsytch at hotmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M clang/test/CodeGenCoroutines/coro-destructor-of-final_suspend.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/test/Transforms/Coroutines/ArgAddr.ll
    M llvm/test/Transforms/Coroutines/coro-align16.ll
    M llvm/test/Transforms/Coroutines/coro-align32.ll
    M llvm/test/Transforms/Coroutines/coro-align64-02.ll
    M llvm/test/Transforms/Coroutines/coro-align64.ll
    M llvm/test/Transforms/Coroutines/coro-align8-02.ll
    M llvm/test/Transforms/Coroutines/coro-align8.ll
    M llvm/test/Transforms/Coroutines/coro-alloca-01.ll
    M llvm/test/Transforms/Coroutines/coro-alloca-02.ll
    M llvm/test/Transforms/Coroutines/coro-alloca-03.ll
    M llvm/test/Transforms/Coroutines/coro-alloca-04.ll
    M llvm/test/Transforms/Coroutines/coro-alloca-06.ll
    M llvm/test/Transforms/Coroutines/coro-alloca-08.ll
    M llvm/test/Transforms/Coroutines/coro-byval-param.ll
    M llvm/test/Transforms/Coroutines/coro-catchswitch.ll
    M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-01.ll
    M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-02.ll
    M llvm/test/Transforms/Coroutines/coro-frame-arrayalloca.ll
    M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-01.ll
    M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-02.ll
    M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-04.ll
    M llvm/test/Transforms/Coroutines/coro-frame-reuse-alloca-05.ll
    M llvm/test/Transforms/Coroutines/coro-param-copy.ll
    M llvm/test/Transforms/Coroutines/coro-spill-defs-before-corobegin.ll
    A llvm/test/Transforms/Coroutines/coro-split-index-datalayout.ll
    M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-01.ll
    M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-02.ll
    M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-03.ll
    M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-04.ll
    M llvm/test/Transforms/Coroutines/coro-split-tbaa-md.ll

  Log Message:
  -----------
  [CoroSplit] Don't go sub-word for suspend index (#221374)

Currently, `CoroFrame` selects the coroutine suspend index type
(`SwitchIndexType`) using `Type::getIntNTy(Context, IndexBits)`. For
coroutines with fewer than 256 suspend points, this produces
sub-byte/sub-word integer types (such as `i1`, `i2`, or `i8`) in the
coroutine frame struct.

On targets whose `DataLayout` specifies `-n32` (no legal sub-32-bit
integer types), storing and loading sub-word integer fields in memory
forces the backend to emit read-modify-write sequences on every
coroutine suspend and zero-extension masks on every resume.

Use `DataLayout::getSmallestLegalIntType(Context, IndexBits)` when
selecting `SwitchIndexType` so that targets respect their legal native
integer width.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
    M llvm/test/CodeGen/AArch64/arm64-tbl.ll
    M llvm/test/CodeGen/AArch64/neon-anyof-splat.ll
    M llvm/test/CodeGen/AArch64/pdep.ll
    M llvm/test/CodeGen/AArch64/pext.ll

  Log Message:
  -----------
  [AArch64] Combine scalar_to_vector(C) -> buildvector (#220948)

This helps keep a single canonical form of a constant vector, helping a
number of the existing buildvector combines trigger.


  Commit: 296d80836bb77f9a8b5e159ef615a9965171cfba
      https://github.com/llvm/llvm-project/commit/296d80836bb77f9a8b5e159ef615a9965171cfba
  Author: Vikram Hegde <Vikram.Hegde at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-clamp-fmed3-const.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-merge-readanylane.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-smed3.mir

  Log Message:
  -----------
  [AMDGPU][GIsel][NPM] Port "AMDGPURegBankCombiner" to NPM (#217323)

Assisted-by: Opus-4.8


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

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/TypeBase.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/Type.cpp

  Log Message:
  -----------
  [clang] Unique more ASTContext type pools in a UniquingSet. NFC (#221898)

Similar to #221850.

Eight pools key on a small tuple of types, integers and pointers, yet
each get*Type() serializes that into a FoldingSetNodeID and hashes it
out of line before probing. Switch to UniquingSet.

These getters re-probe after building the canonical type. A token is a
hash (#218190), not a bucket, so nothing invalidates it. Drop unneeded
assertions.


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

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

  Log Message:
  -----------
  [Bazel] Fixes e910926 (#221908)

This fixes e91092685eab2ab0348ea06df2c3446001b480d4.

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

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


  Commit: 9f5548da33ffdb282225bc03e17c0702c4c31884
      https://github.com/llvm/llvm-project/commit/9f5548da33ffdb282225bc03e17c0702c4c31884
  Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h

  Log Message:
  -----------
  [SPIRV] Preserve DebugGlobalVariable emission order. (#221759)

Iterate GlobalVariableDebugInfoMap with MapVector so OpString and
DebugGlobalVariable follow insertion order.

The following tests had non-deterministic output, although didn't fail
due to the use of CHECK-DAG:

- llvm/test/CodeGen/SPIRV/debug-info/debug-global-variable-multi-gve.ll
- llvm/test/CodeGen/SPIRV/debug-info/debug-lexical-block-namespace.ll
- llvm/test/CodeGen/SPIRV/debug-info/debug-type-pointer.ll


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/test/CodeGen/AArch64/fp-veclib-expansion.ll

  Log Message:
  -----------
  [SelectionDAG] Widen vector math libcalls when no routine is available (#218948)

`tryExpandVecMathCall` currently only checks for a vector math routine
matching the node's exact vector type, unrolling when none is found.
This is suboptimal, and can lead to crashes for scalable types (which
cannot be unrolled).

This PR implements widening to first check if a routine with a wider vec
type exists before falling back to unrolling.

Example:
```
; llc -mtriple=aarch64 -mattr=+sve -vector-library=sleefgnuabi crash.ll
define <vscale x 2 x float> @frem_nxv2f32(<vscale x 2 x float> %a, <vscale x 2 x float> %b) {
  %res = frem <vscale x 2 x float> %a, %b
  ret <vscale x 2 x float> %res
}
```

NOTE: When the routines take a mask (e.g. if they're scalable variants),
only relevant lanes are activated. Vectors are padded with copies of the
operand to avoid running on poison.


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

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-ext-fma.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
    M llvm/test/CodeGen/AMDGPU/fdot2.ll
    M llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll

  Log Message:
  -----------
  AMDGPU: Rename stale CONTRACT check prefixes in fp-contract tests (#221709)

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


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

  Changed paths:
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp

  Log Message:
  -----------
  [ConstantFolding] Implement canConstantFoldCallTo() using TLI (#221903)

This did some odd matching on string names. Use TLI instead, matching
the actual constant folding logic.

I've adjusted callers to pass TLI to canConstantFoldCallTo() if they
also pass TLI to the later constant folding call.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/lib/CodeGen/MIRParser/MILexer.cpp
    M llvm/lib/CodeGen/MIRParser/MILexer.h
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/addrspacecast-nonnull.ll
    A llvm/test/CodeGen/MIR/AMDGPU/addrspacecast-nonnull.mir
    M llvm/utils/UpdateTestChecks/mir.py

  Log Message:
  -----------
  AMDGPU: Use the addrspacecast nonnull flag in codegen (#220926)

Plumb the nonnull flag through to the backend so a flagged addrspacecast
lowers without the runtime null check, matching what
llvm.amdgcn.addrspacecast.nonnull already provides.

Add the NonNull MIFlag with MIR printer/parser support (including the
MIRPrinter path and update_mir_test_checks) so it round-trips on
G_ADDRSPACE_CAST, and preserve it through SelectionDAG vector
scalarization and splitting.

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


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

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/include/clang/Basic/BuiltinsX86_64.td
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/CodeGen/TargetBuiltins/X86.cpp
    M clang/lib/Headers/bmi2intrin.h
    M compiler-rt/lib/msan/tests/msan_test.cpp

  Log Message:
  -----------
  [X86] Remove x86 PDEP/PEXT clang intrinsics and rely on generic elementwise implementations (#204969)

The clang frontend already converted the x86 builtins to generics, this just moves to using the elementwise builtins directly.


  Commit: b182b415d9b2447cf1fd7231ebe28a96cfd1f9af
      https://github.com/llvm/llvm-project/commit/b182b415d9b2447cf1fd7231ebe28a96cfd1f9af
  Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/RegisterPressure.h
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/RegisterPressure.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    A llvm/unittests/CodeGen/RegisterPressureTest.cpp

  Log Message:
  -----------
  [CodeGen] Correctly classify/mark dead defs when adjusting lane liveness (#215595)

Despite what the documentation of `adjustLaneLiveness` states, the
method never sets dead flags on dead def operands, even when missing
dead flags can later lead to machine verifier errors.

This makes the method identify dead definitions from definitions that
are initially thought to be alive, and makes it add a dead flag on the
last definition of a virtual register, matching the behavior expected by
the machine verifier (ref. "Instruction ending live segment on dead slot
has no dead flag").

`adjustLaneLiveness` and `detectDeadDefs` now also use the same
mechanism to identify dead definitions. It relies on comparing the
defined lanes of a definition with those that stay alive after it.


  Commit: b3071f2b0db631e8fb0d4b47f5e46d0c8297879a
      https://github.com/llvm/llvm-project/commit/b3071f2b0db631e8fb0d4b47f5e46d0c8297879a
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-vi-f16.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip

  Log Message:
  -----------
  [CIR][AMDGPU] Add support for AMDGCN class builtins (#213496)

Adds codegen for the following AMDGCN class builtins:

- __builtin_amdgcn_class (double)
- __builtin_amdgcn_classf (float)
- __builtin_amdgcn_classh (half)

These are lowered to the corresponding `llvm.amdgcn.class` intrinsics.


  Commit: 97ad26d9bfdb0c83bc6edc3de016fb7bc7b3d5b3
      https://github.com/llvm/llvm-project/commit/97ad26d9bfdb0c83bc6edc3de016fb7bc7b3d5b3
  Author: Arda Serdar Pektezol <arda at pektezol.dev>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
    A llvm/test/Transforms/LoopFlatten/invalidate-scev-pr203176.ll

  Log Message:
  -----------
  [LoopFlatten] Invalidate SCEV on each widening (#211819)

LoopFlatten can update a loop before deciding on not to flatten it due
to profitability. SCEV has cached loop information during the checks and
the widening, where it can lead to stale data if the pass bails at
flattening. Invalidate it after each successful widening.

Fixes #203176

Co-authored-by: Steve Gustaman <stevegustaman at kaist.ac.kr>


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

  Changed paths:
    M llvm/include/llvm/CodeGenTypes/LowLevelType.h
    M llvm/include/llvm/IR/DerivedTypes.h
    M llvm/include/llvm/Support/TypeSize.h
    M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/unittests/Support/TypeSizeTest.cpp

  Log Message:
  -----------
  [NFC][LLVM] Remove TypeSize::multiplyCoefficientBy(). (#221215)

TypeSize implements operator*() that performs the same operation.


  Commit: 1f15665245afc1b303ed2cad0c5ea610f499f666
      https://github.com/llvm/llvm-project/commit/1f15665245afc1b303ed2cad0c5ea610f499f666
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

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

  Log Message:
  -----------
  [AArch64] Add a fast-path for AArch64InstrInfo::getInstSizeInBytes (NFC) (#221894)

Improves CTMark geomean -0.07% on aarch64-O0-g.

https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=be1403a1f2db85c9443fa8300fa8522561bea90a&stat=instructions:u

Assisted-by: codex


  Commit: 283b9b565ea8093fd5d04d0435d6594624c58ddb
      https://github.com/llvm/llvm-project/commit/283b9b565ea8093fd5d04d0435d6594624c58ddb
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M lldb/docs/resources/test.md

  Log Message:
  -----------
  [lldb][docs] Remove duplicate title in test doc (#221944)


  Commit: a1a2d57627695fb86438229340cba87560ab2c9b
      https://github.com/llvm/llvm-project/commit/a1a2d57627695fb86438229340cba87560ab2c9b
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M clang/docs/CMakeLists.txt
    M clang/include/clang/Options/ClangOptionDocs.td
    M clang/include/clang/Options/Options.td
    M clang/utils/TableGen/ClangOptionDocEmitter.cpp

  Log Message:
  -----------
  Revert "[clang][docs] Generate command line reference as Markdown" (#221937)

Reverts llvm/llvm-project#220385

This has broken several flang pipelines:
-
https://github.com/llvm/llvm-project/actions/runs/34051600098/job/101536096902?pr=218746
- https://github.com/llvm/llvm-project/actions/runs/34200642862


  Commit: eb96d6530255aaaa00e156803b2fc224c80678ba
      https://github.com/llvm/llvm-project/commit/eb96d6530255aaaa00e156803b2fc224c80678ba
  Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M clang/test/CodeGen/target-builtin-noerror.c

  Log Message:
  -----------
  [X86] Make target-builtin-noerror.c fail on warning  (#221796)

As in title. Also removed deleted features. The test was previously
accepting any string


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/test/CIR/CodeGen/callsite-inline-attributes.cpp
    M clang/test/CIR/IR/inline-attrs.cir
    M clang/test/CIR/IR/invalid-call.cir
    M clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c

  Log Message:
  -----------
  [CIR] Drop the redundant suffix from the inline kind mnemonic (#220892)

inline_kind was the one CIR enum attribute mnemonic still repeating what
its
C++ enum class name says. The attribute now spells
`#cir.inline<always_inline>`. The operation argument keeps the name
inline_kind, since that is the accessor name, so the printed form reads
`inline_kind = #cir.inline<always_inline>`.

The enum's summary also becomes "inline kind" rather than the camelCase
"inlineKind", which is what generated docs show now that
CIR_InlineKindAttr
no longer overrides it.

25 CHECK lines change across four test files. Nine are in an
aarch64-registered-target test, unsupported in an X86-only build, but
the
substitution matches the two CIR tests that do run.


  Commit: 8badd964149235ea91c2d98f02e1f39a78f117f5
      https://github.com/llvm/llvm-project/commit/8badd964149235ea91c2d98f02e1f39a78f117f5
  Author: Rohit Aggarwal <Rohit.Aggarwal at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll

  Log Message:
  -----------
  [AMDLIBM] Add VF8 mapping for cbrtf (amd_vrs8_cbrtf) (#220815)

Map cbrtf loops at VF=8 to amd_vrs8_cbrtf so -vector-library=AMDLIBM
matches the vector entry exported by AOCL-LibM.

AOCL repo : [AOCL-LibM](https://github.com/amd/aocl-libm-ose)

As per the latest external supported call in
[amdlibm_vec.h](https://github.com/amd/aocl-libm-ose/blob/master/include/external/amdlibm_vec.h)


  Commit: fa0638edc6628ce2c386519ffdcbdcf35513e67e
      https://github.com/llvm/llvm-project/commit/fa0638edc6628ce2c386519ffdcbdcf35513e67e
  Author: Mariya Podchishchaeva <Mariya.Podchishchaeva at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/test/CIR/CodeGenHIP/ternary-struct-addrspace.hip
    M clang/test/CIR/CodeGenOpenMP/target-map.c

  Log Message:
  -----------
  [CIR] Cast alloca for function parameter to the right address space (#220836)

Function parameters are stored into temporary allocas and for
address-space aware targets allocas may yield pointers to address spaces
that are different from default address space or the address space of
the parameter type. Do a cast to avoid mismatch. The address space
mismatch was reproduced using cir.ternary op returning a function
parameter and a local variable. For local variables and return
temporaries we already cast alloca address space to temporary address
space but not for function parameter allocas.


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/scalar-steps-cost.ll

  Log Message:
  -----------
  [VPlan] Add IV steps cost tests for small trip counts and regions (NFC). (#221948)

Add 2 tests covering missing cases: scalar-iv steps cost in single
iteration loops, and cost in replicate regions.


  Commit: fc44546b1bf7cd2048dd079e9f69c3b384162d56
      https://github.com/llvm/llvm-project/commit/fc44546b1bf7cd2048dd079e9f69c3b384162d56
  Author: Vlad Sytchenko <vsytch at hotmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

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

  Log Message:
  -----------
  [bazel] Add missing targets for CIR (#220753)

[bazel] Add missing targets for CIR


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

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/concurrent_base.py
    M lldb/test/API/functionalities/thread/concurrent_events/main.cpp

  Log Message:
  -----------
  [lldb] Fix flaky TestConcurrentTwoWatchpointsOneSignal (#221697)

`g_watchme` was declared right next to `g_sigusr1_count`. Hardware
watchpoints round the watched address/size to an alignment boundary, so
a watchpoint on `g_watchme` could also end up covering
`g_sigusr1_count`. When the signal thread's handler touches
`g_sigusr1_count` while the watchpoint threads write `g_watchme`, that
overlap causes a spurious hit and lldb can attribute the stop to the
wrong thread.

See llvm.org/PR35228.

Fix: group the watched field and its padding into a single aligned
struct (`WatchMePadding`), so the compiler is guaranteed to lay out the
data and padding together.

Assisted by Claude.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/X86/clmul-vector.ll
    M llvm/test/CodeGen/X86/clmul.ll

  Log Message:
  -----------
  [SelectionDAG] Expand CLMUL of zero-extended all-ones operand via parallel prefix XOR (#207339)

Fixes #204870


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

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

  Log Message:
  -----------
  [clang][bytecode] Save Record::Field PrimType (#221945)

This does not increase the size of `Record::Field` but lets us avoid
classifying fields all the time.


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

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/Mangler.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
    R llvm/lib/ExecutionEngine/Orc/Shared/Mangler.cpp

  Log Message:
  -----------
  [ORC] Move Mangler implementation from OrcShared to OrcJIT (#221942)

Many OrcJIT clients don't directly depend on OrcSupport, and so broke
when e91092685eab moved mangling from OrcJIT to OrcSupport.

We want to reorganize these libraries in the not too distant future.
Rather than forcing clients to update dependencies that may change again
soon, move the code (but not the header) back into the OrcJIT library.
We can address the mismatch between the header's and implementation's
home during the library reorganization.


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

  Changed paths:
    M llvm/include/llvm/IR/RuntimeLibcalls.h
    A llvm/test/TableGen/RuntimeLibcallEmitter-library-dispatch.td
    M llvm/test/TableGen/RuntimeLibcallEmitter-library-grouping.td
    M llvm/test/TableGen/RuntimeLibcallEmitter-library-name-merge.td
    M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp

  Log Message:
  -----------
  RuntimeLibcalls: Dispatch to library functions from SystemRuntimeLibrary (#217593)

When a SystemRuntimeLibrary names LibcallLibrary defs,
setTargetRuntimeLibcallSets now dispatches each under an isLibraryAvailable 
guard, so an impl can be homed into a library without dropping it from the target. 
Non-library members keep the inline path. No target names a library yet, so output 
is unchanged.

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


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

  Changed paths:
    M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp

  Log Message:
  -----------
  [lldb][Windows] Mark unwind plan as valid at all instructions (#215514)

This is a follow up to https://github.com/llvm/llvm-project/pull/210076.

The unwind plan is now valid at every location.


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

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h

  Log Message:
  -----------
  [lldb][windows] print an error if Python fails to initialize (#181160)

Add checks around the `Py_init*` calls to check if Python was
initialized correctly. If any of the calls fails, print an error and
return early.

Python will fail to initialize if `%SystemRoot%` is not defined which
causes lldb to crash. This patch prints an error if the initialization
fails and returns early. lldb still crashes but gives a clue as to why
that's the case.

rdar://168004280


  Commit: 6940519208db433dfffc408392344245129e4050
      https://github.com/llvm/llvm-project/commit/6940519208db433dfffc408392344245129e4050
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M libc/shared/rpc.h

  Log Message:
  -----------
  [libc] Simplify RPC lock handling to be scalar on the GPU (#221805)

Summary:
This interface was originally written in a complicated way as a
pessimistic bet against NVIDIA's independent thread scheduling. The idea
was that it would work regardless of which set actually executed the
function. The problem is that this forces the operation to be an
expensive vector operation.

This should be safe, we already have other safeguards against ITS in the
main loop. When this function is called, we know that the index and lane
mask are convergent in the set. ITS says the true threads executing this
could be greater than returned. But in this case the 'locked' value
would not be shuffled in, it would not see that it got the lock, and
loop again in a different mask set.

The complicated thing about ITS is mostly that any lanes that share a PC
will report convergent, but that should not bite us here as we already
guard against that before calling this.


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

  Changed paths:
    M clang/test/CodeGenCUDA/fp-contract.cu
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll

  Log Message:
  -----------
  AMDGPU: Set the addrspacecast nonnull flag instead of the intrinsic (#220927)

AMDGPUCodeGenPrepare proved the source of certain flat<->local/private
addrspacecasts non-null and rewrote them to
llvm.amdgcn.addrspacecast.nonnull. Now that the flag is honored in
codegen, set it in place on the existing instruction instead.

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


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

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/addrspacecast.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/addrspacecast.ll
    A llvm/test/Bitcode/amdgcn-addrspacecast-nonnull.ll
    M llvm/test/CodeGen/AMDGPU/addrspacecast-gas.ll
    M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
    M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior2.ll
    M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
    R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.addrspacecast.nonnull.ll

  Log Message:
  -----------
  AMDGPU: Remove llvm.amdgcn.addrspacecast.nonnull (#220928)

The intrinsic is fully replaced by the nonnull flag on addrspacecast,
so remove it.

Old bitcode/IR is autoupgraded, though this is very conservative. This
intrinsic was only inserted by the backend, and hopefully nobody was
directly emitting it.

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


  Commit: c40a02b6da9291e33c53fc19c37f2d3bf35c06d0
      https://github.com/llvm/llvm-project/commit/c40a02b6da9291e33c53fc19c37f2d3bf35c06d0
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

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

  Log Message:
  -----------
  [lldb] Small changes to StopPointSiteList::FindInRange (#221975)

1. Make the return value indicate an empty list or not. (I would return
a list, but you cannot copy this list and I don't want to make a larger
change right now)
2. Remove a redundant write at one of the call sites.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/X86/vector-compress.ll

  Log Message:
  -----------
  [LLVM][SelectionDAG] Fix incorrect splitting of VECTOR_COMPRESS when passthrough operand is not undef. (#215772)

When splitting VECTOR_COMPRESS the original mask is used for the final
step when inactive elements are set to their passthrough value. This is
incorrect because only the inactive lanes of the result should be set to
their passthrough value.


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td

  Log Message:
  -----------
  [CIR] Use the modern enum case classes (#220935)

The `I32EnumAttrCase` family carries an `Attr` half, and an
`IntegerAttr`
predicate with it, that a CIR enum has no use for now that the enums
derive
from `EnumInfo`. Upstream says of those forms that they "are not needed
when
using the newer `EnumCase` form".

Rename all of them to `I32EnumCase`, `I32BitEnumCaseNone`,
`I32BitEnumCaseBit` and `BitEnumCaseGroup`. The group class drops its
width
prefix because the modern spelling takes the width from its cases.


  Commit: 991c62626638056a85c7af56e211344f8bdd36dc
      https://github.com/llvm/llvm-project/commit/991c62626638056a85c7af56e211344f8bdd36dc
  Author: Tomáš Slanina <itzexpoexpo at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

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

  Log Message:
  -----------
  Set correct stack reserve when built by Clang on Windows (#221263)

Currently it's handled correctly for MSVC's LINK and MinGW (i.e.
distributed builds of LLVM work correctly), but not lld-link, causing
such builds to crash in certain scenarios.


  Commit: 3741dacd195a961f996f357a3b753dd9432a7941
      https://github.com/llvm/llvm-project/commit/3741dacd195a961f996f357a3b753dd9432a7941
  Author: Vikash Gupta <Vikash.Gupta at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/form-bitfield-extract-from-and.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-divrem-insertpt-crash.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-commute-shift.mir
    M llvm/test/CodeGen/AArch64/neon-shuffle-vector-tbl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-extract-vector-load.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-redundant-and.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shift-of-shifted-logic.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.make.buffer.rsrc.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/merge-values-s16-true16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.id.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-opt.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-and.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-xor.ll
    M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
    M llvm/test/CodeGen/AMDGPU/workitem-intrinsic-opts.ll

  Log Message:
  -----------
  [GlobalISel] Migrate various generic wip_match_opcode combines to MIR-pattern. (#220213)

This patch converts a batch of GlobalISel combine rules from
hand-written C++ matchers to declarative MIR patterns preserving the
behavior. It also along with adds two functional changes (a
rule-ordering fix and an out-of-bounds bug fix) are described below.

- `select_same_val` → `select_same_val_trivial` +
`select_same_val_equiv` group
- `select_constant_cmp` → `_false` / `_true` / `_general` group
- `simplify_add_to_sub`, `add_p2i_to_ptradd` → `GICombinePatFrag`s
- `commute_shift` → `commute_shift_frags` (C++ residue reduced to
`isDesirableToCommuteWithShift`)
- `combine_i2p_to_p2i`, `ptr_add_zero`, `sext_trunc_sext_load` →
patterns.
- funnel-shift / rotate / `ashr_lshr` / `constant_fold_fma` /
`constant_fold_cast_op` / `combine_minmax_nan` → pattern fragments


- **`select_zero_true` / `select_zero_false`:** skip a constant
condition as they fold it to an arm instead strictly better and avoids a
`G_FREEZE` that post-legalization can't clean up.
- **`match_bitfield_extract_from_and`:** mask the AND immediate to the
operand width and reject fields where `lsb + width > size`, preventing
an out-of-bounds `G_UBFX` (fixes an AMDGPU `knownBitsForSBFE` crash).

28 CodeGen tests updated. All diffs are semantically equivalent.


  Commit: a3b12f0cd5337230199fc9c6319cc2c4614f75b8
      https://github.com/llvm/llvm-project/commit/a3b12f0cd5337230199fc9c6319cc2c4614f75b8
  Author: Oscar Priego <oscar.priegov at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
    M llvm/test/Transforms/GVN/pr46054-md-nonlocaldefcache-cleanup.ll

  Log Message:
  -----------
  [MemDep] Remove cached non-local defs referencing deleted instructions (#219929)

MemoryDependenceResults::removeInstruction() removed entries from
NonLocalDefsCache when the removed non-pointer instruction was itself a
cache key, but did not remove entries where that instruction was the cached
dependency result.

This could leave a stale instruction reachable through NonLocalDefsCache
after GVN erased it. A later non-local load query could then consume the
dangling dependency and crash in GVN::analyzeLoadAvailability().

Use ReverseNonLocalDefsCache to remove forward cache entries whose
dependency result references the removed instruction, keeping both maps
consistent.

Related removal paths now use the existing reverse-map helper, with
consistency assertions to catch future map divergence.

Fixes #219885.

A downstream Mono integration has also hit #219885 in practice when
tagging non-pointer array-header loads with !invariant.group. They
currently gate those tags off as a temporary workaround pending the
upstream fix in this PR:

Phantomical/mono at 7e44c68


  Commit: 651d01e873c6fce3c8d300362585b1a5f98bb883
      https://github.com/llvm/llvm-project/commit/651d01e873c6fce3c8d300362585b1a5f98bb883
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M clang/lib/AST/StmtPrinter.cpp
    M clang/unittests/AST/TypePrinterTest.cpp

  Log Message:
  -----------
  [clang][AST] Fix infinite recursion when printing fully qualified template parameters (#219044)

This fixes an infinite recursion crash that was introduced in #206041.

When printing a `DeclRefExpr` using
`PrintingPolicy::FullyQualifiedName`, we were previously trying to print
the fully qualified name of all decls. However, when the decl is a
template parameter, its `DeclContext` is the template specialization
itself. If a template specialization's arguments depend on that same
template parameter (e.g., `template<int Count> struct
View<int[Count]>`), attempting to print the qualified name forces Clang
to recursively evaluate the enclosing context. This led to unbounded
recursion (`View<int[Count]>::Count` ->
`View<int[View<int[Count]>::Count]>::Count` and so on). Since template
parameters are inherently scoped to their template declarations and do
not require a fully qualified name, this patch resolves the issue by
skipping `printQualifiedName` if the decl is a template parameter
(`!VD->isTemplateParameter()`).

Fixes #218076.


  Commit: f20b6e56a866c49522737364de6a5ab4bedbd43e
      https://github.com/llvm/llvm-project/commit/f20b6e56a866c49522737364de6a5ab4bedbd43e
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

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

  Log Message:
  -----------
  [lldb] Remove return value from RemoveBreakpointOpcodesFromBuffer (#221979)

It was never set to anything and the one caller ignored it.


  Commit: 08a32ba66e9c01320a6ab13edfc5f332af8d47ed
      https://github.com/llvm/llvm-project/commit/08a32ba66e9c01320a6ab13edfc5f332af8d47ed
  Author: Kane Wang <wangqiang1 at kylinos.cn>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/load-store.ll

  Log Message:
  -----------
  [RISCV][GlobalISel] Fold large constant offsets in selectAddrRegImm (#219161)

Fold ADDI adjustment (AddiPair) for offsets in [-4096, 4094] and split
larger constants into materialized Hi + Lo12 offset, matching SDAG. Add
isWorthFoldingAdd to guard the split and extract the shared ADDI
renderer into renderAddiPair.

Assisted-by: Claude


  Commit: c4babfb3128b9b167e469003028dbaf4e14a6167
      https://github.com/llvm/llvm-project/commit/c4babfb3128b9b167e469003028dbaf4e14a6167
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [Docs] Document persistent metadata printing (#220967)

Document how persistent metadata IDs affect intermediate and standalone
textual output. Final assembly output remains canonically renumbered.

Follow-up to #220390.


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

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
    M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir

  Log Message:
  -----------
  [mlir][vector] Update `CastAwayTransfer{Read|Write}LeadingOneDim` (#219499)

Updates `CastAwayTransfer{Read|Write}LeadingOneDim` to use
`vector.shape_cast`, rather than `vector.extract`, as the canonical form
for stripping unit dimensions.

This change was originally implemented by @krzysz00 in #196206, but was
subsequently reverted in #199546. This PR intentionally restores only a
subset of #196206, making it easier to identify and triage any potential
regressions.

Co-authored-by: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>


  Commit: fdffea81bc29094eb11eddf85309a6615c4f0049
      https://github.com/llvm/llvm-project/commit/fdffea81bc29094eb11eddf85309a6615c4f0049
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
    M llvm/test/CodeGen/AMDGPU/fmaximum3.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/fminimum3.ll
    M llvm/test/CodeGen/AMDGPU/fminimum3.v2f16.ll

  Log Message:
  -----------
  [AMDGPU] Prefer packed minimum/maximum ops for two-input ops (#215449)

A two-input f16 fminimum or fmaximum operation should translate to a
packed two-input minimum/maximum instruction when the target supports
one.

It currently can be selected through the minimum3/maximum3 fallback
pattern instead. That emits a three-input instruction with one input
operand duplicated.

Keep the fallback for nested min/max expressions that can use the real
three-input instruction. Add a higher-priority direct pattern for
non-nested two-input operations on targets with packed IEEE
minimum/maximum opcodes.


  Commit: a4e8604a2da580de80debb6a15c9c6d7379a68d5
      https://github.com/llvm/llvm-project/commit/a4e8604a2da580de80debb6a15c9c6d7379a68d5
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

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

  Log Message:
  -----------
  [clang-format] Recognize the signed modifier for Verilog struct (#219694)

after

```SystemVerilog
struct packed signed {
  int a;
} pack1;
```

before

```SystemVerilog
struct packed signed { int a; }
pack1;
```


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

  Changed paths:
    A llvm/test/CodeGen/X86/active_lane_mask.ll

  Log Message:
  -----------
  [X86] Add basic llvm.get.active.lane.mask test coverage (#221978)


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/acos_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/asin_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/atan_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ceil_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cos_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cosh_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp2_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/floor_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log10_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log2_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/roundeven_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sin_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sinh_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sqrt_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tan_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tanh_mat.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/trunc_mat.ll

  Log Message:
  -----------
  [SPIRV] Add matrix type legalization for many float global opcodes (#220782)

fixes #220723

The issue in #220723 is that the global opcodes can not deduce the
element type when the input is a shuffle vector. This is the same issue
as #213783. All we have to do to fix this is to have deduceTypeFromUses
in the SPIRVPostLegalizer know that we need to look up the type from the
results register for these opcodes.

The secondary issue is that there were no matrix tests for any of these
global opcodes so I added them. I did not follow the template started by
the atan2 tests because those are overkill and testing way to much stuff
not related to opcode legalization.

Assisted on the tests by MAI-Code-1.1-Flash


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

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.h
    M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
    M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOpDefinition.cpp
    A mlir/lib/Dialect/SPIRV/IR/SPIRVOpDefinition.h
    A mlir/lib/Dialect/SPIRV/IR/SPIRVOpDefinitions.cpp

  Log Message:
  -----------
  [MLIR][spirv] Shard generated operation definitions (NFC) (#221811)

Generate SPIR-V operation definitions in eight shards and use the
generated registration hook. Keep parser, printer, and verification
helpers in the existing implementation TU and expose them through a
private header.

Assisted-by: Codex


  Commit: c4d8bd10c14a6902da83306270e836ef6fa5bb76
      https://github.com/llvm/llvm-project/commit/c4d8bd10c14a6902da83306270e836ef6fa5bb76
  Author: Benjamin Chetioui <3920784+bchetioui at users.noreply.github.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp
    M mlir/lib/Dialect/X86/Transforms/AVXTranspose.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Target/LLVMIR/Import/instructions.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [mlir][llvm] Add convergent attribute to llvm.inline_asm. (#221990)

Expose LLVM's convergent call-site attribute on the LLVM dialect
inline_asm op. This allows marking an inline asm block as convergent so
that divergence-aware passes do not move it relative to divergent
control flow.


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

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
    A llvm/test/CodeGen/Hexagon/const-prop-undef.mir

  Log Message:
  -----------
  Hexagon: Fix constant propagation crash on a use with no reaching definition (#220297)


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

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.h
    M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
    M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
    A mlir/lib/Dialect/LLVMIR/IR/ROCDLOps.cpp
    A mlir/lib/Dialect/LLVMIR/IR/ROCDLOps.h

  Log Message:
  -----------
  [MLIR][ROCDL] Shard generated operation definitions (NFC) (#221729)

ROCDL generated operation definitions is amongst the slowest MLIR
translation unit. Generate eight definition shards, compile them as
separate sources, and use the generated sharded registration hook while
keeping custom parser and printer helpers in one implementation unit.

Assisted-by: Codex


  Commit: 8c8aa74533a841a7f61dac5e80c8241799458dd6
      https://github.com/llvm/llvm-project/commit/8c8aa74533a841a7f61dac5e80c8241799458dd6
  Author: Letu Ren <fantasquex at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir][LLVM] Add pdep and pext intrinsics (#220768)

Assisted-by: grok-4.6

Signed-off-by: Letu Ren <fantasquex at gmail.com>


  Commit: 35fe7e14ecb4e50182fe93123e1876824d14bb94
      https://github.com/llvm/llvm-project/commit/35fe7e14ecb4e50182fe93123e1876824d14bb94
  Author: Alex Strelnikov <strel at google.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M libc/src/__support/printf_core/char_converter.h
    M libc/src/__support/printf_core/converter.h
    M libc/src/__support/printf_core/fixed_converter.h
    M libc/src/__support/printf_core/float_dec_converter.h
    M libc/src/__support/printf_core/float_dec_converter_limited.h
    M libc/src/__support/printf_core/float_hex_converter.h
    M libc/src/__support/printf_core/float_inf_nan_converter.h
    M libc/src/__support/printf_core/int_converter.h
    A libc/src/__support/printf_core/overflow_modes.def
    M libc/src/__support/printf_core/printf_main.h
    M libc/src/__support/printf_core/ptr_converter.h
    M libc/src/__support/printf_core/strerror_converter.h
    M libc/src/__support/printf_core/string_converter.h
    M libc/src/__support/printf_core/vasprintf_internal.h
    M libc/src/__support/printf_core/vfprintf_internal.h
    M libc/src/__support/printf_core/write_int_converter.h
    R libc/src/__support/printf_core/write_modes.def
    M libc/src/__support/printf_core/writer.h
    M libc/src/err/report.cpp
    M libc/src/stdio/baremetal/vfprintf_internal.h
    M libc/src/stdio/snprintf.cpp
    M libc/src/stdio/snprintf_modular.cpp
    M libc/src/stdio/sprintf.cpp
    M libc/src/stdio/sprintf_modular.cpp
    M libc/src/stdio/vsnprintf.cpp
    M libc/src/stdio/vsnprintf_modular.cpp
    M libc/src/stdio/vsprintf.cpp
    M libc/src/stdio/vsprintf_modular.cpp
    M libc/src/stdlib/str_from_util.h
    M libc/src/stdlib/strfromd.cpp
    M libc/src/stdlib/strfromf.cpp
    M libc/src/stdlib/strfroml.cpp
    M libc/src/time/asctime_utils.h
    M libc/src/time/strftime.cpp
    M libc/src/time/strftime_core/composite_converter.h
    M libc/src/time/strftime_core/converter.h
    M libc/src/time/strftime_core/num_converter.h
    M libc/src/time/strftime_core/str_converter.h
    M libc/src/time/strftime_core/strftime_main.h
    M libc/src/time/strftime_l.cpp
    M libc/test/src/__support/printf_core/converter_test.cpp
    M libc/test/src/__support/printf_core/writer_test.cpp

  Log Message:
  -----------
  [libc] Update printf_core::Writer to template on character type. (#220669)

This is motivated by working toward `swprintf`.

The primary goal is to enable a `CharT` template type parameter on
`printf_core::Writer`. This requires refactoring how the "overflow
write" logic is set up to get around the limitation on function template
partial specialization.

Key changes to `printf_core::Writer` and friends:
* Separate the overflow write logic from `WriteBuffer` into an
`OverflowWriter` template where specializations handle dispatch, and
remove the `WriteBuffer` subclasses.
* Rename from `WriteMode` to `OverflowMode` to try and shorten the
enumerators with minimal loss to clarity, and reduce the number of modes
to only two: `DROP_OVERFLOW` and `CALLBACK`.
* The number of dynamic function calls for flushing and resizing use
cases stays the same by templating the callback on a `WriteSink`.

At this stage the extra `CharT` template type parameter is added in this
PR mainly to ensure the setup works without running into function
template partial specializations. Fully expanding `Writer` with
`wchar_t` will be done in follow-up PRs.


  Commit: cb180d50a81674b467887eab836f563607ae89e8
      https://github.com/llvm/llvm-project/commit/cb180d50a81674b467887eab836f563607ae89e8
  Author: Ryan VanderMeulen <ryanvm at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/cmake/modules/FindLibXml2.cmake

  Log Message:
  -----------
  [cmake] FindLibXml2: keep user-provided LIBXML2_DEFINITIONS (#221294)

LLVM's `FindLibXml2.cmake` (added in #166867) unconditionally does
`set(LIBXML2_DEFINITIONS ${PC_LIBXML_CFLAGS_OTHER})` and puts
`PC_LIBXML_CFLAGS_OTHER` on the imported targets. CMake's own
`FindLibXml2` module only takes pkg-config's flags when the library it
found is the one pkg-config describes; otherwise it keeps whatever
`LIBXML2_DEFINITIONS` the user passed and exposes it through
`INTERFACE_COMPILE_OPTIONS`.

This matters when cross-compiling against a static libxml2 on Windows.
Passing `-DLIBXML2_DEFINITIONS=-DLIBXML_STATIC
-DLIBXML2_LIBRARIES=.../libxml2s.lib` worked with LLVM 22 (CMake's
module): the define reached both the `xmlReadMemory` configure check and
the consumers of `LibXml2::LibXml2`. With LLVM 23 it is silently
dropped, `xmlexports.h` declares the API `__declspec(dllimport)`, the
check fails to link against the static library and
`LLVM_ENABLE_LIBXML2=FORCE_ON` aborts with `Failed to configure
libxml2`. (pkg-config on the Linux host finds the host's libxml2, so
`PC_LIBXML_CFLAGS_OTHER` is empty and unrelated to the library actually
being used.)

Mirror CMake's behaviour: keep the user's definitions unless pkg-config
found the same library, and attach them to both `LibXml2::LibXml2` and
`LibXml2::LibXml2Static`.

Seen while building the Firefox clang 23 toolchains (x86_64 and aarch64
`-pc-windows-msvc`, cross-compiled from Linux with
`LLVM_EXPORT_SYMBOLS_FOR_PLUGINS=ON`).

---
**AI tool use disclosure** (per the [LLVM AI Tool Use
Policy](https://llvm.org/docs/AIToolPolicy.html)): this change was
developed with Claude Code assisting in the analysis and drafting. The
root cause was established against real 23.1.0 binaries; this cmake
change itself has so far only been verified to apply to 23.1.0 and main
and by code reading, while Firefox's CI validated the equivalent
workaround of passing -DLIBXML_STATIC via the compiler flags. The author
reviewed the change and is accountable for and able to answer questions
about it. Commits carry an `Assisted-by:` trailer.


  Commit: 2ca09022430e88ab53cbf0f09d6ec8b3d6deb138
      https://github.com/llvm/llvm-project/commit/2ca09022430e88ab53cbf0f09d6ec8b3d6deb138
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp

  Log Message:
  -----------
  [GlobalISel] Avoid double DenseMap lookups in ValueToVRegInfo (NFC) (#221741)

Improves CTMark geomean -0.06% on aarch64-O0-g.

https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=fbf62152c51f2327cb2f4a382df90b3f345a8866&stat=instructions:u

Assisted-by: codex


  Commit: 0650d53db287b22908ca2c76d21defbec209be44
      https://github.com/llvm/llvm-project/commit/0650d53db287b22908ca2c76d21defbec209be44
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86CompressEVEX.cpp
    M llvm/test/CodeGen/X86/avx512fp16-frem.ll
    M llvm/test/CodeGen/X86/bfloat.ll
    M llvm/test/CodeGen/X86/ucmp.ll
    M llvm/test/CodeGen/X86/vector-fshl-128.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
    M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
    M llvm/test/CodeGen/X86/vector-shuffle-avx512.ll
    M llvm/test/CodeGen/X86/vector-shuffle-v192.ll

  Log Message:
  -----------
  [X86][X86CompressEVEX] Do not compress when there is a compressed disp8 (#221923)

Fixes: #206963

Assisted-by: Claude Opus 4.8


  Commit: bb6f7fcb46cdbe258b0cba12506fe1f344cd2d45
      https://github.com/llvm/llvm-project/commit/bb6f7fcb46cdbe258b0cba12506fe1f344cd2d45
  Author: Risan Gnanasegaram <risan888 at hotmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/test/Dialect/LLVMIR/layout.mlir

  Log Message:
  -----------
  [mlir][LLVM] Use element allocation sizes when computing struct size (#221742)

`LLVMStructType::getTypeSizeInBits` currently advances by each element's
store size. With the data layout from #221665, this reports 11 bytes for
`!llvm.struct<packed (f80, i8)>`, while LLVM uses the 16-byte allocation
size of `f80` and reports a 17-byte struct.

Round each element's size up to its ABI alignment before adding it to
the
struct size, matching LLVM's `getTypeAllocSize` behavior. Packed structs
continue to suppress alignment gaps before elements, while each element
still consumes its allocation size.

Add regression coverage for packed, unpacked, nested, and array layouts.

Fixes #221665.

Testing: 99 relevant MLIR tests passed; 3 x86-only tests were
unsupported
on the ARM host.

Assisted by: OpenAI Codex


  Commit: a25235064367ee356ceddf5064a4d14fca0f8567
      https://github.com/llvm/llvm-project/commit/a25235064367ee356ceddf5064a4d14fca0f8567
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h

  Log Message:
  -----------
  [SLP][NFC] Fix createExtractVector comment missed in #221785 (#221999)

createExtractVector has no Generator; drop it from the doxygen comment.


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

  Changed paths:
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp

  Log Message:
  -----------
  CodeGen: Remove TargetOptions::PPCGenScalarMASSEntries (#221424)

This was PPC specific and wasn't directly written by a generic cl::opt.
It also was inappropriately written based based on a check of the flag
in the TargetPassConfig, which is only likely to be the first use.

Co-authored-by: Claude (Claude-Opus-4.8)


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/clmul-vector-256.ll
    M llvm/test/CodeGen/X86/clmul-vector-512.ll
    M llvm/test/CodeGen/X86/clmul-vector.ll
    M llvm/test/CodeGen/X86/pdep-vector-128.ll
    M llvm/test/CodeGen/X86/pdep-vector-256.ll
    M llvm/test/CodeGen/X86/pdep-vector-512.ll
    M llvm/test/CodeGen/X86/pext-vector-128.ll
    M llvm/test/CodeGen/X86/pext-vector-256.ll
    M llvm/test/CodeGen/X86/pext-vector-512.ll
    M llvm/test/CodeGen/X86/znver-pdep.ll
    M llvm/test/CodeGen/X86/znver-pext.ll

  Log Message:
  -----------
  [X86] LowerCLMUL - fix unpack order of vXi32 CLMUL/CLMULH codegen (#222001)

Fix typo in the unpack order for vXi32 CLMUL/CLMULH codegen from #221289
and #221668 - I'd gotten the variable names right, but failed to
actually use the right variables!

Fixes #221964


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

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

  Log Message:
  -----------
  [Bazel] Fixes 52d922a (#222005)

This fixes 52d922aa153b1232813470e014635419ce006023 (#221811).

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

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


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

  Changed paths:
    M lldb/docs/resources/test.md
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/test/API/commands/expression/import-std-module/array/TestArrayFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/basic/TestImportStdModule.py
    M lldb/test/API/commands/expression/import-std-module/conflicts/TestStdModuleWithConflicts.py
    M lldb/test/API/commands/expression/import-std-module/deque-basic/TestDequeFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/empty-module/TestEmptyStdModule.py
    M lldb/test/API/commands/expression/import-std-module/forward_decl_from_module/TestForwardDeclFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/forward_list/TestForwardListFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/iterator/TestIteratorFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/list/TestListFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/missing-module-sources/TestStdModuleSourcesMissing.py
    M lldb/test/API/commands/expression/import-std-module/module-build-errors/TestStdModuleBuildErrors.py
    M lldb/test/API/commands/expression/import-std-module/no-std-module/TestMissingStdModule.py
    M lldb/test/API/commands/expression/import-std-module/non-module-type-separation/TestNonModuleTypeSeparation.py
    M lldb/test/API/commands/expression/import-std-module/pair/TestPairFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/retry-with-std-module/TestRetryWithStdModule.py
    M lldb/test/API/commands/expression/import-std-module/shared_ptr-dbg-info-content/TestSharedPtrDbgInfoContentFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/stack/TestStackFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/sysroot/TestStdModuleSysroot.py
    M lldb/test/API/commands/expression/import-std-module/vector-bool/TestVectorBoolFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/vector/TestVectorFromStdModule.py
    M lldb/test/API/commands/frame/var/TestFrameVar.py
    M lldb/test/API/functionalities/breakpoint/jit_loader_rtdyld_elf/TestJitBreakPoint.py
    M lldb/test/API/lang/cpp/abi_tag_structors/TestAbiTagStructors.py
    M lldb/test/API/lang/cpp/forward/TestCPPForwardDeclaration.py

  Log Message:
  -----------
  [lldb] Add requireClang decorator (#222007)

- Add requireClang, marking Clang-only tests as UNSUPPORTED elsewhere
instead of SKIPPED, following the existing require* convention.
- Replace the ~30 standalone @skipIf(compiler=no_match("clang")) uses
with @requireClang; leave the cases paired with a compiler_version check
as-is, since those are more complex than a simple compiler check.
- Remove the now-unused skipUnlessCompilerIsClang in favor of
requireClang.
- Update the testing docs to mention requireClang.

Follow-up to #214197.


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

  Changed paths:
    M llvm/lib/Target/XCore/XCoreISelLowering.cpp

  Log Message:
  -----------
  [XCore] Use getPtrAdd() instead of getGetElementPtr() (NFC) (#222017)

This was creating an i8 getelementptr, which is exactly what
ptradd is.


  Commit: f1f0f21a51d64d9c0272959f18ece36e3247083e
      https://github.com/llvm/llvm-project/commit/f1f0f21a51d64d9c0272959f18ece36e3247083e
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPMemoryUtils.cpp
    A llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPMemoryUtils.h
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn

  Log Message:
  -----------
  [SLP][modularisation][NFC] Move pointer/stride helpers to SLPMemoryUtils (#221786)

Move the following BoUpSLP-independent pointer/stride helpers out of
SLPVectorizer.cpp into a new SLPVectorizer/SLPMemoryUtils.{h,cpp}:

  arePointersCompatible
  computeCommonAlignment
  calculateRtStride

arePointersCompatible reads the file-local RecursionMaxDepth cl::opt.
The option stays static in SLPVectorizer.cpp; the moved helper takes its
value as an explicit unsigned parameter. Behavior is unchanged.

Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922

Assisted by AI.


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

  Changed paths:
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kInstrInfo.cpp

  Log Message:
  -----------
  CodeGen: Remove stale LiveVariables.h includes from ARM and M68k InstrInfo (#222000)

Co-authored-by: Claude (Claude-Opus-4.8)


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

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp

  Log Message:
  -----------
  [Attributor] Remove dead function getKnownConstantRange (#221897)

getKnownConstantRange was added on January 15, 2020 in commit
188f9a348dc545bf9a420d998ad37761bddd7285 without any callers and has
been unused since.


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

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

  Log Message:
  -----------
  [WindowsSecureHotPatching] Remove redundant getGetElementPtr() (NFC) (#222019)

This was creating a degenerate getelementptr without any indices,
which is equivalent to the base pointer and will fold away.


  Commit: bbf7b8439d526de7a696bad82c7f8cc8696e39f7
      https://github.com/llvm/llvm-project/commit/bbf7b8439d526de7a696bad82c7f8cc8696e39f7
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    A clang/test/CIR/CodeGenCUDA/builtins-nvvm-fma-oob.cu
    A clang/test/CIR/CodeGenCUDA/builtins-nvvm-half.cu

  Log Message:
  -----------
  [CIR][NVPTX] Add support for NVVM half type builtins (#221859)

Adds codegen for the following NVVM half type builtins:

- `__nvvm_ex2_approx_{f16,f16x2}`
- `__nvvm_fmin{_ftz,}{_nan,}{_xorsign_abs,}_{f16,f16x2}`
- `__nvvm_fmax{_ftz,}{_nan,}{_xorsign_abs,}_{f16,f16x2}`
- `__nvvm_fma_rn{_ftz,}{_relu,_sat,}_{f16,f16x2}`
- `__nvvm_fma_rn_oob{_relu,}_{f16,bf16,f16x2,bf16x2}`

These are lowered to the corresponding llvm.nvvm.* intrinsics.

This diverges a bit from OG, as no half-type helper is needed here. OG
routes these through `MakeHalfType`, which coerces each argument to the
intrinsic's declared parameter type, appends the intrinsic's defaulted
arguments, and
asserts that no argument is an integer constant expression. None of that
is needed for the builtins in this patch as each already agrees with its
intrinsic on operand and result types, and none has defaulted
parameters. The existing
`emitUnaryNVVMIntrinsic` and `emitBuiltinWithOneOverloadedType<N>`
helpers are therefore sufficient.

More generally, nothing `MakeHalfType` does is half-specific.

Assisted by Claude.


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

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

  Log Message:
  -----------
  [CGObjCMac] Remove unnecssary zero-index GEPs (#222023)

getConstantGEP() was always called with two zero indices. However,
with opaque pointers, zero-index GEPs are redundant and will fold
away.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Transforms/LoopUnroll/RISCV/runtime-unroll-max-trip-count.ll
    M llvm/test/Transforms/LoopUnroll/RISCV/unroll.ll

  Log Message:
  -----------
  [RISCV] Stop ignoring intrinsics in costing for force unrolling (#221107)

All intrinsic calls were hitting the "continue" for !isLoweredToCall
and bypassing the getInstructionCost.

I've modified runtime-unroll-max-trip-count.ll to override unrolling
costs and remove the bswap intrinsics that were previously not counted.

Test case written by Claude.


  Commit: 0117d8ca5e8c37e3a14647875095cc422ee9a686
      https://github.com/llvm/llvm-project/commit/0117d8ca5e8c37e3a14647875095cc422ee9a686
  Author: Kirill Vedernikov <kvedernikov at nvidia.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-shared-collector-b.mlir
    M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-shared-decompress-b.mlir
    M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-shared-ti16.mlir
    M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-shared.mlir
    M mlir/test/lit.cfg.py

  Log Message:
  -----------
  [MLIR][NVVM] Add optional llc verification for NVVM dialect tests (#219980)

The motivation is to verify that MLIR NVVM dialect operations lower to
LLVM IR that is accepted by the NVPTX backend. Running llc gives these
tests an extra end-to-end check beyond textual IR matching and helps
catch mismatches between MLIR lowering, NVVM intrinsics, and backend
expectations.

A valid LLVM intrinsic call isn't necessarily selectable for every
combination of its immargs and target features. There is a concrete
NVPTX example in
`llvm/test/CodeGen/NVPTX/tcgen05-mma-collector-b-i8-invalid.ll`. The
intrinsic has a valid signature and individually valid immediate values,
but the combination `kind=i8` and `collector_b=lastuse` is not
supported. LLVM IR verification accepts it, while `llc` rejects it with
Cannot select.

The corresponding MLIR verifier does not duplicate every NVPTX
instruction-selection predicate. It currently checks MLIR-level
properties such as the `disable_output_lane size` and the interaction
between `a_shift` and `collector_a` (the examples are from
`tcgen05.mma`), while the backend owns the complete target-dependent
selection rules. We should improve the MLIR verifier whenever an invalid
MLIR operation can be rejected early, but a targeted integration check
also detects disagreement or drift between those two independently
maintained layers.

Another case is target-version drift. A translation test can be extended
with a new intrinsic variant requiring a newer SM or PTX ISA while
continuing to pass its textual `FileCheck`. Since the existing command
has no target contract, the test does not tell us whether all the
generated intrinsics are lowerable for one coherent target. An `llc`
invocation with explicit `-mcpu` and `-mattr` makes that contract
visible. If a test intended for sm_100a/PTX 8.6 starts using
functionality available only for sm_107f/PTX 9.4, the integration check
reports it immediately.

```
// RUN: %if has_llc_binary && host-supports-nvptx %{ mlir-translate --mlir-to-llvmir %s | %llc-verify -march=nvptx64 -mcpu=sm_<version> -mattr=+ptx<version> %}
```
`%llc-verify` finds `llc` as `lit.util.which("llc",
config.llvm_tools_dir)`.


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

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

  Log Message:
  -----------
  [MicrosoftCXXABI] Remove unnecessary zero-index GEP (#222025)

This was creating a zero-index GEP constant expression, which is
equivalent to the base pointer, and will be folded away.


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

  Changed paths:
    M flang/include/flang/Optimizer/OpenACC/Passes.td
    M flang/include/flang/Semantics/runtime-type-info.h
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/OpenACC/Analysis/FIROpenACCSupportAnalysis.cpp
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
    A flang/lib/Optimizer/OpenACC/Transforms/ACCMapInfoPrep.cpp
    M flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
    M flang/lib/Semantics/runtime-type-info.cpp
    A flang/test/Fir/OpenACC/acc-fir-map-info-prep-attach.mlir
    A flang/test/Fir/OpenACC/acc-fir-map-info-prep-clauses.mlir
    A flang/test/Fir/OpenACC/acc-fir-map-info-prep-declare-global.mlir
    A flang/test/Fir/OpenACC/acc-fir-map-info-prep-exit.mlir
    A flang/test/Fir/OpenACC/acc-fir-map-info-prep-implicit-present.mlir
    A flang/test/Fir/OpenACC/acc-fir-map-info-prep-privatize.mlir
    A flang/test/Fir/OpenACC/acc-fir-map-info-prep-types.mlir
    A flang/test/Fir/OpenACC/acc-fir-map-info-prep.mlir
    M flang/unittests/Optimizer/OpenACC/FIROpenACCSupportAnalysisTest.cpp
    A mlir/include/mlir/Dialect/OpenACC/OpenACCCGEnums.td
    M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsCG.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsType.h
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsType.cpp
    A mlir/test/Dialect/OpenACC/invalid-cg-mapinfo.mlir
    A mlir/test/Dialect/OpenACC/ops-cg-mapinfo.mlir
    M mlir/test/Dialect/OpenACC/ops.mlir

  Log Message:
  -----------
  [acc] Pre-cg pass for handling flang data mapping to offload runtime (#221282)

Introduce acc.map_info as the acc dialect operation that captures a
single mapped object's offload facts (attach point, descriptor kind,
bounds, map flags, and size) so later codegen can lower data clauses to
the offload runtime from one representation.

Add a Flang pre-codegen pass, ACCMapInfoPrep, that materializes
acc.map_info for FIR-typed operands: it infers Fortran descriptor attach
and CFI facts, sizes mapped and privatized storage, and folds paired
enter/exit clause effects into map flags. This keeps FIR-specific
mapping logic out of ACCToLLVM and leaves that conversion to consume
map_info verbatim.


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

  Changed paths:
    M libcxx/include/tuple
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp

  Log Message:
  -----------
  [libc++] Fix make_from_tuple for reference types (#220966)

#215067 refactored `make_from_tuple`, which introduced a regression when
trying to construct reference types with it.


  Commit: 50766c94c42ea6bd4a9424a5a63a905765d5c172
      https://github.com/llvm/llvm-project/commit/50766c94c42ea6bd4a9424a5a63a905765d5c172
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/pthread_attr_t.h
    M libc/src/__support/threads/linux/thread.cpp
    M libc/src/pthread/CMakeLists.txt
    A libc/src/pthread/pthread_getattr_np.cpp
    M libc/src/pthread/pthread_getattr_np.h
    M libc/test/integration/src/pthread/CMakeLists.txt
    A libc/test/integration/src/pthread/pthread_getattr_np_test.cpp

  Log Message:
  -----------
  [libc] Implement pthread_getattr_np (#221231)

Implement the GNU extension pthread_getattr_np.

For the stack address and size, the function returns the same value as
pthread_getstack_np. Specifically, this means returning
PTHREAD_STACK_DYNAMIC_NP for the main thread. Since we're not promising
async-signal-safety of this function, we could parse /proc/self/maps
(like glibc does), to get the actual stack VMA, but:
- that's a lot of code
- I'm not particularly fond of relying on /proc for libc features
- the consistency with pthread_getattr_np is nice

For these reasons, I'm not implementing this (or other alternatives like
RLIMIT_STACK) right now. This incidentally means that the current
implementation of this function is async-signal-safe, but that is likely
to change once we add support for additional attributes.

For consistency with glibc, I report the guard size of newly created
threads as zero, regardless of what was present in the thread creation
attributes. I zero the attribute directly during thread creation as it
is not used for managed stacks.

Assisted-by: Gemini


  Commit: 3eb8494f6d0e40bf6e7fc3e5ec0196c5b2726bd6
      https://github.com/llvm/llvm-project/commit/3eb8494f6d0e40bf6e7fc3e5ec0196c5b2726bd6
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AMDGPU] Add APIs `getTotalNumVGPRs` and `getAddressableNumVGPRs` to TargetParser (#220695)

These align with `getTotalNumSGPRs` and `getAddressableNumSGPRs` that
already exist.


  Commit: 12b2a6767a17e6450a3e844359afa30440bdd9ba
      https://github.com/llvm/llvm-project/commit/12b2a6767a17e6450a3e844359afa30440bdd9ba
  Author: Laxman Gupta <laxman.gupta1006 at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

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

  Log Message:
  -----------
  [AggressiveInstCombine] Add shufflevector support to TruncInstCombine (#220218)

Previously, expression graphs containing shufflevector could not be
reduced to a smaller bit-width. This change adds support for traversing
and rebuilding shufflevector operations during the transformation,
allowing truncation to propagate through shuffle operations.

The shuffle mask and vector shape are preserved while the operands are
rebuilt with the reduced element type.

This removes the corresponding TODO in TruncInstCombine.cpp.

AI Tool Used: GitHub Copilot


  Commit: 1dac88b2aad1af472a4f4d5b7d87930e6e557d1f
      https://github.com/llvm/llvm-project/commit/1dac88b2aad1af472a4f4d5b7d87930e6e557d1f
  Author: Akash Dutta <137309513+akadutta at users.noreply.github.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHazardLatency.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
    A llvm/test/CodeGen/AMDGPU/insert-delay-alu-ldsdma.mir
    A llvm/test/CodeGen/AMDGPU/ldsdma-not-coexec-valu.mir
    A llvm/test/CodeGen/AMDGPU/ldsdma-not-valu-wait-sgpr.mir

  Log Message:
  -----------
  [AMDGPU] Do not treat LDSDMA as VALU in several passes (#212866)

Use AllowLDSDMA=false (and producer/consumer split in InsertDelayAlu)
where LDSDMA was incorrectly classified as VALU. 

Partially addresses https://github.com/llvm/llvm-project/issues/204488

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    A flang/test/Transforms/debug-line-table-no-types.fir
    M flang/test/Transforms/debug-omp-target-op-1.fir

  Log Message:
  -----------
  [flang][debug] Don't build signature types for minimal debug levels. (#221967)

AddDebugInfo converted the result and argument types of every function
before it checked the requested debug level, so -gline-tables-only or a
-gline-directives-only ended up with the full type graph of each
signature: derived types, array types, string types and the basic types
they are built from.

Leave the type list empty at those levels which is also what clang emits
for -gline-tables-only or -gline-directives-only. The subprogram of an
omp.target region gets the same treatment.

A single variable is now used to decide this so parameter for the
`addTargetOpDISP` lambda was removed.

Fixes #217343

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


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

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

  Log Message:
  -----------
  MachinePipeliner: Fix using getUniqueVRegDef on a physical register (#216793)

Currently this is permissive and doesn't assert when called with
a physical register, but I'm working on changing this edge case.
No current observable change.

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


  Commit: f40474d53bc0e780d7d3653248d5a241d36fe07a
      https://github.com/llvm/llvm-project/commit/f40474d53bc0e780d7d3653248d5a241d36fe07a
  Author: Ruoyu Qiu <cabbaken at outlook.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

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

  Log Message:
  -----------
  [DA] Refactor dependence analysis (NFC) (#221653)

Remove some unnecessary part of DA.

- Remove unused `GroupLoops` and `Group` subscript state.
- Reuse the already-computed source and destination loops.
- Simplify `APInt` initialization and zero SCEV construction.
- Replace redundant casts with direct typed accessors.


  Commit: 5bf9caeaa485f1720db8cfbe92012710c2fad36c
      https://github.com/llvm/llvm-project/commit/5bf9caeaa485f1720db8cfbe92012710c2fad36c
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llubi.md
    A llvm/test/tools/llubi/alloca_large_size_crash.ll
    M llvm/tools/llubi/lib/Context.cpp
    M llvm/tools/llubi/llubi.cpp

  Log Message:
  -----------
  [llubi] Limit max-mem to 4 GiB (#221765)

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


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

  Changed paths:
    M flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt

  Log Message:
  -----------
  [flang][acc] Add missing dependencies for ACCMapInfoPrep pass (#222028)

To resolve linking failures for:
cuf::hasDataAttr and loadRecordTypeSizeFromTypeDesc

after: https://github.com/llvm/llvm-project/pull/221282


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

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/SemaCXX/warn-implicit-unicode-conversions.cpp

  Log Message:
  -----------
  [Clang] Fix assertion when a Unicode character is splatted to a vector of its own type (#219987)

Fixes #202317

Comparing an `ext_vector_type` of `char32_t` against one of its own
elements (`V.xyzw < V.x`) splats the scalar to the vector type, and
`-Wconversion` checking then trips `Source != Target` in
`DiagnoseMixedUnicodeImplicitConversion`. `CheckImplicitConversion` does
reject `Source == Target` at the top, but only on the outer types; when
it later strips the vector wrapper off the target it ends up with
`char32_t` on both sides and nothing re-checks that. Every other element
check just happened to tolerate identical types silently, the Unicode
one is the first to assert, which is why this only showed up as a Clang
21 regression.

The fix is at the call site rather than in the diagnostic: once the
vector, matrix and SVE wrappers have been stripped, return early if the
element types are the same. That covers matrix splats and HLSL
truncation to the same element type too, not just this one warning, and
leaves the assertion and the warning's behaviour alone. A genuine
mismatch such as `V.xyzw < u8` still warns as before. Added a test with
the reproducer.

LLM tools were used for this contribution. I've reviewed, built, and
tested the change myself before pushing to GitHub.


  Commit: 00a81e0a19da74292a84c0b5fcdae85f0646cc02
      https://github.com/llvm/llvm-project/commit/00a81e0a19da74292a84c0b5fcdae85f0646cc02
  Author: Zhen Wang <zhenw at nvidia.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    A flang/test/Lower/CUDA/scalar-to-array-assign-device-O0.cuf

  Log Message:
  -----------
  [flang][cuda] Inline scalar-to-array assignments in CUDA Fortran device code at -O0 (#221333)

At -O0, `arr = 11` lowers to a `_FortranAAssign` call. In device code
the runtime function's callees join the kernel's call graph, so the
device linker reserves a worst-case stack frame for every kernel
reaching it: `65,720` bytes per thread for a kernel with one such
assignment, versus `0` at -O1.

`InlineHLFIRAssign` already runs at -O0 with `onlyScalarRHS` for OpenMP
target device compilations. This extends that carve-out to CUDA Fortran.
Since a CUDA Fortran module holds both host and device code, the
decision is per-operation via `cuf::isCUDADeviceContext`, and host code
keeps the runtime call.

Only scalar-to-array broadcast is covered.


  Commit: 443d419e798b37a3733b12db7859c5155407c6d8
      https://github.com/llvm/llvm-project/commit/443d419e798b37a3733b12db7859c5155407c6d8
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.cpp

  Log Message:
  -----------
  [lldb] Fix switch case for i386 in COFF GetModuleSpecifications (#222030)

08c94c0ac3b503dd4971da8935001aba01918688 / #188276 accidentally removed
the "case:" for i386.


  Commit: b674d2c82401631326305ce0d8e624b448daf8a5
      https://github.com/llvm/llvm-project/commit/b674d2c82401631326305ce0d8e624b448daf8a5
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/ToolChains/ZOS.cpp
    A clang/test/Driver/nodefaultrtlibs.c

  Log Message:
  -----------
  [Driver][Clang] Add -nodefaultrtlibs (#219496)

On z/OS testing compiler-rt does not work with the -nodefaultlibs since
that option remove both the standard libraries like libc and the
compiler-rt library. On other platforms adding an argument like `-lc`
back to the command line in the test scripts works because the path for
libc (eg. `-L<path>`) hadn't been removed. On z/OS, the standard
libraries are located in data sets and you need to specify them by
complete name (eg. `<HLQ>.SCEELIB(CELQS003)`).

This is adding the option `-nodefaultrtlibs` so the compiler-rt tests
can remove just the compiler-rt libs from the link step.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
    M llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp

  Log Message:
  -----------
  [CodeGen] Add const MBB overload to analyzeBranch (#221847)


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

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp

  Log Message:
  -----------
  [SandboxVec][Scheduler][NFC] Rename ScheduleTopItOpt to ScheduleFrontier (#220409)

We now have an actual class `SchedulingPoint` for pointing to the top of
schedule, so it is no longer an iteraterator as `ScheduleTopItOpt` would
imply. We also support both bottom-up and top-down directions so "Top"
is no longer a good name.

This patch renames the iterator to ScheduleFrontier.


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

  Changed paths:
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/test/Dialect/Linalg/elementwise/roundtrip.mlir
    M mlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp

  Log Message:
  -----------
  [MLIR][linalg] Handle invalid elementwise kind safely (#221835)

The generic elementwise builder accepts an attribute list. Avoid passing
an uninitialized kind to region construction if a caller omits the
required kind, and reject attributes of the wrong type rather than
relying on an assertion.

Found by Coverity.

Assisted-by: Codex


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

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

  Log Message:
  -----------
  [MLIR][linalg] Share external interface implementations to reduce build time (NFC) (#221814)

The Linalg tiling and partial-reduction external models instantiate
their operation-independent implementations for every registered
structured op. Keep thin operation-specific external models, but inherit
the implementations from non-template bases so the compiler emits and
optimizes them only once.

Assisted-by: Codex


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

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

  Log Message:
  -----------
  Add a regression test; NFC (#221981)

There was a request for a regression test in #50193; this was fixed
initially by 9eef4d1c5fa6b1bcbbe675c14ca8301d5d346f7b


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/test/CodeGen/AMDGPU/dpp_combine.mir
    M llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir
    A llvm/test/CodeGen/AMDGPU/dpp_combine_rev_opcode.ll
    A llvm/test/CodeGen/AMDGPU/dpp_combine_rev_opcode.mir

  Log Message:
  -----------
  [AMDGPU] Restrict DPP combine from performing bad transformations when handling certain REV insts that use Src1 as the DPP operand (#216835)

This issue was originally discovered due to a benchmark failure in the
downstream. The REV subtractions have always worked this way, and the
REV shift operands worked this way before GFX11


  Commit: 67b8998d404ad633c9ec377598c8c1077b312365
      https://github.com/llvm/llvm-project/commit/67b8998d404ad633c9ec377598c8c1077b312365
  Author: carlobertolli <carlo.bertolli at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/test/CodeGen/AMDGPU/promote-alloca-proper-value-replacement.ll

  Log Message:
  -----------
  [AMDGPU] Avoid dangling SSAUpdater reference in PromoteAlloca full-vector store (#215686)

promoteAllocaToVector walks alloca users in use-list order across
blocks. A full-vector store forwards its value operand to the
SSAUpdater, and that operand can be a load from the same alloca in a
dominating block. If the store is visited first, the SSAUpdater holds a
raw pointer to the load; the load is later RAUW'd and deleted, leaving a
dangling reference that causes a crash.

Fix by sorting blocks in reverse post-order before visiting them, so a
forwarded load is always replaced before any store hands it to the
SSAUpdater.

Assisted-By: Cursor (Claude)

---------

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


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

  Changed paths:
    M mlir/include/mlir/ExecutionEngine/SparseTensor/File.h
    M mlir/lib/ExecutionEngine/SparseTensor/File.cpp
    A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_file_rank.mlir
    A mlir/test/Integration/data/rank_511.tns

  Log Message:
  -----------
  [mlir][sparse] Reject tensor files with unsupported ranks (#220709)


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

  Changed paths:
    M clang/lib/Headers/riscv_packed_simd.h
    M clang/test/CodeGen/RISCV/rvp-intrinsics.c
    A clang/test/Sema/riscv-pget-index-out-of-range.c
    M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c

  Log Message:
  -----------
  [RISCV][P-ext] Support Packed Element Extract (#221565)

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


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

  Changed paths:
    M mlir/include/mlir/ExecutionEngine/SparseTensor/File.h
    A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_file_coordinates.mlir
    A mlir/test/Integration/data/coordinate_above_dimension.tns
    A mlir/test/Integration/data/coordinate_narrow.tns
    A mlir/test/Integration/data/coordinate_negative.tns
    A mlir/test/Integration/data/coordinate_overflow.tns
    A mlir/test/Integration/data/coordinate_zero.tns

  Log Message:
  -----------
  [mlir][sparse] Reject invalid tensor coordinates (#220708)


  Commit: 6e1cb51ab9dc2de34f8161b27cf24345b4c4ccbb
      https://github.com/llvm/llvm-project/commit/6e1cb51ab9dc2de34f8161b27cf24345b4c4ccbb
  Author: Szymon Piotr Milczek <szymon.milczek at intel.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp

  Log Message:
  -----------
  [GlobalISel] Drop redundant scalable-dest check in G_EXTRACT_SUBVECTOR lowering (NFC) (#221934)

The scalarizing lowering of G_EXTRACT_SUBVECTOR bails out for both a
scalable source and a scalable destination.
According to llvm/docs/GlobalISel/GenericOpcode.md, G_EXTRACT_SUBVECTOR
only supports extracting a fixed vector from a scalable vector, never a
scalable vector from a fixed one.
This means that a fixed source implies a fixed destination, making the
DstTy.isScalable() check redundant.

Remove it. NFC.


  Commit: 5d5365323003edd1f1c0fbc1e631ae5a2c49d176
      https://github.com/llvm/llvm-project/commit/5d5365323003edd1f1c0fbc1e631ae5a2c49d176
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M clang/include/clang/Options/FlangOptions.td
    M flang/docs/ReleaseNotes.md
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/test/Driver/driver-help.f90
    M flang/test/Lower/math-lowering/exponentiation.f90
    M flang/test/Lower/split-sum-expression-tree-lowering.f90
    M flang/tools/bbc/bbc.cpp

  Log Message:
  -----------
  [flang] Enable FP sum reassociation by default (#218746)

Enable Fortran-standard-compliant reassociation within individual REAL
and COMPLEX sum expressions by default at all optimisation levels.
Preserve the explicit positive and negative Flang override flags.

Also enable by default on bbc to match flang.

RFC:
https://discourse.llvm.org/t/rfc-flang-reasssociate-within-real-and-complex-expressions-by-default/91626

Assisted-by: Codex


  Commit: 841d4ad6b315ab92c2a37e6484a3b7963b50060c
      https://github.com/llvm/llvm-project/commit/841d4ad6b315ab92c2a37e6484a3b7963b50060c
  Author: Larry Meadows <Lawrence.Meadows at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/test/OpenMP/amdgcn_target_device_vla.cpp
    M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
    M clang/test/OpenMP/bug60602.cpp
    M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/nvptx_SPMD_codegen.cpp
    M clang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
    M clang/test/OpenMP/nvptx_target_teams_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/parallel_if_codegen_PR51349.cpp
    M clang/test/OpenMP/reduction_complex.c
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/scope_codegen.cpp
    M clang/test/OpenMP/target_codegen_global_capture.cpp
    M clang/test/OpenMP/target_default_codegen.cpp
    M clang/test/OpenMP/target_dyn_groupprivate_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_03.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_tl_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_tl_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_tl_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_parallel_if_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
    M clang/test/OpenMP/target_parallel_num_threads_strict_codegen.cpp
    M clang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
    M clang/test/OpenMP/target_parallel_tl_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_openmp52_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
    M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/target_teams_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_openmp52_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.all.expected
    M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.all.expected
    A offload/test/offloading/nested_parallel_reduction.c

  Log Message:
  -----------
  [Clang][OpenMP] Don't mark outlined parallel region functions norecurse (#218862)

Clang marks every outlined OpenMP region function `norecurse`, in both
`emitOutlinedFunctionPrologue` and
`emitOutlinedFunctionPrologueAggregate`, and
does the same for the GPU parallel wrapper. For a `parallel` region that
is not
true: the body is reached through the function pointer the runtime is
handed, and
if the body opens another parallel region the runtime's parallel entry
is
re-entered while the first call is still live, so the entry and the body
sit in a
call graph cycle. `rpo-function-attrs` propagates the annotation off the
body and
onto the device runtime's parallel entry once internalization makes it
internal,
and a nested parallel region can then be folded away.

This drops the annotation where the runtime can re-enter the function —
the
parallel bodies and the GPU data sharing wrapper — and keeps it where it
holds by
setting it on the teams and target bodies, which are entered once and
never
handed back to the runtime as a callback. Task bodies never carried it,
as they
are emitted through `GenerateCapturedStmtFunction`.

Where the attribute is true `function-attrs` still infers it, so a
program whose
parallel regions do not nest loses nothing. Splitting one attribute
group into
two renumbers the groups in the combined-construct codegen tests, and
that
accounts for all of the test churn.

The new offload test covers the nested case that motivated this.


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

  Changed paths:
    M flang/test/Fir/OpenACC/acc-declare-gpu-module-insertion.fir
    M mlir/lib/Dialect/OpenACC/Transforms/ACCDeclareGPUModuleInsertion.cpp

  Log Message:
  -----------
  [mlir][openacc] Handle compiler generated global for unified mode (#221136)

Treat compiler generated global the same way as other global in unified
mode. This avoid having a host and device copy for runtime information
like type descriptors.


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
    M flang/test/Fir/CUDA/cuda-device-global.f90

  Log Message:
  -----------
  [flang][cuda] Add compiler generated global to unified register global (#221135)

Treat compiler generated global the same way as other in unified mode.
Host has the initializer body and the device side is just a declaration.


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

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

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

This allows setting the container image in the workflow definition which
should vastly simplify maintenance. The issues that we were running into
previously with jobs randomly aborting (and getting marked as passed)
have been fixed with some cluster-side config changes.


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

  Changed paths:
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp

  Log Message:
  -----------
  [CIR][NFC] Fix build issue after Inlineasm convergent attr (#222041)

Fix build error after introducing InlineAsm convergent attribute in
https://github.com/llvm/llvm-project/pull/221990


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

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/canonicalize.mlir

  Log Message:
  -----------
  [mlir][vector] Extend `ShapeCastCreateMaskFolderTrailingOneDim` (#219494)

Extends `ShapeCastCreateMaskFolderTrailingOneDim` so that it also works
for leading unit dims. For example,
```mlir
  %1 = vector.create_mask %c1, %c1, %dim, %c1 : vector<1x1x[4]x1xi1>
  %2 = vector.shape_cast %1 : vector<1x1x[4]x1xi1> to vector<[4]x1xi1>
```

is folded as:
```mlir
  %0 = vector.create_mask %c1, %dim : vector<[4]xi1>
```

To better reflect the extended functionality, the updated pattern is
renamed as:
* `ShapeCastCreateMaskFolderBoundaryUnitDim`.

It takes a template parameter to specify whether to consider
the leading or the trailing unit dims.


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

  Changed paths:
    M openmp/libompd/gdb-plugin/CMakeLists.txt
    M openmp/libompd/gdb-plugin/ompd/ompd.py
    M openmp/libompd/gdb-plugin/ompdAPITests.c
    A openmp/libompd/gdb-plugin/ompdDLService.c
    A openmp/libompd/gdb-plugin/ompdDLService.h
    M openmp/libompd/gdb-plugin/ompdModule.c
    M openmp/libompd/test/lit.cfg
    A openmp/libompd/test/ompd_dl_service.c

  Log Message:
  -----------
  [OpenMP][OMPD] Add symbol lookup helper for GDB plugin (#221956)

On LLVM today, `libompd.so` exists with `dlopen`, finds each API with
`dlsym` and checks error with `dlerror`.

**Missing piece**: There is no single place that:

load this library
look up this name
give me a real error string

**Issues**:

A later change would have to edit 30+ calls sites,
`dlerror()` is easy to misuse, 
failures often drop the OS error string.

**Fix**: Add these helpers:
 
`ompd_load_library(path)` – load `libompd.so`
`ompd_get_symbol(name)` – look up one function
`ompd_get_dl_error()` – last error text or NULL
 
The plugin still uses `dlopen/dlsym` inside that helper. No LLVM
Support. No `setup.py`.


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

  Changed paths:
    M llvm/test/CodeGen/AArch64/arm64-xaluo.ll
    M llvm/test/CodeGen/AArch64/i128-math.ll
    M llvm/test/CodeGen/AArch64/i256-math.ll
    M llvm/test/CodeGen/AArch64/mul-i128-overflow.ll
    A llvm/test/CodeGen/AArch64/overflow-vec.ll
    M llvm/test/CodeGen/AArch64/overflow.ll
    M llvm/test/CodeGen/AArch64/pr55644.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Update and extend the test coverage for overflow intrinsics. NFC (#222059)


  Commit: df595667da70f2c90fe6bf2942d7d3939a41322e
      https://github.com/llvm/llvm-project/commit/df595667da70f2c90fe6bf2942d7d3939a41322e
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-allow-trailing-underscore.cpp

  Log Message:
  -----------
  [clang-tidy] Add TrailingUnderscore option for naming-check (#221452)

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


  Commit: a22313e92ef003a70c1c54dac82ccf1f5ade2e2f
      https://github.com/llvm/llvm-project/commit/a22313e92ef003a70c1c54dac82ccf1f5ade2e2f
  Author: Valery Pykhtin <valery.pykhtin at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx1250_asm_vopd_errs.s
    M llvm/test/MC/AMDGPU/misaligned-vgpr-tuples-err.s

  Log Message:
  -----------
  [AMDGPU] Add AsmParser tests for misaligned VGPR tuples in custom-predicate operands (#221986)

MFMA VGPR sources, DP-ALU DPP, v_pk_mov_b32 and VOPD3 f64 take VGPR tuple
operands validated by custom AsmParser predicates. Odd-aligned tuples are
currently only caught late by validateVGPRAlign, so the error points at the
whole instruction (column 1). A follow-up moves the diagnostic to the
offending operand.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/CommandFlags.h
    M llvm/include/llvm/Target/Target.td
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/CodeGen/TargetOptionsImpl.cpp
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/test/CodeGen/ARM/build-attributes.ll
    A llvm/test/CodeGen/ARM/eabi-attribute-fp-rounding-strictfp.ll
    M llvm/test/CodeGen/ARM/fnmul.ll

  Log Message:
  -----------
  CodeGen: Remove TargetOptions::HonorSignDependentRoundingFPMathOption (#222027)

This option was only settable through the hidden -enable-sign-dependent-
rounding-fp-math flag and was never set by the in-tree frontends. Its
documentation describes honoring a dynamically-changeable rounding mode,
which is what strictfp is for; this relic predates any design for FP
mode controls.

Replace the one ARM consumer with strictfp checks, and remove the
predicate from the patterns which checked it. There were also no tests 
for the pattern, so add those.

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


  Commit: 1ca6698be7708121f987d0acf896c7dc4cf63a51
      https://github.com/llvm/llvm-project/commit/1ca6698be7708121f987d0acf896c7dc4cf63a51
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M lldb/include/lldb/API/SBFile.h
    M lldb/source/API/SBFile.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/tools/lldb-dap/DAP.cpp

  Log Message:
  -----------
  [lldb][Windows] Translate file descriptors between CRT instances (#217126)

The official LLVM and lldb builds use `LLVM_ENABLE_RPMALLOC`. This
changes the default CRT allocator to rpmalloc for performance reasons.
In doing so, it also changes the CRT linkage from dynamic (`/MD`) to
static (`/MT`).
Since the CRT is the one managing file descriptors on Windows, its
universe is now scoped to a module. For lldb, this means we have three
fd-spaces: the driver (lldb/lldb-dap), liblldb, and Python.
We usually pass files around as file descriptors. This breaks when we do
it between modules.

Fortunately, the C runtime provides us with helpers to translate between
the process scoped HANDLEs and file descriptors. This way, we can
allocate an fd for a handle passed across modules. For Python, there's
the [`msvcrt`](https://docs.python.org/3/library/msvcrt.html) library we
can use to translate.

Fixes #216679.


  Commit: f6c89fda0ae3a08b83a19f7b67aaad3aff027b0a
      https://github.com/llvm/llvm-project/commit/f6c89fda0ae3a08b83a19f7b67aaad3aff027b0a
  Author: Eli Friedman <efriedma at qti.qualcomm.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/Instruction.h
    M llvm/include/llvm/IR/Value.h
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp

  Log Message:
  -----------
  Add Instruction::user_iterator. (#220391)

Users of an Instruction have a special property: they're guaranteed to
be Instructions themselves. Add a specialized iterator to take advantage
of this property.

See the change to IVDescriptors.cpp for an example of how this
simplifies code.


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/hor-fp-reduction-instcount.ll

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



Reviewers: 

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


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

  Changed paths:
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td

  Log Message:
  -----------
  [NFCI][CIR] Add in 2 missing returns- (#222061)

I discovered these two were missing thanks to a warning diagnostic on a
downstream. It isn't clear why this doesn't cause problems anywhere (we
must just not really use these?), but fix it anyway.


  Commit: b290e9efa6b991bb61887de29924a3c979de0376
      https://github.com/llvm/llvm-project/commit/b290e9efa6b991bb61887de29924a3c979de0376
  Author: Larry Meadows <Lawrence.Meadows at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    A llvm/test/Transforms/OpenMP/callback_parallel_regions.ll
    A offload/test/offloading/fortran/target-teams-distribute-nested-parallel-do.f90

  Log Message:
  -----------
  [OpenMPOpt] Look inside the callbacks the loop runtime functions are handed (#221449)

The `__kmpc_{distribute_,for_,distribute_for_}static_loop_*` functions
take the
loop body as a callback, so a parallel region written inside that body
is
reachable from the kernel only through the runtime call. `AAKernelInfo`
could not
see it: it recorded an unknown reaching region, and every kernel using
those
functions got a worker state machine whose only option was an indirect
call to
whatever it was handed.

Describe each function's callback argument in `OMPKinds.def`, attach
`!callback`
metadata, and fold the callback's `AAKernelInfo` state into the
caller's, so the
state machine can dispatch directly to the regions the body reaches. The
two
"more than one callee means give up" checks are relaxed for functions
carrying
`!callback`, since that edge is analyzable by construction; the
conservative
unknown-region record is kept for the case that motivated it, a callback
we only
see a declaration of.

These calls still block SPMD-ization, and the `TODO` saying they need
not is
replaced with the obstacles that actually remain. A plain `distribute`
spreads
iterations over teams, so the runtime runs it with TId 0 and a team size
of one;
SPMD-izing has every thread run its block's whole share. The
thread-indexed
families are stopped by the transform rather than the analysis: guarding
puts
single-threaded code behind a block-wide barrier, and a barrier inside a
body
only some threads run is divergent.

Ported from AMD's ROCm fork, `8176194f36b9`, which also used the
analysis to
SPMD-ize these kernels; that part is left out because it is disabled by
default
downstream after regressing applications.

Tested on gfx90a: `llvm/test/Transforms/{OpenMP,Attributor}` 260 passed,
1
unsupported. `offload/test/amdgpu-amd-amdhsa` 516 passed, including the
new
Fortran reproducer. No kernel in the AOMP smoke and smoke-fort suites
changes
execution mode.


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUDA/CUFLaunchAttachAttr.cpp

  Log Message:
  -----------
  [flang][cuda][NFC] Switch to a simple walk for CUFLaunchAttachAttr pass (#222073)

CUFLaunchAttachAttr only sets cuf.proc_attr on outlined CUF kernel
launches (names containing _cufk_). It did that with
applyPartialConversion on the whole module, so the conversion driver
walked host and GPU IR to touch a handful of ops.

Walk gpu.launch_func instead and apply the same filter. I


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

  Changed paths:
    M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
    A llvm/test/CodeGen/AMDGPU/early-lis-two-address-regsequence-undef.mir

  Log Message:
  -----------
  TwoAddressInstruction: Don't repair the unchanged def of a degenerate REG_SEQUENCE (#222053)

When every source operand of a REG_SEQUENCE is undef,
eliminateRegSequence rewrites the instruction in place to IMPLICIT_DEF. 
The dead def of DstReg is left untouched, so its live range is already correct. 
Passing DstReg to repairIntervalsInRange then makes it re-add an overlapping 
segment with a fresh value for the unchanged def, asserting in 
LiveInterval::addSegment. Drop DstReg from the repaired set in this case. 
Exposed by -early-live-intervals

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: 37cc0cae36a5d2231f331b7180c0a141c1b91cac
      https://github.com/llvm/llvm-project/commit/37cc0cae36a5d2231f331b7180c0a141c1b91cac
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/IR/Constants.cpp
    M llvm/unittests/IR/ConstantsTest.cpp

  Log Message:
  -----------
  Reapply "[IR] `replaceUsesWith` when aliasing a GV and the use is `dso_local_equivalent`" (#220450) (#222036)

This reverts commit 751ed7b16433d2279286d0765f51cd36edc6d771.

The patch is quite indepdendent from PR #203171, which uncovered the
issue. We decouple them. The fix is tested in the unittest introduced
here. When we reland #203171, we'll add the cfi_dso_local_equivalent.ll
test.


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

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

  Log Message:
  -----------
  [ProfCheck] Exclude new OpenMP test (#222090)

Introduced in #221449. We haven't gotten around to fixing OpenMP yet, so
exclude it for now.


  Commit: 5caed2fb0161f35e15cfdaa392dfb046cd037750
      https://github.com/llvm/llvm-project/commit/5caed2fb0161f35e15cfdaa392dfb046cd037750
  Author: Michael Jones <michaelrj at google.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/unistd.yaml
    M libc/src/unistd/CMakeLists.txt
    A libc/src/unistd/execl.h
    M libc/src/unistd/linux/CMakeLists.txt
    A libc/src/unistd/linux/execl.cpp
    M libc/src/unistd/linux/execle.cpp
    M libc/test/integration/src/unistd/CMakeLists.txt
    A libc/test/integration/src/unistd/execl_test.cpp
    A libc/test/integration/src/unistd/execl_test_normal_exit.cpp

  Log Message:
  -----------
  [libc] Implement execl (#220326)

Basically the same as execle, but passes the global env pointer. POSIX
standard here:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/exec.html

Assisted-by: Automated tooling, human reviewed


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

  Changed paths:
    M .github/workflows/release-binaries.yml

  Log Message:
  -----------
  workflows/release-binaries: Fix zstd compression (#219587)

23.1.0 was the first e2e release with zstd archives. I noticed that once
it shipped they didn't have a meaningful size improvement over the
pre-existing archives. Turns out this is because by default zstd
compresses over a 128MB window which wasn't large enough to get
meaningful savings. We now use 1GB for this which uses more memory but
should take the archive from the 1.8GB that the xz release is, to ~1gb.
I played around with a few options and this was the best time vs
compress vs memory usage ratio.

Assisted-By: codex


  Commit: 49d09aaac230988c61fa700c7ace90e4e2376c51
      https://github.com/llvm/llvm-project/commit/49d09aaac230988c61fa700c7ace90e4e2376c51
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp

  Log Message:
  -----------
  [SelectionDAG][NFC] Move EmitStackConvert from LegalizeDAG to SelectionDAG (#221357)

I've ran into multiple instances, include #221358 , where I need to
effectively "bitcast" an integer value to a floating point value with
different width (and vice versa). To my best understandings storing into
stack and loading back is the only feasible way. LegalizeDAG already has
this routine, so I thought it might be a good idea to extract it out and
put inside SelectionDAG.

NFC.


  Commit: 1a4e4cbd2317320e5432664bbd709feb03bb1067
      https://github.com/llvm/llvm-project/commit/1a4e4cbd2317320e5432664bbd709feb03bb1067
  Author: jinge90 <ge.jin at intel.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Add llvm-link deps when building compiler-rt builtins for spirv64 targets (#221906)

https://github.com/llvm/llvm-project/pull/214149 uses llvm-link to
create libclang_rt.builtins.bc from static archive library. It is better
to follow libclc approach to add llvm-link dependency for
builtin-spirv64* in llvm runtime CMakeLists.txt.

Signed-off-by: jinge90 <ge.jin at intel.com>


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/header-induction-start-bounds.ll
    M llvm/test/Transforms/ConstraintElimination/induction-condition-in-loop-exit-postinc.ll
    M llvm/test/Transforms/PhaseOrdering/constraint-eliminiation-interactions.ll

  Log Message:
  -----------
  [ConstraintElim] Support IV increments via [u|s]add.with.overflow. (#221771)

Treat [u|s]add.with.overflow like plain add when looking for increment
of an IV. We do not retrieve any wrap flags from the IR in that case, and
leave it to SCEV to determine them as needed.

This did not show any improvements on the workloads in
llvm-opt-benchmark-nightly, but helps to remove runtime checks for Swift
code end-to-end (see newly added PhaseOrdering test).

Alive2 Proof: https://alive2.llvm.org/ce/z/o2vMyw

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


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

  Changed paths:
    M llvm/test/CodeGen/AArch64/arm64-big-endian-bitconverts.ll
    M llvm/test/CodeGen/AArch64/arm64-popcnt.ll

  Log Message:
  -----------
  [AArch64] Regenerate and update arm64-big-endian-bitconverts.ll. NFC (#222107)


  Commit: 37dd96fedb5973485b37d03ec7a1fdbf6d1e6dbc
      https://github.com/llvm/llvm-project/commit/37dd96fedb5973485b37d03ec7a1fdbf6d1e6dbc
  Author: Larry Meadows <Lawrence.Meadows at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

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

  Log Message:
  -----------
  [Attributor] Compare an indirect call's callee in the program address space (#222097)

Specializing an indirect call emits, for each candidate callee, an
`icmp` between
the call's callee operand and the candidate. The operand was first
normalized to
address space 0, but the candidates are functions, and functions live in
the
target's program address space. Where that is not 0 the two sides of the
comparison had different types and the `icmp` asserted:

```
Instructions.h:1266: void llvm::ICmpInst::AssertOK(): Assertion
`getOperand(0)->getType() == getOperand(1)->getType() &&
"Both operands to ICmp instruction are not of the same type!"' failed.
```

Normalize to the program address space instead. It is 0 unless a target
says
otherwise, so nothing changes for those; for `spirv64`, whose data
layout sets
`P9`, it is the difference between comparing a `ptr` with a `ptr
addrspace(9)`
and comparing two `ptr addrspace(9)`.

This was found on the `intel-sycl-gpu` builder, which crashed compiling
`offload/test/offloading/nested_parallel_reduction.c` for
`spirv64-intel` once
841d4ad6b315 let that call site reach the specialization path: before,
it took
the single-callee promotion path, which emits no comparison. The bug it
reached
is older than that commit and is not specific to OpenMP, so the test
added here
is a plain Attributor one that needs only a data layout with a non-zero
program
address space.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/scalar-steps-cost.ll

  Log Message:
  -----------
  [VPlan] Don't cost scalar IV steps if the vector body runs at most once. (#221974)

If the vector loop executes exactly once, each scalar IV step folds to a
constant, and there's nothing to cost.

Similarly to BranchOnCount and VPRegionBlock::cost, treat
VPScalarIVSteps as free in that case.

This fixes a slight inaccuracy introduced when moving to computing
VPScalarIVSteps costs in VPlan directly.

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


  Commit: 4afa58e64810be046a9427d3cf7827a0dc2c235c
      https://github.com/llvm/llvm-project/commit/4afa58e64810be046a9427d3cf7827a0dc2c235c
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M lldb/source/Utility/ArchSpec.cpp
    M lldb/unittests/Utility/ArchSpecTest.cpp

  Log Message:
  -----------
  [lldb] Fix infinite recursion in ArchSpec's core matching (#221899)

`target create` never returns for a little-endian 32-bit MIPS ELF file,
on any host whose platform advertises `armv7m`/`armv7em` compatibility.
On Darwin that is every platform, since
`PlatformDarwin::GetCompatibleArchs()`
lists both for every arm64/arm64e host and falls through to that same
list
for any other host core.  It is found by `lldb-target-fuzzer`.

Reproduce with a 52-byte ELF32 header (`ELFCLASS32`, `ELFDATA2LSB`,
`e_machine = EM_MIPS`, `e_flags = EF_MIPS_ARCH_32`, everything else
zero),
saved as `mips32el.elf`:

```
(lldb) target create mips32el.elf
```

This never returns.  Attaching a debugger to the hung process shows the
same three frames looping forever, with the call stack never growing:

```
frame #1: cores_match(core1=eCore_arm_armv7m, core2=eCore_mips32el, try_inverse=false, ...) at ArchSpec.cpp:1575 [inlined]
frame #2: ArchSpec::IsMatch(rhs=..., match=CompatibleMatch) at ArchSpec.cpp:1449
frame #3: Platform::IsCompatibleArchitecture(...) at Platform.cpp:1193
```

`cores_match()` checks `core1` against `core2`. When nothing matches and
the caller did not ask for an exact match, it sets `try_inverse` and
retries once with the two cores swapped.  It retries because the rule
tables are not symmetric: a core lists only what it accepts, not
everything
that accepts it.

Every case that reaches this fallback must leave `try_inverse` false on
the
way out, so the swap happens at most once.  Three cases,
`eCore_arm_armv7em`, `eCore_arm_armv7m`, and `eCore_mips32el`, instead
set
it back to true unconditionally. When both sides of a comparison are one
of these three, the swapped call re-arms `try_inverse`, and the tail
call
back into `cores_match()` recurses forever.

This is a tail call, so an optimizing compiler turns the recursion into
a
loop instead of a growing stack. That is why the process spins instead
of
crashing with a stack overflow.

The three cases cannot simply leave `try_inverse` false like their
siblings. `ArchSpec("mipsel").IsCompatibleMatch(ArchSpec("mips64el"))`
is
true today only because of this same swap: `eCore_mips32el`'s own rule
says
nothing about 64-bit MIPS, but `eCore_mips64el`'s rule accepts any
32-bit
MIPS core with the same endianness, and only the inverted comparison
reaches that rule.

Instead, split the switch into a one-directional helper that never
recurses, and try both directions from a plain, non-recursive wrapper:

```
cores_match(A, B) := cores_match_one_direction(A, B) ||
                      cores_match_one_direction(B, A)
```

This keeps every existing one-directional rule exactly as it was,
including
the mips32el/mips64el rule above, and makes a second retry impossible no
matter what any case does.

Adds two regression tests to ArchSpecTest.cpp.  One asserts that the
previously-hanging pairs now return false right away. The other locks in
the two relationships that depend on checking both directions, so a
future
change cannot bring the recursion back by "fixing" the three cases the
naive way.

Assisted-by: claude


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

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

  Log Message:
  -----------
  [VPlan] Remove VPWidenInductionRecipe::getStartValue (NFC). (#222015)

It now shadows VPHeaderPHIRecipe::getStartValue, which returns the same
VPValue and, as the base class accessor, also has a non-const overload.
Narrowing the return type to VPIRValue * was its only purpose.


  Commit: ede01decbcb34bd2f04b9102ab96664cc6d5aa4b
      https://github.com/llvm/llvm-project/commit/ede01decbcb34bd2f04b9102ab96664cc6d5aa4b
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M libc/lib/CMakeLists.txt

  Log Message:
  -----------
  [libc] Generate a stub for libdl.a (#222098)

Avoid link errors when build rules explicitly add `-ldl` to the linker
invocation -
create an empty `libdl.a` static archive on Linux. It's necessary, for
example,
to build Clang (https://github.com/llvm/llvm-project/issues/97191) 

Follow the approach from f88e9de37a52abf9b269a7232bf4d4028bc4ace8
which added a similar stub for `libpthread.a`. Like pthread, dynamic
loader
functions (although they are mostly unimplemented in LLVM-libc as of
today)
are residing in the main `libc.a` archive instead.


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

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
    A llvm/test/CodeGen/PowerPC/vsx-swap-removal-undef.mir

  Log Message:
  -----------
  PowerPC: Fix VSX swap removal crash on an undef register (#216714)

formWebs walks each vector-register use and unions its equivalence class
with that of its defining instruction, which it requires to be present
in the swap map. A use of an undef register has no defining instruction, so
the web formation crashed. Treat it like a physical-register mention so the
web is conservatively rejected.

Found by AI while working on something else.

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


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

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/test/CIR/CodeGen/vector-strict-fp.cpp

  Log Message:
  -----------
  [CIR] Support fp strict for vector logical and, or ops (#221808)

Support fp strict for vector logical `cir.or` and `cir.and` ops


  Commit: de2a0dd540f714f5e5ae2d3017fe22e2aa6de002
      https://github.com/llvm/llvm-project/commit/de2a0dd540f714f5e5ae2d3017fe22e2aa6de002
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
    A llvm/utils/gn/secondary/clang/lib/CodeGenUtils/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn

  Log Message:
  -----------
  [gn build] Port commits (#222125)

9853cb54d9d2
b182b415d9b2
b90c062f3f03
e91092685eab
4c986c23921d


  Commit: 43e82f2b4570c9f5be05ae7113260775bd8773a4
      https://github.com/llvm/llvm-project/commit/43e82f2b4570c9f5be05ae7113260775bd8773a4
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M lldb/source/Commands/CommandObjectType.cpp

  Log Message:
  -----------
  [lldb] Remove ConstString from CommandObjectType interfaces (#218811)

CommandObjectType was creating ConstStrings type names, function names,
etc. before they needed to be. I'd like to remove ConstString from the
DataFormatter code entirely, so pushing the creation down as far as
possible first is a good first step.

The only remaining use (outside of function arguments) is
ScriptAddOptions. I need to understand it more before I can really
remove it.


  Commit: 733c1ec3a313db0e1b5162ff3b2b4438de6cc45c
      https://github.com/llvm/llvm-project/commit/733c1ec3a313db0e1b5162ff3b2b4438de6cc45c
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    A libc/src/__support/pwd/CMakeLists.txt
    A libc/src/__support/pwd/field_tokenizer.h
    A libc/src/__support/pwd/flat_file_db.h
    M libc/src/pwd/CMakeLists.txt
    R libc/src/pwd/field_tokenizer.h
    R libc/src/pwd/flat_file_db.h
    M libc/src/pwd/pwd_utils.cpp
    M libc/src/pwd/pwd_utils.h
    M libc/test/src/__support/CMakeLists.txt
    A libc/test/src/__support/pwd/CMakeLists.txt
    A libc/test/src/__support/pwd/field_tokenizer_test.cpp
    A libc/test/src/__support/pwd/flat_file_db_test.cpp
    M libc/test/src/pwd/CMakeLists.txt
    R libc/test/src/pwd/field_tokenizer_test.cpp
    R libc/test/src/pwd/flat_file_db_test.cpp

  Log Message:
  -----------
  [libc][NFC] Move flat-file database to src/__support/pwd (#221778)

Move FieldTokenizer and FlatFileDatabase from libc/src/pwd to
libc/src/__support/pwd so they can be reused across subsystems (such as
grp) without cross-directory dependencies.

* Move headers to libc/src/__support/pwd/
* Move unit tests to libc/test/src/__support/pwd/
* Update include paths and CMake dependencies in libc/src/pwd/

Assisted-by: Automated tooling, human reviewed.


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

  Changed paths:
    M flang/lib/Semantics/check-data.cpp
    A flang/test/Semantics/data27.f90

  Log Message:
  -----------
  [flang] Fix crash with legacy DATA initializer for an invalid declaration (#221170)

For legacy DATA /initialization/, declarations weren't checked for
errors before construction, resulting in an assert crash. This PR fixes
this by adding a check.

Fixes #220846


  Commit: d298cac180f6c68a89458aaf450c9d84af8f56cc
      https://github.com/llvm/llvm-project/commit/d298cac180f6c68a89458aaf450c9d84af8f56cc
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Support/DataExtractor.h
    M llvm/lib/Support/DataExtractor.cpp
    M llvm/unittests/Support/DataExtractorTest.cpp

  Log Message:
  -----------
  [Support] Add DataExtractor::getSLEB128APSInt (#218801)

Add a APSInt variant of `getSLEB128`, supporting values greater than
int64_t.

The new `getSLEB128APSInt` can support values greater than `INT64_MAX`.
This functionality will be used by LLDB formatter bytecode.

Assisted-by: claude


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

  Changed paths:
    M clang/docs/CMakeLists.txt
    M clang/include/clang/Basic/DiagnosticDocs.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/test/TableGen/DiagnosticDocs.inc
    A clang/test/TableGen/diag-docs-determinism.td
    M clang/test/TableGen/emit-diag-docs.td
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp

  Log Message:
  -----------
  [clang][docs] Generate diagnostics reference as Markdown (#221361)

Generate Clang's diagnostics reference from MyST Markdown rather than
reStructuredText. Update diagnostic-group documentation to use native MyST
roles and references, and have the TableGen emitter produce MyST list tables
for diagnostic alternatives.

The new list-table emission code is more verbose, but it is conceptually
simpler, since it's just tracking nested indentation as it emits table cells.

Here's a sample of the table markdown output:
```
* - {warning}`warning:` {diagtext}`They say` 
  - :::{list-table}
    :widths: auto

    * - {diagtext}`good`
    * - {diagtext}`bad`
    :::
  -  
  - :::{list-table}
    :widths: auto

    * - {diagtext}`food`
    * - {diagtext}`forests`
    :::
  -  {diagtext}`are` 
  - :::{list-table}
    :widths: auto

    * - {diagtext}`good`
    * - {diagtext}`bad`
    :::
  -  {diagtext}`according to` {placeholder}`D`
```

See clang/test/TableGen/emit-diag-docs.td for examples of how it looks.

Tracking issue: #201242 

Assisted-By: Codex & Claude


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

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
    M clang/test/CodeGenHLSL/builtins/select.hlsl

  Log Message:
  -----------
  [HLSL] Fix float type promotion to double of the select intrinsic (#222056)

fixes #222055

A previous pr replaced per vector 2-4 overloads with an all inclusive
vector template overload. These vector overloads needed to be guarded so
that vec1s go down the scalar overload path.

Assisted by Copilot MA-code-1.1-flash


  Commit: accc84148aae88d54c11403d04929afaccecf4d6
      https://github.com/llvm/llvm-project/commit/accc84148aae88d54c11403d04929afaccecf4d6
  Author: Michael Halkenhäuser <MichaelGerald.Halkenhauser at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUReserveWWMRegs.cpp
    A llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-reserved-wwm-vgpr.ll

  Log Message:
  -----------
  [AMDGPU] Refresh RegisterClassInfo after reserving WWM registers (#221849)

AMDGPUReserveWWMRegs reserves the VGPRs the WWM allocator picked for SGPR
spill lanes and clears the per-lane VGPR mask, but updates neither
MachineRegisterInfo nor the shared RegisterClassInfo. RegAllocBase
re-freezes the reserved set, but owns its RegisterClassInfo by value, so
only its private copy is refreshed, and a later user of the analysis is
offered an allocation order that still lists the reserved register.

AMDGPURewriteAGPRCopyMFMA became such a user in #216510: its spill slot
elimination assigned that register, which asserts in VirtRegMap and, in a
build without assertions, silently clobbers the spilled SGPRs. #216510 was
reverted in #221749; this is a prerequisite for relanding it.

Update MRI and the analysis at the end of the pass, as SIPreAllocateWWMRegs
already does, after clearPerLaneVGPRAllocMask() since the mask is itself an
input to getReservedRegs().

AI-assisted.


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

  Changed paths:
    M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
    M lldb/unittests/TestingSupport/TestUtilities.h

  Log Message:
  -----------
  [lldb] Fix -Wunused-template (#221815)

This warning was enabled by default in clang 23.1.0 (although reverted
for 23.1.1). These fixes still make sense to perform though. Template
definitions in headers should not use static, and others are completely
unused.


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

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

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



Reviewers: 

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


  Commit: 8fdbba5073a6fe2ae16be0117f8f473eea27dc2a
      https://github.com/llvm/llvm-project/commit/8fdbba5073a6fe2ae16be0117f8f473eea27dc2a
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M libc/include/llvm-libc-macros/linux/unistd-macros.h
    M libc/include/unistd.yaml
    M libc/src/unistd/linux/sysconf.cpp
    M libc/test/src/unistd/CMakeLists.txt
    M libc/test/src/unistd/sysconf_test.cpp

  Log Message:
  -----------
  [libc][unistd] Support _SC_GET(GR|PW)_R_SIZE_MAX in sysconf. (#222135)

* Add support for POSIX-specified `_SC_GETGR_R_SIZE_MAX` and
`_SC_GETPW_R_SIZE_MAX`
  constants used as arguments to `sysconf` function;
* Return -1 for these values - they provide "initial size" for
user-supplied buffers passed to `getgr*` and `getpw*`
functions, but there's no real maximum limit imposed by the LLVM-libc
implementation, and user might provide a
size they can, and rely on `ERANGE` return values if the chosen size
ended up being too small for pwd/group entries.
* Add unit test coverage, and update the unit test to use proxy headers
instead of system-provided `<unistd.h>`.
  Also, properly test errno values returned by `sysconf`.

This fixes one of the remaining blockers for building Clang against
LLVM-libc (https://github.com/llvm/llvm-project/issues/97191)


  Commit: 915c3497042d7cbbaa01128c0c044e46caae69da
      https://github.com/llvm/llvm-project/commit/915c3497042d7cbbaa01128c0c044e46caae69da
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M .github/new-prs-labeler.yml

  Log Message:
  -----------
  [Github] Match backend:NVPTX files outside llvm/ (#221968)

The backend:NVPTX labeler rules are anchored to the llvm/ subtree (every
glob starts with llvm/**), so NVPTX/NVVM-related files elsewhere in the
tree never get the label. In particular, ClangIR's lowering under clang/
touches NVPTX code but the PR is not tagged backend:NVPTX.

This drops the llvm/ prefix so the patterns match anywhere in the tree.


  Commit: c0a6b4bee96cc2c81716c5238c453ca68fee8042
      https://github.com/llvm/llvm-project/commit/c0a6b4bee96cc2c81716c5238c453ca68fee8042
  Author: 简 <32090825+LittleJianCH at users.noreply.github.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

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

  Log Message:
  -----------
  [CodeGen] Avoid quadratic operand removal in MachineInstr::insert (#220165)

This optimizes MachineInstr::insert by copying trailing operands
first and then removing them from the end. This avoids repeatedly
shifting the remaining operands, reducing the operation from quadratic
to linear time without changing behavior.


  Commit: 1936b4a95dadcdeddefce26facb208413a9b3b86
      https://github.com/llvm/llvm-project/commit/1936b4a95dadcdeddefce26facb208413a9b3b86
  Author: Valery Pykhtin <valery.pykhtin at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp

  Log Message:
  -----------
  [AMDGPU] Factor the AsmParser match-specificity comparison into a helper, NFC (#221987)

Extract the "keep the most specific match status" comparison in
matchAndEmitInstruction into an atLeastAsSpecific() lambda ranking
Match_MnemonicFail < Match_InvalidOperand < Match_MissingFeature. No
functional change.


  Commit: 15034a76b21551f0e62c7c40f0878e8eeb0deebc
      https://github.com/llvm/llvm-project/commit/15034a76b21551f0e62c7c40f0878e8eeb0deebc
  Author: Raghu Maddhipatla <raghu.maddhipatla at amd.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/test/Lower/OpenMP/omp-declarative-allocate-align.f90
    A flang/test/Lower/OpenMP/omp-declarative-allocate-derived-warning.f90
    A flang/test/Lower/OpenMP/omp-declarative-allocate-save-warning.f90
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-allocate-directive.mlir

  Log Message:
  -----------
  [OpenMP] [MLIR] [Flang] Replace all uses of variables in ALLOCATE directive to use new value which is created. (#212361)

Limitation:
Right now, added a TODO warning about lowering of variable with SAVE
attribute or named COMMON block are not completely supported end to end.
So a warning is emitted.


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

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

  Log Message:
  -----------
  [bazel] Port 35fe7e14ec (#222150)


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h

  Log Message:
  -----------
  [VPlan] Collect predecessors/successors up front (NFC) (#222145)

Collect predecessors and successors up front in reassociateBlocks.
Currently NFC, but makes it more robust in the future, because it also
correctly handles self-edges.


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

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

  Log Message:
  -----------
  [VPlan] Add helper to add incoming values for last predecessor (NFC). (#222149)

Factor logic to helper function, so it can be re-used in follow-up
changes.


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

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/TransformOps/AffineTransformOps.td
    M mlir/include/mlir/Dialect/Bufferization/TransformOps/BufferizationTransformOps.td
    M mlir/include/mlir/Dialect/Func/TransformOps/FuncTransformOps.td
    M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.td
    M mlir/include/mlir/Dialect/NVGPU/TransformOps/NVGPUTransformOps.td
    M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
    M mlir/include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/include/mlir/Dialect/Transform/TuneExtension/TuneExtensionOps.td
    M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
    M mlir/include/mlir/Dialect/XeGPU/TransformOps/XeGPUTransformOps.td
    M mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp
    M mlir/test/CAPI/transform_interpreter.c
    M mlir/test/Conversion/FuncToLLVM/func-memref-return.mlir
    M mlir/test/Conversion/FuncToLLVM/func-to-llvm.mlir
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm-32b.mlir
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
    M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
    M mlir/test/Dialect/Bufferization/Transforms/transform-ops.mlir
    M mlir/test/Dialect/Func/func-transform.mlir
    M mlir/test/Dialect/GPU/transform-gpu-failing.mlir
    M mlir/test/Dialect/GPU/transform-gpu.mlir
    M mlir/test/Dialect/LLVM/lower-to-llvm-transform-symbol-def.mlir
    M mlir/test/Dialect/LLVM/transform-e2e.mlir
    M mlir/test/Dialect/Linalg/continuous-tiling-full.mlir
    M mlir/test/Dialect/Linalg/continuous-tiling-multiway-split.mlir
    M mlir/test/Dialect/Linalg/convert-conv2d-to-img2col.mlir
    M mlir/test/Dialect/Linalg/hoisting.mlir
    M mlir/test/Dialect/Linalg/match-ops-interpreter.mlir
    M mlir/test/Dialect/Linalg/match-ops-invalid.mlir
    M mlir/test/Dialect/Linalg/matmul-shared-memory-padding.mlir
    M mlir/test/Dialect/Linalg/multisize-tiling-full.mlir
    M mlir/test/Dialect/Linalg/pad-to-specific-memory-space.mlir
    M mlir/test/Dialect/Linalg/promote.mlir
    M mlir/test/Dialect/Linalg/promotion_options.mlir
    M mlir/test/Dialect/Linalg/td/decompose-pack.mlir
    M mlir/test/Dialect/Linalg/td/decompose-unpack.mlir
    M mlir/test/Dialect/Linalg/td/propagate-data-layout.mlir
    M mlir/test/Dialect/Linalg/td/vectorize-with-patterns.mlir
    M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
    M mlir/test/Dialect/Linalg/transform-op-bufferize-to-allocation.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
    M mlir/test/Dialect/Linalg/transform-op-hoist-pad-build-packing-loop-nest.mlir
    M mlir/test/Dialect/Linalg/transform-op-hoist-pad.mlir
    M mlir/test/Dialect/Linalg/transform-op-multitile-sizes.mlir
    M mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface-multiple-of.mlir
    M mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface.mlir
    M mlir/test/Dialect/Linalg/transform-op-pad.mlir
    M mlir/test/Dialect/Linalg/transform-op-rewrite-in-destination-passing-style.mlir
    M mlir/test/Dialect/Linalg/transform-op-specialize-matmul.mlir
    M mlir/test/Dialect/Linalg/transform-op-split-reduction-by-scaling.mlir
    M mlir/test/Dialect/Linalg/transform-op-split-reduction.mlir
    M mlir/test/Dialect/Linalg/transform-op-split.mlir
    M mlir/test/Dialect/Linalg/transform-op-vectorize.mlir
    M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
    M mlir/test/Dialect/Linalg/transform-ops.mlir
    M mlir/test/Dialect/Linalg/transform-promotion.mlir
    M mlir/test/Dialect/Linalg/transform-tile-and-fuse-pack-unpack.mlir
    M mlir/test/Dialect/Linalg/transform-winograd-conv2d.mlir
    M mlir/test/Dialect/Linalg/vectorization/contraction-interface.mlir
    M mlir/test/Dialect/Linalg/vectorization/convolution-with-patterns-flatten.mlir
    M mlir/test/Dialect/Linalg/vectorization/convolution-with-patterns.mlir
    M mlir/test/Dialect/Linalg/vectorization/extract.mlir
    M mlir/test/Dialect/Linalg/vectorization/insert-slice-with-patterns.mlir
    M mlir/test/Dialect/Linalg/vectorization/linalg-ops-with-patterns.mlir
    M mlir/test/Dialect/Linalg/vectorization/linalg-ops.mlir
    M mlir/test/Dialect/Linalg/vectorization/pad-with-patterns.mlir
    M mlir/test/Dialect/Linalg/vectorization/unsupported.mlir
    M mlir/test/Dialect/MemRef/make-loop-independent.mlir
    A mlir/test/Dialect/MemRef/transform-ops-assembly-invalid.mlir
    A mlir/test/Dialect/MemRef/transform-ops-assembly.mlir
    M mlir/test/Dialect/MemRef/transform-ops.mlir
    M mlir/test/Dialect/NVGPU/transform-create-async-groups.mlir
    M mlir/test/Dialect/NVGPU/transform-pipeline-shared.mlir
    M mlir/test/Dialect/SCF/transform-op-coalesce.mlir
    M mlir/test/Dialect/SCF/transform-ops-invalid.mlir
    M mlir/test/Dialect/SCF/transform-ops.mlir
    M mlir/test/Dialect/Tensor/fold-empty-op.mlir
    M mlir/test/Dialect/Tensor/transform-op-make-loop-independent.mlir
    M mlir/test/Dialect/Transform/Library/lower-to-llvm-transform-symbol-def.mlir
    M mlir/test/Dialect/Transform/check-use-after-free.mlir
    M mlir/test/Dialect/Transform/expensive-checks.mlir
    M mlir/test/Dialect/Transform/include/Library/lower-to-llvm.mlir
    M mlir/test/Dialect/Transform/interpreter-entry-point-2.mlir
    M mlir/test/Dialect/Transform/normal-forms.mlir
    M mlir/test/Dialect/Transform/ops-invalid.mlir
    M mlir/test/Dialect/Transform/ops.mlir
    M mlir/test/Dialect/Transform/selective-targeting.mlir
    M mlir/test/Dialect/Transform/test-dialect-injection.mlir
    M mlir/test/Dialect/Transform/test-interpreter-printing.mlir
    M mlir/test/Dialect/Transform/test-interpreter.mlir
    M mlir/test/Dialect/Transform/test-loop-transforms.mlir
    M mlir/test/Dialect/Transform/test-pass-application.mlir
    M mlir/test/Dialect/Transform/test-pattern-application.mlir
    M mlir/test/Dialect/Transform/test-tune-extension.mlir
    M mlir/test/Dialect/Vector/transform-op-vector-to-llvm.mlir
    M mlir/test/Dialect/Vector/transform-vector.mlir
    M mlir/test/Dialect/Vector/vector-transfer-drop-unit-dims-patterns.mlir
    M mlir/test/Examples/transform-opt/external-def.mlir
    M mlir/test/Examples/transform-opt/self-contained.mlir
    M mlir/test/Examples/transform/Ch1/invalidation-2.mlir
    M mlir/test/Examples/transform/Ch1/sequence.mlir
    M mlir/test/Examples/transform/Ch2/sequence.mlir
    M mlir/test/Examples/transform/Ch3/sequence.mlir
    M mlir/test/Examples/transform/Ch4/features.mlir
    M mlir/test/Examples/transform/ChH/full.mlir
    M mlir/test/Integration/Dialect/EmitC/td.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmNeon/matmul-i8.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul-mixed-types.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/pack-unpack-mmt4d.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/pack-scalable-inner-tile.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/pack-unpack-mmt4d.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/td/pack-unpack.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/mmt4d.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/pack-dynamic-inner-tile.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/unpack-dynamic-inner-tile.mlir
    M mlir/test/Integration/Dialect/Transform/match_matmul_common.mlir
    M mlir/test/Integration/Dialect/Transform/match_reduction.mlir
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-interface.mlir
    M mlir/test/Transforms/test-block-legalization.mlir
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td
    M mlir/test/python/dialects/transform.py
    M mlir/test/python/dialects/transform_bufferization_ext.py
    M mlir/test/python/dialects/transform_extras.py
    M mlir/test/python/dialects/transform_interpreter.py
    M mlir/test/python/dialects/transform_loop_ext.py
    M mlir/test/python/dialects/transform_memref_ext.py
    M mlir/test/python/dialects/transform_structured_ext.py
    M mlir/test/python/dialects/transform_tensor_ext.py
    M mlir/test/python/integration/dialects/transform.py

  Log Message:
  -----------
  [MLIR][Transform] Enable strict property assembly format (#217290)

Enable strict property assembly format mode for the Transform dialect
and its extensions. Bind transform operation options directly in
declarative assembly formats so strict parsing does not rely on fallback
handling.

Update transform dialect, extension, and transform-driven tests to use
the direct property spelling.

Assisted-by: Codex


  Commit: 4e12d4bc6b5fc33f0e556f8f282cf97d2843c39b
      https://github.com/llvm/llvm-project/commit/4e12d4bc6b5fc33f0e556f8f282cf97d2843c39b
  Author: Addmisol <addmisol9 at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/CodeGenOpenCL/address-spaces-conversions.cl
    M clang/test/CodeGenOpenCL/size_t.cl

  Log Message:
  -----------
  [Clang][Sema] Promote pointers to common address space in pointer subtraction (#217341)

fixes #216804 

## Summary

This PR fixes pointer subtraction between pointers with different but
overlapping address spaces (e.g., `private` and `generic` in
  OpenCL).

Previously, when subtracting a private pointer from a generic pointer on
AMDGPU:
- The private pointer (AS5, 32-bit) was converted directly to i32 via
`ptrtoaddr`
- The generic pointer (AS0, 64-bit) was converted to i64 via `ptrtoaddr`
  - This resulted in incorrect comparison of 32-bit vs 64-bit values

Now, pointers are first promoted to the composite (superset) address
space using `addrspacecast` before the subtraction. This
mirrors how the conditional operator (`?:`) already handles mixed
address space pointers.

  ## Test plan

  - `clang/test/CodeGenOpenCL/size_t.cl` updated and passes
- Verified generated IR shows correct `addrspacecast` before `ptrtoaddr`
for AMDGCN and SPIR targets

---------

Signed-off-by: addmisol <addmisol9 at gmail.com>


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

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp

  Log Message:
  -----------
  [SandboxVec][Scheduler] Reinsert deferred ready nodes to the ready list (#222054)

Up until now if trySchedule() failed, the ready instructions would be
removed from the ready list for no good reason.
This patch fixes this and reinserts the deferred nodes to the ready
list.

This also helps reduce the scan for ready instructions in trySchedule().


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

  Changed paths:
    M utils/bazel/MODULE.bazel
    M utils/bazel/MODULE.bazel.lock
    M utils/bazel/extensions.bzl
    A utils/bazel/linux_uapi.bzl

  Log Message:
  -----------
  [libc][bazel] Add a repo with linux kernel UAPI headers (#216867)

This PR exposes a target `@linux_uapi//:linux_uapi_headers` that points
to a local directory configured by the `LINUX_UAPI_INCLUDE_DIR`
environment variable. Linux UAPI headers are required to support libc's
`FULL_BUILD` configuration, which uses `-nostdlibinc` and thus requires
a copy of linux kernel headers.


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

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl

  Log Message:
  -----------
  [libc][bazel] Allow building with -DLIBC_FULL_BUILD (#218992)

This PR defines a flag `-- at llvm-project//libc:build_mode` that
configures LLVM-libc to build with full-build flags. This is only
compatible with clang at the moment, since it relies on the
`-nostdlibinc` flag.

This PR contains the logic for LLVM-libc full build in Bazel. A largely
AI generated follow-on PR has `libc/BUILD.bazel` changes for building
libc targets in full-build mode:
https://github.com/llvm/llvm-project/pull/218993.


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

  Changed paths:
    M clang/Maintainers.md
    M clang/docs/AMDGPUSupport.md
    M clang/docs/AddressSanitizer.md
    M clang/docs/AllocToken.md
    M clang/docs/AutomaticReferenceCounting.md
    M clang/docs/Block-ABI-Apple.md
    M clang/docs/BlockLanguageSpec.md
    M clang/docs/BoundsSafety.md
    M clang/docs/BoundsSafetyAdoptionGuide.md
    M clang/docs/BoundsSafetyImplPlans.md
    M clang/docs/CIR/ABILowering.md
    M clang/docs/CIR/CleanupAndEHDesign.md
    M clang/docs/CIR/CodeDuplication.md
    M clang/docs/CXXTypeAwareAllocators.md
    M clang/docs/ClangLinkerWrapper.md
    M clang/docs/ClangNVLinkWrapper.md
    M clang/docs/ClangOffloadBundler.md
    M clang/docs/ClangSYCLLinker.md
    M clang/docs/ClangTransformerTutorial.md
    M clang/docs/ConstantInterpreter.md
    M clang/docs/ControlFlowIntegrity.md
    M clang/docs/DataFlowSanitizer.md
    M clang/docs/DebuggingCoroutines.md
    M clang/docs/DriverInternals.md
    M clang/docs/FAQ.md
    M clang/docs/FunctionEffectAnalysis.md
    M clang/docs/HIPSupport.md
    M clang/docs/HLSL/AvailabilityDiagnostics.md
    M clang/docs/HLSL/EntryFunctions.md
    M clang/docs/HLSL/ExpectedDifferences.md
    M clang/docs/HLSL/FunctionCalls.md
    M clang/docs/HLSL/HLSLIRReference.md
    M clang/docs/HLSL/HLSLSupport.md
    M clang/docs/HLSL/ResourceTypes.md
    M clang/docs/HardwareAssistedAddressSanitizer.md
    M clang/docs/InternalsManual.md
    M clang/docs/LLVMExceptionHandlingCodeGen.md
    M clang/docs/LanguageExtensions.md
    M clang/docs/LeakSanitizer.md
    M clang/docs/LibASTImporter.md
    M clang/docs/LifetimeSafety.md
    M clang/docs/MatrixTypes.md
    M clang/docs/MemorySanitizer.md
    M clang/docs/MisExpect.md
    M clang/docs/Modules.md
    M clang/docs/OffloadingDesign.md
    M clang/docs/OpenCLSupport.md
    M clang/docs/OpenMPSupport.md
    M clang/docs/OverflowBehaviorTypes.md
    M clang/docs/PCHInternals.md
    M clang/docs/PointerAuthentication.md
    M clang/docs/RISCVSupport.md
    M clang/docs/RealtimeSanitizer.md
    M clang/docs/ReleaseNotes.md
    M clang/docs/SYCLSupport.md
    M clang/docs/SafeBuffers.md
    M clang/docs/SafeStack.md
    M clang/docs/SanitizerCoverage.md
    M clang/docs/SanitizerSpecialCaseList.md
    M clang/docs/SanitizerStats.md
    M clang/docs/ShadowCallStack.md
    M clang/docs/SourceBasedCodeCoverage.md
    M clang/docs/StandardCPlusPlusModules.md
    M clang/docs/StructureProtection.md
    M clang/docs/ThinLTO.md
    M clang/docs/Toolchain.md
    M clang/docs/TypeSanitizer.md
    M clang/docs/UndefinedBehaviorSanitizer.md
    M clang/docs/UsersManual.md
    M clang/docs/WarningSuppressionMappings.md
    M clang/docs/analyzer/checkers.md
    M clang/docs/analyzer/developer-docs/DebugChecks.md
    M clang/docs/analyzer/user-docs/Annotations.md
    M clang/docs/analyzer/user-docs/CrossTranslationUnit.md
    M clang/docs/analyzer/user-docs/FAQ.md
    M clang/docs/analyzer/user-docs/TaintAnalysisConfiguration.md
    M clang/docs/analyzer/user-docs/UsingWithXCode.md
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
    M clang/include/clang/Basic/DiagnosticDocs.td
    M clang/include/clang/Options/ClangOptionDocs.td

  Log Message:
  -----------
  [docs] Remove TOCs from Clang docs to prepare for Furo migration (#214868)

This is a mechanical change generated by
`utils/docs/remove_page_tocs.py`. In case of conflicts, which are
likely, due to the ongoing markdown migration (#201242), this script can
be re-run to regenerate the change. I'm creating a separate PR for it to
minimize the diff on the functional changes for the furo PR.


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

  Changed paths:
    M clang/docs/DataFlowAnalysisIntro.md
    M clang/docs/LifetimeSafety.md
    M clang/docs/UsersManual.md
    A clang/docs/_static/custom.css
    M clang/docs/analyzer/conf.py
    M clang/docs/conf.py
    R libc/docs/_static/copybutton.css
    R libc/docs/_static/copybutton.js
    M libc/docs/conf.py
    R llvm/docs/_static/LLVMWyvernSmall.png
    R llvm/docs/_static/copybutton.css
    R llvm/docs/_static/copybutton.js
    M llvm/docs/conf.py
    M utils/docs/llvm_sphinx/__init__.py
    A utils/docs/llvm_sphinx/_static/LLVMWyvernSmall.png
    A utils/docs/llvm_sphinx/_static/copybutton.css
    A utils/docs/llvm_sphinx/_static/copybutton.js
    A utils/docs/llvm_sphinx/ext/furo.py

  Log Message:
  -----------
  [clang][docs] Adopt the furo theme used by llvm and libc (#214869)

This change moves the static assets into utils/docs/llvm_sphinx, and
centralizes some of the furo theme logic there.

It then configures furo from clang/docs/conf.py and
clang/analyzer/docs/conf.py.

The temporary preview for the site is here:
https://clangdocs.staging.reidkleckner.dev/after/clang/docs/

The RFC is here:
https://discourse.llvm.org/t/rfc-use-furo-theme-for-clang-docs/91505/7

I plan to wait until at least Aug 13 before merging to gather more
feedback.


  Commit: 1977a8b9130e9d0af669feba15d5641f9740ec9d
      https://github.com/llvm/llvm-project/commit/1977a8b9130e9d0af669feba15d5641f9740ec9d
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M libc/include/llvm-libc-macros/linux/netdb-macros.h
    M libc/include/netdb.yaml
    M libc/test/src/netdb/CMakeLists.txt
    A libc/test/src/netdb/getaddrinfo_test.cpp
    R libc/test/src/netdb/netdb_test.cpp

  Log Message:
  -----------
  [libc][netdb] Add AI_* family of constants. (#221360)

* Provide the values for `AI_*` flags that are passed in `ai_flags`
field of `addrinfo`
  structure to `getaddrinfo` calls.
* Reference some of those constant in a placeholder unittest. Rename it
to `getaddrinfo_test`
to clarify its scope (we'll likely be using different test files for
other netdb.h functions).


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

  Changed paths:
    M mlir/test/Dialect/Linalg/vectorization/contraction-interface.mlir
    M mlir/test/Dialect/Linalg/vectorization/convolution-with-patterns.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Update transform tests for strict properties (#222184)

Update recently added vectorization tests to use the custom assembly
syntax.

Strict Transform dialect properties no longer parse inherent attributes
from the generic attribute dictionary.

These tests landed concurrently with the strict-properties migration.

Assisted-by: Codex


  Commit: 66462afa7e4a33f0d720877f2228589d5b43de81
      https://github.com/llvm/llvm-project/commit/66462afa7e4a33f0d720877f2228589d5b43de81
  Author: David Tellenbach <dtellenbach at apple.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/test/CodeGen/AArch64/cmpbr-early-ifcvt.mir

  Log Message:
  -----------
  [AArch64][CMPBR] Fix splitting of CBB/CBH instructions into ext + cmp (#221112)

We falsely split CBB/CBH instructions by explicitly extending the
second register operand instead of the first one, leading to the
following, wrong codegen:

    cbh $wn, $wm, cc, trgt  =>  sxth $wt, $wm
                                cmp  $wn, $wt, cc, sxth

Correct is

    cbh $wn, $wm, cc, trgt  =>  sxth $wt, $wn
                                cmp  $wt, $wm, cc, sxth

since cmp with extended register extends it's second, not its first
operand.


  Commit: df55ebfbe36ec8c6e19fd5b06f218a56cc6f5e23
      https://github.com/llvm/llvm-project/commit/df55ebfbe36ec8c6e19fd5b06f218a56cc6f5e23
  Author: jiel-nv <37816794+jiel-nv at users.noreply.github.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUDA/CUFPredefinedVarToGPU.cpp
    M flang/test/Fir/CUDA/predefined-variables.mlir

  Log Message:
  -----------
  [flang][cuda] Create predefined variable reads at the location of use (#222058)


  Commit: 1462d6f99a0cdf8c99108cb32eb020efe6ba5f89
      https://github.com/llvm/llvm-project/commit/1462d6f99a0cdf8c99108cb32eb020efe6ba5f89
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M libcxx/include/__optional/optional.h
    M libcxx/include/__optional/optional_ref.h

  Log Message:
  -----------
  [libc++][NFC] Remove `optional::__get` (#217218)

Internal communicating functions `optional::__get` can be superseded by
either `value`, `operator*()`, or direct use of data member. Even though
`value()` is checked, checks are already performed before internal calls
to it, so compilers should be able to remove duplicated checks.

It is intended to use `opt.value()` instead of `*opt` to avoid undesired
argument-dependent lookup.


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

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/include/mlir/Dialect/EmitC/IR/EmitCBase.td
    M mlir/test/Dialect/EmitC/canonicalize.mlir
    M mlir/test/Dialect/EmitC/form-expressions.mlir
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/EmitC/invalid_types.mlir
    M mlir/test/Dialect/EmitC/ops.mlir
    M mlir/test/Dialect/EmitC/types.mlir
    M mlir/test/Target/Cpp/attrs.mlir
    M mlir/test/Target/Cpp/call.mlir
    M mlir/test/Target/Cpp/common-cpp.mlir
    M mlir/test/Target/Cpp/const.mlir
    M mlir/test/Target/Cpp/expressions.mlir
    M mlir/test/Target/Cpp/invalid.mlir
    M mlir/test/Target/Cpp/literal_call_operand.mlir
    M mlir/test/Target/Cpp/lvalue.mlir
    M mlir/test/Target/Cpp/member.mlir
    M mlir/test/Target/Cpp/subscript.mlir
    M mlir/test/Target/Cpp/switch.mlir
    M mlir/test/Target/Cpp/types.mlir
    M mlir/test/Target/Cpp/variable.mlir
    M mlir/test/Target/Cpp/verbatim.mlir
    M mlir/test/Transforms/sccp.mlir

  Log Message:
  -----------
  [MLIR][EmitC] Enable strict property assembly format (#217271)

Enable strict property assembly format mode for the EmitC dialect. Spell
call metadata directly in the affected declarative assembly formats and
drop unneeded property dictionaries from formats that already cover
their inherent attributes.

Refresh EmitC tests and related C++ target checks so call properties use
direct syntax while ordinary attributes remain in attr-dict.

Assisted-by: Codex


  Commit: 68622e02c9e51d8202a82aca96421662a06eaa18
      https://github.com/llvm/llvm-project/commit/68622e02c9e51d8202a82aca96421662a06eaa18
  Author: Douglas Yung <douglas.yung at sony.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M compiler-rt/test/fuzzer/fork.test
    M compiler-rt/test/fuzzer/fork_corpus_groups.test

  Log Message:
  -----------
  [Fuzzer] Bump rss_limit again. (#222187)

The two tests libFuzzer-x86-64-default-Linux::fork_corpus_groups.test
and libFuzzer-x86-64-default-Linux::fork.test have started being flaky
again on two of my bots, so bumping up the rss limit in the test which
temporarily solved the issue back in #204701.

See comment in #222187 for links to the bots and recent failures.


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

  Changed paths:
    M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
    M mlir/lib/Dialect/Func/IR/FuncOps.cpp
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
    M mlir/test/IR/core-ops.mlir
    M mlir/test/Transforms/canonicalize.mlir
    M mlir/test/Transforms/inlining.mlir

  Log Message:
  -----------
  [MLIR][Func] Enable strict property assembly format (#217300)

Enable the strict properties assembly format mode for the Func dialect.
Spell inherent call attributes directly in the call formats so they are
no longer parsed from attr-dict in strict mode.

Assisted-by: Codex


  Commit: bbd998f0186f5362d3c9c1cc575bf6ce20007685
      https://github.com/llvm/llvm-project/commit/bbd998f0186f5362d3c9c1cc575bf6ce20007685
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M flang/test/Semantics/data27.f90

  Log Message:
  -----------
  [flang][test] Expand test for legacy DATA initializer on invalid declarations (#222171)

Follow-up to #221170. Expands `flang/test/Semantics/data27.f90` with the
other shapes that crashed the same way before that fix and now produce
the expected error

Assisted-by: AI


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

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

  Log Message:
  -----------
  [libc][bazel] Make a large swath of targets full-build compatible (#218993)

After this PR, all compatible targets in `@llvm-project//libc:all` are
buildable under full-build mode.

```
bazel build @llvm-project//libc:all -- at llvm-project//libc:build_mode=full --config=generic_clang --keep_going
```

Assited-by: Gemini 3.5


  Commit: a953c8466be3dc855f99bf0433386fcae4ef2627
      https://github.com/llvm/llvm-project/commit/a953c8466be3dc855f99bf0433386fcae4ef2627
  Author: Liao Chunyu <chunyu at iscas.ac.cn>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/MC/RISCV/rv32p-invalid.s
    M llvm/test/MC/RISCV/rv32p-valid.s

  Log Message:
  -----------
  [RISCV][MC]Fix encoding for psati.dw/dh (#221889)

psati.dh: the width is specified by uimm4+1.
psati.dw: the width is specified by uimm5+1.

https://github.com/riscv/riscv-p-spec/blob/master/P-ext-proposal.adoc#psati-dh-rv32


  Commit: ea3f107a84eaa2459f6eb5d1c8dbeefea7576689
      https://github.com/llvm/llvm-project/commit/ea3f107a84eaa2459f6eb5d1c8dbeefea7576689
  Author: Larry Meadows <Lawrence.Meadows at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/test/OpenMP/amdgcn-attributes.cpp
    M clang/test/OpenMP/amdgcn_target_device_vla.cpp
    M clang/test/OpenMP/nvptx_SPMD_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_codegen.cpp
    M clang/test/OpenMP/ompx_attributes_codegen.cpp
    M clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
    M clang/test/OpenMP/target_teams_reduction_codegen.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-target-launch-device.mlir
    M offload/plugins-nextgen/common/src/RecordReplay.cpp
    A offload/test/offloading/thread_limit_below_wavefront.c

  Log Message:
  -----------
  [OpenMP] Reserve the main thread's warp for generic mode kernels (#218790)

In generic mode one warp of the block runs the main thread and the rest
run the
user's threads, so everything needing the team size computes
`BlockSize - WarpSize`: the device runtime's `getMaxTeamThreads`, and
the state
machine OpenMPOpt builds. The bound written into the kernel was the
program's
`thread_limit` exactly, so on gfx90a `thread_limit(4)` launched a block
of 4
threads and the team size came out as `4 - 64`. That subtraction is
unsigned, so
the runtime saw four billion workers rather than none: the parallel
region never
ran, and on current trunk the launch dies with a memory access fault.
Any
`thread_limit` below one warp was affected, so anything under 64 on a
wave64
target.

Add the warp where the bound is written, in `createTargetInit`, for
generic mode
only, so `thread_limit(4)` writes 68 and the team gets its 4, clamped to
the
target's maximum work group size because an out-of-range bound is
dropped rather
than clamped. A fixed 64 is reserved rather than the target's own
wavefront: the
bound is only a ceiling, and the runtime still adds the real warp size
and
clamps to it, so the block that launches is unchanged. Where the warp is
narrower the ceiling is 32 too high, which costs the backend some
register
budget and nothing else; NVPTX with `thread_limit(20)` now gets
`maxntid=84`
where it would have got 52, and still launches 52.

The record-replay recorder, which wrote `thread_limit` as the largest
launch a
replay would accept, now records the larger block that was actually
launched.
`thread_limit_below_wavefront.c` is the reproducer, and the remaining
files are
regenerated clang and MLIR expectations.

## Testing

Tested on `main` at 68622e02c9e5: `clang/test/OpenMP`,
`mlir/test/Target/LLVMIR`
and `llvm/test/Transforms/OpenMP` give 2114 passed, 14 unsupported, 4
failed.
The four are `mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-shared*`, which
fail on
`main` independently of this change: their RUN lines hand `llc` an
`-mxcoff-roptr` it only accepts on AIX.

`check-offload` on an MI210 has nothing failing: 1134 passed, 4
expectedly
failed, 363 unsupported, 12 skipped. That covers the new test,
`thread_limit_below_wavefront.c`, and the six `omp-kernel-replay` tests.


  Commit: d1c0cc5e760f9cbb68e2acec80a476c4b8b898b7
      https://github.com/llvm/llvm-project/commit/d1c0cc5e760f9cbb68e2acec80a476c4b8b898b7
  Author: Michael Halkenhäuser <MichaelGerald.Halkenhauser at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUReserveWWMRegs.cpp
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-update-only-slot-indexes.ll

  Log Message:
  -----------
  [AMDGPU] Do not freeze reserved registers in AMDGPUReserveWWMRegs (#222193)

Refreshing the shared RegisterClassInfo needs an up-to-date reserved set, but
freezing it into MachineRegisterInfo, as #221849 did, publishes it too early:
clearing the per-lane VGPR mask unreserves those registers, and LiveIntervals
does not extend a reserved register's unit ranges to its uses, so those uses
fail verification.

Take the set from TargetRegisterInfo instead. It is the same set, and the
register allocator still freezes it into MachineRegisterInfo itself.

AI-assisted.


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

  Changed paths:
    M clang/docs/CMakeLists.txt
    M clang/include/clang/Options/ClangOptionDocs.td
    M clang/include/clang/Options/FlangOptions.td
    M clang/include/clang/Options/Options.td
    M clang/utils/TableGen/ClangOptionDocEmitter.cpp
    M flang/docs/CMakeLists.txt
    M flang/docs/FlangOptionsDocs.td
    M flang/docs/FlangOptionsMan.td

  Log Message:
  -----------
  [clang][flang][docs] Re-land Markdown CLI ref generator (#222147)

Reverts llvm/llvm-project#221937
Relands llvm/llvm-project#220385

This time, the migration includes flang command line reference
documentation, so the change passes `ninja docs-flang-html/man`.

Tracking issue: #201242

Assisted-By: Codex


  Commit: 4383c7f120edc4e31294eb148a57c762d7d53170
      https://github.com/llvm/llvm-project/commit/4383c7f120edc4e31294eb148a57c762d7d53170
  Author: Shanzhi Chen <chenshanzhi at huawei.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT][AArch64] Fix relocation type for `LDRSW` (#221939)

Fix the incorrect relocation type for `LDRSW`. It should be
`ELF::R_AARCH64_LDST32_ABS_LO12_NC`, but it was mistakenly set to
`ELF::R_AARCH64_LDST64_ABS_LO12_NC` in PR #196051.


  Commit: 7209c7af3323615c632a3409a2a776b29fbac528
      https://github.com/llvm/llvm-project/commit/7209c7af3323615c632a3409a2a776b29fbac528
  Author: Vy Nguyen <1762963+oontvoo at users.noreply.github.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M clang/test/Driver/modules-driver-depscan-log.cpp

  Log Message:
  -----------
  [clang][Driver][test] Specify output path in modules-driver-depscan-log.cpp (#222209)

In `clang/test/Driver/modules-driver-depscan-log.cpp`, `%clang -c` is
invoked on `%t/A.cppm` without an explicit output file (`-o`). By
default, Clang writes the resulting object file (`A.o`) to the current
working directory.
In sandboxed or hermetic test environments where the test runner
executes with a read-only working directory (e.g., Bazel, Nix, or remote
build executors), the test fails with:

```text
error: unable to open output file 'A.o': 'Permission denied'
1 error generated.


  Commit: dea8e298844a7721d6db80e2474c178d454b148c
      https://github.com/llvm/llvm-project/commit/dea8e298844a7721d6db80e2474c178d454b148c
  Author: Shengxin Pei <TPPPP72 at outlook.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/test/SemaCXX/cxx20-default-compare.cpp
    R clang/test/SemaCXX/gh147127.cpp

  Log Message:
  -----------
  [clang][test] Move test `gh147127.cpp` to `cxx20-default-compare.cpp` NFC (#222208)

Follow-up #198830


  Commit: e1683efa7ce0c77dbd2f3b04e05e18313aee4338
      https://github.com/llvm/llvm-project/commit/e1683efa7ce0c77dbd2f3b04e05e18313aee4338
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/IR/Type.cpp
    M llvm/test/CodeGen/DirectX/ResourceAccess/handle-cases.ll
    M llvm/test/CodeGen/DirectX/ResourceAccess/handle-to-index.ll
    M llvm/test/CodeGen/DirectX/ResourceAccess/looped-phi-nodes-resolved.ll
    M llvm/test/CodeGen/DirectX/ResourceAccess/looped-phi-nodes.ll
    M llvm/test/Transforms/GVN/PRE/no-phi-translate.ll
    M llvm/test/Transforms/GVN/PRE/no-pre-load-for-token-like.ll
    M llvm/test/Transforms/LCSSA/token-like-live-out.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/token-uses.ll
    R llvm/test/Transforms/SimplifyCFG/token_like_type.ll
    M llvm/test/Verifier/tokenlike1.ll
    M llvm/test/Verifier/tokenlike5.ll
    M llvm/test/Verifier/tokenlike6.ll
    M llvm/test/Verifier/tokenlike7.ll
    M llvm/unittests/Transforms/Utils/LocalTest.cpp

  Log Message:
  -----------
  [IR][DirectX] Drop IsTokenLike from `dx.*` target types (#222130)

We made the DirectX resource types "token-like" a while ago in order to
prevent transforms from moving them into PHIs and the like in ways that
made determining their provenance more difficult. However, there are
patterns in HLSL that can generate the problematic IR directly and we've
since implemented logic in `DXILResourceAccess` to handle such cases
anyway. Because of this, we aren't really getting any benefit from the
types being `IsTokenLike`, and in some cases we're working with
intermediate IR that doesn't actually pass the verifier.

Drop `IsTokenLike` from the `dx.*` types since it's no longer correct or
useful. I've updated the tests to use `amdgpu.stridemark` instead, and
slightly abused `llvm.ssa.copy` in order to manufacture SSA values of
that type. I had to drop the test that actually needed a load from a
value depending on the token-like type, as there just isn't really a way
for that to come up without the resource types.


  Commit: 33898fffd3c09eba75e4199749117923bc1beee2
      https://github.com/llvm/llvm-project/commit/33898fffd3c09eba75e4199749117923bc1beee2
  Author: Shengxin Pei <TPPPP72 at outlook.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/test/SemaCXX/ms-ctor-closure.cpp

  Log Message:
  -----------
  [clang][test] Add test for #67685 NFC (#222212)


  Commit: 8c7d76bfc1b5c75effc7bd8ecc4892be9970ea5d
      https://github.com/llvm/llvm-project/commit/8c7d76bfc1b5c75effc7bd8ecc4892be9970ea5d
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/test/ThinLTO/X86/memprof-funcassigncloning.ll
    M llvm/test/ThinLTO/X86/memprof-funcassigncloning2.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/duplicate-context-ids.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/funcassigncloning.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/funcassigncloning2.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/funcassigncloningrecursion.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/inlined3.ll

  Log Message:
  -----------
  [MemProf] Use NodeId to break ties deterministically in identifyClones (#222126)

In identifyClones(), ties between caller edges with identical allocation
types and matching clone candidates were previously broken by comparing
the first element of ContextIds (*A->ContextIds.begin() <
*B->ContextIds.begin()).
Because ContextIds is a DenseSet, its iteration order depends on hash
table
layout and bucket distribution, introducing non-determinism across
different
runs or architectures.

Replace this tie-breaker with caller NodeId (A->Caller->NodeId <
B->Caller->NodeId),
which provides a deterministic and stable ordering. Also apply
Callee->NodeId
in CalleeCallerEdgeLessThan for consistency.

Update tests whose remark or dump order depended on the previous
tie-breaker.
For tests that verify multi-clone greedy assignment behavior
(funcassigncloning*.ll),
reorder the input MIB contexts so caller NodeIds reproduce the visit
order
exercising the extra clone creation.

Assisted-by: Gemini


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

  Changed paths:

  Log Message:
  -----------
  Fix Bazel build for 52d922a (#222219)

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

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


  Commit: 5503fa587536afa2624971224dbfc6e25d762d37
      https://github.com/llvm/llvm-project/commit/5503fa587536afa2624971224dbfc6e25d762d37
  Author: Thrrreeee <shijinrui at bytedance.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M bolt/lib/Passes/FixRISCVCallsPass.cpp
    M bolt/test/RISCV/call-link-register.s
    M bolt/test/RISCV/relax.s

  Log Message:
  -----------
  [BOLT][RISCV] Remove redundant AUIPCs when rewriting call pairs (#221965)

`FixRISCVCallsPass` replaces the AUIPC instruction with a Noop when
converting an AUIPC/JALR pair into a call or tail-call pseudo. Add the
`NOP` annotation so the existing RemoveNops pass can remove it, avoiding
an unnecessary instruction in the output.


  Commit: 7caac9be9a7f9ecda3f31802ef451a25f2b61658
      https://github.com/llvm/llvm-project/commit/7caac9be9a7f9ecda3f31802ef451a25f2b61658
  Author: Thrrreeee <shijinrui at bytedance.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Passes/LivenessAnalysis.h
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/unittests/Core/MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT][RISCV] Implement register analysis hooks (#220581)

This patch implements the RISC-V register-analysis hooks in
`RISCVMCPlusBuilder` that previously fell back to the unimplemented
base-class methods.

The `MCPlusBuilder` unittests fixture is also extended to create a
RISC-V binary context. New tests cover the flags-register result,
zeroing-XOR recognition, ABI register masks, general-purpose register
masks, and non-scavengeable registers. These hooks provide the
target-specific register information required by BOLT analyses and
transformations on RISC-V.
BTW, this is split out as a prerequisite fo LongJump pass implement for
RISCV.


  Commit: 6ef30f15d71bab018de258496f83b8dee529ce60
      https://github.com/llvm/llvm-project/commit/6ef30f15d71bab018de258496f83b8dee529ce60
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h

  Log Message:
  -----------
  [GlobalISel] Use getTypeFromIdx instead of direct table indexing in GIR_AddCImm (#222114)


  Commit: 83728c8a9fe27b1427cf0125e5a7896bbb55b6ae
      https://github.com/llvm/llvm-project/commit/83728c8a9fe27b1427cf0125e5a7896bbb55b6ae
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M lldb/docs/resources/formatterbytecode.md
    M lldb/include/lldb/DataFormatters/FormatterBytecode.def
    M lldb/include/lldb/DataFormatters/FormatterBytecode.h
    M lldb/source/DataFormatters/FormatterBytecode.cpp
    M lldb/source/DataFormatters/TypeSummary.cpp
    M lldb/source/DataFormatters/TypeSynthetic.cpp
    M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp

  Log Message:
  -----------
  [lldb] Add APSInt representation to formatter bytecode (#220665)

Adopt a single representation for integers in the formatter bytecode
interpreter. This simplifies code generation, where the (now deprecated)
distinction of `uint64_t` and `int64_t` types could make conditionals
and other operations more complicated, by having to have code paths for
signed and unsigned.

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

Assisted-by: claude


  Commit: 1261f5003d93e83295b93782b871be06db2564c4
      https://github.com/llvm/llvm-project/commit/1261f5003d93e83295b93782b871be06db2564c4
  Author: Luke Lau <luke at igalia.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/VPlan/constant-fold.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-before-after-all.ll
    M llvm/test/Transforms/LoopVectorize/X86/funclet.ll
    M llvm/test/Transforms/LoopVectorize/vplan-print-before-after.ll

  Log Message:
  -----------
  [VPlan] Split simplifyRecipes into simplifyRecipes and combineRecipes (#221924)

Bringing it in line with InstSimplify and InstCombine, split up
simplifyRecipe into a function that modifies and creates recipes
(combineRecipe), and one that is analysis-only (simplifyRecipe).

This allows us to avoid adding simplficiation only folds to the worklist
in #213899.

The funclet.ll test no longer erases the constant-folded intrinsic call
because vputils::isDeadRecipe returns false.


  Commit: bcef85f08355c76d1e7e98604ed68fa1d93c2022
      https://github.com/llvm/llvm-project/commit/bcef85f08355c76d1e7e98604ed68fa1d93c2022
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

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

  Log Message:
  -----------
  [SLP][modularisation][NFC] Move compress load/store helpers to SLPMemoryUtils (#222038)

Move the following BoUpSLP-independent masked-load/store compress
helpers out of SLPVectorizer.cpp into
SLPVectorizer/SLPMemoryUtils.{h,cpp}:

  isMaskedLoadCompress (both overloads)
  isMaskedStoreCompress

buildCompressMask, used only by isMaskedLoadCompress, moves alongside
them and stays file-local. isMaskedLoadCompress reads the file-local
SLPReVec cl::opt; the option stays static in SLPVectorizer.cpp and the
moved helper takes its value as an explicit bool parameter. Behavior is
unchanged.

Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922

Assisted by AI


  Commit: 4f45ae199557874671659bf59b2875e06ec2a0ff
      https://github.com/llvm/llvm-project/commit/4f45ae199557874671659bf59b2875e06ec2a0ff
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPReductionUtils.cpp
    A llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPReductionUtils.h
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn

  Log Message:
  -----------
  [SLP][modularisation][NFC] Move reduction match helpers to SLPReductionUtils (#222052)

Move the following BoUpSLP-independent reduction pattern-match helpers
out of SLPVectorizer.cpp into a new
SLPVectorizer/SLPReductionUtils.{h,cpp}:

  getNonPhiOperand
  isReductionCandidate

matchRdxBop, used only by these two, moves alongside them and stays
file-local. Behavior is unchanged.

Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922

Assisted by AI


  Commit: 90e4efa54ff95f7895522fbe152a8da86bf4e446
      https://github.com/llvm/llvm-project/commit/90e4efa54ff95f7895522fbe152a8da86bf4e446
  Author: Thrrreeee <shijinrui at bytedance.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M bolt/unittests/Core/CMakeLists.txt

  Log Message:
  -----------
  [BOLT][NFC] Fix CoreTests linking with shared libraries (#222225)

`CoreTests` directly uses `Triple` and `SubtargetFeatures` constructors
from `LLVMTargetParser` but does not declare the dependency. This causes
undefined-symbol errors with BUILD_SHARED_LIBS=ON.
https://github.com/llvm/llvm-project/pull/220581
Fix https://lab.llvm.org/buildbot/#/builders/218/builds/6464.


  Commit: 7c4aac7e60f9f813df5693dcc735bda7873594f7
      https://github.com/llvm/llvm-project/commit/7c4aac7e60f9f813df5693dcc735bda7873594f7
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2026-09-08 (Tue, 08 Sep 2026)

  Changed paths:
    M lldb/unittests/API/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Link API unit tests against LLVMTestingSupport. (#222206)

Changes to lldb have added a dependency on llvm::detail::TakeError, this
fails to link on my desktop without the dependency. Most other unittests
already link to LLVMTestingSupport.


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

  Changed paths:
    M orc-rt/include/orc-rt/bedrock/Session.h
    M orc-rt/test/unit/bedrock/SessionTest.cpp

  Log Message:
  -----------
  [orc-rt] Add Session::attach for pre-mode ControllerAccesses. (#222227)

Allow clients to attach a session using a pre-constructed
ControllerAccess object. This allows clients to use non-trivial
construction methods (e.g. factories) to build ControllerAccess objects.


  Commit: 786ba30e072e92648840ddbb5bc3f76e0af35b07
      https://github.com/llvm/llvm-project/commit/786ba30e072e92648840ddbb5bc3f76e0af35b07
  Author: Dharuni R Acharya <125176188+DharuniRAcharya at users.noreply.github.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
    M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp

  Log Message:
  -----------
  [LLVM][AutoUpgrade] Support default args on undeclared multi-call upgrades (#216246)

When an `.ll` file contains multiple calls to an intrinsic without an explicit
declaration, only the first call is upgraded successfully, and the remaining
subsequent calls fail.

`LLParser` builds one temporary Function per call, so after the first
upgrade occupies the canonical name the later functions are uniquified
(eg. `llvm.foo.1`). The intrinsic ID was previously looked up using `F->getName()`,
which requires an exact name match. So, the uniquified names resolved to `not_intrinsic`, 
causing the upgrade to return and the default arguments were not applied.

This patch fixes this issue by using the cached `F->getIntrinsicID()`,
which is set when the temporary function is created from the original name. 
It also `rename(F)` before inserting the full declaration, so the temporary
function no longer occupies the canonical name.

---------

Signed-off-by: DharuniRAcharya <dharunira at nvidia.com>


  Commit: 1fddb91bf4ad2c3012c107f0cf792e2b2a5a9b67
      https://github.com/llvm/llvm-project/commit/1fddb91bf4ad2c3012c107f0cf792e2b2a5a9b67
  Author: ShashwathiNavada <shashwathinavada at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/modfile86.f90
    A flang/test/Semantics/modfile87.f90
    A flang/test/Semantics/resolve132.f90

  Log Message:
  -----------
  [Flang][Semantics] Diagnose missing MODULE prefix in submodule procedures (#197173)

Add a portability warning when a submodule procedure is missing the
MODULE prefix required by a MODULE PROCEDURE interface in its parent
module.


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

  Changed paths:
    M utils/bazel/llvm-project-overlay/flang/lib/Optimizer/OpenACC/Support/BUILD.bazel
    M utils/bazel/llvm-project-overlay/flang/lib/Optimizer/OpenACC/Transforms/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Fix Bazel build (#222232)

Add missing deps and update sharding for ROCDLDialect


  Commit: 8d4c923371a73b9f60bee93d91c1cc0c3b49b89e
      https://github.com/llvm/llvm-project/commit/8d4c923371a73b9f60bee93d91c1cc0c3b49b89e
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    A clang-tools-extra/docs/clang-tidy/checks/readability/function-cognitive-complexity.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/function-cognitive-complexity.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/function-size.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/function-size.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/identifier-length.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/identifier-length.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-ifelse-braces.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-ifelse-braces.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/isolate-declaration.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/isolate-declaration.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/magic-numbers.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/magic-numbers.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/make-member-function-const.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/make-member-function-const.rst

  Log Message:
  -----------
  [clang-tidy][docs] Rename readability check docs to Markdown [2/5] (#221528)

Tracking issue: #201242

See the [migration guide] for more information.

[migration guide]:

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

This is the second part of the mechanical rename of the check
documentations in readability module.
The rewrite is provided by the next PR in this stack.


  Commit: 30e244ed348addbc4611466404dd717d5906a1a7
      https://github.com/llvm/llvm-project/commit/30e244ed348addbc4611466404dd717d5906a1a7
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/readability/function-cognitive-complexity.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/function-size.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-length.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-ifelse-braces.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/isolate-declaration.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/magic-numbers.md
    M clang-tools-extra/docs/clang-tidy/checks/readability/make-member-function-const.md

  Log Message:
  -----------
  [clang-tidy][docs] Rewrite readability check docs to Markdown [2/5] (#221529)

Tracking issue: #201242

See the [migration guide] for more information.

[migration guide]:

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

This is the second part of rewriting check documentations in readability
module from reST to MyST Markdown.

AI Usage: This was prepared with rnk's fork of rst2myst and
GPT5.6-assisted cleanup.
I manually verified that the documentation renders as expected.

Preview site:
https://broken.life/llvm-staging/readability-markdown-port/index.html

---------

Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>


  Commit: c1872e7fd3307679a2da53f9d83de0ccf234b4ad
      https://github.com/llvm/llvm-project/commit/c1872e7fd3307679a2da53f9d83de0ccf234b4ad
  Author: Zeyi Xu <mitchell.xu2 at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M .mailmap

  Log Message:
  -----------
  [mailmap] Add entry for Zeyi Xu (#222237)


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

  Changed paths:
    M clang/test/AST/absurdly_big_struct.cpp

  Log Message:
  -----------
  [clang][test] Make new absurdly_big_struct test more targeted (#219897)

The previous version of `y()` used `c2[i]`, which can't be evaluated at
compile-time.
The emitted diagnostic depends on something calling
`ASTContext::getASTRecordLayout()` for `b`, which currently happens in
the constant evaluator. If the evaluator decides to evaluate `c2[i]`
before calling `getASTRecordLayout()`, the test fails since the
diagnostic is never emitted.

Fix this by simply using `c2[0]` instead.


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

  Changed paths:
    M llvm/include/llvm/Support/FileSystem.h

  Log Message:
  -----------
  [Support][FileSystem] Prefer `status` with `file_t` parameter. NFC. (#157581)

When searching the documentation for LLVM for `llvm::sys::fs::status`,
only the version with file descriptor can be found because the
documentation is built on the UNIX host and the file handle version is
defined out.

In reality, file handle version is more portable and should be displayed
instead. On UNIX, these two functions have the same underlying type,
thus it shouldn't matter which one is declared, and both versions are
still available on Windows for compatibility.


  Commit: bf1d0038c9715c93e8d3ec95bf5923d57acd2b39
      https://github.com/llvm/llvm-project/commit/bf1d0038c9715c93e8d3ec95bf5923d57acd2b39
  Author: Letu Ren <fantasquex at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir][LLVM] Add clmul intrinsics (#222113)

Assisted-by: gpt-5.6-sol

Signed-off-by: Letu Ren <fantasquex at gmail.com>


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

  Changed paths:
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/test/Other/new-pm-O0-ep-callbacks.ll
    M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
    M llvm/tools/opt/NewPMDriver.cpp

  Log Message:
  -----------
  [PassBuilder] Add ThinLTO EP callbacks mirroring FullLinkTimeOptimizationEarly/Last (#221857)

Our downstream has a request to add customization pass into
ThinLinkTimeOptimizationEarlyEPCallback, but buildThinLTODefaultPipeline
has no equivalent EPCallback like buildLTODefaultPipeline does. This PR
add it and ThinLinkTimeOptimizationLastEPCallback as well.

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


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

  Changed paths:
    M llvm/test/CodeGen/AArch64/arm64-vmul.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll

  Log Message:
  -----------
  [AArch64] Update and regenerate vec-combine-compare-to-bitmask.ll. NFC (#222242)


  Commit: b4b7775cfa79d7e3382657037eb037f8c7cb2428
      https://github.com/llvm/llvm-project/commit/b4b7775cfa79d7e3382657037eb037f8c7cb2428
  Author: Steffen Larsen <sholstla at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGen/atomic-scoped.c
    M clang/test/CIR/CodeGen/atomic.c

  Log Message:
  -----------
  [CIR] Preserve volatile semantics for atomic operations (#220874)

This commit fixes the preservation of volatile semantics for atomic RMW
operations in CIR CodeGen.

Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>


  Commit: e3a60a700dfa488adebd546705424aae7c8b3a35
      https://github.com/llvm/llvm-project/commit/e3a60a700dfa488adebd546705424aae7c8b3a35
  Author: Vishank Singh <vishanksinghh at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M libcxx/docs/Status/Cxx26Issues.csv
    M libcxx/include/__ranges/lazy_split_view.h
    A libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer.value/ctor.compile.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer.value/ctor.default.pass.cpp
    R libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer.value/ctor.iter.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/deref.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] Implement LWG4013: Make `lazy_split_view::outer-iterator::value_type` non-default-constructible (#221919)

Remove the default constructor of `outer-iterator::value_type` and make
the remaining constructor private (exposition-only), as required by LWG
4013.

Update the corresponding tests:
- `ctor.default.pass.cpp` and `ctor.iter.pass.cpp` are now deleted.
- `ctor.compile.pass.cpp` is added to verify `value_type` is not
default-constructible and its construction from iterator is not
available.
- Cases testing construction of `value_type` via `operator*` are moved
to `range.lazy.split.outer/deref.pass.cpp‎`.

Closes #105321


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

  Changed paths:
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/test/TableGen/AMDGPUTargetDefSubArchSpelling.td
    M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp

  Log Message:
  -----------
  AMDGPU: Remove unused getBaseArchNameAMDGCN (#222157)

This ended up unused for gfx1250-strict

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


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

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-neg-mul.ll

  Log Message:
  -----------
  GlobalISel: Drop AllowFPOpFusion from CombinerHelper FMA formation (#221918)

Only rely on the contract flags.

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


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

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/SymbolNameSpec.h

  Log Message:
  -----------
  [ORC] Require symbol name kind in SymbolNameSpec constructor. (#222238)

Require clients to spell out the naming level that SymbolNameSpecs are
expressed in. (An implicit default is a footgun, and adds limited
convenience)


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.mir
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx13_asm_vop3.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt

  Log Message:
  -----------
  [AMDGPU] Rework pseudo-scalar transcendental inline constant restriction handling (#208459)

The f16 pseudo-scalar transcendental instructions do not support inline
constants on gfx12. The existing handling of this restriction is
incomplete. It involves checking the
hasNoF16PseudoScalarTransInlineConstants function in the right places.
For the SIInstrInfo::isInlineConstant function, for instance, this has
led to a situation where some overloads respect the restriction and
others do not. This approach also relies on completely disabling the
folding of constant operands. The machine code emission does still use
the inline constant encoding if it encounters a suitable operand.

Introduce a new "noinline" operand type and use it for the instruction
variant that is used on gfx12. This does also enable the use of literal
constants.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    A llvm/test/Transforms/LoopVectorize/RISCV/scatter-type-mismatch.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-flags.ll
    A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-intrinsic.ll
    M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Consolidate VPIWithType and VPI (NFC) (#203019)

The extra ResultType has been absorbed into VPInstruction, and the
recipe classes can now be consolidated. The patch also fixes missing
flags-printing in the case of WideIVStep, and includes a test to guard
against bad changes, discovered during the review process.


  Commit: 962a202be1f642f119921413293e8325e2e06757
      https://github.com/llvm/llvm-project/commit/962a202be1f642f119921413293e8325e2e06757
  Author: Machillka <machillka2007 at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/unittests/InlayHintTests.cpp

  Log Message:
  -----------
  [clangd] Place deduced return type hints after noexcept (#219829)

Deduced return type hints for functions and lambdas could appear before
a `noexcept` specifier, even though a trailing return type belongs after
the exception specification.

Use the end of the function type's local source range when it is
available. For lambdas without a function type location, keep the end of
the lambda introducer as a fallback.

Fixes clangd/clangd#2696

Assisted-by: Codex


  Commit: a1f878adc64fee90fca87382a01013eca7e19b2b
      https://github.com/llvm/llvm-project/commit/a1f878adc64fee90fca87382a01013eca7e19b2b
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/Modules/pr222002.cppm

  Log Message:
  -----------
  [C++20] [Modules] Keep DeductionGuideDecl in the general lookup table (#222246)

Close https://github.com/llvm/llvm-project/issues/222002

The root cause of the problem is, the deduction guide was not in the
general lookup table. The fix is to move them into the general lookup
table. This should be fine as the DeductionGuide may not pollute the
name lookup results.


  Commit: 6dc6c67b786260486641eb62546c34b48143e131
      https://github.com/llvm/llvm-project/commit/6dc6c67b786260486641eb62546c34b48143e131
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxxabi/CMakeLists.txt
    A runtimes/cmake/Modules/GetSanitizerFlags.cmake

  Log Message:
  -----------
  [libcxx][libcxxabi][cmake] Deduplicate sanitizer flags function (#221757)

While experimenting with flang-rt builds I realised there were two
copies of this function.
We don't need it in flang-rt right now but I figure reducing duplication
is good anyway.


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

  Changed paths:
    M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/test/tools/llvm-offload-wrapper/offload-wrapper.ll

  Log Message:
  -----------
  [OffloadWrapper] Use getPtrAdd() instead of getGetElementPtr() (#222014)

One case has a redundant zero-offset GEP. The other two just add
a byte offset in a convoluted way.


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

  Changed paths:
    M llvm/include/llvm/Analysis/MustExecute.h
    M llvm/lib/Analysis/MustExecute.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp

  Log Message:
  -----------
  [LoopSafetyInfo] Compute block colors lazily (NFC) (#221954)

Computing the block colors is fairly expensive, but only rarely actually
needed. We can delay computation to first use.

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


  Commit: 590a3b87dba125069e962956d562802a8173dc38
      https://github.com/llvm/llvm-project/commit/590a3b87dba125069e962956d562802a8173dc38
  Author: Steffen Larsen <sholstla at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/HoistAllocas.cpp
    M clang/test/CIR/Transforms/hoist-allocas.cir

  Log Message:
  -----------
  [CIR] Reposition entry-block allocas ahead of control flow (#220496)

HoistAllocas returns early when an alloca was already in the entry
block, but being in the block is not the same as being ahead of the
control flow in it. The pass runs before FlattenCFG, which splits the
body at each structured control-flow op, so an alloca sitting after one
is left in a block that is no longer the entry block.

That matters because SROA only collects allocas from the entry block. An
alloca stranded behind a scope is invisible to it and never promoted, so
anything whose address it holds stays in memory.


  Commit: ddf2077559587500f47e3666c696b7366bb36af0
      https://github.com/llvm/llvm-project/commit/ddf2077559587500f47e3666c696b7366bb36af0
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/FinalizeISel.cpp
    M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp

  Log Message:
  -----------
  [GlobalISel] Fix duplicate finalizeLowering calls (NFC) (#221902)

Improves CTMark geomean -0.07% on aarch64-O0-g.

https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=d8b1a78ba013d5e687acc0e8bf00d3d77749f3db&stat=instructions:u

Assisted-by: codex


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

  Changed paths:
    M llvm/include/llvm/CodeGen/FastISel.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/Analysis/Lint.cpp
    M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/IR/VerifierAMDGPU.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/ARM/ARMFastISel.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    M llvm/test/Analysis/BasicAA/call-attrs.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call-sret.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/call-translator.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/swifterror.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/swiftself.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-sret.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
    M llvm/test/CodeGen/AMDGPU/fncall-implicitdef.ll
    M llvm/test/CodeGen/AMDGPU/swdev504645-global-fold.ll
    M llvm/test/CodeGen/AMDGPU/waterfall-call-inreg-agpr.ll
    M llvm/test/CodeGen/ARM/returned-ext.ll
    M llvm/test/CodeGen/ARM/struct-byval-loop.ll
    M llvm/test/CodeGen/M68k/multiple-return.ll
    M llvm/test/CodeGen/NVPTX/forward-ld-param.ll
    M llvm/test/CodeGen/RISCV/rvv/shrinkwrap.ll
    M llvm/test/CodeGen/RISCV/shrinkwrap.ll
    M llvm/test/CodeGen/SPARC/64abi.ll
    M llvm/test/CodeGen/SystemZ/args-14.ll
    M llvm/test/CodeGen/SystemZ/call-zos-01.ll
    M llvm/test/CodeGen/VE/Scalar/call.ll
    M llvm/test/CodeGen/VE/Scalar/va_callee.ll
    M llvm/test/CodeGen/VE/Vector/fastcc_caller.ll
    M llvm/test/CodeGen/WebAssembly/signext-zeroext-callsite.ll
    M llvm/test/CodeGen/X86/bool-zext.ll
    M llvm/test/CodeGen/X86/return-ext.ll
    M llvm/test/Instrumentation/ThreadSanitizer/tsan_basic.ll
    M llvm/test/Transforms/DeadArgElim/deadexternal.ll
    M llvm/test/Transforms/Inline/access-attributes-prop.ll
    M llvm/test/Transforms/PhaseOrdering/pr64289-tce.ll
    M llvm/test/Transforms/SROA/readonlynocapture.ll
    M llvm/test/Transforms/SimplifyCFG/hoist-sink-swifterror-store.ll
    M llvm/unittests/IR/AttributesTest.cpp

  Log Message:
  -----------
  [IR] Do not inherit ABI attributes from the callee (#207173)

Usually attributes that are missing on the call-site are inherited form
the callee instead. This is fine for optional optimization attributes,
but problematic for ABI-affecting attributes.

ABI attributes generally must be placed at the call-site as well,
because there is no callee to inherit from for indirect calls. Failing
to specify ABI attributes at the call-site generally indicates a bug.

The motivation for being stricter about this (apart from just being the
right thing to do) is to properly support cases where the attributes at
the call-site and the callee actually differ. Two examples I'm aware of
are:

* During cross-language LTO, it's possible to have one side use a `ptr`
argument and the other a `ptr byval(ptr)` argument. Both represent the
same ABI using different IR encodings, but you can't just inherit the
`byval` attribute from one to the other (because the byval case requires
an additional level of indirection in use of the argument).
* To fix our incompatibility with the x86-64 psABI, I believe we'll want
to do something like emit zeroext/signext at function returns and
call-site arguments only, so that we both don't assume incoming values
are zero/sign-extended, but still zero/sign-extend outgoing values. This
makes sure we still remain compatible with old Clang-generated object
files.

We've attempted to make a change like this previously, but ran into
substantial issues with missing call-site attributes on
compiler-inserted calls. The issue was particularly severe on s390x,
which requires zeroext/signext on more values than other architectures.
I believe that the situation here has improved a lot in the meantime,
with libcalls now inferring mandatory ABI attributes, and s390x also
using a noext attribute plus validation logic in the backend to detect
cases where the necessary attributes are missing.

-----

ABI attributes on call-sites must be queried using `hasABIParamAttr()`
and `hasABIRetAttr()` instead of `paramHasAttr()` and `hasRetAttr()`
now. Passing an ABI attribute to the latter two will result in an
assertion failure.


  Commit: 8c3cb9c166e8f5ade26bc90a4a4cf5ec628f894f
      https://github.com/llvm/llvm-project/commit/8c3cb9c166e8f5ade26bc90a4a4cf5ec628f894f
  Author: Vikram Hegde <Vikram.Hegde at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePipeliner.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/swp-amdgpu-pipeline-epilog-phi.mir
    M llvm/test/CodeGen/AMDGPU/swp-amdgpu-pipeline-gen-structure.mir
    M llvm/test/CodeGen/AMDGPU/swp-amdgpu-pipeline-loop-carried-mem.mir

  Log Message:
  -----------
  [CodeGen][NPM] Port MachinePipeliner to NPM (#221676)

changes of note,
1. registers the pass with AMDGPUCodeGenPassBuilder::addPreRegAlloc()
2. Changes the core MachinePipeliner::run() method to return actual
"Changed" state


  Commit: d0a59913f8cfc3041c9d284e36858aedbf8dfa0e
      https://github.com/llvm/llvm-project/commit/d0a59913f8cfc3041c9d284e36858aedbf8dfa0e
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/DerivedTypes.h
    M llvm/include/llvm/IR/Type.h
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/unittests/SandboxIR/TypesTest.cpp

  Log Message:
  -----------
  [IR] Remove obsolete visited sets from type queries (NFC) (#221743)

Recursive types have been rejected since 2024 (#114799), making the
visited sets in type queries unnecessary.

Improves CTMark geomean -0.08% on aarch64-O0-g. Also improves
compile-time slightly for several other targets.

https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=45c1423e7e38b6950ae760fc159ecb69cafdd691&stat=instructions%3Au

Assisted-by: codex


  Commit: 531a8ac4c959dbdabcb4fea4a31beecde36bcdd9
      https://github.com/llvm/llvm-project/commit/531a8ac4c959dbdabcb4fea4a31beecde36bcdd9
  Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
    M llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
    M llvm/test/CodeGen/SPIRV/debug-info/debug-function-definition-call-before-alloca.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-function-definition-calls.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-function-definition-external-call.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-inlined-at-recursive.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-inlined-at.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-line-block.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-line-calls.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-line-if-phi.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-line-loop-merge.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-line-loop.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-line-selection-merge.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-line-shared.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-line.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-no-line.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-scope-block.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-scope-no-scope-block.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-scope-no-scope.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-scope-same-line.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-scope-shared.ll
    A llvm/test/CodeGen/SPIRV/debug-info/debug-scope.ll

  Log Message:
  -----------
  Add support for NSDI DebugScope, DebugNoScope and DebugInlinedAt (#218959)

Add support for NSDI
[DebugScope](https://github.khronos.org/SPIRV-Registry/nonsemantic/NonSemantic.Shader.DebugInfo.html#DebugScope),
[DebugNoScope](https://github.khronos.org/SPIRV-Registry/nonsemantic/NonSemantic.Shader.DebugInfo.html#DebugNoScope)
and
[DebugInlinedAt](https://github.khronos.org/SPIRV-Registry/nonsemantic/NonSemantic.Shader.DebugInfo.html#DebugInlinedAt).

DebugScope/DebugNoScope are region delimiters following the same region
rule as DebugLine/DebugNoLine. The two regions are tracked separately
because a DebugScope region could span several DebugLine regions, and
either can skip emission on a cache miss at different times.

DebugInlinedAt is not an region instruction, so it is emitted at module
scope. We allow recursive traversal when building them to support
chains.

The PR also adds a test showing a limitation in the DebugLine
deduplication that is at the DILocation pointer level which may lead to
duplicate opcodes.


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

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
    M llvm/include/llvm/ADT/DenseMap.h
    M llvm/lib/MCA/InstrBuilder.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    M llvm/unittests/ADT/DenseMapTest.cpp
    M llvm/utils/lldbDataFormatters.py
    M third-party/unittest/googletest/include/gtest/internal/custom/gtest-printers.h

  Log Message:
  -----------
  [ADT] Give DenseMapPair its own members instead of a std::pair base. NFC (#221853)

std::pair declares a copy assignment operator, so it is not trivially
copyable. destroyAll and copyFrom therefore ask about KeyT and ValueT
separately. Hold first and second directly.

Conversion to std::pair is explicit; insert also takes a bucket, and a
converting constructor keeps range insert working across pair types.

Co-authored-by: Kazu Hirata <kazu at google.com>


  Commit: 5bf967cb132bf6700474813f961f657af6ef83ea
      https://github.com/llvm/llvm-project/commit/5bf967cb132bf6700474813f961f657af6ef83ea
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/test/CodeGen/target-data.c
    M clang/test/CodeGenHIP/amdgpu-barrier-type.hip
    M clang/test/CodeGenOpenCL/amdgpu-env-amdgcn.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
    M lld/test/ELF/lto/amdgcn-oses.ll
    M lld/test/ELF/lto/amdgcn.ll
    M lld/test/ELF/lto/amdgpu.ll
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/Support/AMDGPUAddrSpace.h
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMachineFunctionInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/TargetParser/TargetDataLayout.cpp
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/always_uniform.ll
    A llvm/test/CodeGen/AMDGPU/addrspacecast-barrier.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-lower-exec-sync-and-module-lds.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-lower-exec-sync-and-sw-lds.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-lower-exec-sync.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
    M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
    M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
    M llvm/test/CodeGen/AMDGPU/attributor-noalias-addrspace.ll
    A llvm/test/CodeGen/AMDGPU/barrier-addrspace-dereference.ll
    M llvm/test/CodeGen/AMDGPU/lds-link-time-codegen-named-barrier.ll
    M llvm/test/CodeGen/AMDGPU/lds-link-time-named-barrier.ll
    A llvm/test/CodeGen/AMDGPU/null-named-barrier-gv.ll
    M llvm/test/CodeGen/AMDGPU/s-barrier-id-allocation.ll
    A llvm/test/CodeGen/AMDGPU/s-barrier-lowering-bad-absolute-symbol.ll
    A llvm/test/CodeGen/AMDGPU/s-barrier-lowering-wrong-gv-signature.ll
    M llvm/test/CodeGen/AMDGPU/s-barrier-lowering.ll
    M llvm/test/CodeGen/AMDGPU/s-barrier-signal-var-gep.ll
    M llvm/test/CodeGen/AMDGPU/s-barrier.ll
    M llvm/test/CodeGen/AMDGPU/s-wakeup-barrier.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.td
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl-barriers-gfx12.mlir
    M mlir/test/Dialect/LLVMIR/rocdl.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [RFC][AMDGPU] Add BARRIER address space (#209746)

Add a new BARRIER address space that is used for global variables that
are used to represent the barrier IDs in GFX12.5.

These barrier addresses just have values corresponding 1-1 to barrier
IDs. They are still implemented on top of LDS, but the offsetting
happens during an addrspacecast to generic, not whenever the barrier GV
is used.

The motivation for this is to make the relation between LDS and barrier
GVs explicit in the compiler. It does add a bit more complexity, but
that complexity was already there, just hidden by pretending barrier GVs
were actual LDS.


  Commit: 59c5d5efb7343424d243e4a3972f7b24a07b115d
      https://github.com/llvm/llvm-project/commit/59c5d5efb7343424d243e4a3972f7b24a07b115d
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    A llvm/test/CodeGen/X86/branch-on-zero.ll

  Log Message:
  -----------
  [X86] Enable preferZeroCompareBranch() (#219919)

This makes CodeGenPrepare reorganize code such as:

```
%c = icmp eq i32 %x, 10
br %c, then, else
%a = add i32 %x, -10
```

into

```
%a = add i32 %x, -10
%cmp = icmp eq %a, 0
%br %cmp, then, else
```

so that the zero-compare and branch gets lowered to a JCC based on the
flags from the arithmetic instruction.

This was already enabled for ARM, SystemZ and RISC-V, but seems a good
fit for X86 too, as mentioned in Issue #58636.


  Commit: cdab5d7b28a38112cf91784ea7d404d2d4c6a68e
      https://github.com/llvm/llvm-project/commit/cdab5d7b28a38112cf91784ea7d404d2d4c6a68e
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/Support/AMDGPUAddrSpace.h
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/test/CodeGen/AMDGPU/addrspacecast-barrier.ll

  Log Message:
  -----------
  [AMDGPU] Add synthetic apertures and use them for barriers (#209748)

Define what a synthetic aperture is, and adjust the barrier AS
to use this new system. This makes the barrier AS even safer to
use as now we can use all 32 bits of it without ever risking
hitting a valid address of any kind (LDS or outside LDS).


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

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

  Log Message:
  -----------
  [VPlan] Add scalar-type-infer assert for casts (NFC) (#222258)

Casts require the ResultTy to be passed: add an assert to
computeScalarTypeForInstruction to guard against incorrect usage.


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

  Changed paths:
    M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
    M llvm/test/CodeGen/AMDGPU/loop-address.ll
    M llvm/test/CodeGen/Hexagon/insert4.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-v4i16.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-xor.ll
    M llvm/test/Transforms/LoopVectorize/dbg.value.ll
    M llvm/test/Transforms/LoopVectorize/vectorize-once.ll
    M llvm/test/Transforms/SimplifyCFG/volatile-phioper.ll

  Log Message:
  -----------
  llvm: Remove phantom fp-contract-model attributes from tests (#221925)

This attribute has never been consumed by upstream llvm,
or emitted by upstream clang. I can only guess this existed in
at least one downstream fork.


  Commit: f796b25647e378a02482ef383f2db45804d8fb72
      https://github.com/llvm/llvm-project/commit/f796b25647e378a02482ef383f2db45804d8fb72
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
    M llvm/lib/Target/Mips/MipsAsmPrinter.h
    A llvm/test/CodeGen/Mips/jalr-no-mangle.ll

  Log Message:
  -----------
  [Mips] Strip \x01 no-mangle prefix from R_MIPS_JALR symbol name (#219427)

R_MIPS_JALR relocation did not strip the \x01 no-mangle prefix, causing
linker to see two different symbols: my_target_sym and
\x01my_target_sym.

Use Mangler::getNameWithPrefix() to process the symbol name.

Fix #207470.


  Commit: 68a77b6106d375eabb8a7ec2585a0f3e0382c4a2
      https://github.com/llvm/llvm-project/commit/68a77b6106d375eabb8a7ec2585a0f3e0382c4a2
  Author: Steffen Larsen <sholstla at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-wave32.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-wave64.hip

  Log Message:
  -----------
  [CIR][AMDGPU] Implement inverse_ballot and read_exec codegen (#221661)

This commit implements the CIR codegen for the following AMDGPU
builtins:
- __builtin_amdgcn_inverse_ballot_w32
- __builtin_amdgcn_inverse_ballot_w64
- __builtin_amdgcn_read_exec
- __builtin_amdgcn_read_exec_lo
- __builtin_amdgcn_read_exec_hi

inverse_ballot_w32/w64 map to llvm.amdgcn.inverse.ballot. read_exec,
read_exec_lo and read_exec_hi read the exec mask as a ballot over an
all-true predicate, at least as wide as the wavefront.


  Commit: 411a8eea0c269fff79700da1b3a9e71914718d4b
      https://github.com/llvm/llvm-project/commit/411a8eea0c269fff79700da1b3a9e71914718d4b
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M openmp/runtime/src/i18n/en_US.txt
    M openmp/runtime/src/kmp_settings.cpp
    M openmp/runtime/src/kmp_traits.cpp
    M openmp/runtime/src/kmp_traits.h
    M openmp/runtime/unittests/Traits/TestOMPTraitParser.cpp

  Log Message:
  -----------
  [libomp] Parse OMP_DEFAULT_DEVICE with new device trait parser (#176166)

... but do not yet expose the new functionalities to the user. This is a
backward compatible update that is going to be followed by the step to
the OpenMP 6.0 semantics as defined in 4.3.8.


  Commit: 9a14832f08551e15620440391910bc6919904775
      https://github.com/llvm/llvm-project/commit/9a14832f08551e15620440391910bc6919904775
  Author: Valery Pykhtin <valery.pykhtin at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

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

  Log Message:
  -----------
  [AMDGPU] Check a wide copy dst reg against the dst operand's regclass (#221789)

The wide-copy check added in #214561 tested the destination against the
source operand's class. No test change: V_MOV_B64's source class VS_64
also accepts a VGPR destination, which is why it currently works. Adding
@robertvirany.

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


  Commit: cd2f66534d425b3db62fea6df9703ffb87c6c3c5
      https://github.com/llvm/llvm-project/commit/cd2f66534d425b3db62fea6df9703ffb87c6c3c5
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GISelWorkList.h

  Log Message:
  -----------
  [GlobalISel] Lazily reserve worklist maps (NFC) (#221900)

Small -0.03% geomean improvement on CTMark aarch64-O0-g, but consistent
little improvements across the board.

https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=1729db67721b79fcb72469111d543e6df28c1185&stat=instructions:u

Assisted-by: codex


  Commit: d6a334df0889026e0d91d3fc5adf452e0bbf0682
      https://github.com/llvm/llvm-project/commit/d6a334df0889026e0d91d3fc5adf452e0bbf0682
  Author: Petr Kurapov <petr.kurapov at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    A llvm/test/MC/AMDGPU/buffer-op-lds-operand.s
    A llvm/test/tools/llvm-mca/AMDGPU/buffer-op-lds-operand.s

  Log Message:
  -----------
  [AMDGPU][AsmParser]: Use dummy operand for parsing buffer LDS isAsync… (#219459)

… operand.

After the introduction of .async for LDS buffer ops variants, there a
similar mca crash addressed in
https://github.com/llvm/llvm-project/pull/165305. This parses a dummy
operand as a placeholder.


  Commit: 4b8b168e8b6897fe3816949a316002ee8aff2e98
      https://github.com/llvm/llvm-project/commit/4b8b168e8b6897fe3816949a316002ee8aff2e98
  Author: Andreas Leitner <leitner.andi at googlemail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/read-register-src-flat-scratch-base.ll
    A llvm/test/CodeGen/AMDGPU/read-write-register-src-flat-scratch-base-invalid-subtarget.ll
    A llvm/test/CodeGen/AMDGPU/type-mismatch-src-flat-scratch-base.ll
    A llvm/test/CodeGen/AMDGPU/write-register-src-flat-scratch-base.ll

  Log Message:
  -----------
  [AMDGPU] Add getRegisterByName support for src_flat_scratch_base (#220560)

Expose `src_flat_scratch_base`, `src_flat_scratch_base_lo`, and
`src_flat_scratch_base_hi` through `llvm.read_register` /
`llvm.write_register`.

The implementation is basically the same as the existing named-register
support for `flat_scratch`

It errors out on targets without `FeatureGloballyAddressableScratch`
(pre-gfx1250).


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

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
    M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/test/Transforms/LoopVectorize/VPlan/execution-frequencies-match-bfi.ll
    M llvm/test/Transforms/LoopVectorize/replicate-region-cost-probability.ll
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h

  Log Message:
  -----------
  [VPlan] Record estimated branch probabilities on VPlan0 for cost modeling (#216172)

Update execution frequency/probability tracking in VPlan to also include
estimates from BFI, and use the information in VPlan for VPlan-based
cost computations, removing another remaining IR-based lookup.

We need to differentiate between estimated and concrete profile
information when annotating branches with information from BFI (using
custom !vplan.prof.estimated metadata instead of !prof) and track if a
computed frequency contains any estimates using an extra bool which is
also encoded in the metadata (so we do not synthesize !prof
for such frequencies during codegen).

The new code should only request BFI if needed, and compile-time impact
should be in the noise:

https://llvm-compile-time-tracker.com/compare.php?from=8436dd4a2bfe57d0b3fb6c9c11c69d75c1d1bccb&to=4d60694fed5e5765d4f5a2a72aac7b8674e512e2&stat=instructions:u

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


  Commit: 17b659b8444a957ea2b42cb4e91d65897fee7558
      https://github.com/llvm/llvm-project/commit/17b659b8444a957ea2b42cb4e91d65897fee7558
  Author: Yao Qi <yao_qi at apple.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M lldb/unittests/Target/MemoryTest.cpp

  Log Message:
  -----------
  [lldb] [unittests] Cover what the memory cache reads from the inferior (#221015)

`MemoryCache`'s tests checked how many bytes a read returned, never
which requests the cache made to get them, so a change to the request
shape could not fail a test.  Add four tests over the request log
`DummyProcess` now keeps.

Two assert what the cache sends: `TestReadRequestShape` checks the
address and size of every request, and `TestReadRangesFromCaches` checks
that a range the cache already holds is served without reaching the
inferior.

`TestFlushAtTheTopOfTheAddressSpace` pins `Flush`'s current behavior at
the wrap, not correct behavior.  When a flushed range wraps past
`UINT64_MAX`, `Flush` counts cache lines only from the start of the
range to the top of the address space, never the lines the wrapped
portion covers between address 0 and the range's end.  This bug predates
this change; the following cache-partition change fixes it, and this
test's assertion that address 0 survives the flush will need to flip
once
that lands.

`TesetMemoryCacheRead` gains one assertion, that a line whose reply
falls short leaves the error alone, next to the two requests it already
checks.

Also add a `CacheTestProcess` helper and use it in the seven cache
tests, so each states its setup in two lines rather than thirteen, and
expose the L2 map next to L1 for assertions.

---------

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


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/test/CodeGen/AMDGPU/idemponent-atomics.ll
    M llvm/test/CodeGen/AMDGPU/mmra.ll

  Log Message:
  -----------
  [AMDGPU] Remove unsound idempotent atomicrmw to atomic load lowering (#218377)

An idempotent atomicrmw still holds a slot in the modification order, so
folding it to a plain load can drop synchronization the memory model
requires


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

  Changed paths:
    M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
    M llvm/test/CodeGen/AMDGPU/loop-address.ll
    M llvm/test/CodeGen/Hexagon/insert4.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-v4i16.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-xor.ll
    M llvm/test/Transforms/LoopVectorize/dbg.value.ll
    M llvm/test/Transforms/LoopVectorize/vectorize-once.ll
    M llvm/test/Transforms/SimplifyCFG/volatile-phioper.ll

  Log Message:
  -----------
  llvm: Remove phantom ssp-buffers-size attributes from tests (#221928)

"ssp-buffers-size" was never a real function attribute. There is
"stack-protector-buffer-size". This may have existed in a downstream
fork, but it's also irrelevant for these tests.

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


  Commit: 4af454042b636fc6f7b1b99e178247989863b8e5
      https://github.com/llvm/llvm-project/commit/4af454042b636fc6f7b1b99e178247989863b8e5
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M mlir/docs/Remarks.md
    M mlir/include/mlir/IR/Remarks.h
    M mlir/lib/IR/Remarks.cpp
    M mlir/unittests/IR/RemarkTest.cpp

  Log Message:
  -----------
  [MLIR][Remark] Expose RemarkEngine filter queries (#222262)

Expose following filter APIs publicly:

```
| Query                                        | Answers                                              |
|----------------------------------------------|------------------------------------------------------|
| `isAnyRemarkEnabled()`                       | At least one category filter is active               |
| `isAnyRemarkEnabled(category)`               | Some kind of remark is enabled for the category      |
| `isRemarkEnabled(kind, category)`            | Remarks of `kind` are enabled for the category       |
| `is{Passed,Missed,Analysis,Failed}OptRemarkEnabled(category)` | Per-kind query                      |
```

Assisted by Claude Fable 5.1


  Commit: 468a7300de067ec0581f51cbfb56421f4b13eaf0
      https://github.com/llvm/llvm-project/commit/468a7300de067ec0581f51cbfb56421f4b13eaf0
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M lldb/source/Host/common/NativeProcessProtocol.cpp

  Log Message:
  -----------
  [lldb][lldb-server] Log possible breakpoint PC in hex (#222285)


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

  Changed paths:
    A llvm/test/CodeGen/AArch64/fp-intrinsics-bf16.ll

  Log Message:
  -----------
  [NFC][LLVM][AArch64] Add test coverage for scalar bfloat constrained intrinsics. (#222076)

Tests are a clone of fp-intrinsics-fp16.ll with s/half/bfloat/ applied
and failing tests (fcmp and i128 variants) removed.


  Commit: 4e7628708d6d09c4051fd1fa54cb6b517db326fe
      https://github.com/llvm/llvm-project/commit/4e7628708d6d09c4051fd1fa54cb6b517db326fe
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp

  Log Message:
  -----------
  [GlobalISel] Restrict value offset tracking to aggregates (NFC) (#221287)

The single-vreg fast path added in d30d5fe8dd5d3 still populated an
offset list, even though offsets are only necessary for aggregate
values.

This wasn't the only place doing so. Avoid creating or updating offset
lists for non-aggregate values and add an assertion to enforce this
invariant.

Small -0.04% geomean improvement on CTMark aarch64-O0-g.

https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=2aeb9d236a2cacf8ab93722b8b629243384bae68&stat=instructions:u

Assisted-by: codex


  Commit: cc38b29781cbc0a2b525a18833adf61c51375af2
      https://github.com/llvm/llvm-project/commit/cc38b29781cbc0a2b525a18833adf61c51375af2
  Author: Tianyi Chen <diannaaav at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/test/Misc/cc1as-darwin-target-variant-sdk-version.s
    M clang/test/Misc/cc1as-darwin-target-variant-triple.s
    M llvm/test/MC/MachO/diff-with-two-sections.s
    M llvm/test/MC/MachO/weakdef.s
    M llvm/test/MC/MachO/zero-space.s
    A llvm/test/tools/llvm-readobj/MachO/cpu-capabilities.yaml
    M llvm/test/tools/llvm-readobj/MachO/file-headers-arm64.test
    M llvm/test/tools/llvm-readobj/MachO/file-headers.test
    M llvm/tools/llvm-readobj/MachODumper.cpp

  Log Message:
  -----------
  [llvm-readobj] Display Mach-O CPU capability bits (#221617)

The Mach-O file header output masks the capability bits out of
`cpusubtype`
without printing them separately, so this information is missing from
the
output.

Add a `CpuCapabilities` field to print the high byte in hexadecimal,
matching the numeric representation used by `llvm-objdump`.

Fixes #80198.

Assisted-by: OpenAI Codex (implementation, tests, and initial
description).


  Commit: 6a20cac62912114cbc9208b565cf88fd73f21377
      https://github.com/llvm/llvm-project/commit/6a20cac62912114cbc9208b565cf88fd73f21377
  Author: Tianyi Chen <diannaaav at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objdump.md
    M llvm/tools/llvm-objdump/ObjdumpOpts.td

  Log Message:
  -----------
  [llvm-objdump] Document selecting symbols containing commas (#221619)

The documentation does not clearly distinguish how
`--disassemble-symbols=`
and `--disassemble=<symbol>` handle their arguments, making it easy to
overlook how to select symbols whose names contain commas.

Update the command guide and help text to explain that the former
accepts
a comma-separated list of symbols, while the latter accepts a single
symbol
name and may be specified multiple times.

Assisted-by: OpenAI Codex


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV3.td
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-neon-instructions.s

  Log Message:
  -----------
  [AArch64] Add Neoverse V3 scheduling info for v264 frecpe (#221917)

This was missing, falling back to the default information. It should be
like the others.

This is the Neoverse V3 equivalent of #219115


  Commit: 3d2f88da6e15645080d852d52c32435b62aca97b
      https://github.com/llvm/llvm-project/commit/3d2f88da6e15645080d852d52c32435b62aca97b
  Author: Timur Golubovich <timur.golubovich at intel.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx512-masked-op-fusion.ll

  Log Message:
  -----------
  [X86] Fix commuteSelect miscompile with double-used condition value (#219436)

The multi-use loop iterated `Cond->users()` which yields duplicates when
a select uses the condition in multiple operand positions. This caused a
double-commute and iterator corruption, leaving other selects with an
inverted condition but unswapped operands.

Remove the in-place mutation loop and return a new select node. The DAG
combiner visits each select independently and `getSetCC` CSEs the
inverted condition so all commuted selects share it.


  Commit: 4200a8e34e488aaf9c1b5b1966aa4c1bbec8b4d5
      https://github.com/llvm/llvm-project/commit/4200a8e34e488aaf9c1b5b1966aa4c1bbec8b4d5
  Author: Oscar Priego <oscar.priegov at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86CompressEVEX.cpp
    M llvm/test/CodeGen/X86/avx512-regcall-NoMask.ll
    M llvm/test/CodeGen/X86/compress-evex-vpmov-blendv.mir
    M llvm/test/CodeGen/X86/compress-evex-vpmov-kill.mir

  Log Message:
  -----------
  [X86] Compress masked VPBLENDM using VBLENDV (#221838)

Fixes #221678.

This extends the X86 EVEX compression pass to recognize compatible
`VPMOVD2M/VPMOVQ2M + VPBLENDMD/VPBLENDMQ` patterns and replace them with
the corresponding VEX `VBLENDVPS/VBLENDVPD` instruction when the mask
width and element granularity match.

For example, the reported AVX-512 sequence:

```asm
vpslld    $31, %xmm0, %xmm0
vpmovd2m  %xmm0, %k1
vpblendmd %xmm1, %xmm2, %xmm0 {%k1}
```

is reduced to:

```asm
vpslld    $31, %xmm0, %xmm0
vblendvps %xmm0, %xmm1, %xmm2, %xmm0
```

The fold is restricted to compatible producer/consumer pairs.
Mixed-width or mixed-element-granularity cases such as
`VPMOVD2MZ128 + VPBLENDMQZ256` are intentionally left unchanged.

The MIR coverage includes:

- 128-bit and 256-bit dword/qword positive cases.
- An incompatible-width negative case.
- Kill/liveness preservation for the reused vector mask.

The existing `avx512-regcall-NoMask.ll` codegen checks are also updated
to reflect the optimized `VBLENDVPS` sequence produced by this fold.

Local validation includes:

- `compress-evex-vpmov-blendv.mir`
- `compress-evex-vpmov-kill.mir`
- `avx512-regcall-NoMask.ll`
- `compress-evex-sign-mask.mir`
- `evex-to-vex-compress.mir`
- `bitcast-sign-mask.ll`

AI-assisted tools were used during investigation and development.
The resulting changes were reviewed, modified, validated, and tested by
me.

Signed-off-by: Oscar Priego Verdugo <oscar.priegov at gmail.com>


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

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/lib/AST/ASTContext.cpp

  Log Message:
  -----------
  [clang][AST][NFC] Make ASTContext::isPFPField() static (#220265)


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

  Changed paths:
    M lldb/source/Target/StackFrameRecognizer.cpp
    M lldb/test/API/commands/frame/recognizer/step-through/TestFrameRecognizerStepThrough.py

  Log Message:
  -----------
  [lldb] Match frame recognizers by function when the frame has no symbol (#222060)

A frame can have a function without having a symbol: a PE/COFF image
built with DWARF carries no symbol table at all, so `symctx.symbol` is
null on Windows while `symctx.function` resolves fine from the debug
info. `GetRecognizerForFrame` bailed out on `!symbol`, so no frame
recognizer ever matched there.

Fall back to the function's start address when there is no symbol. The
symbol still wins when both are present, so this is a no-op on
ELF/Mach-O.

This fixes `TestFrameRecognizerStepThrough.py`.


  Commit: 48ae4d3b158042b4ad77a6b23aa412aedac7105a
      https://github.com/llvm/llvm-project/commit/48ae4d3b158042b4ad77a6b23aa412aedac7105a
  Author: William Tran-Viet <wtranviet at proton.me>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M libcxx/include/__optional/optional_ref.h
    M libcxx/test/std/utilities/optional/optional.monadic/transform.pass.cpp

  Log Message:
  -----------
  [libc++] Fix `optional<T>::transform` into `optional<T&>` (#221506)

Resolves #220332

- Make `optional<T>` a friend of `optional<T&>`, and add tests.


  Commit: 6b728014512aefa838e3b1674355589c901cdde2
      https://github.com/llvm/llvm-project/commit/6b728014512aefa838e3b1674355589c901cdde2
  Author: Alexander Wilson <rdtscp at meta.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M bolt/lib/Core/Relocation.cpp
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Target/RISCV/RISCVMCSymbolizer.cpp
    M bolt/lib/Target/RISCV/RISCVMCSymbolizer.h
    A bolt/test/RISCV/call-relocation-pair.s
    A bolt/test/RISCV/unsymbolized-call-edge.s
    A bolt/test/RISCV/unsymbolized-call-entry.s
    A bolt/test/RISCV/unsymbolized-call.s
    A bolt/test/RISCV/unsymbolized-long-jump.s

  Log Message:
  -----------
  [BOLT][RISCV] Fix AUIPC/JALR call rewriting (#216882)

This builds on the RISC-V decoder support from #217550 and the BOLT
target symbolizer and GOT relocation handling from #217944, both of
which are now merged.

`R_RISCV_CALL` and `R_RISCV_CALL_PLT` cover an AUIPC/JALR pair, but BOLT
treated them as four-byte relocations and decoded only the AUIPC
immediate. Read both instructions and combine their signed high and low
immediates so relocated call targets retain the low 12 bits.

LTO can also leave linker-resolved intra-section AUIPC/JALR calls
without relocations. On RV64, recognize standard call and tail-call
pairs during disassembly, reconstruct the target (including JALR
target-bit clearing), and attach an exact entry-point symbol before
function reordering. Alternate link-register preservation is provided by
the merged #218408.

This follows the RISC-V Unprivileged ISA sections on AUIPC and JALR:
https://docs.riscv.org/reference/isa/v20260120/unpriv/rv32.html

It also follows the RISC-V ELF psABI procedure-call relocations:
https://riscv-non-isa.github.io/riscv-elf-psabi-doc/#_relocations

Tests cover relocation-backed calls, relocation-free RV64 calls and tail
calls, exact function entry points, signed offsets, JALR target-bit
clearing, and rejection of near matches.

Validation:

- Rebuilt `llvm-bolt`, `llvm-mc`, `llvm-objdump`, `llvm-readelf`, and
`lld`.
- All 658 tests in `bolt/test/RISCV` and `llvm/test/MC/RISCV` pass on
current `main`.

**Scope:** Relocation-free recovery is intentionally RV64-only. RV32
XLEN-wrapped target arithmetic remains out of scope. Symbolizer
infrastructure and GOT correctness are provided by #217944 rather than
this PR.

Assisted-by: Codex


  Commit: accf16eec44ec81449fe8cbf0ddd53c1ff567247
      https://github.com/llvm/llvm-project/commit/accf16eec44ec81449fe8cbf0ddd53c1ff567247
  Author: Mariya Podchishchaeva <Mariya.Podchishchaeva at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/include/clang/Lex/Lexer.h
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseTentative.cpp
    A clang/test/Parser/cuda-operator-lesslessless.cu

  Log Message:
  -----------
  [clang][CUDA/HIP] Fix parsing of `operator<<<...>` (#218384)

In CUDA mode Lexer merges `<<<` into a single token and Parser fails to
recognize that it is actually a template specialization of `operator<<`
and not a CUDA kernel call expression. Split `<<<` following operator
token to `<<` and `<`.


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

  Changed paths:
    M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
    M llvm/test/CodeGen/AMDGPU/loop-address.ll
    M llvm/test/CodeGen/Hexagon/insert4.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-v4i16.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-xor.ll
    M llvm/test/Transforms/LoopVectorize/dbg.value.ll
    M llvm/test/Transforms/LoopVectorize/vectorize-once.ll
    M llvm/test/Transforms/SimplifyCFG/volatile-phioper.ll

  Log Message:
  -----------
  llvm: Remove phantom relocation-model attributes from tests (#221931)

"relocation-model" was never a real function attribute.

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


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

  Changed paths:
    M lld/test/ELF/amdgpu-tid.s
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/test/MC/AMDGPU/amdgcn-target-directive-conflict.s
    M llvm/test/MC/AMDGPU/amdgcn_target_directive_from_eflags.s
    M llvm/test/MC/AMDGPU/hsa-diag-v4.s
    M llvm/test/MC/AMDGPU/hsa-tg-split.s
    M llvm/test/MC/AMDGPU/hsa-v4.s
    M llvm/test/MC/AMDGPU/hsa-v5-uses-dynamic-stack.s
    M llvm/test/MC/AMDGPU/user-sgpr-count.s
    M llvm/test/MC/AMDGPU/xnack-mask.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-cov5.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx10.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx90a.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx950.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-sgpr.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-vgpr.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx10.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx9.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-raw.s

  Log Message:
  -----------
  AMDGPU: Remove xnack and sramecc subtarget features (#212792)

Now that these are controlled by module flags, the subtarget
features were just used for assembler and disassembler controls.
Now that the assembler and disassembler can infer these from
the e_flags and target directives, they are no longer necessary.

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


  Commit: ebeb871f9a5fd31f088b7fb952c99cc4da17eeb1
      https://github.com/llvm/llvm-project/commit/ebeb871f9a5fd31f088b7fb952c99cc4da17eeb1
  Author: Tuomas Kärnä <tuomas.karna at intel.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp

  Log Message:
  -----------
  [MLIR][XeGPU] Restrict XeGPUPropagateLayout analysis scope (#221793)

This PR prevents concurrent access to traversal and mutation of the
shared IR by restricting the walk scope to determine program order
within each gpu.module.

Previously, although the pass is scoped to a single gpu.module, this
walk climbs all the way up to the enclosing top-level builtin.module and
traverses the entire module — including sibling gpu.modules. When there
is multiple gpu.modules, it causes concurrent traversal and mutation of
the shared IR and eventually leads to a segfault.

Assisted-by: Claude


  Commit: b3e641630cbe0c25022e6033bdfc1cbf1fc215b4
      https://github.com/llvm/llvm-project/commit/b3e641630cbe0c25022e6033bdfc1cbf1fc215b4
  Author: Tomohiro Kashiwada <kikairoya at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/test/SemaCXX/dllimport.cpp

  Log Message:
  -----------
  [Clang](NFC) Rewrite test/SemaCXX/dllimport.cpp as done for dllexport.cpp (#191391)


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

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/AArch64/select-first-index-narrow.ll
    A llvm/test/Transforms/LoopVectorize/find-last-ptr-induction.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
    A llvm/test/Transforms/LoopVectorize/select-first-index-narrow.ll

  Log Message:
  -----------
  [LV] Add tests for argmin/argmax with a narrow index and ptr IVs (NFC) (#222290)

Extend test coverage for argmin/argmax with truncated IVs and pointer
inductions.


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

  Changed paths:
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
    A flang/unittests/Optimizer/AliasAnalysisRecursiveEffectsCacheTest.cpp
    M flang/unittests/Optimizer/CMakeLists.txt

  Log Message:
  -----------
  [fir][aa] Add opt-in cache for use by fir `AliasAnalysis` clients (#221973)

Adds `AliasAnalysisRecursiveEffectsCache`, an opt-in cache that memoizes
per-operation read/write summaries so that `getModRef` on an operation
with `HasRecursiveMemoryEffects` does not re-walk its nested regions on
every query.

This is independent of the `getSource()` memoization added separately:
that one is keyed on (value, flags) and answers "what memory does this
value refer to", while this one is keyed on the operation and answers
"what does this operation and everything nested in it read and write".
LICM enables both, since it only hoists pure-read ops and so invalidates
neither.


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

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp

  Log Message:
  -----------
  PowerPC: Drop AllowFPOpFusion from isProfitableToHoist (#221347)


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

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

  Log Message:
  -----------
  [SLP]Exclude splat gather subtrees from the store chain retry size

The tree size recorded for a failed store chain attempt gates the
larger-VF retries. The splat gather subtrees are auxiliary to the store
tree and inflated the recorded size, so the deviation check skipped the
VF=4 retry and the chain fell back to VF=2 or scalar.

Reviewers: bababuck, RKSimon

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


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-drop.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-store-chain.ll
    M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reorder_phi.ll

  Log Message:
  -----------
  [SLP]Drop unprofitable splat gather subtrees

The keep/drop check ran only when trimming changed something and
ignored the splat emission cost on both sides. Run it in both paths
with the actual costs: keep the subtree if its price plus extracts plus
the reusing gathers' current costs is not worse than re-emitting those
gathers without it. Exclude splat roots from the main trimming loop.

Fixes the perf regression from #220250, reported in https://github.com/llvm/llvm-project/pull/220250?email_source=notifications&email_token=ABI45DSHUYRFN4NA4DILB5T5NZTZTA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKNJWG4ZTSMBZGUYKM4TFMFZW63VMON2GC5DFL5RWQYLOM5S2KZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-5567390950.

Reviewers: RKSimon, bababuck

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


  Commit: 82d63a1ee6083c0fda0d0ef795edce180dba298a
      https://github.com/llvm/llvm-project/commit/82d63a1ee6083c0fda0d0ef795edce180dba298a
  Author: Alexander Wilson <rdtscp at meta.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M bolt/test/RISCV/call-relocation-pair.s

  Log Message:
  -----------
  [NFC][BOLT][RISCV] Fix call-relocation-pair test after NOP removal (#222308)

The test introduced by https://github.com/llvm/llvm-project/pull/216882
expects temporary NOPs from FixRISCVCalls in the emitted binary.
https://github.com/llvm/llvm-project/pull/221965 marks those NOPs for
removal, causing FileCheck to match trailing alignment padding instead
of the rewritten calls.

This caused the call-relocation-pair.s failure on
[bolt-aarch64-ubuntu-dylib, build
6378](https://lab.llvm.org/buildbot/#/builders/216/builds/6378).

Check emitted calls independently of the temporary NOPs and verify the
forward-call target symbols. Preserve the intermediate-pass NOP checks.

Validation: all five test RUN commands pass with local BOLT builds that
retain and remove the temporary NOPs. The original test reproduces the
reported FileCheck failure with the NOP-removing build.


  Commit: a6aa47a28dcffa1197fd42cd5b61cc8d5693e0f7
      https://github.com/llvm/llvm-project/commit/a6aa47a28dcffa1197fd42cd5b61cc8d5693e0f7
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

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

  Log Message:
  -----------
  [GlobalISel] Avoid unnecessary call setup work (NFC) (#221892)

Avoid processing call-site attributes twice: once in the attribute
helpers (now dead and deleted) and again in setArgFlags. Let setArgFlags
handle the call-site attributes. Also skip return setup for void calls.

Small -0.03% geomean improvement on CTMark aarch64-O0-g, but consistent
little improvements across the board.

https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=d2dfca2db156c259a66cfe2c749f786fec2946f0&stat=instructions:u

Assisted-by: codex


  Commit: 9a5a9a8a59bbfd0253ed005e231509de4436f2e8
      https://github.com/llvm/llvm-project/commit/9a5a9a8a59bbfd0253ed005e231509de4436f2e8
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M mlir/docs/Remarks.md
    A mlir/include/mlir/Remark/LLVMRemarkImport.h
    M mlir/include/mlir/Target/LLVM/ModuleToObject.h
    M mlir/lib/Remark/CMakeLists.txt
    A mlir/lib/Remark/LLVMRemarkImport.cpp
    M mlir/lib/Target/LLVM/CMakeLists.txt
    M mlir/lib/Target/LLVM/ModuleToObject.cpp
    A mlir/test/Dialect/GPU/module-to-binary-nvvm-remarks.mlir
    M mlir/unittests/CMakeLists.txt
    A mlir/unittests/Remark/CMakeLists.txt
    A mlir/unittests/Remark/LLVMRemarkImportTest.cpp
    M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp

  Log Message:
  -----------
  [MLIR][Remark] Import LLVM optimization remarks into the remark engine (#222300)

Collect LLVM side of remarks with MLIR's remark infra.

LLVM passes emit their own [optimization
remarks](https://llvm.org/docs/Remarks.html) and MLIR has own. This PR
bridges MLIR and LLVM remarks.

`ModuleToObject` installs a `remark::LLVMToMLIRDiagnosticHandler` on the
`llvm::LLVMContext` it compiles with, which imports these remarks into
the remark engine: the category is the LLVM pass name prefixed with
`llvm-`, the LLVM remark name becomes the name, the message is stored
under the `Remark` argument and the structured LLVM arguments are copied
as metrics. The remark filters therefore select LLVM remarks by pass
name, and `llvm-.*` selects all of them.

Assisted by Claude Fable 5.1

---------

Co-authored-by: Claude Fable 5.1 <noreply at anthropic.com>


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV3.td
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-sve-instructions.s

  Log Message:
  -----------
  [AArch64] Improve scheduling info for WHILE instruction (#221930)

They should have a throughput of 2, only using a single M microop.

This is the V3 equivalent of #219122.


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

  Changed paths:
    M orc-rt/include/CMakeLists.txt
    A orc-rt/include/orc-rt/support/Mangling.h
    M orc-rt/test/unit/CMakeLists.txt
    A orc-rt/test/unit/support/ManglingTest.cpp

  Log Message:
  -----------
  [orc-rt] Add Mangling.h with platform symbol name mangling (#222315)

This implements a cut-down version of the LLVM equivalent (in
llvm/include/llvm/ExecutionEngine/Orc/Shared/Mangler.h): SymbolNameSpec
pairs a name with a kind (assembly, C). Mangling functions
(withMangledNameDo, mangledCopy) apply mangling to SymbolNameSpecs based
on the symbol name kind.

These utilities will be used to report symbols (e.g. controller
interface symbols) in the platform's native mangling, so that linking
against them requires no special handling.


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

  Changed paths:
    M libcxx/include/__vector/vector_bool.h
    M libcxx/include/vector
    M libcxx/test/std/containers/sequences/vector.bool/emplace.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/emplace_back.pass.cpp

  Log Message:
  -----------
  [libc++] Backport resolution of LWG2187 to C++11 (#222006)

libc++ has LWG2187 implemented in
2d6e2834a8abcce862ef17c44f62e4de41662748 but only since C++14 mode.
Usually, resolution of an LWG issue should be treated as a Defect Report
and applied to old modes. In the case of LWG2187, the resolution should
be applied to C++11.


  Commit: 3e78191c307fc59521b7dd0820ce85f34339f90a
      https://github.com/llvm/llvm-project/commit/3e78191c307fc59521b7dd0820ce85f34339f90a
  Author: Alex <leha-bot at users.noreply.github.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [cpack][NSIS Installer] Make installer DPI-Aware (#128470)

See
https://cmake.org/cmake/help/latest/cpack_gen/nsis.html#variable:CPACK_NSIS_MANIFEST_DPI_AWARE
for details.


  Commit: 10d4bdf93a82fb290b8c55da6ed19ff54da67296
      https://github.com/llvm/llvm-project/commit/10d4bdf93a82fb290b8c55da6ed19ff54da67296
  Author: George Burgess IV <george.burgess.iv at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M libcxx/include/__hash_table
    M libcxx/include/__tree
    M libcxx/include/__utility/try_key_extraction.h
    M libcxx/test/std/containers/associative/set/emplace.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/emplace.pass.cpp

  Log Message:
  -----------
  [libc++] Opt `std::*set` out of map key extraction optimization (#220452)

PR #154512 (relanded by #155565) removed `__can_extract_map_key`, which
had a blanket opt-out for `std::*set`s. The new logic does not have that
opt-out, leading to `std::set`s being incorrectly constructed.

The new regression tests demonstrate this, but essentially the idea is:
1. Have `std::set<T> foo;`
2. Call `foo.emplace(some_t,
arg_that_influences_comparisons_or_hashes);`
3. The emplace will internally search using `some_t` as the key, *not*
`T(some_t, arg_that_influences_comparisons_or_hashes);`

This opts out `std::*set` from this optimization to match previous
behavior.

Tests and fix were produced by an LLM. I reviewed them and they seem
reasonable to me, though I don't have a strong background in libc++
testing conventions.

(Credit to Deva S, our partner who tracked this down. Unfortunately I
don't know his GH handle)

Fixes #220451


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

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/AttrKindDetail.h
    M mlir/test/Dialect/LLVMIR/parameter-attrs-invalid.mlir
    M mlir/test/Target/LLVMIR/Import/function-attributes.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [mlir][ABI] Add the nofreeobj param attr to the LLVM dialect (#222137)

Since #218404 clang marks every indirect argument nofreeobj rather than
nofree. LLVM allows it on returns too.

Assisted-by: Cursor / claude-opus-5


  Commit: 908172d3d701ff198749418e89f3f9917fa773e1
      https://github.com/llvm/llvm-project/commit/908172d3d701ff198749418e89f3f9917fa773e1
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M libc/src/__support/tlsf_table.h
    M libc/test/src/__support/tlsf_table_test.cpp

  Log Message:
  -----------
  [libc][baremetal] default NUM_TABLE_ENTRIES to a fixed value of 3 in TLSF (#221807)


  Commit: ff6ab759dbfd69a7b8138ed782f09dc979bad72e
      https://github.com/llvm/llvm-project/commit/ff6ab759dbfd69a7b8138ed782f09dc979bad72e
  Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/include/llvm-c/lto.h
    M llvm/tools/lto/lto.cpp
    M llvm/tools/lto/lto.exports

  Log Message:
  -----------
  [llvm-c][lto] Add lto_runtime_lib_symbols_list_for_triple (#221217)

The TableGen-generated `setTargetRuntimeLibcallSets` that is reached via
`getRuntimeLibcallSymbols` has no unconditional block — every branch is
arch-gated and returns, so an unknown triple sets nothing available, and
the list of symbols comes back empty.

This patch adds a second entry point to the C LTO API that takes a
triple and passes it along.

Bump `LTO_API_VERSION`.


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

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/SemaCXX/cxx20-default-compare.cpp

  Log Message:
  -----------
  [Clang] Skip invalid fields when synthesizing defaulted comparisons (#221570)

Fixes #194605

`CheckFieldDecl` already rejects `int [[clang::address_space(1)]] i;`
and marks the field invalid, but `DefaultedComparisonVisitor` still
visited it when synthesizing the defaulted `operator==`.
`BuildFieldReferenceExpr` then tripped the
`!MemberQuals.hasAddressSpace()` assertion. Both
`__is_trivially_equality_comparable(S)` and a plain `a == b` reach that
path.

`visitSubobjects` now skips invalid fields, the same way
`SpecialMemberVisitor` and the copy-assignment synthesis already do.
That covers the analyzer and the synthesizer together, and the assertion
stays in place since it still holds for valid code.


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

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/recurrence.ll

  Log Message:
  -----------
  [ValueTracking] Clarify KnownBits recurrence code (#222266)

While reviewing a related PR, I found the R/L variable naming here very
confusing. Use Start and Step instead, matching the parameter names of
matchSimpleRecurrence().

Also clarify why the context adjustment for the step is necessary, and
add a test that would miscompile if it isn't performed.


  Commit: 837a4eab85a2f4e638034a254a2bc74b1986b2ac
      https://github.com/llvm/llvm-project/commit/837a4eab85a2f4e638034a254a2bc74b1986b2ac
  Author: Linisha <linisha232 at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/X86ExpandPseudo.cpp
    A llvm/test/CodeGen/X86/eh-return-shstk-32.ll
    A llvm/test/CodeGen/X86/eh-return-shstk.ll

  Log Message:
  -----------
  [X86] Avoid invalid ret for EH_RETURN with SHSTK (#219322)

## Summary

Fixes #215298

When lowering `llvm.eh.return` on x86, LLVM rewrites the normal stack
return
address and then emits `ret`. This is incompatible with CET shadow
stacks:
the shadow stack still contains the original return address, so `ret`
raises
a control-protection fault.

This affects code using `__builtin_eh_return` with: -mshstk
-fcf-protection=full


## What changed

When SHSTK is enabled, the x86 `EH_RETURN` pseudo-instruction now
expands to:

```asm
movq %rcx, %rsp
popq %rcx
jmpq *%rcx
```

- The `pop` consumes the rewritten return target and advances the stack
pointer.
- `llvm.eh.return` performs a non-local control transfer to an
  explicitly supplied handler address, which was never pushed by a
  matching `call`. It therefore cannot satisfy `ret`'s architectural
  shadow-stack matching requirement regardless of implementation, so
  an indirect `jmp` is used instead.
- The existing `mov %rcx, %rsp; ret` sequence is preserved for targets
  without SHSTK support.
- The expansion handles 32-bit and 64-bit targets, including the
existing
  Windows/UEFI x64 indirect-jump variant.

## Testing

Added: `eh-return-shstk.ll`

The test verifies that:
- non-SHSTK targets continue to emit `ret`
- SHSTK targets emit `pop` followed by an indirect `jmp`
- machine instruction verification succeeds in both configurations

Validation performed:

```bash
ninja -C build llc FileCheck llvm-config count not
build/bin/llvm-lit -sv llvm/test/CodeGen/X86/eh-return-shstk.ll
```

Passed: 1 (100.00%)


The original C reproducer was also compiled with the rebuilt Clang. Its
`pop_frame` function now emits:

```asm
movq %rcx, %rsp
popq %rcx
jmpq *%rcx
```

Runtime execution of the reproducer could not be fully validated because
the
available environment is WSL2 without usable CET shadow-stack support.
The
compiler output and LLVM regression test both pass, but this does not
confirm the control-protection fault is resolved on real CET-enabled
hardware, only that the expected instruction sequence is now emitted.

---------

Co-authored-by: Phoebe Wang <phoebe.wang at intel.com>


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

  Changed paths:
    M clang/lib/CIR/Dialect/IR/CMakeLists.txt
    M clang/lib/CIR/Interfaces/CMakeLists.txt
    M mlir/include/mlir/Dialect/OpenACC/CMakeLists.txt
    M mlir/include/mlir/Dialect/OpenMP/CMakeLists.txt
    M mlir/include/mlir/Transforms/CMakeLists.txt
    M mlir/lib/Bytecode/CMakeLists.txt
    M mlir/lib/Dialect/ArmNeon/IR/CMakeLists.txt
    M mlir/lib/Dialect/ArmSME/IR/CMakeLists.txt
    M mlir/lib/Dialect/ArmSVE/IR/CMakeLists.txt
    M mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
    M mlir/lib/Dialect/DLTI/CMakeLists.txt
    M mlir/lib/Dialect/EmitC/IR/CMakeLists.txt
    M mlir/lib/Dialect/GPU/CMakeLists.txt
    M mlir/lib/Dialect/GPU/Utils/CMakeLists.txt
    M mlir/lib/Dialect/IRDL/CMakeLists.txt
    M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
    M mlir/lib/Dialect/NVGPU/IR/CMakeLists.txt
    M mlir/lib/Dialect/OpenACCMPCommon/Interfaces/CMakeLists.txt
    M mlir/lib/Dialect/Ptr/IR/CMakeLists.txt
    M mlir/lib/Dialect/SCF/IR/CMakeLists.txt
    M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
    M mlir/lib/Dialect/SparseTensor/IR/CMakeLists.txt
    M mlir/lib/Dialect/Transform/IR/CMakeLists.txt
    M mlir/lib/Dialect/Transform/Interfaces/CMakeLists.txt
    M mlir/lib/Dialect/Vector/IR/CMakeLists.txt
    M mlir/lib/Dialect/X86/IR/CMakeLists.txt
    M mlir/lib/Dialect/XeGPU/IR/CMakeLists.txt
    M mlir/lib/IR/CMakeLists.txt
    M mlir/lib/Target/LLVMIR/CMakeLists.txt
    M mlir/lib/Target/SPIRV/CMakeLists.txt
    M mlir/lib/Transforms/CMakeLists.txt
    M mlir/lib/Transforms/Utils/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Fix and classify generated-header dependencies (#222329)

This is fixing missing CMake dependencies to make our build graph
correct. It is a bit verbose but will be cleaned up in a following patch
making handling of the generated header automatic.

List the TableGen targets owned by each affected library, and add the
missing LLVM generated-header, SPIR-V source-generation, OpenACC/OpenMP
generated-input, and CIR operation/type prerequisites found by clean
dependency audits. Correct two stale copy-paste dependencies and the
duplicate CIR link entry.

The Transforms pass declarations and dialect inliner interface are
independent of any dialect. Classify both under mlir-generic-headers,
and associate the inliner interface with MLIRTransformUtils, which
publishes InliningUtils.h. This gives every MLIR library the required
ordering without repeated header-only edges.

Assisted-by: Codex
Assisted-by: Claude Code

Co-authored-by: Claude Fable 5.1 <noreply at anthropic.com>


  Commit: 660a54c87b3940c7eb1e51a5af523b9a24fc2b99
      https://github.com/llvm/llvm-project/commit/660a54c87b3940c7eb1e51a5af523b9a24fc2b99
  Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMInterfaces.cpp
    M mlir/test/Conversion/VectorToLLVM/use-vector-alignment.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-xfer-to-llvm.mlir
    M mlir/test/Dialect/LLVMIR/opaque-ptr.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    A mlir/test/Target/LLVMIR/Import/masked-intrinsic-metadata.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
    M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
    A mlir/test/Target/LLVMIR/masked-intrinsic-metadata.mlir
    M mlir/test/Target/LLVMIR/opaque-ptr.mlir

  Log Message:
  -----------
  [mlir][llvm] Fix metadata and alignment on masked memory intrinsics (#221879)

llvm.intr.masked.load, masked.store, masked.gather and masked.scatter
implemented neither AccessGroupOpInterface nor AliasAnalysisOpInterface,
so they could not carry access_groups, alias_scopes, noalias_scopes or
tbaa. Importing LLVM IR that attached such metadata to one of them
silently dropped it, while llvm.memcpy in the same module preserved it.

Also widen alignment from I32Attr to I64Attr, matching the rest of the
LLVM dialect and LLVM proper, and make it optional. LangRef gives the
default alignment of these four intrinsics as the ABI alignment of the
type, exactly as for llvm.load and llvm.store, so an absent align
parameter attribute now imports as an absent alignment attribute instead
of being materialised as align 1, and an absent alignment attribute
exports without an align parameter attribute. This changes the textual
IR, as alignment = 4 : i32 becomes alignment = 4 : i64. Downstream
updates should rewrite only lines that mention a masked intrinsic rather
than blanket-substituting i32 with i64; other i32 spellings must stay,
including llvm.intr.matrix.*'s rows and columns attributes and i32
vector and element types on the intrinsics themselves.

Co-Authored-By: Claude Opus 5


  Commit: da224d66042451154a83001456ea7d4e09819454
      https://github.com/llvm/llvm-project/commit/da224d66042451154a83001456ea7d4e09819454
  Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Target/LLVMIR/Import/function-attributes.ll
    M mlir/test/Target/LLVMIR/Import/function-metadata.ll

  Log Message:
  -----------
  [mlir][llvm] Gate unhandled function metadata warning (#221895)

Emit the warning for unhandled function metadata only when expensive
warnings are requested, matching how the flag is already used for
instruction metadata.

Co-Authored-By: Claude Opus 5


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    A llvm/test/CodeGen/AMDGPU/GlobalISel/fma-mix-true16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpow.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpowi.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.powi.ll
    M llvm/test/CodeGen/AMDGPU/fpow.ll
    M llvm/test/CodeGen/AMDGPU/llvm.powi.ll

  Log Message:
  -----------
  [AMDGPU] Fix pow with a negative base (#222248)

v_log_f32 of a negative value is NaN, so the old expansion returned NaN
for every negative base

Take the log of `|x|` and fix up the sign


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llround.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lround.ll

  Log Message:
  -----------
  [SPIR-V] Fix swapped type sets in G_LROUND/G_LLROUND legalization (#218998)

Result and source types were reversed, only working by luck at widths
where LLT cannot tell int from float, fixes i8 results


  Commit: bf5bef4fc3a044818dd4b682caa715c01fabd4fb
      https://github.com/llvm/llvm-project/commit/bf5bef4fc3a044818dd4b682caa715c01fabd4fb
  Author: estewart08 <ethan.stewart at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M openmp/runtime/src/CMakeLists.txt

  Log Message:
  -----------
  [openmp] - Remove hwloc INSTALL_INTERFACE on omp target (#218923)

Reasons for removal:
1. hwloc is not present in installed headers, therefore a consumer of
openmp does not need hwloc
2. There is no omp target exported currently, which means
INSTALL_INTERFACE is ignored.
3. If there is a future omp target exported then there is a possible
relocation issue if LIBOMP_HWLOC_INCLUDE_DIR differs in build
environment vs end user's environment.

We need to keep BUILD_INTERFACE for unit testing and ompd build.

Originally introduced in https://reviews.llvm.org/D123888


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

  Changed paths:
    M llvm/test/tools/gold/X86/multiple-sections.ll

  Log Message:
  -----------
  [gold] Don't hardcode section index in test (#222339)

This can either be 1 or 2 depending on whether binutils was
compiled with --enable-rosegment=yes. The test does not care
about the index (only the address), so make it a wildcard.


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

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    A llvm/test/CodeGen/X86/twoaddr-lea-eflags-liveintervals.ll

  Log Message:
  -----------
  X86: Remove stale EFLAGS live range when converting ADD to LEA (#222029)

convertToThreeAddress may rewrite an EFLAGS-clobbering ADD into an LEA,
which does not define EFLAGS. hasLiveCondCodeDef guarantees the EFLAGS def 
was dead, so drop its LiveIntervals value, otherwise the verifier would fail.

Fixes verifier errors with -early-live-intervals.

Co-authored-by: Claude (Claude-Opus-4.8)


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

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/test/Transforms/CodeGenPrepare/X86/freeze-brcond.ll

  Log Message:
  -----------
  [CGP] Drop poison generating flags when pushing freeze through cmp (#222314)

We need to clear the samesign flag when pushing freeze through icmp.

In the last commit, I also adjusted the handling of FMF on fcmp to work
the same way -- previously the transform would be skipped instead if the
fcmp had fast math flags. I think just clearing the poison-generating
flags is preferable (and what we'd do anyway in InstCombine and
DAGCombine).

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


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalar-steps-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/store-scalarization-cost.ll

  Log Message:
  -----------
  [VPlan] Cost scalar IV steps in replicate regions. (#221995)

Replace the return 0 bail-out in VPScalarIVStepsRecipe::computeCost in
replicate regions by properly scaling by the execution probability of
the region.

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


  Commit: 39d5c6238e0b4430c7f5256d689604c19ece7666
      https://github.com/llvm/llvm-project/commit/39d5c6238e0b4430c7f5256d689604c19ece7666
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/include/llvm/DebugInfo/CodeView/CodeView.h
    M llvm/include/llvm/DebugInfo/CodeView/EnumTables.h
    M llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h
    M llvm/lib/DebugInfo/CodeView/EnumTables.cpp
    M llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
    A llvm/test/tools/llvm-pdbutil/compile3sym.yaml
    A llvm/test/tools/llvm-pdbutil/frameprocsym.yaml

  Log Message:
  -----------
  [llvm-pdbutil] Map enums in bitflags for symbols in YAML (#215887)

Both `S_COMPILE3` and `S_FRAMEPROC` have bitflags that also contain
non-bitflag enums. For `S_COMPILE3`, the lower eight bits represent the
language and for `S_FRAMEPROC` there are bits in the middle representing
the frame pointer registers for variables and parameters.

In both cases, the values of the enums were not present in the generated
YAML.
Mapping this in YAML is a bit complicated, because we can't give
`yaml::IO` a reference to the flags. I used local variables and a check
if we're reading to re-assemble the flags.


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    M clang/lib/CIR/CodeGen/Address.h
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-byref.cpp
    M clang/test/CIR/Transforms/abi-lowering/expand-struct-arg.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-byref-forward-param.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-byref-nyi.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-byval.cir

  Log Message:
  -----------
  [CIR] Forward a byref argument loaded from a byref parameter (#221057)

When a callee argument comes out of the calling function's own byref
parameter, that pointer already names the object its caller will
destroy, so pass it along as-is.

Assisted-by: Cursor / claude-opus-5


  Commit: 647fffcc2173aaee745db7303316740a4c27d138
      https://github.com/llvm/llvm-project/commit/647fffcc2173aaee745db7303316740a4c27d138
  Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/test/CodeGen/AArch64/neon/intrinsics.c
    M clang/test/CodeGen/AArch64/neon/rounding-v8.5.c
    A clang/test/CodeGen/AArch64/neon/rounding.c
    R clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c

  Log Message:
  -----------
  [CIR][AArch64] Port f64 tests for v8.5 rounding NEON builtins (#221389)

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

Port tests from
clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c to
clang/test/CodeGen/AArch64/neon/rounding-v8.5.c


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

  Changed paths:
    M mlir/lib/Conversion/ArithAndMathToAPFloat/MathToAPFloat.cpp
    M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
    M mlir/lib/Dialect/AMDGPU/Transforms/MaskedloadToLoad.cpp
    M mlir/lib/Dialect/ArmNeon/IR/ArmNeonDialect.cpp
    M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
    M mlir/lib/Dialect/LLVMIR/IR/VCIXDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
    M mlir/test/lib/Dialect/NVGPU/TestNVGPUTransforms.cpp
    M mlir/test/lib/Dialect/Shard/TestReshardingPartition.cpp
    M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp

  Log Message:
  -----------
  [MLIR] Remove unnecessary generated-header include dependencies (NFC) (#222349)

Remove unused dialect and transform headers, and replace broad pass
aggregates with the specific conversion headers used by GPU and
SparseTensor pipelines. Include the core pass and IR builder definitions
directly where unrelated dialect headers previously supplied them
transitively.

These include-only changes avoid unnecessary TableGen header
prerequisites without depending on changes to the CMake generated-header
dependency model.

Assisted-by: Codex


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
    M llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizePointerCast.ll

  Log Message:
  -----------
  [SPIR-V] Fix legalized store of single element vector to vector (#222253)

A `<1 x T>` shares its SPIR-V type with the scalar T, so extracting from
it emits OpCompositeExtract on a non-composite, which is rejected by
spirv-val


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVLegalizeZeroSizeArrays.cpp
    M llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-struct.ll

  Log Message:
  -----------
  [SPIR-V] Fix legalization rewriting non-zero size arrays to pointers (#222276)

legalizeType checked `isa<ArrayType>` with no size guard

Use `shouldLegalizeInstType`, which already checks for zero size


  Commit: c664d0dccabe6fc40900f6223284cefe4070a1bf
      https://github.com/llvm/llvm-project/commit/c664d0dccabe6fc40900f6223284cefe4070a1bf
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M flang/lib/Evaluate/shape.cpp

  Log Message:
  -----------
  [flang] Avoid signed integer overflow in GetNonNegativeExtent (#222207)

`GetNonNegativeExtent()` computes a dimension's extent from constant
bounds as `ub - lb + 1` in `ConstantSubscript` (`int64_t`) arithmetic.
For an oversized dimension such as `integer(1) ::
a(0_8:9223372036854775807_8)`, whose extent is 2\*\*63, that computation
overflows — undefined behavior, and the ubsan failure reported in
#221940.

The wrapped result has to be preserved: storage sequences that are too
large are diagnosed later, while offsets are computed, and that code
tells a genuinely empty dimension from one whose extent wrapped around
by cross-checking the original bounds (`IsEmptyDimension()` in
`Semantics/compute-offsets.cpp`). This patch therefore computes the same
two's complement result with `llvm::SubOverflow()` and
`llvm::AddOverflow()`, which are defined for every input. Subtracting
first also covers bounds of mixed sign, where `ub - lb` can overflow
before the increment.

Fixes #221940

Assisted-by: AI


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/test/CodeGen/AMDGPU/dpp_combine_rev_opcode.ll

  Log Message:
  -----------
  [AMDGPU] Fix invalid 64-bit DPP formed from folding a 32-bit DPP mov (#222216)

GCNDPPCombine already rejects 64-bit DPP when the DPP move itself is
64-bit, but a 32-bit move folded into a source of a 64-bit instruction
was not checked. On targets without FeatureDPALU_DPP this formed
V_LSHLREV_B64_e64_dpp, whose tied old operand got the move's 32-bit
register class instead of the 64-bit destination class.


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

  Changed paths:
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RunLoopAutoreleaseLeakChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Frontend/ModelConsumer.cpp

  Log Message:
  -----------
  [Clang] Avoid calling hasBody() when calling getBody() directly after (#221845)

`hasBody()` and `getBody()` are virtual functions, so calling them
multiple times should be avoided.


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

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty.cpp
    M clang/test/CIR/CodeGenCXX/x86_64-arguments.cpp
    M clang/test/CIR/Transforms/abi-lowering/x86_64-aggregate-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-struct-direct-offset.cir
    M mlir/include/mlir/ABI/ABIRewriteContext.h
    M mlir/lib/ABI/Targets/Test/TestTarget.cpp
    M mlir/unittests/ABI/ABIRewriteContextTest.cpp

  Log Message:
  -----------
  [CIR] Honor the Direct coercion offset in x86_64 callconv lowering (#220724)

When a record's low eightbyte holds no field, the classifier passes it
in one register read from byte 8 rather than byte 0. CallConvLowering
had no way to represent that, so `convertABIArgInfo` rejected the whole
signature as NYI.

`ArgClassification` now carries the offset and `emitCoercionToMemory`
reads and writes the coerced scalar through a `u8` `cir.ptr_stride` at
that byte. The offset-zero path is untouched.

A register-tuple coercion at an offset is refused rather than read from
the wrong bytes, a pair SysV cannot currently produce.

Drop the pass opt-out flag from one test that no longer needs it.

Supersedes #203640, which had the coercion mechanism but nothing calling
it.

Assisted-by: Cursor / claude-opus-5

---------

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


  Commit: aaa8531405b31bc17566de55202431c8d6dc22b9
      https://github.com/llvm/llvm-project/commit/aaa8531405b31bc17566de55202431c8d6dc22b9
  Author: Jake Daly <48452250+jakemdaly at users.noreply.github.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/DetectDeadLanes.cpp
    M llvm/test/CodeGen/AMDGPU/detect-dead-lanes.mir

  Log Message:
  -----------
  [CodeGen] Visit operands inside bundles in DetectDeadLanes (#220645)

`modifySubRegisterOperandStatus` walked each basic block with
`MachineBasicBlock`'s default iterator, which visits only top-level
instructions and steps over the contents of a `BUNDLE`. Dead/undef flags
were therefore only ever updated on the `BUNDLE` header, even though the
analysis half of the pass walks `MRI` use lists and does account for
bundle-internal operands. The pass reasoned about operands it then refused 
to update.
    
A register referenced both by the header and by a bundled instruction
ends up with the two disagreeing about whether the bundle reads it, and
consumers split on which half they believe: `ScheduleDAGInstrs::buildSchedGraph`
and `LiveIntervals::handleMove` look at the header only, while
`RegisterOperandsCollector` descends into the bundle. The scheduler can
then move a bundle across a dependence it never modelled, and
`RegPressureTracker::recede` asserts on an empty use lane mask.
    
Walk `MBB.instrs()` instead, so the rewrite sees the same operands the
analysis did.


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

  Changed paths:
    M mlir/include/mlir/Interfaces/TilingInterface.h
    M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Utils/CMakeLists.txt
    M mlir/lib/Interfaces/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Remove and narrow unnecessary header dependencies (NFC) (#222364)

This is prerequisite work on reducing the amount of CMake dependencies
on (TableGen) generated header.

Forward-declare IteratorType in TilingInterface.h instead of including
all structured-operation utilities. Include those utilities directly in
SCF and Tensor implementations that use their enum values and helpers,
and remove TilingInterface's dependency on the DialectUtils library.

Replace DialectUtils's Arith library prerequisite with its operation
generator, and SPIR-V's GPU library prerequisite with its
compilation-interface generator. Drop VCIX's obsolete GPU
compilation-interface prerequisite.

Assisted-by: Codex


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

  Changed paths:
    M llvm/include/llvm/Analysis/CallGraph.h

  Log Message:
  -----------
  [CallGraph] Remove dead removeAllCalledFunctions and stealCalledFunctionsFrom (NFC) (#222252)

CallGraphNode::removeAllCalledFunctions: Added on November 26, 2001 in
commit e409c460bf87ef9211d42e1b6ede0df750aeb64a (originally as
removeAllCalledMethods) without any callers.

CallGraphNode::stealCalledFunctionsFrom: The last caller was removed on
June 24, 2022 in commit 217e85761cd1978931e29546e15716614e3b2fcc.

Assisted-by: Antigravity


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    A llvm/test/Transforms/InstCombine/icmp-urem.ll

  Log Message:
  -----------
  [InstCombine] Fold comparisons of urem with dividend (#214933)

This folds equality comparisons of `X urem Y` with `X`

- `(X urem Y) == X` to `X ult Y`
- `(X urem Y) != X` to `X uge Y`

For a defined `urem`, let `Q = X udiv Y` and `R = X urem Y`. Unsigned
division gives `X = Q * Y + R`, so:
```
R == X  
<=> Q * Y == 0
<=> Q == 0 (since Y != 0)
<=> X < Y
```

Division by zero is undefined behavior, so no separate handling for `Y
== 0` is required.

This handles commuted compare operands, scalar and vector types, and
remainders with additional uses

Alive2: https://alive2.llvm.org/ce/z/3ryQaE
simplified proof with both folds: https://alive2.llvm.org/ce/z/v39F4d


Fixes #214480


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/orc-b-patterns.ll

  Log Message:
  -----------
  [RISCV] Correct some constants in orc-b-patterns.ll. NFC (#222229)

Based on the test function names being similar to other function, I
assume these were supposed to generate orc.b.

Also remove unnecessary nuw, nsw, and exact flags.


  Commit: 4c0681233c84d923b9455b30875304520029c6e5
      https://github.com/llvm/llvm-project/commit/4c0681233c84d923b9455b30875304520029c6e5
  Author: Usman Nadeem <mnadeem at qti.qualcomm.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/fold-sext-in-reg-predicate-fixed-length.ll
    M llvm/test/CodeGen/AArch64/illegal-floating-point-vector-compares.ll
    M llvm/test/CodeGen/ARM/vtrn.ll
    M llvm/test/CodeGen/WebAssembly/simd-setcc-reductions.ll

  Log Message:
  -----------
  [SDAG][ComputeNumSignBits] Look through undefined high bits for EXTRACT_VECTOR_ELT in a BUILD_VECTOR (#218099)

If we have a `BUILD_VECTOR(EXTRACT_VECTOR_ELT()...)` where the
`EXTRACT_VECTOR_ELT` is adding undefined high bits by extending but the
`BUILD_VECTOR` is again truncating those bits, then we can just look
through the extract and call `ComputeNumSignBits` directly on the parent
vector.

Ideally, when the caller is truncating the value, it would be nice for
`ComputeNumSignBits` to have the ability to ignore high bits we don't
care about.


  Commit: 44b33260a38c8a0ec0083f950fe9d839ade72ab6
      https://github.com/llvm/llvm-project/commit/44b33260a38c8a0ec0083f950fe9d839ade72ab6
  Author: Matthias Wippich <mfwippich at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/Attr.td
    M clang/test/Sema/attr-c2x.c

  Log Message:
  -----------
  [clang] treat [[gnu::flag_enum]] as equivalent to [[clang::flag_enum]] (#219105)

GCC gained a `[[gnu::flag_enum]]` attribute for consistency with clang
in GCC 15. With this patch, the `[[gnu::flag_enum]]` is recognized and
handled equivalently to `[[clang::flag_enum]]`.

The patch introducing `[[gnu::flag_enum]]` in GCC is
https://github.com/gcc-mirror/gcc/commit/1914ca8791ce4e0ba821e818cb6f86c76afdb6f2.
GCC treats `[[clang::flag_enum]]` as equivalent to `[[gnu::flag_enum]`.


  Commit: f40e465b112a1a0cc1f6f544b33f3569bd364e36
      https://github.com/llvm/llvm-project/commit/f40e465b112a1a0cc1f6f544b33f3569bd364e36
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M flang/lib/Evaluate/tools.cpp
    M flang/test/Lower/OpenACC/acc-cache.f90
    A flang/test/Lower/split-sum-expression-tree-subscripts.f90

  Log Message:
  -----------
  [flang] Ignore subscript conversions when reassociating sums (#222302)

Implicit conversions of INTEGER(4) array indices to SubscriptInteger
were treated as conversions in the surrounding floating-point sum,
preventing reassociation of ordinary array-element expressions.

Stop only the conversion traversal at subscripts. Keep the independent
side-effect and volatile/asynchronous checks and embedded numeric
conversion restrictions unchanged.

Assisted-by: Codex


  Commit: 62b7ae5dc327ba80b54e76a2964f34ff60f6ee91
      https://github.com/llvm/llvm-project/commit/62b7ae5dc327ba80b54e76a2964f34ff60f6ee91
  Author: hidekisaito <hidekido at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/sdwa-ops.mir

  Log Message:
  -----------
  [AMDGPU] Compact virtual register numbers in sdwa-ops.mir (NFC) (#222197)

Renumber vregs in appearance order.


  Commit: 9f9ed8295a38db3189fcec96fb6f9964e32753c7
      https://github.com/llvm/llvm-project/commit/9f9ed8295a38db3189fcec96fb6f9964e32753c7
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/hdr/CMakeLists.txt
    A libc/hdr/glob_macros.h
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/glob_t.h
    M libc/include/CMakeLists.txt
    A libc/include/glob.yaml
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/glob-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/glob_t.h
    M libc/src/CMakeLists.txt
    A libc/src/glob/CMakeLists.txt
    A libc/src/glob/glob.cpp
    A libc/src/glob/glob.h
    A libc/src/glob/globfree.cpp
    A libc/src/glob/globfree.h
    M libc/test/src/CMakeLists.txt
    A libc/test/src/glob/CMakeLists.txt
    A libc/test/src/glob/glob_test.cpp

  Log Message:
  -----------
  [libc] Add <glob.h> POSIX header. (#221362)

* Provide the `<glob.h>` header as defined in POSIX:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/glob.h.html.
* Provide declaration of `glob_t` struct type, and `GLOB_*` family of
macros for controlling `glob()` function behavior and
  for describing `glob()` error return codes.
* Provide stubs / placeholder implementations for `glob()` and
`globfree()` functions - similar to `fnmatch()`
added in f571c5e34a06bc769924ff9100b6f31612279ab0 those would likely
depend in part on pattern matching
  logic shared between them and with regex.
* Since there are no real implementations yet, only enable the header
and entrypoints on Linux platforms with
  `LLVM_LIBC_ENABLE_EXPERIMENTAL_ENTRYPOINTS` specified.


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

  Changed paths:
    M utils/bazel/llvm-project-overlay/openmp/runtime/src/BUILD.bazel

  Log Message:
  -----------
  Fixes Bazel BUILD error in #411a8eea0c269fff79700da1b3a9e71914718d4b (#222371)

Adds missing deps for kmt_traits.


  Commit: a49d01f26b6c43e4712464e0a07249e92ff792ef
      https://github.com/llvm/llvm-project/commit/a49d01f26b6c43e4712464e0a07249e92ff792ef
  Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    A flang-rt/include/flang-rt/runtime/unit.h
    M flang-rt/lib/runtime/descriptor-io.cpp
    M flang-rt/lib/runtime/execute.cpp
    M flang-rt/lib/runtime/extensions.cpp
    M flang-rt/lib/runtime/external-unit.cpp
    M flang-rt/lib/runtime/io-api-common.h
    M flang-rt/lib/runtime/io-api-minimal.cpp
    M flang-rt/lib/runtime/io-api.cpp
    M flang-rt/lib/runtime/io-stmt-minimal.cpp
    M flang-rt/lib/runtime/io-stmt.cpp
    M flang-rt/lib/runtime/pseudo-unit.cpp
    M flang-rt/lib/runtime/stop.cpp
    M flang-rt/lib/runtime/unit-map.h
    M flang-rt/lib/runtime/unit.cpp
    R flang-rt/lib/runtime/unit.h
    A flang-rt/test/Driver/iotype.f90
    M flang-rt/unittests/Runtime/CMakeLists.txt
    A flang-rt/unittests/Runtime/ChildIO.cpp

  Log Message:
  -----------
  [flang][Runtime] Reset the information of namelist formatting when invoking child I/O (#218314)

The flag of namelist formatting is enabled when IONAME(OutputNamelist)
or IONAME(InputNamelist) is called, but it was never disabled afterward.
This patch disables the flag when invoking child I/O, as child I/O
cannot use namelist formatting.

Fixes #201516


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll

  Log Message:
  -----------
  [AArch64] Cost vector.match intrinsics that require type legalization (#220852)

Recent patches (#218972, #218972) have added type-legalization support
for vector.match. This allows us to remove the exact type and search
size requirements from the intrinsic cost. This in turn will simplify
the combine in #212456.


  Commit: 45ffe88d73f5e147315bca4bdb7ce1d730725586
      https://github.com/llvm/llvm-project/commit/45ffe88d73f5e147315bca4bdb7ce1d730725586
  Author: Hüseyin Kutsi Balcı <balcihkutsi at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/docs/HowToSubmitABug.rst
    M llvm/docs/PDB/PdbStream.md

  Log Message:
  -----------
  [docs] Fix two stale file paths (#213994)

Two documentation paths point at files that are not there.

- `HowToSubmitABug.rst` tells readers to run
`clang/utils/creduce-clang-crash.py`. The script was renamed to
`reduce-clang-crash.py` in 59cee030f and the doc was not updated with
it.
- `PDB/PdbStream.rst` gives `llvm/DebugInfo/CodeView/CVDebugRecord.h`.
That header moved to `llvm/include/llvm/Object/CVDebugRecord.h` in
211c67cdb.

Neither old path resolves at `main`; both replacements do.

## AI disclosure

AI-assisted (Claude Code), per the AI Tool Use Policy. A sweep resolved
the repo-internal paths written in `llvm/docs`, `clang/docs`,
`mlir/docs`, `lld/docs`, `libcxx/docs` and `flang/docs` against the
tree; only these two failed to resolve anywhere. Before opening I
checked both replacements in the tree and found the commits that renamed
and moved them, and went through the rest of the sweep's output — the
remaining candidates are correct in context and were left alone. I have
reviewed and understood the change and take responsibility for it.


  Commit: 8104261f2c74b41d63d9e043fe3631e20af54609
      https://github.com/llvm/llvm-project/commit/8104261f2c74b41d63d9e043fe3631e20af54609
  Author: Michael G. Kazakov <mike.kazakov at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M libcxx/include/__algorithm/pstl.h
    M libcxx/include/__pstl/backend_fwd.h
    M libcxx/include/__pstl/backends/default.h
    M libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
    M libcxx/test/libcxx/algorithms/pstl.nodiscard.verify.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/pstl.is_heap.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/pstl.is_heap_comp.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/pstl.is_heap_until_comp.pass.cpp
    M libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp

  Log Message:
  -----------
  [libc++][pstl] Implementation of parallel std::is_heap() based on std::is_heap_until() (#221556)

This PR adds a "one-liner" implementation of a parallel `std::is_heap()`
based on `std::is_heap_until()`.

The implementation is effectively a call to `std::is_heap_until()` and a
comparison with the last iterator:
```c++
auto res = IsHeapUntil()(policy, first, last, comp);
if (!res) {
    return nullopt;
}
return *res == last;
```

Part of #99938.


  Commit: 52feb1fe499914ef1d7669fa75ab46e12b1a37dd
      https://github.com/llvm/llvm-project/commit/52feb1fe499914ef1d7669fa75ab46e12b1a37dd
  Author: Andrei Elovikov <andrei.elovikov at sifive.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

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

  Log Message:
  -----------
  [NFC][VPlan] Move `introduceMasksAndLinearize` into a `VPPredicator`'s method (#217483)

To reduce diff in the next PRs.

AI-assisted.


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

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/AST/Expr.h
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    A clang/test/CodeGenCXX/GH128985.cpp
    A clang/test/CodeGenCXX/Inputs/embed-data.txt
    A clang/test/SemaCXX/GH128985.cpp

  Log Message:
  -----------
  [clang][CodeGen] Fix assertion failure with #embed in array new-expression initializers (#218262)

Fixes #128985

An `EmbedExpr` in a semantic initializer list can represent many array
elements at once, and every consumer of such lists has to expand it. The
array `new` emitter, `EmitNewArrayInitializer`, never did: it counted
the `EmbedExpr` as one element and emitted it through the scalar path,
hitting `assert(E->getDataElementCount() == 1)`. The undercount also
made the runtime minimum allocation check too lax and miscomputed the
trailing zero-fill size.

`Codegen` now emits one store per embed data element, converted to the
element type, and counts initializers with
`getNumInitsWithEmbedExpanded()` in both places. That helper also
learned to look through implicit casts, since Sema wraps a multi-element
`EmbedExpr` in a conversion when the element type isn't `int` — the
other embed consumers already strip casts before checking.

LLM tools were used for this contribution. I've reviewed, built, and
tested the change myself before pushing to GitHub.


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

  Changed paths:
    M libcxx/test/libcxx/atomics/clear_padding.pass.cpp

  Log Message:
  -----------
  [libc++] Disable SSP in `clear_padding.pass.cpp` (#218130)

Compile `clear_padding.pass.cpp` test `-fno-stack-protector` to fix
crash due to the generated code overflowing the buffer. This is most
likely a bug in clang.

Bug #212002
Fixes a test regression introduced in #76180

CC @huixie90

---------

Signed-off-by: Michał Górny <mgorny at gentoo.org>
Co-authored-by: Nikolas Klauser <nikolasklauser at berlin.de>


  Commit: b9d0703f7d6bd040bf317b1099729ba3a421f33c
      https://github.com/llvm/llvm-project/commit/b9d0703f7d6bd040bf317b1099729ba3a421f33c
  Author: Matt Turner <mattst88 at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h
    M compiler-rt/test/asan/TestCases/complete_stack_trace.c

  Log Message:
  -----------
  [sanitizer_common] Disable the fast unwinder on Alpha Linux (#220231)

BufferedStackTrace::UnwindFast walks the stack assuming frame[0] is the
caller's frame pointer and frame[1] the return address. Alpha chains
neither, so the walk yields a few garbage frames and then stops:
```
  freed by thread T0 here:
      #0 0x020000971274 in free asan_malloc_linux.cpp:51
      #1 0x0200007fa48c  (<unknown module>)
```
Opt Alpha out of the fast unwinder the way Linux/MIPS already is. The
_Unwind_Backtrace based unwinder gives complete traces; with it, GCC's
g++.dg/asan/deep-stack-uaf-1.C passes on alpha-unknown-linux-gnu.


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

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZCallingConv.h

  Log Message:
  -----------
  [SystemZ] XPLINK64: use AExt for 32-bit pointer formals (#222350)

CC_XPLINK64_Pointer was setting LocInfo=ZExt, promising the optimizer
that the caller had zero-extended bit 32. Evidence from Open XL 1.1 and
2.2 shows that callers do not consistently zero-extend `__ptr32`
arguments
-- Open XL 1.1 emits nothing on the caller side; Open XL 2.2 only
zero-extends in the explicit cast case. Every actual use of a 31-bit
pointer goes through `addrspacecast` which emits `LLGTR` to clear bit 32
at
the point of use, so no callee relies on the register being clean at the
parameter boundary. Change LocInfo to AExt to accurately reflect that
only the low 32 bits are valid.

Extracted from #206833 per reviewer request.


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

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

  Log Message:
  -----------
  [DAGCombiner] Use canonical shift amount type when decomposing a multiply. (#222211)

This allows the shifts to CSE with other shifts that are already in
canonical form.


  Commit: 15bf5e575a6a1a5ecb80a98922223e31fda25204
      https://github.com/llvm/llvm-project/commit/15bf5e575a6a1a5ecb80a98922223e31fda25204
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h

  Log Message:
  -----------
  [InstCombine] Prepare to support trunc nuw condition in foldAndOrOfICmps (NFC) (#221555)

this is a NFC rewrite to be able to support Trunc nuw by using m_IcmpLike matcher in foldAndOrOfICmps


  Commit: d506b595872f3e0bf29e2546cd7e5ff55cdd2e32
      https://github.com/llvm/llvm-project/commit/d506b595872f3e0bf29e2546cd7e5ff55cdd2e32
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select-of-bittest.ll

  Log Message:
  -----------
  [InstCombine] support trunc condition in foldSelectICmpAndAnd (#220690)

Fixes regression seen in test in https://github.com/llvm/llvm-project/pull/184182


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

  Changed paths:
    M llvm/docs/LibFuzzer.md

  Log Message:
  -----------
  [docs][libFuzzer] Fix `-timeout_exitcode` and `-error_exitcode` descriptions (#221776)


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

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/AST/ByteCode/cxx11.cpp
    M clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp

  Log Message:
  -----------
  [Clang][Sema] Error message refers to `__begin1` with `constexpr` variable in range-based for loop (#218145)

Fixes #211926

When a range-based for loop variable is declared `constexpr`, its
initializer is the compiler-built `*__begin1`, which normally can't be a
constant expression. The constant evaluator reports what it sees at the
leaf — `read of non-constexpr variable '__begin1' is not allowed in a
constant expression`, plus a `declared here` note pointing at the loop's
colon — without saying what `__begin1` is.

Both constant evaluators now emit a single dedicated note when they read
one of the loop's implicit variables, so the existing `constexpr
variable 'x' must be initialized by a constant expression` error is
followed by `'__begin1'-variable of range-based 'for' loop is not a
constant expression`, pointed at the loop it belongs to. The note takes
the variable as an argument, so it names `__end1` or `__range1` when
those are what was read. No Sema changes. A constexpr loop variable that
*is* valid (CWG1204, when `operator*` never reads the iterator) still
compiles, and expansion statement (`template for`) variables are
unaffected since their synthesized iterators are themselves `constexpr`.

LLM tools were used for this contribution. I've reviewed, built, and
tested the change myself before pushing to GitHub.


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

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

  Log Message:
  -----------
  Reapply "[SimplifyCFG] Fix profcheck failure from #213302" (#220932) (#220939)

This reverts commit 02d1fabd22d599bad38b2b926c7bcaaf41aff6e0.

Rerequesting review as I merged prematurely. This fixes a newly
introduced SimplifyCFG profcheck failure by correctly propagating branch
weight information.


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

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

  Log Message:
  -----------
  [X86] getBT - ensure we ANY_EXTEND or TRUNCATE the bit test index to match the source value (#222374)

Fixes #222363


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

  Changed paths:
    M lld/.clang-format

  Log Message:
  -----------
  [lld] Set WrapNamespaceBodyWithEmptyLines: Never (#221423)

77% of anonymous namespaces in lld start without an empty line, as do
59% of namespace bodies overall. lld/ELF is the most consistent at 95% and 87%.

Requires clang-format 20.


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

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/builtin_vectorelements.cpp
    M clang/test/SemaCXX/ptrauth-type-discriminator.cpp
    A clang/test/SemaOpenCLCXX/vec_step.clcpp

  Log Message:
  -----------
  [clang] Reject references to vector types in `__builtin_vectorelements` (#219767)

Fixes #216997

`__builtin_vectorelements` shares its operand check with `sizeof` and
friends, and that shared code looks through reference types before it
dispatches to the per-builtin check. So `__builtin_vectorelements(veci4
&)` was accepted by Sema, but the expression kept the reference as its
argument type, and everything downstream — constant evaluation, the
bytecode interpreter, CodeGen — expects that type to be a vector.
Constant-evaluating the initializer in the reproducer then trips
`assert(Ty->isSizelessVectorType())`. The alias syntax in the report
isn't the cause; `vec` there is a well-formed reference-to-vector type.

The check now runs before the reference is looked through, so a
reference to a vector type gets the existing "must be of vector type"
error, the same one `__builtin_vectorelements(int &)` already produced.
No other trait kind is affected.

LLM tools were used for this contribution. I've reviewed, built, and
tested the change myself before pushing to GitHub.


  Commit: 4bd42ad3ade67d5c1498081df08cab4090a32551
      https://github.com/llvm/llvm-project/commit/4bd42ad3ade67d5c1498081df08cab4090a32551
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
    M llvm/test/Transforms/InstCombine/negated-bitmask.ll

  Log Message:
  -----------
  [InstCombine] restrict InstCombineNegator for sub(y,and(lshr(x,C),1)) (#222075)

For the general sub(y,and(lshr(x,C),1)) case the rewrite replaces one
2-instructions
sequence with another without reducing instruction count, and the
resulting shl/ashr form prevents later target-specific combines (e.g.
on PowerPC the original lshr+and maps to a single rldicl, while the
shl+ashr form requires sldi+sradi).
in the patch, Only applies when this is a true negation (LHS is zero).
sub(0,and(lshr(x,C),1)) --> add(ashr(shl(x,(BW-1)-C),BW-1),0)


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

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZCallingConv.td
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/test/CodeGen/SystemZ/call-zos-01.ll
    M llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
    A llvm/test/CodeGen/SystemZ/zos-xplink64-formal-sub64-extend.ll

  Log Message:
  -----------
  [SystemZ] XPLINK64: emit narrow sign/zero-extend instructions for sub-i32 formal args (#206833)

Previously, i8/i16 integer formal arguments with signext/zeroext
attributes were promoted to i64 via CC_XPLINK_Promote_i32 using
LocVT=i64, causing the DAG to select LGFR/LLGFR (word-sized extends) for
all sub-i64 types instead of the narrower byte/halfword forms required
for XL compiler binary compatibility.

Root cause: LLVM type-legalizes i8/i16 to i32 before the CC table runs,
so ValVT is always i32 by the time CC_XPLINK_Promote_i32 is called. The
pre-legalization original type (Ins[i].ArgVT) is the only way to
distinguish i8/i16 formals from i32 formals at that point.

Fix:

- Add ArgOrigVTs to SystemZCCState, populated in AnalyzeFormalArguments
from Ins[i].ArgVT (using MVT::Other as sentinel for non-simple EVTs),
with a getArgOrigVT(ValNo) accessor that returns MVT::Other safely when
called outside AnalyzeFormalArguments (e.g. from AnalyzeCallOperands).

- In CC_XPLINK_Promote_i32 with isFormalArgLowering=true: for original
i8/i16, keep LocVT=i32 (GR32 live-in) only when a GPR is still available
(probed via getFirstUnallocated([R1L,R2L,R3L])). When all GPRs are
taken, the arg goes to an 8-byte stack slot where the caller stores a
sign-extended i64 with the value in bytes 6–7; LocVT=i64 is used in that
case so the full 8 bytes are loaded correctly.

- In LowerFormalArguments: after convertLocVTToValVT, truncate from the
legalized i32 down to the true i8/i16 so the DAG folds the
truncate+extend into a narrow instruction. Guarded by isTargetXPLINK64()
and ArgVT.isSimple().

- Extend CCIfType from [i32] to [i8, i16, i32] in CC_SystemZ_XPLINK64.

Result — callee side:
| Type | Attribute | Before | After |
|------|-----------|--------|-------|
| `i8`  | `signext` | `LGFR` / `LGF`  | `LGBR` / `LGB`   |
| `i8`  | `zeroext` | `LLGFR` / `LLGF` | `LLGCR` / `LLGC` |
| `i16` | `signext` | `LGFR` / `LGF`  | `LGHR` / `LGH`   |
| `i16` | `zeroext` | `LLGFR` / `LLGF` | `LLGHR` / `LLGH` |
| `i32` | `signext` | `LGFR`           | `LGFR` (unchanged) |

Binary compatibility analysis:

The XPLINK64 ABI requires every caller to deliver a fully
sign/zero-extended 64-bit value in the argument register before the
call, regardless of the original type width. This patch only changes the
callee-side re-extension instruction; the caller side (LowerCall /
AnalyzeCallOperands) is unchanged and continues to emit LGFR/LLGFR for
outgoing sub-i32 arguments, or LGB/LGH/LLGC/LLGH when loading directly
from memory.

Because any ABI-compliant caller always delivers a full 64-bit
sign-extended value, bit 7 (for i8) or bit 15 (for i16) is always the
authoritative sign bit in the incoming register. Re-extending from that
bit with LGBR/LGHR yields the same result as LGFR from bit 31. The
matrix below covers all mixed-version combinations:

| Caller | Callee | Register value at call site | Callee re-extension |
Correct? |

|--------|--------|-----------------------------|---------------------|----------|
| Any (memory load) | new | `LGB`/`LGH` → full i64 | `LGBR`/`LGHR` | ✓
bit 7/15 intact |
| Open XL 1.1 | new | full GR64, no extend needed | `LGBR`/`LGHR` | ✓
ABI-compliant i64 |
| Open XL 2.2 | new | `LGFR` → full i64, bit 7 = sign | `LGBR`/`LGHR` |
✓ bit 7 intact |
| new | Open XL 2.2 | `LGFR` (caller side unchanged) | `LGFR` | ✓
identical to before |
| new | Open XL 1.1 | `LGFR` (caller side unchanged) | none (trusts
GR64) | ✓ GR64 is valid |
| Java/JNI | new | no extend (raw GR64 from JVM) | `LGBR`/`LGHR` | ✓ JVM
guarantees full i64 per JNI spec |
| new | Java/JNI | `LGFR` (caller side unchanged) | none | ✓ GR64 is
valid |


No binary incompatibility in any direction.

Adds lit test zos-xplink64-formal-sub64-extend.ll covering all five
integer types, the optnone spill path, and small struct coercion cases.
Updates call-zos-01.ll and call-zos-vararg.ll.


  Commit: 9a9f50ed485aaf42a204a2aa0eae1d46f4aba8e0
      https://github.com/llvm/llvm-project/commit/9a9f50ed485aaf42a204a2aa0eae1d46f4aba8e0
  Author: A. Jiang <de34 at live.cn>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M libcxx/include/__configuration/language.h
    M libcxx/include/__locale_dir/wbuffer_convert.h
    M libcxx/include/__locale_dir/wstring_convert.h
    M libcxx/include/locale
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt.pass.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp

  Log Message:
  -----------
  [libc++] Remove `_LIBCPP_EXPLICIT_SINCE_CXX14` (#222221)

The existence of `_LIBCPP_EXPLICIT_SINCE_CXX14` is a relic of the
questionable status quo of LWG2176 - we only implement its resolution
since C++14 mode (7988106b21628afe7004b57ae66ec9b43cbc8942). In
a11f8b1ad66d68ca0a3a277ce776007abff9c7eb
(https://reviews.llvm.org/D91292), we implemented P0935R0 as a Defect
Report against C++11, and P0935R0 somehow superseded LWG2176. So it is a
bit unreasonable to leave LWG2176 not backported.

This patch backports the remaining parts of LWG2176 to old modes. As the
copy constructor of `wbuffer_convert` and `wstring_convert` are deleted,
implicit conversions to them cannot be performed in C++03 even if the
related converting constructors lack `explicit`.

As drive-by, also drops `// C++20` comments on these constructors due to
P0935R0 and `// C++14` comments due to LWG2176.


  Commit: eb5cd179549d68b8b94efd1ddafc6c743ed98597
      https://github.com/llvm/llvm-project/commit/eb5cd179549d68b8b94efd1ddafc6c743ed98597
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M lldb/cmake/modules/LLDBConfig.cmake
    R lldb/scripts/convert-lldb-header-to-rpc-header.py
    M lldb/scripts/framework-header-fix.py
    M lldb/source/API/CMakeLists.txt
    M lldb/test/CMakeLists.txt
    R lldb/test/Shell/RPC/Generator/Inputs/SBDummy.h
    R lldb/test/Shell/RPC/Generator/Inputs/Server/CheckBasicIncludesEmit.h
    R lldb/test/Shell/RPC/Generator/Inputs/Server/CheckConstCharPointer.h
    R lldb/test/Shell/RPC/Generator/Tests/CheckRPCGenToolByproducts.test
    R lldb/test/Shell/RPC/Generator/Tests/Server/CheckBasicIncludesEmit.test
    R lldb/test/Shell/RPC/Generator/Tests/Server/CheckConstCharPointer.test
    R lldb/test/Shell/RPC/Generator/lit.local.cfg
    R lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBDefines.test
    R lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBEnumerations.test
    R lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBTypes.test
    R lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckSBDefines.test
    R lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/SBDefines.h
    R lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-defines.h
    R lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-enumerations.h
    R lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-types.h
    R lldb/test/Shell/Scripts/Inputs/RPC/RPCSBAddress.h
    M lldb/test/Shell/Scripts/TestFrameworkFixScript.test
    M lldb/test/Shell/Scripts/TestFrameworkFixUnifdef.test
    R lldb/test/Shell/Scripts/TestRPCFrameworkFixScript.test
    M lldb/test/Shell/helper/toolchain.py
    M lldb/test/Shell/lit.site.cfg.py.in
    M lldb/tools/CMakeLists.txt
    R lldb/tools/lldb-rpc-gen/CMakeLists.txt
    R lldb/tools/lldb-rpc-gen/RPCCommon.cpp
    R lldb/tools/lldb-rpc-gen/RPCCommon.h
    R lldb/tools/lldb-rpc-gen/lldb-rpc-gen.cpp
    R lldb/tools/lldb-rpc-gen/server/RPCServerHeaderEmitter.cpp
    R lldb/tools/lldb-rpc-gen/server/RPCServerHeaderEmitter.h
    R lldb/tools/lldb-rpc-gen/server/RPCServerSourceEmitter.cpp
    R lldb/tools/lldb-rpc-gen/server/RPCServerSourceEmitter.h
    R lldb/tools/lldb-rpc/CMakeLists.txt
    R lldb/tools/lldb-rpc/LLDBRPCGeneration.cmake
    R lldb/tools/lldb-rpc/LLDBRPCHeaders.cmake

  Log Message:
  -----------
  [lldb] Remove LLDBRPC (#222093)

Chelsea (the champion of this effort) has left the team and nobody on my
team will have bandwidth to continue upstreaming this. This simplifies
our CMake and support scripts greatly.


  Commit: fe9f67b35c068dc39788fd94f5194ca44109992a
      https://github.com/llvm/llvm-project/commit/fe9f67b35c068dc39788fd94f5194ca44109992a
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h

  Log Message:
  -----------
  [lldb] Replace string type in ELFSectionHeaderInfo (#218490)

I plan on replacing the string type in LLDB's Section class, so the
first thing I will do is remove ConstString from all producers.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/FastISel.h
    M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/Analysis/Lint.cpp
    M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/IR/VerifierAMDGPU.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/ARM/ARMFastISel.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    M llvm/test/Analysis/BasicAA/call-attrs.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call-sret.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/call-translator.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/swifterror.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/swiftself.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-sret.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
    M llvm/test/CodeGen/AMDGPU/fncall-implicitdef.ll
    M llvm/test/CodeGen/AMDGPU/swdev504645-global-fold.ll
    M llvm/test/CodeGen/AMDGPU/waterfall-call-inreg-agpr.ll
    M llvm/test/CodeGen/ARM/returned-ext.ll
    M llvm/test/CodeGen/ARM/struct-byval-loop.ll
    M llvm/test/CodeGen/M68k/multiple-return.ll
    M llvm/test/CodeGen/NVPTX/forward-ld-param.ll
    M llvm/test/CodeGen/RISCV/rvv/shrinkwrap.ll
    M llvm/test/CodeGen/RISCV/shrinkwrap.ll
    M llvm/test/CodeGen/SPARC/64abi.ll
    M llvm/test/CodeGen/SystemZ/args-14.ll
    M llvm/test/CodeGen/SystemZ/call-zos-01.ll
    M llvm/test/CodeGen/VE/Scalar/call.ll
    M llvm/test/CodeGen/VE/Scalar/va_callee.ll
    M llvm/test/CodeGen/VE/Vector/fastcc_caller.ll
    M llvm/test/CodeGen/WebAssembly/signext-zeroext-callsite.ll
    M llvm/test/CodeGen/X86/bool-zext.ll
    M llvm/test/CodeGen/X86/return-ext.ll
    M llvm/test/Instrumentation/ThreadSanitizer/tsan_basic.ll
    M llvm/test/Transforms/DeadArgElim/deadexternal.ll
    M llvm/test/Transforms/Inline/access-attributes-prop.ll
    M llvm/test/Transforms/PhaseOrdering/pr64289-tce.ll
    M llvm/test/Transforms/SROA/readonlynocapture.ll
    M llvm/test/Transforms/SimplifyCFG/hoist-sink-swifterror-store.ll
    M llvm/unittests/IR/AttributesTest.cpp

  Log Message:
  -----------
  Revert [IR] Do not inherit ABI attributes from the callee (#222384)

Reverts #207173, plus #221892 due to a merge conflict.

Apparently we have some issues with call-site zeroext/signext on
libcalls, see
https://github.com/llvm/llvm-project/pull/207173#issuecomment-5604972674.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    A llvm/test/CodeGen/AArch64/dereferenceable-metadata-mmo.ll

  Log Message:
  -----------
  [CodeGen] Don't derive MODereferenceable from !dereferenceable metadata (#222069)

The two facts are about different pointers. `!dereferenceable` on a load
"tells the optimizer that the value loaded is known to be
dereferenceable" while `MachineMemOperand::MODereferenceable` says the
access itself doesn't trap.


  Commit: 31157bbadddf2dafbfffbc23518988fa83dd4884
      https://github.com/llvm/llvm-project/commit/31157bbadddf2dafbfffbc23518988fa83dd4884
  Author: Andrei Elovikov <andrei.elovikov at sifive.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanEVLTailFolding.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h

  Log Message:
  -----------
  [NFC][VPlan] Move `m_RemoveMask` to `VPlanPatternMatch.h` (#219059)

I plan to use it in the `VPlanPredicator.cpp`.

AI-assisted.


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

  Changed paths:
    M clang/CMakeLists.txt
    M clang/cmake/modules/CMakeLists.txt
    M flang/CMakeLists.txt
    M llvm/CMakeLists.txt
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/cmake/modules/CrossCompile.cmake
    M llvm/docs/CMake.md
    M llvm/docs/ReleaseNotes.md
    M mlir/CMakeLists.txt
    M mlir/cmake/modules/CMakeLists.txt
    M mlir/test/CMakeLists.txt
    M mlir/test/lib/Dialect/TestDyn/CMakeLists.txt
    M mlir/test/lib/Dialect/Tosa/CMakeLists.txt
    M mlir/test/lib/Dialect/XeGPU/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Add dependent project mode for Flang's MLIR (#221724)

`LLVM_ENABLE_PROJECTS` historically treats projects enabled to satisfy
another
project's dependency the same as projects selected by the user.
Consequently,
implicit projects attach their complete build, install, and test suites
to
LLVM's aggregate targets.

Keep the cache entry as the user-requested project roots and use the
normal
`LLVM_ENABLE_PROJECTS` variable as the effective dependency closure.
Projects
in the effective list but not the cache entry are configured with
`EXCLUDE_FROM_ALL`. Normalize the special `all` value before comparing
the two
sets.

This makes Flang's MLIR and Clang dependencies dependency-only without a
second
project collection. It also applies the same rule to Clang when it is
added for
LLDB. Forward the cached roots to cross-compilation and bootstrap
configurations so implicit projects do not become explicit in nested
builds.

Let MLIR own its dependency-only test policy: configure its complete
test tree
so `check-mlir` remains available, but exclude MLIR test execution and
build
dependencies from `check-all`. Explicitly enabling MLIR preserves the
existing
behavior.

Validation:

- Configured Flang with implicit MLIR test support.
- Configured Flang and MLIR explicitly with tests enabled.
- Configured `LLVM_ENABLE_PROJECTS=all` with tests disabled.
- Verified implicit mode exposes `check-flang` and `check-mlir` while
  `check-all` runs Flang but not MLIR.
- Verified explicit mode includes MLIR tests in `check-all`.


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/macro-fusion-add-mem.mir
    M llvm/test/CodeGen/RISCV/macro-fusion-logic-imm-reg.mir
    M llvm/test/CodeGen/RISCV/macro-fusion-logic-reg-imm.mir
    M llvm/test/CodeGen/RISCV/macro-fusion-logic-reg-reg.mir
    M llvm/test/CodeGen/RISCV/macro-fusion-mul-add.mir
    M llvm/test/CodeGen/RISCV/macro-fusion-shift-bit-extract.mir
    M llvm/test/CodeGen/RISCV/macro-fusions-xqci.mir
    M llvm/test/CodeGen/RISCV/macro-fusions.mir
    M llvm/test/CodeGen/RISCV/xqci-macro-fusions.mir

  Log Message:
  -----------
  [RISCV] Use run-pass instead of start-before in macrofusion tests. NFC (#222390)

We're only checking the debug output from the scheduler pass, we don't
need to more of the pipeline.


  Commit: 44eec13c0264542d1d116ac0e8c2dcf1153fe37c
      https://github.com/llvm/llvm-project/commit/44eec13c0264542d1d116ac0e8c2dcf1153fe37c
  Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    A flang/test/Transforms/FIRToMemRef/view-op-storage-association.mlir

  Log Message:
  -----------
   [flang][FIRToMemRef] Do not peel storage-association views (#222376)

After #215402, peelZeroOffsetViews walked through fir.convert that
changes the pointee type (e.g. !fir.ref<complex<T>> → !fir.ref<T>).
Load/store then indexed the parent array and converted the value, which
is wrong for Fortran storage association: it fails verification
(memref.store / illegal fir.convert) or silently changes bits (sitofp /
fpext).

Stop peeling when the accessed element type changes. Marshal the typed
view as a rank-0 memref of the dummy type. Same-type wrappers
(fir.declare, ref<T> → ref<T>) still peel to fir.array_coor.


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

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

  Log Message:
  -----------
  Fix flang and MLIR bazel builds (#222395)

- Add missing TargetLLVM dependency on RemarkStreamer (introduced in
#9a5a9a8a59bb)
- FlangOptimizerTests missing //mlir:ArithDialect (introduced in
#ef208564acbf)
- GPUPipelines and SparseTensorPipelines fixes (from changes in
#757ae56cbe99)


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/add-nsw.ll
    M llvm/test/Transforms/ConstraintElimination/pr70510.ll

  Log Message:
  -----------
  [ConstraintElim] Use largest usable bound to check no-wrap regions. (#222295)

The unsigned no-wrap region of an add with a constant operand has
UMAX - C as upper bound. For 64 bit operations, the upper bound is
usually larger than MaxConstraintValue, so it will be decomposed as
variable instead of a constant value.

This improves results end-to-end in a few more cases, without any
additional queries:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1234.

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


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

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

  Log Message:
  -----------
  [SimplifyCFG] Remove ProfcheckDisableMetadataFixes checks

Our internal ablation study on the set of checks up to 2-11-2026 has
finished, so we can remove any fixes that are older than that.

Reviewers: mtrofin

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


  Commit: a173863e63415ae54b5d0abf1bc5897c61604e5f
      https://github.com/llvm/llvm-project/commit/a173863e63415ae54b5d0abf1bc5897c61604e5f
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/stdlib.yaml
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/linux/CMakeLists.txt
    A libc/src/stdlib/linux/mkdtemp.cpp
    A libc/src/stdlib/linux/mkstemp.cpp
    A libc/src/stdlib/linux/mktemp_util.h
    A libc/src/stdlib/mkdtemp.h
    R libc/src/stdlib/mkstemp.cpp
    M libc/src/stdlib/mkstemp.h
    M libc/test/src/stdlib/CMakeLists.txt
    A libc/test/src/stdlib/mkdtemp_test.cpp

  Log Message:
  -----------
  [libc] Implement mkdtemp (#222106)

Add the POSIX mkdtemp entrypoint for Linux targets (aarch64, riscv,
x86_64).

Extract the shared template replacement and random character retry loop
into linux/mktemp_util.h, relocating mkstemp to linux/mkstemp.cpp and
reusing the helper across both entrypoints.

Add comprehensive unit tests covering directory creation, permissions,
uniqueness, and invalid template handling.

Assisted-by: Automated tooling, human reviewed.


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

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
    M llvm/test/Transforms/LoopUnroll/branch-weights-freq/peel-last-iteration.ll

  Log Message:
  -----------
  [Transforms][Utils] Remove ProfcheckDisableMetadataFixes checks

Our internal ablation study on the set of checks up to 2-11-2026 has
finished, so we can remove any fixes that are older than that.

Reviewers: mtrofin

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


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/lib/Transforms/Scalar/MergeICmps.cpp
    M llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp

  Log Message:
  -----------
  [Transforms][Scalar] Remove ProfcheckDisableMetadataFixes checks

Our internal ablation study on the set of checks up to 2-11-2026 has
finished, so we can remove any fixes that are older than that.

Reviewers: mtrofin

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


  Commit: 4b8c39ea8e67fe1ed07bbf0fec0229a5ebfc90fb
      https://github.com/llvm/llvm-project/commit/4b8c39ea8e67fe1ed07bbf0fec0229a5ebfc90fb
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select-of-bittest.ll

  Log Message:
  -----------
  Revert "[InstCombine] support trunc condition in foldSelectICmpAndAnd" (#222413)

Reverts llvm/llvm-project#220690

seems like this fails asan builds eg
https://lab.llvm.org/buildbot/#/builders/24/builds/23814


  Commit: 4471c681e781fe14922a2ecf1684654a4522f271
      https://github.com/llvm/llvm-project/commit/4471c681e781fe14922a2ecf1684654a4522f271
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/OpenACC/Transforms/ACCMapInfoPrep.cpp
    M flang/test/Fir/OpenACC/acc-fir-map-info-prep-privatize.mlir
    M flang/test/Fir/OpenACC/acc-fir-map-info-prep.mlir

  Log Message:
  -----------
  [flang][acc] Support sizing array of derived type for openacc mapping (#222404)

Adds support for array of derived type - tested both for mapping and
privatization. Now acc.map_info can be generated for this.


  Commit: 33cdc33dd6e941fe4dd1a61ba7d7ec32933e3bfd
      https://github.com/llvm/llvm-project/commit/33cdc33dd6e941fe4dd1a61ba7d7ec32933e3bfd
  Author: hidekisaito <hidekido at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/sdwa-ops.mir

  Log Message:
  -----------
  [AMDGPU] Fix CHECKs for sdwa-ops.mir test13 and also eliminated unnecessary global live-ins (#222392)

Address #220798 reviewer comments for sdwa-ops.mir test13


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

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

  Log Message:
  -----------
  [lldb] Accept the non-Darwin test build dir in the clean rule guard (#222412)

#197237 dropped the `.noindex` suffix from the test build directory on
non-Darwin, but the guard on the `clean` rule still looks for
`lldb-test-build.noindex`. In Swiftlang, every test that invokes it
fails off Darwin:

```
Makefile.rules:741: *** Trying to invoke the clean rule, but not using the default build tree layout.  Stop.
```

Match `lldb-test-build` instead, which covers both layouts and keeps the
guard's intent of not letting the rule loose on an arbitrary directory.


  Commit: e9f1f00dd49cb382b3eaef136666664eaaa16450
      https://github.com/llvm/llvm-project/commit/e9f1f00dd49cb382b3eaef136666664eaaa16450
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/test/Other/new-pm-defaults.ll
    M llvm/test/Other/new-pm-lto-defaults.ll
    A llvm/test/Transforms/PhaseOrdering/lto-is-constant.ll

  Log Message:
  -----------
  [LLVM][libc] Defer lowering of constant intrinsics in full LTO (#221505)

Summary:
This PR defers the lowering of the constant intrinsics. Currently it was
inheriting the default module pipeline and being done pessimistically in
the pre-link LTO phase. This means that some objects which would become
known constants were returned as failures. Doing this in the post-link
phase is more optimistic.

I included the `libc` change that justifies this in the PR, but it can
be split out if needed. The observation is that the ExpandVariadics pass
will lower most variadic calls on the GPU to an alloca of known size.
Using this opportunistically saves us a spill to stack ordinarily needed
to copy back the size from the GPU. Without this, every use of GPU
printf resulted in a spill to stack memory.

Hopefully this is benign enough.


  Commit: 68da0c7ac7ed94a5f1c4df1119335cb74da4be8f
      https://github.com/llvm/llvm-project/commit/68da0c7ac7ed94a5f1c4df1119335cb74da4be8f
  Author: Hari Limaye <hari.limaye at arm.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/spillcost-shared-loop-invariant.ll

  Log Message:
  -----------
  [SLP] De-duplicate costing of perfect-diamond gather spills (#220569)


  Commit: 228749bf71a0f05b2ce214a153969603f1a902f8
      https://github.com/llvm/llvm-project/commit/228749bf71a0f05b2ce214a153969603f1a902f8
  Author: kwyatt-ext <kwyatt.external at hpe.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M flang/lib/Parser/executable-parsers.cpp
    A flang/test/Parser/recovery10.f90

  Log Message:
  -----------
  [flang] Collapse execution-part statement error flood into one error message (#220988)

An unrecognizable statement in the execution part of a source file
produced one "expected 'KEYWORD'" error for every possible statement
because each execution-part-construct alternative failed at the same
source position and the alternative combinator merges the messages of
same-position ties.

Wrapped the keyword-led alternatives in `withMessage` so that when none
of them matches a token, the flood is discarded in favor of a single
"expected an executable statement" diagnostic.

This fixes the problem identified in Issue:
https://github.com/llvm/llvm-project/issues/220696

Assisted-by: AI (Claude)


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

  Changed paths:
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp

  Log Message:
  -----------
  [Transforms] Remove ProfcheckDisableMetadataFixes checks

Our internal ablation study on the set of checks up to 2-11-2026 has
finished, so we can remove any fixes that are older than that.

Reviewers: mtrofin

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


  Commit: e829049823905405779c6b908437b200e7ed1b2e
      https://github.com/llvm/llvm-project/commit/e829049823905405779c6b908437b200e7ed1b2e
  Author: Gábor Tóthvári <gabor.tothvari at ericsson.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp

  Log Message:
  -----------
  [NFC][analyzer] Cleanup checker calls in `ExprEngine::ProcessStmt`, `ExprEngine::Visit*` (#218691)

Begin standardizing how `PreStmt` checkers and `PostStmt` checkers are
called by the analyzer engine. Previously, checkers were called either
from `ExprEngine::Visit` or the visit method of the statement. Now this
logic was hoisted out into `ExprEngine::ProcessStmt` and most of the
checker calls happen from there.

There are several statement kinds that do not call checkers at all or
only call `PreVisit` or only call `PostVisit` checkers. There are also
statement kinds whose visit code does not easily lend itself to the
`PreVisit`, `Visit`, `PostVisit` scheme, so those have been left
unmodified and will be refactored in a separate patch. The checker
calling status of statement kinds have been documented in the function
`shouldJustCallCheckers`.


  Commit: 2c9afb46c32ccf19fe048688e273cad4c7b3dfc6
      https://github.com/llvm/llvm-project/commit/2c9afb46c32ccf19fe048688e273cad4c7b3dfc6
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip

  Log Message:
  -----------
  [CIR][AMDGPU] Add support for AMDGCN bitfield extract builtins (#222186)

Adds codegen for the following AMDGCN bitfield extract builtins:

* __builtin_amdgcn_ubfe (unsigned)
* __builtin_amdgcn_sbfe (signed)

These are lowered to the corresponding `llvm.amdgcn.ubfe` and
`llvm.amdgcn.sbfe` intrinsics.


  Commit: 3cab00bd5674d374e702807a57a3db432a351086
      https://github.com/llvm/llvm-project/commit/3cab00bd5674d374e702807a57a3db432a351086
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-vi-f16.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip

  Log Message:
  -----------
  [CIR][AMDGPU] Add support for AMDGCN fract builtins (#222185)

Adds codegen for the following AMDGCN fract builtins:

* __builtin_amdgcn_fract (double)
* __builtin_amdgcn_fractf (float)
* __builtin_amdgcn_fracth (half)

These are lowered to the corresponding `llvm.amdgcn.fract` intrinsics.


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

  Changed paths:
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/test/Transforms/FunctionAttrs/sendmsg-nocallback.ll

  Log Message:
  -----------
  [AMDGPU] Add more attributes to some intrinsics to help with attribute propagation (#222222)


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

  Changed paths:
    M flang-rt/lib/cuda/init.cpp
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
    M flang/test/Fir/CUDA/cuda-constructor-2.f90

  Log Message:
  -----------
  [flang][cuda] Emit Mcuda_compiled sentinel for CUDA Fortran objects (#222421)

Objects compiled as CUDA Fortran now declare an undefined Mcuda_compiled
symbol from CUFAddConstructor when emit-cuda-compiled is set. Linking
without the CUDA Fortran runtime then fails with a clear undefined
reference instead of only _FortranACUFInit, which is limited to PROGRAM
units.

The CUDA Fortran runtime defines the symbol so linking with the CUDA
Fortran runtime still succeeds.


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

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

  Log Message:
  -----------
  [AMDGPU] Update REV Opcode DPP Combine test to have True16 and Fake16 runs (#222217)

DPP is not implemented for VGPR16 operands, so we also need runs with
True16 disabled to verify that combining into opcodes that might use
them is being properly guarded.


  Commit: 77874a5794a3bb007cda2e6a5ac77e7ce48cf8c4
      https://github.com/llvm/llvm-project/commit/77874a5794a3bb007cda2e6a5ac77e7ce48cf8c4
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/AST/ExprClassification.cpp
    A clang/test/SemaCXX/imag-lvalue-with-non-complex-operand.cpp

  Log Message:
  -----------
  [Clang][Sema] Make _Imag int/float LValue not assignable (#218270)

Clang accepts `__real int/float` as an LValue because it's equal to the
scalar value itself, so the assignment will work fine, but it's not the
case for `__imag` because, for int and float, there is no imaginary part
to assign a value to it, so in the sema we can reject this case, similar
to GCC.

Fixes: #119498


  Commit: 6fb705da6eac41c4ff4625c0a89861defc67e124
      https://github.com/llvm/llvm-project/commit/6fb705da6eac41c4ff4625c0a89861defc67e124
  Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
    A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-privatize-threadx-heap.mlir

  Log Message:
  -----------
  [mlir][openacc] Keep vector-private storage per-lane in ACCCGToGPU (#222134)

Give each lane its own allocation when `ThreadX` is active and the shape
is too large or too dynamic to be considered for stack alloca.
`processPrivatize` published a single allocation through a workgroup
slot indexed by `ThreadY`, so all lanes of a worker ended up sharing one
buffer.


  Commit: c4c32a50adc88bf28a9188dcd946cdc2af7c19f2
      https://github.com/llvm/llvm-project/commit/c4c32a50adc88bf28a9188dcd946cdc2af7c19f2
  Author: Tim Kientzle <tkientzle at apple.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/utils/lit/lit/TestRunner.py

  Log Message:
  -----------
  [LIT] Fix quadratic behavior collecting process output (#222419)

Repeatedly appending to a string is quadratic.
This makes lit very slow when tests emit large amounts of output.

Fixing this speeds up one Swift compiler test by 36x (from 720s down to
20s).


  Commit: cd10182794b76adacc6a1c94953cdb2891d5735b
      https://github.com/llvm/llvm-project/commit/cd10182794b76adacc6a1c94953cdb2891d5735b
  Author: Andrei Elovikov <andrei.elovikov at sifive.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/VPlan/vplan-based-stride-mv.ll
    M llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv-btc.ll
    M llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv.ll

  Log Message:
  -----------
  [NFC][VPlan] Add extra tests for VPlan-based stride speculation (#218795)

For https://github.com/llvm/llvm-project/pull/182595.


  Commit: 2f91c9c95a93be6d559dd0028a35c9f5e15d3dcf
      https://github.com/llvm/llvm-project/commit/2f91c9c95a93be6d559dd0028a35c9f5e15d3dcf
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/test/CodeGenObjCXX/arc-forwarded-lambda-call.mm

  Log Message:
  -----------
  [CodeGen] Relax an overly strict assert in EmitAggregateCopy (#219090)

EmitAggregateCopy contains a sanity check verifying that a record being
bitwise copied has a genuinely trivial copy/move constructor or
assignment operator. The check did not account for records that are
non-trivial only because they contain an ARC __strong field. Such
records are still trivial for the purposes of calls, so clang can
legitimately use memcpy to copy them when passing or returning the type
by value.

Relax the assertion by using hasTrivialCopyConstructorForCall() and
hasTrivialMoveConstructorForCall() instead of the plain
hasTrivialCopyConstructor()/hasTrivialMoveConstructor() checks, since
these are exactly the predicates that capture that notion of triviality
for calls. This also makes the separate hasAttr<TrivialABIAttr>() check
redundant, since the trivial_abi attribute unconditionally sets the
for-call bits for the copy constructor, move constructor, and
destructor.

rdar://182749806


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

  Changed paths:
    M offload/plugins-nextgen/level_zero/include/L0Options.h
    M offload/plugins-nextgen/level_zero/include/L0Queue.h
    M offload/plugins-nextgen/level_zero/src/L0Options.cpp
    M offload/plugins-nextgen/level_zero/src/L0Queue.cpp

  Log Message:
  -----------
  [offload][level_zero] Remove async queues (#222267)

Remove old queues now that new inorder queues seems stable enough (and
more in line with what is needed for liboffload).


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

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/Support/AMDGPUAddrSpace.h
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/IR/VerifierAMDGPU.cpp
    M llvm/lib/IR/VerifierInternal.h
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
    M llvm/test/CodeGen/AMDGPU/nullptr.ll
    M llvm/test/Verifier/AMDGPU/alloca.ll
    A llvm/test/Verifier/AMDGPU/global-variable.ll

  Log Message:
  -----------
  [AMDGPU] Introduce address space 13 for VGPR as memory (#208557)

Introduce address space 13 (enum, datalayout, verifier allowance, docs)
for VGPR as memory. No codegen in this PR.

Co-authored-by: Nicolai Hähnle <Nicolai.Haehnle at amd.com>


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

  Log Message:
  -----------
  [InstCombine] Remove ProfcheckDisableMetadataFixes checks

Our internal ablation study on the set of checks up to 2-11-2026 has
finished, so we can remove any fixes that are older than that.

Reviewers: nikic, mtrofin

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


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

  Changed paths:
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Metadata.cpp
    M llvm/lib/Transforms/Utils/IntegerDivision.cpp

  Log Message:
  -----------
  [IR] Remove ProfcheckDisableMetadataFixes checks

Our internal ablation study on the set of checks up to 2-11-2026 has
finished, so we can remove any fixes that are older than that.

Also remove some calls to applyProfMetadataIfEnabled that were added
before the cutoff date. Leave the rest that were added afterwards.

Reviewers: mtrofin, nikic

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


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

  Changed paths:
    M clang/test/CIR/CodeGenOpenMP/barrier.c
    M clang/test/CIR/CodeGenOpenMP/decl-not-yet-implemented.c
    M clang/test/CIR/CodeGenOpenMP/not-yet-implemented.c
    M clang/test/CIR/CodeGenOpenMP/omp-module-attrs.c
    M clang/test/CIR/CodeGenOpenMP/parallel.c
    M clang/test/CIR/CodeGenOpenMP/target-host-op-filtering.c
    M clang/test/CIR/CodeGenOpenMP/target-map-llvm-device.c
    M clang/test/CIR/CodeGenOpenMP/target-map.c

  Log Message:
  -----------
  [CIR] Fix OpenMP tests by adding a triple. (#222345)

Now that we're trying to build by default, we actually have to be able
to build on other buildbots! But since we still don't have the
ABI/target stuff for non linux, we need to make sure our tests don't hit
that.


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

  Changed paths:
    M clang/test/CIR/CodeGenOpenACC/cache.c
    M clang/test/CIR/CodeGenOpenACC/combined-copy.c
    M clang/test/CIR/CodeGenOpenACC/combined-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-copyin-copyout-create.c
    M clang/test/CIR/CodeGenOpenACC/combined.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-copy.c
    M clang/test/CIR/CodeGenOpenACC/compute-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-copyin-copyout-create.c
    M clang/test/CIR/CodeGenOpenACC/data-copy-copyin-copyout-create.c
    M clang/test/CIR/CodeGenOpenACC/data.c
    M clang/test/CIR/CodeGenOpenACC/declare-deviceptr.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-link.cpp
    M clang/test/CIR/CodeGenOpenACC/enter-data.c
    M clang/test/CIR/CodeGenOpenACC/exit-data.c
    M clang/test/CIR/CodeGenOpenACC/host_data.c
    M clang/test/CIR/CodeGenOpenACC/init.c
    M clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/loop.cpp
    M clang/test/CIR/CodeGenOpenACC/parallel.c
    M clang/test/CIR/CodeGenOpenACC/routine-anon-ns.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-bind.c
    M clang/test/CIR/CodeGenOpenACC/routine-bind.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-clauses.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-device_type.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-globals.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-globals2.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-locals.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-members.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-ns.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-templ.cpp
    M clang/test/CIR/CodeGenOpenACC/serial.c
    M clang/test/CIR/CodeGenOpenACC/set.c
    M clang/test/CIR/CodeGenOpenACC/shutdown.c
    M clang/test/CIR/CodeGenOpenACC/update.c
    M clang/test/CIR/CodeGenOpenACC/wait.c

  Log Message:
  -----------
  [CIR] Fix OpenACC tests by adding a triple. (#222344)

Now that we're trying to build by default, we actually have to be able
to build on other buildbots! But since we still don't have the
ABI/target stuff for non linux, we need to make sure our tests don't hit
that.


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

  Changed paths:
    M llvm/lib/ProfileData/SampleProfWriter.cpp

  Log Message:
  -----------
  [nfc][ProfileData] Fix -Wrange-loop-construct in SampleProfileWriter (#220726)

Fixes warnings:
```
SampleProfWriter.cpp:804:12: note: use reference type 'std::pair<llvm::sampleprof::FunctionId, unsigned long> const &' to prevent copying
  804 |       for (const auto [TypeName, Count] : *Map) {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                       &
  SampleProfWriter.cpp:829:12: note: use reference type 'std::pair<llvm::sampleprof::FunctionId, unsigned long> const &' to prevent copying
  829 |       for (const auto [TypeId, Count] : *Map) {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                       &
```


  Commit: 1daadb8ac65d52e612e4ced185467ff9d363afd9
      https://github.com/llvm/llvm-project/commit/1daadb8ac65d52e612e4ced185467ff9d363afd9
  Author: Augusto Noronha <anoronha at apple.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/lib/Frontend/CompilerInvocation.cpp
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/unittests/TargetParser/TripleTest.cpp

  Log Message:
  -----------
  [Triple] Sink clang's DebugEntryValueArchs list into Triple (#222136)

So that other frontends can use it.

Assisted-by: claude

rdar://186478816


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

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerLoop.cpp
    M compiler-rt/test/fuzzer/fuzzer-finalstats.test
    M llvm/docs/LibFuzzer.md

  Log Message:
  -----------
  [libFuzzer] Don't count leak-verification re-executions towards `-runs` (#221036)

Fixes #66331. Stop countring the verification run in
TryDetectingAMemoryLeak() as part of TotalNumberOfRuns, as the number of
executed units could exceed -runs=N.


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

  Changed paths:
    M flang/test/Driver/tco-test-gen.fir
    M flang/test/Fir/convert-nontemporal-to-llvm.fir
    M flang/test/Fir/convert-to-llvm-access-group.fir
    M flang/test/Fir/convert-to-llvm.fir
    M flang/test/Fir/tbaa.fir
    M flang/test/Fir/vector-always-cfg.fir
    M mlir/docs/SPIRVToLLVMDialectConversion.md
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMOps.h
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
    M mlir/test/Conversion/ComplexToLLVM/complex-range-option.mlir
    M mlir/test/Conversion/ComplexToLLVM/convert-to-llvm.mlir
    M mlir/test/Conversion/GPUCommon/lower-memory-space-attrs.mlir
    M mlir/test/Conversion/GPUCommon/transfer_write.mlir
    M mlir/test/Conversion/MathToLLVM/math-to-llvm.mlir
    M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
    M mlir/test/Conversion/SPIRVToLLVM/memory-ops-to-llvm.mlir
    M mlir/test/Conversion/VectorToLLVM/use-vector-alignment.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-load-store-to-llvm.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-reduction-to-llvm.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-xfer-to-llvm.mlir
    M mlir/test/Dialect/LLVMIR/bytecode.mlir
    M mlir/test/Dialect/LLVMIR/canonicalize.mlir
    M mlir/test/Dialect/LLVMIR/dereferenceable-invalid.mlir
    M mlir/test/Dialect/LLVMIR/ifunc.mlir
    M mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
    M mlir/test/Dialect/LLVMIR/inlining-loop-annotation.mlir
    M mlir/test/Dialect/LLVMIR/inlining.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/loop-metadata.mlir
    M mlir/test/Dialect/LLVMIR/mem2reg-dbginfo.mlir
    M mlir/test/Dialect/LLVMIR/mem2reg-intrinsics.mlir
    M mlir/test/Dialect/LLVMIR/mem2reg.mlir
    M mlir/test/Dialect/LLVMIR/opaque-ptr.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Dialect/LLVMIR/tbaa-roundtrip.mlir
    M mlir/test/Dialect/Vector/vector-contract-to-matrix-intrinsics-transforms.mlir
    M mlir/test/Dialect/Vector/vector-transpose-to-matrix-intrinsics-transform.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-col.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-row.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-col.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-row.mlir
    M mlir/test/Target/LLVMIR/Import/fastmath.ll
    M mlir/test/Target/LLVMIR/Import/ifunc.ll
    M mlir/test/Target/LLVMIR/Import/instructions.ll
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/Import/masked-intrinsic-metadata.ll
    M mlir/test/Target/LLVMIR/Import/metadata-loop.ll
    M mlir/test/Target/LLVMIR/Import/metadata-profiling.ll
    M mlir/test/Target/LLVMIR/Import/metadata-tbaa.ll
    M mlir/test/Target/LLVMIR/Import/target-ext-type.ll
    M mlir/test/Target/LLVMIR/allocatable_gpu_reduction.mlir
    M mlir/test/Target/LLVMIR/allocatable_gpu_reduction_teams.mlir
    M mlir/test/Target/LLVMIR/anonymous-tbaa.mlir
    M mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir
    M mlir/test/Target/LLVMIR/attribute-dereferenceable.mlir
    M mlir/test/Target/LLVMIR/attribute-tbaa.mlir
    M mlir/test/Target/LLVMIR/ifunc.mlir
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
    M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M mlir/test/Target/LLVMIR/loop-metadata.mlir
    M mlir/test/Target/LLVMIR/masked-intrinsic-metadata.mlir
    M mlir/test/Target/LLVMIR/omptarget-debug-record-pos.mlir
    M mlir/test/Target/LLVMIR/omptarget-multi-reduction.mlir
    M mlir/test/Target/LLVMIR/omptarget-nowait.mlir
    M mlir/test/Target/LLVMIR/opaque-ptr.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-nontemporal.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-simd-private.mlir
    M mlir/test/Target/LLVMIR/openmp-simd-reduction-simple.mlir
    M mlir/test/Target/LLVMIR/openmp-target-private.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-private.mlir
    M mlir/test/Target/LLVMIR/target-ext-type.mlir
    M mlir/test/mlir-tblgen/op-format.td
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp

  Log Message:
  -----------
  [MLIR][LLVM] Enable strict property assembly format (#217277)

Enable strict property assembly format mode for the LLVM dialect. Bind
LLVM operation properties directly in declarative assembly formats so
strict parsing does not rely on fallback handling.

Update LLVM dialect, target, and conversion tests to use the direct
property spelling.

Assisted-by: Codex


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

  Changed paths:
    M clang/CMakeLists.txt
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [CIR][CMake] Configure MLIR as a dependency-only project (#221739)

Enable MLIR implicitly for ClangIR without attaching its unrelated tools
and test suite to the aggregate build. An explicit MLIR selection
retains its normal behavior. Add MLIR after all Clang consumers enable
Clang, so CIR also works when Clang is enabled for LLDB.

Package the required MLIR libraries through Clang's existing exports and
LLVM's distribution policy. Register dependency library and header
install components and honor toolchain-only installations. When Clang is
itself an implicit Flang dependency, let Flang package the required
targets.

Keep MLIR test support available for CIR and retain the standalone
ClangIR restriction. Leave MLIR disabled when CIR is disabled.

Assisted-by: Codex


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

  Changed paths:
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
    M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
    M mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
    M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
    M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
    M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
    M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
    M mlir/lib/Dialect/Arith/Transforms/UnsignedWhenEquivalent.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/EnableArmStreaming.cpp
    M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeVectorStorage.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
    M mlir/lib/Dialect/SCF/Transforms/ForallToParallel.cpp
    M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
    M mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
    M mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
    M mlir/test/Dialect/Affine/ops.mlir
    M mlir/test/Dialect/Arith/unsigned-when-equivalent.mlir
    M mlir/test/Dialect/SCF/ops.mlir
    M mlir/test/Dialect/Vector/linearize.mlir
    M mlir/test/Dialect/Vector/ops.mlir
    M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
    M mlir/test/Dialect/Vector/vector-unroll-options.mlir
    M mlir/test/Transforms/scf-replace-with-new-yields.mlir
    M mlir/test/lib/Dialect/SCF/TestLoopUnrolling.cpp
    M mlir/test/lib/Dialect/SCF/TestParallelLoopUnrolling.cpp
    M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp

  Log Message:
  -----------
  [mlir][Affine][SCF][Vector] Migrate to split inherent/discardable attribute APIs (#218913)

Migrate the Affine, Arith, Arm vector, SCF, and Vector dialect families
and related conversions to explicit discardable or typed attribute
access.

Assisted-by: Codex


  Commit: 97d5de84b6936c6366a0e184211f683b43e73429
      https://github.com/llvm/llvm-project/commit/97d5de84b6936c6366a0e184211f683b43e73429
  Author: Akash Dutta <137309513+akadutta at users.noreply.github.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

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

  Log Message:
  -----------
  [AMDGPU][NFC] Simplify conditional return in SIInstrInfo.cpp (#222426)


  Commit: d3db069999553568848400c84cbf815c03f5470f
      https://github.com/llvm/llvm-project/commit/d3db069999553568848400c84cbf815c03f5470f
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
    A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-strict.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    A llvm/test/MC/AMDGPU/gfx1250-strict_err.s

  Log Message:
  -----------
  [AMDGPU] Disable wmma_*_f4 instructions for gfx1250-strict (#222434)


  Commit: 92e630bec71c247905906d5c72d8cba64963c9f8
      https://github.com/llvm/llvm-project/commit/92e630bec71c247905906d5c72d8cba64963c9f8
  Author: Deric C. <cheung.deric at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/test/AST/HLSL/Textures-scalar-AST.hlsl
    M clang/test/AST/HLSL/Textures-shorthand-AST.hlsl
    M clang/test/AST/HLSL/Textures-vector-AST.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-CalculateLevelOfDetail.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-Load.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-Mips.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-Sample.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-SampleBias.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-SampleGrad.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-SampleLevel.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-Subscript.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-default-explicit-binding.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-default.hlsl
    M clang/test/CodeGenHLSL/resources/Textures-shorthand-contexts.hlsl
    M clang/test/SemaHLSL/Resources/Textures-CalculateLevelOfDetail.hlsl
    M clang/test/SemaHLSL/Resources/Textures-Load-errors.hlsl
    M clang/test/SemaHLSL/Resources/Textures-SampleBias.hlsl
    M clang/test/SemaHLSL/Resources/Textures-SampleGrad.hlsl
    M clang/test/SemaHLSL/Resources/Textures-SampleLevel.hlsl
    M clang/test/SemaHLSL/Resources/Textures-Sema.hlsl
    M clang/test/SemaHLSL/Resources/Textures-Subscript.hlsl
    M clang/test/SemaHLSL/Resources/Textures-declaration-order.hlsl
    M clang/test/SemaHLSL/Resources/Textures-mips-errors.hlsl
    M clang/test/SemaHLSL/Resources/Textures-unsupported-methods-errors.hlsl

  Log Message:
  -----------
  [HLSL] Add Texture3D and RWTexture3D types (#220438)

Fixes https://github.com/llvm/llvm-project/issues/194739 and fixes
https://github.com/llvm/llvm-project/issues/194743

This PR implements Texture3D and RWTexture3D and adds+modifies tests for
the two types.

Assisted by: Claude Opus 5

---------

Co-authored-by: Finn Plummer <mail at inbelic.dev>


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

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

  Log Message:
  -----------
  [ProfCheck] Removing passing tests from xfail list (#222473)

These tests appear to be passing/deleted as of 9/9/26.


  Commit: 70e79a05f791115fd5a9e36447981e7251af2bfd
      https://github.com/llvm/llvm-project/commit/70e79a05f791115fd5a9e36447981e7251af2bfd
  Author: Zane Hambly <zanehambly at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/test/MC/X86/x86_errors.s

  Log Message:
  -----------
  [X86] Reject a register where a memory operand displacement belongs (#216068)

Fixes #61438


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

  Changed paths:
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/Target/AMDGPU/R600Processors.td
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp
    M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp

  Log Message:
  -----------
  AMDGPU: Migrate R600 onto generated TargetParser bitset (#222461)

Follow the new amdgcn system so we don't have to carry 2 different
forms of this infrastructure.

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


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

  Changed paths:
    M llvm/utils/gn/secondary/lldb/test/BUILD.gn

  Log Message:
  -----------
  [gn] port eb5cd179549d68 (#222476)


  Commit: 707c032dae3bee24eae29c6f4c459a6d6dc6556d
      https://github.com/llvm/llvm-project/commit/707c032dae3bee24eae29c6f4c459a6d6dc6556d
  Author: Yuvaraj Venkatesh <yuvaraj.venkatesh at arm.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir

  Log Message:
  -----------
  [mlir][tosa] Add support for MXFP SCATTER (#222288)

Tosa specification changes in
https://github.com/arm/tosa-specification/pull/78


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

  Changed paths:
    M clang/test/CIR/CodeGen/cxx20-module-initializer.cppm
    M clang/test/CIR/CodeGenCXX/typeid-most-derived.cpp
    M clang/test/CIR/CodeGenCXX/typeid-should-throw.cpp
    M clang/test/CIR/Lowering/calling-conv.cir
    M clang/test/CIR/Lowering/module-asm.cir
    M clang/test/CIR/Lowering/poison.cir
    M clang/test/CIR/Lowering/select.cir
    M clang/test/CIR/Lowering/strictfp.cir
    M clang/test/CIR/Lowering/ternary.cir
    M clang/test/CIR/Tools/warn-default-triple.cir
    M clang/test/CIR/Transforms/idiom-recognizer.cpp
    M clang/test/CIR/Transforms/lib-opt.cpp

  Log Message:
  -----------
  [CIR] Fix CIR tests by adding a triple/Requires. (#222346)

Now that we're trying to build by default, we actually have to be able
to build on other buildbots! But since we still don't have the
ABI/target stuff for non linux, we need to make sure our tests don't hit
that. Tests that execute 'clang' in some way are given a triple, ones
that are on .cir files we just add a 'requires'. Some day we should be
able to remove those, but it'll require us to add the cxxabi/etc for
windows.


  Commit: 2f704c94bf5c396f33da4684540cb22f38a757cc
      https://github.com/llvm/llvm-project/commit/2f704c94bf5c396f33da4684540cb22f38a757cc
  Author: Tadeusz <tadeuszjt at protonmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/test/SemaOpenACC/routine-construct-clauses.cpp

  Log Message:
  -----------
  [Clang][OpenACC] Fixed getExtValue Call on Invalid Gang Dim (#221502)

**Problem**
When an invalid 'gang dim' value is used in `CheckGangDimExpr`, the
function prints the value into the diagnostic message by calling
`getExtValue`. This function asserts on values that can't fit into a
signed integer.

**Solution**
`APSInt` has a `<<` operator anyway so just use that.


The fix causes the message to print with the following formatting: 
```
test.cpp:5:40: error: argument to 'gang' clause dimension must be 1, 2, or 3: evaluated to 18'446'744'073'709'551'574
    5 | #pragma acc routine(S::foo) gang(dim : S::foo())
      |                                        ^
1 warning and 1 error generated.
```
Fixes #221418


  Commit: a5ef934a8d295dc03be3960f2b3744ec2e53238e
      https://github.com/llvm/llvm-project/commit/a5ef934a8d295dc03be3960f2b3744ec2e53238e
  Author: Alex <filaka771 at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/Sema/constant-conversion.c

  Log Message:
  -----------
  [clang] Warn on signed char array constant conversion (#203792)

This resolves #181730: fixes a missing `-Wconstant-conversion`
diagnostic for `signed char` array initialization.

Before this change, Clang warned for `signed char foo = 255;` but did
not
warn for `signed char bar[] = {255};`.

The warning suppression helper did not distinguish between `char`,
`unsigned char`, and `signed char` in brace-initialized arrays. Now it
does.


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.cpp
    M llvm/test/CodeGen/SPIRV/hlsl-resources/ImplicitBinding.ll

  Log Message:
  -----------
  [SPIRV] Fix inconsistent operand order for counter resource intrinsic (#221646)

The `llvm.spv.resource.handlefrombinding` intrinsic stores its binding
operands in the order (DescriptorSet, BindingNo, ...). The
`llvm.spv.resource.counterhandlefrombinding` intrinsic should use the
same order.

The `llvm.spv.resource.counterhandlefrombinding` intrinsic is currently
emitted only by the `SPIRVLegalizeImplicitBinding` pass. The pass
previously built its operands in the wrong order, and the instruction
selector repeated the same inversion when emitting decorations.

This change makes the operand order consistent with
`llvm.spv.resource.handlefrombinding`.

Test update closes a coverage gap - there were no tests for explicit
`llvm.spv.resource.counterhandlefrombinding` calls.

Assisted by GPT-5.6 Sol.


  Commit: 6b0c1836d05ab22f55ec5b8e76bc797415de10f3
      https://github.com/llvm/llvm-project/commit/6b0c1836d05ab22f55ec5b8e76bc797415de10f3
  Author: Kane Wang <wangqiang1 at kylinos.cn>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/lrint-llrint-f16.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/lrint-llrint.ll

  Log Message:
  -----------
  [RISCV][GlobalISel] Support G_INTRINSIC_LRINT/G_INTRINSIC_LLRINT (#221992)

Add legalizer rules so llvm.lrint/llrint lower to fcvt.{w,l}.{h,s,d}
with FRM_DYN, mirroring the existing G_LROUND/G_LLROUND handling.


  Commit: 5524a2192f6d6b29f5be1ff72947e99bf7e27ad9
      https://github.com/llvm/llvm-project/commit/5524a2192f6d6b29f5be1ff72947e99bf7e27ad9
  Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/test/CIR/CodeGenCoroutines/coro-builtins.cpp

  Log Message:
  -----------
  [CIR] Add cir.coro.intrinsic.resume/destroy/done Ops (#222210)

Adds CoroResumeOp, CoroDestroyOp, and CoroDoneOp, representing
llvm.coro.resume, llvm.coro.destroy, and llvm.coro.done respectively.


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/orc-b-patterns.ll

  Log Message:
  -----------
  [RISCV] Add RV64 RUN lines to orc-b-patterns.ll. NFC (#222424)

Add some i16 and i64 tests.


  Commit: ed6de5998d473b30f502979b87531f21c4cd27b4
      https://github.com/llvm/llvm-project/commit/ed6de5998d473b30f502979b87531f21c4cd27b4
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/ObjectYAML/COFFEmitter.cpp

  Log Message:
  -----------
  [ObjectYAML] Fold layoutCOFF into writeCOFF (#221683)

Fold the COFF layout pass into writeCOFF so the
ContiguousBlobAccumulator tracks section offsets and sizes as data is
written. Reserve and fill in the optional header and section table once
the section layout is final.

This is almost NFC, except when the output size exceeds the limit.


  Commit: 1474da952ed7d2b7be855a07d5fcca2dfc46b8fb
      https://github.com/llvm/llvm-project/commit/1474da952ed7d2b7be855a07d5fcca2dfc46b8fb
  Author: Yuta Saito <kateinoigakukun at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h

  Log Message:
  -----------
  [ASan] Recognize WASI as a platform with 64-bit off_t (#144441)

WASI defines `off_t` as 64-bit signed integers to support files larger
than 2 GiB.
https://github.com/WebAssembly/wasi-libc/blob/wasi-sdk-25/libc-bottom-half/headers/public/__typedef_off_t.h


  Commit: 7cdf4c8bc306e0f1a0022898e70ab63a7c466ebf
      https://github.com/llvm/llvm-project/commit/7cdf4c8bc306e0f1a0022898e70ab63a7c466ebf
  Author: Mike Aizatsky <maizatskyi at cloudflare.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    A compiler-rt/test/tsan/Linux/epoll_oneshot_norace.cpp

  Log Message:
  -----------
  [tsan] recognize EPOLL_CTL_MOD with EPOLLONESHOT (#220304)

Handles it the same way as EPOLL_CTL_ADD


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

  Changed paths:
    M compiler-rt/include/fuzzer/FuzzedDataProvider.h
    M compiler-rt/lib/fuzzer/tests/FuzzedDataProviderUnittest.cpp

  Log Message:
  -----------
  [libFuzzer] Clamp `ConsumeFloatingPointInRange` result to `max` (#221552)

Fixes #65312. Floating point rounding could push the result above `max`,
or even overflow to infinity, so we clamp it instead.

---------

Co-authored-by: Dan Blackwell <danblackwell95 at gmail.com>


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

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/wcslen-1.ll
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  [InstCombine] Fix profile propagation for wcslen folding (#222475)


  Commit: 92c1693b574850644535dcb8e18a70fdd115dc94
      https://github.com/llvm/llvm-project/commit/92c1693b574850644535dcb8e18a70fdd115dc94
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp

  Log Message:
  -----------
  [NFC][AMDGPU] Remove unused MC insts in isPackedSingleSGPR64BitInst (#222463)

There is no opsel support for these instructions, and thus we do not have
to manipulate opsel at MC layer. As a result, isPackedSingleSGPR64BitIns
is currently only used before pseudo-expansion. So we remove MC instruction
check inside.


  Commit: 18a61f5a44dda16720754584aee95cac652e3646
      https://github.com/llvm/llvm-project/commit/18a61f5a44dda16720754584aee95cac652e3646
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td

  Log Message:
  -----------
  [AMDGPU] Move feature LDSBankCount64 to specific subtargets. NFC (#222469)


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

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

  Log Message:
  -----------
  [GitHub] Bump CI Container Runner Version to 2.337.0 (#222480)

This is the latest version and keeps us ahead of the relatively short
runner support horizon.


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

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td

  Log Message:
  -----------
  [AMDGPU] Add missing attributes to llvm.amdgcn.init.whole.wave (#222493)

`llvm.amdgcn.init.whole.wave` only sets the EXEC mask and reports
whether the lane was active on entry. It never calls into the module,
never frees memory, and always returns, so it can carry `nocallback`,
`nofree`, and `willreturn`.

The neighboring `llvm.amdgcn.init.exec` and
`llvm.amdgcn.init.exec.from.input` already have all three; this brings
`init.whole.wave` in line and lets the attributor propagate them to
callers.


  Commit: e32ffd8b546f4a743812756efe11a7424cf9de5f
      https://github.com/llvm/llvm-project/commit/e32ffd8b546f4a743812756efe11a7424cf9de5f
  Author: David Rivera <davidriverg at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    A clang/test/CIR/IR/invalid-offload-container.cir
    A clang/test/CIR/IR/offload-container.cir

  Log Message:
  -----------
  [CIR] Add offload container attribute (#206576)

Introduce `cir.offload.container`, a CIR dialect unit attribute that marks an
MLIR module as holding a host CIR module and its associated device CIR
modules in one IR unit while later offload merge/split pipeline passes need
visibility into both sides.

The marked module's body holds nested `builtin.module` operations. Each
nested module is tagged with `cir.offload.kind`, represented by the new
`#cir.offload_kind<host>` / `#cir.offload_kind<device>` enum attribute.

The structural contract expected by the follow-up pipeline work is
enforced in `CIRDialect::verifyOperationAttribute`, following the
`gpu.container_module` precedent:

* `cir.offload.container` is a unit attribute attached to a
`builtin.module`
* the first nested module is the host module
* all following nested modules are device modules
* the body contains only nested `builtin.module` operations
* at least one device module is present
* `cir.offload.kind` is only ever attached to a `builtin.module`

This patch only introduces the IR representation and verifier tests. The
passes that create, consume, or split this container are left to follow-up
patches.

This is part of the Host-Device CIR Combine Pipeline work discussed on
Discourse:
[discourse.llvm.org/t/gsoc-2026-host-device-cir-combine-pipeline-project-idea-discussion/89623](https://discourse.llvm.org/t/gsoc-2026-host-device-cir-combine-pipeline-project-idea-discussion/89623)


  Commit: e01829dfee891cfaf61752c926b0532aaa261ad2
      https://github.com/llvm/llvm-project/commit/e01829dfee891cfaf61752c926b0532aaa261ad2
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/include/clang/Sema/Overload.h
    M clang/lib/Sema/SemaOverload.cpp

  Log Message:
  -----------
  [Clang] Avoid unnecessary overload resolution when building RecoveryExpr (#222296)

When overload resolution fails, we tried RecoveryCallExpr which
ended up performing duplicate overload resolutions, where the template
argument deduction can be expensive.

This patch removes those 'known' invalid overload candidates before
RecoveryCallExpr.


  Commit: f1245b6a7b2fb2e5c96434b9fb3107b4cf873d10
      https://github.com/llvm/llvm-project/commit/f1245b6a7b2fb2e5c96434b9fb3107b4cf873d10
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
    M llvm/test/CodeGen/Hexagon/anti-dep-partial.mir

  Log Message:
  -----------
  [CodeGen] Skip pseudo instructions in AggressiveAntiDepBreaker (#222271)

`ScheduleDAGInstrs` does not create SUnits for debug or pseudo
instructions. The aggressive anti-dependency breaker only skipped debug
instructions, so encountering a pseudo such as `PSEUDO_PROBE`
dereferenced a null SUnit.

Skip both debug and pseudo instructions and add a Hexagon regression
covering the existing aggressive anti-dependency path with legacy and
new machine pass managers.

Split from #221984 in response to review.


  Commit: cdf59b384a48610a6450011279005b1e34f8572d
      https://github.com/llvm/llvm-project/commit/cdf59b384a48610a6450011279005b1e34f8572d
  Author: Ritanya-B-Bharadwaj <ritanya.b.bharadwaj at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M flang/docs/OpenMPSupport.md
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    R flang/test/Lower/OpenMP/Todo/threadset.f90
    A flang/test/Lower/OpenMP/threadset.f90
    A flang/test/Semantics/OpenMP/threadset-clause-v60.f90
    M flang/test/Semantics/OpenMP/threadset-clause.f90
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/ops.mlir
    A mlir/test/Target/LLVMIR/openmp-task-threadset.mlir
    A mlir/test/Target/LLVMIR/openmp-taskloop-threadset.mlir

  Log Message:
  -----------
  [Flang][OpenMP] Add lowering and translation for the threadset clause (#215513)

Adds Flang lowering, and LLVM IR translation for the OpenMP 6.0 `threadset` clause (spec 14.8) on `task` and `taskloop`.

- Add a `ThreadsetPolicy` enum (`omp_pool`/`omp_team`) and clause on `omp.task` and `omp.taskloop.context`, lowered from Flang.
- Translate `threadset(omp_pool)` to the free-agent task flag (`0x80`); `omp_team` leaves it unset, matching clang.
- Add semantics, lowering, and translation tests.

Related: https://github.com/llvm/llvm-project/pull/135807,
https://github.com/llvm/llvm-project/pull/144409,
https://github.com/llvm/llvm-project/pull/169856


  Commit: feabb30f0feef2361ac301618ff56566289919e7
      https://github.com/llvm/llvm-project/commit/feabb30f0feef2361ac301618ff56566289919e7
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/MachineScheduler.cpp
    A llvm/test/CodeGen/SystemZ/postra-sched-filter.mir

  Log Message:
  -----------
  [MISched] Apply debug filters before starting a block (#222270)

Apply the `misched-only-func` and `misched-only-block` filters before
calling `startBlock`. This avoids entering a target scheduling strategy
for a filtered block without a matching `finishBlock`/`leaveMBB` call.

Add a SystemZ post-RA scheduler regression that checks a filtered block
does not contribute hazard-recognizer state.

Split from #221984 in response to review.


  Commit: 6594e8248e7d9dae26b7909d8c5eec4784d55000
      https://github.com/llvm/llvm-project/commit/6594e8248e7d9dae26b7909d8c5eec4784d55000
  Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    M llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir

  Log Message:
  -----------
  [AMDGPU] Reject DPP combine when old is narrower than dst (#217894)

Old is copied from the mov dst class, but the combined dst can be wider
(e.g. V_CVT_F64_I32), making old illegal for it


  Commit: 4acc5f1ff8d181bb948a60b7eb2a6371e241051e
      https://github.com/llvm/llvm-project/commit/4acc5f1ff8d181bb948a60b7eb2a6371e241051e
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

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

  Log Message:
  -----------
  [SLP][modularisation][NFC] Move clusterSortPtrAccesses to SLPMemoryUtils (#222235)

Move the BoUpSLP-independent pointer-clustering sort out of
SLPVectorizer.cpp into SLPVectorizer/SLPMemoryUtils.{h,cpp}.

clusterSortPtrAccesses reads the file-local RecursionMaxDepth cl::opt
via getUnderlyingObject; the option stays static in SLPVectorizer.cpp
and the moved helper takes its value as an explicit unsigned parameter
(also captured by the local comparison lambda). Behavior is unchanged.

Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922

Assisted by AI


  Commit: 34a9870a9851ce16686282fa4d4a19bf477d5934
      https://github.com/llvm/llvm-project/commit/34a9870a9851ce16686282fa4d4a19bf477d5934
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M lldb/bindings/interface/SBCompileUnitDocstrings.i
    M lldb/include/lldb/API/SBCompileUnit.h
    M lldb/source/API/SBCompileUnit.cpp
    M lldb/test/API/python_api/compile_unit/TestCompileUnitAPI.py

  Log Message:
  -----------
  [lldb] Add SBCompileUnit::GetIsOptimized (#222403)

Expose Module::GetIsOptimized through the SB API so clients can tell
whether a compile unit was built with optimization. This change is
motivated by lldb-dap, where I want to extend the protocol::CompileUnit
with this information.

The new tests build the same source with and without -O1, so the test
case can no longer share a build with the others.


  Commit: 4d5358b1d224b7eba12b6868e2e112487b876353
      https://github.com/llvm/llvm-project/commit/4d5358b1d224b7eba12b6868e2e112487b876353
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

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

  Log Message:
  -----------
  [SLP][modularisation][NFC] Move BaseShuffleAnalysis to SLPShuffleAnalysis.h (#222236)

Move the BoUpSLP-independent shuffle-analysis base class out of
SLPVectorizer.cpp into a new header-only
SLPVectorizer/SLPShuffleAnalysis.h. BoUpSLP::ShuffleCostEstimator and
BoUpSLP::ShuffleInstructionBuilder keep deriving from it.

createShuffle read the file-local SLPReVec cl::opt in an assert; the
option stays static in SLPVectorizer.cpp and the moved template takes
its value as an explicit bool parameter. Behavior is unchanged.

Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922

Assisted by AI.


  Commit: 90cebef1411617fc3eedd359bdf00cb44b1c2439
      https://github.com/llvm/llvm-project/commit/90cebef1411617fc3eedd359bdf00cb44b1c2439
  Author: Addmisol <addmisol9 at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/Transforms/MemCpyOpt/no-libcalls.ll

  Log Message:
  -----------
  [MemCpyOpt] Remove libcall availability checks for memory intrinsics (#198558)

Fixes #197683

- Delete the enable-memcpyopt-without-libcalls flag from MemCpyOptimizer
- Remove libcall availability checks in processStoreOfLoad() and
processStore()
- Remove the flag from CUDA/OpenMP toolchain in Clang
- Update no-libcalls.ll test to expect optimizations on all targets


cc @arsenm

Signed-off-by: addmisol <addmisol9 at gmail.com>


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

  Changed paths:
    M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
    M lldb/test/API/tools/lldb-dap/exception/asan/TestDAP_asan.py
    M lldb/test/API/tools/lldb-dap/exception/cpp/TestDAP_exception_cpp.py
    M lldb/test/API/tools/lldb-dap/exception/objc/TestDAP_exception_objc.py
    M lldb/test/API/tools/lldb-dap/exception/ubsan/TestDAP_ubsan.py
    M lldb/tools/lldb-dap/EventHelper.cpp

  Log Message:
  -----------
  [lldb-dap] Set stopped event text for signals and instrumentation (#222394)

DAP maps signals and instrumentation to reason 'exception'. Populate
'text' with the signal or runtime name to distinguish stop types. For
example, text contains the specific signal name (e.g., "SIGABRT") or
instrumentation runtime name (e.g., "AddressSanitizer").


  Commit: d54f5e540685516fef383f8fe7cd0ef45382770b
      https://github.com/llvm/llvm-project/commit/d54f5e540685516fef383f8fe7cd0ef45382770b
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M lldb/include/lldb/API/SBCompileUnit.h
    M lldb/include/lldb/Symbol/CompileUnit.h
    M lldb/source/API/SBCompileUnit.cpp
    M lldb/source/Symbol/SymbolFile.cpp
    M lldb/test/API/python_api/compile_unit/Makefile
    M lldb/test/API/python_api/compile_unit/TestCompileUnitAPI.py
    A lldb/test/API/python_api/compile_unit/other.c

  Log Message:
  -----------
  [lldb] Add SBCompileUnit::GetIDInModule (#222470)

Expose an ID that identifies a compile unit within its module so clients
can name a CU across API calls and look it up again with
SBModule::GetCompileUnitAtIndex. The user ID is not usable for this:
with a Darwin debug map every compile unit reports uid 0.

CompileUnit stores the index, set by SymbolFileCommon when a CU is
parsed or installed at a given slot.


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

  Changed paths:
    M llvm/lib/CodeGen/RegAllocFast.cpp
    A llvm/test/CodeGen/X86/regallocfast-undef-tied-use.mir

  Log Message:
  -----------
  [RegAllocFast] Give an undef tied use the register of its tied def (#222249)

X86TargetLowering::emitSetJmpShadowStackFix zeroes a register by
building an XOR whose two uses are undef reads of its own def (per
MachineOperand.h "... reading the same dont-care value"). Def processing
frees a def whose tied use is undef before the uses are allocated, so
allocVirtRegUndef() no longer finds the virtual register and takes the
head of the allocation order instead. -verify-machineinstrs would fail:

```
renamable $rcx = XOR64rr undef renamable $rax(tied-def 0), undef renamable $rax, implicit-def dead $eflags
*** Bad machine code: Tied physical registers must match. ***
```

Take the register from the tie, and rewrite the instruction's other
reads of the value with it so that they keep agreeing on one register.

Aided by Opus 5


  Commit: 6f54fe6b6fb22f8a335fd19b94049fc769dfea25
      https://github.com/llvm/llvm-project/commit/6f54fe6b6fb22f8a335fd19b94049fc769dfea25
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M bolt/runtime/common.h
    M bolt/runtime/instr.cpp
    M bolt/runtime/sys_aarch64.h

  Log Message:
  -----------
  [BOLT][AArch64][Android] Recover from dump failure instead of exit (#221292)

Embedded in Android app, failed assert() or reportError() during a BOLT
profile dump should not exit the host process. Install a recovery point
in __bolt_instr_data_dump(), so any failure can longjmp back, return a
non-zero value to caller, and set a flag so later dumps can be skipped.

Clang does not support __builtin_setjmp/longjmp for the AArch64 Android
target, so add a minimal hand-written setjmp/longjmp in sys_aarch64.h.

Since the majority Android apps run on AArch64 CPUs, while at this I
defined `ANDROID_AARCH64` and replaced `__ANDROID__` with it in the
instrumentation runtime code.

Assisted-by: opus


  Commit: ab618ec375ffe8f2474bac9e4ac82d1f5330fd46
      https://github.com/llvm/llvm-project/commit/ab618ec375ffe8f2474bac9e4ac82d1f5330fd46
  Author: Valery Pykhtin <valery.pykhtin at amd.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

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

  Log Message:
  -----------
  [AMDGPU] Gate 64-bit VGPR copy lowering on operand register class in copyPhysReg (#219562)

copyPhysReg lowers a 64-bit VGPR copy to V_MOV_B64_e32 / V_PK_MOV_B32
when available. Emit the wide move only when the destination and source
are members of the move's HwMode-resolved operand classes; otherwise
fall through to the element-wise V_MOV_B32 expansion, to respect
alignment requirements.

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


  Commit: 93ad0d2dbd1d9a27797aefb028ee210b91c2f29d
      https://github.com/llvm/llvm-project/commit/93ad0d2dbd1d9a27797aefb028ee210b91c2f29d
  Author: Valery Pykhtin <valery.pykhtin at amd.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/verify-ds-gws-align.mir
    M llvm/test/CodeGen/AMDGPU/verify-gfx90a-aligned-vgprs.mir

  Log Message:
  -----------
  [AMDGPU] Restructure VGPR-alignment verifier tests, NFC (#219229)

Rewrite verify-gfx90a-aligned-vgprs.mir and verify-ds-gws-align.mir so each case
documents inline what makes it invalid, and match the verifier's fuller output -
the "*** Bad machine code ***" kind and the "- instruction:" line - instead of a
single message fragment. Pure test restructure with no functional change, so the
follow-up commit that derives alignment from the operand register class shows
only the change in diagnostic wording.

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


  Commit: 1646fcc603b9eea03c6f09a3ed6be25260d3e875
      https://github.com/llvm/llvm-project/commit/1646fcc603b9eea03c6f09a3ed6be25260d3e875
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM][Maintainers] Add myself as NVPTX backend co-maintainer (#215627)

I've been contributing to the NVPTX backend (TableGen, ISel lowering)
and would also like to help maintain it going forward.

Signed-off-by: Durgadoss R <durgadossr at nvidia.com>


  Commit: a700f8e71cf4cdf37330aecc41445af2ff4dd105
      https://github.com/llvm/llvm-project/commit/a700f8e71cf4cdf37330aecc41445af2ff4dd105
  Author: ShashwathiNavada <shashwathinavada at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M flang/docs/OpenMPSupport.md
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/check-omp-variant.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    A flang/test/Semantics/OpenMP/do-concurrent-pure-version.f90
    A flang/test/Semantics/OpenMP/do-concurrent-pure.f90
    M flang/test/Semantics/OpenMP/pure-procedure.f90

  Log Message:
  -----------
  [FLANG][OpenMP] Handling pure directives in DO CONCURRENT (#216642)

A directive with the PURE property is allowed inside a DO CONCURRENT
construct starting with OpenMP 6.0.


  Commit: 17caaa3bdbb229aa63c56864c1452100cfe36f39
      https://github.com/llvm/llvm-project/commit/17caaa3bdbb229aa63c56864c1452100cfe36f39
  Author: SharonXSharon <xiaoranxu.nju at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/unique-internal-linkage-names.cpp
    M clang/test/DebugInfo/Generic/unique-internal-linkage-names-dwarf.c
    M clang/test/DebugInfo/Generic/unique-internal-linkage-names-dwarf.cpp

  Log Message:
  -----------
  Revert "[clang] Revert "Disable Unique Internal Linkage Names for internal global vars." (#219261)" (#222486)

This reverts commit 9abbc9183d2231c2e44198100a6cd22ef66e2eb8.

Will reland with a proper fix of the GNU AsmLabelAttr

Co-authored-by: Sharon Xu <sharonxu at fb.com>


  Commit: 3fd4d1fa4ddfc9aca3522c58247962eeb8f21cd8
      https://github.com/llvm/llvm-project/commit/3fd4d1fa4ddfc9aca3522c58247962eeb8f21cd8
  Author: Jinjie Huang <huangjinjie at bytedance.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    A bolt/test/X86/icp-pic.s

  Log Message:
  -----------
  [BOLT][ICP] Use PC-relative instructions for x86 PIC binaries in ICP (#216587)

Currently, BOLT x86 ICP optimization inserts an immediate-to-register
comparison instruction, which forces the use of 32-bit signed (32S)
relocations due to ABI limitations. This behavior does not align well
with the conventions of PIC/PIE binaries and **makes it highly prone to
JITLink relocation overflow errors when dealing with large binaries.**

Therefore, this patch introduces an additional lea instruction for the
x86 architecture to leverage PC-relative (32PC) addressing. This change
is intended to apply by default to PIC binaries, or when specific
options are provided.


  Commit: 6fbfc9261c8f453e346773200a13458a170a9a8c
      https://github.com/llvm/llvm-project/commit/6fbfc9261c8f453e346773200a13458a170a9a8c
  Author: Peiqi Li <voyager.lpq at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang-tools-extra/clangd/Config.h
    M clang-tools-extra/clangd/ConfigCompile.cpp
    M clang-tools-extra/clangd/ConfigFragment.h
    M clang-tools-extra/clangd/ConfigYAML.cpp
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/docs/clang-tidy/QueryBasedCustomChecks.rst

  Log Message:
  -----------
  [clangd] Enable query-based custom checks (#216336)

Enable query-based custom checks in clangd behind a new `Diagnostics.ClangTidy.ExperimentalCustomChecks` configuration option.

Custom checks are registered from the per-file clang-tidy options and remain subject to clangd's `FastCheckFilter` policy.

Fixes #206696

Assisted by GPT-5.6


  Commit: 9e68cbda7816edded93e2c3a4dd03af5d4700026
      https://github.com/llvm/llvm-project/commit/9e68cbda7816edded93e2c3a4dd03af5d4700026
  Author: Pradeep Kumar <pradeepku at nvidia.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
    M clang/test/CodeGen/builtins-nvptx.c
    M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
    M llvm/docs/NVPTXUsage.md
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/NVVMIntrinsicUtils.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
    M llvm/test/CodeGen/NVPTX/mbarrier.ll
    A llvm/test/CodeGen/NVPTX/mbarrier_layout_sm90_ptx93.ll
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
    M mlir/test/Dialect/LLVMIR/nvvm.mlir
    M mlir/test/Dialect/LLVMIR/nvvm_check_target_sm_trait.mlir
    A mlir/test/Target/LLVMIR/nvvm/mbar_check_layout.mlir
    M mlir/test/Target/LLVMIR/nvvm/mbar_init.mlir
    M mlir/test/Target/LLVMIR/nvvm/mbar_invalid.mlir

  Log Message:
  -----------
  [LLVM][NVPTX][MLIR] Support layouts in mbarrier.init and add mbarrier.check_layout (#217252)

This commit adds LLVM NVPTX and MLIR NVVM support for the mbarrier layout extensions:

- llvm.nvvm.mbarrier.init with trailing immarg `layout` operand, and nvvm.mbarrier.init a matching `layout` attribute (default to 0) Layout 0 is the default in-memory layout and is emitted as a plain mbarrier.init; layout 1 is emitted as mbarrier.init.layout::v1.
- llvm.nvvm.mbarrier.check_layout / nvvm.mbarrier.check_layout, lowering to mbarrier.check_layout.layout::v{0,1}.

Only the layout::v1 form of mbarrier.init and mbarrier.check_layout require PTX ISA 9.3 and sm_90

llvm.nvvm.mbarrier.init{.shared } are also merged into a pointer-overloaded llvm.nvvm.mbarrier.init with calls to either older forms auto-upgraded

Please refer [PTX ISA](https://docs.nvidia.com/cuda/developer-preview/13.4/parallel-thread-execution/index.html)
for more details

Assisted by: Claude Code (Opus 5)


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

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/overflow-vec.ll
    M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/usub_sat_vec.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Lower vector overflow intrinsics (#222091)

As we have no native support for vector version of these intrinsics they
should be lowered.


  Commit: a91c7395c3fb1a37f69f7d8fb0e78c048faf6cb7
      https://github.com/llvm/llvm-project/commit/a91c7395c3fb1a37f69f7d8fb0e78c048faf6cb7
  Author: PushkarSingh <149073046+iitianpushkar at users.noreply.github.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/test/Sema/LifetimeSafety/invalidations.cpp
    M clang/test/Sema/LifetimeSafety/nocfg.cpp
    M clang/test/Sema/LifetimeSafety/safety.cpp

  Log Message:
  -----------
  [Lifetime Safety] Name operator calls in alias-chain diagnostics (#221803)

This updates Lifetime Safety alias-chain diagnostics to identify
overloaded operator and conversion calls instead of describing them
generically as an `expression`.

Previously, these calls were reported as `expression aliases the storage
of ...`, which could make it unclear which operation introduced the
alias. The diagnostic now reports the callee using the existing
diagnostic name printer, producing descriptions such as:

- `result of call to 'operator->'`
- `result of call to 'operator()'`
- `result of call to 'operator basic_string_view'`

Template arguments are preserved for operator function-template
specializations. For example:

- `result of call to 'operator+<const int>'`
- `result of call to 'operator-<__gnu_cxx::basic_iterator<const int>>'`

This makes each aliasing step explicit and identifies the particular
call responsible for propagating the alias.

References to
[#220248#discussion_r3905817437](https://github.com/llvm/llvm-project/pull/220248#discussion_r3905817437)


  Commit: be215a25f00139d68517589d78a79c3aa7a7eb26
      https://github.com/llvm/llvm-project/commit/be215a25f00139d68517589d78a79c3aa7a7eb26
  Author: Ryan VanderMeulen <ryanvm at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/utils/extract_symbols.py

  Log Message:
  -----------
  [Windows] Don't export clang::interp symbols for plugins (#221295)

With `LLVM_EXPORT_SYMBOLS_FOR_PLUGINS=ON`, `clang.exe` built from the
23.x release branch exports 66679 symbols on x86_64 Windows, over the
65535 limit of the PE export table, so it no longer links:

```
lld-link: error: too many exported symbols (got 66679, max 65535)
```

For comparison, the same configuration on 22.1.8 exports 65465 symbols,
so the headroom was already almost gone.

`clang::interp`, the constant expression bytecode interpreter, accounts
for roughly 4500 of the exported symbols (counted with `llvm-readobj
--coff-exports` on a linked aarch64 23.1.0 `clang.exe`). Its headers
live in `clang/lib/AST/ByteCode` and are not installed; the only mention
in a public header is the forward declaration of `interp::Context` in
`ASTContext.h`. A plugin cannot call into it, so there is no reason to
keep exporting it. Filtering it out follows the existing
`dump`/`dumpColor`/`printPretty` exclusions in
`should_keep_microsoft_symbol`.

Related: #87865 (open; earlier rounds #60109, #56109). This does not get
the MSVC-with-examples configuration from that issue under the limit by
itself, but it removes the largest block of symbols that can never be
used by a plugin, and is what gets the Firefox clang 23 toolchain
(x86_64-pc-windows-msvc, X86;ARM;AArch64;WebAssembly,
clang+lld+clang-tools-extra) from 66679 to roughly 62100 exports.

---
**AI tool use disclosure** (per the [LLVM AI Tool Use
Policy](https://llvm.org/docs/AIToolPolicy.html)): this change was
developed with Claude Code assisting in the analysis and drafting. The
root cause was established against real 23.1.0 binaries and libraries,
the patch was reviewed and tested by the author in Firefox's CI, and the
author is accountable for and able to answer questions about it. Commits
carry an `Assisted-by:` trailer.


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

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

  Log Message:
  -----------
  [LV] Avoid `std::optional<VPValue *>` (NFC) (#222352)

`VPValue *` is already nullable, the `std::optional` is not needed.


  Commit: bc6c76a4d4f8b4f6d5e9b663736703f91fcbb6ed
      https://github.com/llvm/llvm-project/commit/bc6c76a4d4f8b4f6d5e9b663736703f91fcbb6ed
  Author: Ryan VanderMeulen <ryanvm at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    A llvm/test/tools/extract_symbols/Inputs/lib-itanium.s
    A llvm/test/tools/extract_symbols/Inputs/lib-msvc.s
    A llvm/test/tools/extract_symbols/Inputs/user-itanium.s
    A llvm/test/tools/extract_symbols/Inputs/user-msvc.s
    A llvm/test/tools/extract_symbols/lit.local.cfg
    A llvm/test/tools/extract_symbols/registry-itanium.test
    A llvm/test/tools/extract_symbols/registry-microsoft.test
    M llvm/utils/extract_symbols.py

  Log Message:
  -----------
  [Windows] Export Registry<T> members and accessors for plugins again (#221296)

Since #185141 reworked `llvm::Registry`, the registered-node list lives
behind the explicitly specialized
`llvm::detail::getRegistryLinkListInstance<R>()` accessor defined by
`LLVM_DEFINE_REGISTRY`, and the `Head`/`Tail` static data members that
used to be referenced across objects are gone (#163391 had special-cased
those).

`extract_symbols.py` handles neither. The accessor is a `??$` function
template specialization, which the script drops on the assumption that
it can be instantiated in the importing translation unit; here it
cannot, it is defined once by `LLVM_DEFINE_REGISTRY`. And `Registry<T>`
members are only exported when some object references the `Registry`
template, which nothing does anymore because every use goes through the
accessor. On a static clang.exe built with
`LLVM_EXPORT_SYMBOLS_FOR_PLUGINS`, the export table went from 11
`Registry<clang::PluginASTAction>` symbols on 22.1.8 to zero on 23.1.0,
and linking a plugin fails:

```
lld-link: error: undefined symbol: __declspec(dllimport) public: static void __cdecl llvm::Registry<class clang::PluginASTAction>::add_node(class llvm::Registry<class clang::PluginASTAction>::node *)
>>> referenced by host_Registration.obj:(_GLOBAL__sub_I_Registration.cpp)
```

Keep the accessor specializations, and treat a reference to an accessor
as a reference to the `Registry` template so its explicitly instantiated
members are exported as they were before. Verified on the 23.1.0 static
libraries: `Registry<PluginASTAction>::add_node`, the node/iterator
members and the accessor come back for every registry (PluginASTAction,
PragmaHandler, GCStrategy, GCMetadataPrinter, ...), 141 symbols in total
in the Itanium run over the clang libraries. The `Head`/`Tail` rule from
#163391 no longer matches anything and is dropped.

Related: #163367 / #163391 (the previous Registry export fix), #87865.

---
**AI tool use disclosure** (per the [LLVM AI Tool Use
Policy](https://llvm.org/docs/AIToolPolicy.html)): this change was
developed with Claude Code assisting in the analysis and drafting. The
root cause was established against real 23.1.0 binaries and libraries,
and the fix was verified by running extract_symbols.py over the 23.1.0
clang static libraries (the Registry members and accessors come back)
and against MSVC-mangled test objects; Firefox's Windows clang-plugin
and mozsearch builds link and run against a clang.exe built with it.
`llvm/test/tools/extract_symbols/` adds lit coverage for both manglings.
The author reviewed the change and is accountable for and able to answer
questions about it. Commits carry an `Assisted-by:` trailer.


  Commit: 4d689e68a8e3849cdeb3dae026c07c5f85bdb1b3
      https://github.com/llvm/llvm-project/commit/4d689e68a8e3849cdeb3dae026c07c5f85bdb1b3
  Author: David Green <david.green at arm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shift.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Use integer types for widening shift icmp (#222257)


  Commit: 4e22a6ef80ac0ac234acca473706cc5cce17d6c4
      https://github.com/llvm/llvm-project/commit/4e22a6ef80ac0ac234acca473706cc5cce17d6c4
  Author: Oren Azad <orenazad at berkeley.edu>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/test/tools/llvm-rc/helpmsg.test
    A llvm/test/tools/llvm-rc/show-includes.test
    M llvm/tools/llvm-rc/Opts.td
    M llvm/tools/llvm-rc/ResourceFileWriter.cpp
    M llvm/tools/llvm-rc/ResourceFileWriter.h
    M llvm/tools/llvm-rc/llvm-rc.cpp

  Log Message:
  -----------
  [llvm-rc] Add /showIncludes dependency reporting (#217102)

Add `/showIncludes` support to `llvm-rc` so build systems can discover
the files a resource compile depends on. This enables Ninja and other
build systems to track and correctly recompile the `.rc` file when
inputs change.

Two kinds of dependencies are reported:

- Preprocessor header dependencies, by forwarding `--show-includes` to
the clang preprocessor.
- Resource files, (bitmaps, icons, manifests, etc) that are used in the
resource file.

The output format matches the `/showIncludes` format that cl.exe and
clang-cl.exe use, and that Ninja can consume natively via `deps=msvc`.

Assisted-by: Anthropic Claude Code (Opus 4.8)
Assisted-by: OpenAI Codex (GPT 5.6 Sol)


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

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpHelpers.h
    M clang/lib/AST/ByteCode/MemberPointer.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/test/AST/ByteCode/records.cpp
    M clang/test/CodeGen/pr4349.c
    M clang/test/SemaCXX/new-delete.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
    M clang/unittests/AST/ByteCode/toAPValue.cpp

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

This uses the recently introduced opaque pointers for what we used to
use dummy pointers for, if the base of the pointer is a declaration.

This of course means we see opaque pointers in a lot more places.
However, we don't need to actually allocate anything for their data
anymore, resulting in a lot fewer allocations for such pointers.


  Commit: 96295a1412f9afbee9d4a3c2701e83f5a529a9cc
      https://github.com/llvm/llvm-project/commit/96295a1412f9afbee9d4a3c2701e83f5a529a9cc
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/lib/Parse/ParseExpr.cpp
    M clang/test/SemaCXX/cxx2d-pack-indexing-template.cpp

  Log Message:
  -----------
  [Clang] Fix a crash when forming a type from an indexed TTP. (#222326)

Unreported 24 issue so no release note.


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

  Changed paths:
    M libclc/clc/lib/generic/math/clc_fmod.cl

  Log Message:
  -----------
  libclc: Update fmod implementations (#222369)

This was originally ported from rocm device libs in
93af966747b59d37c57312a0c0242151076c072b. Merge in more
recent changes. This should also approximately match the default
expansion in ExpandIRInsts

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


  Commit: 672843a3f2ee2aaaed0463ec9064b6ccea2a5d4d
      https://github.com/llvm/llvm-project/commit/672843a3f2ee2aaaed0463ec9064b6ccea2a5d4d
  Author: Michael G. Kazakov <mike.kazakov at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/pstl.h
    M libcxx/include/__pstl/backend_fwd.h
    M libcxx/include/__pstl/backends/default.h
    M libcxx/include/__pstl/backends/libdispatch.h
    M libcxx/include/__pstl/backends/serial.h
    M libcxx/include/__pstl/backends/std_thread.h
    A libcxx/include/__pstl/cpu_algos/minmax_element.h
    M libcxx/include/module.modulemap.in
    M libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
    M libcxx/test/libcxx/algorithms/pstl.nodiscard.verify.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.min.max/pstl.minmax_element.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.min.max/pstl.minmax_element_comp.pass.cpp
    M libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp

  Log Message:
  -----------
  [libc++][pstl] Implementation of parallel std::minmax_element() based on parallel reduce (#221572)

This PR adds an implementation of parallel `std::minmax_element()` based
on parallel reduce.

The implementation formulates `minmax_element` as a reduction of
iterators over the input range.
The iterators are first transformed into a min-max iterator pair.
The reduction is provided in two forms: 2-element reduction that makes
an iterator pair pointing to a smaller and a greater value, and a
range-based reduction with init value.
The latter delegates the heavy-lifting to the serial implementation of
`std::minmax_element()`.

Part of #99938.


  Commit: bab513bedcf5c7582a24c97976042af4dba19c01
      https://github.com/llvm/llvm-project/commit/bab513bedcf5c7582a24c97976042af4dba19c01
  Author: Lukas Sommer <lukas.sommer at amd.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
    M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
    M llvm/test/CodeGen/AMDGPU/av_spill_cross_bb_usage.mir
    M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
    M llvm/test/CodeGen/AMDGPU/split-liverange-overlapping-copies.mir
    M llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask-phi-extend.ll
    M llvm/test/CodeGen/AMDGPU/unspill-vgpr-after-rewrite-vgpr-mfma.ll
    M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-copy.ll

  Log Message:
  -----------
  [AMDGPU] Use new CSR cost calculation (#219220)

So far, AMDGPU backend relied on the legacy calculation for the cost of
the first use of a callee-save register. This legacy path scales the
entry block frequency by a fixed value, making a comparison with
alternatives, e.g., rematerialization, difficult due to different
scales. One example for that is the work in
https://github.com/llvm/llvm-project/pull/206756, where comparison of
rematerialization cost and first use of a CSR is hard to compare due to
the different scales.

Change to instead use the new calculation path with different target
hooks for better comparability.

As the new scale is different, the cost was changed. The new cost value
accounts for various factors impacting CSR cost.

This change (with different cost value) was originally part of
https://github.com/llvm/llvm-project/pull/202007. Another part of that
PR was already extracted into
https://github.com/llvm/llvm-project/pull/214857.

---------

Signed-off-by: Lukas Sommer <lukas.sommer at amd.com>


  Commit: 0573ec95004aad9970129dce97d3d3ef34aba978
      https://github.com/llvm/llvm-project/commit/0573ec95004aad9970129dce97d3d3ef34aba978
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
    M mlir/test/mlir-lsp-server/definition.test
    M mlir/test/mlir-lsp-server/diagnostics.test

  Log Message:
  -----------
  [mlir][lsp] Handle unrepresentable file locations (#220913)


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

  Changed paths:
    M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/lib/Target/X86/X86FixupSetCC.cpp

  Log Message:
  -----------
  X86: Mark EFLAGS dead on MOV32r0 emitted outside SelectionDAG (#222464)

Currently these get set by LiveVariables after the fact, but
ideally we would not rely on that since it's long overdue for
deletion.

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


  Commit: 3b99e79991bede38fb18e0169df3009ce30e0c1d
      https://github.com/llvm/llvm-project/commit/3b99e79991bede38fb18e0169df3009ce30e0c1d
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CategoryToNamedOp.cpp
    M mlir/lib/Dialect/Linalg/Transforms/NamedToElementwise.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/test/Dialect/Bufferization/canonicalize.mlir
    M mlir/test/Dialect/Linalg/elementwise/named-to-elementwise.mlir
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    R mlir/test/Dialect/Linalg/linalg-morph-category-ops.mlir
    M mlir/test/Dialect/Linalg/linalg-morph-elementwise-to-named.mlir
    M mlir/test/Dialect/Linalg/linalg-morph-multi-step.mlir
    M mlir/test/Dialect/Linalg/match-ops-interpreter.mlir
    M mlir/test/Dialect/Linalg/named-ops-fail.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir
    M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-named-ops.mlir
    M mlir/test/Dialect/Linalg/scalable-unpack-producer-fusion.mlir
    M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse-into-containing.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
    M mlir/test/Dialect/Linalg/transform-op-generalize.mlir
    R mlir/test/Dialect/Linalg/transform-op-specialize-elemwise-unary.mlir
    M mlir/test/Dialect/SCF/canonicalize.mlir
    M mlir/test/Dialect/SCF/parallel-loop-unroll.mlir
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer-using-slices.mlir
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
    M mlir/test/python/dialects/linalg/opdsl/test_core_named_ops.py

  Log Message:
  -----------
  [MLIR][Linalg] Remove unary named ops (#220905)

Remove ops, change tests to elementwise to continue working as is.

Ref:

https://discourse.llvm.org/t/rfc-update-semantics-of-linalg-named-operations-unary-binary-ternary/91531

Assisted by: Claude Opus


  Commit: 70f5696eaf0280812fb4e3888875538634d806f1
      https://github.com/llvm/llvm-project/commit/70f5696eaf0280812fb4e3888875538634d806f1
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/lib/Dialect/Linalg/Transforms/CategoryToNamedOp.cpp
    M mlir/lib/Dialect/Linalg/Transforms/FoldAddIntoDest.cpp
    M mlir/lib/Dialect/Linalg/Transforms/NamedToElementwise.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/test/Dialect/Arith/sharding-propagation.mlir
    M mlir/test/Dialect/Linalg/block-pack-matmul.mlir
    M mlir/test/Dialect/Linalg/decompose-generic-by-unfolding-projected-permutation.mlir
    M mlir/test/Dialect/Linalg/elementwise/named-to-elementwise.mlir
    M mlir/test/Dialect/Linalg/fold-add-into-dest.mlir
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    M mlir/test/Dialect/Linalg/invalid.mlir
    M mlir/test/Dialect/Linalg/linalg-morph-elementwise-to-named.mlir
    R mlir/test/Dialect/Linalg/linalg-morph-multi-step.mlir
    M mlir/test/Dialect/Linalg/named-ops-fail.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir
    M mlir/test/Dialect/Linalg/reshape_fusion.mlir
    M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-named-ops.mlir
    M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
    M mlir/test/Dialect/Linalg/transform-op-rewrite-in-destination-passing-style.mlir
    M mlir/test/Dialect/Linalg/transform-op-specialize-elemwise-binary.mlir
    M mlir/test/Dialect/SparseTensor/encoding_with_symbols.mlir
    M mlir/test/Dialect/SparseTensor/external_after_codegen.mlir
    M mlir/test/Dialect/Transform/test-promote-tensors.mlir
    M mlir/test/Interfaces/TilingInterface/query-fusability.mlir
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer-using-slices.mlir
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
    M mlir/test/Interfaces/TilingInterface/tile-fuse-and-yield-using-interface.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Remove binary named ops (#220912)

Remove ops, change tests to elementwise to continue working as is.

Depends on the unary removal branch. #220905 

Ref:

https://discourse.llvm.org/t/rfc-update-semantics-of-linalg-named-operations-unary-binary-ternary/91531

Assisted by: Claude Opus


  Commit: 80164074c01fead28cbf013861eeab23d277bbaf
      https://github.com/llvm/llvm-project/commit/80164074c01fead28cbf013861eeab23d277bbaf
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/Linalg/Transforms/CategoryToNamedOp.cpp
    M mlir/lib/Dialect/Linalg/Transforms/MorphOps.cpp
    R mlir/lib/Dialect/Linalg/Transforms/NamedToElementwise.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/test/Dialect/Linalg/decompose-generic-by-unfolding-projected-permutation.mlir
    R mlir/test/Dialect/Linalg/elementwise/named-to-elementwise.mlir
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    M mlir/test/Dialect/Linalg/linalg-morph-elementwise-to-named.mlir
    R mlir/test/Dialect/Linalg/named-ops-fail.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir
    M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
    M mlir/test/Dialect/Linalg/transform-op-specialize-elemwise-binary.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Remove Linalg named ops (#220916)

Removes the named ops from the Linalg dialect.

I have also updated the ElementwiseOp builder to simplify the default
case: kind + no affine map.

Depends on both unary and binary removal branches. #220905 #220912

This PR also has the final cleanup, which turned out to be simple
enough.

Ref:

https://discourse.llvm.org/t/rfc-update-semantics-of-linalg-named-operations-unary-binary-ternary/91531

Assisted by: Claude Opus


  Commit: 404ceba2628b7f925ce650b63e1ea90440927481
      https://github.com/llvm/llvm-project/commit/404ceba2628b7f925ce650b63e1ea90440927481
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/test/CodeGen/AArch64/neon-implicit-zero-filling.ll

  Log Message:
  -----------
  [AArch64][NEON] Fold insert(zero, extract(X, 0), 0) -> X when X is known to zero lanes 1-N (#213940)

Add patterns for NEON across-lane reductions whose scalar result
is inserted into lane zero of a zero vector.

This is valid because these instructions place their result in lane zero
and
clear the remaining lanes.

Limit this change to matching input and result vector types. Mixed
vector
sizes and scalar conversions are not part of this PR.

Handle llvm.vector.reduce.add.v2i64 separately because it lowers to
ADDP.
NEON has no equivalent instruction for v2i64 signed or unsigned min/max
reductions, so they cannot use this fold. Double-precision
floating-point
reductions are already handled by pairwise instruction patterns.


  Commit: 182f0ea1f8228c893093dabe824f9ad3eea81a60
      https://github.com/llvm/llvm-project/commit/182f0ea1f8228c893093dabe824f9ad3eea81a60
  Author: Dan Blackwell <dan_blackwell at apple.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M compiler-rt/test/fuzzer/stop-file.test

  Log Message:
  -----------
  [libFuzzer] Modify stop-file.test to support remote devices (#222012)

Currently this test fails when running on remote devices because the
'rm' command only removes the file from the host, and the second part of
the test expects the file to have been removed. This patch changes the later 
run command to point to a non-existent file in order to work around this.

rdar://186683123


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

  Changed paths:
    M clang/test/CodeGenOpenCL/amdgpu-xnack-any-only.cl
    M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
    M llvm/lib/Target/AMDGPU/GCNProcessors.td
    M llvm/lib/Target/AMDGPU/R600Processors.td
    M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/module-flag-xnack-no-on-off-modes.ll
    M llvm/test/TableGen/AMDGPUTargetDefErrors.td
    M llvm/test/TableGen/AMDGPUTargetDefSubArchSpelling.td
    M llvm/unittests/TargetParser/TargetParserTest.cpp
    M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp

  Log Message:
  -----------
  AMDGPU: Remove deprecated getArchAttr and ArchFeatures TableGen (#222462)

Everything should now use getFeatureBitset*

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


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

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

  Log Message:
  -----------
  [BuildLibCalls] Use emitLibCall() in more places (NFCI) (#222557)


  Commit: 6b2ef39be51f46e2f359f6965588577913765af4
      https://github.com/llvm/llvm-project/commit/6b2ef39be51f46e2f359f6965588577913765af4
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

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

  Log Message:
  -----------
  [GlobalISel] Reserve IRTranslator value map and virtual register storage (NFC) (#222311)

Reserve storage based on the number of IR arguments and instructions to
avoid unnecessary container growth.

Improves CTMark geomean -0.08% on aarch64-O0-g, including 0.18% on
sqlite.

https://llvm-compile-time-tracker.com/compare.php?from=cec101b15dd27fb1c51b6c87cb6e9d78517d2b09&to=996caa798ca6e27dfc657296db4b8ae6519701b0&stat=instructions:u

Assisted-by: codex


  Commit: 2cd17898705456c546359b0683cbc6fb252698d9
      https://github.com/llvm/llvm-project/commit/2cd17898705456c546359b0683cbc6fb252698d9
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M orc-rt/include/orc-rt/bedrock/SimpleSymbolTable.h
    M orc-rt/include/orc-rt/bedrock/sps/CallSPSCI.h
    M orc-rt/include/orc-rt/bedrock/sps/GDBJITRegistrarSPSCI.h
    M orc-rt/include/orc-rt/bedrock/sps/MemoryAccessSPSCI.h
    M orc-rt/include/orc-rt/bedrock/sps/NativeDylibManagerSPSCI.h
    M orc-rt/include/orc-rt/bedrock/sps/SimpleNativeMemoryMapSPSCI.h
    M orc-rt/include/orc-rt/bedrock/sps/StandaloneMachOUnwindInfoRegistrarSPSCI.h
    M orc-rt/include/orc-rt/support/sps/SPSAllocAction.h
    M orc-rt/include/orc-rt/support/sps/SPSWrapperFunction.h
    M orc-rt/lib/bedrock/BootstrapInfo.cpp
    M orc-rt/lib/bedrock/NativeDylibManager.cpp
    M orc-rt/lib/bedrock/SimpleNativeMemoryMap.cpp
    M orc-rt/lib/bedrock/sps/CallSPSCI.cpp
    M orc-rt/lib/bedrock/sps/GDBJITRegistrarSPSCI.cpp
    M orc-rt/lib/bedrock/sps/MemoryAccessSPSCI.cpp
    M orc-rt/lib/bedrock/sps/NativeDylibManagerSPSCI.cpp
    M orc-rt/lib/bedrock/sps/SimpleNativeMemoryMapSPSCI.cpp
    M orc-rt/lib/bedrock/sps/StandaloneMachOUnwindInfoRegistrarSPSCI.cpp
    M orc-rt/test/unit/bedrock/BootstrapInfoTest.cpp
    M orc-rt/test/unit/bedrock/SessionTest.cpp
    M orc-rt/test/unit/bedrock/SimpleSymbolTableTest.cpp
    M orc-rt/test/unit/bedrock/sps/CallSPSCITest.cpp
    M orc-rt/test/unit/bedrock/sps/MemoryAccessSPSCITest.cpp
    M orc-rt/test/unit/bedrock/sps/NativeDylibManagerSPSCITest.cpp
    M orc-rt/test/unit/bedrock/sps/SimpleNativeMemoryMapSPSCITest.cpp
    M orc-rt/test/unit/bedrock/sps/SimpleRemoteCATest.cpp
    M orc-rt/test/unit/support/sps/SPSAllocActionTest.cpp
    M orc-rt/test/unit/support/sps/SPSWrapperFunctionTest.cpp

  Log Message:
  -----------
  [orc-rt] Express CI symbols as C-level names (#222564)

Controller-interface wrapper functions are now declared extern "C",
exported, and registered under their C-level names, so that they resolve
identically whether looked up through the bootstrap symbol map or via
dlsym.

In addition to removing the inconsistency between the symbol-table and
dlsym names, making CI functions public declarations allows unit tests
to call CI wrappers directly (rather than having to resigster them and
then look them up in a symbol table).

ORC_RT_SPS_WRAPPER and ORC_RT_SPS_ALLOC_ACTION each split into _DECL and
_IMPL forms sharing a _SIG macro, giving the wrappers extern "C" linkage
and an ORC_RT_C_EXPORT annotation.

SimpleSymbolTable::addUnique now takes SymbolNameSpec names and mangles
them, with a second overload for merging one table into another.


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

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
    M mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h
    M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    A mlir/lib/Dialect/LLVMIR/IR/NVVMOps.cpp
    A mlir/lib/Dialect/LLVMIR/IR/NVVMOps.h

  Log Message:
  -----------
  [MLIR][NVVM] Shard generated operation definitions (NFC) (#221812)

Generate the NVVM operation definitions in eight shards, use the
generated registration hook, and expose only the four parser and range
helpers referenced by generated code.

Assisted-by: Codex


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve-bf16-arith.ll
    M llvm/test/CodeGen/AArch64/sve-bf16-compares.ll
    M llvm/test/CodeGen/AArch64/sve-bf16-converts.ll
    M llvm/test/CodeGen/AArch64/sve-bf16-int-converts.ll
    M llvm/test/CodeGen/AArch64/sve-bf16-reductions.ll
    M llvm/test/CodeGen/AArch64/sve-bf16-rounding.ll

  Log Message:
  -----------
  [LLVM][CodeGen][SME] Don't use non-streaming zeroing instruction when in streaming mode. (#222353)

When selecting scalable vector bf16-f32 converts we emit zip(0,vec).
Unfortunately, the typical zero-latency zeroing instruction is not
available when in streaming mode.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/fp-intrinsics-bf16.ll

  Log Message:
  -----------
  [LLVM][CodeGen][AArch64] Fix incorrect chain usage when lowering ISD::STRICT_FP_EXTEND. (#222287)

The chain was being passed as the last operand when it should be the
first.


  Commit: 3a25949882c3ee496b523bcc816974c6ddfa9850
      https://github.com/llvm/llvm-project/commit/3a25949882c3ee496b523bcc816974c6ddfa9850
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp
    M mlir/tools/mlir-translate/mlir-translate.cpp

  Log Message:
  -----------
  [mlir-translate] Move InitLLVM ownership to the standalone tool (#222570)

Please Read: [RFC: Embeddable LLVM tool drivers for long-lived
hosts](https://discourse.llvm.org/t/rfc-embeddable-llvm-tool-drivers-for-long-lived-hosts/91754)
and [Why `InitLLVM` ownership matters section in the
RFC](https://discourse.llvm.org/t/rfc-embeddable-llvm-tool-drivers-for-long-lived-hosts/91754#p-367966-why-initllvm-ownership-matters-7)

`mlirTranslateMain` currently constructs `InitLLVM` internally. This is
fine when `mlir-translate` runs once as a standalone executable, but it
does not work for an in-process setting where the host remains alive and
invokes multiple LLVM tools. When `mlirTranslateMain` returns, the
`InitLLVM` destructor calls `llvm_shutdown()` and destroys
process-global `ManagedStatic` state that may still be needed by the
host and subsequent tool invocations.

[WasmBolt](https://github.com/anutosh491/WasmBolt) (try
[here](https://anutosh21.github.io/WasmBolt/)) is a concrete example of
such a host. It runs Clang, `mlir-opt`, `opt`, `llc` and LLD inside one
browser-hosted LLVM process, allowing users to inspect and transform
code without a remote compilation server.

As described in the [MLIR section of the
RFC](https://discourse.llvm.org/t/rfc-embeddable-llvm-tool-drivers-for-long-lived-hosts/91754#p-367966-mlir-13),
the real `mlir-opt` driver already works in this environment.
`MlirOptMain` does not own `InitLLVM`, so the surrounding host can
control the process lifetime. `mlirTranslateMain` does not currently
provide the same ownership boundary, which prevents us from integrating
it in the same clean way.

The working `mlir-opt` pipeline can be seen here:
https://www.youtube.com/watch?v=yga2lWelne4

This patch makes the two MLIR driver interfaces consistent by moving
`InitLLVM` from the reusable `mlirTranslateMain` entry point into the
standalone `mlir-translate` executable:

```text
standalone:
  main -> InitLLVM -> mlirTranslateMain -> process exit

embedded:
  host-owned InitLLVM / LLVMToolSession -> mlirTranslateMain
```

Standalone behaviour remains unchanged, while MLIRTranslateLib can now
borrow the process lifetime owned by a long-lived host.


  Commit: 8d1a8fc4be3dc404bdaf63a493c3acc4cb48db52
      https://github.com/llvm/llvm-project/commit/8d1a8fc4be3dc404bdaf63a493c3acc4cb48db52
  Author: Harald van Dijk <hdijk at accesssoftek.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/test/tools/llvm-strings/radix.test
    M llvm/tools/llvm-strings/llvm-strings.cpp

  Log Message:
  -----------
  [llvm-strings] Style updates primarily for --radix (#222454)

* Silence clang-tidy by moving radix into anonymous namespace
* Adjust type and variable naming to match LLVM style
* Adjust --radix command line error message to match llvm-objdump
* Use llvm::StringSwitch to map option values to enumerators
* Remove undocumented and untested --radix="" option which was an
implementation detail to handle --radix not being specified


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp

  Log Message:
  -----------
  [VPlan] Simplify PlainCFG VPI construction (NFC) (#216435)


  Commit: 0fa0a5db4dd51db8c4ec7f0a68f48f6586e0a29a
      https://github.com/llvm/llvm-project/commit/0fa0a5db4dd51db8c4ec7f0a68f48f6586e0a29a
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

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

  Log Message:
  -----------
  [VPlan] Inline a using declaration in single use-site (NFC) (#222259)


  Commit: c86292488b86080d994de4164342b8e0fdd43543
      https://github.com/llvm/llvm-project/commit/c86292488b86080d994de4164342b8e0fdd43543
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/tools/llc/CMakeLists.txt
    M llvm/tools/llc/llc.cpp
    A llvm/tools/llc/llcdriver.cpp
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  [llc] Add a reusable LLVMLlcDriver library (#221896)

Please read :
[RFC](https://discourse.llvm.org/t/rfc-embeddable-llvm-tool-drivers-for-long-lived-hosts/91754)
and [RFC
section](https://discourse.llvm.org/t/rfc-embeddable-llvm-tool-drivers-for-long-lived-hosts/91754#p-367966-proposed-first-change-llvmllcdriver-8)

This splits `llc` into a small standalone executable and a reusable
`LLVMLlcDriver` library.

The change follows the structure introduced for `opt` by @wsmoses in
[#79205](https://github.com/llvm/llvm-project/pull/79205): the
command-line implementation moves into a driver library, while `llc.cpp`
remains the standalone entry point and continues to own `InitLLVM`.

The immediate motivation is embedding `llc` in long-lived applications
such as [WasmBolt](https://github.com/anutosh491/WasmBolt) (try
[here](https://anutosh21.github.io/WasmBolt/))

Currently, embedders must compile and modify a copy of `llc.cpp` because
the implementation and `main()` live in the same translation unit. This
split provides a reusable entry point without changing the behavior of
the
standalone `llc` executable.


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

  Changed paths:
    M llvm/examples/BrainF/BrainF.cpp

  Log Message:
  -----------
  [BrainF] Remove use of getSizeOf() (#222590)

getSizeOf() is incompatible with ptradd. Also entirely unnecessary
here.


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

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

  Log Message:
  -----------
  AMDGPU: Start using subarch in attributor instead of subtarget (#212207)

Avoid querying the subtarget for functions when the relevant
properties are known from the triple. The various subtarget
group size functions should also be decoupled from the subtarget,
but those are trickier to untangle.

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


  Commit: b3e7900e74098de130402d0a3ea857e77d817540
      https://github.com/llvm/llvm-project/commit/b3e7900e74098de130402d0a3ea857e77d817540
  Author: Tianyi Chen <diannaaav at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/test/tools/llvm-readobj/MachO/needed-libs.test
    M llvm/tools/llvm-readobj/MachODumper.cpp

  Log Message:
  -----------
  [llvm-readobj] Exclude Mach-O dylib IDs from needed libraries (#221618)

For Mach-O files, `--needed-libs` includes `LC_ID_DYLIB`, causing a
dynamic
library to list its own install name as a dependency.

Exclude this command while retaining the actual dependency load
commands.

Fixes #39505.

Assisted-by: OpenAI Codex (implementation, tests, and initial
description).


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

  Changed paths:
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/lib/Analysis/Lint.cpp
    M llvm/lib/IR/Attributes.cpp

  Log Message:
  -----------
  [IR] Mark whether param/ret attributes are ABI relevant (#222575)

This is specified using ABIAttr in TableGen and queried using
isABIAttr().

Make use of this in the Lint pass, instead of maintaining its own
(outdated) list of ABI attributes.

This has been split out from #207173.


  Commit: 5bb6f55462541521488c0bbd59e028ee891f829b
      https://github.com/llvm/llvm-project/commit/5bb6f55462541521488c0bbd59e028ee891f829b
  Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M libsycl/Maintainers.md

  Log Message:
  -----------
  [libsycl][NFC] Extend list of libsycl maintainers. (#222414)

Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>


  Commit: c52a3432d6a8187dd0f22ad1f8fde6774167dc89
      https://github.com/llvm/llvm-project/commit/c52a3432d6a8187dd0f22ad1f8fde6774167dc89
  Author: Tomas Matheson <Tomas.Matheson at arm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    A clang/test/Frontend/optimization-remark-target-features-aarch64.c
    A clang/test/Frontend/optimization-remark-target-features-arm.c
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    A llvm/test/CodeGen/AArch64/optimization-remark-target-features.ll
    A llvm/test/CodeGen/ARM/optimization-remark-target-features.ll

  Log Message:
  -----------
  [AsmPrinter] add optimisation remark for target-features (#222074)

In clang we have `--print-enabled-extensions` which will print the
AArch64 extensions enabled for a given TU. However, sometimes it is
useful to be able to print out the actual subtarget features for each
function, for debugging/testing purposes. Add an optimisation remark for
that.


  Commit: bc25ad46580963afb2056b929b1089133d006dbb
      https://github.com/llvm/llvm-project/commit/bc25ad46580963afb2056b929b1089133d006dbb
  Author: Gil Rapaport <gil.rapaport at mobileye.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
    M mlir/test/Target/Cpp/arithmetic_operators.mlir

  Log Message:
  -----------
  [mlir][emitc] Fix arith.{div,rem}ui index support (#221546)

These ops were failing to lower to emitc.{div,rem} when applied to index
operands since the code was:
- only checking for IntegerType, rejecting the !emitc.size_t into which
  IndexType is converted.
- using the original operands instead of the converted ops, creating
  unrealized_conversion_cast ops.


  Commit: 5da4b50d7a4f12c283b1253a8e4d2c1e1c68a360
      https://github.com/llvm/llvm-project/commit/5da4b50d7a4f12c283b1253a8e4d2c1e1c68a360
  Author: Keshav Vinayak Jha <31160700+keshavvinayak01 at users.noreply.github.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trap.mir
    M llvm/test/CodeGen/AMDGPU/trap.ll

  Log Message:
  -----------
  [AMDGPU][GISel] Notify GISel observers when splitting trap blocks (#219128)

`legalizeTrapEndpgm` can split a MBB and move the instructions following
a trap. Since an instruction's parent block is part of its GISel CSE
profile, notify active observers around the moved instructions so they
are re-profiled with the new parent block.

CSE consistency gap exposed by #217258.

Assisted-by: Codex

---------

Signed-off-by: Keshav Vinayak Jha <keshavvinayakjha at gmail.com>
Co-authored-by: GPT-5 Codex <noreply at openai.com>


  Commit: f3909e073dd93f830f842c0bfe33b443b8fa0624
      https://github.com/llvm/llvm-project/commit/f3909e073dd93f830f842c0bfe33b443b8fa0624
  Author: ioana ghiban <ioana.ghiban at arm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/test/CMakeLists.txt
    M llvm/test/CodeGen/MLRegAlloc/default-eviction-advisor.ll
    M llvm/test/CodeGen/MLRegAlloc/rel-codepath.ll
    M llvm/test/Transforms/Inline/ML/bounds-checks.ll
    M llvm/test/Transforms/Inline/ML/coro-split-func-levels.ll
    M llvm/test/Transforms/Inline/ML/dead-callee.ll
    M llvm/test/Transforms/Inline/ML/enable-inline-advisor-printing-ml.ll
    M llvm/test/Transforms/Inline/ML/fpi-update.ll
    M llvm/test/Transforms/Inline/ML/ml-test-release-mode.ll
    M llvm/test/Transforms/Inline/ML/recursive.ll
    M llvm/test/Transforms/Inline/ML/scc-dead-accounting.ll
    M llvm/test/Transforms/Inline/ML/skip-unreachable.ll
    M llvm/test/Transforms/Inline/ML/state-accounting-skip-non-cold.ll
    M llvm/test/Transforms/Inline/inlining-advisor-default.ll
    M llvm/test/lit.cfg.py
    M llvm/test/lit.site.cfg.py.in
    M llvm/utils/gn/secondary/llvm/test/BUILD.gn

  Log Message:
  -----------
  [MLGO] Gate model tests on optimization-specific lit features (#217906)

### Context

`have_mlir_lowering` only indicates that `LLVM_MLGO_MODELS` is
non-empty. It does not identify which model type was compiled.

### Motivation

An inliner-only configuration incorrectly enabled regalloc-specific test
commands, and vice versa.

### Changes

Add `have_mlir_lowering_inliner` and `have_mlir_lowering_regalloc` lit
features derived from the corresponding model-generation targets. Update
MLGO tests to use the appropriate model-specific feature, including GN
configuration defaults.


I leveraged AI to write this PR.


  Commit: 05e74e7b5e065d05e33efd264e6f42d9cd40f06c
      https://github.com/llvm/llvm-project/commit/05e74e7b5e065d05e33efd264e6f42d9cd40f06c
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/tools/opt/opt.cpp
    M llvm/tools/opt/optdriver.cpp

  Log Message:
  -----------
  [opt] Move InitLLVM ownership to the standalone entry point (#222559)

Please Read: [RFC: Embeddable LLVM tool drivers for long-lived
hosts](https://discourse.llvm.org/t/rfc-embeddable-llvm-tool-drivers-for-long-lived-hosts/91754)
and [Why `InitLLVM` ownership matters section in the
RFC](https://discourse.llvm.org/t/rfc-embeddable-llvm-tool-drivers-for-long-lived-hosts/91754#p-367966-why-initllvm-ownership-matters-7)

`LLVMOptDriver` is already separated from the standalone `opt`
executable, but `optMain` currently constructs `InitLLVM` internally.
This means its destructor calls `llvm_shutdown()` whenever one driver
invocation finishes.

That is appropriate for a standalone executable, but not for a reusable
driver called by a long-lived host. For example,
[WasmBolt](https://github.com/anutosh491/WasmBolt) (try
[here](https://anutosh21.github.io/WasmBolt/)) invokes `opt`, `llc`,
Clang and LLD within one browser-hosted LLVM process and needs the LLVM
process state to remain alive between tool invocations.

This patch moves `InitLLVM` ownership into `opt.cpp`:

```text
standalone opt:
  main -> InitLLVM -> optMain -> shutdown

embedded host:
  host-owned InitLLVM / LLVMToolSession -> optMain
```

Standalone opt therefore keeps the same lifetime and behaviour, while
LLVMOptDriver can borrow the lifetime owned by an embedding application.

This patch is independent of the proposed `LLVMToolSession `and
`LLVMLlcDriver` changes that I've proposed in the RFC and can be
reviewed separately.


  Commit: e2955810d33ea0fb04522fc9f7cb12b71088ccc8
      https://github.com/llvm/llvm-project/commit/e2955810d33ea0fb04522fc9f7cb12b71088ccc8
  Author: Sohaib Iftikhar <sohaibiftikhar at google.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/test/Integration/Dialect/Transform/match_matmul.mlir

  Log Message:
  -----------
  [MLIR]: Fix test after 70f5696e (#222601)

[MLIR]: Fix test after 70f5696e


  Commit: abf3bd63bb37d00aa4cd8b5dad873e1140d06348
      https://github.com/llvm/llvm-project/commit/abf3bd63bb37d00aa4cd8b5dad873e1140d06348
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/DebugInfo/CXX/verbose-trap.cpp

  Log Message:
  -----------
  [clang][DebugInfo] Fix verbose trap source line (#222456)

The artificial inline location for `__builtin_verbose_trap` used line
zero. As a result, the emitted trap could inherit the preceding source
line in DWARF line tables.

Keep the artificial trap-message frame while assigning the builtin
call's line and column to the trap instruction.


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

  Changed paths:
    A llvm/test/Analysis/CostModel/X86/pdep.ll
    A llvm/test/Analysis/CostModel/X86/pext.ll

  Log Message:
  -----------
  [CostModel][X86] Add baseline cost test for pdep/pext intrinsics (#222603)

Slow pdep/pext targets in particular are highly inaccurate


  Commit: 38fb876bf1e9ce9c5ccdc6f38fac4eb60ac66fce
      https://github.com/llvm/llvm-project/commit/38fb876bf1e9ce9c5ccdc6f38fac4eb60ac66fce
  Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

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

  Log Message:
  -----------
  [LV][NFC] Move up getEpilogueTailLowering() (#222358)

This patch only moves up `getEpilogueTailLowering()` so that it can be
used by `planForEpilogueTF` as needed here: https://github.com/llvm/llvm-project/pull/208764


  Commit: 73f0077ff60c58cae6c1f753b046ce93ebc4db3f
      https://github.com/llvm/llvm-project/commit/73f0077ff60c58cae6c1f753b046ce93ebc4db3f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpHelpers.h
    M clang/lib/AST/ByteCode/MemberPointer.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/test/AST/ByteCode/records.cpp
    M clang/test/CodeGen/pr4349.c
    M clang/test/SemaCXX/new-delete.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
    M clang/unittests/AST/ByteCode/toAPValue.cpp

  Log Message:
  -----------
  Revert "[clang][bytecode] Use opaque pointers for decl-based dummy pointers" (#222599)

Reverts llvm/llvm-project#220917

Looks like this breaks some memory-sanitizier builders:
https://lab.llvm.org/buildbot/#/builders/169/builds/26405
https://lab.llvm.org/buildbot/#/builders/164/builds/25236


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

  Changed paths:
    M llvm/utils/LLVMVisualizers/llvm.natvis

  Log Message:
  -----------
  [NATVIS] Fix ConstantInt APInt value access (#221719)

Ensure we peek through the APInt::U VAL / *pVal union


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

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    A mlir/test/Target/LLVMIR/omptarget-debug-shared-alloc-loc.mlir

  Log Message:
  -----------
  [OpenMP] Give the device shared memory allocations a debug location. (#221842)

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

In generic mode on the device, the buffers that carry values into an
outlined region come from device shared memory rather than the stack, so
they are emitted as calls to `__kmpc_alloc_shared` and
`__kmpc_free_shared`. Those are definitions in the DeviceRTL, which
makes them inlinable calls, and the verifier requires an inlinable call
in a function with debug info to carry a !dbg location. None of these
calls had one, for two separate reasons.

1. `allocateVar()` and `deallocateVar()` took a bare insertion point, so
an override had no debug location to set on the runtime calls it emits
in place of the alloca the base class would have created. Fixed by
adding a `DebugLoc` parameter that carries one.

2. The `createOMPAllocShared `and `createOMPFreeShared` calls in
`createParallel` relied on the implicit conversion from an insertion
point to a `LocationDescription`, which selects the constructor that
leaves the debug location empty, and `updateToLocation` then installs
that empty location over whatever the builder had. Fixed by passing the
`Builder`, which carries the debug location along with the insertion
point. This is the same fix as #218961.

---------

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


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

  Changed paths:
    M llvm/test/Analysis/CostModel/X86/clmul.ll

  Log Message:
  -----------
  [CostModel][X86] clmul.ll - add test coverage for vpclmulqdq targets (#222610)


  Commit: 46f9c228668a406cec6160552dea699846d91fd6
      https://github.com/llvm/llvm-project/commit/46f9c228668a406cec6160552dea699846d91fd6
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/Scalarizer/bitcast-scalar-to-vector.ll
    M llvm/test/Transforms/Scalarizer/bitcast-vector-to-scalar.ll

  Log Message:
  -----------
  [Scalarizer] Update tests to use update_test_checks.py (#222460)

This PR is to address feedback on this comment:
https://github.com/llvm/llvm-project/pull/221033#discussion_r3973313815

requesting the tests use utils/update_test_checks.py instead.


  Commit: cb46e8530f3c45be6f968fcdef47f37e5220fe95
      https://github.com/llvm/llvm-project/commit/cb46e8530f3c45be6f968fcdef47f37e5220fe95
  Author: Thrrreeee <shijinrui at bytedance.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
    A llvm/test/ExecutionEngine/JITLink/RISCV/ELF_relax_many_align.s

  Log Message:
  -----------
  [JITLink][RISCV] Avoid quadratic removal of alignment edges (#222317)

We encountered this issue while using BOLT to instrument clang on
RISC-V. JITLink spent significant time removing alignment edges during
relaxation finalization in large code blocks with many alignment
relocations.

During RISC-V relaxation finalization, finalizeBlockRelax removes
AlignRelaxable edges individually from a block's edge vector. Each erase
shifts the remaining suffix, making this cleanup quadratic when the
number of alignment edges grows with the total edge count.

Compact surviving edges once and remove the trailing entries from the
back, preserving edge order and making cleanup linear. Count the
trailing entries before erasing to avoid comparing an invalidated
iterator.


These results support the performance benefit, but they come from
**GPT-generated** synthetic benchmarks and do not represent speedups on
real BOLT workloads.

count |  origin | new
-- | -- | --
16,384 | 92.6 ms | 6.2 ms
32,768 | 430.0 ms | 9.5 ms
65,536 | 1,732.3 ms | 16.2 ms

Assisted by GPT-6.


  Commit: 3eeb9b2bdb2a9ac4020a8ab8729e96ecb283691c
      https://github.com/llvm/llvm-project/commit/3eeb9b2bdb2a9ac4020a8ab8729e96ecb283691c
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Optimizer/Passes/CommandLineOpts.h
    M flang/include/flang/Optimizer/Passes/Pipelines.h
    A flang/include/flang/Optimizer/Support/AllocationPolicy.h
    R flang/include/flang/Optimizer/Transforms/AllocationPlacementPolicy.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopy.cpp
    M flang/lib/Optimizer/Passes/CommandLineOpts.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    A flang/lib/Optimizer/Support/AllocationPolicy.cpp
    M flang/lib/Optimizer/Support/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/AllocationPlacement.cpp
    A flang/test/Driver/allocation-policy.f90
    A flang/test/Fir/allocation-policy-attr.fir
    A flang/test/Fir/allocation-policy-pipeline.fir
    A flang/test/HLFIR/inline-hlfir-copy-stack.fir
    M flang/test/HLFIR/inline-hlfir-copy.fir
    M flang/test/Transforms/allocation-placement.fir
    A flang/test/Transforms/allocation-policy-precedence.fir

  Log Message:
  -----------
  [flang] add AllocationPolicy attribute to module and use it in InlineHLFIRCopy (#222013)

The StackArrays/AllocationPlacement pass cannot move fir.allocmem
created during InlineHLFIRCopy for the copy-in/cop-out buffers because
of there placement in branches.

Moving these allocmem outside of the branches is suboptimal as these
allocations may never occur at runtime (when the data is actually
already contiguous).
Extending the StackArrays pass is doable but very tedious (the data flow
analysis passes used in the pass cannot recognized "same
predicates"/understand that the two fir.if block that
allocate/deallocates will be both reached or never reached (even when
modifying InlineHLFIRCopy to use the same SSA value for both fir.if). So
this requires custom logic, and was adding 200 lines of non trivial code
to audit and I did not like it.

I decided to expose the allocation policy so that other passes can rely
on it. To make it the most flexible and future proof this is done via a
new module attribute instead of threading options in the driver to this
and that pass. This way, it will also be possible to have custom per
function policy if ever needed.

The InlineHLFIRCopy is updated to apply the small array threshold policy
(that decide when constant size arrays should always be placed on the
stack, regardless of the -fstack-array/-fno-stack-array). I also
increased this threshold from 64 to 1024 so that it cover my application
use case. This increase is in line with the industry practice (NV, IFX,
and gfortran will all allocate few Kb temporary copy-in/out buffers on
the stack, regardless of the optimization level). For now, I decided to
not apply the `-fstack-array` aspect as it is on by default with flang
and I want to measure the effect first before doing so (gfortran/ifx
also control dynamic copy-in/out buffer allocations with the stack-array
related flag, so there is a good chance we end-up doing it at some
point).


  Commit: b3eab3a932118c3a462741000d2118428f5bd268
      https://github.com/llvm/llvm-project/commit/b3eab3a932118c3a462741000d2118428f5bd268
  Author: lorenzo chelini <l.chelini at icloud.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-reduction-to-llvm.mlir
    A mlir/test/Integration/Dialect/Vector/CPU/reductions-masked-minmax-f32.mlir
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir][vector] Fix mask neutral value for masked fmaximum/fminimum reductions (#222275)

Masked maximumf/minimumf reductions were lowered by replacing inactive
lanes with a neutral value before applying an unmasked reduction. The
maximumf neutral was incorrectly set to the negative subnormal closest
to zero, causing it to beat any negative active value. Similarly,
minimumf used FLT_MAX, which loses to an active +Inf.
This change adds LLVM dialect support for
llvm.vp.reduce.fmaximum/fminimum and lowers masked reductions directly
to these predicated intrinsics.


  Commit: 21d80e82d137f9a30e2626a9953d63015bcb280c
      https://github.com/llvm/llvm-project/commit/21d80e82d137f9a30e2626a9953d63015bcb280c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M orc-rt/include/orc-rt-c/support/Logging.h

  Log Message:
  -----------
  [orc-rt] Remove redundant extern keyword. (#222619)

orc_rt_log_OSLogHandles is already extern via ORC_RT_C_EXPORT.


  Commit: 0afee5c04021a2c8218beb6a64f3afd5f2578c02
      https://github.com/llvm/llvm-project/commit/0afee5c04021a2c8218beb6a64f3afd5f2578c02
  Author: Dan Blackwell <dan_blackwell at apple.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp
    A compiler-rt/test/tsan/Darwin/os_unfair_lock_deadlock.c
    A compiler-rt/test/tsan/Darwin/trylock_no_deadlock.c

  Log Message:
  -----------
  [Darwin][TSan] Use deadlock detector aware calls for Darwin-specific lock interceptors (#216040)

Currently the deadlock detector is unaware of these lock types because
the interceptors use bare Acquire-Release calls. This patch switches
them over to the Mutex(Pre|Post)Lock calls instead.

Assisted by: Claude

rdar://155410097


  Commit: 3ec60e826f522bbe6b0af7c9392968a9f6c660c5
      https://github.com/llvm/llvm-project/commit/3ec60e826f522bbe6b0af7c9392968a9f6c660c5
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M libc/src/stdio/gpu/vfprintf_utils.h

  Log Message:
  -----------
  [libc] Optimize the GPU printf implementation with size hints (#222474)

Summary:
The GPU printf interface is functionally a shim to pass a `va_list` and
format string to the CPU for formatting. The size of the argument list
isn't exposed by the C ABI, but we can use `__builtin_object_size` to
try to look it up. This will bind to the `alloca` holding our arguments
in the ABI and return a positive size if it is known.

We do this opportunistically, as the check is lossy. In cases where it
is known, this saves a stack spill to store the true size. Additionally,
we can use this to detect cases where `printf` is being used as a simple
`puts`.

This saves 10 VGPRs for the `printf("string")` case. It also saves 8
bytes of stack in most all cases.


  Commit: 14789f78610ab6caa79d18737185755c199e0f95
      https://github.com/llvm/llvm-project/commit/14789f78610ab6caa79d18737185755c199e0f95
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

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

  Log Message:
  -----------
  [orc-rt] Generalize testcases for different target archs (#222629)

Drop the hard-coded archs from the check-rt-process-info testcases.
Instead, check against an arch value derived from the build's target
triple.


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

  Changed paths:
    M libcxx/include/__utility/declval.h

  Log Message:
  -----------
  [libc++] Simplify the implementation of std::declval (#222303)

The implementation of `std::declval` calling `__declval` was originally
introduced for improved compile times. However, we now have a builtin
for `add_rvalue_reference`, which makes the old implementation faster
again, since we avoid instantiating any class types _and_ avoid overload
resolution.


  Commit: c363b393529bc652c97344042a3b5e6f136d41c5
      https://github.com/llvm/llvm-project/commit/c363b393529bc652c97344042a3b5e6f136d41c5
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

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

  Log Message:
  -----------
  [SLP] NFC: Remove redundant expression from getBuildVectorCost (#222547)

Gathers is initialized with the contents from VL and then not modified,
so `VL.equals(Gathers)` is always true.


  Commit: 36fe08a5f92230655dd9662f121c092ced307ddd
      https://github.com/llvm/llvm-project/commit/36fe08a5f92230655dd9662f121c092ced307ddd
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

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

  Log Message:
  -----------
  [MLIR][CIR][NFCI] Split TestAliasAnalysis into its own library (#222174)

This is a target for the CIR alias analysis, and bringing in all of the
MLIRTestAnalysis is too heavy: it results in a significant increase in
CIR test size. This patch, plus a few little things, gets us ~850 edges
removed from the Clang Build (after Medhi's patches).

This also has CIR use it.


  Commit: 8be8161a037daf2417c669336b777e986d0fc21f
      https://github.com/llvm/llvm-project/commit/8be8161a037daf2417c669336b777e986d0fc21f
  Author: Marcos Maronas <mmaronas at amd.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/include/clang/CodeGen/ConstantInitBuilder.h
    M clang/lib/CodeGen/ConstantInitBuilder.cpp
    M clang/test/CodeGenCXX/constructor-attr.cpp
    M clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
    M clang/test/OpenMP/amdgcn_target_global_constructor.cpp

  Log Message:
  -----------
  [clang][CodeGen] Stop overriding GlobalVariable's default address space (#222367)

The `GlobalVariable` constructor used by `createGlobal` receives a
`std::optional<unsigned> AddressSpace` that, when unspecified, falls
back to `M.getDataLayout().getDefaultGlobalsAddressSpace()`. However,
`createGlobal`'s `AddressSpace` arg was a bare `unsigned` defaulting to
0. By doing that, it was effectively overriding the `GlobalVariable`'s
constructor fallback with 0. On targets whose default globals address
space is not 0 (AMDGPU, SPIR/SPIR-V), this emitted
`@llvm.global_ctors/dtors` in address space 0 causing some issues (see
https://github.com/ROCm/SPIRV-LLVM-Translator/issues/293).


  Commit: 41fc4d5609d5f2414a2bbf9cf7e1ecd09fe5a01a
      https://github.com/llvm/llvm-project/commit/41fc4d5609d5f2414a2bbf9cf7e1ecd09fe5a01a
  Author: Venkatesh Srinivasan <156861430+venk-ks at users.noreply.github.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/AST/Decl.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/Sema/builtins.c
    M clang/test/Sema/warn-fortify-source.c
    M clang/test/Sema/warn-strlcpycat-size.c

  Log Message:
  -----------
  [Clang][Sema] Add fortify warnings for strlcpy (#221325)

Add `-Wfortify-source` diagnostics for `strlcpy` and `__builtin_strlcpy`
when the size argument exceeds the destination buffer size.

This is directly analogous to the previous PR for `strlcat` (#220341).

Also update `clang/test/Sema/warn-strlcpycat-size.c` and
`clang/test/Sema/builtins.c` to expect the `-Wfortify-source` warnings
where test calls pass sizes larger than the destination buffer capacity.

Part of #142230

Assisted-by: Gemini


  Commit: da15729d2108024fc2e65fdcb17143393823d6a3
      https://github.com/llvm/llvm-project/commit/da15729d2108024fc2e65fdcb17143393823d6a3
  Author: Kieran B <kieran.bailey at arm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-cvt.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-int-dots.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-qcvt.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-qrshr.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-vdot.ll
    M llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll

  Log Message:
  -----------
  [AArch64] Reorder ZPR stack spills to maximize ld1b/st1b pairings (#218950)

Currently, the stack allocation algorithm can order spilled ZPR
callee-saves in a way that prevents pairing.

Reorder ZPR callee-saves before frame indices are assigned to maximize
pairing opportunities. Pairing requires consecutive even/odd registers
at even stack offsets.
The remaining legality requirements are already checked when the
register pairs are formed.

The reordering algorithm primarily works by determining the parity of
the lowest ZPR spill offset. If the offset is odd, it places one
unpaired ZPR spill first so that subsequent register pairs begin at even
offsets.

Windows is not supported by this reordering algorithm for now, to keep
this change minimal.

New tests have been added to sve-callee-save-restore-pairs.ll to test
the reordering algorithm.


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

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/no-wrap-symbolic-becount.ll
    M llvm/test/Analysis/ScalarEvolution/trip-count-unknown-stride.ll

  Log Message:
  -----------
  [SCEV] Use the refined BE-count formula if the addition cannot overflow (#221227)

Generalize the logic added in
https://github.com/llvm/llvm-project/pull/218694
to consider AddingStrideMinusOneMayOverflow (was MayAddOverflow) instead
of just the !IVMayOverflow part.

This handles 2 additional cases when Start < RHS:
 * Stride is known power-of-2:
 * Start == Stride and Start == Stride -1.

The patch includes a mechanical change to move up the existing
MayAddOverflow with comments, and clarifies the name to
AddingStrideMinusOneMayOverflow.

This improves trip count computations in a number of real-world cases:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1195.

End-to-end Alive2 Proofs for both cases in unsigned:
https://alive2.llvm.org/ce/z/MQ2YLf

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


  Commit: 148604aed3511a41af5e000b0440e0afb884daa6
      https://github.com/llvm/llvm-project/commit/148604aed3511a41af5e000b0440e0afb884daa6
  Author: Vy Nguyen <1762963+oontvoo at users.noreply.github.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

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

  Log Message:
  -----------
  [bazel]Add missing utils/extract_symbols.py (#222653)

This was added in https://github.com/llvm/llvm-project/pull/221296


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

  Changed paths:
    M libcxx/include/__condition_variable/condition_variable.h
    M libcxx/include/__mutex/mutex.h
    M libcxx/include/__mutex/once_flag.h
    M libcxx/include/barrier
    M libcxx/include/condition_variable
    M libcxx/include/mutex
    M libcxx/include/shared_mutex
    M libcxx/test/libcxx/diagnostics/unused_variables.verify.cpp
    M libcxx/test/libcxx/thread/nodiscard.verify.cpp
    M libcxx/test/libcxx/thread/thread.barrier/assert.ctor.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/default.pass.cpp

  Log Message:
  -----------
  [libc++] Add [[gnu::warn_unused]] to a bunch of threading utilities (#213963)


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

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

  Log Message:
  -----------
  AMDGPU: Query waves-per-EU and flat-wg range from subarch in attributor (#222596)

The maximum flat work group range is a pair of constants and the maximum
waves per execution unit is fully known from the subarch. Use TargetParser 
information and continue working to remove the dependence on  codegen.

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


  Commit: 3c478e1597c11abbdafef9c08d7e11655ba1cdd5
      https://github.com/llvm/llvm-project/commit/3c478e1597c11abbdafef9c08d7e11655ba1cdd5
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/MC/MCGOFFStreamer.cpp
    A llvm/test/CodeGen/SystemZ/zos-eh.ll

  Log Message:
  -----------
  [SystemZ][z/OS] Relax check for additional symbols in PR section (#222435)

The current check in `emitLabel()` is too strict. Inside a PR, there
cannot be no other external visible label. However, temporary labels
which are used e.g. for calculating offsets can be emitted. A situation
in which this occurs is the emission of the DWARF EH tables, in which a
temporary symbol (with an empty name) is emitted at the begin of the
table, causing an error message. This change limits the error to
non-temporary labels.


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

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

  Log Message:
  -----------
  CodeGen: Remove dead LiveVariables plumbing from MachineSink (#222563)

MachineSink threaded a LiveVariables pointer through to
SplitCriticalEdge so the analysis would be updated. It never used
LiveVariables for any decision, and MachineSinking runs before
LiveVariables in every pipeline.

Co-authored-by: Claude (Claude-Opus-4.8)


  Commit: 659faef7717be80c12e47604e61c01f2d7fc4975
      https://github.com/llvm/llvm-project/commit/659faef7717be80c12e47604e61c01f2d7fc4975
  Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
    M lldb/tools/lldb-dap/Handler/ModulesRequestHandler.cpp

  Log Message:
  -----------
  [lldb-dap] Add paging into modules request (#222122)

Added support for modules paging according to [DAP
specification](https://microsoft.github.io/debug-adapter-protocol/specification#Requests_Modules)


  Commit: 26c633bf88337258f1b488bccfd74faa1efbafaa
      https://github.com/llvm/llvm-project/commit/26c633bf88337258f1b488bccfd74faa1efbafaa
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/AstRestoreTest.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/CallingConventionsTest.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/ClassLayoutTest.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/CompilandsTest.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/ExpressionsTest.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/ExpressionsTest0.script
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/ExpressionsTest1.script
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/ExpressionsTest2.script
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/FunctionLevelLinkingTest.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/FunctionLevelLinkingTest.h
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/FunctionLevelLinkingTest.ord
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/FunctionNestedBlockTest.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/PointerTypeTest.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/SimpleTypesTest.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/TypeQualsTest.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/VBases2.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/VBases2.script
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/VariablesLocationsTest.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/VariablesLocationsTest.script
    A lldb/test/Shell/SymbolFile/NativePDB/Inputs/VariablesTest.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/add-symbols.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/ast-restore.test
    A lldb/test/Shell/SymbolFile/NativePDB/calling-conventions-arm.test
    A lldb/test/Shell/SymbolFile/NativePDB/calling-conventions-x86.test
    A lldb/test/Shell/SymbolFile/NativePDB/class-layout.test
    A lldb/test/Shell/SymbolFile/NativePDB/compilands.test
    A lldb/test/Shell/SymbolFile/NativePDB/enums-layout.test
    A lldb/test/Shell/SymbolFile/NativePDB/expressions.test
    M lldb/test/Shell/SymbolFile/NativePDB/func-symbols.test
    A lldb/test/Shell/SymbolFile/NativePDB/function-level-linking.test
    A lldb/test/Shell/SymbolFile/NativePDB/function-nested-block.test
    A lldb/test/Shell/SymbolFile/NativePDB/native-setting-dia.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/native-setting-no-dia.cpp
    R lldb/test/Shell/SymbolFile/NativePDB/native-setting.cpp
    A lldb/test/Shell/SymbolFile/NativePDB/pointers.test
    A lldb/test/Shell/SymbolFile/NativePDB/type-quals.test
    A lldb/test/Shell/SymbolFile/NativePDB/typedefs.test
    A lldb/test/Shell/SymbolFile/NativePDB/variables-locations.test
    A lldb/test/Shell/SymbolFile/NativePDB/variables.test
    A lldb/test/Shell/SymbolFile/NativePDB/vbases2.test
    R lldb/test/Shell/SymbolFile/PDB/Inputs/AstRestoreTest.cpp
    R lldb/test/Shell/SymbolFile/PDB/Inputs/CallingConventionsTest.cpp
    R lldb/test/Shell/SymbolFile/PDB/Inputs/ClassLayoutTest.cpp
    R lldb/test/Shell/SymbolFile/PDB/Inputs/CompilandsTest.cpp
    R lldb/test/Shell/SymbolFile/PDB/Inputs/ExpressionsTest.cpp
    R lldb/test/Shell/SymbolFile/PDB/Inputs/ExpressionsTest0.script
    R lldb/test/Shell/SymbolFile/PDB/Inputs/ExpressionsTest1.script
    R lldb/test/Shell/SymbolFile/PDB/Inputs/ExpressionsTest2.script
    R lldb/test/Shell/SymbolFile/PDB/Inputs/FunctionLevelLinkingTest.cpp
    R lldb/test/Shell/SymbolFile/PDB/Inputs/FunctionLevelLinkingTest.h
    R lldb/test/Shell/SymbolFile/PDB/Inputs/FunctionLevelLinkingTest.ord
    R lldb/test/Shell/SymbolFile/PDB/Inputs/FunctionNestedBlockTest.cpp
    R lldb/test/Shell/SymbolFile/PDB/Inputs/PointerTypeTest.cpp
    R lldb/test/Shell/SymbolFile/PDB/Inputs/SimpleTypesTest.cpp
    R lldb/test/Shell/SymbolFile/PDB/Inputs/TypeQualsTest.cpp
    R lldb/test/Shell/SymbolFile/PDB/Inputs/VBases.cpp
    R lldb/test/Shell/SymbolFile/PDB/Inputs/VBases.script
    R lldb/test/Shell/SymbolFile/PDB/Inputs/VariablesLocationsTest.cpp
    R lldb/test/Shell/SymbolFile/PDB/Inputs/VariablesLocationsTest.script
    R lldb/test/Shell/SymbolFile/PDB/Inputs/VariablesTest.cpp
    R lldb/test/Shell/SymbolFile/PDB/add-symbols.cpp
    R lldb/test/Shell/SymbolFile/PDB/ast-restore.test
    R lldb/test/Shell/SymbolFile/PDB/calling-conventions-arm.test
    R lldb/test/Shell/SymbolFile/PDB/calling-conventions-x86.test
    R lldb/test/Shell/SymbolFile/PDB/class-layout.test
    R lldb/test/Shell/SymbolFile/PDB/compilands.test
    R lldb/test/Shell/SymbolFile/PDB/enums-layout.test
    R lldb/test/Shell/SymbolFile/PDB/expressions.test
    M lldb/test/Shell/SymbolFile/PDB/func-symbols.test
    R lldb/test/Shell/SymbolFile/PDB/function-level-linking.test
    R lldb/test/Shell/SymbolFile/PDB/function-nested-block.test
    R lldb/test/Shell/SymbolFile/PDB/native-setting.cpp
    R lldb/test/Shell/SymbolFile/PDB/pointers.test
    R lldb/test/Shell/SymbolFile/PDB/type-quals.test
    R lldb/test/Shell/SymbolFile/PDB/typedefs.test
    M lldb/test/Shell/SymbolFile/PDB/udt-layout.test
    R lldb/test/Shell/SymbolFile/PDB/variables-locations.test
    R lldb/test/Shell/SymbolFile/PDB/variables.test
    R lldb/test/Shell/SymbolFile/PDB/vbases.test

  Log Message:
  -----------
  [lldb] Move most PDB shell tests to NativePDB (#222370)

I plan to remove the DIA PDB plugin before the 24 release - we switched
the default to the native one in 22. To avoid losing test coverage in
the process, this moves the SymbolFile/PDB tests to
SymbolFile/NativePDB. They were already running with both plugins. In
some cases, we set `env LLDB_USE_NATIVE_PDB_READER=1`, which I flipped.

The remaining shell tests are:
- `func-symbols.test`: Has a duplicate in NativePDB with different
checks, because the two plugins don't create identical types (see
comment in test)
- `udt-layout.test`: Also has a duplicate with different checks, because
the two plugins show the base classes in a different order.

Other than that, there's also a [unittest for
PDB](https://github.com/llvm/llvm-project/blob/2de38b4861ed4a7be7ddd42fc803e91d1fe81b14/lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp).
I'm not sure what we should do about it. Looking over the tests there,
most of these are already covered by the shell tests.


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

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M llvm/include/llvm/Passes/RunCodeGen.h
    M llvm/lib/Passes/RunCodeGen.cpp

  Log Message:
  -----------
  [Passes] Add DisableSimplifyLibCalls flag to runCodeGenPipeline (#222430)

This enables this abstraction to be a drop-in replacement for rustc
after some minor refactoring.


  Commit: 6b706509f983459f43708c42f80ec2f152a4cc42
      https://github.com/llvm/llvm-project/commit/6b706509f983459f43708c42f80ec2f152a4cc42
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    A mlir/include/mlir/IR/pch.h
    M mlir/lib/CMakeLists.txt
    M mlir/lib/IR/CMakeLists.txt
    M mlir/lib/Tools/mlir-lsp-server/LSPServer.cpp

  Log Message:
  -----------
  [mlir] Reuse a precompiled header for MLIRIR (NFC) (#222576)

Build a private precompiled header from the common MLIR IR headers and
use it for MLIRIR. Build Support and IR first so the PCH is available
early, and qualify the LLVM LSP Location name that the broader header
surface exposes.

On current main, clean Release builds of LLVM and MLIR with `ninja -j16`
improved as follows:

```
  wall:   535.99s -> 420.41s (-21.56%)
  user:  7550.29s -> 6125.97s (-18.86%)
  system: 569.85s -> 481.88s (-15.44%)
```

Assisted-by: Codex


  Commit: 29a48499738db1829f9a6b71a38bc4461867a3c4
      https://github.com/llvm/llvm-project/commit/29a48499738db1829f9a6b71a38bc4461867a3c4
  Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonISelLowering.h
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
    A llvm/test/CodeGen/Hexagon/vreduce-fminmax-nan-fixup.ll
    A llvm/test/CodeGen/Hexagon/vreduce-max-lowering.ll
    A llvm/test/CodeGen/Hexagon/vreduce-min-lowering.ll

  Log Message:
  -----------
  [Hexagon] Lower vreduce(min|max)((imum)?) (#211898)

Add custom lowering for VECREDUCE_FMIN/FMAX/FMINIMUM/FMAXIMUM on HVX
float vector types. The target-independent default expansion reduces
these pairwise using the hardware min/max instruction directly, which
does not implement IEEE-754 NaN-propagation semantics: a NaN in the
input can silently corrupt the reduction result, and an all-NaN input
produces a non-NaN value instead of NaN.

The custom lowering strips NaN elements to the appropriate neutral value
(+/-Inf) before the pairwise tree reduction so a NaN can't corrupt other
lanes, then fixes up the scalar result to NaN if every input element was
NaN.

FMINNUM/FMAXNUM on HVX vector types get the same treatment: NaN operands
are replaced with the neutral value before delegating to the hardware
min/max, with a fixup to restore NaN when both operands were NaN (per
llvm.minnum/maxnum semantics).

Co-authored-by: Kaushik Kulkarni <kauskulk at qti.qualcomm.com>


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

  Changed paths:
    M llvm/test/Transforms/InstCombine/SystemZ/libcall-arg-exts.ll

  Log Message:
  -----------
  [InstCombine] Generate test checks (NFC) (#222670)

With UTC_ARGS --disable to preserve the declaration check lines
at the end.


  Commit: 658872c4dffbe435042faee03672b5b03c620977
      https://github.com/llvm/llvm-project/commit/658872c4dffbe435042faee03672b5b03c620977
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.cpp
    A llvm/test/CodeGen/SystemZ/zos-align-constpool.ll
    M llvm/test/CodeGen/SystemZ/zos-ppa1.ll

  Log Message:
  -----------
  [SystemZ][z/OS] Correctly align the constant pool and the PPA1 (#222128)

Both should be half-word aligned. However, testing revealed that both
can end up on odd addresses, which leads to relocation errors. Fix is to
change the alignment.


  Commit: af00b1753fe813df84e1c262fe48a215929ea1a3
      https://github.com/llvm/llvm-project/commit/af00b1753fe813df84e1c262fe48a215929ea1a3
  Author: Sohaib Iftikhar <sohaibiftikhar at google.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

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

  Log Message:
  -----------
  [BUILD]: Fix for #221812 (#222671)

[BUILD]: Fix for #221812


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

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/for_reduction_codegen.cpp
    M clang/test/OpenMP/for_reduction_codegen_UDR.cpp
    M clang/test/OpenMP/for_reduction_task_codegen.cpp
    M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
    M clang/test/OpenMP/master_taskloop_reduction_codegen.cpp
    M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
    M clang/test/OpenMP/master_taskloop_simd_reduction_codegen.cpp
    M clang/test/OpenMP/parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/parallel_master_reduction_task_codegen.cpp
    M clang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp
    M clang/test/OpenMP/parallel_master_taskloop_simd_reduction_codegen.cpp
    M clang/test/OpenMP/parallel_reduction_codegen.cpp
    M clang/test/OpenMP/parallel_reduction_task_codegen.cpp
    M clang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/sections_reduction_task_codegen.cpp
    M clang/test/OpenMP/target_in_reduction_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/task_in_reduction_codegen.cpp
    M clang/test/OpenMP/taskgroup_task_reduction_codegen.cpp
    M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
    M clang/test/OpenMP/taskloop_reduction_codegen.cpp
    M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
    M clang/test/OpenMP/taskloop_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp

  Log Message:
  -----------
  [OpenMP] Avoid use of ConstantExpr::getSizeOf() (#222662)

Support for this will be dropped as part of the ptradd migration.
Replace with a constant size.

While I'm touching the code anyway, I also simplified the size
calculation a bit. It's computing both the size in bytes and in
elements. Avoid doing an unnecessary division followed by multiply for
the size in bytes.


  Commit: 847fb5cfde68fdea490171bc24087ebb0cd90738
      https://github.com/llvm/llvm-project/commit/847fb5cfde68fdea490171bc24087ebb0cd90738
  Author: Amy Kwan <amy.kwan1 at ibm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Object/GOFFObjectFile.h
    M llvm/lib/Object/ArchiveWriter.cpp
    M llvm/lib/Object/GOFFObjectFile.cpp
    A llvm/test/tools/llvm-ar/zos-symattrs.test
    M llvm/test/tools/llvm-ar/zos-write.test

  Log Message:
  -----------
  [llvm-ar][GOFF] Implement symbol attributes for GOFF archives (#214528)

z/OS archive symbol table entries contain a 32-bit attribute word
alongside each member offset.

The low three bits encode:
```
  bit 2 (0x4): 64-bit addressing (AMODE 64)
  bit 1 (0x2): XPLink calling convention
  bit 0 (0x1): Writable Static Area (WSA)
```

Previously in e2c8fa0, llvm-ar wrote zero for these attributes. This
patch reads them from GOFF ESD
records and stores them in a SymbolAttrs vector parallel to the existing
Symbols vector in MemberData
to emit the correct word per symbol.

These attributes are tested using `llvm-nm --print-armap` implemented in
#214527 within the LIT test.


  Commit: 746d09af26a84cdbe1e03aeb436c8ada09ac8ecf
      https://github.com/llvm/llvm-project/commit/746d09af26a84cdbe1e03aeb436c8ada09ac8ecf
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/test/CodeGen/SystemZ/zos-eh.ll

  Log Message:
  -----------
  [SystemZ][z/OS] Fix "relative immediate relocation section mismatch" (#222437)

Constants should go inside the text section, but this is not explicitly
coded. In the test case, the EH table is generated into a PR section.
Then the constant pool of function `fn_with_const_pool()` is emitted,
which goes into the PR section of the EH table instead of the code
section. When the constant is later referenced in the code, the relative
offset cannot be calculated because different sections are involved.
The fix is to explicitly return the text section for constants.


  Commit: f24c52bc14c55646ce37e8e5a6e5f174e896fbf4
      https://github.com/llvm/llvm-project/commit/f24c52bc14c55646ce37e8e5a6e5f174e896fbf4
  Author: Sohaib Iftikhar <sohaibiftikhar at google.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

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

  Log Message:
  -----------
  [MLIR]: Fix format after #222671 (#222674)

[MLIR]: Fix format after #222671


  Commit: b879ce97a1a7b097b5ed98468ced33d543af9558
      https://github.com/llvm/llvm-project/commit/b879ce97a1a7b097b5ed98468ced33d543af9558
  Author: David Spickett <david.spickett at arm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M compiler-rt/test/profile/Linux/instrprof-debug-info-correlate-warnings.ll

  Log Message:
  -----------
  [compiler-rt][profdata] Use x86 triple in instrprof-debug-info-correlate-warnings.ll (#222668)

Test added by #163254 / 28c048ec0f0a677115a0b00a88a7d013f925f2b8.

It has been failing in Armv8 (32-bit) builds since then. I'm only just
getting to it.

warning: overriding the module target triple with
armv8a-unknown-linux-gnueabihf [-Woverride-module]
'x86-64' is not a recognized processor for this target (ignoring
processor)
'+cmov' is not a recognized feature for this target (ignoring feature)
'+cx8' is not a recognized feature for this target (ignoring feature)
<...>
error: a.c:1:0: in function main i32 (): calling convention is
hard-float, but floating-point registers are unavailable

Happens on AArch64 too, but it's not fatal there. This happens because
the ll has x86 options in it, but the RUN used whatever the host triple
was.

I don't know what's critical in this file, so I'm adding a --target x86
option to the test to fix this.


  Commit: fc6a6716ed7a0b90535ad2b02abff1b041cce542
      https://github.com/llvm/llvm-project/commit/fc6a6716ed7a0b90535ad2b02abff1b041cce542
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/docs/GettingInvolved.md

  Log Message:
  -----------
  Promote BOLT from Office hours to Online Sync-Up (#222492)

Office hours are intended for chats with individual contributors:
> A number of experienced LLVM contributors make themselves available
for a chat on a regular schedule, to anyone who is looking for some
guidance.

BOLT community has outgrown office hours format and has been operating
as sync-up.
Reflect that in the Getting Involved page.


  Commit: 6e85ed2ede8bc34753e7b8740ccdf4b309a80fdf
      https://github.com/llvm/llvm-project/commit/6e85ed2ede8bc34753e7b8740ccdf4b309a80fdf
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    A mlir/include/mlir/Dialect/LLVMIR/pch.h
    M mlir/lib/CMakeLists.txt
    M mlir/lib/Dialect/LLVMIR/CMakeLists.txt

  Log Message:
  -----------
  [mlir][LLVM] Reuse a PCH for MLIRLLVMDialect (NFC) (#222578)

Build a private precompiled header from the LLVM dialect and LLVM IR
headers and use it for MLIRLLVMDialect. Build dialect libraries before
conversions so the PCH is available early and repeated parsing is
avoided.

Relative to the MLIRIR PCH parent, clean Release builds of LLVM and MLIR
with `ninja -j16` improved as follows:

```
  wall:   420.41s -> 398.79s (-5.14%)
  user:  6125.97s -> 5789.14s (-5.50%)
  system: 481.88s -> 455.05s (-5.57%)
```

Assisted-by: Codex


  Commit: a726ed254aeaae71a92fddd094130b2e1588ce42
      https://github.com/llvm/llvm-project/commit/a726ed254aeaae71a92fddd094130b2e1588ce42
  Author: LU-JOHN <John.Lu at amd.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fabs.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fneg.ll

  Log Message:
  -----------
  [AMDGPU][NFC] Fix salu use to use SGPR (#222657)

Fix tests with "salu_use" in their name to use SGPRs.

Signed-off-by: John Lu <John.Lu at amd.com>


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

  Changed paths:
    M llvm/examples/BrainF/BrainF.cpp
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M polly/lib/CodeGen/IslNodeBuilder.cpp

  Log Message:
  -----------
  [IRBuilder] Remove unused AllocTy argument (#222667)

This argument is not used at all. The size is explicitly passed in a
separate argument.


  Commit: 4d09d062b4fb2e22f54b1125cbcea734efda81a8
      https://github.com/llvm/llvm-project/commit/4d09d062b4fb2e22f54b1125cbcea734efda81a8
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/include/llvm/DebugInfo/CodeView/CodeView.h
    M llvm/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def
    M llvm/include/llvm/DebugInfo/CodeView/EnumTables.h
    M llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h
    M llvm/lib/DebugInfo/CodeView/EnumTables.cpp
    M llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp
    M llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
    M llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
    M llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
    A llvm/test/tools/llvm-pdbutil/s-association.yaml
    M llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp

  Log Message:
  -----------
  [CodeView] Read and dump `S_ASSOCIATION` (#221034)

`S_ASSOCIATION` associates one symbol with another one. Right now, it's
only used for coroutines. The `get_associatedSymbol*` functions from
[`IDiaSymbol8`](https://learn.microsoft.com/en-us/visualstudio/debugger/debug-interface-access/idiasymbol8)
use this record. I'm not sure if the VS debugger uses this at all.

The symbol value was added earlier, but we weren't able to read/write
it. Also, lld would remove it when linking, as it didn't know if it
contained type indices.

This PR adds support for that. It's only visible in llvm-pdbutil where
we can dump it and roundtrip through yaml. I checked that it uses the
correct format when used with the DIA dump sample.

The coroutine kind is still missing. It's contained in the flags of an
`S_FRAMEPROC`. But it'd like to wait for #215887 which touches the flags
in YAML.


  Commit: 8f100d2b11256fb538ace5ac45c9cd9be5d56335
      https://github.com/llvm/llvm-project/commit/8f100d2b11256fb538ace5ac45c9cd9be5d56335
  Author: Pablo Reble <pablo.reble at amd.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/inst-count-heuristic.ll

  Log Message:
  -----------
  [SLP][AMDGPU] Fix test to actually exercise count-check condition (#222022)

The gfx906 RUN lines in `inst-count-heuristic.ll` never exercised the
`SLPInstCountCheck` heuristic they were meant to test.
This patch converts the test kernel from `i32` to `i16` elements so the
heuristic's `getVectorFactor() == 2` gate is actually reachable on
gfx906, and adds a `-slp-inst-count-check=false` RUN line to cover the
non-default behavior.


  Commit: 5777c75fd91efa7abce23a74c4ec2381e8084b44
      https://github.com/llvm/llvm-project/commit/5777c75fd91efa7abce23a74c4ec2381e8084b44
  Author: Pablo Reble <pablo.reble at amd.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f16.ll

  Log Message:
  -----------
  [SLP][AMDGPU] Fix load-address typo in v4f16 combine tests (#222112)

Patch addresses issue where tests are not performing 4 contiguous
elements load/store chain as intended.

- Correcting both typos (`%tmp6` vs. `%tmp10`) so each function
represents a contiguous 4-element chain.
- `copysign_combine_v4f16` and `canonicalize_combine_v4f16` now
vectorize identically on `GFX8` and `GFX9`.
- Adding `canonicalize_combine_v4f16_noncontiguous`, to preserve
existing test coverage, so the non-contiguous-gather path isn't silently
dropped.


  Commit: 3c3c3d8141fe7582baab9c15ffd0bbfbba4ac8eb
      https://github.com/llvm/llvm-project/commit/3c3c3d8141fe7582baab9c15ffd0bbfbba4ac8eb
  Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    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/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [LV] Strip unnecessary cl::opts from headers (NFC) (#221891)

Mark the ones which are static as such, strip declarations in headers to
avoid unnecessary dependencies, and nest the non-static ones under the
llvm namespace.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/test/CodeGen/AMDGPU/occupancy-levels.ll

  Log Message:
  -----------
  [AMDGPU] Change physical VGPRs to 1024 for gfx13 (#222615)

GFX13 has 1024 physical VGPRs per SIMD in wave32 (512 in wave64)


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

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

  Log Message:
  -----------
  [AMDGPU] Add gfx13 MC support for v_cvt_scale_pk32_* instructions (#222616)


  Commit: d5c0de99769824a032ef2f602f9939e28d259f06
      https://github.com/llvm/llvm-project/commit/d5c0de99769824a032ef2f602f9939e28d259f06
  Author: Anirudh Mathur <126768505+AnirudhMathur12 at users.noreply.github.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/sys/stat.yaml
    M libc/src/sys/stat/CMakeLists.txt
    A libc/src/sys/stat/futimens.h
    M libc/src/sys/stat/linux/CMakeLists.txt
    A libc/src/sys/stat/linux/futimens.cpp
    M libc/test/src/sys/stat/CMakeLists.txt
    A libc/test/src/sys/stat/futimens_test.cpp

  Log Message:
  -----------
  [libc] Implement futimens (#222251)

futimens(fd, times) is implemented on Linux by delegating to
the utimensat system call.

Fixes #220764


  Commit: a4cff758b654b7c49c35e7445a025681b8e7a7f2
      https://github.com/llvm/llvm-project/commit/a4cff758b654b7c49c35e7445a025681b8e7a7f2
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BundleVec.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BundleVec.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/VecUtils.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp

  Log Message:
  -----------
  [SandboxVec][VecUtils] Introduce DeadInstrMorgue (#221482)

Move dead instructions collector and erasor into VecUtils, so that
it is usable by both, BundleVec and LoadStoreVec, vectorizers. NFC


  Commit: 7962fc367a83caf8442a474660ab93ec5ed1ac22
      https://github.com/llvm/llvm-project/commit/7962fc367a83caf8442a474660ab93ec5ed1ac22
  Author: Keshav Vinayak Jha <31160700+keshavvinayak01 at users.noreply.github.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shl-from-extend-narrow.postlegal.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/crash-stack-address-O0.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-value.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-brcond.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.make.buffer.rsrc.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/no-ctlz-from-umul-to-lshr-in-postlegalizer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-ubfx.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sext_inreg.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
    M llvm/test/CodeGen/AMDGPU/call-defs-mode-register.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll

  Log Message:
  -----------
  [AMDGPU] Enable CSE in the GlobalISel post-legalizer combiner (#217258)

Enable GISel CSE in the legacy AMDGPU post-legalizer combiner so it
matches the new pass-manager path.

Use the standard CSE configuration for the optimization level. Create
correctly constrained virtual registers during legalization instead of
mutating register classes after creation, and notify GlobalISel
observers when register operands are replaced. This also updates the
affected GlobalISel checks.

More context:
https://github.com/llvm/llvm-project/pull/216274#pullrequestreview-4964537468

---------

Signed-off-by: Keshav Vinayak Jha <keshavvinayakjha at gmail.com>


  Commit: 1e6f0cbabe1bce674eadb77814d98e2263823384
      https://github.com/llvm/llvm-project/commit/1e6f0cbabe1bce674eadb77814d98e2263823384
  Author: Finn Plummer <mail at inbelic.dev>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/CodeGenHLSL/semantics/DispatchThreadID-noindex.hlsl
    M clang/test/CodeGenHLSL/semantics/SV_GroupID-noindex.hlsl
    M clang/test/CodeGenHLSL/semantics/SV_GroupThreadID-noindex.hlsl
    M clang/test/CodeGenHLSL/semantics/SV_Position.ps.hlsl
    M clang/test/CodeGenHLSL/semantics/semantic.array.output.hlsl
    M clang/test/SemaHLSL/Availability/attr-availability-pixel.hlsl
    A clang/test/SemaHLSL/Semantics/arbitrary.ms.input.hlsl
    A clang/test/SemaHLSL/Semantics/arbitrary.ps.output.hlsl
    M clang/test/SemaHLSL/Semantics/groupindex.hlsl
    M clang/test/SemaHLSL/Semantics/invalid_entry_parameter.hlsl
    A clang/test/SemaHLSL/Semantics/output-parameters.hlsl
    M clang/test/SemaHLSL/Semantics/position.ps.hlsl
    M clang/test/SemaHLSL/Semantics/position.ps.struct.hlsl
    M clang/test/SemaHLSL/Semantics/position.ps.struct.reuse.hlsl
    A clang/test/SemaHLSL/Semantics/semantic-indexing.hlsl
    M clang/test/SemaHLSL/Semantics/target.ps.input.hlsl
    M clang/test/SemaHLSL/Semantics/target.vs.input.hlsl
    M clang/test/SemaHLSL/Semantics/target.vs.output.hlsl
    M clang/test/SemaHLSL/Semantics/vertexid.ps.hlsl
    M clang/test/SemaHLSL/num_threads.hlsl
    M clang/test/SemaHLSL/shader_type_attr.hlsl
    M llvm/include/llvm/Frontend/HLSL/SemanticSignatures.h
    M llvm/lib/Frontend/HLSL/SemanticSignatures.cpp
    M llvm/unittests/Frontend/CMakeLists.txt
    A llvm/unittests/Frontend/HLSLSemanticStagesTest.cpp

  Log Message:
  -----------
  [NFC][SemaHLSL][CGHLSL] Move semantic classification to common `HLSL/SemanticSignatures` (#218058)

Updates SemaHLSL and CGHLSL to not use stringref compares to distinguish
semantics and converts them to a common `SemanticKind` enum.

Further, it moves the classification of valid shader stages into a
common table to denote where a semantic is interpreted and how it is
used to to derive if it is valid.

This also updates tests that were using invalid semantic constructs to
use corrected versions.

This is a pre-req for the signature packing issues (#205875, etc) and
#189765

Assisted by: Claude Opus 5 and GPT-5.6 Sol


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

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

  Log Message:
  -----------
  [SizeOpts] Remove dead struct BasicBlockBFIAdapter (NFC) (#222536)

The last uses were removed on June 28, 2023 in commit
80155cbf0be1744953edf68b9729c24bd0de79c4 when hotness/coldness queries
were refactored into templated ProfileSummaryInfo member functions.

Assisted-by: Antigravity


  Commit: f7dd24bbe0e94ba94e3c6feda1703544e631a485
      https://github.com/llvm/llvm-project/commit/f7dd24bbe0e94ba94e3c6feda1703544e631a485
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/docs/Tutorials/transform/Ch1.md
    M mlir/docs/Tutorials/transform/Ch4.md
    M mlir/docs/Tutorials/transform/ChH.md
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/test/Dialect/Arith/sharding-propagation.mlir
    M mlir/test/Dialect/Bufferization/canonicalize.mlir
    M mlir/test/Dialect/Linalg/block-pack-matmul.mlir
    M mlir/test/Dialect/Linalg/decompose-generic-by-unfolding-projected-permutation.mlir
    M mlir/test/Dialect/Linalg/elementwise/fold.mlir
    M mlir/test/Dialect/Linalg/elementwise/generalize-named-ops.mlir
    M mlir/test/Dialect/Linalg/elementwise/invalid.mlir
    M mlir/test/Dialect/Linalg/elementwise/roundtrip.mlir
    M mlir/test/Dialect/Linalg/fold-add-into-dest.mlir
    M mlir/test/Dialect/Linalg/linalg-morph-elementwise-to-named.mlir
    M mlir/test/Dialect/Linalg/match-ops-interpreter.mlir
    M mlir/test/Dialect/Linalg/reshape_fusion.mlir
    M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-category-ops.mlir
    M mlir/test/Dialect/Linalg/scalable-unpack-producer-fusion.mlir
    M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse-into-containing.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
    M mlir/test/Dialect/Linalg/transform-op-generalize.mlir
    M mlir/test/Dialect/Linalg/transform-op-rewrite-in-destination-passing-style.mlir
    M mlir/test/Dialect/Linalg/transform-op-specialize-elemwise-binary.mlir
    M mlir/test/Dialect/SCF/canonicalize.mlir
    M mlir/test/Dialect/SCF/parallel-loop-unroll.mlir
    M mlir/test/Dialect/SparseTensor/encoding_with_symbols.mlir
    M mlir/test/Dialect/SparseTensor/external_after_codegen.mlir
    M mlir/test/Dialect/Transform/test-promote-tensors.mlir
    M mlir/test/Examples/transform/Ch1/invalidation-1.mlir
    M mlir/test/Examples/transform/Ch1/invalidation-2.mlir
    M mlir/test/Examples/transform/Ch1/sequence.mlir
    M mlir/test/Examples/transform/Ch2/sequence.mlir
    M mlir/test/Examples/transform/Ch3/sequence.mlir
    M mlir/test/Examples/transform/Ch4/multiple.mlir
    M mlir/test/Examples/transform/Ch4/sequence.mlir
    M mlir/test/Integration/Dialect/Transform/match_matmul.mlir
    M mlir/test/Interfaces/TilingInterface/query-fusability.mlir
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer-using-slices.mlir
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
    M mlir/test/Interfaces/TilingInterface/tile-elementwise.mlir
    M mlir/test/Interfaces/TilingInterface/tile-fuse-and-yield-using-interface.mlir
    M mlir/test/python/dialects/linalg/ops.py

  Log Message:
  -----------
  [MLIR][Linalg] Change the syntax of elementwise kind attribute (#222569)

Remove the need to add a "kind=" lead for the elementwise operation
name, as well as the fully specified namespace for the attribute,
shortening the syntax from:

```
linalg.elementwise kind=#linalg.elementwise_kind<add>
```

to
```
linalg.elementwise <add>
```

Closes #221194

Assisted by: Claude Opus


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

  Changed paths:
    M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
    M mlir/test/Conversion/XeGPUToXeVM/extf_truncf.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Lower arith.truncf wider than one xevm.truncf group (#217130)

`xevm.truncf` lowers to device builtins that convert exactly 16 f16/bf16
elements
per call, so `TruncfToXeVMPattern` only matched a 16-element source. A
workgroup-level mxfp GEMM that quantizes A in the kernel produces a
wider one,
which nothing else lowers, so the module failed to build:

  %r = arith.truncf %a : vector<32xbf16> to vector<32xf4E2M1FN>
// cannot be converted to LLVM IR: missing
`LLVMTranslationDialectInterface`
  // registration ... for op: arith.truncf

Convert a whole number of groups at a time instead: slice the source
into
16-element groups, emit one `xevm.truncf` per group, and concatenate the
packed
results before the final bitcast. A source of exactly one group takes
the original
path with unchanged code, and a source that is not a whole number of
groups is
still left to the regular arith-to-LLVM path.

`arith.extf` carries the same restriction on its result, but no wider
case has come
up, so it is left as is.


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

  Changed paths:
    M clang/lib/Basic/LangOptions.cpp
    M clang/lib/CodeGen/BackendUtil.cpp
    M llvm/include/llvm/CodeGen/CommandFlags.h
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
    M llvm/test/CodeGen/Hexagon/swp-large-rec.ll
    R llvm/test/CodeGen/X86/llc-fp-contract-warning.ll
    M llvm/tools/llc/llcdriver.cpp

  Log Message:
  -----------
  CodeGen: Remove AllowFPOpFusion from TargetOptions (#222683)


  Commit: a56fd548f257c4fc89387ab2bb483acee7c59747
      https://github.com/llvm/llvm-project/commit/a56fd548f257c4fc89387ab2bb483acee7c59747
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Tools/mlir-translate/MlirTranslateMain.h
    M mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp

  Log Message:
  -----------
  [mlir-translate] Add structured translation entry point (#222623)

Please read: [RFC: Embeddable LLVM tool drivers for long-lived
hosts](https://discourse.llvm.org/t/rfc-embeddable-llvm-tool-drivers-for-long-lived-hosts/91754)
and the [MLIR
section](https://discourse.llvm.org/t/rfc-embeddable-llvm-tool-drivers-for-long-lived-hosts/91754#p-367966-mlir-13).

`mlir-opt` already separates its standalone command-line frontend from
its reusable implementation:

```text
command-line parsing
        ↓
MlirOptMainConfig
        ↓
MlirOptMain(input buffer, output stream, registry, config)
```

`mlir-translate` currently combines those responsibilities inside
`mlirTranslateMain(int argc, char **argv, ...)`: it registers and parses
its command-line options, opens the input and output files, and then
performs the translations.

This patch applies the existing mlir-opt structure to mlir-translate. It
extracts the MLIR translation executor behind a structured overload
accepting an input buffer, output stream, selected Translation objects
and an MlirTranslateMainConfig. The existing command-line entry point
continues to parse the same options and delegates to the new overload,
so its command-line behaviour remains unchanged.

Separating parsing from execution is useful for any application
embedding MLIR. Such an application already has its input, output and
selected translation, and should not be required to install another
command-line frontend into the process merely to call MLIRTranslateLib.

[WasmBolt](https://github.com/anutosh491/WasmBolt)(try
[here](https://anutosh21.github.io/WasmBolt/)) is one concrete consumer.
It runs `mlir-opt`, `opt`, `llc`, Clang and LLD inside one long-lived
browser-hosted LLVM process. Calling the complete `mlir-opt` and
`mlir-translate` command-line frontends in that process causes common
options such as `-o` to be registered twice in LLVM's process-global
command-line registry.
```
mlir-translate: CommandLine Error: Option 'o' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
```

The structured entry point allows WasmBolt to invoke the actual MLIR
translation operation without registering another command-line frontend.
This is needed to continue naturally from the MLIR LLVM dialect to LLVM
IR inside the same compiler session.

Add a simple test where the test register its own `-o` option first,
then runs two translations through the new API and checks the output.
This confirms that the translation path works without touching the
command-line parser. **Can Improve it a bit if it looks too informal.**


  Commit: 5b757b81db35e7611f0d5f242a2bd53f3894c084
      https://github.com/llvm/llvm-project/commit/5b757b81db35e7611f0d5f242a2bd53f3894c084
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__configuration/compiler.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/unique_temporary_buffer.h
    R libcxx/include/__new/allocate.h
    M libcxx/include/__utility/small_buffer.h
    M libcxx/include/module.modulemap.in
    M libcxx/include/new
    M libcxx/src/include/aligned_alloc.h
    R libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/max_size.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/max_size.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/max_size.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.capacity/max_size.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/hardware_inference_size.compile.pass.cpp
    M libcxx/test/std/numerics/numarray/template.valarray/valarray.cons/size.pass.cpp
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/pointer_destruction.pass.cpp

  Log Message:
  -----------
  [libc++] Remove __libcpp_allocate (#220981)

We use `__libcpp_allocate` and friends only in very specific
circumstances. Instead of providing a private API we can make
`std::allocator` the default API for the uses of `__libcpp_allocate`.


  Commit: 20ddf3e2f5a9fa2717d9cfea19660ef1f0399044
      https://github.com/llvm/llvm-project/commit/20ddf3e2f5a9fa2717d9cfea19660ef1f0399044
  Author: Stan Ulbrych <stan at python.org>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerFlags.def
    M compiler-rt/lib/fuzzer/FuzzerLoop.cpp
    M compiler-rt/lib/fuzzer/FuzzerMerge.cpp
    M compiler-rt/test/fuzzer/fuzzer-dirs.test
    M compiler-rt/test/fuzzer/fuzzer-oom-with-profile.test
    M compiler-rt/test/fuzzer/fuzzer-oom.test
    M llvm/docs/LibFuzzer.md

  Log Message:
  -----------
  [libFuzzer] Use uppercase "B" for byte units in output (#220828)

Fixes issue #56766. libFuzzer printed data sizes as "b", "Kb" and "Mb",
which denote bits. Use "B", "KB" and "MB" instead.


  Commit: 72f5694df7b6c9fa94f22468f5cd468d305b9917
      https://github.com/llvm/llvm-project/commit/72f5694df7b6c9fa94f22468f5cd468d305b9917
  Author: Tapiwa Gonga <126596199+tapiwagonga at users.noreply.github.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/docs/dev/code_coverage.md
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/HermeticTestUtils.cpp

  Log Message:
  -----------
  [libc] Enable full-build code coverage (#221802)

Extended LIBC_ENABLE_COVERAGE to support LLVM_LIBC_FULL_BUILD=ON and
added the LIBC_ENABLE_COVERAGE_MCDC CMake option for MC/DC coverage.

This enables developers and CI pipelines to measure source-level and
MC/DC coverage directly on hermetic tests in full-build configurations
without relying on the host C library.

Updated add_libc_hermetic in LLVMLibCTestRules.cmake to link hermetic
tests with -noprofilelib, -u__llvm_profile_runtime, and compiler-rt's
profiling library. Replaced internal entrypoint objects in
link_object_files with public entrypoint objects for the C functions
referenced by libclang_rt.profile.a.

Added calloc and __errno_location to HermeticTestUtils.cpp to satisfy
remaining freestanding profiling runtime dependencies. Updated
libc/docs/dev/code_coverage.md with full-build instructions.

Assisted-by: Automated tooling, human reviewed.


  Commit: 19eb8bf1a5fd01e2bca2c7112b7f393f946d67f4
      https://github.com/llvm/llvm-project/commit/19eb8bf1a5fd01e2bca2c7112b7f393f946d67f4
  Author: Bar Soloveychik <barsolo at meta.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Utility/RegisterValue.h
    M lldb/source/Core/Value.cpp
    M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.cpp
    M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.h
    M lldb/source/Utility/RegisterValue.cpp
    M lldb/source/ValueObject/ValueObjectRegister.cpp
    M lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterVector.py
    M lldb/unittests/Target/RegisterTypeBuilderClangTest.cpp
    M lldb/unittests/Utility/RegisterValueTest.cpp

  Log Message:
  -----------
  [lldb] Expose vector registers through SBValue (#220707)

This is adding GDB remote vector register support.

- Build exact Clang types from parsed vector metadata.
- Use native Clang vectors where valid and arrays where required to
preserve exact layouts.
- Support nested, pointer, boolean, and non-power-of-two vectors.
- Expose vector lanes through `SBValue` children and expression paths.
- Handle typed vector data correctly across target byte orders.
- Add builder, SB API, layout, cache, and big-endian tests.

Example:
```
vector = frame.FindRegister("v0")
vector.GetNumChildren()                              # 4
vector.GetChildAtIndex(2).GetValue()                 # "3.5"
vector.GetValueForExpressionPath("[2]").GetValue()   # "3.5"

v = frame.FindRegister("v0")
print([v.GetChildAtIndex(i).GetValue()
       for i in range(v.GetNumChildren())])
# ['1.5', '2.5', '3.5', '4.5']
```
Structured `register read` output is added separately in patch 5.

---------

Co-authored-by: Bar Soloveychik <barsolo at fb.com>


  Commit: d23678bd45b149107e43eed3d56a02571bafef7f
      https://github.com/llvm/llvm-project/commit/d23678bd45b149107e43eed3d56a02571bafef7f
  Author: Ran Regev <regev.ran at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/lib/AST/DeclPrinter.cpp
    A clang/test/AST/ast-print-decomposition.cpp
    M clang/test/Analysis/anonymous-decls.cpp
    M clang/test/Analysis/cfg.cpp

  Log Message:
  -----------
  [clang] Support DecompositionDecl in -ast-print (#221711)

`DeclPrinter` had no `VisitDecompositionDecl`, so `auto [a, b] = get();`
printed as `auto = get();`, silently dropping the binding list (worse
at namespace scope, where it also produced a stray empty statement per
binding).

Add `DeclPrinter::VisitDecompositionDecl`, printing the full
`type [bindings] = init;` form for all three decomposition kinds
(aggregate/member, array, tuple-like), matching what `VisitVarDecl` does
for an ordinary declaration. Specifier and initializer printing is
shared between the two via two helpers (`printVarDeclSpecifiers`,
`printVarInitializer`) so they can't drift apart.

Each binding prints correctly, including a pack's leading `...` and
per-binding attributes. `BindingDecls` are skipped when walking a
`DeclContext` directly, since each is already printed as part of its
`DecompositionDecl;` a decomposition declaration is likewise kept out of
the tag-declaration grouping in `VisitDeclContext`, which would
otherwise merge it into a preceding `struct S { ... } obj;`.

Assisted-by: AI


  Commit: bdf81254f94e1449ee10e50593df1211f43ba2e1
      https://github.com/llvm/llvm-project/commit/bdf81254f94e1449ee10e50593df1211f43ba2e1
  Author: oltolm <oleg.tolmatcev at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
    M compiler-rt/lib/sanitizer_common/sanitizer_win_thunk_interception.h
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp

  Log Message:
  -----------
  [compiler-rt] Handle weak interfaces with MinGW GCC (#222706)

Windows weak-function emulation uses MSVC linker /alternatename
directives, which GNU ld does not support. Use direct exported
definitions, avoid registering unsupported DLL weak aliases, and
reference UBSan's real C++ implementation.

Co-authored-by: Hannes Domani <ssbssa at yahoo.de>


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

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

  Log Message:
  -----------
  Fix bazel build for FrontendHLSL (#222716)

Fixes #1e6f0cbabe1bce674eadb77814d98e2263823384 by adding missing
dependency.


  Commit: 8c520baeb4ed4f1c8d07f84ce5d5f5922a754bed
      https://github.com/llvm/llvm-project/commit/8c520baeb4ed4f1c8d07f84ce5d5f5922a754bed
  Author: oltolm <oleg.tolmatcev at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M compiler-rt/lib/asan/asan_globals_win.cpp

  Log Message:
  -----------
  [compiler-rt][asan] Include intrin.h for MinGW GCC (#222709)

asan_globals_win.cpp calls __debugbreak in the runtime thunk
configurations. Include MinGW's intrinsic header so the function is
declared when this file is compiled with GCC.

Co-authored-by: Hannes Domani <ssbssa at yahoo.de>


  Commit: bd05ca8ca6da9a275234c59fcb1886505a5958e0
      https://github.com/llvm/llvm-project/commit/bd05ca8ca6da9a275234c59fcb1886505a5958e0
  Author: oltolm <oleg.tolmatcev at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M compiler-rt/lib/asan/asan_globals_win.cpp
    M compiler-rt/lib/asan/asan_win.cpp
    M compiler-rt/lib/asan/asan_win_common_runtime_thunk.h
    M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_win_defs.h

  Log Message:
  -----------
  [compiler-rt] Support GNU section attributes on Windows (#222707)

MSVC and Clang place sanitizer sentinels and CRT callbacks with
__declspec(allocate) after declaring their sections with #pragma
section. MinGW GCC uses the section attribute instead, so select the
appropriate spelling for each compiler.

Co-authored-by: Hannes Domani <ssbssa at yahoo.de>


  Commit: 2d51e69fd09e4bdeeed441c8c5fc256584178c79
      https://github.com/llvm/llvm-project/commit/2d51e69fd09e4bdeeed441c8c5fc256584178c79
  Author: Eugene Epshteyn <eepshteyn at nvidia.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/cmake/modules/CMakeLists.txt
    M mlir/cmake/modules/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Don't reference unexported targets from dependency-only configs (#222630)

#221724 stopped exporting a project's targets file when that project is
enabled only as another project's dependency, but the build-tree
`ClangConfig.cmake` and `MLIRConfig.cmake` still include it
unconditionally. `find_package()` therefore finds the config and fails
inside it:

```
CMake Error at build/lib/cmake/clang/ClangConfig.cmake:19 (include):
  include could not find requested file:
    build/lib/cmake/clang/ClangTargets.cmake
Call Stack (most recent call first):
  CMakeLists.txt:90 (find_package)
```

This breaks any configuration that enables Flang without also enabling
Clang or MLIR explicitly: `runtimes/CMakeLists.txt` calls
`find_package(Clang ...)`, which is deliberately not `REQUIRED` and is
expected to tolerate an unavailable package — but a *half-generated*
package is a hard error rather than a "not found". Concretely,
`-DLLVM_ENABLE_PROJECTS=flang -DLLVM_ENABLE_RUNTIMES=flang-rt` fails at
`runtimes-configure`, which is the configuration premerge uses for
flang-rt changes.

This patch guards the include the same way the export itself is guarded,
so a dependency-only project generates a config without a dangling
include. The install-tree path already handles this through
`get_config_exports_includes()`; only the build-tree path was missed.

MLIR has the same defect and is fixed here too. It is currently latent
only because `runtimes/CMakeLists.txt` calls `find_package(Clang)` and
not `find_package(MLIR)`; a `find_package(MLIR)` against a
dependency-only build tree fails identically at `MLIRConfig.cmake:33`.

Assisted-by: AI


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

  Changed paths:
    M flang-rt/lib/cuda/init.cpp

  Log Message:
  -----------
  [flang][cuda] Drop Mcuda_compiled definition (#222695)


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

  Changed paths:
    M llvm/test/CodeGen/SPIRV/debug-info/debug-type-function-pointer-debug-none-base.ll
    M llvm/test/CodeGen/SPIRV/debug-info/debug-type-pointer.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_blocking_pipes/PipeBlocking.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp-select-untyped-ptr.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-void-call-aggregate-arg.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_kernel_attributes/max_work_group_size.ll

  Log Message:
  -----------
  [NFC][SPIR-V] Fix missing RUN prefix that disabled spirv-val checks (#222609)


  Commit: 4814e098872b365e52401a3ebb64c91b3bd0b90d
      https://github.com/llvm/llvm-project/commit/4814e098872b365e52401a3ebb64c91b3bd0b90d
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/test/CIR/Lowering/fenv.cir
    M clang/test/CIR/Lowering/goto.cir

  Log Message:
  -----------
  [Clang][CIR] Adapt tests post #217277 (#222583)

Adapt tests post #217277. Failing bot:
* https://lab.llvm.org/staging/#/builders/241/builds/13


  Commit: 9974c3864e1ffb5feed8e99d4191084a96d84a09
      https://github.com/llvm/llvm-project/commit/9974c3864e1ffb5feed8e99d4191084a96d84a09
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn

  Log Message:
  -----------
  [gn] port 6fbfc9261c8f453 (#222726)

6fbfc9261c8f453 make c-t-extra/clangd/unittests/DiagnosticsTests.cpp
include clang-tidy-config.h.


  Commit: 7c0969c0842a1b19bcffd8bf3b67a76badb2c431
      https://github.com/llvm/llvm-project/commit/7c0969c0842a1b19bcffd8bf3b67a76badb2c431
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
    M mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Tosa/Transforms/TosaGatherScatterHardening.cpp
    A mlir/test/Dialect/Tosa/tosa-gather-scatter-hardening-invalid.mlir
    A mlir/test/Dialect/Tosa/tosa-gather-scatter-hardening.mlir

  Log Message:
  -----------
  [TOSA] Add pass to sanitize gather/scatter indices (#221200)

Add new TosaGatherScatterHardeningPass TOSA pass to clamp indices before
they are fed to a tosa.gather or tosa.scatter unless a suitable clamp
sequence already exists. This enables avoiding out-of-bounds accesses on
untrusted indices in tosa.gather and tosa.scatter lowering.

The pass fails if the dimension indexed by the indices tensor of any of
the tosa.gather or tosa.scatter is dynamic. The pass supports EXT-INT64
by using the same element type in the clamp min/max sequence as the
indices tensor. In case the indexed dimension is bigger than can be
represented in the element type bitwidth the maximum value in that
bitwidth is used.

Assisted-by: codex
Signed-off-by: Thomas Preud'homme <thomas.preudhomme at arm.com>


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

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/wchar.yaml
    M libc/src/__support/wctype_utils.h
    M libc/src/wchar/CMakeLists.txt
    A libc/src/wchar/wcscasecmp.cpp
    A libc/src/wchar/wcscasecmp.h
    A libc/src/wchar/wcsncasecmp.cpp
    A libc/src/wchar/wcsncasecmp.h
    M libc/test/src/__support/wctype_utils_test.cpp
    M libc/test/src/wchar/CMakeLists.txt
    A libc/test/src/wchar/wcscasecmp_test.cpp
    A libc/test/src/wchar/wcsncasecmp_test.cpp
    M libc/utils/docgen/wchar.yaml

  Log Message:
  -----------
  [libc] Add wcscasecmp and wcsncasecmp implementations. (#222154)

Add a helper to wctype_utils.h for three-way comparison of individual
`wchar_t`s. As is the case in existing code, `wchar_t` is presumed to be
UTF-32.

Assisted-by: Automated tooling, human reviewed.


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/test/BUILD.gn

  Log Message:
  -----------
  [gn] fix mistake from f3909e073dd93f (#222735)


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

  Changed paths:
    M utils/bazel/llvm-project-overlay/flang/lib/Optimizer/HLFIR/Transforms/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel

  Log Message:
  -----------
  Fix bazel builds (#222733)

- For flang/lib/Optimizer/HLFIR/Transforms -- fixes
https://github.com/llvm/llvm-project/pull/222013 by adding missing
dependencies.
- For lldb/source/Plugins:PluginRegisterTypeBuilderClang -- fixes
https://github.com/llvm/llvm-project/pull/220707 by adding missing
dependency


  Commit: 4eae56cc40e02d55d926de8485ad846d74612449
      https://github.com/llvm/llvm-project/commit/4eae56cc40e02d55d926de8485ad846d74612449
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

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

  Log Message:
  -----------
  [gn build] Port 672843a3f2ee (#222740)


  Commit: 30eac2a761a9773f970b539f9ea029c39e88b21a
      https://github.com/llvm/llvm-project/commit/30eac2a761a9773f970b539f9ea029c39e88b21a
  Author: Nico Weber <thakis at chromium.org>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

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

  Log Message:
  -----------
  [gn build] Port 5b757b81db35 (#222739)


  Commit: 93ab99f40d86dead34ccb0d2aa45dfdd06d65cc9
      https://github.com/llvm/llvm-project/commit/93ab99f40d86dead34ccb0d2aa45dfdd06d65cc9
  Author: Konstantin Bogdanov <thevar1able at users.noreply.github.com>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/test/Transforms/LoopIdiom/X86/ctlz.ll
    M llvm/test/Transforms/PhaseOrdering/X86/ctlz-loop.ll

  Log Message:
  -----------
  [LoopIdiom] Recognize the ctlz/cttz idiom when the input is known non-zero (#222373)

LoopIdiomRecognize converts a shift-until-zero loop to `ctlz`/`cttz`.
When the loop uses the count outside the loop, it needs a zero check of
the input before the loop. Without the check, the inputs 0 and 1 give
the same count. The recognizer stops when the check is not present.

The check is not necessary when the input is known non-zero. InstCombine
can remove the check for such inputs. Then the recognizer does not
convert the loop. This happens in `sbc_calc_scalefactors` from ffmpeg
with #222334: the input is an or reduction that starts at 32768, so it
is never zero, and the loop stays a loop.

This patch makes the recognizer accept a known non-zero input in place
of the zero check. The conversion is exact in this case.

`ctlz-loop.ll` in PhaseOrdering had a FIXME for a loop over `abs(n)`.
The recognizer now converts that loop too.

For the ffmpeg case, `isKnownNonZero` must also see that an or
recurrence with a non-zero start is non-zero. That change goes into
#222334.


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 1e6f0cbabe1b (#222738)


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/tools/llc/BUILD.gn

  Log Message:
  -----------
  [gn build] Port c86292488b86 (#222741)


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

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

  Log Message:
  -----------
  Fix bazel build for libc:__support_wctype_utils (#222743)

Fixes https://github.com/llvm/llvm-project/pull/222154 (commit
e47d10f55719cb5bc7dac81d49277938813b5ee4) by adding missing dependency.


  Commit: b686fb567fa4baeb810b0ae184811415daae68a1
      https://github.com/llvm/llvm-project/commit/b686fb567fa4baeb810b0ae184811415daae68a1
  Author: Aditya Medhane <sherlockedaditya at gmail.com>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M clang/docs/ReleaseNotes.md
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/SemaCXX/delete-non-virtual-dtor.cpp

  Log Message:
  -----------
  [clang][Sema] Don't warn about non-virtual destructors on destroying delete (#222047)

A destroying `operator delete `takes over destruction, so the delete
expression never invokes the destructor and
[[expr.delete]p3](https://eel.is/c++draft/expr.delete#3) carves it out.
Skip `CheckVirtualDtorCall` when the selected deallocation function is
destroying. `::delete` and `delete[]` keep warning.

Fixes #65524


  Commit: 26609f5b95679e02d2373a7c97ff811872a4b505
      https://github.com/llvm/llvm-project/commit/26609f5b95679e02d2373a7c97ff811872a4b505
  Author: Ehsan Amiri <ehsan.amiri at huawei.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    A llvm/test/Transforms/SimpleLoopUnswitch/pr219510.ll

  Log Message:
  -----------
  [SimpleLoopUnswitch] Fix bug in partially invariant unswitching (#222118)

Partial invariant unswitching can potentially hoist a load from header
to the preheader of the loop. If a potentially no-return function call
exists in the loop header before the load instruction, the
transformation is still performed, but this is not correct.


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

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/memchr-11.ll
    M llvm/test/Transforms/InstCombine/memchr-2.ll
    M llvm/test/Transforms/InstCombine/memchr-3.ll
    M llvm/test/Transforms/InstCombine/memchr-6.ll
    M llvm/test/Transforms/InstCombine/memchr.ll
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  [SimplifyLibCalls] Explicitly annotate memchr selects (#222734)

SimplifyLibCalls creates a variety of selects when optimizing calls to
memchr. Explicitly annotate them as unknown as the conditions always
depend on a non-constant parameter to memchr with which we cannot infer
probability information without value profile data.


  Commit: 1db5b9c26f5c153244e7617ad95ef140a1bdd2a0
      https://github.com/llvm/llvm-project/commit/1db5b9c26f5c153244e7617ad95ef140a1bdd2a0
  Author: SharonXSharon <xiaoranxu.nju at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    A compiler-rt/test/sanitizer_common/TestCases/Linux/opendir_null.cpp
    R compiler-rt/test/sanitizer_common/TestCases/Posix/opendir_null.cpp

  Log Message:
  -----------
  [sanitizer] Address opendir interceptor test review comments (#222732)

Address comments on https://github.com/llvm/llvm-project/pull/221309 
Move `opendir_null.cpp` to the `Linux` tests, convert the `LD_PRELOAD`
shim from `C++` to `C`, and simplify the null path construction.

Co-authored-by: Sharon Xu <sharonxu at fb.com>


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

  Changed paths:
    M llvm/include/llvm/IR/ConstantRange.h
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    A llvm/test/Transforms/CorrelatedValuePropagation/or-disjoint.ll
    A llvm/test/Transforms/SCCP/or-disjoint.ll
    M llvm/unittests/IR/ConstantRangeTest.cpp

  Log Message:
  -----------
  [ConstantRange] Add binaryOp supporting 'or disjoint'. (#222573)

Promote logic from https://github.com/llvm/llvm-project/pull/221832 to
ConstantRange::binaryOp so it can also be re-used from SCCP.

This enables a few additional folds & flag inference end-to-end:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1227

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


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

  Changed paths:
    M clang/tools/cir-lsp-server/CMakeLists.txt
    M clang/tools/cir-lsp-server/cir-lsp-server.cpp

  Log Message:
  -----------
  [CIR][NFC] Reduce the dialects referenced by cir-lsp-server to minimum (#222131)

This is 1 of 2 patches that build on the work of others, and reduces the
list of dialects to just those in CIR + a handful of others. Between
this, 1 other commit, and the existing patches proposed by others, we
reduce the 'overhead' of the CIR build to +30%.

AI Disclaimer: Claude came up with this and the list. I'm not sure it is
correct, but we pass all tests.


  Commit: db5421adfa1d8984bf0015ded33d12f9bbfbe80f
      https://github.com/llvm/llvm-project/commit/db5421adfa1d8984bf0015ded33d12f9bbfbe80f
  Author: ThePo1es <choijinbeom9 at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/sys/stat.yaml
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/umask.h
    M libc/src/sys/stat/CMakeLists.txt
    M libc/src/sys/stat/linux/CMakeLists.txt
    A libc/src/sys/stat/linux/umask.cpp
    A libc/src/sys/stat/umask.h
    M libc/test/src/sys/stat/CMakeLists.txt
    A libc/test/src/sys/stat/umask_test.cpp

  Log Message:
  -----------
  [libc] Implement umask (#222499)

Implement the POSIX umask() entrypoint for Linux and register it for
aarch64, riscv and x86_64. umask cannot fail, so the syscall wrapper
returns mode_t directly and the entrypoint does not touch errno.

Fixes #220759

Assisted-by: Claude Code

---------

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


  Commit: 78d1301c0ffda9d2a1ebcbc90ed60ed3f0a4f04d
      https://github.com/llvm/llvm-project/commit/78d1301c0ffda9d2a1ebcbc90ed60ed3f0a4f04d
  Author: Oliver Old <mail at oold.dev>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/utils/release/build_llvm_release.bat

  Log Message:
  -----------
  [llvm][release] Update package versions in the Windows release script (#215749)

- Upgrade LibXML2 to version 2.15.3
- Fix clang-cl/lld-link check never failing
- Fix PYTHONHOME detection failing if no `head` utility is installed
- Fix PYTHONHOME detection failing for Python Manager-installed Python

Fixes #207197.
Fixes #215138.


  Commit: 8ed9cadeb6224ca3818f4277935aca31a6c73609
      https://github.com/llvm/llvm-project/commit/8ed9cadeb6224ca3818f4277935aca31a6c73609
  Author: Jeong Jihyeon <84846295+JihyeonJeong129 at users.noreply.github.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/stdio.yaml
    M libc/src/stdio/CMakeLists.txt
    A libc/src/stdio/fmemopen.cpp
    A libc/src/stdio/fmemopen.h
    M libc/test/src/stdio/CMakeLists.txt
    A libc/test/src/stdio/fmemopen_test.cpp

  Log Message:
  -----------
  [libc] Implement fmemopen (#221748)

Implement the POSIX `fmemopen` function.

### Validation
- Ran `ninja -C build-libc -j8 libc_stdio_unittests`.
- Ran `ninja -C build-libc -j8 check-libc`.

Fixes #220762


  Commit: 5b6710a6cc6cca5f182a3fc4f12ce82fd2646c6e
      https://github.com/llvm/llvm-project/commit/5b6710a6cc6cca5f182a3fc4f12ce82fd2646c6e
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M clang/test/CIR/Transforms/abi-lowering/x86_64-struct-direct-offset.cir

  Log Message:
  -----------
  [CIR] Fix a dependency problem in ABI test (#222717)

A recent change removed mlir-translate as a dependency of CIR and
changed tests to use cir-translate instead. One test was committed after
that change and missed the update.


  Commit: be9584e0dfc480193fa47645b302f630f41fb772
      https://github.com/llvm/llvm-project/commit/be9584e0dfc480193fa47645b302f630f41fb772
  Author: Dan Blackwell <dan_blackwell at apple.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M compiler-rt/test/tsan/Darwin/write-interpose.c

  Log Message:
  -----------
  [TSan][Darwin][Test-only] Fix crash in write-interpose.c test (#222656)

Due to this test running with verbosity turned up, an early 'Report'
happened to get caught by the test's write interceptor, and on newer
macOS versions the interceptor's call to printf was attempting to
allocate before the allocator was initialized - leading to a crash.

This patch instead uses snprintf to a stack allocated buffer in order to
avoid allocating in the interceptor.

rdar://184804426


  Commit: c5a4e6d87b7dcde64e1a2f4422e1eeccb0d4a509
      https://github.com/llvm/llvm-project/commit/c5a4e6d87b7dcde64e1a2f4422e1eeccb0d4a509
  Author: SiHuaN <liyongtai at iscas.ac.cn>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    M clang/lib/Headers/riscv_packed_simd.h
    M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
    M llvm/test/CodeGen/RISCV/rvp-simd-64.ll

  Log Message:
  -----------
  [RISCV][P-ext] Add packed multiply-parts accumulate intrinsics (#222571)

Support the RISC-V P packed multiply-parts accumulate instructions, which
add selected products into `rd`.

The intrinsics lower to dedicated `PMACC_HALVES_*` SelectionDAG nodes
rather than an `add` of plain products, ensuring instruction selection
does not depend on DAGCombine folding. On RV32, the word forms
accumulate into a GPR pair via new `WMACC`, `WMACCU`, and `WMACCSU`
nodes.

Also add corresponding Clang builtins and wrappers in
`riscv_packed_simd.h`.

Spec:
https://github.com/riscv/riscv-p-spec/blob/master/P-ext-intrinsics.adoc#packed-multiply-parts-accumulate


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/induction-cost.ll

  Log Message:
  -----------
  [VPlan] Use VPlan-based costs for scalarized FP inductions. (#222442)

Continue the migration of induction costs to be VPlan-based by dropping
the legacy fallback in precomputeCosts for FP inductions. Widened FP
inductions were already costed by VPWidenIntOrFpInductionRecipe; the
missing piece is the scalarized form. Extend both VPDerivedIVRecipe and
VPScalarIVStepsRecipe to support FP inductions.

This also removes WidenedIVs, which becomes dead: it is only ever filled
from VPWidenIntOrFpInductionRecipe, and the legacy path now only sees
pointer inductions.

The new cost numbers should be more accurate, taking into account the
int->fp conversion cost, plus FMul and FAdds we generate.

Checking if FAdd/FMul can be folded requires a few additional checks (in
particluar the FAdd requires -0.0 to fold, FMul needs 1.0,
https://alive2.llvm.org/ce/z/g_khUS). Currently we do not yet carry
fast-math flags on the VPDerivedIVRecipes, so those are not considered
for now. The difference should be negligable in practice.

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


  Commit: 3d9b5d0d0f0a7affd4a5cd34523c60647b9164dc
      https://github.com/llvm/llvm-project/commit/3d9b5d0d0f0a7affd4a5cd34523c60647b9164dc
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Dialect/LLVMIR/invalid.mlir

  Log Message:
  -----------
  [mlir][LLVM] Prevent vector bit-width overflow (#220898)

Compute vector bit widths from the rank-one MLIR dimension and saturate
the 64-bit product. Otherwise, large dimensions can overflow the
multiplication or be truncated by ElementCount and bypass the 2^17-bit
verifier limit.

Add regression coverage for both vector.insert and vector.extract.
Before the fix, the oversized vector.insert case was accepted and its
expected diagnostic was not produced.

Found by Coverity.

Assisted-by: Codex


  Commit: 56d496fa86a8fd4be06b459c278753b4660f42d6
      https://github.com/llvm/llvm-project/commit/56d496fa86a8fd4be06b459c278753b4660f42d6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/unittests/TargetParser/RISCVTargetParserTest.cpp

  Log Message:
  -----------
  [RISCV] Remove TuneHasSingleElementVecFP64 has a configurable tune feature for sifive-x180. (#222496)

X180 is a DLEN=64 CPU with 1 vector ALU. By definition it is always
single element FP64.


  Commit: 7d7238007b1f09bf7d4a91115173a996f7758fb1
      https://github.com/llvm/llvm-project/commit/7d7238007b1f09bf7d4a91115173a996f7758fb1
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M offload/ci/openmp-offload-amdgpu-clang-flang.py

  Log Message:
  -----------
  [Offload] Fix AMDGPU clang/flang buildbot config (#222761)

It appears that this buildbot was misconfigured for quite some time and
not quite running the way it should have been running.

This patch should address the issue of CMake not being able to split the
two paths for the additional cache files at the ';' and thus, not
picking them up correctly.

A local test build succeeded after this fix.


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

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    A flang/test/Fir/call-properties.fir
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/TableGen/Operator.h
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
    M mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
    M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
    M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
    M mlir/lib/Conversion/MathToXeVM/MathToXeVM.cpp
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Conversion/RaiseWasm/RaiseWasmMLIR.cpp
    M mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
    M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
    M mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
    M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
    M mlir/lib/Dialect/Arith/Transforms/UnsignedWhenEquivalent.cpp
    M mlir/lib/Dialect/Arith/Utils/Utils.cpp
    M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Math/Transforms/ExtendToSupportedTypes.cpp
    M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaNarrowTypes.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
    M mlir/lib/TableGen/Operator.cpp
    M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
    M mlir/lib/Tools/PDLL/CodeGen/MLIRGen.cpp
    A mlir/test/Conversion/FuncToLLVM/call-attributes.mlir
    M mlir/test/Conversion/SPIRVToLLVM/constant-op-to-llvm.mlir
    M mlir/test/Dialect/SPIRV/IR/target-env.mlir
    M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32.mlir
    M mlir/test/Target/SPIRV/memory-ops.mlir
    M mlir/test/lib/Dialect/SPIRV/TestAvailability.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/mlir-tblgen/op-decl-and-defs.td
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
    M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
    M mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp
    M mlir/unittests/Dialect/OpenACC/OpenACCUtilsLoopTest.cpp
    M mlir/unittests/Dialect/OpenACC/OpenACCUtilsTest.cpp
    M mlir/unittests/TableGen/OpBuildGen.cpp

  Log Message:
  -----------
  [mlir] Migrate aggregate builders to explicit properties (#219195)

Pass typed property structs and discardable attributes separately at ODS
aggregate builder call sites.

This is part of a general migration to use the "new" properties-based
APIs #155475

Assisted-by: Codex


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

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp

  Log Message:
  -----------
  [mlir][bufferization] Expose checkPreBufferizationAssumptions helper (#221302)

Downstream users of bufferization may want to run this check without
invoking the entire one-shot module analysis. If the check is not run
and invalid IR is encountered, OneShotBufferize tends to crash rather
than emitting a nice error message.

This patch simply exposes `checkPreBufferizationAssumptions` to the
header file so it is accessible to other users.


  Commit: 041300fa05151b3819478f33daa4384922b4b74e
      https://github.com/llvm/llvm-project/commit/041300fa05151b3819478f33daa4384922b4b74e
  Author: Kacper Fiedorowicz <kacper at mail.openlinux.dev>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M libc/config/darwin/aarch64/entrypoints.txt
    M libc/config/darwin/aarch64/headers.txt
    M libc/include/llvm-libc-macros/darwin/CMakeLists.txt
    A libc/include/llvm-libc-macros/darwin/signal-macros.h
    M libc/include/llvm-libc-macros/signal-macros.h
    M libc/include/llvm-libc-types/__jmp_buf.h
    M libc/include/llvm-libc-types/fenv_t.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
    M libc/src/__support/OSUtil/darwin/CMakeLists.txt
    A libc/src/__support/OSUtil/darwin/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/darwin/syscall_wrappers/sigprocmask.h
    M libc/src/setjmp/aarch64/sigsetjmp.cpp
    M libc/src/setjmp/darwin/CMakeLists.txt
    M libc/src/setjmp/darwin/sigsetjmp_epilogue.cpp
    M libc/src/setjmp/longjmp.h
    M libc/src/setjmp/setjmp_impl.h
    A libc/src/signal/darwin/CMakeLists.txt
    A libc/src/signal/darwin/sigaddset.cpp
    A libc/src/signal/darwin/sigdelset.cpp
    A libc/src/signal/darwin/sigemptyset.cpp
    A libc/src/signal/darwin/sigfillset.cpp
    A libc/src/signal/darwin/sigprocmask.cpp
    M libc/test/UnitTest/FEnvSafeTest.cpp
    A libc/test/src/__support/OSUtil/darwin/CMakeLists.txt
    A libc/test/src/__support/OSUtil/darwin/sigprocmask_test.cpp
    M libc/test/src/signal/sigaddset_test.cpp
    M libc/test/src/signal/sigprocmask_test.cpp

  Log Message:
  -----------
  [libc] Fix Darwin aarch64 fenv and sigsetjmp build support (#192079)

This patch fixes Darwin aarch64 build failures in libc around fenv and
sigsetjmp support.

Before this change, the Darwin aarch64 fenv implementation did not match
the public fenv_t layout and referenced several Darwin-specific
exception/control bits that were not defined in llvm-libc. This caused
libc builds to fail in fenv_darwin_impl.h with a sizeof(fenv_t) vs.
internal-state mismatch and multiple undeclared-identifier errors for
FE_FLUSHTOZERO and the FPCR trap/flush bits.

This patch fixes that by updating the internal Darwin aarch64
floating-point state layout to match fenv_t, defining the missing Darwin
FPCR bit values used by the implementation, and handling the
flush-to-zero exception bit consistently.

The patch also fixes the Darwin sigsetjmp path by enabling sigjmp_buf
support on Apple targets, adding the Darwin signal pieces needed by that
path (sigaddset, sigdelset, sigemptyset, sigfillset, sigprocmask, plus
Darwin signal macros), and updating the aarch64 sigsetjmp inline
assembly to branch through a local label before jumping to setjmp,
avoiding an assembler error from using cbz with an external symbol
target.


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

  Changed paths:
    M libc/test/UnitTest/CMakeLists.txt
    A libc/test/UnitTest/CharLiteralUtils.h
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/LibcTest.h
    M libc/test/src/__support/CPP/CMakeLists.txt
    M libc/test/src/__support/CPP/stringview_test.cpp
    M libc/test/src/__support/printf_core/CMakeLists.txt
    M libc/test/src/__support/printf_core/writer_test.cpp

  Log Message:
  -----------
  [libc] Parameterize printf_core::Writer test to cover wchar_t. (#222744)

This is a follow-up to #220669, which did the initial refactor of
`printf_core::Writer` enabling the `CharT` template parameter.

Move the helper for selecting character literals added in #203355 out of
stringview_test into a util header library.

Assisted-by: Automated tooling, human reviewed.


  Commit: 240b9213c8d6dfa8a089267212bcf3964731746e
      https://github.com/llvm/llvm-project/commit/240b9213c8d6dfa8a089267212bcf3964731746e
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUDialect.h
    A mlir/include/mlir/Dialect/NVGPU/IR/NVGPUDialectDecl.h
    M mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp
    M mlir/lib/RegisterAllDialects.cpp
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [mlir][NVGPU] Split out the dialect declaration to improve build time (NFC) (#222767)

Move NVGPUDialect to a self-contained declaration header and use it in
three consumers that do not need generated NVGPU operations.

Median instructions fell from 221.225B to 166.874B (-24.568%) and wall
time from 34.31s to 25.61s (-25.357%).

Assisted-by: Codex


  Commit: 00b8327d38e533068f78e5e8170e1c3ea4ef094a
      https://github.com/llvm/llvm-project/commit/00b8327d38e533068f78e5e8170e1c3ea4ef094a
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/Tensor/IR/Tensor.h
    A mlir/include/mlir/Dialect/Tensor/IR/TensorDialect.h
    M mlir/lib/CAPI/Dialect/Tensor.cpp
    M mlir/lib/Conversion/TosaToSCF/TosaToSCFPass.cpp

  Log Message:
  -----------
  [mlir][Tensor] Split out the dialect declaration to improve build time (NFC) (#222781)

Move TensorDialect to a self-contained declaration header and use it in
the two consumers that only need the dialect class.

Across three controlled rebuilds of the affected TUs, median
instructions fell from 25.499B to 21.072B (-17.363%) and median wall
time fell from 3.55s to 2.81s (-20.845%).

Assisted-by: Codex


  Commit: 50026fd902b58e6ccee33786a3a3138fbb7b0dce
      https://github.com/llvm/llvm-project/commit/50026fd902b58e6ccee33786a3a3138fbb7b0dce
  Author: Iasonas Karaprodromidis <iaskarapro at gmail.com>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M lldb/include/lldb/lldb-forward.h
    M lldb/source/Plugins/TypeSystem/CMakeLists.txt
    A lldb/source/Plugins/TypeSystem/Fortran/CMakeLists.txt
    A lldb/source/Plugins/TypeSystem/Fortran/TypeSystemFortran.cpp
    A lldb/source/Plugins/TypeSystem/Fortran/TypeSystemFortran.h

  Log Message:
  -----------
  [lldb][Fortran] Add TypeSystemFortran files (#218016)

This PR adds the foundational TypeSystemFortran class. To satisfy the
compiler, it implements all required pure virtual functions from the
base TypeSystem class as stubs (returning nullptr or 0).

Changes:

- Adds the TypeSystemFortran class.
- Provides stub implementations for all inherited pure virtual
functions.

Part of the Add Fortran support to LLDB GSoC 2026 project.

Relates to #109119.


  Commit: 9d399869e907ff2ed44da3b12d2d97a6a918547b
      https://github.com/llvm/llvm-project/commit/9d399869e907ff2ed44da3b12d2d97a6a918547b
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
    A mlir/include/mlir/Dialect/LLVMIR/LLVMDialectDecl.h
    M mlir/lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp
    M mlir/lib/Conversion/LLVMCommon/ConversionTarget.cpp
    M mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
    M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
    M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
    M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVMPass.cpp
    M mlir/lib/Dialect/Func/TransformOps/FuncTransformOps.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
    M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
    M mlir/test/lib/Conversion/MemRefToLLVM/TestMemRefToLLVMWithTransforms.cpp
    M mlir/test/lib/Dialect/ControlFlow/TestAssert.cpp
    M mlir/test/lib/Dialect/LLVM/TestPatterns.cpp

  Log Message:
  -----------
  [mlir][LLVM] Split out the dialect declaration (NFC) (#222782)

Move LLVMDialect to a declaration header that retains its attribute and
type API but excludes generated operation classes. This narrows 12
dialect-only consumers.

Across three controlled rebuilds of the affected TUs, median
instructions fell from 207.570B to 176.073B (-15.174%) and median wall
time fell from 30.72s to 25.52s (-16.927%).

Assisted-by: Codex


  Commit: 795c3cab959f7bbe330ecec84833f3e4e227d714
      https://github.com/llvm/llvm-project/commit/795c3cab959f7bbe330ecec84833f3e4e227d714
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h
    A mlir/include/mlir/Dialect/LLVMIR/NVVMDialectDecl.h
    M mlir/lib/CAPI/Dialect/NVVM.cpp
    M mlir/lib/Conversion/MathToNVVM/MathToNVVM.cpp
    M mlir/lib/Conversion/NVVMToLLVM/NVVMToLLVM.cpp
    M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
    M mlir/lib/RegisterAllDialects.cpp

  Log Message:
  -----------
  [mlir][NVVM] Split out the dialect declaration to improve build time (NFC) (#222783)

Move NVVMDialect to a self-contained declaration header and use it in
five consumers that do not need generated NVVM operations.

Across three controlled rebuilds of the affected TUs, median
instructions fell from 215.791B to 161.538B (-25.141%) and median wall
time fell from 33.40s to 24.66s (-26.168%).

Assisted-by: Codex


  Commit: 40d4395bb229bd827108bfae196bc79f6c340695
      https://github.com/llvm/llvm-project/commit/40d4395bb229bd827108bfae196bc79f6c340695
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/examples/standalone/standalone-opt/standalone-opt.cpp
    M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
    M mlir/include/mlir/Conversion/ComplexCommon/DivisionConverter.h
    M mlir/include/mlir/Dialect/Affine/Analysis/AffineAnalysis.h
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
    M mlir/include/mlir/Dialect/Arith/IR/Arith.h
    A mlir/include/mlir/Dialect/Arith/IR/ArithAttributes.h
    A mlir/include/mlir/Dialect/Arith/IR/ArithDialect.h
    A mlir/include/mlir/Dialect/Arith/IR/ArithOpInterfaces.h
    M mlir/include/mlir/Dialect/Complex/IR/Complex.h
    M mlir/include/mlir/Dialect/GPU/Utils/DistributionUtils.h
    M mlir/include/mlir/Dialect/Math/IR/Math.h
    M mlir/include/mlir/Dialect/MemRef/IR/MemRef.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsReduction.h
    M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.h
    M mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.h
    M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
    M mlir/lib/CAPI/Dialect/Arith.cpp
    M mlir/lib/Conversion/ArithAndMathToAPFloat/MathToAPFloat.cpp
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitCPass.cpp
    M mlir/lib/Conversion/ComplexCommon/DivisionConverter.cpp
    M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
    M mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
    M mlir/lib/Conversion/MathToXeVM/MathToXeVM.cpp
    M mlir/lib/Conversion/TosaToArith/TosaToArithPass.cpp
    M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
    M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Dialect/Shape/Transforms/ShapeToShapeLowering.cpp
    M mlir/test/lib/Transforms/TestTransformsOps.cpp
    M mlir/unittests/Interfaces/InferTypeOpInterfaceTest.cpp

  Log Message:
  -----------
  [mlir][Arith] Split dialect and support declarations to improve build time (NFC) (#222784)

Expose the Arith dialect, attributes, and interfaces without importing
generated operation classes. This lets registration and support-only
users avoid parsing the operation umbrella and its dependencies.

Across three controlled serial rebuilds of five dialect-only TUs, median
instructions fell from 49.429B to 39.665B (-19.755%) and wall time fell
from 7.40s to 5.85s (-20.946%). Across three -j16 rebuilds of 97 support
users, instructions fell from 1,686.265B to 1,531.867B (-9.156%) and
wall time fell from 29.17s to 28.07s (-3.771%).

Assisted-by: Codex


  Commit: cdc2b9445ae4f2c2f9ba19cba2cf249d1fbd2faa
      https://github.com/llvm/llvm-project/commit/cdc2b9445ae4f2c2f9ba19cba2cf249d1fbd2faa
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/hdr/CMakeLists.txt
    A libc/hdr/sys_file_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-file-macros.h
    A libc/include/llvm-libc-macros/sys-file-macros.h
    A libc/include/sys/file.yaml
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    A libc/src/__support/OSUtil/linux/syscall_wrappers/flock.h
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/file/CMakeLists.txt
    A libc/src/sys/file/flock.h
    A libc/src/sys/file/linux/CMakeLists.txt
    A libc/src/sys/file/linux/flock.cpp
    M libc/test/src/sys/CMakeLists.txt
    A libc/test/src/sys/file/CMakeLists.txt
    A libc/test/src/sys/file/linux/CMakeLists.txt
    A libc/test/src/sys/file/linux/flock_test.cpp

  Log Message:
  -----------
  [libc] Add sys/file.h and flock function. (#222737)

`flock` is a BSD function that manages advisory locks on opened files
(see https://man7.org/linux/man-pages/man2/flock.2.html)

It has enough differences from `fcntl`-based locking mechanism, and is
provided and used on Linux platforms.

* Add `<sys/file.h>` public header on Linux platforms with `flock`
declaration
  and proper macro used for `op` function argument.
* Provide a Linux implementation, which is a simple syscall wrapper
around
  `SYS_flock` syscall.

Assisted by: automated tooling, human-reviewed


  Commit: 1e9bc138d8f3b097dd8bd343f8b325f7e1830796
      https://github.com/llvm/llvm-project/commit/1e9bc138d8f3b097dd8bd343f8b325f7e1830796
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp

  Log Message:
  -----------
  [mlir][Tosa] Optimize compliance initialization for size to improve build time (NFC) (#222791)

The compliance-map constructor includes a 4,920-line generated
initializer. Mark it minsize because it runs only when creating the
validation pass and optimizing this single large function at -O3 is
expensive.

LLVM pass timing attributes most of the saving to code generation.
Greedy register allocation fell from 7.070s to 1.348s as global
live-range splitting fell from 6.403s to 0.021s after the constructor
became 47.6% smaller.

Across five controlled rebuilds of the affected TU, median instructions
fell from 205.087B to 66.157B (-67.742%) and median wall time fell from
19.83s to 7.95s (-59.909%).

Assisted-by: Codex


  Commit: 65b48e45ea94568ced6d1c5d93d58f55d9e2da62
      https://github.com/llvm/llvm-project/commit/65b48e45ea94568ced6d1c5d93d58f55d9e2da62
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    A mlir/include/mlir/Dialect/Affine/IR/AffineDialect.h
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
    M mlir/lib/CAPI/Dialect/Affine.cpp
    M mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
    M mlir/lib/Conversion/ShardToMPI/ShardToMPI.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/DialectExtension.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp
    M mlir/lib/RegisterAllDialects.cpp
    M mlir/test/lib/Analysis/DataFlow/TestIntegerDivisibilityAnalysis.cpp
    M mlir/test/lib/Dialect/Affine/TestLoopMapping.cpp
    M mlir/test/lib/Dialect/GPU/TestGpuMemoryPromotion.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgDecomposeOps.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgRankReduceContractionOps.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
    M mlir/test/lib/Dialect/Linalg/TestPadFusion.cpp
    M mlir/test/lib/Dialect/MemRef/TestComposeSubView.cpp
    M mlir/test/lib/Dialect/MemRef/TestEmulateNarrowType.cpp
    M mlir/test/lib/Dialect/MemRef/TestMultiBuffer.cpp
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
    M mlir/unittests/Dialect/OpenACC/OpenACCUtilsLoopTest.cpp

  Log Message:
  -----------
  [mlir][Affine] Split out the dialect declaration to improve build time (NFC) (#222766)

Move AffineDialect to a self-contained declaration header and narrow 23
callers that only register or reference the dialect class.

Median instructions fell from 700.601B to 681.315B (-2.753%) and wall
time from 107.36s to 104.17s (-2.971%).

Assisted-by: Codex


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

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/Linalg.h
    A mlir/include/mlir/Dialect/Linalg/IR/LinalgDialect.h
    M mlir/lib/Conversion/TensorToLinalg/TensorToLinalgPass.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
    M mlir/lib/RegisterAllDialects.cpp
    M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp

  Log Message:
  -----------
  [mlir][Linalg] Split the dialect declaration to improve build time (NFC) (#222795)

Introduce a self-contained dialect declaration and use it in five
consumers that need registration but not the generated operation
umbrella.

Across three controlled rebuilds of the affected TUs, median
instructions fell from 130.162B to 114.154B (-12.298%) and median wall
time fell from 20.30s to 17.85s (-12.069%).

Assisted-by: Codex


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

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.h
    A mlir/include/mlir/Dialect/LLVMIR/ROCDLDialectDecl.h
    M mlir/lib/CAPI/Dialect/ROCDL.cpp
    M mlir/lib/RegisterAllDialects.cpp
    M mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp

  Log Message:
  -----------
  [mlir][ROCDL] Split the dialect declaration to improve build time (NFC) (#222794)

Introduce a self-contained dialect declaration and use it in three
consumers that need registration but not the generated operation
umbrella.

Across three controlled rebuilds of the affected TUs, median
instructions fell from 129.372B to 111.587B (-13.748%) and median wall
time fell from 20.62s to 17.72s (-14.064%).

Assisted-by: Codex


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

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUDialect.h
    A mlir/include/mlir/Dialect/GPU/IR/GPUDialectDecl.h
    M mlir/lib/Dialect/Linalg/TransformOps/DialectExtension.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp

  Log Message:
  -----------
  [mlir][GPU] Split the dialect declaration to improve build time (NFC) (#222798)

Introduce a self-contained dialect declaration and use it in two
consumers that need registration but not the generated operation
umbrella.

Across three controlled rebuilds of the affected TUs, median
instructions fell from 82.473B to 75.865B (-8.012%) and median wall time
fell from 12.51s to 11.34s (-9.353%).

Assisted-by: Codex


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

  Changed paths:
    A mlir/include/mlir/Dialect/Vector/IR/VectorDialect.h
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
    M mlir/lib/CAPI/Dialect/Vector.cpp
    M mlir/lib/Conversion/MathToNVVM/MathToNVVM.cpp
    M mlir/lib/Dialect/Affine/TransformOps/AffineTransformOps.cpp
    M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/DialectExtension.cpp
    M mlir/lib/Dialect/MemRef/Transforms/EmulateWideInt.cpp
    M mlir/test/lib/Conversion/VectorToSPIRV/TestVectorReductionToSPIRVDotProd.cpp
    M mlir/test/lib/Dialect/Arith/TestEmulateWideInt.cpp
    M mlir/test/lib/Dialect/Math/TestAlgebraicSimplification.cpp
    M mlir/test/lib/Dialect/Math/TestPolynomialApproximation.cpp

  Log Message:
  -----------
  [mlir][Vector] Split the dialect declaration to improve build time (NFC) (#222799)

Introduce a self-contained dialect declaration and use it in ten
consumers that need registration but not the generated operation
umbrella.

Across three controlled rebuilds of the affected TUs, median
instructions fell from 209.277B to 192.946B (-7.804%) and median wall
time fell from 31.94s to 29.26s (-8.391%).

Assisted-by: Codex


  Commit: 3d847b85849d88b65156fd7c252df81b322ccaf1
      https://github.com/llvm/llvm-project/commit/3d847b85849d88b65156fd7c252df81b322ccaf1
  Author: Alexis Perry-Holby <aperry at lanl.gov>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    A flang/docs/MeetingNotes/2026/2026-09-09.md

  Log Message:
  -----------
  [flang] Add notes for Sept. 9 Flang Community Call (#222436)

Co-authored-by: Eugene Epshteyn <eepshteyn at nvidia.com>


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

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

  Log Message:
  -----------
  [Bazel] Fixes f1706d3 (#222779)

This fixes f1706d38f8271adfc5105ddf9b2dcc1573ebfa85 (#222744).

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

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


  Commit: 5d1b4094534c7a7c041882380603ee0927e27082
      https://github.com/llvm/llvm-project/commit/5d1b4094534c7a7c041882380603ee0927e27082
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/IR/MemRef.h
    A mlir/include/mlir/Dialect/MemRef/IR/MemRefDialect.h
    M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
    M mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
    M mlir/lib/RegisterAllDialects.cpp
    M mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
    M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
    M mlir/test/lib/Dialect/GPU/TestGpuMemoryPromotion.cpp
    M mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp
    M mlir/test/lib/Dialect/OpenACC/TestOpenACCSupport.cpp
    M mlir/test/lib/Dialect/OpenACC/TestPointerLikeTypeInterface.cpp
    M mlir/test/lib/Dialect/OpenACC/TestRecipePopulate.cpp
    M mlir/unittests/Dialect/OpenACC/OpenACCUtilsCGTest.cpp
    M mlir/unittests/Dialect/OpenACC/OpenACCUtilsLoopTest.cpp
    M mlir/unittests/Dialect/OpenACC/OpenACCUtilsTilingTest.cpp

  Log Message:
  -----------
  [mlir][MemRef] Split the dialect declaration to improve build time (NFC) (#222801)

Introduce a self-contained dialect declaration and use it in thirteen
consumers that need registration but not the generated operation
umbrella.

Across three controlled rebuilds of the affected TUs, median
instructions fell from 296.237B to 278.383B (-6.027%) and median wall
time fell from 47.57s to 44.50s (-6.454%).

Assisted-by: Codex


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

  Changed paths:
    M clang/lib/CodeGen/QualTypeMapper.cpp
    M clang/lib/CodeGen/QualTypeMapper.h
    M clang/unittests/CodeGen/CMakeLists.txt
    A clang/unittests/CodeGen/QualTypeMapperTest.cpp
    M llvm/include/llvm/ABI/IRTypeMapper.h
    M llvm/include/llvm/ABI/Types.h
    M llvm/lib/ABI/IRTypeMapper.cpp
    M llvm/unittests/ABI/CMakeLists.txt
    A llvm/unittests/ABI/IRTypeMapperTest.cpp
    M llvm/unittests/ABI/TypesTest.cpp
    M llvm/utils/gn/secondary/clang/unittests/CodeGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/ABI/BUILD.gn

  Log Message:
  -----------
  [LLVMABI] Add support for SVE types in the LLVM ABI library (#221375)

This change extends the LLVM ABI library's VectorType to be able to
describe SVE types and updates Clang's QualTypeMapper to map them.

The AArch64 target info class in the ABI library is still a work in
progress. It will continue to report "not yet implemented" for function
signatures involving SVE types. This change is a neceasary prerequisite
for correctly handling them or correctly deferring handling of these
specific types.

Assisted-by: Cursor / claude-opus-5


  Commit: 8c05a1167dd2f00cfa64966cb1572a6d97178c8b
      https://github.com/llvm/llvm-project/commit/8c05a1167dd2f00cfa64966cb1572a6d97178c8b
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/lib/IR/MLIRContext.cpp

  Log Message:
  -----------
  [mlir] Outline registered operation-model allocation (NFC) (#222803)

Allocate operation-model storage through an out-of-line helper so every
registration TU does not instantiate the allocation machinery.

Across three controlled -j16 rebuilds of 44 registration TUs, median
instructions fell from 2.284T to 2.202T (-3.594%) and median wall time
fell from 40.44s to 38.54s (-4.698%).

Assisted-by: Codex


  Commit: ec5a61a1454082773a9071c8a9db0472306a2517
      https://github.com/llvm/llvm-project/commit/ec5a61a1454082773a9071c8a9db0472306a2517
  Author: Dave MacLachlan <dmaclach at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/Options.td
    M lld/docs/MachO/ld64-vs-lld.md
    M lld/docs/ReleaseNotes.md
    A lld/test/MachO/warn-missing-subsections-via-symbols.s

  Log Message:
  -----------
  [lld][MachO] Add `--warn-missing-subsections-via-symbols` flag (#221464)

This change introduces:

* `--warn-missing-subsections-via-symbols`: Warns when an input object
file with non-empty sections is missing `MH_SUBSECTIONS_VIA_SYMBOLS`.
* `--no-warn-missing-subsections-via-symbols`: Disables the warning
(default).

Also adds documentation and lit tests.

Object files missing `MH_SUBSECTIONS_VIA_SYMBOLS` can prevent
dead-stripping and subsection splitting.

We have seen a number of cases where we are compiling assembly, and this
allows us to track them down.


  Commit: 6959b7d081df5fb2349e67e0d8e8e87841fa10d9
      https://github.com/llvm/llvm-project/commit/6959b7d081df5fb2349e67e0d8e8e87841fa10d9
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M mlir/include/mlir/IR/OpDefinition.h

  Log Message:
  -----------
  [mlir] Use pointers for static operation hooks to improve build time (NFC) (#222804)

Return raw function pointers from static operation-hook accessors to
avoid instantiating unique-function construction machinery for every
operation.

Across three controlled -j16 rebuilds of 44 registration TUs, median
instructions fell from 2.284T to 2.201T (-3.646%) and median wall time
fell from 41.04s to 38.80s (-5.458%).

Assisted-by: Codex


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

  Changed paths:
    M orc-rt/include/orc-rt-c/support/Error.h

  Log Message:
  -----------
  [orc-rt] Fix typo in file header. (#222636)


  Commit: 9ac5a0ffb64f80e6f5aecf430b9e62c2a300942c
      https://github.com/llvm/llvm-project/commit/9ac5a0ffb64f80e6f5aecf430b9e62c2a300942c
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/OpenACC/Transforms/ACCMapInfoPrep.cpp
    M flang/test/Fir/OpenACC/acc-fir-map-info-prep-attach.mlir

  Log Message:
  -----------
  [flang][acc] Update descriptor attach rules to only pointer/allocatable (#222760)

When a clause maps only a descriptor's data, ACCMapInfoPrep should infer
an attach point and name the descriptor only for POINTER and
ALLOCATABLE, which OpenACC requires to be maintained on the device. See
flang/docs/OpenACC-descriptor-management.md.


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

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

  Log Message:
  -----------
  Fixes MLIR dialect Bazel dependencies from commit 5d1b4094534c etc (#222812)

Added missing deps.

Fixes current bazel failures in @llvm-project//flang/unittests:all


  Commit: 5ce6d3a2423ef046b5d1d5e9ec699dd9fe7af377
      https://github.com/llvm/llvm-project/commit/5ce6d3a2423ef046b5d1d5e9ec699dd9fe7af377
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/test/API/functionalities/gdb_remote_client/TestBatchedBreakpointStepOver.py
    A lldb/test/API/functionalities/gdb_remote_client/TestBreakpointNotHit.py
    M lldb/test/API/functionalities/gdb_remote_client/TestMSP430MSPDebug.py
    M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyBreakpoints.py

  Log Message:
  -----------
  [lldb][Darwin] Don't mark threads as having hit bp if not (#222488)

When a multithreaded program stops exeuction with a mach exception on
more than one thread, if one of the threads is *at* a breakpoint site,
but hasn't *hit* the breakpoint yet, lldb was incorrectly stepping over
the breakpoint instruction when it resumed execution. This would result
in TestConcurrentManyBreakpoints reporting that a breakpoint hit on 100
threads was only hit 99 times, because one of the breakpoints was
silently stepped past without being counted.

The bug happened because on Darwin/debugserver systems the stop info
packet includes a `jstopinfo` which is a JSON dictionary of all threads
that have an exception. When `jstopinfo` is present, ProcessGDBRemote
was initializing any thread not included in `jstopinfo` as having an
empty StopInfo. It did this without checking if we are _at_ a breakpoint
site, and marking the thread as "Stopped at unexecuted breakpoint
instruction". Because the threads now had an empty StopInfo already, the
other places where we might check "if stopped at unexecuted breakpoint
instruction" were never executed.

I created a gdb_remote_client API test with a synthetic test case where
four threads stop at a breakpoint; three of them have hit the
breakpoint, one has not. And confirm that lldb only registers 3
breakpoint hits initially, and then the 4th as we resume. Debugging the
"99 breakpoints hit instead of 100" failures was tricky and involved
running the test in a loop on a heavily loaded machine to get the
necessary timing, and it was easy to give up, so I wanted a much simpler
synthetic case to show the problem if we might regress.

rdar://180565704


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

  Changed paths:
    A lld/test/MachO/arm64-x1.s
    M llvm/include/llvm/BinaryFormat/MachO.h
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/include/llvm/TextAPI/Architecture.def
    M llvm/lib/BinaryFormat/MachO.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/test/tools/llvm-readobj/MachO/file-headers-arm64.test
    A llvm/test/tools/llvm-readobj/macho-arm64e_x1.test
    M llvm/tools/llvm-objdump/MachODump.cpp
    M llvm/tools/llvm-readobj/MachODumper.cpp
    M llvm/unittests/BinaryFormat/MachOTest.cpp

  Log Message:
  -----------
  [ld64.lld, llvm-otool] Minimal arm64e.x1 support (#222721)

Just enough for `llvm-otool -hv` to dump the cpusubtype, and for
ld64.lld to not reject .tbd files that have an arm64e.x1 slice.

This is needed to link mac binaries against the macOS 27 SDK.


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

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

  Log Message:
  -----------
  Fix bazel build for clang/unittests:codegen_tests (#222817)

Fixes https://github.com/llvm/llvm-project/pull/221375 (commit
a1cd84100bd0) by exporting QualTypeMapper.h and adding missing
dependencies.


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

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__configuration/compiler.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/unique_temporary_buffer.h
    A libcxx/include/__new/allocate.h
    M libcxx/include/__utility/small_buffer.h
    M libcxx/include/module.modulemap.in
    M libcxx/include/new
    M libcxx/src/include/aligned_alloc.h
    A libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/max_size.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/max_size.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/max_size.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.capacity/max_size.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/hardware_inference_size.compile.pass.cpp
    M libcxx/test/std/numerics/numarray/template.valarray/valarray.cons/size.pass.cpp
    M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/pointer_destruction.pass.cpp

  Log Message:
  -----------
  Revert "[libc++] Remove __libcpp_allocate" (#222814)

Reverts llvm/llvm-project#220981

This is breaking premerge. See comments on the original PR.


  Commit: 4def46cc3fd51bee21f4a167a99a79c9f6bb66ba
      https://github.com/llvm/llvm-project/commit/4def46cc3fd51bee21f4a167a99a79c9f6bb66ba
  Author: Vijay Kandiah <vkandiah at nvidia.com>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Fir/convert-fold.fir
    M flang/test/HLFIR/simplify-hlfir-intrinsics-eoshift.fir

  Log Message:
  -----------
  [flang] Fold fir.convert of an integer constant between integer types (#222188)

`fir::ConvertOp::fold` doesn't handle an integer constant converted to
another integer type. `ForwardConstantConvertPattern` covers the
neighboring case where the result is `index`, so `fir.convert %c10_i32 :
(i32) -> index` already canonicalizes to an index constant while
`fir.convert %c1_i32 : (i32) -> i64` does not. This PR adds the
integer-to-integer case.

The width change follows the rules codegen applies to a non-constant
operand (`CodeGen.cpp`'s integer-to-integer conversion): narrowing
truncates, widening zero-extends an i1 or unsigned source and
sign-extends anything else. The result must be signless because the
constant materialises as an `arith.constant`, which only accepts
signless integers.

It composes with `arith::IndexCastOp::fold`, so a value widened then
cast to `index` collapses to one index constant, and it lets other
patterns see through the constant: with a literal shift,
`simplify-hlfir-intrinsics` can now fold away `hlfir.eoshift`'s
shift-direction arithmetic.

`getIntIfConstant` only matches `arith` and `llvm` constants, which are
signless, so `isUnsignedInteger()` is never true today, but I still kept
the unsigned case anyway so that the fold cannot disagree with codegen.


  Commit: f3095405d3826db0df26a9d383bff4206949dcd1
      https://github.com/llvm/llvm-project/commit/f3095405d3826db0df26a9d383bff4206949dcd1
  Author: Vijay Kandiah <vkandiah at nvidia.com>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M .ci/generate_test_report_lib.py
    M .ci/metrics/Dockerfile
    M .ci/metrics/metrics.py
    A .ci/monolithic-macos.sh
    M .ci/utils.sh
    M .git-blame-ignore-revs
    M .github/CODEOWNERS
    M .github/new-prs-labeler.yml
    M .github/workflows/commit-access-review.yml
    M .github/workflows/containers/github-action-ci-tooling/Dockerfile
    M .github/workflows/containers/github-action-ci-windows/Dockerfile
    M .github/workflows/containers/github-action-ci/Dockerfile
    M .github/workflows/containers/libc/Dockerfile
    M .github/workflows/get-llvm-version/action.yml
    M .github/workflows/issue-write.yml
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libc-overlay-tests.yml
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/libcxx-benchmark-commit.yml
    A .github/workflows/libcxx-benchmark-cron.yml
    M .github/workflows/libcxx-pr-benchmark.yml
    M .github/workflows/libcxx-pr-conformance-tests.yaml
    M .github/workflows/libcxx-pr-test-tools.yml
    M .github/workflows/llvm-abi-tests.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-code-format.yml
    M .github/workflows/pr-code-lint.yml
    M .github/workflows/premerge.yaml
    M .github/workflows/release-asset-audit.yml
    M .github/workflows/release-binaries-all.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-documentation.yml
    R .github/workflows/release-doxygen.yml
    M .github/workflows/release-sources.yml
    M .github/workflows/release-tasks.yml
    M .github/workflows/require-team-membership/action.yml
    M .github/workflows/test-suite.yml
    M .github/workflows/upload-release-artifact/action.yml
    M .github/workflows/zizmor.yml
    M .mailmap
    M CODE_OF_CONDUCT.md
    M bolt/docs/CommandLineArgumentReference.md
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    A bolt/include/bolt/Core/BranchLivenessInfo.h
    M bolt/include/bolt/Core/DebugData.h
    M bolt/include/bolt/Core/Exceptions.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    A bolt/include/bolt/Passes/BranchLivenessUtils.h
    M bolt/include/bolt/Passes/LivenessAnalysis.h
    M bolt/include/bolt/Passes/LongJmp.h
    M bolt/include/bolt/Profile/Heatmap.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/include/bolt/Utils/NameResolver.h
    M bolt/include/bolt/Utils/Utils.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    A bolt/lib/Core/BranchLivenessInfo.cpp
    M bolt/lib/Core/CMakeLists.txt
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Core/Exceptions.cpp
    M bolt/lib/Core/Relocation.cpp
    M bolt/lib/Passes/AArch64RelaxationPass.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    A bolt/lib/Passes/BranchLivenessUtils.cpp
    M bolt/lib/Passes/CMakeLists.txt
    M bolt/lib/Passes/FixRISCVCallsPass.cpp
    M bolt/lib/Passes/IdenticalCodeFolding.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Passes/ReorderData.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Profile/CMakeLists.txt
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/Heatmap.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/BuildIDRewriter.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Rewrite/SDTRewriter.cpp
    M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
    M bolt/lib/Target/AArch64/CMakeLists.txt
    M bolt/lib/Target/RISCV/CMakeLists.txt
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    A bolt/lib/Target/RISCV/RISCVMCSymbolizer.cpp
    A bolt/lib/Target/RISCV/RISCVMCSymbolizer.h
    M bolt/lib/Target/X86/CMakeLists.txt
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    M bolt/lib/Utils/Utils.cpp
    M bolt/runtime/common.h
    M bolt/runtime/instr.cpp
    M bolt/runtime/sys_aarch64.h
    A bolt/test/AArch64/adr-relaxation-large-non-simple.s
    A bolt/test/AArch64/compact-code-model-nonsimple.s
    M bolt/test/AArch64/compare-and-branch-inversion.S
    M bolt/test/AArch64/constant_island_pie_update.s
    A bolt/test/AArch64/entry-point-at-function-end.s
    M bolt/test/AArch64/long-jmp-one-stub.s
    A bolt/test/AArch64/merge-text-sections.s
    A bolt/test/AArch64/relax-exp.s
    M bolt/test/AArch64/runtime-relocs.test
    M bolt/test/CMakeLists.txt
    A bolt/test/RISCV/call-link-register.s
    A bolt/test/RISCV/call-relocation-pair.s
    A bolt/test/RISCV/cond-tail-call.s
    A bolt/test/RISCV/conditional-tail-call-relocs.s
    A bolt/test/RISCV/conditional-tail-call-zibi.s
    A bolt/test/RISCV/conditional-tail-call.s
    A bolt/test/RISCV/ifunc.s
    A bolt/test/RISCV/invert-branch-zibi.s
    A bolt/test/RISCV/plt-call.test
    M bolt/test/RISCV/relax.s
    M bolt/test/RISCV/reloc-bb-split-rv32.s
    M bolt/test/RISCV/reloc-bb-split.s
    A bolt/test/RISCV/reloc-got-moved-rv32.s
    A bolt/test/RISCV/reloc-got-moved.s
    M bolt/test/RISCV/reloc-got.s
    A bolt/test/RISCV/reloc-pcrel-moved-rv32.s
    A bolt/test/RISCV/reloc-pcrel-moved.s
    M bolt/test/RISCV/reloc-pcrel-rv32.s
    M bolt/test/RISCV/reloc-pcrel.s
    A bolt/test/RISCV/unsymbolized-call-edge.s
    A bolt/test/RISCV/unsymbolized-call-entry.s
    A bolt/test/RISCV/unsymbolized-call.s
    A bolt/test/RISCV/unsymbolized-long-jump.s
    A bolt/test/RISCV/weak-undefined-tail-call.s
    A bolt/test/X86/code-section-order-injected.s
    M bolt/test/X86/heatmap-preagg.test
    A bolt/test/X86/icp-pic.s
    A bolt/test/X86/jump-table-empty-block-strict.s
    A bolt/test/X86/reloc-data-symbol-negative-addend.s
    A bolt/test/X86/shrinkwrapping-byte-access.s
    A bolt/test/build-id-patch.c
    M bolt/test/lit.cfg.py
    M bolt/test/runtime/RISCV/basic-instrumentation.s
    A bolt/test/runtime/X86/lsda-absolute-udata4.test
    M bolt/test/runtime/setup-race.cpp
    A bolt/test/runtime/thin-archive.c
    M bolt/test/safe-icf-relative-vtable.cpp
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/CMakeLists.txt
    M bolt/unittests/Core/MCPlusBuilder.cpp
    M bolt/unittests/Core/MemoryMaps.cpp
    M bolt/unittests/Profile/PerfScripts.cpp
    M clang-tools-extra/CMakeLists.txt
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py
    M clang-tools-extra/clang-tidy/.clang-tidy
    M clang-tools-extra/clang-tidy/CMakeLists.txt
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clang-tidy/ClangTidyForceLinker.h
    R clang-tools-extra/clang-tidy/ClangTidyModuleRegistry.h
    M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
    M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
    M clang-tools-extra/clang-tidy/GlobList.cpp
    M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp
    M clang-tools-extra/clang-tidy/abseil/AbseilMatcher.h
    M clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/DurationComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/DurationConversionCastCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp
    M clang-tools-extra/clang-tidy/abseil/DurationUnnecessaryConversionCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/TimeComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp
    M clang-tools-extra/clang-tidy/abseil/UncheckedStatusOrAccessCheck.cpp
    M clang-tools-extra/clang-tidy/add_new_check.py
    M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
    M clang-tools-extra/clang-tidy/altera/SingleWorkItemBarrierCheck.cpp
    M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
    M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
    M clang-tools-extra/clang-tidy/android/CloexecAccept4Check.cpp
    M clang-tools-extra/clang-tidy/android/CloexecAcceptCheck.cpp
    M clang-tools-extra/clang-tidy/android/CloexecCreatCheck.cpp
    M clang-tools-extra/clang-tidy/android/CloexecFopenCheck.cpp
    M clang-tools-extra/clang-tidy/android/CloexecMemfdCreateCheck.cpp
    M clang-tools-extra/clang-tidy/android/CloexecOpenCheck.cpp
    M clang-tools-extra/clang-tidy/android/ComparisonInTempFailureRetryCheck.cpp
    M clang-tools-extra/clang-tidy/boost/UseToStringCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/AssignmentInSelectionStatementCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/CopyConstructorInitCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MissingEndComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/PointerArithmeticOnPolymorphicObjectCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/RandomGeneratorSeedCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialTypeCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofContainerCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SmartPtrArrayMismatchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StdNamespaceModificationCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemoryComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousReallocUsageCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SwappedArgumentsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/TerminatingContinueCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnhandledCodePathsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UniquePtrArrayMismatchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidGotoCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MisleadingCaptureDefaultByValueCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/NoMallocCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/NoSuspendWithLockCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsAvoidUncheckedContainerAccessCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeCstyleCastCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
    M clang-tools-extra/clang-tidy/custom/QueryCheck.cpp
    M clang-tools-extra/clang-tidy/fuchsia/TemporaryObjectsCheck.cpp
    M clang-tools-extra/clang-tidy/google/AvoidThrowingObjCExceptionCheck.cpp
    M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
    M clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp
    M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
    M clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp
    A clang-tools-extra/clang-tidy/llvm/InvalidRegexPatternCheck.cpp
    A clang-tools-extra/clang-tidy/llvm/InvalidRegexPatternCheck.h
    M clang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
    M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/PreferStaticOverAnonymousNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/RedundantCastingCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/TwineLocalCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/TypeSwitchCaseTypesCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/UseVectorUtilsCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
    M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp
    M clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ExplicitConstructorCheck.cpp
    M clang-tools-extra/clang-tidy/misc/MisleadingBidirectionalCheck.cpp
    M clang-tools-extra/clang-tidy/misc/MisplacedConstCheck.cpp
    M clang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/NonCopyableObjectsCheck.cpp
    M clang-tools-extra/clang-tidy/misc/NonPrivateMemberVariablesInClassesCheck.cpp
    M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
    M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/AvoidCStyleCastCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/IntegralLiteralExpressionMatcher.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
    M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/TypeTraitsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNodiscardCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNoexceptCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdBitCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStringViewCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStructuredBindingCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseToUnderlyingCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseToUnderlyingCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
    M clang-tools-extra/clang-tidy/mpi/BufferDerefCheck.cpp
    M clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp
    M clang-tools-extra/clang-tidy/objc/AssertEqualsCheck.cpp
    M clang-tools-extra/clang-tidy/objc/NSDateFormatterCheck.cpp
    M clang-tools-extra/clang-tidy/objc/NSInvocationArgumentLifetimeCheck.cpp
    M clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/objc/SuperSelfCheck.cpp
    M clang-tools-extra/clang-tidy/performance/AvoidEndlCheck.cpp
    M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
    M clang-tools-extra/clang-tidy/performance/ExpensiveValueOrCheck.cpp
    M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
    M clang-tools-extra/clang-tidy/performance/InefficientAlgorithmCheck.cpp
    M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
    M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
    M clang-tools-extra/clang-tidy/performance/NoexceptDestructorCheck.cpp
    M clang-tools-extra/clang-tidy/performance/NoexceptFunctionBaseCheck.cpp
    M clang-tools-extra/clang-tidy/performance/NoexceptMoveConstructorCheck.cpp
    M clang-tools-extra/clang-tidy/performance/NoexceptSwapCheck.cpp
    M clang-tools-extra/clang-tidy/performance/PreferSingleCharOverloadsCheck.cpp
    M clang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UseStdMoveCheck.cpp
    A clang-tools-extra/clang-tidy/portability/AvoidPragmaCommentCheck.cpp
    A clang-tools-extra/clang-tidy/portability/AvoidPragmaCommentCheck.h
    M clang-tools-extra/clang-tidy/portability/CMakeLists.txt
    M clang-tools-extra/clang-tidy/portability/PortabilityTidyModule.cpp
    M clang-tools-extra/clang-tidy/portability/RestrictSystemIncludesCheck.cpp
    M clang-tools-extra/clang-tidy/portability/StdAllocatorConstCheck.cpp
    M clang-tools-extra/clang-tidy/readability/AvoidConstParamsInDeclsCheck.cpp
    M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStaticCheck.cpp
    M clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
    M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
    M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.h
    M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierLengthCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MisleadingIndentationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp
    M clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp
    M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
    M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantQualifiedAliasCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp
    A clang-tools-extra/clang-tidy/readability/RedundantZeroInitializerCheck.cpp
    A clang-tools-extra/clang-tidy/readability/RedundantZeroInitializerCheck.h
    M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StaticDefinitionInAnonymousNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
    M clang-tools-extra/clang-tidy/readability/TrailingCommaCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UniqueptrDeleteReleaseCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
    M clang-tools-extra/clang-tidy/rename_check.py
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/clang-tidy/tool/check_alphabetical_order.py
    M clang-tools-extra/clang-tidy/tool/check_alphabetical_order_test.py
    M clang-tools-extra/clang-tidy/tool/check_update_docs.py
    M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
    M clang-tools-extra/clang-tidy/utils/ASTUtils.cpp
    M clang-tools-extra/clang-tidy/utils/Aliasing.cpp
    M clang-tools-extra/clang-tidy/utils/CheckUtils.h
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
    M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
    M clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp
    M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
    M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
    M clang-tools-extra/clang-tidy/utils/Matchers.h
    M clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/utils/TypeTraits.cpp
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
    M clang-tools-extra/clang-tidy/utils/UsingInserter.cpp
    R clang-tools-extra/clang-tidy/zircon/CMakeLists.txt
    R clang-tools-extra/clang-tidy/zircon/ZirconTidyModule.cpp
    M clang-tools-extra/clangd/AST.cpp
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/CompileCommands.cpp
    M clang-tools-extra/clangd/Config.h
    M clang-tools-extra/clangd/ConfigCompile.cpp
    M clang-tools-extra/clangd/ConfigFragment.h
    M clang-tools-extra/clangd/ConfigYAML.cpp
    M clang-tools-extra/clangd/Diagnostics.cpp
    M clang-tools-extra/clangd/DumpAST.cpp
    M clang-tools-extra/clangd/FindSymbols.cpp
    M clang-tools-extra/clangd/FindSymbols.h
    M clang-tools-extra/clangd/FindTarget.cpp
    M clang-tools-extra/clangd/Hover.cpp
    M clang-tools-extra/clangd/IncludeCleaner.cpp
    M clang-tools-extra/clangd/IncludeFixer.cpp
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/clangd/ModulesBuilder.h
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/ParsedAST.h
    M clang-tools-extra/clangd/Preamble.h
    M clang-tools-extra/clangd/ProjectModules.cpp
    M clang-tools-extra/clangd/Protocol.cpp
    M clang-tools-extra/clangd/Protocol.h
    M clang-tools-extra/clangd/Selection.cpp
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/TidyFastChecks.inc
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/XRefs.h
    M clang-tools-extra/clangd/index/Merge.cpp
    M clang-tools-extra/clangd/index/Serialization.cpp
    M clang-tools-extra/clangd/index/Symbol.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/index/YAMLSerialization.cpp
    M clang-tools-extra/clangd/refactor/tweaks/ExpandDeducedType.cpp
    M clang-tools-extra/clangd/test/Inputs/symbols.test.yaml
    M clang-tools-extra/clangd/test/call-hierarchy.test
    M clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
    M clang-tools-extra/clangd/test/remote-index/pipeline_helper.py
    M clang-tools-extra/clangd/test/symbol-tags.test
    M clang-tools-extra/clangd/test/symbols.test
    M clang-tools-extra/clangd/test/type-hierarchy-ext.test
    M clang-tools-extra/clangd/test/type-hierarchy.test
    M clang-tools-extra/clangd/unittests/ASTTests.cpp
    M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
    M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
    M clang-tools-extra/clangd/unittests/ExpectedTypeTest.cpp
    M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/clangd/unittests/HoverTests.cpp
    M clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp
    M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
    M clang-tools-extra/clangd/unittests/InsertionPointTests.cpp
    M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
    M clang-tools-extra/clangd/unittests/PreambleTests.cpp
    M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
    M clang-tools-extra/clangd/unittests/SerializationTests.cpp
    M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
    M clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp
    M clang-tools-extra/clangd/unittests/TypeHierarchyTests.cpp
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp
    A clang-tools-extra/docs/ModularizeUsage.md
    R clang-tools-extra/docs/ModularizeUsage.rst
    A clang-tools-extra/docs/ReleaseNotes.md
    R clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/ReleaseNotesTemplate.txt
    A clang-tools-extra/docs/clang-change-namespace.md
    R clang-tools-extra/docs/clang-change-namespace.rst
    A clang-tools-extra/docs/clang-doc.md
    R clang-tools-extra/docs/clang-doc.rst
    A clang-tools-extra/docs/clang-include-fixer.md
    R clang-tools-extra/docs/clang-include-fixer.rst
    A clang-tools-extra/docs/clang-modernize.md
    R clang-tools-extra/docs/clang-modernize.rst
    A clang-tools-extra/docs/clang-reorder-fields.md
    R clang-tools-extra/docs/clang-reorder-fields.rst
    A clang-tools-extra/docs/clang-tidy.md
    R clang-tools-extra/docs/clang-tidy.rst
    M clang-tools-extra/docs/clang-tidy/Contributing.rst
    M clang-tools-extra/docs/clang-tidy/QueryBasedCustomChecks.rst
    M clang-tools-extra/docs/clang-tidy/checks/abseil/unchecked-statusor-access.md
    A clang-tools-extra/docs/clang-tidy/checks/altera/single-work-item-barrier.md
    R clang-tools-extra/docs/clang-tidy/checks/altera/single-work-item-barrier.rst
    A clang-tools-extra/docs/clang-tidy/checks/altera/struct-pack-align.md
    R clang-tools-extra/docs/clang-tidy/checks/altera/struct-pack-align.rst
    A clang-tools-extra/docs/clang-tidy/checks/altera/unroll-loops.md
    R clang-tools-extra/docs/clang-tidy/checks/altera/unroll-loops.rst
    A clang-tools-extra/docs/clang-tidy/checks/android/comparison-in-temp-failure-retry.md
    R clang-tools-extra/docs/clang-tidy/checks/android/comparison-in-temp-failure-retry.rst
    A clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.md
    R clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/assignment-in-selection-statement.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/assignment-in-selection-statement.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/bitwise-pointer-cast.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/bitwise-pointer-cast.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/branch-clone.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/branch-clone.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/casting-through-void.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/casting-through-void.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/chained-comparison.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/chained-comparison.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/compare-pointer-to-member-virtual-function.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/compare-pointer-to-member-virtual-function.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-init.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-init.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/crtp-constructor-accessibility.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/crtp-constructor-accessibility.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/dangling-handle.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/dangling-handle.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/derived-method-shadowing-base-method.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/derived-method-shadowing-base-method.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/easily-swappable-parameters.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/easily-swappable-parameters.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/empty-catch.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/empty-catch.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-copy-constructor-throws.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-copy-constructor-throws.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-escape.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-escape.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/fold-init-type.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/fold-init-type.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/forwarding-reference-overload.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/forwarding-reference-overload.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/implicit-widening-of-multiplication-result.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/implicit-widening-of-multiplication-result.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/inc-dec-in-conditions.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/inc-dec-in-conditions.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/incorrect-enable-if.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/incorrect-enable-if.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/incorrect-enable-shared-from-this.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/incorrect-enable-shared-from-this.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/infinite-loop.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/infinite-loop.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/integer-division.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/integer-division.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/invalid-enum-default-initialization.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/invalid-enum-default-initialization.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/lambda-function-name.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/lambda-function-name.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/misleading-setter-of-reference.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/misleading-setter-of-reference.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/misplaced-operator-in-strlen-in-alloc.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/misplaced-operator-in-strlen-in-alloc.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/misplaced-widening-cast.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/misplaced-widening-cast.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/missing-end-comparison.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/missing-end-comparison.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/move-forwarding-reference.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/move-forwarding-reference.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/multi-level-implicit-pointer-conversion.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/multi-level-implicit-pointer-conversion.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/multiple-new-in-one-expression.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/multiple-new-in-one-expression.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/narrowing-conversions.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/narrowing-conversions.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/non-zero-enum-to-bool-conversion.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/non-zero-enum-to-bool-conversion.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/not-null-terminated-result.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/not-null-terminated-result.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/optional-value-conversion.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/optional-value-conversion.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/pointer-arithmetic-on-polymorphic-object.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/pointer-arithmetic-on-polymorphic-object.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/random-generator-seed.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/random-generator-seed.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/raw-memory-call-on-non-trivial-type.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/raw-memory-call-on-non-trivial-type.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/redundant-branch-condition.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/redundant-branch-condition.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/reserved-identifier.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/reserved-identifier.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/shared-ptr-array-mismatch.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/shared-ptr-array-mismatch.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/signal-handler.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/signal-handler.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/standalone-empty.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/standalone-empty.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/std-exception-baseclass.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/std-exception-baseclass.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/std-namespace-modification.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/std-namespace-modification.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/string-constructor.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/string-constructor.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/string-integer-assignment.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/string-integer-assignment.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/string-literal-with-embedded-nul.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/string-literal-with-embedded-nul.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/stringview-nullptr.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/stringview-nullptr.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-memory-comparison.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-memory-comparison.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-memset-usage.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-memset-usage.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-missing-comma.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-missing-comma.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-realloc-usage.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-realloc-usage.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-semicolon.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-semicolon.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-string-compare.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-string-compare.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/swapped-arguments.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/swapped-arguments.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/switch-missing-default-case.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/switch-missing-default-case.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/tagged-union-member-count.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/tagged-union-member-count.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-optional-access.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-optional-access.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-string-to-number-conversion.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-string-to-number-conversion.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/undefined-memory-manipulation.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/undefined-memory-manipulation.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-code-paths.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-code-paths.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-exception-at-new.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-exception-at-new.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unique-ptr-array-mismatch.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unique-ptr-array-mismatch.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-to-allow-exceptions.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-to-allow-exceptions.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-local-non-trivial-variable.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-local-non-trivial-variable.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-raii.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-raii.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-return-value.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-return-value.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.md
    R clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.md
    R clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.BitwiseShift.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.BitwiseShift.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.CallAndMessage.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.CallAndMessage.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.DivideZero.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.DivideZero.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NonNullParamChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NonNullParamChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NullDereference.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NullDereference.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.NullPointerArithm.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.StackAddressEscape.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.StackAddressEscape.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.UndefinedBinaryOperatorResult.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.UndefinedBinaryOperatorResult.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.VLASize.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.VLASize.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.ArraySubscript.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.ArraySubscript.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.Assign.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.Assign.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.Branch.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.Branch.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.CapturedBlockVariable.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.CapturedBlockVariable.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.NewArraySize.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.NewArraySize.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.UndefReturn.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/core.uninitialized.UndefReturn.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.ArrayDelete.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.ArrayDelete.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.InnerPointer.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.InnerPointer.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.Move.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.Move.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.NewDelete.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.NewDelete.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.NewDeleteLeaks.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.NewDeleteLeaks.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PlacementNew.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PlacementNew.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PureVirtualCall.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.SelfAssignment.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.SelfAssignment.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.StringChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.StringChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/deadcode.DeadStores.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/deadcode.DeadStores.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/fuchsia.HandleChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/fuchsia.HandleChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullPassedToNonnull.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullPassedToNonnull.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullReturnedFromNonnull.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullReturnedFromNonnull.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullableDereferenced.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullableDereferenced.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullablePassedToNonnull.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullablePassedToNonnull.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullableReturnedFromNonnull.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/nullability.NullableReturnedFromNonnull.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.core.EnumCastOutOfRange.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.core.EnumCastOutOfRange.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.core.FixedAddressDereference.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.core.UnconditionalVAArg.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.cplusplus.UninitializedObject.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.cplusplus.UninitializedObject.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.cplusplus.VirtualCall.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.cplusplus.VirtualCall.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.mpi.MPI-Checker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.mpi.MPI-Checker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.OSObjectCStyleCast.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.cocoa.localizability.EmptyLocalizationContextChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.cocoa.localizability.EmptyLocalizationContextChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.cocoa.localizability.NonLocalizedStringChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.cocoa.localizability.NonLocalizedStringChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.performance.GCDAntipattern.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.performance.GCDAntipattern.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.performance.Padding.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.performance.Padding.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.portability.UnixAPI.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.portability.UnixAPI.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.GenericTaint.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.TaintedAlloc.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.TaintedAlloc.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.TaintedDiv.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.API.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.API.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.MIG.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.NumberObjectConversion.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.NumberObjectConversion.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.OSObjectRetainCount.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.ObjCProperty.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.ObjCProperty.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.SecKeychainAPI.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.SecKeychainAPI.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.AtSync.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.AtSync.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.AutoreleaseWrite.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.AutoreleaseWrite.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.ClassRelease.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.ClassRelease.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.Dealloc.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.Dealloc.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.IncompatibleMethodTypes.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.IncompatibleMethodTypes.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.Loops.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.Loops.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.MissingSuperCall.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.MissingSuperCall.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NSAutoreleasePool.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NSAutoreleasePool.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NSError.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NSError.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NilArg.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NilArg.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NonNilReturnValue.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.NonNilReturnValue.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.ObjCGenerics.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.ObjCGenerics.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.RetainCount.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.RetainCount.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.RunLoopAutoreleaseLeak.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.RunLoopAutoreleaseLeak.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.SelfInit.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.SelfInit.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.SuperDealloc.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.SuperDealloc.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.UnusedIvars.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.UnusedIvars.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.VariadicMethodTypes.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.cocoa.VariadicMethodTypes.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFError.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFError.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFNumber.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFNumber.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFRetainRelease.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.CFRetainRelease.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.containers.OutOfBounds.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.containers.OutOfBounds.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.containers.PointerSizedValues.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.coreFoundation.containers.PointerSizedValues.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.ArrayBound.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.FloatLoopCounter.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.FloatLoopCounter.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.MmapWriteExec.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PointerSub.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.VAList.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.cert.env.InvalidPtr.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.cert.env.InvalidPtr.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.DeprecatedOrUnsafeBufferHandling.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.DeprecatedOrUnsafeBufferHandling.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.UncheckedReturn.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.UncheckedReturn.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bcmp.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bcmp.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bcopy.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bcopy.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bzero.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.bzero.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.decodeValueOfObjCType.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.decodeValueOfObjCType.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.getpw.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.getpw.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.gets.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.gets.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.mkstemp.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.mkstemp.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.mktemp.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.mktemp.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.rand.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.rand.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.strcpy.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.strcpy.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.vfork.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.insecureAPI.vfork.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.API.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.API.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.BlockInCriticalSection.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.BlockInCriticalSection.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Chroot.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Errno.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Errno.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Malloc.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Malloc.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.MallocSizeof.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.MallocSizeof.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.MismatchedDeallocator.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.MismatchedDeallocator.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.StdCLibraryFunctions.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.StdCLibraryFunctions.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Stream.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Stream.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Vfork.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Vfork.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.BadSizeArg.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.BadSizeArg.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.NotNullTerminated.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.NullArg.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.NullArg.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.cstring.UninitializedRead.md
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.NoUncountedMemberChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.NoUncountedMemberChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.RefCntblBaseVirtualDtor.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.RefCntblBaseVirtualDtor.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.UncountedLambdaCapturesChecker.md
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/webkit.UncountedLambdaCapturesChecker.rst
    A clang-tools-extra/docs/clang-tidy/checks/concurrency/mt-unsafe.md
    R clang-tools-extra/docs/clang-tidy/checks/concurrency/mt-unsafe.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-enum-class.rst
    M clang-tools-extra/docs/clang-tidy/checks/fuchsia/default-arguments-calls.md
    M clang-tools-extra/docs/clang-tidy/checks/fuchsia/default-arguments-declarations.md
    M clang-tools-extra/docs/clang-tidy/checks/fuchsia/multiple-inheritance.md
    M clang-tools-extra/docs/clang-tidy/checks/fuchsia/overloaded-operator.md
    A clang-tools-extra/docs/clang-tidy/checks/fuchsia/statically-constructed-objects.md
    R clang-tools-extra/docs/clang-tidy/checks/fuchsia/statically-constructed-objects.rst
    A clang-tools-extra/docs/clang-tidy/checks/fuchsia/temporary-objects.md
    R clang-tools-extra/docs/clang-tidy/checks/fuchsia/temporary-objects.rst
    A clang-tools-extra/docs/clang-tidy/checks/fuchsia/trailing-return.md
    R clang-tools-extra/docs/clang-tidy/checks/fuchsia/trailing-return.rst
    M clang-tools-extra/docs/clang-tidy/checks/fuchsia/virtual-inheritance.md
    M clang-tools-extra/docs/clang-tidy/checks/gen-static-analyzer-docs.py
    A clang-tools-extra/docs/clang-tidy/checks/list.md
    R clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/llvm/invalid-regex-pattern.md
    M clang-tools-extra/docs/clang-tidy/checks/modernize/redundant-void-arg.md
    M clang-tools-extra/docs/clang-tidy/checks/modernize/return-braced-init-list.md
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-to-underlying.md
    A clang-tools-extra/docs/clang-tidy/checks/portability/avoid-pragma-comment.md
    A clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/avoid-unconditional-preprocessor-if.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/avoid-unconditional-preprocessor-if.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/braces-around-statements.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/braces-around-statements.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/const-return-type.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/const-return-type.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/duplicate-include.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/duplicate-include.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/else-after-return.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/else-after-return.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/function-cognitive-complexity.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/function-cognitive-complexity.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/function-size.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/function-size.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/identifier-length.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/identifier-length.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-ifelse-braces.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-ifelse-braces.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/isolate-declaration.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/isolate-declaration.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/magic-numbers.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/magic-numbers.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/make-member-function-const.md
    R clang-tools-extra/docs/clang-tidy/checks/readability/make-member-function-const.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-zero-initializer.md
    R clang-tools-extra/docs/clang-tidy/checks/zircon/temporary-objects.md
    M clang-tools-extra/docs/clang-tidy/index.rst
    A clang-tools-extra/docs/clangd.md
    R clang-tools-extra/docs/clangd.rst
    A clang-tools-extra/docs/cpp11-migrate.md
    R clang-tools-extra/docs/cpp11-migrate.rst
    A clang-tools-extra/docs/index.md
    R clang-tools-extra/docs/index.rst
    A clang-tools-extra/docs/modularize.md
    R clang-tools-extra/docs/modularize.rst
    A clang-tools-extra/docs/pp-trace.md
    R clang-tools-extra/docs/pp-trace.rst
    M clang-tools-extra/include-cleaner/CMakeLists.txt
    M clang-tools-extra/include-cleaner/lib/Analysis.cpp
    M clang-tools-extra/include-cleaner/lib/AnalysisInternal.h
    M clang-tools-extra/include-cleaner/lib/FindHeaders.cpp
    M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
    M clang-tools-extra/include-cleaner/lib/IncludeSpeller.cpp
    M clang-tools-extra/include-cleaner/lib/LocateSymbol.cpp
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
    M clang-tools-extra/include-cleaner/unittests/LocateSymbolTest.cpp
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
    M clang-tools-extra/modularize/Modularize.cpp
    M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/utility
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters-relatedness.c
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/easily-swappable-parameters.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-coro-unknown.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-treat-functions-without-specification-as-throwing.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-short.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/macro-parentheses.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-operator-in-strlen-in-alloc-no-crash.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/pointer-arithmetic-on-polymorphic-object-all.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/pointer-arithmetic-on-polymorphic-object-decl-only.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/signal-handler.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/std-namespace-modification-no-crash.cpp
    A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward-cxx20.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.ignorearrays.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/use-enum-class.cpp
    R clang-tools-extra/test/clang-tidy/checkers/fuchsia/temporary-objects-deprecated-alias.cpp
    A clang-tools-extra/test/clang-tidy/checkers/llvm/invalid-regex-pattern.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/return-braced-init-list.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-noexcept-unparsed-exception-spec.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-to-underlying-custom-function.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-to-underlying-imprecise-casts.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-to-underlying-invalid-config.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-to-underlying.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-algorithm.cpp
    A clang-tools-extra/test/clang-tidy/checkers/portability/avoid-pragma-comment.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/hungarian-notation1/.clang-tidy
    A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value-allow-refs-combined.c
    A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value-allow-refs.c
    A clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value-allow-refs.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-allow-trailing-underscore.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-lambda-capture.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-typedef-inherit-anon-tag-config.c
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-typedef-inherit-anon-tag-config.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-c99.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.c
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-zero-initializer.c
    A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-zero-initializer.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx11.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx20.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/use-concise-preprocessor-directives.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/clang-tidy-diff/test.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/alphabetical-order.test
    M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-diff.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/update-checks-list.test
    M clang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
    M clang/CMakeLists.txt
    M clang/Maintainers.md
    M clang/bindings/python/clang/cindex.py
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/Fuchsia.cmake
    M clang/cmake/caches/HLSL.cmake
    M clang/cmake/modules/CMakeLists.txt
    M clang/cmake/modules/ClangConfig.cmake.in
    M clang/docs/AMDGPUSupport.md
    M clang/docs/AddressSanitizer.md
    M clang/docs/AllocToken.md
    A clang/docs/AutomaticReferenceCounting.md
    R clang/docs/AutomaticReferenceCounting.rst
    A clang/docs/Block-ABI-Apple.md
    R clang/docs/Block-ABI-Apple.rst
    A clang/docs/BlockLanguageSpec.md
    R clang/docs/BlockLanguageSpec.rst
    M clang/docs/BoundsSafety.md
    M clang/docs/BoundsSafetyAdoptionGuide.md
    M clang/docs/BoundsSafetyImplPlans.md
    A clang/docs/CIR/ABILowering.md
    R clang/docs/CIR/ABILowering.rst
    A clang/docs/CIR/CleanupAndEHDesign.md
    R clang/docs/CIR/CleanupAndEHDesign.rst
    A clang/docs/CIR/CodeDuplication.md
    R clang/docs/CIR/CodeDuplication.rst
    M clang/docs/CIR/_raw/PostProcessCIRDocs.py
    M clang/docs/CIR/index.md
    M clang/docs/CMakeLists.txt
    M clang/docs/CXXTypeAwareAllocators.md
    A clang/docs/ClangCheck.md
    R clang/docs/ClangCheck.rst
    A clang/docs/ClangFormat.md
    R clang/docs/ClangFormat.rst
    A clang/docs/ClangFormatStyleOptions.md
    R clang/docs/ClangFormatStyleOptions.rst
    A clang/docs/ClangLinkerWrapper.md
    R clang/docs/ClangLinkerWrapper.rst
    A clang/docs/ClangNVLinkWrapper.md
    R clang/docs/ClangNVLinkWrapper.rst
    A clang/docs/ClangOffloadBundler.md
    R clang/docs/ClangOffloadBundler.rst
    A clang/docs/ClangRepl.md
    R clang/docs/ClangRepl.rst
    A clang/docs/ClangSYCLLinker.md
    R clang/docs/ClangSYCLLinker.rst
    A clang/docs/ClangTools.md
    R clang/docs/ClangTools.rst
    A clang/docs/ClangTransformerTutorial.md
    R clang/docs/ClangTransformerTutorial.rst
    A clang/docs/CommandGuide/clang.md
    R clang/docs/CommandGuide/clang.rst
    A clang/docs/CommandGuide/diagtool.md
    R clang/docs/CommandGuide/diagtool.rst
    A clang/docs/ConstantInterpreter.md
    R clang/docs/ConstantInterpreter.rst
    M clang/docs/ControlFlowIntegrity.md
    A clang/docs/ControlFlowIntegrityDesign.md
    R clang/docs/ControlFlowIntegrityDesign.rst
    M clang/docs/DataFlowAnalysisIntro.md
    M clang/docs/DataFlowSanitizer.md
    A clang/docs/DataFlowSanitizerDesign.md
    R clang/docs/DataFlowSanitizerDesign.rst
    M clang/docs/DebuggingCoroutines.md
    A clang/docs/DriverInternals.md
    R clang/docs/DriverInternals.rst
    M clang/docs/FAQ.md
    M clang/docs/FunctionEffectAnalysis.md
    M clang/docs/HIPSupport.md
    A clang/docs/HLSL/AvailabilityDiagnostics.md
    R clang/docs/HLSL/AvailabilityDiagnostics.rst
    A clang/docs/HLSL/EntryFunctions.md
    R clang/docs/HLSL/EntryFunctions.rst
    A clang/docs/HLSL/ExpectedDifferences.md
    R clang/docs/HLSL/ExpectedDifferences.rst
    A clang/docs/HLSL/FunctionCalls.md
    R clang/docs/HLSL/FunctionCalls.rst
    A clang/docs/HLSL/HLSLIRReference.md
    R clang/docs/HLSL/HLSLIRReference.rst
    A clang/docs/HLSL/HLSLSupport.md
    R clang/docs/HLSL/HLSLSupport.rst
    A clang/docs/HLSL/ResourceTypes.md
    R clang/docs/HLSL/ResourceTypes.rst
    A clang/docs/HardwareAssistedAddressSanitizer.md
    A clang/docs/HardwareAssistedAddressSanitizerDesign.md
    R clang/docs/HardwareAssistedAddressSanitizerDesign.rst
    A clang/docs/HowToSetupToolingForLLVM.md
    R clang/docs/HowToSetupToolingForLLVM.rst
    A clang/docs/InternalsManual.md
    R clang/docs/InternalsManual.rst
    A clang/docs/ItaniumMangleAbiTags.md
    R clang/docs/ItaniumMangleAbiTags.rst
    A clang/docs/JSONCompilationDatabase.md
    R clang/docs/JSONCompilationDatabase.rst
    A clang/docs/LLVMExceptionHandlingCodeGen.md
    R clang/docs/LLVMExceptionHandlingCodeGen.rst
    M clang/docs/LanguageExtensions.md
    M clang/docs/LeakSanitizer.md
    A clang/docs/LibASTImporter.md
    R clang/docs/LibASTImporter.rst
    A clang/docs/LibASTMatchers.md
    R clang/docs/LibASTMatchers.rst
    A clang/docs/LibASTMatchersTutorial.md
    R clang/docs/LibASTMatchersTutorial.rst
    M clang/docs/LifetimeSafety.md
    A clang/docs/MatrixTypes.md
    R clang/docs/MatrixTypes.rst
    M clang/docs/MemorySanitizer.md
    M clang/docs/MisExpect.md
    M clang/docs/Modules.md
    A clang/docs/Multilib.md
    R clang/docs/Multilib.rst
    A clang/docs/ObjectiveCLiterals.md
    R clang/docs/ObjectiveCLiterals.rst
    A clang/docs/OffloadingDesign.md
    R clang/docs/OffloadingDesign.rst
    M clang/docs/OpenCLSupport.md
    M clang/docs/OpenMPSupport.md
    M clang/docs/OverflowBehaviorTypes.md
    A clang/docs/PCHInternals.md
    R clang/docs/PCHInternals.rst
    M clang/docs/PointerAuthentication.md
    A clang/docs/RAVFrontendAction.md
    R clang/docs/RAVFrontendAction.rst
    M clang/docs/RISCVSupport.md
    M clang/docs/RealtimeSanitizer.md
    A clang/docs/RefactoringEngine.md
    R clang/docs/RefactoringEngine.rst
    M clang/docs/ReleaseNotes.md
    M clang/docs/ReleaseNotesTemplate.txt
    M clang/docs/SYCLSupport.md
    M clang/docs/SafeBuffers.md
    M clang/docs/SafeStack.md
    M clang/docs/SanitizerCoverage.md
    M clang/docs/SanitizerSpecialCaseList.md
    M clang/docs/SanitizerStats.md
    A clang/docs/ScalableStaticAnalysis/developer-docs/ForceLinkerHeaders.md
    R clang/docs/ScalableStaticAnalysis/developer-docs/ForceLinkerHeaders.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/HowToExtend.md
    R clang/docs/ScalableStaticAnalysis/developer-docs/HowToExtend.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/SummaryExtractionInternals.md
    R clang/docs/ScalableStaticAnalysis/developer-docs/SummaryExtractionInternals.rst
    A clang/docs/ScalableStaticAnalysis/developer-docs/index.md
    R clang/docs/ScalableStaticAnalysis/developer-docs/index.rst
    A clang/docs/ScalableStaticAnalysis/user-docs/SourceEditGeneration.md
    R clang/docs/ScalableStaticAnalysis/user-docs/SourceEditGeneration.rst
    A clang/docs/ScalableStaticAnalysis/user-docs/SummaryExtraction.md
    R clang/docs/ScalableStaticAnalysis/user-docs/SummaryExtraction.rst
    M clang/docs/ShadowCallStack.md
    M clang/docs/SourceBasedCodeCoverage.md
    M clang/docs/StandardCPlusPlusModules.md
    M clang/docs/StructureProtection.md
    M clang/docs/ThinLTO.md
    M clang/docs/ThreadSafetyAnalysis.md
    M clang/docs/ThreadSanitizer.md
    M clang/docs/Toolchain.md
    M clang/docs/TypeSanitizer.md
    M clang/docs/UndefinedBehaviorSanitizer.md
    M clang/docs/UsersManual.md
    M clang/docs/WarningSuppressionMappings.md
    A clang/docs/_static/custom.css
    A clang/docs/analyzer/checkers.md
    R clang/docs/analyzer/checkers.rst
    M clang/docs/analyzer/conf.py
    A clang/docs/analyzer/developer-docs.md
    R clang/docs/analyzer/developer-docs.rst
    A clang/docs/analyzer/developer-docs/DebugChecks.md
    R clang/docs/analyzer/developer-docs/DebugChecks.rst
    A clang/docs/analyzer/developer-docs/IPA.md
    R clang/docs/analyzer/developer-docs/IPA.rst
    A clang/docs/analyzer/developer-docs/InitializerLists.md
    R clang/docs/analyzer/developer-docs/InitializerLists.rst
    A clang/docs/analyzer/developer-docs/PerformanceInvestigation.md
    R clang/docs/analyzer/developer-docs/PerformanceInvestigation.rst
    A clang/docs/analyzer/developer-docs/RegionStore.md
    R clang/docs/analyzer/developer-docs/RegionStore.rst
    A clang/docs/analyzer/developer-docs/Statistics.md
    R clang/docs/analyzer/developer-docs/Statistics.rst
    A clang/docs/analyzer/developer-docs/nullability.md
    R clang/docs/analyzer/developer-docs/nullability.rst
    A clang/docs/analyzer/user-docs.md
    R clang/docs/analyzer/user-docs.rst
    A clang/docs/analyzer/user-docs/Annotations.md
    R clang/docs/analyzer/user-docs/Annotations.rst
    A clang/docs/analyzer/user-docs/CommandLineUsage.md
    R clang/docs/analyzer/user-docs/CommandLineUsage.rst
    A clang/docs/analyzer/user-docs/CrossTranslationUnit.md
    R clang/docs/analyzer/user-docs/CrossTranslationUnit.rst
    A clang/docs/analyzer/user-docs/FAQ.md
    R clang/docs/analyzer/user-docs/FAQ.rst
    A clang/docs/analyzer/user-docs/FilingBugs.md
    R clang/docs/analyzer/user-docs/FilingBugs.rst
    A clang/docs/analyzer/user-docs/Installation.md
    R clang/docs/analyzer/user-docs/Installation.rst
    A clang/docs/analyzer/user-docs/TaintAnalysisConfiguration.md
    R clang/docs/analyzer/user-docs/TaintAnalysisConfiguration.rst
    A clang/docs/analyzer/user-docs/UsingWithXCode.md
    R clang/docs/analyzer/user-docs/UsingWithXCode.rst
    M clang/docs/conf.py
    A clang/docs/index.md
    R clang/docs/index.rst
    M clang/docs/tools/dump_format_help.py
    M clang/docs/tools/dump_format_style.py
    M clang/include/clang-c/Index.h
    M clang/include/clang/APINotes/APINotesReader.h
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/APValue.h
    M clang/include/clang/AST/ASTConcept.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/ComputeDependence.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclFriend.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/DependenceFlags.h
    M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/ExprConcepts.h
    M clang/include/clang/AST/ExprObjC.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/AST/GlobalDecl.h
    M clang/include/clang/AST/HLSLResource.h
    M clang/include/clang/AST/JSONNodeDumper.h
    M clang/include/clang/AST/NestedNameSpecifier.h
    M clang/include/clang/AST/NestedNameSpecifierBase.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/PropertiesBase.td
    M clang/include/clang/AST/RecordLayout.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Redeclarable.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/AST/TemplateName.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/AST/TypeBase.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LiveOrigins.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/include/clang/Analysis/AnyCall.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    R clang/include/clang/Analysis/FlowSensitive/DataflowValues.h
    M clang/include/clang/Analysis/ProgramPoint.h
    M clang/include/clang/Basic/AArch64CodeGenUtils.h
    M clang/include/clang/Basic/ABIVersions.def
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/include/clang/Basic/AllDiagnosticKinds.inc
    M clang/include/clang/Basic/AllDiagnostics.h
    M clang/include/clang/Basic/AtomicLineLogger.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    A clang/include/clang/Basic/BuiltinTraits.h
    A clang/include/clang/Basic/BuiltinTraits.td
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAArch64.td
    M clang/include/clang/Basic/BuiltinsAArch64NeonSVEBridge.def
    M clang/include/clang/Basic/BuiltinsAArch64NeonSVEBridge_cg.def
    M clang/include/clang/Basic/BuiltinsAMDGPU.td
    M clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
    R clang/include/clang/Basic/BuiltinsARM.def
    A clang/include/clang/Basic/BuiltinsARM.td
    A clang/include/clang/Basic/BuiltinsARMBase.td
    M clang/include/clang/Basic/BuiltinsNVPTX.td
    M clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/include/clang/Basic/BuiltinsX86_64.td
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/Cuda.h
    M clang/include/clang/Basic/DarwinSDKInfo.h
    M clang/include/clang/Basic/DebugOptions.def
    M clang/include/clang/Basic/DeclNodes.td
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Basic/Diagnostic.td
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    A clang/include/clang/Basic/DiagnosticCodeGen.h
    A clang/include/clang/Basic/DiagnosticCodeGenKinds.td
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticDocs.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticIDs.h
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    R clang/include/clang/Basic/ExpressionTraits.h
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Basic/HLSLIntrinsics.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/MakeSupport.h
    M clang/include/clang/Basic/OffloadArch.h
    M clang/include/clang/Basic/OpenMPKinds.def
    M clang/include/clang/Basic/OptionalUnsigned.h
    M clang/include/clang/Basic/PointerAuthOptions.h
    A clang/include/clang/Basic/SPIRVTypes.def
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/SyncScope.h
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TargetOptions.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/TokenKinds.h
    R clang/include/clang/Basic/Traits.td
    R clang/include/clang/Basic/TypeTraits.h
    M clang/include/clang/Basic/arm_immcheck_incl.td
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/riscv_vector.td
    A clang/include/clang/CIR/CIRDataLayoutSpec.h
    M clang/include/clang/CIR/CIRGenerator.h
    A clang/include/clang/CIR/Dialect/Analysis/CIRAliasAnalysis.h
    A clang/include/clang/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.h
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
    M clang/include/clang/CIR/Dialect/Passes.h
    M clang/include/clang/CIR/Dialect/Passes.td
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.h
    M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
    M clang/include/clang/CIR/LoweringHelpers.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/CodeGen/CGFunctionInfo.h
    M clang/include/clang/CodeGen/ConstantInitBuilder.h
    A clang/include/clang/CodeGenUtils/CodeGenUtils.h
    M clang/include/clang/DependencyScanning/DependencyConsumer.h
    R clang/include/clang/DependencyScanning/DependencyScannerImpl.h
    M clang/include/clang/DependencyScanning/DependencyScanningUtils.h
    M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
    M clang/include/clang/DependencyScanning/ModuleDepCollector.h
    M clang/include/clang/Driver/Action.h
    M clang/include/clang/Driver/CommonArgs.h
    M clang/include/clang/Driver/CudaInstallationDetector.h
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/RocmInstallationDetector.h
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Driver/Tool.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Driver/Types.def
    M clang/include/clang/Driver/Types.h
    M clang/include/clang/Edit/EditedSource.h
    M clang/include/clang/ExtractAPI/API.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/DependencyOutputOptions.h
    M clang/include/clang/Frontend/DiagnosticRenderer.h
    M clang/include/clang/Frontend/FrontendAction.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/include/clang/Frontend/SSAFOptions.h
    M clang/include/clang/InstallAPI/FileList.h
    M clang/include/clang/Lex/DependencyDirectivesScanner.h
    M clang/include/clang/Lex/HeaderSearch.h
    M clang/include/clang/Lex/HeaderSearchOptions.h
    M clang/include/clang/Lex/Lexer.h
    M clang/include/clang/Lex/PPCallbacks.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Lex/PreprocessorOptions.h
    M clang/include/clang/Options/ClangOptionDocs.td
    M clang/include/clang/Options/FlangOptions.td
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevel.h
    M clang/include/clang/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.h
    M clang/include/clang/ScalableStaticAnalysis/BuiltinAnchorSources.def
    M clang/include/clang/ScalableStaticAnalysis/Core/ASTEntityMapping.h
    M clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/EntityLinker.h
    M clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/LUSummaryEncoding.h
    M clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/MultiArchSharedLibrary.h
    M clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/MultiArchStaticLibrary.h
    M clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/StaticLibrary.h
    M clang/include/clang/ScalableStaticAnalysis/Core/Model/BuildNamespace.h
    M clang/include/clang/ScalableStaticAnalysis/Core/Support/FormatProviders.h
    M clang/include/clang/ScalableStaticAnalysis/SourceTransformation/Transformation.h
    M clang/include/clang/ScalableStaticAnalysis/SourceTransformation/TransformationRegistry.h
    A clang/include/clang/ScalableStaticAnalysis/SourceTransformation/Transformations/CppBoundedBuffers.h
    M clang/include/clang/ScalableStaticAnalysis/Tool/Utils.h
    M clang/include/clang/Sema/AnalysisBasedWarnings.h
    M clang/include/clang/Sema/Attr.h
    M clang/include/clang/Sema/DeclSpec.h
    A clang/include/clang/Sema/DynamicAllocationArgumentsCXX.h
    M clang/include/clang/Sema/ExternalSemaSource.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/ScopeInfo.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaAMDGPU.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/include/clang/Sema/SemaObjC.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Sema/SemaSwift.h
    M clang/include/clang/Sema/SemaWasm.h
    M clang/include/clang/Sema/Template.h
    M clang/include/clang/Sema/TemplateDeduction.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    A clang/include/clang/StaticAnalyzer/Checkers/BoundsChecking.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/Z3CrosscheckVisitor.h
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
    R clang/include/clang/StaticAnalyzer/Core/PathSensitive/SummaryManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/include/clang/Support/Compiler.h
    M clang/include/clang/Tooling/DependencyScanningTool.h
    M clang/include/clang/Tooling/Inclusions/HeaderIncludes.h
    M clang/include/clang/Tooling/Inclusions/IncludeStyle.h
    M clang/include/module.modulemap
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesTypes.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/AST/APValue.cpp
    M clang/lib/AST/ASTConcept.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTDumper.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/ASTTypeTraits.cpp
    M clang/lib/AST/AttrImpl.cpp
    M clang/lib/AST/ByteCode/Boolean.h
    M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    M clang/lib/AST/ByteCode/ByteCodeEmitter.h
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Context.h
    A clang/lib/AST/ByteCode/DeclOrExpr.h
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/DynamicAllocator.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.h
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.h
    M clang/lib/AST/ByteCode/Frame.h
    M clang/lib/AST/ByteCode/Function.cpp
    M clang/lib/AST/ByteCode/Function.h
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/IntegralAP.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBlock.cpp
    M clang/lib/AST/ByteCode/InterpBlock.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    A clang/lib/AST/ByteCode/InterpBuiltinObjectSize.cpp
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/InterpFrame.h
    M clang/lib/AST/ByteCode/InterpHelpers.h
    M clang/lib/AST/ByteCode/InterpState.cpp
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ByteCode/MemberPointer.cpp
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/PrimType.h
    M clang/lib/AST/ByteCode/Primitives.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/Program.h
    M clang/lib/AST/ByteCode/Record.cpp
    M clang/lib/AST/ByteCode/Record.h
    M clang/lib/AST/ByteCode/Source.cpp
    M clang/lib/AST/ByteCode/Source.h
    M clang/lib/AST/ByteCode/State.cpp
    M clang/lib/AST/ByteCode/State.h
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/CommentSema.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclFriend.cpp
    M clang/lib/AST/DeclObjC.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/DeclarationName.cpp
    M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/ExprConstShared.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    A clang/lib/AST/GlobalDecl.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/NSAPI.cpp
    M clang/lib/AST/NestedNameSpecifier.cpp
    M clang/lib/AST/ODRDiagsEmitter.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/PrintfFormatString.cpp
    M clang/lib/AST/QualTypeNames.cpp
    M clang/lib/AST/RecordLayout.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/ASTMatchers/Dynamic/Marshallers.cpp
    M clang/lib/ASTMatchers/Dynamic/Marshallers.h
    M clang/lib/Analysis/AnalysisDeclContext.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/IssueHash.cpp
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/Dataflow.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/LifetimeSafety.cpp
    M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
    M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
    M clang/lib/Analysis/LifetimeSafety/Loans.cpp
    M clang/lib/Analysis/LifetimeSafety/MovedLoans.cpp
    M clang/lib/Analysis/LifetimeSafety/Origins.cpp
    M clang/lib/Analysis/PathDiagnostic.cpp
    M clang/lib/Analysis/RetainSummaryManager.cpp
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/AtomicLineLogger.cpp
    A clang/lib/Basic/BuiltinTraits.cpp
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/CodeGenOptions.cpp
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/DarwinSDKInfo.cpp
    M clang/lib/Basic/DiagnosticIDs.cpp
    R clang/lib/Basic/ExpressionTraits.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/IdentifierTable.cpp
    M clang/lib/Basic/LangOptions.cpp
    M clang/lib/Basic/MakeSupport.cpp
    M clang/lib/Basic/OffloadArch.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Basic/TargetID.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/X86.h
    R clang/lib/Basic/TypeTraits.cpp
    M clang/lib/CIR/CodeGen/Address.h
    A clang/lib/CIR/CodeGen/CIRDataLayoutSpec.cpp
    M clang/lib/CIR/CodeGen/CIRGenAsm.cpp
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
    M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.h
    M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenDeclCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenException.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    A clang/lib/CIR/CodeGen/CIRGenFixedPointBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
    M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenOpenACCRecipe.h
    M clang/lib/CIR/CodeGen/CIRGenOpenMPRuntime.cpp
    M clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    A clang/lib/CIR/CodeGen/CIRGenSYCL.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    M clang/lib/CIR/CodeGen/CIRGenerator.cpp
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/CodeGen/TargetInfo.cpp
    M clang/lib/CIR/CodeGen/TargetInfo.h
    A clang/lib/CIR/CodeGen/Targets/AArch64.cpp
    M clang/lib/CIR/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CIR/CodeGen/Targets/SPIRV.cpp
    A clang/lib/CIR/Dialect/Analysis/CIRAliasAnalysis.cpp
    A clang/lib/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.cpp
    A clang/lib/CIR/Dialect/Analysis/CMakeLists.txt
    M clang/lib/CIR/Dialect/CMakeLists.txt
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/IR/CMakeLists.txt
    M clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
    M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/lib/CIR/Dialect/Transforms/GotoSolver.cpp
    M clang/lib/CIR/Dialect/Transforms/HoistAllocas.cpp
    M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
    A clang/lib/CIR/FrontendAction/CIRDiagnosticHandler.cpp
    A clang/lib/CIR/FrontendAction/CIRDiagnosticHandler.h
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
    M clang/lib/CIR/FrontendAction/CMakeLists.txt
    M clang/lib/CIR/Interfaces/CMakeLists.txt
    M clang/lib/CIR/Lowering/CIRPasses.cpp
    M clang/lib/CIR/Lowering/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    A clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMOpenCLMetadata.cpp
    A clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMOpenCLMetadata.h
    M clang/lib/CIR/Lowering/LoweringHelpers.cpp
    M clang/lib/CMakeLists.txt
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/ABIInfo.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGBuiltin.h
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTT.cpp
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenSYCL.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/ConstantInitBuilder.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/QualTypeMapper.cpp
    M clang/lib/CodeGen/QualTypeMapper.h
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
    M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
    M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
    M clang/lib/CodeGen/TargetBuiltins/X86.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/DirectX.cpp
    M clang/lib/CodeGen/Targets/LoongArch.cpp
    M clang/lib/CodeGen/Targets/Mips.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/WebAssembly.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    A clang/lib/CodeGenUtils/CMakeLists.txt
    A clang/lib/CodeGenUtils/CodeGenUtils.cpp
    M clang/lib/CrossTU/CrossTranslationUnit.cpp
    M clang/lib/DependencyScanning/CMakeLists.txt
    R clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/DependencyScanning/ModuleDepCollector.cpp
    M clang/lib/Driver/Action.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ModulesDriver.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/Tool.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/Arch/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Arch/AMDGPU.h
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Clang.h
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Cygwin.cpp
    M clang/lib/Driver/ToolChains/Cygwin.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.h
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.h
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.h
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/Hurd.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/Managarm.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/NetBSD.h
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/SPIRV.cpp
    M clang/lib/Driver/ToolChains/SYCL.cpp
    M clang/lib/Driver/ToolChains/SYCL.h
    M clang/lib/Driver/ToolChains/VEToolchain.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/Driver/Types.cpp
    M clang/lib/Edit/EditedSource.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Format/BreakableToken.cpp
    M clang/lib/Format/CMakeLists.txt
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/DefinitionBlockSeparator.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/lib/Frontend/DiagnosticRenderer.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
    M clang/lib/Frontend/PrintPreprocessedOutput.cpp
    M clang/lib/Frontend/Rewrite/InclusionRewriter.cpp
    M clang/lib/Frontend/SARIFDiagnostic.cpp
    M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
    M clang/lib/Frontend/TextDiagnostic.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/__clang_cuda_math.h
    M clang/lib/Headers/__clang_gpu_builtin_vars.h
    M clang/lib/Headers/__clang_gpu_device_functions.h
    M clang/lib/Headers/__clang_gpu_intrinsics.h
    A clang/lib/Headers/__clang_gpu_runtime_wrapper.h
    M clang/lib/Headers/amxavx512intrin.h
    M clang/lib/Headers/arm_acle.h
    M clang/lib/Headers/arm_neon_sve_bridge.h
    M clang/lib/Headers/avxintrin.h
    M clang/lib/Headers/bmi2intrin.h
    M clang/lib/Headers/cpuid.h
    M clang/lib/Headers/emmintrin.h
    A clang/lib/Headers/hip_wrappers/hip/device_functions.h
    A clang/lib/Headers/hip_wrappers/hip/hip_runtime.h
    M clang/lib/Headers/hlsl.h
    M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
    M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/intrin.h
    M clang/lib/Headers/opencl-c-base.h
    M clang/lib/Headers/ptrauth.h
    M clang/lib/Headers/riscv_packed_simd.h
    M clang/lib/Headers/xmmintrin.h
    M clang/lib/Index/IndexBody.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Index/IndexTypeSourceInfo.cpp
    M clang/lib/Index/IndexingAction.cpp
    M clang/lib/InstallAPI/DirectoryScanner.cpp
    M clang/lib/InstallAPI/Frontend.cpp
    M clang/lib/InstallAPI/HeaderFile.cpp
    M clang/lib/Interpreter/DeviceOffload.cpp
    M clang/lib/Interpreter/IncrementalAction.cpp
    M clang/lib/Interpreter/IncrementalAction.h
    M clang/lib/Interpreter/IncrementalExecutor.cpp
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Interpreter/IncrementalParser.h
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Lex/DependencyDirectivesScanner.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPExpressions.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Lex/Pragma.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Lex/UnicodeCharSets.h
    M clang/lib/Options/DriverOptions.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/ScalableStaticAnalysis/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
    M clang/lib/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowExtractor.cpp
    M clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
    M clang/lib/ScalableStaticAnalysis/Core/ASTEntityMapping.cpp
    M clang/lib/ScalableStaticAnalysis/Core/EntityLinker/EntityLinker.cpp
    M clang/lib/ScalableStaticAnalysis/Core/Model/BuildNamespace.cpp
    M clang/lib/ScalableStaticAnalysis/Core/TUSummary/TUSummaryExtractor.cpp
    M clang/lib/ScalableStaticAnalysis/Frontend/SourceTransformationFrontendAction.cpp
    M clang/lib/ScalableStaticAnalysis/Frontend/TUSummaryExtractorFrontendAction.cpp
    M clang/lib/ScalableStaticAnalysis/SourceTransformation/CMakeLists.txt
    M clang/lib/ScalableStaticAnalysis/SourceTransformation/TransformationRegistry.cpp
    A clang/lib/ScalableStaticAnalysis/SourceTransformation/Transformations/CppBoundedBuffers.cpp
    M clang/lib/ScalableStaticAnalysis/Tool/Utils.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
    M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    A clang/lib/Sema/SemaAPINotesInternal.h
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaAccess.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpand.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaSwift.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/SemaTypeTraits.cpp
    M clang/lib/Sema/SemaWasm.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/GlobalModuleIndex.cpp
    M clang/lib/Serialization/ModuleManager.cpp
    M clang/lib/Serialization/TemplateArgumentHasher.cpp
    M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
    A clang/lib/StaticAnalyzer/Checkers/BoundsChecking.cpp
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DanglingPtrDeref.cpp
    M clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.h
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Checkers/RunLoopAutoreleaseLeakChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/TaggedUnionModeling.h
    M clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UseAfterLifetimeEnd.cpp
    M clang/lib/StaticAnalyzer/Checkers/VAListChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/MemoryUnsafeCastChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp
    M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
    M clang/lib/StaticAnalyzer/Frontend/ModelConsumer.cpp
    M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
    M clang/lib/Testing/TestAST.cpp
    M clang/lib/Tooling/CommonOptionsParser.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
    M clang/lib/Tooling/Syntax/Tokens.cpp
    M clang/lib/UnifiedSymbolResolution/USRGeneration.cpp
    A clang/test/APINotes/Inputs/Frameworks/RawIdentifiers.framework/Headers/RawIdentifiers.apinotes
    A clang/test/APINotes/Inputs/Frameworks/RawIdentifiers.framework/Headers/RawIdentifiers.h
    A clang/test/APINotes/Inputs/Frameworks/RawIdentifiers.framework/Modules/module.modulemap
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
    M clang/test/APINotes/Inputs/Headers/WhereParametersSema.apinotes
    M clang/test/APINotes/Inputs/Headers/WhereParametersSema.h
    M clang/test/APINotes/swift-import-as.cpp
    A clang/test/APINotes/swift-name-raw-identifiers.m
    A clang/test/APINotes/where-parameters-diagnostics.cpp
    M clang/test/APINotes/where-parameters-sema.cpp
    M clang/test/AST/ByteCode/amdgpu-nullptr.cl
    M clang/test/AST/ByteCode/builtin-functions.cpp
    A clang/test/AST/ByteCode/builtin-object-size-codegen-cxx23.cpp
    M clang/test/AST/ByteCode/builtin-object-size-codegen.c
    M clang/test/AST/ByteCode/builtin-object-size-codegen.cpp
    M clang/test/AST/ByteCode/c.c
    M clang/test/AST/ByteCode/codegen.c
    M clang/test/AST/ByteCode/complex.c
    M clang/test/AST/ByteCode/constexpr-steps.cpp
    M clang/test/AST/ByteCode/cxx11.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/cxx23.cpp
    M clang/test/AST/ByteCode/cxx26.cpp
    M clang/test/AST/ByteCode/dynalloc-limits.cpp
    M clang/test/AST/ByteCode/dynamic-cast.cpp
    R clang/test/AST/ByteCode/enable_if.c
    M clang/test/AST/ByteCode/enums.cpp
    M clang/test/AST/ByteCode/initializer_list.cpp
    M clang/test/AST/ByteCode/invalid.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/AST/ByteCode/records.cpp
    A clang/test/AST/ByteCode/strings.cpp
    M clang/test/AST/ByteCode/virtual-bases.cpp
    M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
    M clang/test/AST/HLSL/ConstantBuffers-AST.hlsl
    A clang/test/AST/HLSL/MultiSampledTextures-AST.hlsl
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/Textures-AST.hlsl
    M clang/test/AST/HLSL/Textures-scalar-AST.hlsl
    M clang/test/AST/HLSL/Textures-shorthand-AST.hlsl
    M clang/test/AST/HLSL/Textures-vector-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/AST/HLSL/resource_binding_attr.hlsl
    M clang/test/AST/absurdly_big_struct.cpp
    M clang/test/AST/ast-dump-APValue-lvalue.cpp
    M clang/test/AST/ast-dump-amdgpu-types.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant-varying-return.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_1.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_10.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_11.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_12.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_13.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_2.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_3.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_4.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_5.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_6.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_7.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_8.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_9.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_addr_1.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_decl_1.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_namespace_1.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_nested.c
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_reference.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_template_1.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_template_2.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_template_3.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_template_4.cpp
    M clang/test/AST/ast-dump-openmp-declare-variant-extensions.c
    A clang/test/AST/ast-dump-pack-indexing-template.cpp
    M clang/test/AST/ast-dump-traits.cpp
    A clang/test/AST/ast-dump-union-assign-address-space.clcpp
    A clang/test/AST/ast-dump-union-assign-explicit-object.cpp
    A clang/test/AST/ast-dump-union-copy-move-assign.cpp
    A clang/test/AST/ast-dump-visibility.cpp
    A clang/test/AST/ast-print-decomposition.cpp
    A clang/test/AST/ast-print-pack-indexing-template.cpp
    A clang/test/AST/ast-print-union-assign.cpp
    A clang/test/AST/attr-swift_attr-redeclaration.c
    A clang/test/AST/friend-template-decl.cpp
    A clang/test/AST/spirv-event-type.cpp
    M clang/test/AST/undocumented-attrs.cpp
    M clang/test/Analysis/ArrayBound/assumption-reporting.c
    M clang/test/Analysis/ArrayBound/verbose-tests.c
    A clang/test/Analysis/Checkers/WebKit/html-diag-dedup.cpp
    M clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.mm
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/unchecked-call-arg.cpp
    M clang/test/Analysis/Checkers/WebKit/unchecked-lambda-captures.cpp
    A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-inline-namespace.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args-member.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
    M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
    M clang/test/Analysis/PR40625.cpp
    M clang/test/Analysis/Scalable/PointerFlow/external-inline-function-in-multi-tu.test
    M clang/test/Analysis/Scalable/PointerFlow/lref-to-rref-cast.test
    M clang/test/Analysis/Scalable/PointerFlow/multi-decl-contributor.cpp
    M clang/test/Analysis/Scalable/PointerFlow/multi-dim-pointer-flow-constraint.test
    A clang/test/Analysis/Scalable/PointerFlow/unsafe-buffer-reachable-cast-cycle.test
    A clang/test/Analysis/Scalable/TypeConstrainedPointers/unsafe-buffer-reachable-excludes-type-constrained-main.cpp
    A clang/test/Analysis/Scalable/TypeConstrainedPointers/unsafe-buffer-reachable-excludes-type-constrained-new-delete.cpp
    M clang/test/Analysis/Scalable/help.cpp
    M clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/TestTransformation.cpp
    M clang/test/Analysis/Scalable/source-edit-generation/cli-errors.cpp
    M clang/test/Analysis/Scalable/source-edit-generation/coexistence.cpp
    A clang/test/Analysis/Scalable/source-edit-generation/cpp-bounded-buffers-replacements.cpp
    M clang/test/Analysis/Scalable/source-edit-generation/downgradable-errors.cpp
    M clang/test/Analysis/Scalable/source-edit-generation/happy-path.cpp
    A clang/test/Analysis/Scalable/source-edit-generation/lit.local.cfg
    M clang/test/Analysis/Scalable/source-edit-generation/write-failure.cpp
    A clang/test/Analysis/Scalable/ssaf-analyzer/Outputs/empty-pairs.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/bad-artifact.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/lib-aarch64.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/lib-arm64.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/lib-ios-versioned.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/lib-ios.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/lib-otherns.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/lib-x86_64.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/libfoo-2arch.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/libmulti-empty-wrapper.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/libmulti-multiarch-wrongns.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/libord-reversed.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/libshared-empty-wrapper.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/libshared-multiarch-wrongns.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/libtwo-2arch.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/lu-arm64.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/lu-ios-libfoo.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/lu-macosx-libfoo.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/lu-otherns.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/lu-x86_64.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-linux.json
    A clang/test/Analysis/Scalable/ssaf-linker/Inputs/tu-x86_64.json
    A clang/test/Analysis/Scalable/ssaf-linker/Outputs/libfoo-3arch.json
    A clang/test/Analysis/Scalable/ssaf-linker/Outputs/libmulti-1arch.json
    A clang/test/Analysis/Scalable/ssaf-linker/Outputs/libmulti-2arch.json
    A clang/test/Analysis/Scalable/ssaf-linker/Outputs/libmulti-3arch.json
    A clang/test/Analysis/Scalable/ssaf-linker/Outputs/libshared-1arch.json
    A clang/test/Analysis/Scalable/ssaf-linker/Outputs/libshared-2arch.json
    M clang/test/Analysis/Scalable/ssaf-linker/help.test
    M clang/test/Analysis/Scalable/ssaf-linker/io.test
    M clang/test/Analysis/Scalable/ssaf-linker/linking-errors.test
    M clang/test/Analysis/Scalable/ssaf-linker/linking.test
    A clang/test/Analysis/Scalable/ssaf-linker/multi-arch-create.test
    A clang/test/Analysis/Scalable/ssaf-linker/multi-arch-help.test
    A clang/test/Analysis/Scalable/ssaf-linker/multi-arch-time.test
    A clang/test/Analysis/Scalable/ssaf-linker/multi-arch-verbose.test
    M clang/test/Analysis/Scalable/ssaf-linker/time.test
    M clang/test/Analysis/Scalable/ssaf-linker/verbose.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/conflict-text-q-offset-30.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/conflict-text-y.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/conflict-text-z.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/empty.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/internal-conflict.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/non-overlapping-a.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/non-overlapping-b.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/range-overlap-cluster-of-three.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/range-overlap-distinct-offsets.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/single-non-zero-length-replacement.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/single-replacement-offset-30.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/single-replacement.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/Inputs/single-zero-length-insert.tpl.yaml
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/bad-args.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/conflict-preserves-unrelated-zero-length-insert.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/conflict-stderr-without-sarif.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/empty-input.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/help.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/identical-overlap.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/malformed-yaml.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/no-conflict-sarif-empty.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/non-overlapping.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/order-invariance.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/parent-dir-missing.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/pre-dedup-identical-non-zero-length.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/pre-dedup-zero-length-insert.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/range-overlap-cluster-of-three-sarif.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/range-overlap-conflict-sarif.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/sarif-out-parent-dir-missing.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/single-input-internal-conflict.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/single-input.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/three-input-all-conflict.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/three-input-conflict-sarif.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/two-conflicts-different-offsets-sarif.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/two-input-conflict-sarif.test
    A clang/test/Analysis/Scalable/ssaf-src-edit-merge/two-input-conflict.test
    M clang/test/Analysis/addrspace-null.c
    M clang/test/Analysis/anonymous-decls.cpp
    M clang/test/Analysis/bitwise-shift-common.c
    M clang/test/Analysis/builtin_overflow.c
    M clang/test/Analysis/call-and-message-argpointeeinitializedness.c
    M clang/test/Analysis/call-and-message-argpointeeinitializedness.cpp
    M clang/test/Analysis/call-and-message.c
    M clang/test/Analysis/cast-value-notes.cpp
    A clang/test/Analysis/cfg-eval-order.c
    A clang/test/Analysis/cfg-eval-order.cpp
    M clang/test/Analysis/cfg.cpp
    A clang/test/Analysis/constant-function-pointer.cpp
    M clang/test/Analysis/cstring-syntax.c
    A clang/test/Analysis/ctu/import_incomplete_array_auto_return_type.cpp
    A clang/test/Analysis/ctu/invalid-lambda-type-equivalence.cpp
    A clang/test/Analysis/ctu/stu-workremaining-with-ctu-calls.cpp
    A clang/test/Analysis/ctu/stu-workremaining.cpp
    M clang/test/Analysis/cxx-dynamic-memory-analysis-order.cpp
    A clang/test/Analysis/cxx-uninitialized-object-note-order.cpp
    M clang/test/Analysis/dangling-ptr-deref.cpp
    M clang/test/Analysis/debug-lifetime-bound.cpp
    M clang/test/Analysis/diagnostics/macros.cpp
    A clang/test/Analysis/diagnostics/sarif-macro-expansion.c
    M clang/test/Analysis/dtor-array.cpp
    M clang/test/Analysis/element-region-address-space.c
    M clang/test/Analysis/exercise-ps.c
    A clang/test/Analysis/html_diagnostics/highlight-range-mapping.cpp
    M clang/test/Analysis/lifetime-bound.cpp
    M clang/test/Analysis/misc-ps.m
    M clang/test/Analysis/pointer-sub.c
    M clang/test/Analysis/pthreadlock.c
    M clang/test/Analysis/ptr-cmp-const-trunc.cl
    A clang/test/Analysis/simplify-drops-concrete.c
    M clang/test/Analysis/solver-sym-simplification-ptr-bool.cl
    M clang/test/Analysis/stack-frame-context-revision.cpp
    A clang/test/Analysis/stdlibraryfunction-darwin.c
    M clang/test/Analysis/string-search-modeling.c
    M clang/test/Analysis/uninit-const.c
    M clang/test/Analysis/uninit-const.cpp
    M clang/test/Analysis/z3/cstring-addrspace.c
    A clang/test/Analysis/z3/z3-constraint-liveness.c
    M clang/test/Analysis/z3/z3-crosscheck.c
    M clang/test/C/C2y/n3410.c
    M clang/test/C/C2y/n3457.c
    A clang/test/CIR/Analysis/alias-analysis-modref.cir
    A clang/test/CIR/Analysis/alias-analysis-underlying-object.cir
    A clang/test/CIR/Analysis/alias-analysis.cir
    M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
    A clang/test/CIR/CodeGen/aarch64-ls64-inline-asm-nyi.c
    M clang/test/CIR/CodeGen/address-space.c
    M clang/test/CIR/CodeGen/agg-atomic-cast.c
    M clang/test/CIR/CodeGen/alloc-size.c
    M clang/test/CIR/CodeGen/amdgpu-address-spaces.cpp
    M clang/test/CIR/CodeGen/amdgpu-array-addrspace.cpp
    M clang/test/CIR/CodeGen/amdgpu-call-addrspace-cast.cpp
    M clang/test/CIR/CodeGen/amdgpu-stack-alloca-array-decay.cpp
    M clang/test/CIR/CodeGen/amdgpu-target-lowering-as.cpp
    M clang/test/CIR/CodeGen/annotate-attribute.cpp
    M clang/test/CIR/CodeGen/arg-attrs.cpp
    A clang/test/CIR/CodeGen/arithmetic-fence-builtin.c
    M clang/test/CIR/CodeGen/array-ctor.cpp
    M clang/test/CIR/CodeGen/array-init-loop-exprs.cpp
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/CodeGen/asm-label-redirect.c
    M clang/test/CIR/CodeGen/assign-operator.cpp
    M clang/test/CIR/CodeGen/atomic-libcall.c
    M clang/test/CIR/CodeGen/atomic-scoped.c
    M clang/test/CIR/CodeGen/atomic-thread-fence.c
    M clang/test/CIR/CodeGen/atomic.c
    A clang/test/CIR/CodeGen/attr-alias-no-proto.c
    A clang/test/CIR/CodeGen/attr-musttail.cpp
    M clang/test/CIR/CodeGen/attr-noundef.cpp
    M clang/test/CIR/CodeGen/attr-target-x86.c
    M clang/test/CIR/CodeGen/base-init-eh.cpp
    M clang/test/CIR/CodeGen/base-to-derived.cpp
    M clang/test/CIR/CodeGen/basic.c
    M clang/test/CIR/CodeGen/bind-temporary-lvalue.cpp
    M clang/test/CIR/CodeGen/binop.cpp
    M clang/test/CIR/CodeGen/bitfield-union.c
    M clang/test/CIR/CodeGen/bitfields.c
    M clang/test/CIR/CodeGen/bitfields.cpp
    M clang/test/CIR/CodeGen/bitfields_be.c
    A clang/test/CIR/CodeGen/bitint-record-layout.c
    M clang/test/CIR/CodeGen/bitint-split-storage-nyi.c
    M clang/test/CIR/CodeGen/bitint.c
    M clang/test/CIR/CodeGen/builtin-atomic-is-lock-free.c
    A clang/test/CIR/CodeGen/builtin-clear-padding-codegen.c
    A clang/test/CIR/CodeGen/builtin-cpu-is-cputype.c
    A clang/test/CIR/CodeGen/builtin-cpu-is-subtype.c
    A clang/test/CIR/CodeGen/builtin-cpu-is-vendor.c
    A clang/test/CIR/CodeGen/builtin-cpu-supports.c
    A clang/test/CIR/CodeGen/call-conv-lowering-flag.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-abi-compat.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-avx.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-byref.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-fnptr.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-indirect.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-member-ptr.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-packed.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-padded.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-variadic.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-vptr.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-zero-width-bitfield.c
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64.c
    M clang/test/CIR/CodeGen/call-no-decl.c
    M clang/test/CIR/CodeGen/call.c
    M clang/test/CIR/CodeGen/call.cpp
    A clang/test/CIR/CodeGen/callsite-inline-attributes.cpp
    M clang/test/CIR/CodeGen/cast.c
    M clang/test/CIR/CodeGen/cast.cpp
    M clang/test/CIR/CodeGen/choose-expr.cpp
    M clang/test/CIR/CodeGen/class.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
    M clang/test/CIR/CodeGen/cleanup-conditional.cpp
    M clang/test/CIR/CodeGen/cleanup-derived-to-base-ref.cpp
    M clang/test/CIR/CodeGen/cleanup-scope-goto-out.cpp
    M clang/test/CIR/CodeGen/cleanup-scope-goto-within.cpp
    M clang/test/CIR/CodeGen/cleanup.cpp
    M clang/test/CIR/CodeGen/cmp.cpp
    M clang/test/CIR/CodeGen/complex-atomic-cast.c
    M clang/test/CIR/CodeGen/complex-builtins.cpp
    M clang/test/CIR/CodeGen/complex-cast.cpp
    M clang/test/CIR/CodeGen/complex-compound-assignment.cpp
    A clang/test/CIR/CodeGen/complex-libcall-abi-global-init.cpp
    A clang/test/CIR/CodeGen/complex-libcall-abi.c
    M clang/test/CIR/CodeGen/complex-mul-div.cpp
    M clang/test/CIR/CodeGen/complex-plus-minus.cpp
    M clang/test/CIR/CodeGen/complex-unary.cpp
    M clang/test/CIR/CodeGen/complex.cpp
    M clang/test/CIR/CodeGen/compound_literal.cpp
    M clang/test/CIR/CodeGen/concept-specialization.cpp
    M clang/test/CIR/CodeGen/const-label-addr.c
    M clang/test/CIR/CodeGen/constant-expr.cpp
    M clang/test/CIR/CodeGen/convert-incomplete-type.cpp
    M clang/test/CIR/CodeGen/count-of.c
    M clang/test/CIR/CodeGen/ctor-alias.cpp
    M clang/test/CIR/CodeGen/ctor-null-init.cpp
    M clang/test/CIR/CodeGen/ctor.cpp
    M clang/test/CIR/CodeGen/cxx-abi-lowering-string-array.cpp
    M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
    M clang/test/CIR/CodeGen/cxx-rewritten-binary-operator.cpp
    M clang/test/CIR/CodeGen/cxx-special-member-attr.cpp
    M clang/test/CIR/CodeGen/cxx-traits.cpp
    A clang/test/CIR/CodeGen/cxx20-module-initializer.cppm
    A clang/test/CIR/CodeGen/default-func-attrs-invoke.cpp
    M clang/test/CIR/CodeGen/deferred-fn-defs.cpp
    M clang/test/CIR/CodeGen/delegating-ctor.cpp
    A clang/test/CIR/CodeGen/delete-array-aligned.cpp
    M clang/test/CIR/CodeGen/delete-destroying.cpp
    M clang/test/CIR/CodeGen/delete.cpp
    A clang/test/CIR/CodeGen/destructor-vtable-reinit-strict.cpp
    A clang/test/CIR/CodeGen/destructor-vtable-reinit.cpp
    M clang/test/CIR/CodeGen/destructors.cpp
    M clang/test/CIR/CodeGen/dtor-alias.cpp
    M clang/test/CIR/CodeGen/dtors.cpp
    M clang/test/CIR/CodeGen/dumb-record.cpp
    M clang/test/CIR/CodeGen/embed-expr.c
    M clang/test/CIR/CodeGen/empty-union.c
    M clang/test/CIR/CodeGen/empty-union.cpp
    M clang/test/CIR/CodeGen/enum-bool.cpp
    M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
    A clang/test/CIR/CodeGen/fixed-point-arith.cpp
    A clang/test/CIR/CodeGen/fixed-point-conversions.cpp
    M clang/test/CIR/CodeGen/fixed-point-literal.c
    M clang/test/CIR/CodeGen/flexible-array-init.c
    M clang/test/CIR/CodeGen/forrange.cpp
    M clang/test/CIR/CodeGen/forward-decls.cpp
    A clang/test/CIR/CodeGen/fp-contract-on-pragma.cpp
    A clang/test/CIR/CodeGen/fp-contract-pragma.cpp
    A clang/test/CIR/CodeGen/fp-contract.c
    M clang/test/CIR/CodeGen/func-linkage-weak-import.c
    M clang/test/CIR/CodeGen/function-to-pointer-decay.c
    M clang/test/CIR/CodeGen/generic-selection.c
    M clang/test/CIR/CodeGen/global-array-dtor.cpp
    M clang/test/CIR/CodeGen/global-ctor-dtor.cpp
    M clang/test/CIR/CodeGen/global-decomp-decls.cpp
    A clang/test/CIR/CodeGen/global-init-coerced-return.cpp
    A clang/test/CIR/CodeGen/global-init-fenv.cpp
    M clang/test/CIR/CodeGen/global-init.cpp
    A clang/test/CIR/CodeGen/global-ptr-flat-offset.c
    A clang/test/CIR/CodeGen/global-replace-record-array.c
    M clang/test/CIR/CodeGen/global-section.c
    M clang/test/CIR/CodeGen/global-temp-dtor.cpp
    M clang/test/CIR/CodeGen/global-tls-dyn-init.cpp
    A clang/test/CIR/CodeGen/global-tls-dynamic-vs-static.cpp
    M clang/test/CIR/CodeGen/global-tls-simple-init.cpp
    M clang/test/CIR/CodeGen/global-tls-templates.cpp
    M clang/test/CIR/CodeGen/gnu-null.cpp
    M clang/test/CIR/CodeGen/goto-address-label-table.c
    A clang/test/CIR/CodeGen/goto-indirect-cleanup-nyi.c
    A clang/test/CIR/CodeGen/goto-indirect-nested.c
    M clang/test/CIR/CodeGen/if.cpp
    M clang/test/CIR/CodeGen/implicit-value-init-expr.cpp
    M clang/test/CIR/CodeGen/inherited-ctors.cpp
    M clang/test/CIR/CodeGen/initializer-list-two-pointers.cpp
    M clang/test/CIR/CodeGen/inline-cxx-func.cpp
    M clang/test/CIR/CodeGen/instantiate-init.cpp
    M clang/test/CIR/CodeGen/kr-func-promote.c
    M clang/test/CIR/CodeGen/label-values.c
    M clang/test/CIR/CodeGen/label.c
    M clang/test/CIR/CodeGen/lambda-dtor-field.cpp
    A clang/test/CIR/CodeGen/lambda-generic-in-cxx11abi-lambda.cpp
    M clang/test/CIR/CodeGen/lambda-static-invoker-agg-return.cpp
    M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
    M clang/test/CIR/CodeGen/lambda.cpp
    A clang/test/CIR/CodeGen/lifetime-marker.cpp
    M clang/test/CIR/CodeGen/local-const-aggregate-name-clash.cpp
    A clang/test/CIR/CodeGen/local-ptr-flat-offset.cpp
    A clang/test/CIR/CodeGen/local-static-temp-dtor.cpp
    M clang/test/CIR/CodeGen/loop-cond-cleanup.cpp
    M clang/test/CIR/CodeGen/loop-cond-var-cleanup.cpp
    M clang/test/CIR/CodeGen/loop.cpp
    M clang/test/CIR/CodeGen/member-functions.cpp
    M clang/test/CIR/CodeGen/mms-bitfields.c
    M clang/test/CIR/CodeGen/multi-vtable.cpp
    M clang/test/CIR/CodeGen/namespace.cpp
    M clang/test/CIR/CodeGen/new-delete-deactivation.cpp
    M clang/test/CIR/CodeGen/new-null.cpp
    M clang/test/CIR/CodeGen/new.cpp
    M clang/test/CIR/CodeGen/no-odr-use.cpp
    M clang/test/CIR/CodeGen/no-proto-fn-ptr-global-init.c
    M clang/test/CIR/CodeGen/no-unique-address.cpp
    M clang/test/CIR/CodeGen/noexcept.cpp
    M clang/test/CIR/CodeGen/nofpclass.c
    M clang/test/CIR/CodeGen/non-scalar-lval-return.cpp
    M clang/test/CIR/CodeGen/non-type-template-param.cpp
    M clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
    M clang/test/CIR/CodeGen/nrvo.cpp
    M clang/test/CIR/CodeGen/nullptr-init.cpp
    M clang/test/CIR/CodeGen/opaque.c
    M clang/test/CIR/CodeGen/opaque.cpp
    M clang/test/CIR/CodeGen/pack-indexing.cpp
    M clang/test/CIR/CodeGen/paren-init-list.cpp
    M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
    M clang/test/CIR/CodeGen/partial-array-cleanup.cpp
    M clang/test/CIR/CodeGen/pass-object-size.c
    A clang/test/CIR/CodeGen/pointer-to-data-member-indirect-field.cpp
    M clang/test/CIR/CodeGen/pointer-to-data-member.cpp
    M clang/test/CIR/CodeGen/pointer-to-empty-data-member.cpp
    M clang/test/CIR/CodeGen/pointer-to-member-func-cast.cpp
    M clang/test/CIR/CodeGen/pointer-to-member-func-cmp.cpp
    A clang/test/CIR/CodeGen/pointer-width-32bit.cpp
    A clang/test/CIR/CodeGen/pragma-fenv_access.c
    M clang/test/CIR/CodeGen/ptrdiff.c
    M clang/test/CIR/CodeGen/ptrdiff.cpp
    A clang/test/CIR/CodeGen/record-member-kinds.c
    A clang/test/CIR/CodeGen/record-member-kinds.cpp
    M clang/test/CIR/CodeGen/record-type-metadata.cpp
    M clang/test/CIR/CodeGen/record-with-padded-union.cpp
    M clang/test/CIR/CodeGen/record-zero-init-padding.c
    M clang/test/CIR/CodeGen/replace-global.cpp
    M clang/test/CIR/CodeGen/requires-expr.cpp
    M clang/test/CIR/CodeGen/restrict-noalias.c
    M clang/test/CIR/CodeGen/ret-attrs.cpp
    M clang/test/CIR/CodeGen/rtti-member-pointer.cpp
    M clang/test/CIR/CodeGen/rtti-qualfn.cpp
    M clang/test/CIR/CodeGen/size-of-vla.cpp
    M clang/test/CIR/CodeGen/source-loc.cpp
    A clang/test/CIR/CodeGen/spirv-target-lowering-as.cpp
    M clang/test/CIR/CodeGen/statement-exprs.c
    A clang/test/CIR/CodeGen/static-local-guard-abort.cpp
    A clang/test/CIR/CodeGen/static-local-info.cpp
    M clang/test/CIR/CodeGen/static-local-nested-reference.cpp
    M clang/test/CIR/CodeGen/static-local.cpp
    M clang/test/CIR/CodeGen/static-members.cpp
    A clang/test/CIR/CodeGen/static-vla-pointer.c
    M clang/test/CIR/CodeGen/stmt-expr.cpp
    M clang/test/CIR/CodeGen/struct-init.cpp
    M clang/test/CIR/CodeGen/struct.c
    M clang/test/CIR/CodeGen/struct.cpp
    M clang/test/CIR/CodeGen/switch.cpp
    M clang/test/CIR/CodeGen/temp-param-obj-decl.cpp
    M clang/test/CIR/CodeGen/template-specialization.cpp
    M clang/test/CIR/CodeGen/temporary-materialization.cpp
    M clang/test/CIR/CodeGen/ternary-throw.cpp
    M clang/test/CIR/CodeGen/thread-local-in-func.cpp
    M clang/test/CIR/CodeGen/three-way-cmp.cpp
    M clang/test/CIR/CodeGen/throws.cpp
    M clang/test/CIR/CodeGen/thunks.cpp
    A clang/test/CIR/CodeGen/tls-model-func-scope.cpp
    A clang/test/CIR/CodeGen/tls-model.cpp
    M clang/test/CIR/CodeGen/tls.c
    M clang/test/CIR/CodeGen/trivial-abi.cpp
    R clang/test/CIR/CodeGen/trivial-union-assign-nyi.cpp
    M clang/test/CIR/CodeGen/try-catch.cpp
    M clang/test/CIR/CodeGen/typedef.c
    M clang/test/CIR/CodeGen/unary.cpp
    M clang/test/CIR/CodeGen/union-agg-init.c
    M clang/test/CIR/CodeGen/union-agg-init.cpp
    A clang/test/CIR/CodeGen/union-copy-move-assignment.cpp
    A clang/test/CIR/CodeGen/union-init-padding-array.c
    M clang/test/CIR/CodeGen/union.c
    M clang/test/CIR/CodeGen/union.cpp
    M clang/test/CIR/CodeGen/unions-with-zero-init.cpp
    M clang/test/CIR/CodeGen/var-arg-aggregate.c
    M clang/test/CIR/CodeGen/var_arg.c
    M clang/test/CIR/CodeGen/variable-decomposition.cpp
    M clang/test/CIR/CodeGen/variable-template-specialization.cpp
    M clang/test/CIR/CodeGen/vbase.cpp
    A clang/test/CIR/CodeGen/vector-bool.cpp
    M clang/test/CIR/CodeGen/vector-ext-element.cpp
    M clang/test/CIR/CodeGen/vector-ext.cpp
    A clang/test/CIR/CodeGen/vector-strict-fp.cpp
    M clang/test/CIR/CodeGen/vector.cpp
    M clang/test/CIR/CodeGen/virtual-destructor-calls.cpp
    M clang/test/CIR/CodeGen/virtual-fn-calls-eh.cpp
    M clang/test/CIR/CodeGen/virtual-function-calls.cpp
    M clang/test/CIR/CodeGen/vla.c
    M clang/test/CIR/CodeGen/vtable-emission.cpp
    M clang/test/CIR/CodeGen/vtable-linkage-explicit-instantiation.cpp
    M clang/test/CIR/CodeGen/vtable-nyi-nonconvertible-functype.cpp
    A clang/test/CIR/CodeGen/vtable-thunk-undefined-callee.cpp
    M clang/test/CIR/CodeGen/vtt.cpp
    R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
    R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_len.c
    A clang/test/CIR/CodeGenBuiltins/Inputs/stdbit.h
    M clang/test/CIR/CodeGenBuiltins/NVPTX/builtins-nvptx-sync.cu
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv-xandesperf-rv32.c
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv-xandesperf-rv64.c
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv32-zknd.c
    A clang/test/CIR/CodeGenBuiltins/RISCV/riscv64-zknd.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx10_2_512bf16-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx10_2bf16-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceIntrin.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceMinMaxIntrin.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512f16c-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vbmi2-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vlbf16-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vlbw-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vlfp16-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vlvp2intersect-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vp2intersect-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/keylocker.c
    M clang/test/CIR/CodeGenBuiltins/X86/rd-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/sse2-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/vec-set-builtins.c
    M clang/test/CIR/CodeGenBuiltins/builtin-address-of.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-bcopy.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-constant-p.c
    M clang/test/CIR/CodeGenBuiltins/builtin-fcmp-sse.c
    M clang/test/CIR/CodeGenBuiltins/builtin-fpclassify.c
    M clang/test/CIR/CodeGenBuiltins/builtin-isfpclass.c
    M clang/test/CIR/CodeGenBuiltins/builtin-isinf-sign.c
    M clang/test/CIR/CodeGenBuiltins/builtin-memchr.c
    M clang/test/CIR/CodeGenBuiltins/builtin-offset-of.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-prefetch.c
    M clang/test/CIR/CodeGenBuiltins/builtin-printf.cpp
    A clang/test/CIR/CodeGenBuiltins/builtin-stdc-bit-nyi.c
    A clang/test/CIR/CodeGenBuiltins/builtin-stdc-bit.c
    A clang/test/CIR/CodeGenBuiltins/builtin-sync.cpp
    M clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp
    M clang/test/CIR/CodeGenBuiltins/builtins-elementwise-bool-nyi.c
    M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
    M clang/test/CIR/CodeGenBuiltins/builtins-floating-point.c
    M clang/test/CIR/CodeGenBuiltins/setjmp.c
    M clang/test/CIR/CodeGenCUDA/address-spaces.cu
    M clang/test/CIR/CodeGenCUDA/builtins-nvvm-atomic.cu
    A clang/test/CIR/CodeGenCUDA/builtins-nvvm-fma-oob.cu
    A clang/test/CIR/CodeGenCUDA/builtins-nvvm-half.cu
    A clang/test/CIR/CodeGenCUDA/builtins-nvvm-ldu-ldg.cu
    R clang/test/CIR/CodeGenCUDA/builtins-nvvm-ldu.cu
    M clang/test/CIR/CodeGenCUDA/builtins-nvvm-math.cu
    M clang/test/CIR/CodeGenCUDA/device-stub.cu
    M clang/test/CIR/CodeGenCUDA/kernel-call.cu
    A clang/test/CIR/CodeGenCUDA/launch-bounds.cu
    A clang/test/CIR/CodeGenCUDA/template-class-static-member.cu
    A clang/test/CIR/CodeGenCUDA/texture.cu
    A clang/test/CIR/CodeGenCUDA/uniform-work-group-size.cu
    M clang/test/CIR/CodeGenCXX/global-refs.cpp
    A clang/test/CIR/CodeGenCXX/init-priority-attr.cpp
    M clang/test/CIR/CodeGenCXX/typeid-most-derived.cpp
    M clang/test/CIR/CodeGenCXX/typeid-should-throw.cpp
    M clang/test/CIR/CodeGenCXX/typeid.cpp
    M clang/test/CIR/CodeGenCXX/uncopyable-args.cpp
    M clang/test/CIR/CodeGenCXX/vtable-linkage.cpp
    M clang/test/CIR/CodeGenCXX/vtable-pure-deleted-funcs.cpp
    M clang/test/CIR/CodeGenCXX/x86_64-arguments.cpp
    M clang/test/CIR/CodeGenCXX/zero_init_bases.cpp
    A clang/test/CIR/CodeGenCoroutines/coro-alloc.cpp
    A clang/test/CIR/CodeGenCoroutines/coro-builtins-err.cpp
    A clang/test/CIR/CodeGenCoroutines/coro-builtins.cpp
    M clang/test/CIR/CodeGenCoroutines/coro-task.cpp
    A clang/test/CIR/CodeGenHIP/amdgcnspirv-kernel.hip
    M clang/test/CIR/CodeGenHIP/amdgpu-attrs.hip
    M clang/test/CIR/CodeGenHIP/amdgpu-module-flags.hip
    A clang/test/CIR/CodeGenHIP/builtin-bool-result.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-extended-image.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx10.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx11.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx1250.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-s-prefetch-inst-nyi.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn-vi-f16.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-wave32.hip
    A clang/test/CIR/CodeGenHIP/builtins-amdgcn-wave64.hip
    M clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
    M clang/test/CIR/CodeGenHIP/hip-cuid.hip
    M clang/test/CIR/CodeGenHIP/simple.cpp
    A clang/test/CIR/CodeGenHIP/ternary-struct-addrspace.hip
    M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
    M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
    M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
    M clang/test/CIR/CodeGenOpenACC/cache.c
    M clang/test/CIR/CodeGenOpenACC/combined-copy.c
    M clang/test/CIR/CodeGenOpenACC/combined-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-copyin-copyout-create.c
    M clang/test/CIR/CodeGenOpenACC/combined-firstprivate-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-copy.c
    M clang/test/CIR/CodeGenOpenACC/compute-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-copyin-copyout-create.c
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause-templates.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.c
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-private-clause-templates.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-private-clause.c
    M clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/data-copy-copyin-copyout-create.c
    M clang/test/CIR/CodeGenOpenACC/data.c
    M clang/test/CIR/CodeGenOpenACC/declare-copy.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-copyin.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-copyout.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-create.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-deviceptr.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-deviceresident.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-link.cpp
    M clang/test/CIR/CodeGenOpenACC/declare-present.cpp
    M clang/test/CIR/CodeGenOpenACC/enter-data.c
    M clang/test/CIR/CodeGenOpenACC/exit-data.c
    M clang/test/CIR/CodeGenOpenACC/host_data.c
    M clang/test/CIR/CodeGenOpenACC/init.c
    M clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop.cpp
    M clang/test/CIR/CodeGenOpenACC/parallel.c
    A clang/test/CIR/CodeGenOpenACC/private-clause-coerced-ctor.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-anon-ns.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-bind.c
    M clang/test/CIR/CodeGenOpenACC/routine-bind.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-clauses.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-device_type.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-globals.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-globals2.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-locals.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-members.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-ns.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-templ.cpp
    M clang/test/CIR/CodeGenOpenACC/serial.c
    M clang/test/CIR/CodeGenOpenACC/set.c
    M clang/test/CIR/CodeGenOpenACC/shutdown.c
    M clang/test/CIR/CodeGenOpenACC/update.c
    M clang/test/CIR/CodeGenOpenACC/wait.c
    A clang/test/CIR/CodeGenOpenCL/address-space-conversions.cl
    M clang/test/CIR/CodeGenOpenCL/address-space-local-var.clcpp
    A clang/test/CIR/CodeGenOpenCL/address-spaces.cl
    A clang/test/CIR/CodeGenOpenCL/kernel-arg-info-single-as.cl
    A clang/test/CIR/CodeGenOpenCL/kernel-arg-info.cl
    A clang/test/CIR/CodeGenOpenCL/kernel-arg-metadata.cl
    A clang/test/CIR/CodeGenOpenCL/source-language.cl
    M clang/test/CIR/CodeGenOpenMP/barrier.c
    M clang/test/CIR/CodeGenOpenMP/decl-not-yet-implemented.c
    M clang/test/CIR/CodeGenOpenMP/emit-device-functions.cpp
    M clang/test/CIR/CodeGenOpenMP/not-yet-implemented.c
    M clang/test/CIR/CodeGenOpenMP/omp-llvmir.c
    M clang/test/CIR/CodeGenOpenMP/omp-module-attrs.c
    M clang/test/CIR/CodeGenOpenMP/parallel.c
    M clang/test/CIR/CodeGenOpenMP/target-host-op-filtering.c
    M clang/test/CIR/CodeGenOpenMP/target-map-llvm-device.c
    M clang/test/CIR/CodeGenOpenMP/target-map-llvm-host.c
    M clang/test/CIR/CodeGenOpenMP/target-map.c
    A clang/test/CIR/CodeGenSYCL/kernel-call-stmt.cpp
    A clang/test/CIR/CodeGenSYCL/kernel-caller-entry-point.cpp
    A clang/test/CIR/Diagnostics/mlir-error-routing.cu
    M clang/test/CIR/Driver/clangir.c
    M clang/test/CIR/IR/address-space.cir
    M clang/test/CIR/IR/array-ctor.cir
    M clang/test/CIR/IR/array-dtor.cir
    M clang/test/CIR/IR/bitfield_info.cir
    M clang/test/CIR/IR/builtin-int-cast.cir
    M clang/test/CIR/IR/catch-param.cir
    M clang/test/CIR/IR/cleanup-scope.cir
    A clang/test/CIR/IR/clear-padding.cir
    M clang/test/CIR/IR/cmp.cir
    M clang/test/CIR/IR/const-record-flexible-array.cir
    M clang/test/CIR/IR/const-record-union.cir
    M clang/test/CIR/IR/construct-catch-param.cir
    M clang/test/CIR/IR/copy.cir
    M clang/test/CIR/IR/dynamic-cast.cir
    A clang/test/CIR/IR/enum-attrs.cir
    A clang/test/CIR/IR/fenv.cir
    M clang/test/CIR/IR/func-attrs.cir
    M clang/test/CIR/IR/func.cir
    M clang/test/CIR/IR/global-init.cir
    M clang/test/CIR/IR/global.cir
    A clang/test/CIR/IR/goto-indirect.cir
    M clang/test/CIR/IR/inline-attrs.cir
    M clang/test/CIR/IR/invalid-array-structor.cir
    A clang/test/CIR/IR/invalid-bitfield-member.cir
    M clang/test/CIR/IR/invalid-call.cir
    M clang/test/CIR/IR/invalid-cast.cir
    A clang/test/CIR/IR/invalid-cmp.cir
    M clang/test/CIR/IR/invalid-const-record.cir
    M clang/test/CIR/IR/invalid-construct-catch-param.cir
    M clang/test/CIR/IR/invalid-data-member.cir
    M clang/test/CIR/IR/invalid-delete-array.cir
    M clang/test/CIR/IR/invalid-dyn-cast.cir
    M clang/test/CIR/IR/invalid-func.cir
    M clang/test/CIR/IR/invalid-global.cir
    M clang/test/CIR/IR/invalid-lang-attr.cir
    M clang/test/CIR/IR/invalid-loop-cleanup.cir
    A clang/test/CIR/IR/invalid-memchr.cir
    A clang/test/CIR/IR/invalid-offload-container.cir
    M clang/test/CIR/IR/invalid-opencl-kernel-arg-metadata.cir
    A clang/test/CIR/IR/invalid-record-layout.cir
    A clang/test/CIR/IR/invalid-record-member-kinds.cir
    M clang/test/CIR/IR/invalid-struct.cir
    M clang/test/CIR/IR/invalid-tls.cir
    M clang/test/CIR/IR/invalid-try-catch.cir
    M clang/test/CIR/IR/invalid-type-info.cir
    M clang/test/CIR/IR/invalid-vtable.cir
    M clang/test/CIR/IR/libc-memchr.cir
    M clang/test/CIR/IR/loop-cleanup.cir
    M clang/test/CIR/IR/method-attr.cir
    M clang/test/CIR/IR/module.cir
    A clang/test/CIR/IR/offload-container.cir
    M clang/test/CIR/IR/openacc.cir
    M clang/test/CIR/IR/opencl-kernel-arg-metadata.cir
    A clang/test/CIR/IR/pointer-data-layout.cir
    A clang/test/CIR/IR/static-local-info.cir
    M clang/test/CIR/IR/struct.cir
    M clang/test/CIR/IR/vtable-addrpt.cir
    M clang/test/CIR/IR/vtable-attr.cir
    M clang/test/CIR/IR/vtt-addrpoint.cir
    M clang/test/CIR/Lowering/address-space.cir
    M clang/test/CIR/Lowering/alloca.cir
    M clang/test/CIR/Lowering/array.cpp
    M clang/test/CIR/Lowering/basic.cpp
    M clang/test/CIR/Lowering/binop-fp.cir
    M clang/test/CIR/Lowering/builtin-int-cast.cir
    M clang/test/CIR/Lowering/calling-conv.cir
    M clang/test/CIR/Lowering/const-array-bulk-lowering-fallbacks.cir
    M clang/test/CIR/Lowering/const-array-of-pointers.cir
    A clang/test/CIR/Lowering/copy-skip-tail-padding.cir
    A clang/test/CIR/Lowering/fenv.cir
    M clang/test/CIR/Lowering/func-simple.cpp
    M clang/test/CIR/Lowering/goto.cir
    M clang/test/CIR/Lowering/lifetime.cir
    M clang/test/CIR/Lowering/local-vars.cpp
    M clang/test/CIR/Lowering/module-asm.cir
    M clang/test/CIR/Lowering/omp-target-map.cir
    A clang/test/CIR/Lowering/opencl-kernel-arg-metadata.cir
    M clang/test/CIR/Lowering/poison.cir
    M clang/test/CIR/Lowering/select.cir
    M clang/test/CIR/Lowering/stack-save-restore.cir
    A clang/test/CIR/Lowering/strictfp.cir
    M clang/test/CIR/Lowering/struct.cir
    M clang/test/CIR/Lowering/ternary.cir
    M clang/test/CIR/Lowering/vtt-addrpoint.cir
    A clang/test/CIR/Tools/pointer-width-from-triple.cir
    M clang/test/CIR/Tools/warn-default-triple.cir
    M clang/test/CIR/Transforms/abi-lowering/byval-sret-arg-attr-lowering.cir
    M clang/test/CIR/Transforms/abi-lowering/coerce-int-to-record.cir
    M clang/test/CIR/Transforms/abi-lowering/coerce-record-return-larger.cir
    M clang/test/CIR/Transforms/abi-lowering/coerce-record-to-int.cir
    M clang/test/CIR/Transforms/abi-lowering/coerce-record-to-record-via-memory.cir
    M clang/test/CIR/Transforms/abi-lowering/declaration-rewrite.cir
    M clang/test/CIR/Transforms/abi-lowering/direct-flatten.cir
    M clang/test/CIR/Transforms/abi-lowering/expand-struct-arg.cir
    M clang/test/CIR/Transforms/abi-lowering/extend-signed-arg.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-byref-forward-param.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-byref-nyi.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-byval.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-call-classification-attr.cir
    R clang/test/CIR/Transforms/abi-lowering/indirect-call-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-call-test-target.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-call.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-return-sret.cir
    M clang/test/CIR/Transforms/abi-lowering/variadic-call-nyi.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-aggregate-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-bitfield.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-bitint.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-complex.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-empty-class.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-get-global.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-incomplete-record-declaration.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-indirect-try-call-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-indirect-try-call.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-int-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-record-packed.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-scalars.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-struct-direct-offset.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-struct-direct.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-struct-indirect.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-struct-padded.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-union-coerce-shapes.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-union.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-variadic-call.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-variadic-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-vector.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-vptr.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-wide-floats.cir
    M clang/test/CIR/Transforms/builtin-int-cast-fold.cir
    M clang/test/CIR/Transforms/canonicalize-cleanup-scope.cir
    M clang/test/CIR/Transforms/canonicalize.cir
    A clang/test/CIR/Transforms/constant-load-fold.cir
    A clang/test/CIR/Transforms/constant-load-fold.cpp
    M clang/test/CIR/Transforms/cxx-abi-lowering-attrs.cir
    M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch-invalid.cir
    M clang/test/CIR/Transforms/eh-abi-lowering-construct-catch.cir
    M clang/test/CIR/Transforms/eh-abi-lowering-itanium.cir
    M clang/test/CIR/Transforms/flatten-cleanup-scope-eh.cir
    M clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
    M clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
    M clang/test/CIR/Transforms/flatten-loop-cleanup.cir
    M clang/test/CIR/Transforms/flatten-preserve-attrs.cir
    M clang/test/CIR/Transforms/flatten-throwing-in-cleanup.cir
    M clang/test/CIR/Transforms/flatten-try-op.cir
    M clang/test/CIR/Transforms/goto_solver.cir
    M clang/test/CIR/Transforms/hoist-allocas.cir
    M clang/test/CIR/Transforms/idiom-recognizer.cpp
    M clang/test/CIR/Transforms/lib-opt.cpp
    M clang/test/CIR/Transforms/mem2reg.cir
    M clang/test/CIR/Transforms/omp-mark-declare-target.cir
    M clang/test/CIR/Transforms/pure-ptr-arithmetic.cir
    M clang/test/CIR/Transforms/vector-cmp-fold.cir
    M clang/test/CIR/func-simple.cpp
    A clang/test/CIR/lib/Analysis/CMakeLists.txt
    A clang/test/CIR/lib/Analysis/TestCIRAliasAnalysis.cpp
    A clang/test/CIR/lib/CMakeLists.txt
    A clang/test/CIR/lib/lit.local.cfg
    M clang/test/CMakeLists.txt
    M clang/test/CXX/basic/basic.link/p3.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/namespace.qual/p2.cpp
    M clang/test/CXX/class.access/class.friend/p3-cxx0x.cpp
    A clang/test/CXX/cpp/cpp.include/p3.cpp
    R clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.depend/p1.cpp
    R clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.depend/p2.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.stc/p2.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-1y.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-generic-lambda-1y.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p5.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.auto.deduct/p2.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct.default/p4.cpp
    M clang/test/CXX/dcl/dcl.fct/p17.cpp
    R clang/test/CXX/dcl/dcl.spec/dcl.type/dcl.type.general/p2.cpp
    M clang/test/CXX/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg10xx.cpp
    M clang/test/CXX/drs/cwg14xx.cpp
    M clang/test/CXX/drs/cwg17xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg19xx.cpp
    M clang/test/CXX/drs/cwg20xx.cpp
    M clang/test/CXX/drs/cwg22xx.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg2947.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/CXX/drs/cwg4xx.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/test/CXX/expr/expr.post/expr.type.conv/p1-2b.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
    M clang/test/CXX/expr/expr.unary/expr.new/p14.cpp
    M clang/test/CXX/module/basic/basic.link/module-declaration.cpp
    M clang/test/CXX/module/cpp.pre/p1.cpp
    M clang/test/CXX/over/over.load/p2-0x.cpp
    M clang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
    M clang/test/CXX/stmt.stmt/stmt.select/p3.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp
    M clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
    M clang/test/CXX/temp/temp.decls/temp.friend/p5.cpp
    A clang/test/CXX/temp/temp.decls/temp.friend/p6.cpp
    M clang/test/ClangScanDeps/P1689.cppm
    A clang/test/ClangScanDeps/canonicalize-macros-multiarch.c
    A clang/test/ClangScanDeps/depscan-log-path.c
    A clang/test/ClangScanDeps/logging-driver-flag.c

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/afa36ec08825...f3095405d382

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