[all-commits] [llvm/llvm-project] ae4823: [CIR] Stop marking byval arguments noalias (#220673)

Adam Smith via All-commits all-commits at lists.llvm.org
Tue Sep 8 11:41:49 PDT 2026


  Branch: refs/heads/users/adams381/cir-callconv-byref-callsite-fallback
  Home:   https://github.com/llvm/llvm-project
  Commit: ae4823156cdf52221343b1bf9f4097eb5b54e1ac
      https://github.com/llvm/llvm-project/commit/ae4823156cdf52221343b1bf9f4097eb5b54e1ac
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    M clang/test/CIR/CodeGen/arg-attrs.cpp
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-abi-compat.c
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-avx.c
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-byref.cpp
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty.cpp
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-indirect.c
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-packed.c
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-padded.c
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-variadic.c
    M 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.c
    M clang/test/CIR/CodeGen/complex-libcall-abi.c
    M clang/test/CIR/Transforms/abi-lowering/byval-sret-arg-attr-lowering.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-byval.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-call-test-target.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-call.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-struct-indirect.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/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

  Log Message:
  -----------
  [CIR] Stop marking byval arguments noalias (#220673)

We were putting llvm.noalias on every byval argument. Classic adds it
only under -fpass-by-value-is-noalias, which defaults off, and that
option isn't plumbed into CIR at all, so the right thing is to not emit
it. llvm.noundef stays, since classic does emit that.

Most of the test churn is collapsing LLVM-CIR / LLVM-OGCG prefix pairs
that existed only to record the divergence.

Assisted-by: Cursor / claude-opus-5


  Commit: 52e4b75c8dbf1e6c524dd360f705d417c770efec
      https://github.com/llvm/llvm-project/commit/52e4b75c8dbf1e6c524dd360f705d417c770efec
  Author: Thomas Anderson <thomasanderson at google.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M libunwind/src/DwarfInstructions.hpp
    A libunwind/test/dwarf_expression_stack.pass.cpp

  Log Message:
  -----------
  [libunwind] Bound the DWARF expression evaluator operand stack (#220662)

`evaluateExpression` interprets DW_OP_* bytecode against a fixed-size
`pint_t stack[100]` operand stack without checking whether `sp` stays
within array bounds. Malformed or hostile DWARF expressions (such as
those injected via dynamic FDE registration) pushing more than 100
values or underflowing the stack could corrupt the native call stack.

Add bounds checking on `sp` within `evaluateExpression`:
- Bound `sp` to `[&stack[1], &stack[98]]` at each iteration in the
opcode loop, as single-step opcodes push at most 1 value and net-pop at
most 1.
- Add index/depth validation for `DW_OP_pick` and `DW_OP_rot`.
- Ensure `sp >= &stack[1]` on exit from the evaluator.
- Abort execution via `_LIBUNWIND_ABORT` when bounds are violated.
- Add a regression test verifying that an overflowing DWARF expression
aborts safely rather than overflowing the stack.


  Commit: 9741e25af3cecae45327c8adab6b7234f767df67
      https://github.com/llvm/llvm-project/commit/9741e25af3cecae45327c8adab6b7234f767df67
  Author: Piotr Jeremicz <32737430+piotrekjeremicz at users.noreply.github.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    A clang/test/DebugInfo/ObjC/property-backing-storage.m

  Log Message:
  -----------
  [clang][DebugInfo] Emit DIProperty for synthesized Objective-C properties (#220362)

Follow-up to #215776, which added `DW_TAG_property` / `DIProperty`
support to LLVM's DebugInfo. This patch teaches Clang's CodeGen to emit
the new `DIProperty` node.

In addition to the legacy `DIObjCProperty` node, `CGDebugInfo` now also
emits a `DIProperty` node whose `backing_storage` points at the ivar a
synthesized property forwards to.

Covered in `clang/test/DebugInfo/ObjC/property-backing-storage.m`:
- `declaredBacking`: `@synthesize` binds to a custom ivar name that IS
declared in the `@interface`.
- `undeclaredBacking`: `@synthesize` binds to a custom ivar name that is
NOT declared; the compiler creates the ivar itself.
- `implicitBacking`: no `@synthesize` at all; the compiler
auto-synthesizes both the accessors and a default-named ivar.


  Commit: deb7382b1b5bd500db25729a555c2e4db48a5ccd
      https://github.com/llvm/llvm-project/commit/deb7382b1b5bd500db25729a555c2e4db48a5ccd
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    A clang-tools-extra/clang-tidy/modernize/UseToUnderlyingCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseToUnderlyingCheck.h
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/docs/clang-tidy/checks/list.md
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-to-underlying.md
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/utility
    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

  Log Message:
  -----------
  [clang-tidy] Add modernize-use-to-underlying check (#210459)

Add a new clang-tidy check to flag casts from a scoped enumeration to an integer
type and replaces them with a call to std::to_underlying (C++23).

Addresses #71543


  Commit: 54a5233a5fa64d983b982d41fff0f5f2ad78bbb8
      https://github.com/llvm/llvm-project/commit/54a5233a5fa64d983b982d41fff0f5f2ad78bbb8
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/IPO/CMakeLists.txt
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    R llvm/test/Transforms/LowerTypeTests/Inputs/export-icall.yaml
    R llvm/test/Transforms/LowerTypeTests/Inputs/exported-funcs.yaml
    R llvm/test/Transforms/LowerTypeTests/Inputs/use-typeid1-dead.yaml
    R llvm/test/Transforms/LowerTypeTests/Inputs/use-typeid1-typeid2.yaml
    M llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
    M llvm/test/Transforms/LowerTypeTests/export-alias.ll
    M llvm/test/Transforms/LowerTypeTests/export-allones.ll
    M llvm/test/Transforms/LowerTypeTests/export-bytearray.ll
    M llvm/test/Transforms/LowerTypeTests/export-cross-dso-cfi.ll
    M llvm/test/Transforms/LowerTypeTests/export-dead.ll
    M llvm/test/Transforms/LowerTypeTests/export-icall.ll
    M llvm/test/Transforms/LowerTypeTests/export-inline.ll
    M llvm/test/Transforms/LowerTypeTests/export-rename-local.ll
    M llvm/test/Transforms/LowerTypeTests/export-single.ll
    M llvm/test/Transforms/LowerTypeTests/export-symver.ll
    M llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll
    M llvm/test/Transforms/LowerTypeTests/pr37625.ll

  Log Message:
  -----------
  [LowerTypeTests] Support assembly summaries and migrate export tests (#220776)

Update `LowerTypeTestsModule::runForTesting` to read module summaries
using `parseSummaryIndexAssembly` with automatic fallback to YAML.

We need summaries with call graph edges and edge hotness metadata for
upcoming tests (e.g. for jump table layout optimizations). Instead of
extending the custom YAML format, we should use the documented LLVM
assembly format for module summaries (introduced in 08d5b4ef0d08 and
63ee0e73e44e, and documented in LangRef). The text IR summary
representation (`^... = gv: (...)`) natively supports call edges,
hotness types, and function summary attributes.

Migrate all tests that used `-lowertypetests-summary-action=export` with
YAML summary inputs in `Inputs/` to self-contained tests using
`split-file` and text IR summaries. This eliminates the legacy YAML
files
and simplifies the summary representation using omitted default flags
and
tabulated layout.

TODO: Convert the rest of tests (some YAML features are missing from
textual summary assembly) and remove YAML from LowerTypeTests.

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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    A llvm/test/CodeGen/AMDGPU/promote-alloca-mixed-width-access.ll

  Log Message:
  -----------
  [AMDGPU] PromoteAlloca: split scalar accesses that span several elements (#217056)

promoteAllocaToVector already splits a *vector* access across several
elements when it is a multiple of the element size, but a *scalar*
access
had to be bitcastable to the element type, so an i64 load from an alloca
promoted to <8 x i32> was rejected as "not a supported access type" and
the object stayed in scratch.

Accept a scalar access that is a whole multiple of the element size and
route it through the existing subvector path, which already builds the
value from consecutive elements and bitcasts. Accesses with padding are
still rejected, since splitting those would put the pieces at the wrong
offsets, as are non-integer non-float types.


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

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGen/global-ptr-flat-offset.c
    A clang/test/CIR/CodeGen/local-ptr-flat-offset.cpp
    M clang/test/CIR/IR/global.cir

  Log Message:
  -----------
  [CIR] Add global offset attribute (#220128)

Previously, if we attempted to compile code that used an offset from a
global variable that created a pointer to outside the global or to a
location that wasn't the exact start of an element of a global
structure, CIR codegen would either assert or hit an unreachable
statement. However, there are legal cases where such an offset can be
used.

This change introduces a new attribute, GlobalOffsetAttr, that provides
a way to describe a raw byte offset from a pointer and uses that
attribute to handle cases where we are unable to compute indices for a
global view attribute.

Assisted-by: Cursor / various models


  Commit: dd46a521607e38f7d4764ed5cef28af4f25f20c1
      https://github.com/llvm/llvm-project/commit/dd46a521607e38f7d4764ed5cef28af4f25f20c1
  Author: Joe Isaacs <joe.isaacs at live.co.uk>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll

  Log Message:
  -----------
  [AArch64] Lower bitcast of wide <N x i1> masks without a stack spill in more cases (#203420)

vectorToScalarBitmask() lowers `bitcast <N x i1> to iN` to a
register-only movemask, but bailed when the mask's source vector type
`<N x ty>` is wider than 128 bits, leaving the bitcast to legalize
through a stack temporary.

The bail is unnecessary: the bitmask depends only on the lane count and
order, never on the per-lane width. Narrow the per-lane integer width to
128/NumElts bits so the mask fits one 128-bit register and the existing
register-only lowering applies.

Fixes #203414

Co-Authored-By: claude-code

---------

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


  Commit: 4392beb637118222095ccb8d02cdeca4e1c95c6d
      https://github.com/llvm/llvm-project/commit/4392beb637118222095ccb8d02cdeca4e1c95c6d
  Author: RolandF77 <froese at ca.ibm.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
    A llvm/test/Transforms/LoopVectorize/PowerPC/cost-partial-red.ll
    A llvm/test/Transforms/LoopVectorize/PowerPC/partial-red.ll

  Log Message:
  -----------
  [PowerPC] Add PPC cost model support for partial reductions (#214760)

PPC has some multiply-add partial reduction instructions, for i8 and i16
elements. Provide cost info so the vectorizers can make use of them.


  Commit: d107cc3822d95ba573819ef67a8430e8c171831e
      https://github.com/llvm/llvm-project/commit/d107cc3822d95ba573819ef67a8430e8c171831e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2026-09-03 (Thu, 03 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] Make GlobalLayoutBuilder a class with build() method (#221043)

Encapsulate GlobalLayoutBuilder into a class with private members and an
explicit build() method.

This separates fragment accumulation from final layout assembly and
flattening, preparing GlobalLayoutBuilder for ordering customization
in https://github.com/llvm/llvm-project/pull/221044.

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: 61cedc743136bdd8aac5fc0d49c541325f1bd4d4
      https://github.com/llvm/llvm-project/commit/61cedc743136bdd8aac5fc0d49c541325f1bd4d4
  Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

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

  Log Message:
  -----------
  [Bazel] Fixes 54a5233 (#221059)

This fixes 54a5233a5fa64d983b982d41fff0f5f2ad78bbb8 (#220776).

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

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


  Commit: c3a9d93ee54d83f7384002219d320b323e768996
      https://github.com/llvm/llvm-project/commit/c3a9d93ee54d83f7384002219d320b323e768996
  Author: hidekisaito <hidekido at amd.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
    M llvm/test/CodeGen/AMDGPU/sdwa-ops.mir

  Log Message:
  -----------
  [AMDGPU] Fix for SDWA assertion fail / compiler crash (#220798)

Iterator increment went beyond the end of MBB


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.ll
    R llvm/test/CodeGen/AMDGPU/promote-alloca-homogeneous-struct.ll

  Log Message:
  -----------
  Revert "[AMDGPU] PromoteAlloca: flatten homogeneous structs to vector… (#221058)

Reverts llvm/llvm-project#217055

unblock bot: https://lab.llvm.org/buildbot/#/builders/10


  Commit: feea42c26039263d5b26976f009dcf0615fb717f
      https://github.com/llvm/llvm-project/commit/feea42c26039263d5b26976f009dcf0615fb717f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M clang/docs/UsersManual.md
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.h
    M clang/test/CodeGenCUDA/anon-ns.cu
    M clang/test/CodeGenCUDA/device-stub.cu
    M clang/test/CodeGenCUDA/device-var-linkage.cu
    M clang/test/CodeGenCUDA/managed-var.cu
    M clang/test/CodeGenCUDA/offloading-entries.cu
    M clang/test/CodeGenCUDA/static-device-var-rdc.cu
    M clang/test/CodeGenHIP/offload-pgo-sections.hip
    M clang/test/Driver/amdgpu-hip-system-arch.c
    M clang/test/Driver/cuda-bad-arch.cu
    M clang/test/Driver/cuda-bindings.cu
    M clang/test/Driver/cuda-external-tools.cu
    M clang/test/Driver/cuda-openmp-driver.cu
    M clang/test/Driver/cuda-options.cu
    M clang/test/Driver/cuda-phases.cu
    M clang/test/Driver/ftime-trace-offload.cpp
    M clang/test/Driver/gpu-libc.c
    M clang/test/Driver/hip-binding.hip
    M clang/test/Driver/hip-code-object-version.hip
    R clang/test/Driver/hip-cuid-hash.hip
    M clang/test/Driver/hip-cuid.hip
    M clang/test/Driver/hip-dependent-options.hip
    R clang/test/Driver/hip-device-compile.hip
    R clang/test/Driver/hip-link-bc-to-bc.hip
    R clang/test/Driver/hip-link-bundle-archive.hip
    R clang/test/Driver/hip-link-save-temps.hip
    R clang/test/Driver/hip-link-shared-library.hip
    R clang/test/Driver/hip-link-static-library.hip
    R clang/test/Driver/hip-offload-compress-zlib.hip
    M clang/test/Driver/hip-offload-compress-zstd.hip
    M clang/test/Driver/hip-options.hip
    R clang/test/Driver/hip-output-file-name.hip
    R clang/test/Driver/hip-partial-link.hip
    M clang/test/Driver/hip-phases.hip
    R clang/test/Driver/hip-rdc-device-only.hip
    M clang/test/Driver/hip-save-temps.hip
    M clang/test/Driver/hip-spirv-backend-bindings.c
    M clang/test/Driver/hip-spirv-backend-opt.c
    M clang/test/Driver/hip-spirv-backend-phases.c
    M clang/test/Driver/hip-spirv-translator-new-driver.c
    R clang/test/Driver/hip-target-id.hip
    R clang/test/Driver/hip-temps-linux.hip
    R clang/test/Driver/hip-temps-windows.hip
    R clang/test/Driver/hip-toolchain-features.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip
    R clang/test/Driver/hip-toolchain-rdc-flto-partitions.hip
    R clang/test/Driver/hip-toolchain-rdc-separate.hip
    R clang/test/Driver/hip-toolchain-rdc-static-lib.hip
    M clang/test/Driver/hip-toolchain-rdc.hip
    R clang/test/Driver/hip-unbundle-preproc.hipi
    M clang/test/Driver/hipspv-link-static-library.hip
    M clang/test/Driver/hipspv-no-spirv-backend.hip
    M clang/test/Driver/hipspv-pass-plugin.hip
    M clang/test/Driver/hipspv-toolchain-rdc-separate.hip
    M clang/test/Driver/hipspv-toolchain-rdc.hip
    M clang/test/Driver/hipspv-toolchain.hip
    R clang/test/Driver/lto.cu
    M clang/test/Driver/nvptx-cuda-system-arch.c
    A clang/test/Driver/offload-new-driver-deprecated.c
    M clang/test/Driver/sycl-offload-jit.cpp
    R clang/test/Driver/thinlto.cu
    M clang/test/OpenMP/openmp_offload_weak_vtables.cpp
    M clang/unittests/Tooling/ToolingTest.cpp
    M libc/docs/gpu/using.rst
    M openmp/docs/CommandLineArgumentReference.rst
    M openmp/docs/SupportAndFAQ.rst

  Log Message:
  -----------
  [Clang] Remove the old LLVM offloading driver entirely (#211924)

Summary:
The 'new' offloading driver is the unified set of steps to produce
merged host and device output. OpenMP offloading has used it by default
since Clang 13, CUDA since Clang 21, and HIP / SYCL since Clang 23. The
support has matured in the 23 release and should now cover the remaining
use-cases.

This PR completely removes the support so we stop needing to support
both when making updates to the driver.


  Commit: 0edd1b088cc36b4faee80358c925a91e16006258
      https://github.com/llvm/llvm-project/commit/0edd1b088cc36b4faee80358c925a91e16006258
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/test/Lower/OpenACC/acc-cache.f90
    M flang/test/Lower/OpenMP/Todo/requires-unnamed-common.f90
    M flang/test/Lower/OpenMP/force-usm.f90
    M flang/test/Lower/OpenMP/has_device_addr-mapinfo.f90
    M flang/test/Lower/OpenMP/interop.f90
    M flang/test/Lower/OpenMP/requires-common.f90
    M flang/test/Lower/OpenMP/requires-force-usm.f90
    M flang/test/Lower/OpenMP/requires-usm.f90
    M flang/test/Lower/OpenMP/requires.f90
    M flang/test/Lower/location.f90
    M flang/test/Transforms/OpenMP/lower-workdistribute-fission-target.mlir
    M flang/test/Transforms/omp-map-info-finalization-usm.fir
    M mlir/docs/DefiningDialects/AttributesAndTypes.md
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUAttrs.td
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
    M mlir/include/mlir/Dialect/Arith/IR/ArithBase.td
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
    M mlir/include/mlir/Dialect/GPU/IR/GPUBase.td
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/include/mlir/Dialect/Index/IR/IndexOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMEnums.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLAttrs.td
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td
    M mlir/include/mlir/Dialect/MPI/IR/MPI.td
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    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/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/Shard/IR/ShardBase.td
    M mlir/include/mlir/Dialect/Shard/IR/ShardOps.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Vector/IR/VectorAttributes.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/IR/EnumAttr.td
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitData.cpp
    M mlir/python/mlir/dialects/irdl.py
    M mlir/test/CAPI/irdl.c
    M mlir/test/Dialect/GPU/invalid.mlir
    M mlir/test/Dialect/IRDL/variadics-error.irdl.mlir
    M mlir/test/Dialect/OpenACC/invalid.mlir
    M mlir/test/Dialect/OpenACC/ops.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/IR/array-of-attr.mlir
    M mlir/test/IR/enum-attr-invalid.mlir
    M mlir/test/IR/enum-attr-roundtrip.mlir
    M mlir/test/IR/properties.mlir
    M mlir/test/Target/LLVMIR/omptarget-atomic-capture-control-options.mlir
    M mlir/test/Target/LLVMIR/omptarget-atomic-update-control-options.mlir
    M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device-2.mlir
    M mlir/test/Target/LLVMIR/omptarget-declare-target-module-rewrite-device.mlir
    M mlir/test/Target/LLVMIR/omptarget-host-ref-semantics.mlir
    M mlir/test/Target/LLVMIR/omptarget-map-pointer-privatization.mlir
    M mlir/test/Target/LLVMIR/omptarget-parallel-llvm-debug.mlir
    M mlir/test/Target/LLVMIR/openmp-interop-depend.mlir
    M mlir/test/Target/LLVMIR/openmp-interop.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-task-modifier.mlir
    M mlir/test/Target/LLVMIR/openmp-teams-clauses-trunc-ext.mlir
    M mlir/test/lib/Dialect/Test/TestAttrDefs.td
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/mlir-tblgen/attr-or-type-format-roundtrip.mlir
    M mlir/test/mlir-tblgen/attr-or-type-format.td
    M mlir/test/mlir-tblgen/enums-python-bindings.td
    M mlir/test/mlir-tblgen/op-format.td
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp

  Log Message:
  -----------
  [MLIR][ODS] Default EnumAttr to angle-bracket assembly (#220608)

Make angle brackets the default assembly format for EnumAttr.

Use explicit enum directives where operations retain bare symbolic
syntax.

This is possible now because of the newly added `enum` directive in
#220412 ; which allows to use the raw enum value in the declarative
assembly format, preserving the ability for the enum to use `<` `>`
consistently in the generic form.

You can restore the previous behavior for a given enum attribute with:

```
 let assemblyFormat = "$value";
``` 

Assisted-by: Codex


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

  Changed paths:
    M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
    M mlir/unittests/Analysis/Presburger/GeneratingFunctionTest.cpp

  Log Message:
  -----------
  [mlir][presburger] Move generating-function storage (NFC) (#221069)

Move by-value constructor parameters into the generating function and
move the locally accumulated term storage when returning a sum. Borrow
storage from lvalue getters, transfer it from mutable rvalue getters,
and preserve value semantics for const rvalues.

Found by Coverity.

Assisted-by: Codex


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

  Changed paths:
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp

  Log Message:
  -----------
  [MLIR] Move affine range operands into inference helpers (NFC) (#221070)

Move recursively inferred ranges into fixed-size operand arrays before
calling arithmetic inference helpers. Initialize the affine modulo lower
bound directly instead of copying a local APInt.

Found by Coverity.

Assisted-by: Codex


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

  Changed paths:
    M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp

  Log Message:
  -----------
  [MLIR][GPU] Move ID-builder results into place (NFC) (#221071)

Move locally owned error strings, mapping IDs, and predicate operations
into IdBuilderResult at the end of each builder callback. These values
are not used after the return, so copying their storage is unnecessary.

Found by Coverity.

Assisted-by: Codex


  Commit: 28b0727401a42b79f9e325f84e8ad1f97e17b002
      https://github.com/llvm/llvm-project/commit/28b0727401a42b79f9e325f84e8ad1f97e17b002
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
    M mlir/test/Dialect/OpenACC/compute-region-canonicalize.mlir

  Log Message:
  -----------
  [MLIR][OpenACC] Track compute region canonicalization updates (#221031)

The compute-region canonicalizations mutate block arguments, operands,
and the operand segment attribute. Route these updates through
modifyOpInPlace so pattern-rewriter listeners observe every mutation.

Assisted-by: Codex


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

  Changed paths:
    M mlir/lib/Target/IRDLToCpp/IRDLToCpp.cpp

  Log Message:
  -----------
  [MLIR][IRDL] Move generated dialect strings into storage (NFC) (#221072)

Move locally assembled C++ names and namespace fragments into the
dialect string table. Their temporary strings are not used after the
table entry is built, so copying their allocations is unnecessary.

Found by Coverity.

Assisted-by: Codex


  Commit: 39b68d585b3946f5da782f016d590940349848ca
      https://github.com/llvm/llvm-project/commit/39b68d585b3946f5da782f016d590940349848ca
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

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

  Log Message:
  -----------
  [lldb][debugserver] Don't overwrite the attach error with a hint (#220993)

When the attach fails with "unable to start the exception thread",
debugserver snprintf'd advice about checking Console.app over err_str,
destroying the real error before it reached both the packet sent to lldb
and the DNBLogError below it. That step can fail for reasons other than
a denied attach, so the hint replaced an authoritative error with a
guess.


  Commit: 85bb73475eaf0e58b3c4e240a112555551973f50
      https://github.com/llvm/llvm-project/commit/85bb73475eaf0e58b3c4e240a112555551973f50
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp

  Log Message:
  -----------
  [MLIR][amdgpu] Pass descriptor adaptors by reference (NFC) (#221078)

Pass the descriptor adaptor (136-byte struct) by reference through the
tensor-dimension helper chain. These generated adaptors are read-only in
practice but expose non-const accessors, so use a non-const reference to
avoid copying them.

Found by Coverity.

Assisted-by: Codex


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

  Changed paths:
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp

  Log Message:
  -----------
  [MLIR] Avoid copies in xor range inference (NFC) (#221083)

Borrow the input ranges and move local APInt values into bitwise
operations at their last use while computing varying-bit masks and
inferred xor bounds.

Found by Coverity.

Assisted-by: Codex


  Commit: 0e307f140dcd3164b6383b5c3019edb134088a2d
      https://github.com/llvm/llvm-project/commit/0e307f140dcd3164b6383b5c3019edb134088a2d
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp

  Log Message:
  -----------
  [MLIR][GPU] Move XeVM pipeline options into passes (NFC) (#221074)

Move locally assembled pass options into pass constructors at their last
use. Keep the lane-layout options intact until the second propagation
pass, then move them as well.

Found by Coverity.

Assisted-by: Codex


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

  Changed paths:
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp

  Log Message:
  -----------
  [MLIR][linalg] Move transform options at their last use (NFC) (#221076)

Move locally assembled tiling and padding options into their owning
destinations at their last use. Remove a self-copy assignment around
setTileSizes while preserving its mutation.

Found by Coverity.

Assisted-by: Codex


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

  Changed paths:
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp

  Log Message:
  -----------
  [MLIR][XeGPU] Avoid copies in shape helpers (NFC) (#221080)

Pass shapes by reference to the read-only diagnostic formatter. Move
local shape vectors into the owning layout helper when they are no
longer needed.

Found by Coverity.

Assisted-by: Codex


  Commit: 79ad4f834939f988dfdaa1d08e457014619303ca
      https://github.com/llvm/llvm-project/commit/79ad4f834939f988dfdaa1d08e457014619303ca
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp

  Log Message:
  -----------
  [MLIR][SPIRV] Move deferred struct information into storage (NFC) (#221077)

Transfer the locally accumulated member and decoration information into
the deferred struct record when forward references require it.

Found by Coverity.

Assisted-by: Codex


  Commit: 3e18eb0828b16b978f134a5363a52598aa6cb02d
      https://github.com/llvm/llvm-project/commit/3e18eb0828b16b978f134a5363a52598aa6cb02d
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp

  Log Message:
  -----------
  [MLIR] Move bitwise bounds into local arrays (NFC) (#221082)

Materialize bitwise-and and bitwise-or candidate bounds in fixed-size
arrays by moving local APInt values. This avoids initializer-list copies
before min/max inference.

Found by Coverity.

Assisted-by: Codex


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

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp

  Log Message:
  -----------
  [MLIR][test] Avoid copies in tiling transform utilities (NFC) (#221073)

Move locally owned tiling options, interchange vectors, and custom loop
callbacks at their last use. Also call setTileSizes directly instead of
copy-assigning the options object from its own returned reference.

Found by Coverity.

Assisted-by: Codex


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

  Changed paths:
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp

  Log Message:
  -----------
  [MLIR] Move inferred remainder bounds into results (NFC) (#221081)

Move locally computed signed and unsigned remainder bounds into their
final range accumulators when the special-case bounds are selected.

Found by Coverity.

Assisted-by: Codex


  Commit: fefa6aebf5ff92edda97edb0e889d8a032958a5b
      https://github.com/llvm/llvm-project/commit/fefa6aebf5ff92edda97edb0e889d8a032958a5b
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M lldb/test/API/lit.cfg.py
    M lldb/test/API/lldbtest.py
    M lldb/test/Shell/helper/toolchain.py
    M lldb/test/Shell/lit.cfg.py
    A lldb/test/lldbflakes.py

  Log Message:
  -----------
  [lldb][test] Rerun tests that hit a known flaky failure (#221006)

macOS 26.3 denies debugserver permission to attach when too many debug
sessions start at once, which surfaces as a test failing with "process
exited with status -1". The denial is intermittent and a rerun normally
gets through.

Gate the rerun on a list of known flake signatures rather than retrying
every failure, because a blanket retry masks real bugs. Adding to that
list is a last resort for defects outside LLDB's control.


  Commit: 6a2098943fd59d0cd227ed23ea31c87823d017de
      https://github.com/llvm/llvm-project/commit/6a2098943fd59d0cd227ed23ea31c87823d017de
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    A orc-rt/include/orc-rt-internal/bedrock/sys/CPUFeatures.h
    A orc-rt/include/orc-rt-internal/bedrock/sys/PageSize.h
    A orc-rt/include/orc-rt-internal/bedrock/sys/TargetTriple.h
    M orc-rt/include/orc-rt-internal/support/sys/DynamicLibrary.h
    M orc-rt/include/orc-rt-internal/support/sys/Memory.h
    M orc-rt/include/orc-rt/bedrock/ExecutorProcessInfo.h
    M orc-rt/lib/bedrock/CMakeLists.txt
    M orc-rt/lib/bedrock/ExecutorProcessInfo.cpp
    M orc-rt/lib/bedrock/sys/darwin/CPUFeatures.cpp
    M orc-rt/lib/bedrock/sys/darwin/TargetTriple.cpp
    M orc-rt/lib/bedrock/sys/linux/CPUFeatures.cpp
    M orc-rt/lib/bedrock/sys/linux/TargetTriple.cpp
    A orc-rt/lib/bedrock/sys/posix/PageSize.cpp
    M orc-rt/lib/bedrock/sys/windows/CPUFeatures.cpp
    M orc-rt/lib/bedrock/sys/windows/TargetTriple.cpp
    M orc-rt/test/unit/CMakeLists.txt
    M orc-rt/test/unit/bedrock/ExecutorProcessInfoTest.cpp
    A orc-rt/test/unit/bedrock/sys/CPUFeaturesTest.cpp
    A orc-rt/test/unit/bedrock/sys/TargetTripleTest.cpp

  Log Message:
  -----------
  [orc-rt] Make ExecutorProcessInfo platform-generic (#220938)

ExecutorProcessInfo was part generic, part system-specific: some of its
methods were implemented directly in its own .cpp, others only existed
as out-of-line definitions in per-OS files under lib/bedrock/sys/.

Move the system-specific pieces into free functions under orc_rt::sys
(mirroring the existing support/sys/ convention), and have
ExecutorProcessInfo consume them like any other client. The class itself
is now fully generic, with no system-specific code of its own.

No functional change, except that page-size detection (previously
hardcoded to POSIX sysconf) now goes through the same per-OS split as
the rest of ExecutorProcessInfo; a Windows implementation is left for a
follow-up.


  Commit: adf79c9ab28991d66f7d765437fb112fbbe00ec9
      https://github.com/llvm/llvm-project/commit/adf79c9ab28991d66f7d765437fb112fbbe00ec9
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-09-03 (Thu, 03 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 (#221008) (#221017)

This reverts commit 89082772bed1ed16c0311b12147a96c35bb063d8.
And includes the fix.


  Commit: 256e742e5f543f728c9a8556749086fbf99f2409
      https://github.com/llvm/llvm-project/commit/256e742e5f543f728c9a8556749086fbf99f2409
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M clang/lib/CodeGen/QualTypeMapper.cpp
    A clang/test/CodeGen/X86/x86_64-empty-cxx-member-abi.cpp
    M llvm/include/llvm/ABI/Types.h
    M llvm/lib/ABI/Types.cpp
    M llvm/unittests/ABI/CMakeLists.txt
    A llvm/unittests/ABI/TypesTest.cpp
    M llvm/utils/gn/secondary/llvm/unittests/ABI/BUILD.gn

  Log Message:
  -----------
  [LLVMABI] Align RecordType::isEmpty() with Clang's isEmptyRecord() (#218546)

[LLVMABI] Align RecordType::isEmpty() with Clang's isEmptyRecord()

While working on empty record handling for AArch64, I stumbled across a
couple of differences between the LLVM ABI library's
`RecordType::isEmpty()` and Clang's `CodeGen::isEmptyRecord()`. Testing
verified this led to observable differences in classification when using
the ABI library.

This change updates the ABI library's empty record handling to match
Clang.

Assisted-by: Cursor / various models


  Commit: 30c695d318a70e58dfb1f8d89c2ba6b8350ebec6
      https://github.com/llvm/llvm-project/commit/30c695d318a70e58dfb1f8d89c2ba6b8350ebec6
  Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
    A clang/test/CIR/CodeGenCoroutines/coro-alloc.cpp

  Log Message:
  -----------
  [CIR] Add support for coroutine allocation failure (#220466)

This PR adds support for the coroutine promise member function
`get_return_object_on_allocation_failure()`.

When a coroutine fails to allocate its frame, the default behavior is to
throw `std::bad_alloc`. If the promise type defines
`get_return_object_on_allocation_failure()`, the coroutine uses the
nothrow form of `operator new`. If the allocation returns `nullptr`,
`get_return_object_on_allocation_failure()` is called and its return
value is returned to the caller instead of throwing.

One difference from OG is that we reverse the allocation condition. OG
checks whether the allocation was successful and branches to the
initialization path when the allocation succeeds. CIR checks whether the
allocated pointer is `nullptr` and handles the allocation failure case
inside a `cir.if`.


  Commit: 49c9f5572bf175004b76c8f61677024e5aa5bbdb
      https://github.com/llvm/llvm-project/commit/49c9f5572bf175004b76c8f61677024e5aa5bbdb
  Author: Ron Green [NVIDIA] <rogreen at nvidia.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M clang/include/clang/Options/FlangOptions.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/docs/Extensions.md
    M flang/docs/ReleaseNotes.md
    M flang/include/flang/Support/Fortran-features.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Support/Fortran-features.cpp
    A flang/test/Driver/fout-of-bounds-subscripts.f90
    M flang/test/Semantics/bug171844.f90
    A flang/test/Semantics/bug82684.f90
    M flang/test/Semantics/expr-errors06.f90

  Log Message:
  -----------
  [flang] Warn rather than error on out-of-range constant subscripts (#220435)

A reference with an out-of-range constant subscript is now accepted with
a
warning instead of being rejected with an error, and
`-fno-out-of-bounds-subscripts`
restores the error.

A subscript value is required to be within its bounds only when the
reference is
executed (F'2023 9.5.3.1 paragraph 2), so a reference that never runs
does not
render a program nonconforming. Whether a reference is ever executed
cannot be
determined in general -- consider a procedure whose only call site is in
dead
code, or one that is never called at all -- so rejecting these outright
turns
away conforming programs. Semantics already recognized the narrow case
of a
reference inside a statically false `IF` construct (#174040); this
generalizes
that treatment.

Every other Fortran compiler we have checked accepts this code, so the
previous
behavior blocked migration to Flang. This supersedes the approach in the
first
revision of this PR, which kept the error as the default and added an
opt-in
flag; see also the closed #83011, whose position we now agree with.

### Scope

Covered, and now warnings by default:

- subscripts of variables
- the endpoints of array sections (`a(4:6)` where `a` is `a(5)`)

Deliberately **not** covered, still errors:

- **cosubscripts** -- the requirement is F'2023 9.6 paragraph 2 rather
than
9.5.3.1 paragraph 2, and a cosubscript list determines an image index,
so an
out-of-cobounds constant cosubscript is a materially different situation
- references to a **named constant array** (`Subscript value (0) is out
of range
  ... in reference to a constant array value`)
- **`DATA` statement designators**
- **substrings**

### User-visible notes

- With the default, an out-of-range subscript inside a statically false
`IF`
construct is now reported as `[-Wout-of-bounds-subscripts]` rather than
`[-Wbad-value-in-dead-code]`, and no longer carries the "in code known
to be
dead due to this compile-time IF expression value" note. No control is
lost:
either `-Wno-` spelling still silences it, and
`-fno-out-of-bounds-subscripts`
  restores the previous behavior exactly.
- A module file compiled with the warning can produce errors in a
dependent
compilation that passes `-fno-out-of-bounds-subscripts`, because the
interface
  is re-analyzed there; those errors point into the module file.
- `-Wno-out-of-bounds-subscripts` silences the warning entirely.

### Tests

- `flang/test/Semantics/bug82684.f90` -- covers the default, `-fno-`,
and `-Wno-`
modes, plus a section endpoint, and pins the cosubscript /
named-constant /
  `DATA` / substring cases as errors in all three modes.
- `flang/test/Driver/fout-of-bounds-subscripts.f90` -- driver-level
coverage of
both spellings, including both orderings to pin down last-wins
precedence.
- `flang/test/Semantics/expr-errors06.f90` and `bug171844.f90` now pass
`-fno-out-of-bounds-subscripts` so they keep testing the error path and
the
  downgrade of errors to warnings in code known to be dead.

The motivating pattern, which compiles with other open source and vendor
compilers:

```fortran
module grid_bounds
  implicit none
  !...choose a 2D or 3D sim by uncomment 1, comment other.
  integer, parameter :: n_dims = 2
  !integer, parameter :: n_dims = 3
  integer, parameter :: extents = 1000
  type :: grid_type
    real :: cells(extents, n_dims)
  end type
contains
  subroutine init_2Dgrid(node)
    type(grid_type), intent(inout) :: node
    node%cells(:,1) = 1.0
    node%cells(:,2) = 2.0
  end subroutine init_2Dgrid
  subroutine init_3Dgrid(node)
    type(grid_type), intent(inout) :: node
    node%cells(:,1) = 1.0
    node%cells(:,2) = 2.0
    node%cells(:,3) = 3.0
  end subroutine init_3Dgrid
end module grid_bounds

program simul
  use grid_bounds
  implicit none
  type(grid_type) :: x
  if (n_dims == 2 ) then
    call init_2Dgrid(x)
  else
    call init_3Dgrid(x)
  end if
  print*, x%cells(1,:)
end program simul
```

Addresses #82684


  Commit: 5498c18b6d83d636fe936454ac07a38692f395af
      https://github.com/llvm/llvm-project/commit/5498c18b6d83d636fe936454ac07a38692f395af
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
    A clang/test/CIR/CodeGen/global-replace-record-array.c

  Log Message:
  -----------
  [CIR] Fix a problem with global view index calculation (#221066)

When a global that was declared with an incomplete array type is
replaced by a global with the completed type, the byte offset of each
global view on the old global is recomputed from its indices, and new
indices are derived from that offset. The offset computation rounded its
running total up to the ABI alignment of the record being indexed, which
incorrectly assumes that every member starts at a multiple of its
enclosing record's alignment. That does not hold for a member followed
by padding, so the offset came out too large. The recomputed view then
designated the wrong address or, when the inflated offset no longer
landed on a subelement boundary, fell back to a global offset attribute
holding the wrong offset.

Assisted-by: Cursor / claude-opus-5


  Commit: f111407c0502851409a887c8e5dea4a3ec190d4e
      https://github.com/llvm/llvm-project/commit/f111407c0502851409a887c8e5dea4a3ec190d4e
  Author: vporpo <vasileios.porpodas at amd.com>
  Date:   2026-09-03 (Thu, 03 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:
  -----------
  Revert "Reapply "[SandboxIR] Callback registration now allows specifying order (#221008)" (#221095)

Reverts llvm/llvm-project#221017

unittest failure


  Commit: 20498c810eb6c9e6dfb28a9b47c64e58e047a9e8
      https://github.com/llvm/llvm-project/commit/20498c810eb6c9e6dfb28a9b47c64e58e047a9e8
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/test/ExecutionEngine/Orc/throw-catch-merged-compact-unwind.ll
    M llvm/test/ExecutionEngine/Orc/throw-catch-minimal.ll
    M llvm/test/ExecutionEngine/Orc/throw-catch-no-frame-pointer.ll
    M llvm/test/ExecutionEngine/OrcLazy/global-ctors-and-dtors.ll
    M llvm/test/ExecutionEngine/OrcLazy/minimal-throw-catch.ll
    M llvm/test/lit.cfg.py
    M llvm/tools/lli/lli.cpp

  Log Message:
  -----------
  [ORC] Add host-jit-triple lit feature, gate some JIT tests (#220929)

The JIT does not support throwing exceptions on Darwin/arm64e yet. Add
an llvm-lit feature flag, "host-jit-triple", that reports the process
triple as detected by `lli` so that we can mark exception-throwing tests
as unsupported when they would be run as arm64e. (Feature flags based on
build settings, e.g. host-triple and target-triple, don't reliably
report arm64e).

Adds a -host-jit-triple option to lli to print the value for the
feature-flag.

rdar://185482009


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

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

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

The constructor homing optimization limits the amount of redundant debug
info generated for classes by only emitting forward declarations to
debug info in translation units that can't instantiate the class on
their own (i.e. they don't see the definitions of any constructors).

Currently, classes that have _any_ constexpr constructors are excluded
from the optimization. This is being changed to only exclude _defined_
constexpr constructors, as declared constexpr constructors are not
callable in a TU that doesn't see their definition.

Signed-off-by: Clayton Knittel <cknit1999 at gmail.com>


  Commit: e97669b24d4419cc9839054d84d736db13b7ebe8
      https://github.com/llvm/llvm-project/commit/e97669b24d4419cc9839054d84d736db13b7ebe8
  Author: Jared Hoberock <jaredhoberock at gmail.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    A mlir/test/Conversion/GPUToNVVM/private-func-no-c-interface.mlir
    A mlir/test/Conversion/GPUToROCDL/private-func-no-c-interface.mlir

  Log Message:
  -----------
  [mlir][gpu] Don't request C wrappers for private device functions (#214552)

GPU lowerings attach `llvm.emit_c_interface` to device functions
regardless of visibility. This causes private device functions to
receive external entry points and prevents such functions from being
culled by DCE.

On a real module lowered by a downstream compiler, we measured that
unconditional `llvm.emit_c_interface` inflated the generated PTX by 1.8x
by keeping unused private functions alive and by 7x for pipelines that
also give private functions internal linkage.

This change attaches `llvm.emit_c_interface` only to functions which are
not private for both the gpu->nvvm and gpu->rocdl lowerings. No behavior
change to existing unit tests, and new tests are added to witness the
new behavior for private functions.

Assisted-by: Claude Code


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

  Changed paths:
    M clang/test/CIR/CodeGenOpenACC/combined-copy.c
    M clang/test/CIR/CodeGenOpenACC/combined-copyin-copyout-create.c
    M clang/test/CIR/CodeGenOpenACC/compute-copy.c
    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/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/enter-data.c
    M clang/test/CIR/CodeGenOpenACC/exit-data.c
    M clang/test/CIR/CodeGenOpenMP/omp-module-attrs.c

  Log Message:
  -----------
  [CIR] Fixup OpenACC + 1 OMP test from modifiers attribute changes. (#221101)


  Commit: 6632578995ae6844d364c9be398f28ad68af9c8a
      https://github.com/llvm/llvm-project/commit/6632578995ae6844d364c9be398f28ad68af9c8a
  Author: cmtice <cmtice at google.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M clang/unittests/AST/AttrTest.cpp

  Log Message:
  -----------
  [clang][OpenMP] Add explicit default libomp value to test. (#221098)

The test OMPInvariantPredicateBoundOnIntraTileLoop, in AttrTest.cpp uses
'-fopenmp' without supplying an explcit value. In some places the
default value is 'libomp', which works just fine for this test. But in
envorinments where 'libomp' is not the default value (e.g. places that
use 'libgomp' by default) the test fails. This fixes that issue by
explicitly telling the test to use 'libomp'.


  Commit: d9dbc703b1acb6c03584e2c5fd6f017a2ba6d9fe
      https://github.com/llvm/llvm-project/commit/d9dbc703b1acb6c03584e2c5fd6f017a2ba6d9fe
  Author: Jonas Heinle <jonasheinle at googlemail.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
    M llvm/test/CodeGen/AArch64/pr58516.ll
    M llvm/test/CodeGen/AArch64/wineh-bti-funclet.ll
    M llvm/test/CodeGen/AArch64/wineh-catchret-label-generation.ll
    M llvm/test/CodeGen/AArch64/wineh-try-catch-nobase.ll
    M llvm/test/CodeGen/AArch64/wineh-try-catch-realign.ll
    M llvm/test/CodeGen/AArch64/wineh-try-catch-vla.ll
    M llvm/test/CodeGen/AArch64/wineh-try-catch.ll

  Log Message:
  -----------
  [AArch64] Fix missing :lo12: on the catchret address pair (#219200)

`llc -mtriple=aarch64-pc-windows-msvc` emits assembly it cannot assemble
itself.
A function with a `catchret` materialises its continuation block like
this:

```asm
"?catch$2@?0?f at 4HA":
        adrp    x0, .LBB0_1
        add     x0, x0, .LBB0_1
        ret
```

Pipe that back through `llvm-mc` and you get:

```
error: expected compatible register, symbol or integer in range [0, 4095]
        add     x0, x0, .LBB0_1
                        ^
```

The `:lo12:` is missing. The CATCHRET expansion in
`AArch64InstrInfo::expandPostRAPseudo()` builds the pair with plain
`.addMBB()`,
so neither operand carries a relocation specifier. This sets `MO_PAGE`
and
`MO_PAGEOFF | MO_NC` on them and teaches `lowerOperand()` to honour a
fragment
flag on a block operand, which is what it already does for every other
symbol
operand.

Two things I got wrong first, in case they come up in review:

- **The flags belong on the MBB operands, not on a symbol.** Rewriting
the pair
with `.addSym()` fixes the printing as well, but it drops the block
reference
and shifts basic-block numbering in
`wineh-catchret-label-generation.ll`.
- **`LowerSymbolOperand()` reads `MO.getOffset()`**, which an MBB
operand does
not have — it asserts. It needs the same guard the neighbouring line
already
carries for jump-table indices, in all three of the ELF/MachO/COFF
paths.

Objects are unaffected: the relocations were always correct
(`PAGEBASE_REL21` + `PAGEOFFSET_12A`), which I checked by assembling the
fixed
output and diffing it against `-filetype=obj`. So this is `-S` /
clang-cl `/FA`
only. It still cost me a night — that is the route you take when a
codegen error
arrives with no source location, and on Windows-on-ARM with C++
exceptions the
route was closed.

Found with clang-cl 23.1.0 building OpenCV for
`aarch64-pc-windows-msvc`.

Assisted-by: Claude (Anthropic)


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

  Changed paths:
    M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
    M flang/include/flang/Optimizer/Support/InternalNames.h
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
    M flang/lib/Optimizer/Support/InternalNames.cpp
    M flang/unittests/Optimizer/InternalNamesTest.cpp
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.td
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp

  Log Message:
  -----------
  [mlir][openacc] Add isCompilerGenerated to GlobalVariableOpInterface (#221096)

This function is used to determine if a global is compiler generated or
coming from user variables. This is useful when determining the handling
of globals for unified memory mode.


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

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

  Log Message:
  -----------
  [mlir][openacc][NFC] Fix ACCDeclareGPUModuleInsertion header (#221106)


  Commit: 358cafe41326e1e543b04048d5a200cf6f16ac8a
      https://github.com/llvm/llvm-project/commit/358cafe41326e1e543b04048d5a200cf6f16ac8a
  Author: Chad Austin <chad at chadaustin.me>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

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

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

Mark the Andes 45 tuning profile as supporting efficient unaligned
scalar loads and stores. This lets fixed-size alignment-one copies lower
to scalar instructions instead of a memcpy call. On these in-order
cores, where performance is almost synonymous with instruction count,
this is a material win.


  Commit: 9e3a7335e77e92cf4d739d78592c6c31900c4e97
      https://github.com/llvm/llvm-project/commit/9e3a7335e77e92cf4d739d78592c6c31900c4e97
  Author: Rong "Mantle" Bao <rong.bao at csmantle.top>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchFloatInstrFormats.td
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.h
    A llvm/test/MC/Disassembler/LoongArch/colored.txt
    A llvm/test/MC/Disassembler/LoongArch/lit.local.cfg

  Log Message:
  -----------
  [LoongArch][MC] Add assembly syntax highlighting for LoongArch (#218946)

This PR adds color highlighting of registers and immediates in LoongArch
disassembly.

This is similar to #65853.


  Commit: 822f549e988f143fc8f035b8407db9dc6f43d13f
      https://github.com/llvm/llvm-project/commit/822f549e988f143fc8f035b8407db9dc6f43d13f
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M llvm/include/llvm/IR/PrintPasses.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/Analysis/CallGraphSCCPass.cpp
    M llvm/lib/Analysis/LoopPass.cpp
    M llvm/lib/Analysis/RegionPass.cpp
    M llvm/lib/CodeGen/MachineFunctionPass.cpp
    M llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp
    M llvm/lib/IR/IRPrintingPasses.cpp
    M llvm/lib/IR/LegacyPassManager.cpp
    M llvm/lib/IR/Pass.cpp
    M llvm/lib/IR/PrintPasses.cpp
    M llvm/lib/IRPrinter/IRPrintingPasses.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    A llvm/test/CodeGen/X86/source-loc-print-filter.ll
    A llvm/test/Other/source-loc-print-filter.ll

  Log Message:
  -----------
  [IR] Add source location filtering to pass dumps (#203393)

Large dumps from `-print-after-all` can be hard to use when only a few
source lines matter. Function filtering can still print too much and can
miss code after inlining.

Add `-filter-print-source-locs` to limit IR and machine-function dumps
to matching debug locations. The option accepts file names or paths with
selected lines and ranges. It also follows inlined locations and works
with legacy and new pass managers.


  Commit: 85081add2d8b401e5f5ee67cf4af11531560f3bf
      https://github.com/llvm/llvm-project/commit/85081add2d8b401e5f5ee67cf4af11531560f3bf
  Author: Pecco <gaoyanfeng.gyf at alibaba-inc.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorization/contraction-interface.mlir

  Log Message:
  -----------
  [mlir][linalg] Preserve cast semantics in named contraction vectorization (#216283)

This patch fixes correctness issues in named contraction vectorization
of Linalg ops whose operands require conversion to an integer
accumulator type.

When `create_named_contraction` is enabled, an op such as `linalg.matmul
{cast = #linalg.type_fn<cast_unsigned>}` was lowered directly to a
mixed-width `vector.contract` without materializing the implied
`arith.extui`. Since `vector.contract` promotes mixed-width integer
operands using sign extension, an `i8 x i8 -> i32` matmul could
interpret unsigned inputs as signed values and produce incorrect
results.

Floating-point operands were similarly passed directly to
`vector.contract` without materializing the `arith.fptosi` or
`arith.fptoui` conversion implied by the Linalg cast semantics.

Materialize `arith.extui` for narrower unsigned integer inputs and
`arith.fptosi` or `arith.fptoui` for floating-point inputs before
constructing the `vector.contract`. Signed integer widening remains
implicit because it matches the promotion semantics of
`vector.contract`.

Assisted-by: Codex (OpenAI)


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

  Changed paths:
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.h

  Log Message:
  -----------
  [clang][bytecode] Allocate EvalEmitter locals using InterpState allocator (#220922)

They have the same lifetime, so might as well use the existing
allocator.


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

  Changed paths:
    M llvm/include/llvm/ADT/FoldingSet.h

  Log Message:
  -----------
  [FoldingSet] Assert inserted node's profile matches its lookup (#220166)

In FoldingSetImpl::insert, assert the node profile matches the insert
token. Otherwise, a memoized node can never be matched, leading to
missing hash consing.

This would catch SelectionDAG's and clang's missing CSE bugs (#219911,
#220168)


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

  Changed paths:
    M llvm/include/llvm/ADT/SmallPtrSet.h
    M llvm/unittests/ADT/SmallPtrSetTest.cpp

  Log Message:
  -----------
  [ADT] Use isComparableWith in SmallPtrSet (#221020)

This patch updates operator== in SmallPtrSet to use
DebugEpochBase::HandleBase::isComparableWith, bringing it in line with
DenseMap, FoldingSet, and StringMap.

Assisted-by: Antigravity


  Commit: 418130d60e3942e957de0f870f25a2e4baaec188
      https://github.com/llvm/llvm-project/commit/418130d60e3942e957de0f870f25a2e4baaec188
  Author: jay0x <90309873+blazie2004 at users.noreply.github.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/test/Transforms/simplifyintrinsics.fir

  Log Message:
  -----------
  [Flang] Skip SimplifyIntrinsics for unsigned reductions (#220850)

SimplifyIntrinsics assumes that the reduction argument element type
matches the runtime call result type.

For UNSIGNED reductions, this is not true. For example, MAXVAL on an
UNSIGNED(4) array is lowered with an array element type of ui32, while
the runtime call returns i32 and is converted back to ui32 afterward.

This causes an assertions-enabled build to fail at -O1 and above with:

```
Assertion `*argType == resultType &&
           "Argument/result types mismatch in reduction"' failed.
```

The existing simplified integer reduction path is also not safe for
unsigned values. In particular, MAXVAL currently uses a signed minimum
value as the reduction identity and `arith::MaxSIOp` for the comparison.

Instead of weakening the assertion, skip SimplifyIntrinsics when the
input element type is unsigned and preserve the existing runtime call.

This keeps the correct unsigned semantics while leaving signed integer
and floating-point reductions unchanged.

fixes : [218926](https://github.com/llvm/llvm-project/issues/218926)

Co-authored-by: Jay Satish Kumar Patel <kumarpat at pe31.hpc.amslabs.hpecorp.net>


  Commit: c0fb057aad586f4dbf4968f98262dcbeb9ee45ce
      https://github.com/llvm/llvm-project/commit/c0fb057aad586f4dbf4968f98262dcbeb9ee45ce
  Author: PushkarSingh <149073046+iitianpushkar at users.noreply.github.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

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

  Log Message:
  -----------
  [Lifetime Safety] Distinguish attributed/inferred lifetimebound diagnostics (#220248)


  Commit: 89ebea3545acc3c30b4fb90c1f3ed7f0f6feeddb
      https://github.com/llvm/llvm-project/commit/89ebea3545acc3c30b4fb90c1f3ed7f0f6feeddb
  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/is_heap_until.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.heap.operations/is.heap/pstl.is_heap_until.pass.cpp
    A 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_until() based on __parallel_find() (#218603)

This PR adds an implementation of a parallel `std::is_heap_until()`
based on `__parallel_find()`.

The implementation chops the input range `[first+1, last)` into
partitions and processes them in parallel.
For each partition, it derives the first and the last parents of these
children, and iterates over the parents checking their children for heap
violations.
Basically, it's very close to the implementation of the serial version,
but with a different prologue and epilogue.

Part of #99938.

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 2da96030c4cf8888b7244973fabc31ad67999b98
      https://github.com/llvm/llvm-project/commit/2da96030c4cf8888b7244973fabc31ad67999b98
  Author: Frank <suwenw2 at outlook.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward-cxx20.cpp

  Log Message:
  -----------
  [clang-tidy] Handle auto&& in missing-std-forward (#220164)

Fixes #142660.

`cppcoreguidelines-missing-std-forward` did not diagnose unforwarded
`auto&&` parameters in C++20 abbreviated function templates, even though
equivalent explicitly declared `T&&` parameters were diagnosed.

Abbreviated function templates represent `auto` parameters using an
implicit `TemplateTypeParmDecl`. The existing
`hasDeclaration(templateTypeParmDecl())` matcher does not match this
implicit declaration when traversal ignores implicit nodes.

Remove the redundant declaration matcher so that these parameters are
handled by the existing template type parameter checks.

Add C++20 regression tests covering:
- unforwarded `auto&&`
- correctly forwarded `auto&&`
- `const auto&&`
- mixed `T&&` and `auto&&` parameters


  Commit: cfdd90d4e550b4f522c0cead86b655d05add71f9
      https://github.com/llvm/llvm-project/commit/cfdd90d4e550b4f522c0cead86b655d05add71f9
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2026-09-03 (Thu, 03 Sep 2026)

  Changed paths:
    M lld/ELF/LinkerScript.cpp
    M lld/test/ELF/keep-data-section-prefix.s

  Log Message:
  -----------
  [lld][ELF] Introduce an option to keep data section prefix. (#148985)

https://discourse.llvm.org/t/rfc-profile-guided-static-data-partitioning/83744
proposes to partition a static data section (like `.data.rel.ro`) into
two sections, one grouping the cold ones and the other grouping the
rest.

This change implements section grouping for {`.data.rel.ro`, `.data`,
`.rodata`, `.bss`} to group `.hot` input sections to `.<section>.hot` in
the output and to group `.unlikely` input sections to
`.<section>.unlikely`. The grouping functionality is gated under new lld
option `-z,keep-data-section-prefix`. The mapping for hot ones is
illustrated below.

[bar] is a placeholder to represent optional global variable name below
* `.data.rel.ro.hot.[bar]`  => `.data.rel.ro.hot`
* `.data.hot.[bar]` => `.data.hot`
* {`.rodata.hot.[bar]`, `.rodata.str.*.hot.`, `.rodata.cst*.hot.`} =>
.rodata.hot
* .bss.rel.ro => .bss.rel.ro
* .bss.hot.[bar] => .bss.hot


https://github.com/llvm/llvm-project/pull/148920 is a related change
which also introduces lld option `-z,keep-data-section-prefix`. The
option will be introduced once and shared between the two patches.

---------

Co-authored-by: Aiden Grossman <aidengrossman at google.com>


  Commit: bea0cf1245823ea6993fce88bb888b0e4612a5e3
      https://github.com/llvm/llvm-project/commit/bea0cf1245823ea6993fce88bb888b0e4612a5e3
  Author: Macro Terra <13541229370 at qq.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M clang-tools-extra/clangd/IncludeFixer.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp

  Log Message:
  -----------
  [clangd] Avoid invalid include-fixer fuzzy-find queries (#212134)

Fixes #200571.

`operator::align_val_t` is parsed as a conversion-function-id, whose
target type is `::align_val_t`. During typo recovery, Sema correctly
passes clangd a `DeclarationNameInfo` with kind
`CXXConversionFunctionName`; it is not a malformed ordinary identifier.

`UnresolvedNameRecorder` previously flattened every
`DeclarationNameInfo` through `getAsString()`. For a conversion-function
name, that presentation string contains the conversion target type and
can therefore contain a qualified type such as `std::align_val_t`. The
recorder then incorrectly stored that string as `UnresolvedName::Name`
and forwarded it as `FuzzyFindRequest::Query`.

Reject only `CXXConversionFunctionName` before this lossy conversion.
Such a name cannot be represented by IncludeFixer's `Name + Scopes`
model: its embedded type qualification is not the scope of an unresolved
symbol. Other special names, such as overloaded operators, retain their
existing behavior because they may be valid unqualified index names.

Add a regression test for the conversion-function recovery path.

Testing: not run after this source-only refinement.


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

  Changed paths:
    M llvm/include/llvm/ADT/FoldingSet.h
    M llvm/lib/Support/FoldingSet.cpp

  Log Message:
  -----------
  [ADT] Reorder classes in FoldingSet.h (NFC) (#221092)

This patch reorders classes in FoldingSet.h in bottom-up order:

- FoldingSetNode
- FoldingSetIterator
- FoldingSetBase

This setup brings two benefits:

- Eliminates the forward declaration of FoldingSetIterator.

- Enables consistent use of "FoldingSetNode *" instead of "Node *"
  and "void *", eliminating several static_casts.

Assisted-by: Antigravity


  Commit: 8c3bde8c34e086f8e75e21f0293f507798f868d4
      https://github.com/llvm/llvm-project/commit/8c3bde8c34e086f8e75e21f0293f507798f868d4
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M libc/src/__support/threads/CMakeLists.txt
    M libc/src/__support/threads/linux/CMakeLists.txt
    A libc/src/__support/threads/linux/aarch64/tcb.h
    A libc/src/__support/threads/linux/riscv/tcb.h
    A libc/src/__support/threads/linux/tcb.h
    A libc/src/__support/threads/linux/x86_64/tcb.h
    A libc/src/__support/threads/tcb.h
    M libc/startup/linux/aarch64/CMakeLists.txt
    M libc/startup/linux/aarch64/tls.cpp
    M libc/startup/linux/riscv/CMakeLists.txt
    M libc/startup/linux/riscv/tls.cpp
    M libc/startup/linux/x86_64/CMakeLists.txt
    M libc/startup/linux/x86_64/tls.cpp

  Log Message:
  -----------
  [libc][threads] Add architecture-specific Thread Control Block definitions (#220607)

Add TCB structures and low-level thread-pointer accessor primitives for
Linux (x86_64, aarch64, riscv), and update init_tls code to use the
struct fields instead of manually computing raw pointer offsets.

I've set aside space for the ThreadAttributes pointer inside the
ABI-reserved slot for the thread library, but I'm not actually using
that value yet. I'll do that in the next patch, which will replace the
`thread_local self` object with this pointer.


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

  Changed paths:
    M mlir/include/mlir/IR/PatternMatch.h
    M mlir/unittests/IR/PatternMatchTest.cpp

  Log Message:
  -----------
  [mlir] Avoid repeated moves in RewritePatternSet (#220871)

Multi-pattern add APIs forwarded the same constructor arguments once for
each pattern type. An rvalue was therefore moved from repeatedly, and
every pattern after the first could receive moved-from state.

Pass constructor arguments as lvalues when constructing multiple
patterns, while preserving perfect forwarding when constructing a single
pattern. Cover add, addWithLabel, and insert in the existing
PatternMatch unit test.

Found by Coverity.

Assisted-by: Codex


  Commit: 7003bb94edef0b7ff86a556c0e3c3d6d869a4602
      https://github.com/llvm/llvm-project/commit/7003bb94edef0b7ff86a556c0e3c3d6d869a4602
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/PowerPC/cost-partial-red.ll

  Log Message:
  -----------
  Add 'REQUIRES: asserts' to Transforms/LoopVectorize/PowerPC/cost-partial-red.ll (#221154)

The test uses `-debug-only=` which is only available in asserts builds.
Follow-up to https://github.com/llvm/llvm-project/pull/214760


  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: b197c99ae05ba627399680cfbc003e67fbed3061
      https://github.com/llvm/llvm-project/commit/b197c99ae05ba627399680cfbc003e67fbed3061
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M .github/workflows/containers/libc/Dockerfile
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.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/readability/TrailingCommaCheck.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/clangd/IncludeFixer.cpp
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
    M clang-tools-extra/docs/ReleaseNotes.md
    M clang-tools-extra/docs/clang-tidy/checks/list.md
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-to-underlying.md
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/std/utility
    A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward-cxx20.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/readability/identifier-naming.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx11.cpp
    M clang/docs/AddressSanitizer.md
    M clang/docs/ClangFormatStyleOptions.md
    M clang/docs/LeakSanitizer.md
    M clang/docs/ReleaseNotes.md
    M clang/docs/ThreadSanitizer.md
    M clang/docs/UsersManual.md
    M clang/include/clang/AST/NestedNameSpecifier.h
    M clang/include/clang/AST/NestedNameSpecifierBase.h
    R clang/include/clang/Analysis/FlowSensitive/DataflowValues.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/LangOptions.def
    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.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.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/MissingFeatures.h
    A clang/include/clang/CodeGenUtils/CodeGenUtils.h
    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/Format/Format.h
    M clang/include/clang/Options/FlangOptions.td
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Sema/Sema.h
    R clang/include/clang/StaticAnalyzer/Core/PathSensitive/SummaryManager.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.h
    M clang/lib/AST/CommentSema.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
    M clang/lib/CIR/CodeGen/CIRGenCall.cpp
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    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/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CMakeLists.txt
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGRecordLayoutBuilder.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/QualTypeMapper.cpp
    A clang/lib/CodeGenUtils/CMakeLists.txt
    A clang/lib/CodeGenUtils/CodeGenUtils.cpp
    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/Cuda.cpp
    M clang/lib/Driver/ToolChains/Flang.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/Format/Format.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaLifetimeSafety.h
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/Analysis/cstring-syntax.c
    M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
    M clang/test/CIR/CodeGen/agg-atomic-cast.c
    M clang/test/CIR/CodeGen/arg-attrs.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
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-abi-compat.c
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-avx.c
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-byref.cpp
    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-indirect.c
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-packed.c
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-padded.c
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-variadic.c
    M 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.c
    M clang/test/CIR/CodeGen/complex-libcall-abi.c
    M clang/test/CIR/CodeGen/delegating-ctor.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/dumb-record.cpp
    M clang/test/CIR/CodeGen/finegrain-bitfield-access.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-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/implicit-value-init-expr.cpp
    A clang/test/CIR/CodeGen/local-ptr-flat-offset.cpp
    M clang/test/CIR/CodeGen/mms-bitfields.c
    M clang/test/CIR/CodeGen/new.cpp
    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
    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
    A clang/test/CIR/CodeGenCUDA/builtins-nvvm-ldu-ldg.cu
    R clang/test/CIR/CodeGenCUDA/builtins-nvvm-ldu.cu
    M clang/test/CIR/CodeGenCUDA/kernel-call.cu
    A clang/test/CIR/CodeGenCUDA/uniform-work-group-size.cu
    A clang/test/CIR/CodeGenCoroutines/coro-alloc.cpp
    A clang/test/CIR/CodeGenHIP/amdgcnspirv-kernel.hip
    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
    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/CodeGenOpenACC/combined-copy.c
    M clang/test/CIR/CodeGenOpenACC/combined-copyin-copyout-create.c
    M clang/test/CIR/CodeGenOpenACC/compute-copy.c
    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/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/enter-data.c
    M clang/test/CIR/CodeGenOpenACC/exit-data.c
    M clang/test/CIR/CodeGenOpenCL/address-space-local-var.clcpp
    M clang/test/CIR/CodeGenOpenCL/kernel-arg-info-single-as.cl
    M clang/test/CIR/CodeGenOpenCL/kernel-arg-info.cl
    M clang/test/CIR/CodeGenOpenMP/omp-module-attrs.c
    M clang/test/CIR/CodeGenOpenMP/target-host-op-filtering.c
    M clang/test/CIR/IR/cleanup-scope.cir
    A clang/test/CIR/IR/enum-attrs.cir
    M clang/test/CIR/IR/global.cir
    A clang/test/CIR/IR/invalid-bitfield-member.cir
    M clang/test/CIR/IR/invalid-loop-cleanup.cir
    M clang/test/CIR/IR/invalid-opencl-kernel-arg-metadata.cir
    M clang/test/CIR/IR/invalid-struct.cir
    M clang/test/CIR/IR/invalid-tls.cir
    M clang/test/CIR/IR/opencl-kernel-arg-metadata.cir
    M clang/test/CIR/IR/struct.cir
    M clang/test/CIR/Lowering/copy-skip-tail-padding.cir
    M clang/test/CIR/Lowering/opencl-kernel-arg-metadata.cir
    M clang/test/CIR/Transforms/abi-lowering/byval-sret-arg-attr-lowering.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-byval.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-call-test-target.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-call.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-aggregate-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-bitfield.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-bitint.cir
    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-struct-indirect.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/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
    A clang/test/CodeGen/X86/x86_64-empty-cxx-member-abi.cpp
    M clang/test/CodeGen/unique-internal-linkage-names.cpp
    M clang/test/CodeGenCUDA/anon-ns.cu
    M clang/test/CodeGenCUDA/device-stub.cu
    M clang/test/CodeGenCUDA/device-var-linkage.cu
    M clang/test/CodeGenCUDA/managed-var.cu
    M clang/test/CodeGenCUDA/offloading-entries.cu
    M clang/test/CodeGenCUDA/static-device-var-rdc.cu
    M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors2.cpp
    M clang/test/CodeGenHIP/offload-pgo-sections.hip
    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/DebugInfo/CXX/limited-ctor.cpp
    M clang/test/DebugInfo/Generic/unique-internal-linkage-names-dwarf.c
    M clang/test/DebugInfo/Generic/unique-internal-linkage-names-dwarf.cpp
    A clang/test/DebugInfo/ObjC/property-backing-storage.m
    M clang/test/Driver/amdgpu-hip-system-arch.c
    M clang/test/Driver/cuda-bad-arch.cu
    M clang/test/Driver/cuda-bindings.cu
    M clang/test/Driver/cuda-external-tools.cu
    M clang/test/Driver/cuda-openmp-driver.cu
    M clang/test/Driver/cuda-options.cu
    M clang/test/Driver/cuda-phases.cu
    M clang/test/Driver/ftime-trace-offload.cpp
    M clang/test/Driver/gpu-libc.c
    M clang/test/Driver/hip-binding.hip
    M clang/test/Driver/hip-code-object-version.hip
    R clang/test/Driver/hip-cuid-hash.hip
    M clang/test/Driver/hip-cuid.hip
    M clang/test/Driver/hip-dependent-options.hip
    R clang/test/Driver/hip-device-compile.hip
    R clang/test/Driver/hip-link-bc-to-bc.hip
    R clang/test/Driver/hip-link-bundle-archive.hip
    R clang/test/Driver/hip-link-save-temps.hip
    R clang/test/Driver/hip-link-shared-library.hip
    R clang/test/Driver/hip-link-static-library.hip
    R clang/test/Driver/hip-offload-compress-zlib.hip
    M clang/test/Driver/hip-offload-compress-zstd.hip
    M clang/test/Driver/hip-options.hip
    R clang/test/Driver/hip-output-file-name.hip
    R clang/test/Driver/hip-partial-link.hip
    M clang/test/Driver/hip-phases.hip
    R clang/test/Driver/hip-rdc-device-only.hip
    M clang/test/Driver/hip-save-temps.hip
    M clang/test/Driver/hip-spirv-backend-bindings.c
    M clang/test/Driver/hip-spirv-backend-opt.c
    M clang/test/Driver/hip-spirv-backend-phases.c
    M clang/test/Driver/hip-spirv-translator-new-driver.c
    R clang/test/Driver/hip-target-id.hip
    R clang/test/Driver/hip-temps-linux.hip
    R clang/test/Driver/hip-temps-windows.hip
    R clang/test/Driver/hip-toolchain-features.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip
    R clang/test/Driver/hip-toolchain-rdc-flto-partitions.hip
    R clang/test/Driver/hip-toolchain-rdc-separate.hip
    R clang/test/Driver/hip-toolchain-rdc-static-lib.hip
    M clang/test/Driver/hip-toolchain-rdc.hip
    R clang/test/Driver/hip-unbundle-preproc.hipi
    M clang/test/Driver/hipspv-link-static-library.hip
    M clang/test/Driver/hipspv-no-spirv-backend.hip
    M clang/test/Driver/hipspv-pass-plugin.hip
    M clang/test/Driver/hipspv-toolchain-rdc-separate.hip
    M clang/test/Driver/hipspv-toolchain-rdc.hip
    M clang/test/Driver/hipspv-toolchain.hip
    R clang/test/Driver/lto.cu
    M clang/test/Driver/nvptx-cuda-system-arch.c
    A clang/test/Driver/offload-new-driver-deprecated.c
    M clang/test/Driver/sycl-offload-jit.cpp
    R clang/test/Driver/thinlto.cu
    A clang/test/Interpreter/delayed-template-parsing-incremental.cpp
    A clang/test/Modules/pr96423.cppm
    M clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c
    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/Sema/LifetimeSafety/annotation-suggestions.cpp
    M clang/test/Sema/LifetimeSafety/nocfg.cpp
    M clang/test/Sema/LifetimeSafety/safety-c.c
    M clang/test/Sema/LifetimeSafety/safety.cpp
    M clang/test/Sema/builtins.c
    M clang/test/Sema/nullability.c
    M clang/test/Sema/warn-documentation.cpp
    M clang/test/Sema/warn-documentation.m
    M clang/test/Sema/warn-fortify-source.c
    M clang/test/SemaCXX/coreturn.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
    M clang/unittests/AST/AttrTest.cpp
    M clang/unittests/CIR/ControlFlowTest.cpp
    M clang/unittests/CIR/RecordMemberKindTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/SortIncludesTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Tooling/ToolingTest.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
    M compiler-rt/test/rtsan/syscall.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Posix/opendir_null.cpp
    M compiler-rt/test/ubsan/TestCases/Integer/summary.cpp
    M flang-rt/include/flang-rt/runtime/file.h
    M flang-rt/lib/cuda/allocator.cpp
    M flang/docs/Extensions.md
    M flang/docs/ReleaseNotes.md
    M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
    M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
    M flang/include/flang/Optimizer/Support/InternalNames.h
    M flang/include/flang/Support/Fortran-features.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
    M flang/lib/Optimizer/Support/InternalNames.cpp
    M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Semantics/compute-offsets.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Support/Fortran-features.cpp
    A flang/test/Driver/fout-of-bounds-subscripts.f90
    A flang/test/Lower/CUDA/cuda-gpu-pinned2.f90
    M flang/test/Lower/OpenACC/acc-cache.f90
    M flang/test/Lower/OpenMP/Todo/requires-unnamed-common.f90
    M flang/test/Lower/OpenMP/force-usm.f90
    M flang/test/Lower/OpenMP/has_device_addr-mapinfo.f90
    M flang/test/Lower/OpenMP/interop.f90
    M flang/test/Lower/OpenMP/requires-common.f90
    M flang/test/Lower/OpenMP/requires-force-usm.f90
    M flang/test/Lower/OpenMP/requires-usm.f90
    M flang/test/Lower/OpenMP/requires.f90
    A flang/test/Lower/OpenMP/target-update-derived-type-usm.f90
    A flang/test/Lower/OpenMP/target-update-derived-type.f90
    M flang/test/Lower/location.f90
    M flang/test/Semantics/OpenMP/default-none.f90
    A flang/test/Semantics/OpenMP/default-none02.f90
    M flang/test/Semantics/bug171844.f90
    A flang/test/Semantics/bug82684.f90
    A flang/test/Semantics/common-block-size.f90
    M flang/test/Semantics/expr-errors06.f90
    A flang/test/Semantics/oversized-storage-sequence.f90
    A flang/test/Transforms/FIRToMemRef/view-op-wraps-array-coor.mlir
    M flang/test/Transforms/OpenMP/lower-workdistribute-fission-target.mlir
    M flang/test/Transforms/omp-map-info-finalization-usm.fir
    M flang/test/Transforms/simplifyintrinsics.fir
    M flang/unittests/Optimizer/InternalNamesTest.cpp
    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/i386/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/docs/gpu/using.rst
    M libc/include/fcntl.yaml
    M libc/include/limits.yaml
    M libc/include/llvm-libc-macros/limits-macros.h
    M libc/include/llvm-libc-macros/linux/fcntl-macros.h
    M libc/include/netdb.yaml
    M libc/include/pwd.yaml
    M libc/include/stdlib.yaml
    M libc/include/unistd.yaml
    M libc/shared/math/fdimf128.h
    M libc/shared/math/fmaximum_mag_numf128.h
    M libc/shared/math/fmaximum_magf128.h
    M libc/shared/math/fmaximum_numf128.h
    M libc/shared/math/fminimum_mag_numf128.h
    M libc/shared/math/fminimum_magf128.h
    M libc/shared/math/fminimum_numf128.h
    M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
    M libc/src/__support/OSUtil/linux/syscall_wrappers/getpriority.h
    A libc/src/__support/OSUtil/linux/syscall_wrappers/posix_fadvise.h
    M libc/src/__support/math/CMakeLists.txt
    M libc/src/__support/math/fdimf128.h
    M libc/src/__support/math/fmaximum_mag_numf128.h
    M libc/src/__support/math/fmaximum_magf128.h
    M libc/src/__support/math/fmaximum_numf128.h
    M libc/src/__support/math/fminimum_mag_numf128.h
    M libc/src/__support/math/fminimum_magf128.h
    M libc/src/__support/math/fminimum_numf128.h
    M libc/src/__support/threads/CMakeLists.txt
    M libc/src/__support/threads/linux/CMakeLists.txt
    A libc/src/__support/threads/linux/aarch64/tcb.h
    A libc/src/__support/threads/linux/riscv/tcb.h
    A libc/src/__support/threads/linux/tcb.h
    A libc/src/__support/threads/linux/x86_64/tcb.h
    A libc/src/__support/threads/tcb.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/src/math/fdimf128.h
    M libc/src/math/fmaximum_mag_numf128.h
    M libc/src/math/fmaximum_magf128.h
    M libc/src/math/fmaximum_numf128.h
    M libc/src/math/fminimum_mag_numf128.h
    M libc/src/math/fminimum_magf128.h
    M libc/src/math/fminimum_numf128.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/fdimf128.cpp
    M libc/src/math/generic/fmaximum_mag_numf128.cpp
    M libc/src/math/generic/fmaximum_magf128.cpp
    M libc/src/math/generic/fmaximum_numf128.cpp
    M libc/src/math/generic/fminimum_mag_numf128.cpp
    M libc/src/math/generic/fminimum_magf128.cpp
    M libc/src/math/generic/fminimum_numf128.cpp
    M libc/src/netdb/CMakeLists.txt
    A libc/src/netdb/gai_strerror.cpp
    A libc/src/netdb/gai_strerror.h
    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.cpp
    A libc/src/pwd/getpwnam.h
    A libc/src/pwd/getpwnam_r.cpp
    A libc/src/pwd/getpwnam_r.h
    A libc/src/pwd/getpwuid.cpp
    A libc/src/pwd/getpwuid.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/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/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/startup/linux/aarch64/CMakeLists.txt
    M libc/startup/linux/aarch64/tls.cpp
    M libc/startup/linux/riscv/CMakeLists.txt
    M libc/startup/linux/riscv/tls.cpp
    M libc/startup/linux/x86_64/CMakeLists.txt
    M libc/startup/linux/x86_64/tls.cpp
    M libc/test/shared/shared_math_constexpr_test.cpp
    M libc/test/shared/shared_math_test.cpp
    M libc/test/src/fcntl/CMakeLists.txt
    A libc/test/src/fcntl/posix_fadvise_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/FMaximumMagNumTest.h
    M libc/test/src/math/smoke/FMaximumMagTest.h
    M libc/test/src/math/smoke/FMaximumNumTest.h
    M libc/test/src/math/smoke/FMinimumMagNumTest.h
    M libc/test/src/math/smoke/FMinimumMagTest.h
    M libc/test/src/math/smoke/FMinimumNumTest.h
    M libc/test/src/math/smoke/fdimf128_test.cpp
    M libc/test/src/math/smoke/fmaximum_mag_numf128_test.cpp
    M libc/test/src/math/smoke/fmaximum_magf128_test.cpp
    M libc/test/src/math/smoke/fmaximum_numf128_test.cpp
    M libc/test/src/math/smoke/fminimum_mag_numf128_test.cpp
    M libc/test/src/math/smoke/fminimum_magf128_test.cpp
    M libc/test/src/math/smoke/fminimum_numf128_test.cpp
    M libc/test/src/netdb/CMakeLists.txt
    A libc/test/src/netdb/gai_strerror_test.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/getpwnam_test.cpp
    A libc/test/src/pwd/getpwuid_r_test.cpp
    A libc/test/src/pwd/getpwuid_test.cpp
    A libc/test/src/pwd/pwd_test_utils.h
    M libc/test/src/stdlib/CMakeLists.txt
    A libc/test/src/stdlib/getloadavg_test.cpp
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/nice_test.cpp
    A libc/utils/cmake_format.py
    A libc/utils/cmake_format_test.py
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/pstl.h
    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/__memory_resource/memory_resource.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/is_heap_until.h
    A libcxx/include/__pstl/cpu_algos/min_element.h
    M libcxx/include/__thread/formatter.h
    M libcxx/include/format
    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/libcxx/mem/mem.res/assert.pass.cpp
    R libcxx/test/libcxx/mem/mem.res/ctor.nullptr.assert.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/libcxx/transitive_includes/cxx29.csv
    A libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/pstl.is_heap_until.pass.cpp
    A libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/pstl.is_heap_until_comp.pass.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
    M libunwind/src/DwarfInstructions.hpp
    A libunwind/test/dwarf_expression_stack.pass.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/test/ELF/keep-data-section-prefix.s
    M lldb/docs/dil-expr-lang.ebnf
    M lldb/include/lldb/ValueObject/DILAST.h
    M lldb/include/lldb/ValueObject/DILLexer.h
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/source/Host/windows/PythonRuntimeLoaderWindows.cpp
    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
    M lldb/test/API/functionalities/breakpoint/breakpoint_on_lambda_capture/TestBreakOnLambdaCapture.py
    M lldb/test/API/lit.cfg.py
    M lldb/test/API/lldbtest.py
    M lldb/test/API/symstore/TestSymStore.py
    M lldb/test/Shell/helper/toolchain.py
    M lldb/test/Shell/lit.cfg.py
    A lldb/test/lldbflakes.py
    M lldb/tools/debugserver/source/RNBRemote.cpp
    M lldb/unittests/Expression/DWARFExpressionTest.cpp
    M llvm/cmake/modules/CrossCompile.cmake
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/ABI/Types.h
    M llvm/include/llvm/ADT/FoldingSet.h
    M llvm/include/llvm/ADT/SmallPtrSet.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/MachineFrameInfo.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/PrintPasses.h
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
    M llvm/lib/ABI/Types.cpp
    M llvm/lib/Analysis/CallGraphSCCPass.cpp
    M llvm/lib/Analysis/LoopPass.cpp
    M llvm/lib/Analysis/RegionPass.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.cpp
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/MachineFrameInfo.cpp
    M llvm/lib/CodeGen/MachineFunctionPass.cpp
    M llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/IRPrintingPasses.cpp
    M llvm/lib/IR/LegacyPassManager.cpp
    M llvm/lib/IR/Pass.cpp
    M llvm/lib/IR/PrintPasses.cpp
    M llvm/lib/IRPrinter/IRPrintingPasses.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/lib/Support/FoldingSet.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
    M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchFloatInstrFormats.td
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.h
    M llvm/lib/Target/Mips/MipsInstrInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvdot4a8i.td
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Transforms/IPO/CMakeLists.txt
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/XRay/InstrumentationMap.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
    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
    M llvm/test/CodeGen/AArch64/arm64-trn.ll
    M llvm/test/CodeGen/AArch64/fp-const-fold.ll
    M llvm/test/CodeGen/AArch64/interleaved-accesses.ll
    M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
    M llvm/test/CodeGen/AArch64/isinf.ll
    M llvm/test/CodeGen/AArch64/known-never-nan.ll
    M llvm/test/CodeGen/AArch64/pr58516.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
    M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
    A llvm/test/CodeGen/AArch64/sve-vector-unroll.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
    M llvm/test/CodeGen/AArch64/vector-interleave-store.ll
    M llvm/test/CodeGen/AArch64/wineh-bti-funclet.ll
    M llvm/test/CodeGen/AArch64/wineh-catchret-label-generation.ll
    M llvm/test/CodeGen/AArch64/wineh-try-catch-nobase.ll
    M llvm/test/CodeGen/AArch64/wineh-try-catch-realign.ll
    M llvm/test/CodeGen/AArch64/wineh-try-catch-vla.ll
    M llvm/test/CodeGen/AArch64/wineh-try-catch.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpow.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fpowi.mir
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
    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/test/CodeGen/AMDGPU/debug-value2.ll
    M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.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
    R llvm/test/CodeGen/AMDGPU/promote-alloca-homogeneous-struct.ll
    A llvm/test/CodeGen/AMDGPU/promote-alloca-mixed-width-access.ll
    M llvm/test/CodeGen/AMDGPU/schedule-if-2.ll
    M llvm/test/CodeGen/AMDGPU/sdwa-ops.mir
    M llvm/test/CodeGen/AMDGPU/select-cmp-shared-constant-fp.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll
    A llvm/test/CodeGen/AVR/stack-protector.ll
    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/reg-copy.ll
    M llvm/test/CodeGen/NVPTX/scalarize-non-coalescable-v2f32.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
    A llvm/test/CodeGen/RISCV/interrupt-shrink-wrap.ll
    M llvm/test/CodeGen/RISCV/rvv/zvdot4a8i-sdnode.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/aext-and-trunc-avx512.ll
    M llvm/test/CodeGen/X86/andnot-patterns.ll
    M llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
    M llvm/test/CodeGen/X86/bmi.ll
    M llvm/test/CodeGen/X86/cmp.ll
    A llvm/test/CodeGen/X86/coalesce-commute-partial-def-implicit-read.mir
    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/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/optimize-compare.mir
    A llvm/test/CodeGen/X86/peephole-test-after-shl.ll
    M llvm/test/CodeGen/X86/pr108731.ll
    A llvm/test/CodeGen/X86/pr214750.ll
    M llvm/test/CodeGen/X86/pr48727.ll
    A llvm/test/CodeGen/X86/pseudo-probe-tail-merging.mir
    A llvm/test/CodeGen/X86/source-loc-print-filter.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
    M llvm/test/CodeGen/X86/vector-trunc-nowrap.ll
    M llvm/test/CodeGen/X86/vector-trunc.ll
    M llvm/test/ExecutionEngine/Orc/throw-catch-merged-compact-unwind.ll
    M llvm/test/ExecutionEngine/Orc/throw-catch-minimal.ll
    M llvm/test/ExecutionEngine/Orc/throw-catch-no-frame-pointer.ll
    M llvm/test/ExecutionEngine/OrcLazy/global-ctors-and-dtors.ll
    M llvm/test/ExecutionEngine/OrcLazy/minimal-throw-catch.ll
    A llvm/test/MC/Disassembler/LoongArch/colored.txt
    A llvm/test/MC/Disassembler/LoongArch/lit.local.cfg
    M llvm/test/MC/PowerPC/ppc64-encoding-bookIII.s
    A llvm/test/Other/source-loc-print-filter.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
    A llvm/test/Transforms/CodeGenPrepare/AArch64/hoist-bitcast-aggregate.ll
    M llvm/test/Transforms/CodeGenPrepare/RISCV/fpclass-test.ll
    A llvm/test/Transforms/CodeGenPrepare/RISCV/hoist-bitcast-scalable.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/fpclass-test.ll
    A llvm/test/Transforms/CodeGenPrepare/X86/hoist-bitcast-i686.ll
    A llvm/test/Transforms/CodeGenPrepare/X86/hoist-bitcast-integer-to-vector.ll
    A llvm/test/Transforms/ConstraintElimination/or-disjoint.ll
    M llvm/test/Transforms/ConstraintElimination/or.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
    A llvm/test/Transforms/IndVarSimplify/exit-value-nowrap-flags.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/cast-mul-select.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
    A llvm/test/Transforms/InstCombine/zext-nneg.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/LoopIdiom/memmove-ext.ll
    M llvm/test/Transforms/LoopUnroll/runtime-unroll-reductions-min-max.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/aarch64-predication.ll
    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/fold-tail-low-trip-count.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-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub-epilogue-vec.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/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
    M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
    A llvm/test/Transforms/LoopVectorize/PowerPC/cost-partial-red.ll
    A llvm/test/Transforms/LoopVectorize/PowerPC/partial-red.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/reg-usage.ll
    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/early-exit-live-out.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-costs.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/pr88802.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
    A llvm/test/Transforms/LoopVectorize/VPlan/RISCV/cse-loads-evl.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/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll
    A llvm/test/Transforms/LoopVectorize/VPlan/X86/cse-loads-gather.ll
    M llvm/test/Transforms/LoopVectorize/VPlan/buildvector-first-lane-only.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
    A llvm/test/Transforms/LoopVectorize/VPlan/memory-checks.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/induction-costs.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/X86/transform-narrow-interleave-to-widen-memory-epilogue-vec.ll
    M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory.ll
    M llvm/test/Transforms/LoopVectorize/induction-cost.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/multiple-result-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll
    M llvm/test/Transforms/LoopVectorize/replace-first-order-recurrence-by-versioned-iv.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
    R llvm/test/Transforms/LowerTypeTests/Inputs/export-icall.yaml
    R llvm/test/Transforms/LowerTypeTests/Inputs/exported-funcs.yaml
    R llvm/test/Transforms/LowerTypeTests/Inputs/use-typeid1-dead.yaml
    R llvm/test/Transforms/LowerTypeTests/Inputs/use-typeid1-typeid2.yaml
    M llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
    A llvm/test/Transforms/LowerTypeTests/cfi-jumptable-hotness-summary.ll
    A llvm/test/Transforms/LowerTypeTests/cfi-jumptable-hotness.ll
    M llvm/test/Transforms/LowerTypeTests/export-alias.ll
    M llvm/test/Transforms/LowerTypeTests/export-allones.ll
    M llvm/test/Transforms/LowerTypeTests/export-bytearray.ll
    M llvm/test/Transforms/LowerTypeTests/export-cross-dso-cfi.ll
    M llvm/test/Transforms/LowerTypeTests/export-dead.ll
    M llvm/test/Transforms/LowerTypeTests/export-icall.ll
    M llvm/test/Transforms/LowerTypeTests/export-inline.ll
    M llvm/test/Transforms/LowerTypeTests/export-rename-local.ll
    M llvm/test/Transforms/LowerTypeTests/export-single.ll
    M llvm/test/Transforms/LowerTypeTests/export-symver.ll
    M llvm/test/Transforms/LowerTypeTests/function-arm-thumb.ll
    M llvm/test/Transforms/LowerTypeTests/pr37625.ll
    A llvm/test/Transforms/PGOProfile/icp_callee_unnamed_addr.ll
    A llvm/test/Transforms/PGOProfile/icp_vtable_cmp_unnamed_addr.ll
    M llvm/test/Transforms/PhaseOrdering/RISCV/any-of-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/loop-vectorize-bfi.ll
    M llvm/test/Transforms/Reassociate/pr42349.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-store-chain.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-addsub-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-fadd-with-sub.ll
    A llvm/test/Transforms/SLPVectorizer/X86/logical-reduction-booleanized-leaves.ll
    A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-mixed-extends.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbw-node-used-twice.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-no-debug-info.ll
    M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
    M llvm/test/lit.cfg.py
    A llvm/test/tools/llvm-xray/SystemZ/Inputs/elf64-pic.yaml
    A llvm/test/tools/llvm-xray/SystemZ/extract-instrmap.test
    M llvm/tools/lli/lli.cpp
    M llvm/unittests/ABI/CMakeLists.txt
    A llvm/unittests/ABI/TypesTest.cpp
    M llvm/unittests/ADT/FoldingSet.cpp
    M llvm/unittests/ADT/SmallPtrSetTest.cpp
    M llvm/unittests/Analysis/ValueTrackingTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp
    M llvm/unittests/Target/AMDGPU/CMakeLists.txt
    A llvm/unittests/Target/AMDGPU/MFMACoExecRules.cpp
    M llvm/unittests/Transforms/IPO/LowerTypeTests.cpp
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/ABI/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Target/AMDGPU/BUILD.gn
    M llvm/utils/lit/lit/formats/googletest.py
    M llvm/utils/lit/lit/main.py
    A llvm/utils/lit/tests/googletest-filter-out.py
    M mlir/docs/DefiningDialects/AttributesAndTypes.md
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUAttrs.td
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
    M mlir/include/mlir/Dialect/Arith/IR/ArithBase.td
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
    M mlir/include/mlir/Dialect/GPU/IR/GPUBase.td
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/include/mlir/Dialect/Index/IR/IndexOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMEnums.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLAttrs.td
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/include/mlir/Dialect/MPI/IR/MPI.td
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.td
    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/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/Shard/IR/ShardBase.td
    M mlir/include/mlir/Dialect/Shard/IR/ShardOps.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Vector/IR/VectorAttributes.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/IR/EnumAttr.td
    M mlir/include/mlir/IR/PatternMatch.h
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
    M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/ACCDeclareGPUModuleInsertion.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitData.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
    M mlir/lib/Target/IRDLToCpp/IRDLToCpp.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/lib/Target/SPIRV/Deserialization/Deserializer.cpp
    M mlir/python/mlir/dialects/irdl.py
    M mlir/test/CAPI/irdl.c
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
    A mlir/test/Conversion/GPUToNVVM/private-func-no-c-interface.mlir
    A mlir/test/Conversion/GPUToROCDL/private-func-no-c-interface.mlir
    M mlir/test/Dialect/Arith/canonicalize.mlir
    M mlir/test/Dialect/GPU/invalid.mlir
    M mlir/test/Dialect/IRDL/variadics-error.irdl.mlir
    M mlir/test/Dialect/LLVMIR/func.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    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
    M mlir/test/Dialect/Linalg/vectorization/contraction-interface.mlir
    M mlir/test/Dialect/OpenACC/compute-region-canonicalize.mlir
    M mlir/test/Dialect/OpenACC/invalid.mlir
    M mlir/test/Dialect/OpenACC/ops.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/IR/array-of-attr.mlir
    M mlir/test/IR/enum-attr-invalid.mlir
    M mlir/test/IR/enum-attr-roundtrip.mlir
    M mlir/test/IR/properties.mlir
    M mlir/test/Integration/Dialect/Complex/CPU/correctness.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
    M mlir/test/Target/LLVMIR/omptarget-atomic-capture-control-options.mlir
    M mlir/test/Target/LLVMIR/omptarget-atomic-update-control-options.mlir
    M mlir/test/Target/LLVMIR/omptarget-debug-runtime-call-loc.mlir
    M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device-2.mlir
    M mlir/test/Target/LLVMIR/omptarget-declare-target-module-rewrite-device.mlir
    M mlir/test/Target/LLVMIR/omptarget-host-ref-semantics.mlir
    M mlir/test/Target/LLVMIR/omptarget-map-pointer-privatization.mlir
    M mlir/test/Target/LLVMIR/omptarget-parallel-llvm-debug.mlir
    M mlir/test/Target/LLVMIR/openmp-interop-depend.mlir
    M mlir/test/Target/LLVMIR/openmp-interop.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-task-modifier.mlir
    M mlir/test/Target/LLVMIR/openmp-teams-clauses-trunc-ext.mlir
    M mlir/test/lib/Dialect/Test/TestAttrDefs.td
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
    M mlir/test/mlir-tblgen/attr-or-type-format-roundtrip.mlir
    M mlir/test/mlir-tblgen/attr-or-type-format.td
    M mlir/test/mlir-tblgen/enums-python-bindings.td
    M mlir/test/mlir-tblgen/op-format.td
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp
    M mlir/unittests/Analysis/Presburger/GeneratingFunctionTest.cpp
    M mlir/unittests/IR/PatternMatchTest.cpp
    M openmp/docs/CommandLineArgumentReference.rst
    M openmp/docs/SupportAndFAQ.rst
    A orc-rt/include/orc-rt-internal/bedrock/sys/CPUFeatures.h
    A orc-rt/include/orc-rt-internal/bedrock/sys/PageSize.h
    A orc-rt/include/orc-rt-internal/bedrock/sys/TargetTriple.h
    M orc-rt/include/orc-rt-internal/support/sys/DynamicLibrary.h
    M orc-rt/include/orc-rt-internal/support/sys/Memory.h
    M orc-rt/include/orc-rt/bedrock/ExecutorProcessInfo.h
    M orc-rt/lib/bedrock/CMakeLists.txt
    M orc-rt/lib/bedrock/ExecutorProcessInfo.cpp
    M orc-rt/lib/bedrock/sys/darwin/CPUFeatures.cpp
    M orc-rt/lib/bedrock/sys/darwin/TargetTriple.cpp
    M orc-rt/lib/bedrock/sys/linux/CPUFeatures.cpp
    M orc-rt/lib/bedrock/sys/linux/TargetTriple.cpp
    A orc-rt/lib/bedrock/sys/posix/PageSize.cpp
    M orc-rt/lib/bedrock/sys/windows/CPUFeatures.cpp
    M orc-rt/lib/bedrock/sys/windows/TargetTriple.cpp
    M orc-rt/test/unit/CMakeLists.txt
    M orc-rt/test/unit/bedrock/ExecutorProcessInfoTest.cpp
    A orc-rt/test/unit/bedrock/sys/CPUFeaturesTest.cpp
    A orc-rt/test/unit/bedrock/sys/TargetTripleTest.cpp
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  Merge remote-tracking branch 'upstream/main' into users/adams381/cir-callconv-byref-callsite-fallback


  Commit: e74a4f254aebf732a19132bf32d1615ae2ff037d
      https://github.com/llvm/llvm-project/commit/e74a4f254aebf732a19132bf32d1615ae2ff037d
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-09-08 (Tue, 08 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/Transforms/abi-lowering/expand-struct-arg.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-byref-forward-param.cir
    M clang/test/CIR/Transforms/abi-lowering/indirect-byref-nyi.cir

  Log Message:
  -----------
  [CIR] Share the underlying-alloca walk with CIRGen

Two copies of this walk existed and disagreed: Address::getUnderlyingAllocaOp
looked through storage-preserving casts, the calling-convention pass did not.
Address.h is private to CIRGen, so the shared copy lands in the dialect as
cir::getUnderlyingAlloca and both call it.

The pass peels casts now, so the alloca it finds is not always the address the
load used.  emitStructFieldArgs builds its cir.get_member from that address
instead, and a byref argument read through an address-space cast now gets the
NYI diagnostic rather than being forwarded into a parameter slot in the default
address space.

plainLoad becomes maybeGetSimpleLoad, after LoadInst::isSimple.

Assisted-by: Cursor / claude-opus-5


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

  Changed paths:
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-byref.cpp

  Log Message:
  -----------
  [CIR] Check the inherited-constructor call against classic CodeGen

callInheritedCtor had CIR expectations but no OGCG line, so nothing in the
test showed that classic materializes the same temporary and copies into it.
The alloca and the memcpy go on the shared LLVM prefix, since both backends
agree there.  The define line and the two calls stay split, because the
parameter attributes and dead_on_return still differ.

Assisted-by: Cursor / claude-opus-5


Compare: https://github.com/llvm/llvm-project/compare/6eda86cb6027...b49401bb7c67

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