LLVM/project c0e2514 — offload/liboffload/API Device.td, offload/liboffload/src OffloadImpl.cpp

[Offload][Omp] Migrate ZeroCopy query to liboffload (#236735)

Add a new property to `olGetDeviceInfo` to query if host memory should
be preferred over device copies (`PREFERS_ZERO_COPY`). Use it to
implement libomptarget `AutoZeroCopy` logic.

Remove `GenericPluginTy::use_auto_zero_copy` interface as a result.

Assisted by Claude.
DeltaFile
+9-1offload/libompaccsupport/device.cpp
+3-3offload/unittests/OffloadAPI/common/Properties.hpp
+0-4offload/plugins-nextgen/common/src/PluginInterface.cpp
+0-3offload/plugins-nextgen/common/include/PluginInterface.h
+3-0offload/liboffload/src/OffloadImpl.cpp
+3-0offload/liboffload/API/Device.td
+18-116 files

LLVM/project 1f46d98 — llvm/lib/Target/AArch64 AArch64SVEInstrInfo.td, llvm/test/CodeGen/AArch64 zeroing-forms-counts-not.ll sve-intrinsics-logical.ll

[AArch64][llvm] Ensure svnot_u32_x() intrinsic is optimised to subr

An all-active `svnot_u32_x()` currently generates `ptrue` followed by `not`.
Optimise this to subr `z0.b, z0.b, #255`, which subtracts each byte from
255 and therefore flips every bit. This implements bitwise `not` for
vectors of 8, 16, 32, or 64-bit elements. Test all these four widths.
DeltaFile
+8-16llvm/test/CodeGen/AArch64/zeroing-forms-counts-not.ll
+8-16llvm/test/CodeGen/AArch64/sve-intrinsics-logical.ll
+11-0llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
+27-323 files

LLVM/project 8aad8cd — llvm/test/CodeGen/AArch64 sve-intrinsics-logical.ll

[AArch64][llvm] Add pre-commit tests for all-active SVE not intrinsics

Cover all four integer widths with undefined and merging passthroughs,
plus a partially active predicate that must preserve inactive lanes.
DeltaFile
+102-0llvm/test/CodeGen/AArch64/sve-intrinsics-logical.ll
+102-01 files

LLVM/project 3a8f6a2 — llvm/lib/Transforms/Vectorize LoopVectorize.cpp VPlanConstruction.cpp, llvm/test/Transforms/LoopVectorize early_exit_with_stores.ll

[VPlan] Allow early exit loops with side effects by masking in the vector loop.

When all blocks with side effects are dominated by every early exit, we can vectorize the loop if we mask off any lanes past the exit. We can do this with control flow:

```mermaid
flowchart TD
  header --> exiting
  exiting -->| exit mask | sideeffects --> latch --> latch.split
  exiting -->| !exit mask | latch.split
```

For every early exiting block we add a branch to the latch on `!mask.beforefirst(exitcond)`. This is implemented in UncountableExitStyle::ReadOnly which is now renamed to MaskedHandleExitInVectorLoop.

This is a complementary exit style to MaskedHandleExitInScalarLoop. If any of the side effects aren't dominated by the early exit it still falls back to the scalar loop style, which is why none of the existing early exit side effect tests changed. Masking in loop is profitable for RISC-V and I'm assuming it's also profitable for AArch64 too, but if not then we can add a TTI hook for a preferred exit style.
DeltaFile
+59-76llvm/test/Transforms/LoopVectorize/early_exit_with_stores.ll
+79-24llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+5-4llvm/lib/Transforms/Vectorize/VPlan.h
+3-2llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
+3-1llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+2-1llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+151-1086 files

LLVM/project eeaa08b — llvm/test/Transforms/LoopVectorize early_exit_with_stores.ll

Precommit tests
DeltaFile
+221-0llvm/test/Transforms/LoopVectorize/early_exit_with_stores.ll
+221-01 files

LLVM/project 95086c2 — .github/workflows libcxx-run-ab-benchmarks.yml libcxx-pr-benchmark.yml, libcxx/utils/ci/lnt common.py create-lnt-report

[libc++] Submit the results of PR benchmarks to LNT and link to them (#237102)

Now that we produce LNT v5 JSON in the benchmarking jobs, we can submit
it to LNT as a data point with an expiration date and include the link
in the comment we post to the PR.

The expiration date should help avoid bloating the LNT instance if this
kind of PR benchmarking becomes more mainstream.
DeltaFile
+67-1.github/workflows/libcxx-pr-benchmark.yml
+13-1libcxx/utils/ci/lnt/create-lnt-report
+9-3libcxx/utils/ci/lnt/common.py
+2-0.github/workflows/libcxx-run-ab-benchmarks.yml
+91-54 files

LLVM/project a303f50 — llvm/test/CodeGen/X86 vector-shuffle-combining-avx512f.ll

[DAG] Add test coverage to #235659 (#237231)
DeltaFile
+11-0llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
+11-01 files

LLVM/project 2b92cea — llvm/lib/Transforms/Vectorize VPlanUtils.cpp LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize select-cmp-tail-fold.ll

[VPlan] Tighten findUserOf to singleton (NFC) (#236757)

Tighten findUserOf to findSingleUser, rewriting it in terms of
find_singleton.

Co-authored-by: Benjamin Maxwell <benjamin.maxwell at arm.com>
DeltaFile
+57-0llvm/test/Transforms/LoopVectorize/select-cmp-tail-fold.ll
+14-12llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
+6-6llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+6-5llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+4-5llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+5-4llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+92-322 files not shown
+95-358 files

LLVM/project d4b4e76 — mlir/include/mlir/Dialect/ArmNeon ArmNeon.td, mlir/include/mlir/Dialect/ArmSVE/IR ArmSVE.td

[mlir][ArmNeon][ArmSVE] Restrict vector operands and results to rank 1 (#236539)

Neither dialect needs multidimensional vectors, unless explictely
required (see e.g. `Sdot2dOp`). Restrict vector operands and results to
rank 1 to reject unsupported shapes during verification.

Since `AnyScalableVectorOfAnyRank` tablegen definition is no longer
used, this PR deletes it.
DeltaFile
+43-13mlir/test/Dialect/ArmNeon/invalid.mlir
+20-20mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVE.td
+15-1mlir/test/Dialect/ArmSVE/invalid.mlir
+11-1mlir/include/mlir/IR/CommonTypeConstraints.td
+3-2mlir/include/mlir/Dialect/ArmNeon/ArmNeon.td
+92-375 files

FreeBSD/ports 0b930c6 — net-mgmt/netbox pkg-plist Makefile, net-mgmt/netbox/files patch-DRF-3.18.3-compatibility

net-mgmt/netbox: Add compatibility for DRF 3.18.3

* Backport upstream compatibility fix for Django REST Framework (DRF) 3.18.3
  from the 4.7.x branch and remove the no longer required monkey patch for
  the uniqueness validation issue.

* Local test suite with PostgreSQL 14 and 18 runs fine.  The same applies
  to runtime tests.

MFH:            2026Q4
(cherry picked from commit da84e180cd71cc0850eae09db9324c988e64c200)
DeltaFile
+39-0net-mgmt/netbox/files/patch-DRF-3.18.3-compatibility
+6-1net-mgmt/netbox/Makefile
+0-1net-mgmt/netbox/pkg-plist
+45-23 files

FreeBSD/ports 51b0d86 — www/py-dj61-djangorestframework Makefile distinfo

www/py-dj61-djangorestframework: Update version 3.18.1=>3.18.2

Changelog: https://github.com/encode/django-rest-framework/releases/tag/3.18.2

Security:       b0395fb0-d45c-11f1-985e-901b0edee044
(cherry picked from commit d8ab2f6c14e889428f5f510bd35638bc5c0e39be)
DeltaFile
+3-3www/py-dj61-djangorestframework/distinfo
+1-1www/py-dj61-djangorestframework/Makefile
+4-42 files

FreeBSD/ports a84ea1c — www/py-dj60-djangorestframework Makefile distinfo

www/py-dj60-djangorestframework: Update to 3.18.3

* Remove obsolete PORTSCOUT entry.

Changelogs since 3.17.2:

https://github.com/encode/django-rest-framework/releases/tag/3.18.3
https://github.com/encode/django-rest-framework/releases/tag/3.18.2
https://github.com/encode/django-rest-framework/releases/tag/3.18.1
https://github.com/encode/django-rest-framework/releases/tag/3.18.0

MFH:            2026Q4
Security:       b0395fb0-d45c-11f1-985e-901b0edee044
(cherry picked from commit dc265f627e0b97b330943bf9610b4062661f58f3)
DeltaFile
+1-5www/py-dj60-djangorestframework/Makefile
+3-3www/py-dj60-djangorestframework/distinfo
+4-82 files

FreeBSD/ports 22b076a — www/py-djangorestframework Makefile distinfo

www/py-djangorestframework: Update to 3.18.3

Changelogs since 3.18.1:

https://github.com/encode/django-rest-framework/releases/tag/3.18.3
https://github.com/encode/django-rest-framework/releases/tag/3.18.2

MFH:            2026Q4
Security:       b0395fb0-d45c-11f1-985e-901b0edee044
(cherry picked from commit bbc2d86dc8c8a4d4391676f5f1f7d9415c75e443)
DeltaFile
+3-3www/py-djangorestframework/distinfo
+1-1www/py-djangorestframework/Makefile
+4-42 files

LLVM/project f4c0e84 — llvm/lib/CodeGen SelectOptimize.cpp, llvm/test/CodeGen/AArch64 selectopt.ll selectopt-cast.ll

[SelectOpt] Fix dominance violations when converting select groups (#234349)

Converting a select group to a branch could break dominance:

- Aux instructions between the selects were sunk to the end block, but
  may be used as true/false values of the group. Hoist them instead.
- The sinking slice could walk through a select-like group member and
  sink its operands to one side, while its clone on the other uses them.

Assisted-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+134-0llvm/test/CodeGen/AArch64/selectopt-aux-dominance.ll
+21-14llvm/lib/CodeGen/SelectOptimize.cpp
+13-13llvm/test/CodeGen/AArch64/selectopt-not.ll
+6-6llvm/test/CodeGen/AArch64/selectopt-cast.ll
+1-1llvm/test/CodeGen/RISCV/selectopt.ll
+1-1llvm/test/CodeGen/AArch64/selectopt.ll
+176-356 files

LLVM/project 371ef59 — llvm/test/CodeGen/AMDGPU v_swap_b16.ll

Update lit test after merge
DeltaFile
+16-15llvm/test/CodeGen/AMDGPU/v_swap_b16.ll
+16-151 files

LLVM/project c7113f6 — llvm/lib/Target/AMDGPU/Disassembler AMDGPUDisassembler.cpp, llvm/test/CodeGen/AMDGPU hsa-generic-target-features.ll

Reapply - [AMDGPU] Reserve ENABLE_WAVEFRONT_SIZE32 on gfx125x (#236533)

Wave32-only targets (gfx1250, gfx1250-strict, gfx1251, gfx12-5-generic)
reserve the kernel descriptor's ENABLE_WAVEFRONT_SIZE32; it must be 0.
The compiler set it to 1.

The wave size is selectable only on targets with both supports-wave32
and supports-wave64. Elsewhere, clear the bit, stop printing
.amdhsa_wavefront_size32, and reject the directive in the assembler.

The disassembler now rejects a set bit on every target without a
selectable wave size. This replaces the gfx9-only check and also covers
GFX6-GFX8, matching the documentation.

Document which targets select the wave size through this bit.
DeltaFile
+9-9llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
+6-8llvm/test/MC/AMDGPU/hsa-gfx1251-v4.s
+6-8llvm/test/MC/AMDGPU/hsa-gfx1250-v4.s
+8-6llvm/test/MC/AMDGPU/hsa-diag-v4.s
+5-1llvm/test/MC/Disassembler/AMDGPU/kernel-descriptor-errors.test
+5-1llvm/test/CodeGen/AMDGPU/hsa-generic-target-features.ll
+39-337 files not shown
+59-4213 files

NetBSD/src 2OBxHQn — usr.bin/atto buffer.c

   Avoid use after free when killing a buffer in use by another window (reported
   by Kilian Feess)
VersionDeltaFile
1.3+12-0usr.bin/atto/buffer.c
+12-01 files

LLVM/project 6f24c70 — llvm/lib/Target/AMDGPU SIInstrInfo.cpp

Refactor `ExpectedRC` determination
DeltaFile
+20-10llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+20-101 files

LLVM/project 0eb8565 — llvm/test/CodeGen/AMDGPU v_swap_b16.ll

Resolve merge conflict in lit test
DeltaFile
+4-8llvm/test/CodeGen/AMDGPU/v_swap_b16.ll
+4-81 files

LLVM/project 4367ae5 — llvm/test/CodeGen/AMDGPU fix-sgpr-copies-f16-true16.mir

Update lit test

(change was lost during rebase)
DeltaFile
+5-4llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
+5-41 files

LLVM/project 27ab67f — llvm/test/CodeGen/AMDGPU fix-sgpr-copies-f16-true16.mir

Update lit tests
DeltaFile
+6-4llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
+6-41 files

LLVM/project ef0344d — llvm/lib/Target/AMDGPU SIInstrInfo.cpp

[AMDGPU][SIInstrInfo] Materialise t16 PHI subreg operands
DeltaFile
+18-7llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+18-71 files

LLVM/project 4714cd8 — llvm/test/CodeGen/Hexagon namedreg.ll

[Hexagon] Disable machine verifier in namedregs.ll (#237065)

CS0/1 registers became allocatable in #236522 to properly support
circular instructions. The namedregs.ll tests used cs0/1 in a global
register variable but there is no option to reserve cs0/1. The same is
true to another pair of allocatable named registers, m0/1.

Machine verifier, enabled by default with EXPENSIVE_CHECKS, fails if a
non-reserved undefined physical register is used.

Since it's not clear if there is any use case for reserving cs0/1, just
disable the machine verifier in this test.

Signed-off-by: Alexey Karyakin <akaryaki at qti.qualcomm.com>
DeltaFile
+6-1llvm/test/CodeGen/Hexagon/namedreg.ll
+6-11 files

NetBSD/src 2NLj4xh — usr.bin/atto complete.c

   rewrite using glob(3) instead of system(3)
VersionDeltaFile
1.3+26-33usr.bin/atto/complete.c
+26-331 files

LLVM/project 0154251 — llvm/test/CodeGen/AMDGPU fix-sgpr-copies-f16-true16.mir

Add reviewer test case
DeltaFile
+40-0llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
+40-01 files

LLVM/project 3cce8cb — llvm/test/CodeGen/AMDGPU fix-sgpr-copies-f16-true16.mir

[NFC][AMDGPU] Pre-commit test that exposes subreg copies into PHI nodes
DeltaFile
+68-0llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
+68-01 files

LLVM/project 8ccdf51 — llvm/test/CodeGen/AMDGPU fix-sgpr-copies-f16-true16.mir

Remove direct subregister `COPY`s
DeltaFile
+23-12llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
+23-121 files

LLVM/project 1ae5c54 — llvm/test/CodeGen/AMDGPU fix-sgpr-copies-f16-true16.mir

Switch vgpr16 -> vgpr32 in test case
DeltaFile
+5-7llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
+5-71 files

LLVM/project 001bbc3 — clang/docs ReleaseNotes.md LanguageExtensions.md, clang/lib/Frontend InitPreprocessor.cpp

[C++26] Define the __cpp_pp_embed feature-test macro (#236263)

Follow-up to #233285, where the macro was deliberately left out per the
feature-test-macro criteria in the InternalsManual.

Going through those criteria now:
- Rejecting valid code / accepting invalid code: no known issues.
- Miscompilations: the multi-byte `#embed` braced-list miscompile
(#222796)
  was fixed by #231938.
- Crashes/assertions: the parameter-lexing assertion (#212075) was fixed
by
  #235934. The remaining open reports are crashes on invalid code only
  (#182212 -- constant evaluator on an invalid cast, #219332 -- OOM on a
self-referential `prefix()`), plus tooling-side reports (#138439 clangd,
  #118789 ASan).

I also smoke-tested every valid-code `#embed` form (constructor
list-init, arrays, scalars and fixed enums, `prefix`/`suffix`,

    [11 lines not shown]
DeltaFile
+1-9clang/www/cxx_status.html
+10-0clang/test/Preprocessor/embed_feature_test.cpp
+4-0clang/test/Lexer/cxx-features.cpp
+1-2clang/docs/ReleaseNotes.md
+2-1clang/docs/LanguageExtensions.md
+1-0clang/lib/Frontend/InitPreprocessor.cpp
+19-126 files

LLVM/project 471be96 — llvm/lib/CodeGen AggressiveAntiDepBreaker.cpp, llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp

[llvm] Remove unused local variables (NFC) (#237098)

This patch removes unused local variables of container, string, and
value types across llvm/.

Note that most of these variables did not trigger -Wunused-variable
because their types have non-trivial constructors or destructors, and
their initializers have no side effects.

Assisted-by: Antigravity
DeltaFile
+0-3llvm/tools/llvm-lto/llvm-lto.cpp
+0-3llvm/lib/Transforms/IPO/Instrumentor.cpp
+0-2llvm/lib/DebugInfo/PDB/Native/ModuleDebugStream.cpp
+0-2llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
+0-2llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+0-2llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
+0-1425 files not shown
+0-4731 files