LLVM/project 1843ebb — llvm/lib/CodeGen/GlobalISel CombinerHelper.cpp, llvm/test/CodeGen/AArch64 combine-sdiv.ll

[GlobalISel] Expand sdiv/srem by constant when G_SMULH splits into legal pieces (#235860)

`matchSDivOrSRemByConst` required `G_SMULH` to be legal for the exact
type, so wide vectors were scalarized into one `sdiv` per lane. This
also accepts types that the legalizer splits (`FewerElements`) into
legal pieces. Types where `G_SMULH` would be lowered instead, such as
`<2 x i64>`, are still rejected, as the expansion would be more
expensive than the scalar divisions there.

On AArch64  for `sdiv` by `<7, 6, 7, 6, ...>`:

| type | before | after | SelectionDAG |
|---|---|---|---|
| `<8 x i32>` | 26 (8 × `sdiv`) | 19 | 19 |
| `<16 x i16>` | 16 × `sdiv` | 14 | 13 |
| `<32 x i8>` | 32 × `sdiv` | 17 | 17 |
| `<2 x i64>` | 8 (2 × `sdiv`) | 8 | 15 |
DeltaFile
+61-239llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
+53-244llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
+171-0llvm/test/CodeGen/AArch64/combine-sdiv.ll
+20-64llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i32.ll
+11-43llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i32.ll
+1-1llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
+317-5916 files

LLVM/project 102778b — llvm/docs AMDGPUUsage.md, llvm/lib/Target/AMDGPU SIInstrInfo.h SIMemoryLegalizer.cpp

[AMDGPU][SIMemoryLegalizer] Consider scratch operations as NV=1 if GAS is disabled

- Clarify that `thread-private` MMO flag is still useful.
- If GAS is not enabled (which is the default as of last patch), consider an op as `NV=1` if it's a `scratch_` opcode, or if the MMO is in the private AS.
- Add tests for the new cases.
- Update AMDGPUUsage GFX12.5 memory model
DeltaFile
+181-0llvm/test/CodeGen/AMDGPU/memory-legalizer-non-volatile.mir
+75-36llvm/test/CodeGen/AMDGPU/memory-legalizer-non-volatile.ll
+15-4llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
+6-6llvm/test/CodeGen/AMDGPU/memory-legalizer-cfs-policy.ll
+3-1llvm/lib/Target/AMDGPU/SIInstrInfo.h
+2-0llvm/docs/AMDGPUUsage.md
+282-476 files

LLVM/project 3b61474 — lldb/source/Plugins/Process/Utility RegisterContextDarwin_riscv32.cpp RegisterContextDarwin_arm.cpp, lldb/source/Plugins/Register/Darwin RegisterContextDarwin_riscv32.cpp RegisterContextDarwin_arm.cpp

Merge branch 'main' into users/zero9178/remove-redundant-generated-includes
DeltaFile
+0-1,738lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp
+1,738-0lldb/source/Plugins/Register/Darwin/RegisterContextDarwin_arm.cpp
+847-847llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-joint-dom-mir.mir
+773-773llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-770bb.mir
+0-1,313lldb/source/Plugins/Process/Utility/RegisterContextDarwin_riscv32.cpp
+1,313-0lldb/source/Plugins/Register/Darwin/RegisterContextDarwin_riscv32.cpp
+4,671-4,6712,391 files not shown
+46,915-29,9912,397 files

LLVM/project f1e06f4 — llvm/lib/Remarks YAMLRemarkParser.cpp, llvm/lib/Support YAMLTraits.cpp

[Remarks][Support] Make YAML remark arguments round-trip

The remark serializer writes an argument value with more than one
newline as a literal block scalar. A block scalar has no escapes, so a
value that also held a control character was written with the raw byte,
which strict YAML readers reject. Output::blockScalarString now falls
back to a double-quoted scalar when a literal block cannot hold the
value: a non-printable character (C1 controls, and NEL, LS and PS,
which YAML 1.1 readers take as line breaks), a carriage return, or a
first line that starts with a space. Input accepts either form.

The remark parser took the raw scalar text and stripped only single
quotes, so double-quoted values came back with their quotes and
escapes. Decode scalars with ScalarNode::getValue and report escape
errors. Reject values that decode to a NUL, since the bitstream string
table stores NUL-terminated strings.

Output::blockScalarString always wrote "|", which keeps exactly one
trailing newline. Write "|-" or "|+" when needed. MIR output does not

    [3 lines not shown]
DeltaFile
+63-0llvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp
+48-7llvm/unittests/Support/YAMLIOTest.cpp
+51-0llvm/unittests/Remarks/YAMLRemarksParsingTest.cpp
+44-0llvm/lib/Support/YAMLTraits.cpp
+17-17llvm/lib/Remarks/YAMLRemarkParser.cpp
+18-0llvm/test/tools/llvm-remarkutil/yaml2bitstream-control.test
+241-242 files not shown
+255-268 files

LLVM/project 208aff9 — llvm/test/CodeGen/AMDGPU memory-legalizer-private-wavefront.ll memory-legalizer-private-singlethread.ll

[AMDGPU] Make globally-addressable-scratch opt-in

This feature is meant to be opt-in for more advanced users, not default-enabled.
It may reduce performance otherwise as we can't assume private AS is thread-local
when it is enabled.

Make it controllable via a `-amdgpu-globally-addressable-scratch` CL option and disable it by default.
DeltaFile
+7,447-6,566llvm/test/CodeGen/AMDGPU/memory-legalizer-private-system.ll
+6,937-6,910llvm/test/CodeGen/AMDGPU/memory-legalizer-private-agent.ll
+8,148-4,195llvm/test/CodeGen/AMDGPU/memory-legalizer-private-cluster.ll
+8,159-4,158llvm/test/CodeGen/AMDGPU/memory-legalizer-private-workgroup.ll
+8,007-4,006llvm/test/CodeGen/AMDGPU/memory-legalizer-private-wavefront.ll
+8,007-4,006llvm/test/CodeGen/AMDGPU/memory-legalizer-private-singlethread.ll
+46,705-29,84115 files not shown
+46,934-29,94421 files

OpenBSD/ports bnLSmF0 — devel/py-invoke distinfo Makefile, devel/py-invoke/patches patch-tests_runners_py patch-tests_config_py

   update to py3-invoke-3.0.3
VersionDeltaFile
1.12+12-11devel/py-invoke/Makefile
1.4+2-2devel/py-invoke/patches/patch-invoke_config_py
1.6+2-2devel/py-invoke/distinfo
1.8+0-3devel/py-invoke/pkg/PLIST
1.5+0-0devel/py-invoke/patches/patch-tests_runners_py
1.5+0-0devel/py-invoke/patches/patch-tests_config_py
+16-181 files not shown
+16-187 files

LLVM/project ea0fe45 — llvm/lib/Target/AArch64 AArch64InstrInfo.td AArch64InstrFormats.td, llvm/test/CodeGen/AArch64 arm64-vabs.ll arm64-neon-mul-div-cte.ll

[AArch64] Only fold single-use shifts into SSRA/USRA (#238937)

In the signed division by constant sequence, GlobalISel folded the wrong
shift into the accumulate, so the arithmetic shift was computed twice:

    sshr v0.8b, v1.8b, #2
    ushr v0.8b, v0.8b, #7
    ssra v0.8b, v1.8b, #2

This only folds a shift into SSRA/USRA when the shift has one use, so
GlobalISel now picks USRA, like SelectionDAG:

    sshr v0.8b, v0.8b, #2
    usra v0.8b, v0.8b, #7

Also adds a GlobalISel run line and two tests for this to
`shift-accumulate.ll`.
DeltaFile
+196-70llvm/test/CodeGen/AArch64/shift-accumulate.ll
+98-158llvm/test/CodeGen/AArch64/rem-by-const.ll
+15-28llvm/test/CodeGen/AArch64/arm64-neon-mul-div-cte.ll
+10-0llvm/lib/Target/AArch64/AArch64InstrFormats.td
+4-4llvm/test/CodeGen/AArch64/arm64-vabs.ll
+2-2llvm/lib/Target/AArch64/AArch64InstrInfo.td
+325-2626 files

FreeNAS/freenas e0580df — src/middlewared/middlewared/alert/source deprecated_privilege.py, src/middlewared/middlewared/plugins/account privilege_validate.py privilege_crud.py

NAS-145039 / 28.0.0-BETA.1 / Deprecate privileges with a-la-carte role set (by themylogin) (#20141)

We're dealing with a deluge of AI generated security reports of
privilege escalations if someone has an individual item like
ACCOUNT_WRITE  privilege in isolation being able to modify their own
account to grant themselves more privileges.

Background:

* Users can create new privileges in our API that declare our default
meta-roles FULL_ADMIN , SHARING_ADMIN, READONLY_ADMIN, REPLICATION_ADMIN
or define a a-la-carte privilege set that grants access to a subset of
API endpoints.
* The a-la-carte stuff is unavoidably porous security-wise (for example
CERTIFICATE_WRITE in isolation).
* Everyone is wasting time with a security whack-a-mole here.

This PR:


    [6 lines not shown]
DeltaFile
+76-0tests/api2/test_account_privilege.py
+42-0src/middlewared/middlewared/alert/source/deprecated_privilege.py
+10-6src/middlewared_docs/docs/rbac.rst
+13-2src/middlewared/middlewared/plugins/account/privilege_crud.py
+8-1src/middlewared/middlewared/test/integration/assets/privilege.py
+7-0src/middlewared/middlewared/plugins/account/privilege_validate.py
+156-94 files not shown
+165-1010 files

LLVM/project f17edbc — mlir/lib/Dialect/Linalg/IR LinalgOps.cpp, mlir/lib/Dialect/Vector/IR VectorOps.cpp

[mlir][vector] Disallow pure reduction dims in vector.contract (#237709)

Require every reduction dimension in `vector.contract` to appear in both
LHS and RHS. This disallows one-sided ("pure") reduction dimensions and
aligns the restriction with `linalg.contract`.

For example, the following contraction has two reduction dimensions:
`r2` appears in both inputs, while `r1` appears only in LHS. This PR
makes such contractions fail verification:

```mlir
%res = vector.contract {
  indexing_maps = [
    affine_map<(r1, p, r2) -> (r1, r2)>,
    affine_map<(r1, p, r2) -> (p, r2)>,
    affine_map<(r1, p, r2) -> (p)>
  ],
  iterator_types = ["reduction", "parallel", "reduction"],
  kind = #vector.kind<add>

    [17 lines not shown]
DeltaFile
+28-7mlir/test/Dialect/Vector/invalid.mlir
+0-28mlir/test/Dialect/Vector/vector-contract-to-dot-transforms.mlir
+24-0mlir/lib/Dialect/Vector/IR/VectorOps.cpp
+0-18mlir/test/Conversion/VectorToXeGPU/contract-to-xegpu.mlir
+3-13mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
+3-6mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
+58-722 files not shown
+59-748 files

LLVM/project 30c60e6 — llvm/test/CodeGen/AArch64 fixed-length-masked-stores.ll fixed_masked_interleaved_stores.ll, llvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64 expand-masked-store.ll expand-masked-load.ll

Reland "[AArch64] Make all fixed-width masked loads/stores legal on SVE targets" (#238786)

Relands #232757, which was reverted in #238371. I mistakenly thought my
PR was the cause of this buildbot failure:

https://lab.llvm.org/buildbot/#/builders/4/builds/13777

but it turned out to be introduced by #197391.
DeltaFile
+508-437llvm/test/CodeGen/AArch64/fixed_masked_deinterleaved_loads.ll
+96-812llvm/test/CodeGen/AArch64/fixed-length-masked-loads.ll
+472-429llvm/test/CodeGen/AArch64/fixed_masked_interleaved_stores.ll
+98-723llvm/test/CodeGen/AArch64/fixed-length-masked-stores.ll
+393-3llvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64/expand-masked-load.ll
+357-1llvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64/expand-masked-store.ll
+1,924-2,4051 files not shown
+1,924-2,4117 files

FreeNAS/freenas 1bb7b6e — src/middlewared/middlewared/alert/source deprecated_privilege.py, src/middlewared/middlewared/plugins/account privilege_validate.py privilege_crud.py

NAS-145039 / 27.0.0 / Deprecate privileges with a-la-carte role set (#20128)

We're dealing with a deluge of AI generated security reports of
privilege escalations if someone has an individual item like
ACCOUNT_WRITE  privilege in isolation being able to modify their own
account to grant themselves more privileges.

Background:

* Users can create new privileges in our API that declare our default
meta-roles FULL_ADMIN , SHARING_ADMIN, READONLY_ADMIN, REPLICATION_ADMIN
or define a a-la-carte privilege set that grants access to a subset of
API endpoints.
* The a-la-carte stuff is unavoidably porous security-wise (for example
CERTIFICATE_WRITE in isolation).
* Everyone is wasting time with a security whack-a-mole here.

This PR:


    [5 lines not shown]
DeltaFile
+76-0tests/api2/test_account_privilege.py
+38-0src/middlewared/middlewared/alert/source/deprecated_privilege.py
+10-6src/middlewared_docs/docs/rbac.rst
+13-2src/middlewared/middlewared/plugins/account/privilege_crud.py
+8-1src/middlewared/middlewared/test/integration/assets/privilege.py
+7-0src/middlewared/middlewared/plugins/account/privilege_validate.py
+152-94 files not shown
+161-1010 files

FreeBSD/ports 1a47eeb — security/vuxml/vuln 2026.xml

security/vuxml: Document www/gitea vulnerabilities

PR:             300499
Approved by:    osa, vvd (mentors, implicit)
DeltaFile
+103-0security/vuxml/vuln/2026.xml
+103-01 files

OPNSense/core 367e73b — src/opnsense/mvc/app/models/OPNsense/Hostdiscovery/ACL ACL.xml, src/opnsense/mvc/app/views/OPNsense/Hostdiscovery settings.volt

Interfaces: Neighbors: Automatic Discovery: Lookup hostnames async via reverse dns
DeltaFile
+60-1src/opnsense/mvc/app/views/OPNsense/Hostdiscovery/settings.volt
+1-0src/opnsense/mvc/app/models/OPNsense/Hostdiscovery/ACL/ACL.xml
+61-12 files

OPNSense/core 7761add — src/opnsense/mvc/app/views/OPNsense/Hostdiscovery settings.volt

Interfaces: Neighbors: Automatic Discovery: make hostname lookup spinner explicit
DeltaFile
+15-10src/opnsense/mvc/app/views/OPNsense/Hostdiscovery/settings.volt
+15-101 files

OpenBSD/ports KbGc6xC — security/py-paramiko distinfo Makefile, security/py-paramiko/patches patch-tests_test_client_py

   update to py3-paramiko-5.1.0
VersionDeltaFile
1.40+3-31security/py-paramiko/pkg/PLIST
1.77+13-20security/py-paramiko/Makefile
1.45+2-2security/py-paramiko/distinfo
1.8+0-0security/py-paramiko/patches/patch-tests_test_client_py
+18-534 files

LLVM/project b842217 — llvm/include/llvm/ADT ImmutableSet.h FoldingSet.h

Revert "[ADT] Add LLVM_ATTRIBUTE_WARN_UNUSED to five ADT classes" (#239152)

Reverts llvm/llvm-project#237802

GCC 12 cannot handle:

class [[nodiscard]] __attribute__((warn_unused)) APInt { ... };
DeltaFile
+1-3llvm/include/llvm/ADT/DenseSet.h
+1-2llvm/include/llvm/ADT/ImmutableMap.h
+1-1llvm/include/llvm/ADT/ImmutableSet.h
+1-1llvm/include/llvm/ADT/FoldingSet.h
+1-1llvm/include/llvm/ADT/APInt.h
+5-85 files

NetBSD/pkgsrc-wip 34b776a — inflatelib Makefile

inflatelib: fix building with tests
DeltaFile
+7-2inflatelib/Makefile
+7-21 files

NetBSD/pkgsrc f3WijAB — doc TODO

   doc/TODO: + arti-2.8.0, jj-0.47.1, lxqt-2.5, lz4-4.11, mpv-0.42.
VersionDeltaFile
1.28292+6-1doc/TODO
+6-11 files

LLVM/project 8726a1c — clang/lib/CIR/Dialect/Transforms CIRSimplify.cpp, clang/test/CIR/Transforms simplify-load-in-ternary.cir

[CIR] Run SimplifyConstantLoad in the same driver as the other patterns (#238767)

CIRSimplify ran SimplifyConstantLoad in a second greedy driver because
the pattern cached a DominanceInfo that the ternary and switch rewrites
could leave stale. That split needed a second op list, pruned of the
loads the first driver erased (llvm/llvm-project#238505 fused the two
collection walks but kept the split and the pruning), and it missed
simplifications: a load inside a ternary branch only folded in the
second driver, after the ternary pattern had already rejected that
branch as non-trivial.

This change shares one DominanceInfo between the pass and the pattern
and keeps it coherent with a listener that drops a region's cached tree
whenever its block list changes, so all patterns run in one driver over
one worklist.

Assisted-by: Claude Code (claude-fable-5-1).
DeltaFile
+40-53clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
+27-0clang/test/CIR/Transforms/simplify-load-in-ternary.cir
+67-532 files

LLVM/project 9af1113 — llvm/include/llvm/CodeGen RegisterBankInfo.h, llvm/lib/CodeGen RegisterBankInfo.cpp

[GlobalISel] Remove obsolete RegisterBankInfo::getSizeInBits (NFC) (#238744)

With the getMinimalPhysRegClass cache obsolete (#238351) this helper is
equivalent to TargetRegisterInfo::getRegSizeInBits.

Assisted-by: codex
DeltaFile
+40-40llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
+8-22llvm/lib/CodeGen/RegisterBankInfo.cpp
+9-9llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
+8-8llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
+0-9llvm/include/llvm/CodeGen/RegisterBankInfo.h
+4-4llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
+69-924 files not shown
+77-10010 files

FreeBSD/src 54001c6 — lib/libc/string memset.3

memset.3: Fix .Fn usage and too many commas

Fix wrong usage of .Fn macro in paragraph for `memset_explicit' that
caused too many commas improperly emitted into rendered manual page.

Approved by:    des
MFC after:      1 week

(cherry picked from commit 3479ee8e003b948ee3011d1a88d656add3d1284f)
DeltaFile
+3-2lib/libc/string/memset.3
+3-21 files

LLVM/project ffcf434 — llvm/lib/Target/AMDGPU AMDGPUSearchableTables.td, llvm/test/Analysis/UniformityAnalysis/AMDGPU intrinsics.ll

[AMDGPU] Mark exclusive scan intrinsics as sources of divergence (#237268)
DeltaFile
+91-0llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
+42-42llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exclusive.scan.ll
+13-0llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
+146-423 files

LLVM/project a7b411e — llvm/test/CodeGen/LoongArch/lasx vselect.ll, llvm/test/CodeGen/LoongArch/lsx vselect.ll

update after rebase
DeltaFile
+23-19llvm/test/CodeGen/LoongArch/lsx/vselect.ll
+4-8llvm/test/CodeGen/LoongArch/lasx/vselect.ll
+27-272 files

OpenBSD/ports dL2r82p — sysutils/py-pipx Makefile distinfo, sysutils/py-pipx/patches patch-pyproject_toml

   update to py3-pipx-1.18.13
VersionDeltaFile
1.11+15-0sysutils/py-pipx/pkg/PLIST
1.5+3-3sysutils/py-pipx/patches/patch-pyproject_toml
1.36+2-2sysutils/py-pipx/distinfo
1.44+1-1sysutils/py-pipx/Makefile
+21-64 files

LLVM/project 05aa4de — clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp, clang/test/CIR/Transforms/abi-lowering amdgpu-sret-nontrivial.cir

[CIR][AMDGPU] Look through address_space views of __retval in insertSRetStores
DeltaFile
+54-0clang/test/CIR/Transforms/abi-lowering/amdgpu-sret-nontrivial.cir
+28-4clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+82-42 files

LLVM/project c522a1e — llvm/lib/Target/LoongArch LoongArchISelLowering.cpp

fix typo
DeltaFile
+1-1llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+1-11 files

LLVM/project 63b4537 — llvm/lib/Target/LoongArch LoongArchISelLowering.h LoongArchISelLowering.cpp, llvm/test/CodeGen/LoongArch/lasx vselect.ll

[LoongArch] Custom legalize vselect to vector_shuffle for most constant condition cases
DeltaFile
+48-36llvm/test/CodeGen/LoongArch/lasx/vselect.ll
+44-34llvm/test/CodeGen/LoongArch/lsx/vselect.ll
+49-2llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+1-0llvm/lib/Target/LoongArch/LoongArchISelLowering.h
+142-724 files

OpenBSD/ports JKggCsx — devel/py-poetry-dynamic-versioning Makefile distinfo

   update to py3-poetry-dynamic-versioning-1.10.1
VersionDeltaFile
1.3+2-2devel/py-poetry-dynamic-versioning/distinfo
1.3+1-1devel/py-poetry-dynamic-versioning/Makefile
+3-32 files

OpenBSD/ports a3vvYoG — security/py-pyotp distinfo Makefile, security/py-pyotp/pkg PLIST

   update to py3-pyotp-2.10.0
VersionDeltaFile
1.9+2-5security/py-pyotp/Makefile
1.5+2-2security/py-pyotp/distinfo
1.6+0-1security/py-pyotp/pkg/PLIST
+4-83 files

OPNSense/core ab2b20d — src/opnsense/mvc/app/views/OPNsense/Hostdiscovery settings.volt

Interfaces: Neighbors: Automatic Discovery: make hostname lookup spinner explicit
DeltaFile
+15-10src/opnsense/mvc/app/views/OPNsense/Hostdiscovery/settings.volt
+15-101 files