LLVM/project 31f0e25llvm/lib/Target/ARM ARMISelLowering.cpp ARMTargetMachine.h, llvm/test/CodeGen/ARM weak-hidden-pic.ll elf-preemption.ll

[ARM] Use GOT indirection for weak symbols in PIC mode  (#198577)

On ARM ELF PIC, weak dso_local symbols were incorrectly accessed via
PC-relative constant pool entries (e.g. .long xxx-(.LPC+8)). The
assembler eagerly resolves this expression when both the symbol and
label are in the same section, preventing the linker from overriding a
weak definition with a strong one from another object file.

Fix #183916 by treating weak symbols as indirect (requiring GOT) on ELF
PIC, matching GCC's behavior. This affects:
- isGVIndirectSymbol (ARMTargetMachine) — Darwin, GlobalISel, stack
prot.
- isGVInGOT (ARMSubtarget)
- LowerGlobalAddressELF (SelectionDAG path)
- ARMLowerPICELF (FastISel path)

Assisted-by: Claude Opus 4.7 <noreply at anthropic.com>
DeltaFile
+19-0llvm/test/CodeGen/ARM/weak-hidden-pic.ll
+8-6llvm/test/CodeGen/ARM/elf-preemption.ll
+8-3llvm/lib/Target/ARM/ARMISelLowering.cpp
+9-0llvm/lib/Target/ARM/ARMTargetMachine.h
+2-1llvm/lib/Target/ARM/ARMSubtarget.cpp
+2-1llvm/lib/Target/ARM/ARMFastISel.cpp
+48-116 files

FreeBSD/ports 61b245cnet/kdenetwork-filesharing distinfo, net/kontactinterface distinfo

KDE: Update KDE Gear to 26.04.2

Announcement: https://kde.org/announcements/gear/26.04.2/
DeltaFile
+3-3net/kdenetwork-filesharing/distinfo
+3-3net/kontactinterface/distinfo
+3-3net/kpimtextedit/distinfo
+3-3net/krdc/distinfo
+3-3net/krfb/distinfo
+3-3net/ksmtp/distinfo
+18-18261 files not shown
+700-719267 files

FreeBSD/ports 0e5fe66archivers/quazip Makefile distinfo

archivers/quazip: Update to 1.7.0

- Make Qt6 flavor by default.

Release notes: https://github.com/stachenov/quazip/releases/tag/v1.7.0
DeltaFile
+4-3archivers/quazip/Makefile
+3-3archivers/quazip/distinfo
+4-1archivers/quazip/pkg-plist
+11-73 files

FreeBSD/ports 84e4c46archivers/quazip distinfo Makefile, archivers/quazip/files patch-CMakeLists.txt

archivers/quazip: Update to 1.7.1

- Add missing Qt6Core5Compat to pkgconfig file for Qt6 flavor.
DeltaFile
+7-4archivers/quazip/files/patch-CMakeLists.txt
+3-3archivers/quazip/distinfo
+1-1archivers/quazip/Makefile
+1-0archivers/quazip/pkg-plist
+12-84 files

FreeBSD/ports cee4492cad/fritzing Makefile, cad/fritzing/files pri_quazipdetect.pri

cad/fritzing: Do not hardcode QuaZip version

This fixes build after QuaZip update to 1.7.x
DeltaFile
+1-1cad/fritzing/files/pri_quazipdetect.pri
+1-1cad/fritzing/Makefile
+2-22 files

FreeBSD/ports 5cf5659www/mattermost-server distinfo Makefile

www/mattermost-server: Update to 10.11.19 and change LICENSE to AGPLv3

Mattermost can be licensed under either MIT or AGPLv3. AGPLv3 should
be used to create compiled versions not produced by Mattermost, Inc.
DeltaFile
+3-3www/mattermost-server/distinfo
+2-3www/mattermost-server/Makefile
+5-62 files

FreeBSD/ports e9e7ad9www/mattermost-webapp pkg-plist distinfo

www/mattermost-webapp: Update to 10.11.19
DeltaFile
+12-12www/mattermost-webapp/pkg-plist
+3-3www/mattermost-webapp/distinfo
+1-1www/mattermost-webapp/Makefile
+16-163 files

LLVM/project 87c0841clang/lib/Driver/ToolChains Clang.cpp

clang: Remove hacky OpenMP handling for appending bound arch

Use the same path as CUDA/HIP and stop doing a hacky search through
the arguments looking for -march.
DeltaFile
+2-36clang/lib/Driver/ToolChains/Clang.cpp
+2-361 files

LLVM/project 76b035cllvm/test/TableGen/GlobalISelCombinerEmitter match-table-hoisting-cxx.td, llvm/utils/TableGen GlobalISelCombinerEmitter.cpp

[GlobalISel] Do not use recordsOperand() to check if a Combiner C++ predicate can be hoisted (#200815)

The combiner does not use RecordNamedOperand, so assume that any operand
is "recorded" in the sense that can be used by a C++ predicate.
DeltaFile
+117-0llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-hoisting-cxx.td
+13-5llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
+10-1llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.h
+4-3llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.cpp
+144-94 files

LLVM/project fae9f65llvm/test/TableGen/GlobalISelCombinerEmitter match-table-hoisting-cxx.td, llvm/utils/TableGen GlobalISelCombinerEmitter.cpp

[GlobalISel] Do not use recordsOperand() to check if a Combiner C++ predicate can be hoisted

The combiner does not use RecordNamedOperand, so assume that any operand is "recorded" in the sense
that can be used by a C++ predicate.
DeltaFile
+117-0llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-hoisting-cxx.td
+11-1llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.h
+8-4llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
+1-1llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.cpp
+137-64 files

LLVM/project 1de1858llvm/utils/TableGen GlobalISelCombinerEmitter.cpp, llvm/utils/TableGen/Common/GlobalISel/MatchTable Matchers.cpp Matchers.h

Comments
DeltaFile
+6-2llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
+3-2llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.cpp
+1-2llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.h
+10-63 files

LLVM/project 10d6f53llvm/utils/TableGen GlobalISelCombinerEmitter.cpp, llvm/utils/TableGen/Common/GlobalISel/MatchTable Matchers.cpp

fix rebase
DeltaFile
+1-1llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.cpp
+1-1llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
+2-22 files

LLVM/project 9814042llvm/utils/TableGen/Common/GlobalISel/MatchTable Matchers.h

Undo typo
DeltaFile
+1-1llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.h
+1-11 files

FreeNAS/freenas ed2c939src/middlewared/middlewared/alert/source security.py, src/middlewared/middlewared/etc_files krb5.conf.py

NAS-141183 / 27.0.0-BETA.1 / Replace constructed-filter `filter_list` calls with native Python (#19024)

## Summary

`filter_list()` is TrueNAS's query engine: it compiles a filter DSL
(`[['field', 'op', value]]`) and options (`get`, `select`, `order_by`,
...) and runs them through the `truenas_pyfilter` C extension. It exists
so that **caller-supplied** query-filters arriving from an API method
can be applied to an in-memory list.

Over time it has also been used internally with **hardcoded** filters —
places where the filter and options are literals written in the source,
not values received from a caller. In those cases the DSL buys nothing:
it's a less direct, less readable, and slightly more expensive way of
writing a predicate that Python already expresses with `any()`,
`next()`, or a comprehension.

This branch replaces those constructed-filter calls with the equivalent
native Python, while leaving every legitimate use of `filter_list`

    [8 lines not shown]
DeltaFile
+26-32src/middlewared/middlewared/alert/source/security.py
+16-11src/middlewared/middlewared/etc_files/krb5.conf.py
+12-9src/middlewared/middlewared/plugins/account.py
+5-14src/middlewared/middlewared/plugins/account_/privilege.py
+5-9src/middlewared/middlewared/utils/directoryservices/krb5.py
+5-6src/middlewared/middlewared/plugins/sysdataset.py
+69-813 files not shown
+84-929 files

OpenBSD/ports TIE163mnet/grpc Makefile distinfo, net/grpc/patches patch-CMakeLists_txt

   Update grpc to 1.81.0
VersionDeltaFile
1.19+7-6net/grpc/Makefile
1.6+6-0net/grpc/pkg/PLIST
1.13+2-2net/grpc/distinfo
1.9+1-1net/grpc/patches/patch-CMakeLists_txt
+16-94 files

LLVM/project 6a68bd8llvm/lib/Target/AMDGPU AMDGPURegisterBankInfo.cpp

[AMDGPU][GIsel] Replace old C type castings with safer C++ (#201505)

AMDGPURegisterBankInfo.cpp still contains the old C style castings to int type which can be switched to much safer C++ variants.
DeltaFile
+3-3llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
+3-31 files

FreeBSD/src 0c2d64csys/security/mac_do mac_do.c

MAC/do: Clarify comments about flags attached per-ID or per-ID-type

No functional change.

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
DeltaFile
+7-5sys/security/mac_do/mac_do.c
+7-51 files

FreeBSD/src 1c0e5c5sys/kern kern_prot.c

kern_prot.c: Belatedly add copyright

See the commit log for the why.

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
DeltaFile
+5-0sys/kern/kern_prot.c
+5-01 files

LLVM/project ab478d9llvm/lib/Transforms/Vectorize VPlanRecipes.cpp, llvm/test/Transforms/LoopVectorize/AArch64 f128-fmuladd-reduction.ll

[LV] Implement integer part of VPDerivedIV cost model (#198252)

Adds support for InductionDescriptor::IK_IntInduction variants of
inductions in VPDerivedIVRecipe::computeCost. Designing a cost model for
this recipe is tricky because it gets expanded in expandVPDerivedIV into
smaller individual recipes that will then be folded by simplifyRecipe.
Effectively the cost model has to guess how these will be folded
otherwise the costs will be too pessimistic. For example, 'add i32 %x,
0' and 'mul i32 %x, 1' should both be treated as zero cost since all
uses will be replaced with '%x'. Similarly,
'mul i32 %x, 4' will be converted to 'shl i32 %x, 2', and 'mul i32 %x,
-1' will be simplified to 'sub i32 0, %x'.

As can be seen by this PR, it's important to have non-zero costs for
cases where VPDerivedIVRecipe recipes will end up with non-foldable
instructions. Some of the tests now favour wider VFs to cover the
non-zero cost, or in other cases we prefer not to vectorise at all. I've
added loop attributes in some places to maintain the previous
vectorisation behaviour so that we're still matching the intent of the

    [6 lines not shown]
DeltaFile
+274-158llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
+61-91llvm/test/Transforms/LoopVectorize/AArch64/f128-fmuladd-reduction.ll
+86-22llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
+11-86llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
+80-0llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+27-46llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
+539-40315 files not shown
+663-56121 files

OpenBSD/ports oGm8fK0devel/ti-msp430gcc Makefile, devel/ti-msp430gcc/pkg PLIST

   ti-msp430gcc: regen plist (@static-lib)
VersionDeltaFile
1.5+30-30devel/ti-msp430gcc/pkg/PLIST
1.23+1-1devel/ti-msp430gcc/Makefile
+31-312 files

OpenBSD/ports vWugfzWdevel/autogen Makefile distinfo, devel/autogen/patches patch-agen5_test_error_test patch-autoopts_test_enums_test

   Update to autogen 5.16.2, requested by naddy

   This fails one regress test which is quite a bit better than current:

   PATH is /usr/local/bin:/usr/ports/pobj/autogen-5.16.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11R6/bin
   creating cgi.tpl
   creating html.tpl
   creating html.out in /usr/ports/pobj/autogen-5.16.2/autogen-5.16.2/agen5/test/testdir
   Abort trap (core dumped)
   FAILURE: autogen unexpectedly succeeded
VersionDeltaFile
1.8+34-14devel/autogen/pkg/PLIST
1.30+6-7devel/autogen/Makefile
1.4+6-6devel/autogen/patches/patch-agen5_test_error_test
1.5+2-2devel/autogen/distinfo
1.3+0-0devel/autogen/patches/patch-autoopts_test_enums_test
1.3+0-0devel/autogen/patches/patch-agen5_defLoad_c
+48-291 files not shown
+48-297 files

LLVM/project 4590ef3llvm/lib/Target/AMDGPU SIInstrInfo.cpp, llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR always-uniform.mir

[AMDGPU][Uniformity Analysis] Marking G_DYN_STACKALLOC AlwaysUniform in uniformity analysis (#200390)

Mark G_DYN_STACKALLOC as AlwaysUniform.
The result of G_DYN_STACKALLOC is always derived from the wave-uniform
stack pointer and wave-wide max reduce alloca size hence its always uniform.
DeltaFile
+22-0llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform.mir
+5-0llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+27-02 files

NetBSD/src jm38JmEusr.sbin/inetd inetd.c

   inetd(8): Fix spacing in messages about accept_max suspend/resume.

   PR bin/59645: inetd `rate-limiting' algorithm is stupid
VersionDeltaFile
1.143+4-6usr.sbin/inetd/inetd.c
+4-61 files

LLVM/project 7a008c0clang/lib/StaticAnalyzer/Checkers/WebKit RawPtrRefCallArgsChecker.cpp, clang/test/Analysis/Checkers/WebKit call-args.cpp

[alpha.webkit.UncountedCallArgsChecker] Protect the const member getter's this argument (#201147)

This PR fixes a bug that when a const member variable getter is
detected, we don't check if its object argument is kept alive for the
duration of the function call.
DeltaFile
+11-0clang/test/Analysis/Checkers/WebKit/call-args.cpp
+6-2clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
+17-22 files

OpenBSD/ports fljRvZigraphics/krita Makefile distinfo, graphics/krita/pkg PLIST

   Update krita to 6.0.2
VersionDeltaFile
1.93+10-10graphics/krita/Makefile
1.56+2-2graphics/krita/distinfo
1.33+3-0graphics/krita/pkg/PLIST
+15-123 files

LLVM/project ed4ed6fllvm/utils/TableGen GlobalISelEmitter.cpp GlobalISelCombinerEmitter.cpp, llvm/utils/TableGen/Common/GlobalISel/MatchTable Matchers.cpp Matchers.h

[GlobalISel] Do not depend on the RuleMatcher at MatchTable emission (#200799)

Some PredicateMatchers/MatchAction/OperandRenderers relied on accessing
RuleMatcher at emission as a crutch.
Instead, make these classes collect all necessary information in the
constructor so the `emit` methods don't depend on RuleMatcher anymore.

The primary motivation for this is that I've been looking at ways to
optimize the MatchTable better,
and the fact that Predicates/Actions/Renderers are not "pure" objects,
in the sense that they keep
accessing a bunch of data all over the place even as late as emission,
was a consistent pain.

This is NFCI. There are no changes to any of the match table for
AMDGPU/AArch64 in this patch.

This patch has a bunch of noise due to function signature changes so
I'll highlight the following interesting changes:

    [15 lines not shown]
DeltaFile
+109-194llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.cpp
+161-134llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.h
+21-19llvm/utils/TableGen/GlobalISelEmitter.cpp
+7-5llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
+298-3524 files

LLVM/project 5c2565bllvm/include/llvm/IR IRBuilder.h, llvm/lib/Transforms/InstCombine InstructionCombining.cpp

[InstCombine] Fix assertion in GEP exact div/shr index canonicalization (#201431)

When canonicalizing the index of `(gep ptr, (div/shr exact X, C))`,
visitGetElementPtrInst builds the new index with Builder.CreateBinOp and
then sets the exact flag via
`cast<BinaryOperator>(NewOp)->setIsExact()`. If X is a constant (as can
be proved during InstCombine), the folding builder constant-folds NewOp
to a non-BinaryOperator, so the cast asserts.

Fix this by adding a CreateExactBinOp API, so the exact flag is set on creation.

Fixes #190324.
DeltaFile
+70-0llvm/test/Transforms/InstCombine/gep-canonicalize-index-constfold.ll
+10-0llvm/include/llvm/IR/IRBuilder.h
+2-3llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+82-33 files

LLVM/project faf4728mlir/include/mlir/Conversion/MemRefToEmitC MemRefToEmitC.h, mlir/lib/Conversion/MemRefToEmitC MemRefToEmitC.cpp MemRefToEmitCPass.cpp

[mlir][EmitC] Convert MemRef::DeallocOp (#194591)

Add `memref.dealloc` lowering to EmitC by mapping pointer-backed
deallocations to `void*` cast + `free()` call. This complements the
existing `memref.alloc` lowering to `malloc()` / `aligned_alloc()` and
ensures the pass emits the required standard library include when
`free()` is used.

Assisted-by: Codex (refine implementation + tests). I reviewed all code
and tests before submission.
DeltaFile
+40-21mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc-dealloc.mlir
+47-0mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
+33-2mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
+1-0mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
+1-0mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
+122-235 files

FreeNAS/freenas fc2202ctests/protocols pynfs_proto.py, tests/sharing_protocols/nfs test_nfs_ha.py nfs_ha_utils.py

NFS HA Tests
DeltaFile
+832-0tests/sharing_protocols/nfs/test_nfs_ha.py
+336-2tests/protocols/pynfs_proto.py
+306-0tests/sharing_protocols/nfs/nfs_ha_utils.py
+28-22tests/sharing_protocols/nfs/conftest.py
+14-16tests/sharing_protocols/nfs/test_nfs_snapdir.py
+7-0tests/sharing_protocols/nfs/test_nfs_change_attr.py
+1,523-406 files

LLVM/project d83abacllvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp GCNSubtarget.h, llvm/test/Transforms/InstCombine/AMDGPU wave-shuffle-patterns.ll

[AMDGPU][InstCombine] Match ds_swizzle rotate mode for cyclic lane shuffles (#199004)

Follow-up to 17cc4f77109d [AMDGPU][InstCombine] Optimize constant
shuffle patterns (#192246).

Adds matchDsSwizzleRotatePattern to recognise shuffles of the form
dst_lane = (src_lane + N) % 32 (N in [1, 31]) and lower them to a single
ds_swizzle with rotate-mode encoding (ROTATE_MODE_ENC | N << 5),
available on GFX9+. The bitmask mode cannot express such rotations since
the carry between bit positions makes the per-bit mapping
non-independent. On wave64 the pattern is accepted only when
hasPeriodicLayout<32> confirms both 32-lane groups rotate by the same
amount. Wave32-only ID forms (mbcnt.lo alone) are correctly rejected on
wave64 targets.

Co-authored-by: Barbara Mitic <Barbara.Mitic at amd.com>
DeltaFile
+282-0llvm/test/Transforms/InstCombine/AMDGPU/wave-shuffle-patterns.ll
+30-1llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+4-0llvm/lib/Target/AMDGPU/GCNSubtarget.h
+316-13 files